/* Reference refinement: live orbital map, organic feature panel and independent horizon planes. */
.atlas-hero { padding-bottom:205px; }
.atlas-hero::before { opacity:1; background-size:1440px 912px; }
.atlas-home .atlas-header { background-size:1440px 912px; }
.atlas-routes { inset:0; top:0; width:100%; height:100%; transform:none; opacity:1; }
.atlas-route-lines { filter:drop-shadow(0 0 3px #ffc864) drop-shadow(0 0 7px #efac4070); }
.atlas-route-lines path { animation:atlas-route-flow 24s linear infinite; }
.atlas-route-lines path:nth-child(even) { animation-direction:reverse; animation-duration:30s; }
.atlas-route-sparks { filter:drop-shadow(0 0 5px #ffd27a) drop-shadow(0 0 12px #edb34f); }
.world-window { box-shadow:0 0 0 4px #f4ce8740,0 0 0 7px #edbf6845,0 0 23px #f5b84e25,0 20px 55px #0003; }
.studio-origin { box-shadow:0 0 0 7px #f2c07530,0 0 0 9px #e3b765a0,0 0 24px #ffca7799,0 0 60px #eeb95645; }
.world-node-jump { z-index:5; }
.hero-game-detail { left:63%; right:auto; top:46px; width:37%; min-height:300px; padding:0; border:0; border-radius:0; background:none; display:grid; grid-template-columns:44% minmax(0,1fr); z-index:3; }
.hero-panel-surface { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; filter:drop-shadow(0 8px 22px #050d1b30); }
.panel-compact,.panel-stacked { display:none; }
.hero-game-copy { position:relative; grid-column:2; align-self:center; padding:52px 22px 25px 0; }
.hero-game-copy>p { font-size:13px; margin:9px 0 13px; }
.hero-game-copy .hero-game-status { font-size:10px; color:var(--atlas-caption); }
.hero-game-detail .button { min-height:44px; }
.atlas-horizon-scene { position:absolute; bottom:-1px; left:0; width:100%; height:clamp(350px,30vw,440px); z-index:1; pointer-events:none; overflow:hidden; }
.horizon-layer { position:absolute; transform:translate3d(var(--atlas-shift-x,0px),var(--atlas-shift-y,0px),0); }
.horizon-layer img { width:100%; height:100%; object-fit:contain; object-position:center bottom; max-width:none; }
.horizon-earth { left:-14%; bottom:-6%; width:104%; height:116%; z-index:0; }
.horizon-earth img { object-fit:fill; rotate:6deg; transform-origin:50% 100%; }
.horizon-halo { position:absolute; inset:0; width:100%; height:100%; overflow:visible; rotate:6deg; transform-origin:50% 100%; pointer-events:none; }
.horizon-skyline { left:0; bottom:-14%; width:100%; height:100%; z-index:2; }
.horizon-skyline img { object-position:35% bottom; }
.horizon-cloud-back { right:-2%; bottom:-8%; width:55%; height:80%; z-index:1; }
.horizon-cloud-front { left:-2%; bottom:-1%; width:42%; height:105%; z-index:3; }
.horizon-cloud-front img { object-position:left bottom; }
.horizon-cloud-back img { object-position:right bottom; }
.horizon-shore { position:absolute; left:0; bottom:-2px; width:100%; height:28%; z-index:4; }
.map-scroll { display:inline-flex; align-items:center; justify-content:center; gap:15px; position:absolute; left:0; bottom:45px; z-index:8; width:fit-content; min-height:60px; padding:10px 18px 10px 24px; border:1px solid #efc16c; border-radius:999px; background:#10223eee; color:#fff0cf; font-size:15px; font-weight:700; letter-spacing:.015em; line-height:1.25; text-decoration:none; box-shadow:0 0 0 3px #eab96012,0 0 24px #efba5638,inset 0 0 18px #eab96008; transition:background-color .2s,box-shadow .2s; }
.map-scroll>span:first-child { display:block; }
.map-scroll>span:last-child { flex:none; display:grid; place-items:center; width:36px; height:36px; border:1px solid #eec57399; border-radius:50%; font:24px/1 ui-sans-serif,system-ui,sans-serif; }
.map-scroll:hover,.map-scroll:focus-visible { background:#243853; box-shadow:0 0 0 3px #eab96020,0 0 30px #efba5660; }
.world-node-jump .jump-clouds { inset:-8%; transform:translate3d(var(--atlas-shift-x,0px),var(--atlas-shift-y,0px),0); }
.world-node-jump .jump-front { inset:-8%; transform:translate3d(var(--atlas-shift-x,0px),calc(30% + var(--atlas-shift-y,0px)),0); }
@keyframes atlas-route-flow { to { stroke-dashoffset:-120; } }
@media(min-width:1600px) {
  .atlas-hero { padding-bottom:255px; }
  .atlas-horizon-scene { height:440px; }
  .horizon-skyline { height:clamp(100%,calc(100% + 10vw - 160px),120%); bottom:clamp(-18%,calc(-14% - 2vw + 32px),-14%); }
  .horizon-cloud-back { bottom:-16%; height:105%; }
}
@media(max-width:1150px) {
  .atlas-map { height:850px; }
  .world-node-02 { width:22%; height:190px; }
  .world-node-03 { left:57%; top:590px; width:19%; height:175px; }
  .atlas-hero { padding-bottom:180px; }
  .hero-game-detail { left:51%; top:239px; width:49%; min-height:228px; grid-template-columns:1fr; }
  .panel-wide { display:none; }
  .panel-stacked { display:block; }
  .hero-game-copy { grid-column:1; padding:70px 24px 22px; }
  .hero-game-copy>p { display:inline-block; font-size:12px; margin-right:12px; }
  .hero-game-copy .hero-game-status { font-size:11px; margin:6px 0 12px; display:block; }
  .hero-game-copy h2 { font-size:26px; }
  .hero-game-detail .button { font-size:12px; }
  .world-node-04 { top:495px; }
  .atlas-horizon-scene { height:270px; }
}
@media(max-width:760px) {
  .atlas-hero { padding-bottom:170px; }
  .hero-game-detail { left:40%; top:337px; width:60%; min-height:230px; grid-template-columns:33% minmax(0,1fr); }
  .panel-wide { display:none; }
  .panel-stacked { display:none; }
  .panel-compact { display:block; }
  .hero-game-copy { grid-column:2; padding:44px 16px 22px 0; }
  .hero-game-copy>p { display:block; margin:10px 0; font-size:12px; line-height:1.45; }
  .hero-game-copy h2 { font-size:25px; }
  .hero-game-copy .hero-game-status { font-size:11px; line-height:1.5; }
  .hero-game-detail .button { font-size:11px; padding:10px 12px; gap:7px; }
  .world-node-04 { top:728px; }
  .atlas-horizon-scene { height:285px; width:120%; left:-10%; }
  .horizon-earth { left:-12%; width:110%; height:119%; bottom:-5%; }
  .horizon-earth img { rotate:5deg; }
  .horizon-halo { rotate:5deg; }
  .horizon-skyline { bottom:-7%; }
  .horizon-skyline img { object-position:center bottom; }
  .horizon-cloud-front { left:-7%; width:39%; height:85%; bottom:-3%; }
  .horizon-cloud-back { right:-4%; width:51%; height:75%; }
  .atlas-routes { inset:0; width:100%; height:100%; transform:none; opacity:1; }
  .atlas-route-sparks { display:none; }
}
@media(max-width:480px) {
  .atlas-hero { padding-bottom:144px; }
  .hero-game-detail { left:39%; top:284px; width:61%; min-height:224px; grid-template-columns:34% minmax(0,1fr); }
  .hero-game-copy { padding:45px 12px 22px 0; }
  .hero-game-copy h2 { font-size:23px; }
  .hero-game-copy>p { font-size:11px; }
  .hero-game-detail .button { font-size:11px; padding:10px 9px; gap:4px; white-space:normal; text-align:center; }
  .world-node-jump { width:57%; }
  .world-node-04 { top:670px; }
  .atlas-horizon-scene { height:235px; width:155%; left:-27%; }
  .horizon-skyline { width:96%; left:2%; bottom:-5%; }
  .horizon-cloud-front { width:43%; left:12%; height:90%; bottom:-1%; }
  .horizon-cloud-back { right:8%; width:45%; height:90%; bottom:3%; }
}
/* Captions and the Explore link reserve their own space in the mobile map. */
@media(max-width:760px) {
  .atlas-hero { padding-bottom:230px; }
  .atlas-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 32px; height:auto; min-height:0; padding-bottom:72px; }
  .atlas-hero-copy { grid-area:1 / 1 / 2 / -1; padding-bottom:0; }
  .world-node-jump { position:relative; inset:auto; grid-area:2 / 1 / 3 / -1; align-self:start; justify-self:start; width:57%; height:auto; aspect-ratio:.94; }
  .hero-game-detail { position:relative; inset:auto; grid-area:2 / 1 / 3 / -1; align-self:start; justify-self:end; width:max(63%,calc(100% - 180px)); margin-top:26px; }
  .world-node-02,.world-node-03,.world-node-04 { position:relative; inset:auto; align-self:start; justify-self:center; width:min(100%,210px); height:auto; }
  .world-node-02 { grid-area:3 / 2; }
  .world-node-03 { grid-area:4 / 1; }
  .world-node-04 { grid-area:4 / 2; margin-top:32px; }
  .world-node-02 .world-window,.world-node-03 .world-window,.world-node-04 .world-window { height:auto; aspect-ratio:.98; }
  .studio-origin { position:relative; inset:auto; grid-area:3 / 1; align-self:start; justify-self:center; width:clamp(90px,25vw,140px); height:auto; aspect-ratio:1; margin:24px 0 56px; }
  .studio-origin img { width:67%; height:67%; }
  .map-scroll { position:relative; inset:auto; grid-area:5 / 1 / 6 / -1; justify-self:center; min-height:54px; max-width:100%; padding:8px 14px 8px 18px; gap:12px; font-size:13px; }
}
@media(max-width:480px) {
  .atlas-hero { padding-bottom:180px; }
}
@media(prefers-reduced-motion:reduce) {
  .atlas-route-lines path { animation:none; }
  .horizon-layer { transform:none; }
  .world-node-jump .jump-clouds { transform:none; }
  .world-node-jump .jump-front { transform:translateY(30%); }
}
