/* Earth is a separate layer: existing hero typography and actions remain untouched. */
.hero.earth-hero{background:#080808;isolation:isolate}
.earth-hero .hero-content{z-index:3;pointer-events:none}
.earth-hero .hero-content a{pointer-events:auto}
.earth-hero .hero-bottom{z-index:3;pointer-events:none;min-height:76px}
.earth-hero .hero-shade{z-index:1;background:linear-gradient(90deg,#080808 1%,#080808ee 28%,#08080890 45%,transparent 65%);pointer-events:none}
.earth-scene{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 79% 44%,#17212c66,transparent 53%);overflow:hidden;color:#c7cdd1;font-family:'DM Sans',Arial,sans-serif}
.earth-stars{position:absolute;inset:0;pointer-events:none}
.earth-stage{position:absolute;left:52%;right:0;top:0;bottom:0;transform:translateY(var(--earth-rise,0px)) scale(var(--earth-scale,1));transform-origin:50% 25%;will-change:transform}
.earth-stage canvas,.earth-fallback{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}
.earth-fallback{padding:10%;transform:scale(.88);filter:drop-shadow(0 0 18px #76a4cd24)}
.earth-stage.entering{animation:earth-arrive 2.5s cubic-bezier(.45,0,.25,1) both}
@keyframes earth-arrive{from{translate:0 95%;opacity:0}to{translate:0 0;opacity:1}}
.earth-marker{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border:0;border-radius:50%;background:transparent;z-index:3;display:grid;place-items:center;color:#fff}
.earth-marker:before{content:'';width:10px;height:10px;border-radius:50%;background:#f2f3f4;box-shadow:0 0 14px #c7cdd1a0}
.earth-marker:after,.earth-marker i{position:absolute;inset:12px;border:1px solid #c7cdd188;border-radius:50%;animation:earth-pulse 3s ease-out infinite;pointer-events:none}
.earth-marker:after{content:'';animation-delay:1.5s}
.earth-marker.behind:before{background:#222;border:1px solid #c7cdd1}
.earth-marker span{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#080808e8;border:1px solid #c7cdd140;padding:8px 12px;border-radius:3px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .3s}
.earth-marker:hover span,.earth-marker:focus-visible span,.earth-marker.active span{opacity:1}
@keyframes earth-pulse{0%{scale:.6;opacity:.7}100%{scale:2;opacity:0}}
.earth-controls{position:absolute;right:5%;bottom:24px;display:flex;gap:10px;z-index:5}
.earth-controls button,.earth-skip,.earth-triptych-close{background:#080808b8;border:1px solid #c7cdd150;color:#c7cdd1;font-size:12px;padding:10px 14px;min-height:44px;border-radius:2px;transition:background .3s,color .3s}
.earth-controls button:hover,.earth-controls button[aria-pressed=true]{background:#c7cdd1;color:#080808}
.earth-skip{position:absolute;right:5%;top:20px;z-index:8;border:0;background:transparent;text-decoration:underline;text-underline-offset:5px}
.earth-skip[hidden]{display:none}
.earth-triptych{position:absolute;left:53%;right:3%;top:21%;bottom:20%;z-index:6;pointer-events:none;visibility:hidden;transition:visibility .6s}
.earth-triptych.open{pointer-events:auto;visibility:visible}
.earth-triptych-label{font:400 13px 'DM Sans',Arial,sans-serif;letter-spacing:1px;margin:0 50px 16px 0;color:#fff;text-shadow:0 2px 10px #000}
.earth-triptych-close{position:absolute;right:0;top:-14px;width:44px;padding:0;font-size:23px}
.earth-panels{height:calc(100% - 36px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.earth-panel{position:relative;overflow:hidden;min-width:0;padding:0;border:1px solid #c7cdd14d;border-radius:12px;background:#15191e;color:#c7cdd1;opacity:0;transform:translate(var(--from-x,0px),var(--from-y,30px)) scale(.1);transition:transform .75s cubic-bezier(.22,.7,.2,1),opacity .6s;transition-delay:calc(var(--i)*150ms);box-shadow:0 18px 40px #0008}
.open .earth-panel{opacity:1;transform:translate(0,0) scale(1)}
.earth-panel img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;animation:earth-photo-drift 8s ease-in-out infinite alternate}
.earth-panel .placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;text-align:left;padding:18px;background:linear-gradient(160deg,#34414c88,#080808 85%)}
.earth-panel .placeholder small{font-size:10px;letter-spacing:2px;margin-bottom:auto;color:#c7cdd180}
.earth-panel .placeholder strong{font:400 22px Georgia,serif}
.earth-panel .placeholder em{font:400 11px Arial,sans-serif;margin-top:10px;color:#c7cdd1a0}
@keyframes earth-photo-drift{from{transform:scale(1.01) translateY(0)}to{transform:scale(1.08) translateY(-1%)}}
.earth-comet{position:absolute;width:100px;height:2px;background:linear-gradient(90deg,transparent,#c7cdd1,#fff);filter:drop-shadow(0 0 4px #fff);transform-origin:right;pointer-events:none;z-index:4}
.earth-gallery{width:min(1100px,96vw);max-width:96vw;max-height:94svh;background:#080808;color:#c7cdd1;border:1px solid #555;padding:48px 24px 20px;z-index:100}
.earth-gallery::backdrop{background:#080808ed;backdrop-filter:blur(8px)}
.earth-gallery .close{position:absolute;right:10px;top:7px;background:none;width:44px;height:44px;font-size:26px;padding:0}
.earth-gallery-media{position:relative;height:min(65svh,700px);display:grid;place-items:center;touch-action:pan-y;background:#111820}
.earth-gallery .earth-gallery-media img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.earth-gallery nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.earth-gallery nav button{background:none;color:#c7cdd1;border:1px solid #555;min-width:44px;min-height:44px}
.earth-gallery figcaption{font-size:13px;text-align:center;line-height:1.5;margin:0}
.earth-gallery figure{margin:0}
.earth-paused *{animation-play-state:paused!important}
@media(max-width:900px){
 .hero.earth-hero{aspect-ratio:auto;min-height:860px;display:flex;flex-direction:column}
 .earth-hero .hero-content{align-self:stretch;padding-top:30px;padding-bottom:410px}
 .earth-hero .hero-shade{background:linear-gradient(#080808 0%,#080808 28%,transparent 58%)}
 .earth-stage{left:0;right:0;top:auto;height:480px;bottom:60px}
 .earth-controls{left:6%;right:6%;bottom:36px;justify-content:center;gap:5px}
 .earth-controls button{font-size:11px;padding:9px}
 .earth-skip{top:auto;bottom:97px;right:5%}
 .earth-triptych{left:6%;right:6%;top:auto;bottom:105px;height:300px}
 .earth-panels{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:12px;scrollbar-width:thin}
 .earth-panel{flex:0 0 87%;scroll-snap-align:center}
 .earth-panel .placeholder strong{font-size:30px}
 .earth-hero .hero-bottom{min-height:26px;padding-bottom:18px}
 .earth-marker span{font-size:11px;padding:7px}
 .earth-gallery{padding:50px 14px 16px}
}
@media(prefers-reduced-motion:reduce){.earth-scene *,.earth-gallery *{animation:none!important;transition:opacity .2s!important}.earth-stage{transform:none!important}}

.earth-stage.earth-loading{opacity:0}

/* Destination photographs: subtle movement in the enlarged view, reset for each photograph. */
.earth-gallery-media{overflow:hidden}
.earth-gallery[open]:is([data-destination="singita"],[data-destination="tokyo"],[data-destination="tromso"]) .earth-gallery-media img{animation:singita-gallery-drift 14s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
@keyframes singita-gallery-drift{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.035) translate3d(-.25%,-.25%,0)}}
.earth-gallery[open]:is([data-destination="singita"],[data-destination="tokyo"],[data-destination="tromso"]).photo-motion-paused .earth-gallery-media img{animation-play-state:paused}
.earth-gallery .gallery-motion{position:absolute;left:16px;top:4px;min-height:44px;padding:8px;background:transparent;border:0;font-size:12px;color:#c7cdd1;text-decoration:underline;text-underline-offset:4px}
.earth-gallery:not(:is([data-destination="singita"],[data-destination="tokyo"],[data-destination="tromso"])) .gallery-motion{display:none}
@media(prefers-reduced-motion:reduce){.earth-gallery[open]:is([data-destination="singita"],[data-destination="tokyo"],[data-destination="tromso"]) .earth-gallery-media img{animation:none!important;transform:none!important}.earth-gallery .gallery-motion{display:none}}
