@font-face{font-family:'Rajdhani';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/Rajdhani-Medium.ttf') format('truetype')}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/Rajdhani-Bold.ttf') format('truetype')}
/* v19: ecological prologue and a completed readiness instrument. */
.preloader{background:#063b55;overflow:hidden}
.loader-sea,.loader-title,.loader-track{display:none}
.loader-brand{left:clamp(23px,4vw,58px);top:max(28px,env(safe-area-inset-top));font-size:18px;text-align:left}
.loader-brand span{font-size:7px;letter-spacing:.22em}
.loader-console{position:absolute;left:clamp(23px,4vw,58px);bottom:40px;text-align:left;font:9px/1.9 'Courier New',monospace;letter-spacing:.09em;color:#b3d6db}
.loader-console span{display:block}.loader-console b{font-weight:400;color:#e6f4ef}
.loader-instrument{width:210px;height:210px;position:relative;display:grid;place-items:center}
.loader-instrument svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.loader-ticks{fill:none;stroke:#a5d5dc52;stroke-width:5;stroke-dasharray:.65 3.5388}
.loader-orbit{fill:none;stroke:#bfece754;stroke-width:.5}
#loading-fill{fill:none;stroke:#d6f4eb;stroke-width:5;stroke-dasharray:502.655;stroke-dashoffset:502.655}
.loader-scan{position:absolute;inset:13px;border-radius:50%;background:conic-gradient(from 0deg,transparent 65%,#b9e9eb12 86%,#c2f8ee52 100%);mask:radial-gradient(transparent 67%,#000 69%,#000 70%,transparent 72%);animation:loader-orbit 5s linear infinite}
.preloader[data-complete=true] .loader-scan{animation-play-state:paused;opacity:0}
.preloader[data-complete=true] #loading-fill{stroke:#e8fff3;filter:drop-shadow(0 0 5px #c0f7e755)}
.load-failed .loader-scan{animation:none;opacity:.3}
.loader-centre{position:relative;font:10px/1.8 'Courier New',monospace;letter-spacing:.13em}
#loading-percent{display:block;font:500 28px 'Barlow Condensed',sans-serif;letter-spacing:.07em;margin-bottom:5px}
.loader-cardinal{position:absolute;font:8px 'Courier New',monospace;color:#acd7dd9c}.loader-cardinal.n{top:-17px;left:50%;transform:translateX(-50%)}.loader-cardinal.e{right:-21px;top:50%}.loader-cardinal.s{bottom:-17px;left:50%;transform:translateX(-50%)}.loader-cardinal.w{left:-25px;top:50%}
.loading-detail{margin-top:40px;max-width:330px;min-height:35px;font-size:9px;color:#c5e5e5}
.loader-note{position:absolute;right:4%;bottom:40px;font:8px/1.8 'Courier New',monospace;letter-spacing:.07em;color:#b3d6db;text-align:right}
@keyframes loader-orbit{to{transform:rotate(360deg)}}
.opening{position:absolute;inset:0;z-index:7;display:grid;place-items:center;padding:90px 7% 110px;text-align:center;color:#f0f7ee;background:linear-gradient(#07385219,#072e4233);opacity:1;transition:opacity .7s}
.opening-gate{max-width:780px}.opening-eyebrow{font:9px/1.5 'Courier New',monospace;letter-spacing:.28em;margin:0 0 25px}
.opening h2{font:700 clamp(68px,10vw,128px)/.92 'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.018em;margin:0;text-shadow:0 3px 35px #05354a55}
.opening h2 span{display:block;font-size:.74em;margin-bottom:.12em;color:transparent;-webkit-text-stroke:1px #e2f3ecc9}.opening-note{font:11px/1.7 Arial,sans-serif;margin:27px 0 19px;color:#e6f2ec;letter-spacing:.025em}
.opening-start{border:1px solid #e4f4e78a;background:#063b5040;min-height:46px;padding:12px 24px;font:10px 'Courier New',monospace;text-transform:uppercase;letter-spacing:.12em;color:#f2f7ed;transition:background .2s}.opening-start:hover{background:#e8f5ed1c}.opening-start:disabled{cursor:wait}
.opening-silent{display:block;margin:9px auto 0;border:0;background:none;min-height:44px;padding:9px 17px;font:10px Arial,sans-serif;color:#dbece5;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#dbece54a}
.opening-story{display:none;width:100%;max-width:1000px}.opening-line{font:500 clamp(30px,3.75vw,48px)/1.16 'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.012em;white-space:pre-line;margin:0;text-wrap:balance;text-shadow:none}
.opening-cue{font:9px/1.5 'Courier New',monospace;letter-spacing:.3em;color:#dcefe2;position:absolute;left:10%;right:10%;top:29%;margin:0}
.opening-skip{position:absolute;bottom:max(36px,env(safe-area-inset-bottom));right:clamp(24px,4vw,58px);padding:12px 0;min-height:44px;border:0;background:none;color:#e6f3e9;font:10px 'Courier New',monospace;letter-spacing:.07em}
body[data-opening=playing] .opening-gate{display:none}body[data-opening=playing] .opening-story{display:block}
body[data-opening=done] .opening{opacity:0;pointer-events:none}
body[data-opening=gate] .surface-intro,body[data-opening=playing] .surface-intro,body[data-opening=gate] .surface-footer,body[data-opening=playing] .surface-footer,body[data-opening=gate] .horizon-marker,body[data-opening=playing] .horizon-marker{opacity:0;pointer-events:none;visibility:hidden}
body[data-opening=gate] #care-entry,body[data-opening=playing] #care-entry{visibility:hidden}
body[data-opening=gate] .masthead,body[data-opening=playing] .masthead{z-index:9}
.surface-intro{transition:opacity 1.1s ease}
body[data-state=journey-entering] .look-hint,body[data-state=journey-entering] .motion-button,body[data-state=journey-returning] .look-hint{visibility:hidden}
@keyframes opening-phrase{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:700px){
 .opening{padding:100px 7% 100px}.opening h2{font-size:clamp(50px,14.6vw,74px)}.opening-eyebrow{font-size:8px;letter-spacing:.24em;margin-bottom:23px}.opening-note{font-size:10px;margin-top:24px}.opening-line{font-size:clamp(27px,7.7vw,39px)}.opening-cue{top:30%;font-size:8px;letter-spacing:.2em}.opening-skip{font-size:9px;bottom:max(28px,env(safe-area-inset-bottom))}.loader-note{display:none}.loader-console{bottom:30px;font-size:7px}.loader-instrument{width:178px;height:178px}.loading-detail{font-size:8px;max-width:260px}
 .surface-intro .dive-button{width:166px;height:78px;min-width:0;min-height:0}.surface-intro .dive-button #dive-label{font-size:17px;letter-spacing:.055em}.dive-mask{stroke-width:4.7}.dive-cue{font-size:9px;padding:6px 9px;gap:5px}.dive-cue svg{width:13px;height:19px}.surface-intro{gap:25px}.surface-intro .subtitle{margin-top:19px}.surface-intro .dive-action{padding-bottom:27px}
}
@media(max-height:590px){.opening-cue{top:24%}.opening h2{font-size:55px}.opening-eyebrow{margin-bottom:16px}.opening-note{margin:18px 0 10px}.opening-skip{bottom:14px}.opening{padding-top:85px;padding-bottom:65px}.loader-console{bottom:20px}.loader-instrument{width:155px;height:155px}.loading-detail{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.loader-scan{animation:none}.opening-line{animation:none}.opening,.surface-intro{transition:opacity .2s}}

/* Audio choice is made once at the gate, through its trusted click. */
body[data-opening=gate] #sound{visibility:hidden}

body[data-opening=done] .opening>*{visibility:hidden}
.load-failed .loader-scan{animation:none}

@media(max-height:440px) and (min-width:600px){.opening{padding:72px 7% 55px}.opening h2{font-size:44px}.opening h2 span{display:inline;margin-right:.2em}.opening-eyebrow{margin-bottom:12px}.opening-note{margin:14px 0 9px}.opening-silent{display:inline-block;margin:0 0 0 12px}.opening-cue{top:23%}.opening-line{font-size:34px}}

/* v22: outline words fill with the existing narration clock. */

.opening-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.opening-visual{display:block}
.opening-word{position:relative;display:inline-block;white-space:nowrap;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:.7px #e1f5f2c7;text-shadow:none}
.opening-word::after{content:attr(data-word);position:absolute;inset:0;color:#effbf7;-webkit-text-fill-color:#effbf7;-webkit-text-stroke:.35px #effbf7;clip-path:inset(0 calc(100% - var(--word-fill,0%)) 0 0);white-space:nowrap;pointer-events:none}
@supports not (-webkit-text-stroke:1px white){.opening-word{color:#e1f5f2}.opening h2 span{color:#e1f5f2}}
@media(forced-colors:active){.opening-word,.opening h2 span{color:CanvasText;-webkit-text-fill-color:CanvasText;-webkit-text-stroke:0}.opening-word::after{display:none}}
