@font-face{font-family:Display;src:url('./assets/fonts/SpaceGrotesk.woff2') format('woff2');font-display:swap}@font-face{font-family:Body;src:url('./assets/fonts/IBMPlexSans.woff2') format('woff2');font-display:swap}
:root{--ink:#152b37;--muted:#354d5d;--line:#68818d50;--ice:#eff8fb;--navy:#122b3b;--gutter:clamp(24px,5vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:#b7c3cb;color:var(--ink);font-family:Body,Arial,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #376880;outline-offset:6px}button{background:none;border:0}#scene{position:fixed;inset:0;width:100%;height:100%;touch-action:pan-y;z-index:0}.atmosphere{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 52% 42%,transparent 35%,#2a465018 90%,#1c344929 100%)}.masthead{position:fixed;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;gap:32px;padding:30px var(--gutter);background:linear-gradient(#b7c3cbe8,#b7c3cb60,transparent)}.wordmark{font-family:Display;font-size:34px;font-weight:700;line-height:.9;letter-spacing:-2px}.wordmark span{font-family:Body;display:block;font-size:9px;letter-spacing:3px;margin-top:13px;font-weight:500}.masthead nav{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:13px;font-weight:500}.masthead nav button{padding:0}.nav-contact{display:flex;gap:30px;border-bottom:1px solid var(--line)!important;padding-bottom:12px!important}.motion{border:1px solid var(--line);width:40px;height:40px;border-radius:50%;font-family:serif;font-size:19px}.motion:hover{background:#e6f0f560}main{position:relative;z-index:2;pointer-events:none}section{min-height:170svh;position:relative;padding:1px var(--gutter)}section.opening{min-height:175svh}section.idea{min-height:175svh}section#immersion{min-height:350svh}section#documentation{min-height:190svh}section#evaluation{min-height:320svh}section#advice{min-height:320svh}section#contact{min-height:140svh}.copy{position:sticky;top:45svh;width:32%;max-width:420px;margin-top:40svh;padding-bottom:27svh;pointer-events:auto}.opening .copy{top:38svh;margin-top:38svh;max-width:520px;width:38%}h1,h2{font-family:Display;font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0 0 24px}h1{font-size:clamp(38px,4.4vw,80px)}h2{font-size:clamp(30px,3.15vw,58px)}.copy p:not(.eyebrow){font-size:clamp(15px,1.03vw,18px);line-height:1.65;max-width:355px;margin:0}.eyebrow{font-size:10px;letter-spacing:2.3px;margin:0 0 20px;font-weight:500;color:var(--muted)}.quiet{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:18px}.explore{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);width:220px;margin-top:32px;padding-bottom:12px;font-size:13px}.explore span{font-size:20px}.chapters{position:fixed;right:22px;top:43%;display:grid;gap:16px;z-index:8}.chapters a{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-direction:row-reverse}.chapters span{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:Display;font-size:12px}.chapters small{display:none;font-size:10px;background:#e8f3f5d9;padding:8px 10px;letter-spacing:.4px}.chapters a:hover small,.chapters a[aria-current] small{display:block}.chapters a[aria-current] span{background:var(--navy);color:#f0f8fb;border-color:var(--navy)}.scene-progress{position:fixed;bottom:0;left:0;right:0;height:2px;background:#7e909e30;z-index:8}.scene-progress i{display:block;height:100%;width:0;background:#3b5c6d}#ice-contact{position:fixed;left:65%;top:65%;transform:translate(-50%,-50%);z-index:4;font-family:Display;font-weight:500;font-size:17px;white-space:nowrap;padding:15px;pointer-events:auto;visibility:hidden}.restart{display:block;margin-top:35px;width:max-content;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:8px}#contact-accessible{display:none}#status{position:fixed;bottom:25px;left:var(--gutter);z-index:11;font-size:12px;color:var(--muted)}#status:empty{display:none}footer{position:relative;z-index:4;display:flex;gap:30px;align-items:center;padding:30px var(--gutter) 70px;font-size:11px;border-top:1px solid var(--line)}footer span{margin-right:auto;font-family:Display;font-weight:600}footer button{padding:0}.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}dialog{border:1px solid #9bb1bd;background:#f0f6f8;color:var(--ink);padding:38px;width:min(620px,calc(100% - 32px));max-height:85svh;overflow:auto;box-shadow:0 20px 90px #19333e38}dialog::backdrop{background:#17313e80;backdrop-filter:blur(10px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px;font-size:10px;letter-spacing:2px}.close{font-size:28px;border:1px solid var(--line);width:40px;height:40px;display:grid;place-items:center;line-height:1}.close:hover{background:white}dialog h2{font-size:38px}dialog p{font-size:14px;line-height:1.7;color:var(--muted)}label{display:grid;gap:9px;font-size:12px;color:var(--muted);margin:20px 0}input,textarea{width:100%;border:1px solid #68818d70;background:#ffffff90;padding:13px;color:var(--ink);border-radius:0;font-size:15px}input:focus,textarea:focus{outline:2px solid #366177;outline-offset:2px}.search{margin-top:30px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.tabs button{padding:8px 10px;border:1px solid var(--line);font-size:11px}.tabs button[aria-pressed=true]{background:var(--navy);color:white}#input-results{list-style:none;padding:0;margin:20px 0}#input-results li{padding:12px 0;border-top:1px solid var(--line);font-size:15px}#input-results small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.submit{display:flex;justify-content:space-between;padding:16px 20px;width:100%;background:var(--navy);color:white;margin-top:25px}.submit+a,form>a{font-size:13px;text-decoration:underline}.fallback{position:fixed;inset:0;background:#b8c4cc;padding:25vh 30px;z-index:12;font-size:22px}.scene-failed #scene{display:none}.scene-failed .copy{position:relative;top:auto;margin:40px 0;padding:0;width:min(100%,600px)}.scene-failed section{min-height:auto;padding:80px var(--gutter)}.scene-failed .idea .sr-only{position:relative;left:auto;width:auto;height:auto;overflow:visible}.scene-failed #contact-accessible{display:block}.scene-failed .chapters{display:none}
@media(max-width:900px){:root{--gutter:24px}.masthead{padding:22px 24px;gap:20px}.wordmark{font-size:30px}.wordmark span{font-size:8px;letter-spacing:2.5px;margin-top:11px}.masthead nav{gap:20px;font-size:12px}.masthead nav a{display:none}.nav-contact{gap:15px;padding-bottom:7px!important}.motion{width:34px;height:34px;font-size:17px}.copy,.opening .copy{width:100%;max-width:530px;top:65svh;margin-top:63svh;padding-bottom:17svh}.opening .copy{top:62svh;margin-top:60svh;padding-bottom:22svh}.copy h1{font-size:clamp(32px,8.9vw,48px);margin-bottom:15px;max-width:90%}.copy h2{font-size:clamp(28px,7.5vw,40px);margin-bottom:14px}.copy h2 br{display:none}.copy p:not(.eyebrow){font-size:14px;line-height:1.5;max-width:90%}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:13px}.quiet{font-size:10px;margin-top:12px}.explore{margin-top:20px;width:190px;font-size:12px}.chapters{top:auto;bottom:calc(18px + env(safe-area-inset-bottom));left:20px;right:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:10px 6px;background:#183341e8;border:1px solid #c8dce950;box-shadow:0 3px 20px #273c4b25;border-radius:16px;backdrop-filter:blur(16px);color:#dceaf0}.chapters a{flex-direction:column;justify-content:center;gap:6px}.chapters span{border:0;border-radius:5px;width:26px;height:24px;font-size:12px}.chapters small,.chapters a:hover small,.chapters a[aria-current] small{display:block;background:none;padding:0;font-size:8px;letter-spacing:0}.chapters a[aria-current] span{background:#e8f7fc;color:var(--navy)}.scene-progress{bottom:0}.restart{margin-top:20px}#ice-contact{font-size:14px;padding:10px}footer{padding:25px 24px 125px;flex-wrap:wrap;gap:15px;font-size:10px}footer span{width:100%}dialog{padding:25px;max-height:86svh}.dialog-head{margin-bottom:24px}dialog h2{font-size:32px}dialog p{font-size:13px}.tabs button{font-size:10px}.submit{font-size:14px}#status{bottom:100px;font-size:10px}.atmosphere{background:radial-gradient(ellipse at 50% 38%,transparent 30%,#24415212 90%)}section#evaluation .copy,section#advice .copy{top:74svh;margin-top:72svh}section#evaluation .copy p:not(.eyebrow),section#advice .copy p:not(.eyebrow),section#evaluation .quiet{display:none}section#evaluation .copy h2,section#advice .copy h2{font-size:25px}section#evaluation .copy .eyebrow,section#advice .copy .eyebrow{margin-bottom:8px}section.idea{min-height:170svh}}
@media(max-height:600px) and (min-width:901px){.copy{top:36svh}.copy h2{font-size:36px}.copy p:not(.eyebrow){font-size:13px}.masthead{padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:900px){.opening .copy{top:47svh;margin-top:47svh;padding-bottom:45svh}.opening .copy h1{font-size:clamp(32px,8.9vw,48px)}section#evaluation .copy,section#advice .copy{top:75svh;margin-top:74svh}.masthead{background:linear-gradient(#b7c3cbe8,#b7c3cb50,transparent)}}
@media(max-width:900px){section#evaluation .copy,section#advice .copy{top:67svh;margin-top:66svh;padding-bottom:25svh}.opening .copy p:not(.eyebrow){max-width:100%}.chapters{bottom:calc(15px + env(safe-area-inset-bottom))}}
.dialog-open{overflow:hidden}
@media(max-width:900px){.chapters{backdrop-filter:none;background:#183341f2}}
@media(max-width:900px) and (min-aspect-ratio:5/4){.masthead{padding:15px 22px}.wordmark{font-size:25px}.copy,.opening .copy,section#evaluation .copy,section#advice .copy{width:33%;top:38svh;margin-top:36svh;padding-bottom:35svh}.copy h1{font-size:32px;max-width:100%}.copy h2,section#evaluation .copy h2,section#advice .copy h2{font-size:25px}.copy p:not(.eyebrow){font-size:12px;max-width:100%}.chapters{left:auto;right:20px;width:320px;padding:7px 4px}.explore{margin-top:16px;width:170px}.eyebrow{font-size:7px;letter-spacing:1px}}
@media(max-width:900px) and (max-aspect-ratio:5/4){section#contact{min-height:230svh}section#documentation .copy{top:61svh;margin-top:60svh}section#evaluation .copy{top:62svh;margin-top:61svh}section#advice .copy{top:70svh;margin-top:69svh}}
@media(max-width:900px) and (max-aspect-ratio:5/4){section#immersion .copy{top:55svh;margin-top:54svh;padding-bottom:25svh}section#advice .copy{top:66svh;margin-top:65svh}.chapters small,.chapters a:hover small,.chapters a[aria-current] small{font-size:10px}.chapters{padding:11px 6px}}
@media(min-width:901px){.opening .copy{width:42%;max-width:580px}.opening h1{font-size:clamp(38px,4vw,72px)}}
