/* BOZARI WORLD: styles scoped to this independent page. */
.page-mundo { background: #050505; }
.bozari-world { --world-gold:#c8a45d; --world-metal:#666a70; --world-white:#f5f5f5; position:relative; max-width:1800px; margin:auto; padding:30px clamp(20px,3.5vw,64px) 18px; color:var(--world-white); }
.bozari-world::before { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:radial-gradient(ellipse at 76% 40%,#1d1e203d,transparent 64%); }
.world-heading { position:relative; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding-bottom:27px; }
.world-kicker { color:var(--world-gold); font-size:9px; line-height:1.5; letter-spacing:.21em; font-weight:500; }
.world-heading h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(32px,3.7vw,56px); font-weight:400; line-height:1.18; letter-spacing:.1em; margin:7px 0 10px; }
.world-heading h1 span { font-family:"Avenir Next","Segoe UI",sans-serif; color:var(--world-gold); font-weight:300; letter-spacing:.14em; }
.world-subtitle { font-size:clamp(12px,1vw,15px); color:#b7b7ba; letter-spacing:.025em; }
.world-metrics { display:flex; gap:26px; padding:0 0 5px; flex-shrink:0; }
.world-metrics>span { display:flex; flex-direction:column; gap:2px; font-size:8px; letter-spacing:.19em; color:#97999d; }
.world-metrics>span+span { border-left:1px solid #666a704d; padding-left:26px; }
.world-metrics strong { font-size:26px; line-height:1.2; font-weight:300; color:var(--world-gold); font-variant-numeric:tabular-nums; }
.world-composition { position:relative; display:grid; grid-template-columns:minmax(305px,30fr) minmax(0,70fr); gap:20px; align-items:stretch; }
.world-directory { position:relative; display:flex; flex-direction:column; min-width:0; height:clamp(570px,calc(100svh - 305px),800px); padding:22px 16px 0; border:1px solid #666a704d; border-radius:13px; background:linear-gradient(140deg,#20212445,#090a0bc9 65%); box-shadow:inset 0 1px #ffffff0b,0 20px 60px #0005; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.world-directory-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:0 5px; }
.world-directory-heading h2 { font-size:21px; font-weight:400; line-height:1.4; margin-top:5px; }
.world-directory-count { display:grid; place-items:center; border:1px solid #c8a45d45; color:var(--world-gold); width:34px; height:34px; border-radius:50%; font-size:11px; }
.world-directory-hint { font-size:11px; line-height:1.55; color:#9c9fa4; margin:10px 5px 17px; }
.world-partners { display:flex; flex-direction:column; gap:9px; margin:0; padding:0 6px 6px 0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#8d7444 #141518; list-style:none; scroll-padding:12px; }
.world-partners::-webkit-scrollbar { width:3px; }
.world-partners::-webkit-scrollbar-thumb { background:#8d7444; border-radius:5px; }
.partner-card { position:relative; padding:12px 12px 10px; border:1px solid #666a703b; border-radius:8px; background:linear-gradient(115deg,#25272a44,#08090a88); transition:border-color .28s,background .28s,box-shadow .28s; }
.partner-card:hover,.partner-card:focus-within { border-color:#c8a45d80; background-color:#c8a45d08; }
.partner-card.is-selected { border-color:#c8a45db3; background:linear-gradient(110deg,#c8a45d1f,#090909b3); box-shadow:inset 2px 0 var(--world-gold),0 0 25px #c8a45d0c; }
.partner-select { display:flex; align-items:center; gap:10px; min-height:52px; border-radius:4px; }
.partner-visual { position:relative; width:52px; height:52px; flex:0 0 52px; overflow:hidden; border:1px solid #666a704d; border-radius:8px; background:#f1f0ec; display:grid; place-items:center; }
.partner-visual img { display:block; width:100%; height:100%; padding:4px; object-fit:contain; }
.partner-visual--reference { background:#17191c; }
.partner-visual--reference img { position:absolute; top:-1px; left:-2px; width:205%; max-width:none; height:auto; padding:0; object-fit:unset; }
.partner-identity { min-width:0; }
.partner-identity h3 { font-size:13px; font-weight:500; line-height:1.35; color:#efefed; }
.partner-identity p { display:flex; flex-wrap:wrap; align-items:center; column-gap:4px; font-size:10px; line-height:1.5; color:#a8aaad; margin-top:4px; }
.world-icon { width:17px; height:17px; flex-shrink:0; }
.partner-identity .world-icon { width:11px; height:11px; color:var(--world-gold); }
.partner-country { display:none; }
.partner-number { font-size:9px; font-variant-numeric:tabular-nums; color:#b99960; margin-left:auto; align-self:flex-start; line-height:1.3; padding-top:3px; }
.partner-card address { font-size:10px; font-style:normal; line-height:1.55; color:#9c9fa4; margin:8px 0; }
.partner-links { display:flex; flex-wrap:wrap; gap:6px 12px; }
.partner-links a { display:inline-flex; align-items:center; gap:5px; min-height:25px; font-size:8px; letter-spacing:.07em; color:var(--world-gold); }
.partner-links .world-icon { width:12px; height:12px; }
.partner-links a:hover { color:#f4dfb5; }
.world-directory-bottom { display:flex; align-items:center; gap:8px; font-size:8px; letter-spacing:.16em; color:#92969b; padding:14px 5px; margin-top:auto; }
.world-directory-bottom>span { width:4px; height:4px; background:var(--world-gold); border-radius:50%; box-shadow:0 0 9px #c8a45d99; }
.world-scene { position:relative; min-width:0; isolation:isolate; border:1px solid #666a7029; border-radius:13px; background:radial-gradient(ellipse at 45% 40%,#1a1c2040,transparent 70%),#060708; overflow:hidden; }
.world-scene-top { position:absolute; z-index:3; top:20px; left:23px; right:23px; display:flex; justify-content:space-between; gap:10px; pointer-events:none; font-size:8px; letter-spacing:.15em; color:#a1a4aa; }
.world-scene-top>span { display:flex; align-items:center; gap:7px; }
.world-scene-top .world-icon { width:15px; height:15px; color:#bca16c; }
.world-live { color:#b5a07a; font-size:7px; }
.world-live i { width:3px; height:3px; border-radius:50%; background:var(--world-gold); box-shadow:0 0 7px #c8a45d99; }
.world-starfield { position:absolute; inset:0; z-index:-2; opacity:.55; pointer-events:none; background-image:radial-gradient(circle at 15% 20%,#d2d3d780 .6px,transparent 1px),radial-gradient(circle at 84% 65%,#c8a45d99 .5px,transparent 1px),radial-gradient(circle at 70% 14%,#d2d3d766 .7px,transparent 1px),radial-gradient(circle at 22% 72%,#d2d3d766 .6px,transparent 1px); background-size:237px 213px,179px 241px,327px 169px,297px 311px; }
.world-orbits { position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.65; }
.world-orbits i { position:absolute; top:22%; left:6%; width:86%; height:54%; border:1px solid #c8a45d24; border-radius:50%; transform:rotate(-24deg); box-shadow:0 -1px 0 #ece3d610; }
.world-orbits i:nth-child(2) { top:20%; left:22%; width:53%; height:60%; transform:rotate(35deg); border-color:#9ba1ad1f; }
.world-orbits i:nth-child(3) { top:17%; left:9%; height:66%; width:82%; transform:rotate(16deg); border-color:#666a701f; }
.world-globe { position:relative; width:100%; height:clamp(570px,calc(100svh - 305px),800px); min-height:0; }
.world-fallback-image { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:contain; opacity:.9; }
.world-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; touch-action:none; cursor:grab; }
.world-canvas:active { cursor:grabbing; }
.world-canvas:focus-visible { outline-offset:-6px; }
.world-markers,.world-marker-lines { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.world-marker-lines path { fill:none; stroke:#c8a45d70; stroke-width:.7; }
.world-marker-lines path.is-selected { stroke:#d8bb7dcc; }
.world-geopoint { position:absolute; left:0; top:0; width:5px; height:5px; background:#d9b771; border-radius:50%; margin:-2.5px; box-shadow:0 0 8px #c8a45d8c; pointer-events:none; }
.world-geopoint.is-selected { width:7px; height:7px; margin:-3.5px; background:#ffe1a4; box-shadow:0 0 12px #e7c07bc9; }
.world-geopoint.is-selected::after { content:""; position:absolute; inset:-9px; border:1px solid #dabb79b3; border-radius:50%; animation:world-pulse 2.4s ease-out infinite; }
.world-map-marker { position:absolute; left:0; top:0; display:flex; align-items:center; gap:7px; width:142px; height:40px; padding:0; pointer-events:auto; color:#b5b5b5; font-size:8px; text-align:left; line-height:1.3; }
.world-map-marker>span:first-child { display:grid; place-items:center; width:29px; height:29px; flex:0 0 29px; border:1px solid #c8a45d80; border-radius:50%; background:#0b0c0ed9; color:#e4c58c; box-shadow:0 0 12px #c8a45d12; font-size:9px; font-variant-numeric:tabular-nums; transition:background .2s,box-shadow .2s; }
.world-map-marker>span:last-child { max-width:100px; letter-spacing:.05em; text-shadow:0 2px 5px #000; }
.world-map-marker:hover>span:first-child,.world-map-marker.is-selected>span:first-child { color:#08090c; background:#d7b675; border-color:#efcf95; box-shadow:0 0 20px #c8a45d4d; }
.world-map-marker.is-selected { color:#f0dbb5; }
.world-compact-markers .world-map-marker { width:44px; height:44px; justify-content:center; }
.world-compact-markers .world-map-marker>span:first-child { width:30px; height:30px; flex-basis:30px; font-size:10px; }
.world-compact-markers .world-map-marker>span:last-child { display:none; }
.world-view-label { position:absolute; left:24px; bottom:57px; color:#747b85; font-size:7px; letter-spacing:.21em; pointer-events:none; }
.world-controls { position:absolute; z-index:4; left:20px; bottom:13px; display:flex; gap:5px; align-items:center; padding:3px; border:1px solid #666a7059; border-radius:30px; background:#090a0cbb; backdrop-filter:blur(8px); }
.world-controls button { display:grid; place-items:center; width:34px; height:34px; padding:7px; border-radius:50%; color:#bdb7a8; }
.world-controls button:hover,.world-controls button[aria-pressed="true"] { color:#e6c488; background:#c8a45d1a; }
.world-controls>span { height:16px; width:1px; background:#666a704d; margin:0 3px; }
.world-controls button:disabled { opacity:.35; }
.world-controls-hint { position:absolute; right:22px; bottom:22px; font-size:8px; color:#a4a6ac; letter-spacing:.03em; }
.world-details { position:relative; z-index:5; padding:18px; }
.world-detail { position:relative; padding:24px; border:1px solid #c8a45d66; border-radius:12px; background:linear-gradient(130deg,#232426ed,#090a0df5); box-shadow:0 12px 40px #0008,inset 0 1px #f2e4c51a; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.world-detail+.world-detail { margin-top:14px; }
.world-enhanced .world-details { position:absolute; right:20px; bottom:72px; width:min(340px,48%); padding:0; pointer-events:none; }
.world-enhanced .world-detail { pointer-events:auto; }
.world-detail .world-kicker { margin-bottom:18px; padding-right:26px; font-size:8px; }
.world-detail .world-kicker span { color:#8b8e94; margin-left:8px; }
.world-detail-heading { display:flex; gap:12px; align-items:center; }
.world-detail-heading .partner-visual { width:48px; height:48px; flex-basis:48px; }
.world-detail-heading h2 { font-size:20px; font-weight:400; line-height:1.25; letter-spacing:-.015em; }
.world-detail-category { font-size:8px; line-height:1.4; color:#b4a58b; margin-bottom:5px; }
.world-detail-city { display:flex; gap:6px; align-items:center; color:#e4c48c; font-size:11px; margin:16px 0 12px; }
.world-detail-city .world-icon { width:14px; height:14px; }
.world-detail-description { color:#c7c8cb; font-size:12px; line-height:1.75; }
.world-detail address { color:#9b9fa6; font-size:11px; line-height:1.65; font-style:normal; margin:12px 0 16px; }
.world-detail-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.world-detail-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#e7c993; font-size:9px; min-height:36px; border:1px solid #c8a45d70; border-radius:5px; padding:9px 12px; letter-spacing:.07em; }
.world-detail-links a+a { border-color:transparent; padding-left:0; color:#b4b8c0; }
.world-detail-links a:hover { color:#ffe2b0; border-color:#c8a45d; }
.world-dismiss { position:absolute; top:12px; right:11px; display:grid; place-items:center; width:32px; height:32px; color:#a4a5aa; border-radius:50%; }
.world-dismiss:hover { color:var(--world-gold); background:#c8a45d12; }
.world-footnote { position:relative; font-size:9px; line-height:1.6; color:#979a9f; padding:15px 2px 0; letter-spacing:.02em; }
.world-footnote span { color:#757a82; }
.world-detail.is-entering { animation:world-detail-in .35s ease-out both; }
@keyframes world-pulse { 0% { transform:scale(.4);opacity:.8; } 100% { transform:scale(1.6);opacity:0; } }
@keyframes world-detail-in { from { opacity:0;transform:translateY(8px); } to { opacity:1;transform:translateY(0); } }
@media(min-width:1500px) { .partner-identity h3 { font-size:15px; }.partner-card { padding:15px; }.partner-visual { width:60px;height:60px;flex-basis:60px; }.partner-country { display:inline; }.partner-card address { font-size:11px; }.partner-links a { font-size:9px; } }
@media(max-width:1100px) and (min-width:761px) { .bozari-world { padding:25px 22px 16px; }.world-composition { grid-template-columns:minmax(285px,36fr) minmax(0,64fr);gap:12px; }.world-scene-top { left:15px;right:15px; }.world-live { display:none!important; }.world-enhanced .world-details { right:12px;bottom:70px;width:min(310px,calc(100% - 24px)); }.world-detail { padding:18px; }.world-controls-hint { bottom:61px;right:17px;max-width:120px;text-align:right; }.world-view-label { display:none; } }
@media(max-width:760px) {
  .bozari-world { padding:24px 15px 17px; }.world-heading { gap:12px;padding:0 4px 22px;align-items:flex-start; }.world-heading h1 { font-size:clamp(27px,6vw,39px);letter-spacing:.06em; }.world-heading h1 span { letter-spacing:.08em; }.world-kicker { font-size:8px;letter-spacing:.14em; }.world-subtitle { font-size:12px;max-width:250px;line-height:1.65; }.world-metrics { gap:10px;padding-top:5px; }.world-metrics>span { font-size:6px;letter-spacing:.04em; }.world-metrics>span+span { padding-left:10px; }.world-metrics strong { font-size:21px; }
  .world-composition { display:flex;flex-direction:column;gap:15px; }.world-scene { order:0; }.world-directory { order:1;height:auto;max-height:none;padding:20px 15px 0; }.world-partners { overflow:visible;padding-right:0;gap:10px; }.world-directory-hint { font-size:12px; }.world-directory-bottom { font-size:9px;padding:17px 4px; }.partner-card { padding:14px; }.partner-visual { width:58px;height:58px;flex-basis:58px; }.partner-identity h3 { font-size:15px; }.partner-identity p { font-size:12px; }.partner-country { display:inline; }.partner-card address { font-size:12px;line-height:1.65;margin:10px 0; }.partner-links a { min-height:38px;font-size:9px; }.partner-links { gap:5px 20px; }.partner-number { font-size:11px; }
  .world-globe { height:clamp(350px,90vw,490px); }.world-scene-top { top:16px;left:17px;right:17px;font-size:7px; }.world-live { display:none!important; }.world-map-marker { width:44px;height:44px;justify-content:center; }.world-map-marker>span:first-child { width:30px;height:30px;flex-basis:30px;font-size:10px; }.world-map-marker>span:last-child { display:none; }.world-controls { left:12px;bottom:auto;top:calc(clamp(350px,90vw,490px) - 51px); }.world-controls button { width:35px;height:35px; }.world-controls-hint { top:calc(clamp(350px,90vw,490px) - 45px);bottom:auto;right:15px;max-width:118px;text-align:right;font-size:8px; }.world-view-label { display:none; }.world-scene.has-selection { z-index:20; }.world-enhanced .world-details { position:fixed;right:12px;left:12px;bottom:12px;width:auto;margin:0;max-height:58svh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8d7444 #141518; }.world-detail { padding:21px; }.world-detail-description { font-size:13px; }.world-detail-category { font-size:9px; }.world-detail address,.world-detail-city { font-size:12px; }.world-detail-links a { min-height:44px;font-size:10px; }.world-footnote { font-size:10px;padding:16px 4px 0; }.world-footnote span { display:block;margin-top:3px; }
}
@media(max-width:380px) { .world-heading { flex-wrap:wrap; }.world-metrics { flex-direction:row;gap:20px; }.world-metrics>span { flex-direction:row;align-items:baseline;gap:7px; }.world-metrics>span+span { padding-left:20px; }.world-metrics strong { font-size:19px; }.world-controls-hint { max-width:99px;right:10px; } }
@media(prefers-reduced-motion:reduce) { .bozari-world * { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
.motion-paused .bozari-world * { animation:none!important;transition:none!important; }
@media print { .world-heading,.world-composition { display:block; }.world-directory { height:auto; }.world-partners { overflow:visible; }.world-scene { display:none; }.partner-card { break-inside:avoid; } }
