/* The map occupies exactly the existing SVG dome: x=40..1160, y=90..650. */
.hero-asset-map {
 position:absolute;left:3.333333%;top:12.676056%;width:93.333334%;height:78.873239%;
 pointer-events:none;z-index:0;
}
.hero-map-stage {
 position:absolute;inset:0;overflow:hidden;border-radius:50% 50% 0 0 / 100% 100% 0 0;
 clip-path:ellipse(50% 100% at 50% 100%);
 mask-image:linear-gradient(#000 68%,#000c 82%,transparent 100%);
 -webkit-mask-image:linear-gradient(#000 68%,#000c 82%,transparent 100%);

}
.hero-map-stage canvas{display:block;width:100%;height:100%;pointer-events:auto;cursor:grab;touch-action:none;opacity:.76}
.hero-map-stage canvas:active{cursor:grabbing}
.hero-map-pin{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;border:0;border-radius:50%;background:transparent;pointer-events:auto;padding:0;cursor:pointer}
.hero-map-pin[hidden]{display:none}
.hero-map-pin:focus-visible{outline:1px solid var(--pin-color);outline-offset:2px}
.hero-map-controls{position:absolute;left:50%;top:calc(100% + 16px);transform:translateX(-50%);display:flex;align-items:center;flex-wrap:nowrap;gap:2px;padding:4px 6px;border-radius:99px;background:linear-gradient(145deg,#2430469c,#101b2f88);border:1px solid #bfd9ff2b;box-shadow:0 8px 25px #0004,inset 0 1px 0 #ffffff16;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);pointer-events:auto;z-index:2;white-space:nowrap}
.hero-map-controls button{display:grid;place-items:center;font:inherit;font-size:11px;width:36px;height:36px;min-height:36px;min-width:36px;padding:0;transition:color .25s,background .25s;border:0;border-radius:99px;color:#bbc2ce;background:transparent;cursor:pointer}
.hero-map-controls button:hover{color:#fff;background:#ffffff0e}
.hero-map-controls .map-iran[aria-pressed=true],.hero-map-controls .map-world[aria-pressed=true]{background:#ffffff16;color:#f1f4fa}
.hero-map-controls button:disabled{opacity:.3;cursor:default}
.map-divider{height:13px;width:1px;background:#ffffff1a;margin-inline:3px}
.hero-map-selection{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:-1px}
/* Preserve text/CTA geometry while allowing interaction with the map behind the copy. */
.hero:has(.hero-asset-map) .hero-copy{pointer-events:none}
.hero:has(.hero-asset-map) .hero-actions>a,.hero:has(.hero-asset-map) .hero-actions>button{pointer-events:auto}
:root[data-theme=light] .hero-map-stage canvas{opacity:.62}
:root[data-theme=light] .hero-map-controls{background:linear-gradient(145deg,#ffffffb8,#e2edf59e);border-color:#42616c26;box-shadow:0 8px 25px #24465918,inset 0 1px 0 #fff}
:root[data-theme=light] .hero-map-controls button{color:#54717c}
:root[data-theme=light] .hero-map-controls button:hover,:root[data-theme=light] .hero-map-controls .map-iran[aria-pressed=true],:root[data-theme=light] .hero-map-controls .map-world[aria-pressed=true]{background:#284c6312;color:#24444e}
:root[data-theme=light] .map-divider{background:#284c6326}
@media(max-width:760px){.hero-map-controls{gap:0;padding:3px 4px}.hero-map-controls button{width:34px;height:34px;min-width:34px;min-height:34px;padding:0}.hero-map-stage canvas{opacity:.65}}
@media(pointer:coarse){.hero-map-controls button{width:38px;height:38px;min-height:38px;min-width:38px}.hero-map-pin{width:40px;height:40px}}
.orbit-field .hero-map-controls svg{width:17px;height:17px}
.hero-map-controls button:focus-visible{outline:2px solid #8ab7e9;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.hero-map-controls button{transition:none}}
.hero-animation-controls{position:absolute;bottom:70px;left:50%;transform:translateX(-50%);z-index:2;padding:4px;border-radius:99px;border:1px solid #ffffff1c;background:#161b23e8;backdrop-filter:blur(12px)}
.hero-animation-controls button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#bbc2ce}
:root[data-theme=light] .hero-animation-controls{background:#f0f6f9ee;border-color:#42616c26}
:root[data-theme=light] .hero-animation-controls button{color:#54717c}

/* Projected miniatures remain attached to their geographic anchors. */
.hero-map-landmarks{position:absolute;inset:0;pointer-events:none;z-index:1}
.hero-map-landmark{position:absolute;display:block;transform:translate(-50%,-84%);pointer-events:none;isolation:isolate}
.hero-map-landmark[hidden]{display:none}
.hero-map-landmark>.hero-landmark-art{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 3px #07182d40);z-index:1}
.hero-landmark-halo,.hero-landmark-ripple{position:absolute;left:50%;top:84%;width:112%;height:39%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.hero-landmark-halo{background:radial-gradient(ellipse,color-mix(in srgb,var(--landmark-color) 35%,transparent),transparent 72%);box-shadow:0 0 0 1px color-mix(in srgb,var(--landmark-color) 24%,transparent)}
.hero-landmark-ripple{width:135%;height:47%;border:1px solid var(--landmark-color);transform:translate(-50%,-50%) scale(calc(.65 + var(--landmark-pulse,0)*.85));opacity:calc((1 - var(--landmark-pulse,0))*.62)}
.hero-landmark-ripple-second{transform:translate(-50%,-50%) scale(calc(.65 + var(--landmark-pulse-b,.5)*.85));opacity:calc((1 - var(--landmark-pulse-b,.5))*.62)}
:root[data-theme=light] .hero-map-landmark>.hero-landmark-art{filter:drop-shadow(0 3px 3px #2e527931)}
:root[data-theme=light] .hero-landmark-halo{background:radial-gradient(ellipse,color-mix(in srgb,var(--landmark-color) 23%,transparent),transparent 75%)}
.hero-actions .hero-action-icon-3d{width:29px;height:29px}
.hero-actions .hero-action-icon-3d>svg{width:29px;height:29px;filter:drop-shadow(0 2px 2px #15343d20);transition:filter .4s ease}
.hero-action-glow:is([data-spotlight],:focus-visible) .hero-action-icon-3d>svg{filter:drop-shadow(0 2px 3px #329ac846) drop-shadow(0 0 5px #8ebfeb35)}
@media(max-width:480px){.hero-actions .hero-action-icon-3d,.hero-actions .hero-action-icon-3d>svg{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.hero-actions .hero-action-icon-3d>svg{transition:none}}
