@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--white:#f9faf4;--accent:#e0ecab}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#18211d;color:var(--white);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}header{position:fixed;top:0;left:0;right:0;padding:32px 4.5vw;display:flex;align-items:center;justify-content:space-between;z-index:20;background:linear-gradient(#14201855,transparent)}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:23px;font-weight:800;letter-spacing:1px}.brandmark{font-size:27px;color:#1b2820;background:var(--accent);display:grid;place-items:center;width:43px;height:43px;letter-spacing:-3px;padding-right:3px}.brand-sub{font-size:10px;font-weight:500;letter-spacing:2px;margin-left:13px;border-left:1px solid #ffffff50;padding-left:20px}.top-link{font-size:14px;border-bottom:1px solid #ffffff60;padding:10px 0}.top-link span{margin-left:24px;font-size:21px}#story{height:540svh;position:relative}.scene{height:100svh;position:sticky;top:0;overflow:hidden}.landscape,.frame,.shade{position:absolute;inset:0;width:100%;height:100%}.landscape{transform:scale(1.025);will-change:transform}.frame{object-fit:cover;object-position:60% center;opacity:0;will-change:opacity}.frame:first-child{opacity:1}.shade{background:linear-gradient(90deg,rgba(12,23,18,.76),rgba(12,23,18,.28) 46%,transparent 74%),linear-gradient(0deg,rgba(10,21,16,.9),transparent 35%,transparent 75%,rgba(10,21,16,.2));pointer-events:none}.eyebrow{position:absolute;top:23%;left:4.5vw;display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:2px}.line{width:34px;height:1px;background:var(--accent)}.chapters{position:absolute;top:32%;left:4.5vw;right:4.5vw}.chapter{position:absolute;top:0;left:0;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .5s,transform .7s}.chapter.active{opacity:1;transform:translateY(0);pointer-events:auto}.chapter-label{font-size:12px;letter-spacing:2px;color:var(--accent);margin:0 0 22px}h1,h2{font-family:Manrope,sans-serif;font-size:clamp(40px,4.6vw,82px);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin:0;max-width:850px}em{font-style:normal;color:var(--accent)}.copy{font-size:16px;line-height:1.6;margin:26px 0;max-width:360px;color:#f0f3e5de}#replay{background:var(--accent);color:#19251c;border:0;padding:13px 19px;cursor:pointer;font-size:14px}#replay span{margin-left:24px}.side-note{position:absolute;right:30px;top:40%;writing-mode:vertical-rl;letter-spacing:3px;font-size:10px;opacity:.65}.bottom{position:absolute;left:4.5vw;right:4.5vw;bottom:132px;display:flex;justify-content:space-between;align-items:flex-end}.scroll-hint{display:flex;gap:16px;align-items:center;font-size:13px;line-height:1.7}.scroll-hint b{font-weight:400;color:#ffffff95}.scroll-icon{border:1px solid #ffffff50;border-radius:40px;width:31px;height:45px;display:grid;place-items:center;font-size:21px;animation:nudge 2s infinite}.progress-count{font-family:Manrope,sans-serif;font-size:36px;font-weight:400;font-variant-numeric:tabular-nums}.progress-count small{font-size:12px;color:#ffffff90}.timeline{position:absolute;left:4.5vw;right:4.5vw;bottom:35px;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.timeline button{border:0;background:none;padding:10px 0;color:#fff9;text-align:left;cursor:pointer;font-size:14px}.timeline button[aria-current]{color:var(--accent)}.timeline small{font-size:11px;margin-right:12px;opacity:.7}.track{height:2px;width:100%;background:#ffffff40;display:block;margin-bottom:18px}.track i{display:block;height:100%;width:0;background:var(--accent)}#finish{position:absolute;bottom:0}.loading{position:absolute;inset:0;background:#18211d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:30;font-size:14px;letter-spacing:1px;transition:opacity .6s}.loading span{width:110px;height:2px;background:var(--accent);animation:pulse 1s infinite}.loading.done{opacity:0;pointer-events:none}@keyframes nudge{50%{transform:translateY(6px)}}@keyframes pulse{50%{opacity:.3;transform:scaleX(.5)}}@media(min-aspect-ratio:2/1){.eyebrow{top:20%}.chapters{top:27%}h1,h2{font-size:8vh}.copy{margin:16px 0}.bottom{bottom:115px}}@media(max-width:700px){header{padding:21px 22px}.brand{font-size:20px}.brandmark{width:36px;height:36px;font-size:24px}.brand-sub{display:none}.top-link{font-size:12px}.top-link span{margin-left:9px}.landscape{inset:0 -22%;width:144%}.frame{object-position:64% center}.shade{background:linear-gradient(90deg,#0c171266,transparent),linear-gradient(0deg,#0c1712e8,transparent 50%,#0c171250)}.eyebrow{left:24px;top:17%;font-size:10px;letter-spacing:1.3px}.chapters{left:24px;right:24px;top:24%}.chapter-label{font-size:10px;margin-bottom:17px}h1,h2{font-size:clamp(34px,8.5vw,58px);line-height:1.12}.copy{font-size:14px;max-width:270px;margin-top:19px;text-shadow:0 1px 12px #102016}.side-note{display:none}.bottom{left:24px;right:24px;bottom:117px}.scroll-hint{font-size:12px}.progress-count{font-size:28px}.timeline{left:24px;right:24px;bottom:24px;gap:12px}.timeline button{font-size:11px}.timeline small{display:block;margin:0 0 5px}.track{margin-bottom:13px}#replay{padding:10px 14px;font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter{transition:none;transform:none}.scroll-icon,.loading span{animation:none}}
@media(max-width:700px){.landscape{inset:31% 0 auto;width:100%;height:49%}.frame{object-fit:contain;object-position:center}.shade{background:linear-gradient(0deg,#0c171288,transparent 30%,transparent 73%,#0c171222)}.eyebrow{top:15%}.chapters{top:21%}h1,h2{font-size:clamp(30px,7.6vw,44px)}.chapter-label{margin-bottom:12px}.copy{margin-top:14px;font-size:13px;max-width:310px}.chapter:last-child .copy{margin:12px 0}#replay{margin-top:4px}.bottom{bottom:112px}}
.final-actions{display:flex;align-items:center;gap:13px}.visit{display:inline-block;background:var(--accent);color:#19251c;padding:13px 18px;font-size:14px}.visit span{margin-left:18px}#replay{background:transparent;color:var(--white);padding:13px 12px}#replay span{margin-left:8px}.copy{max-width:360px}.brand-sub{font-size:12px}.eyebrow,.chapter-label{font-size:12px}.side-note{font-size:12px}.timeline small{font-size:12px}
@media(max-width:700px){.eyebrow,.chapter-label{font-size:12px;letter-spacing:.8px}.copy{font-size:14px;line-height:1.55;max-width:315px}.timeline button{font-size:12px}.final-actions{gap:5px}.visit{padding:11px 13px;font-size:14px}#replay{font-size:14px;margin:0}.chapter:last-child .copy{max-width:330px}.top-link{font-size:14px}}
@media(max-height:650px) and (min-width:701px){.eyebrow{top:18%}.chapters{top:25%}h1,h2{font-size:7vh}.copy{margin:12px 0;font-size:14px}.bottom{bottom:98px}.timeline{bottom:16px}.chapter-label{margin-bottom:12px}}
/* Full-bleed opening and the continuation of the same story. */
.scene{height:100svh;height:100dvh;min-height:560px}.landscape{inset:0;width:100%;height:100%}.frame{object-fit:cover;object-position:58% center}.eyebrow{top:20%}.chapters{top:29%}.scene h1,.scene h2{font-size:clamp(36px,4vw,72px)}.scene .copy{max-width:335px}.shade{background:linear-gradient(90deg,#0c1712b8, #0c171230 48%,transparent 78%),linear-gradient(0deg,#0c1712df,transparent 28%,transparent 78%,#0c171255)}header{transition:background .35s,padding .35s}header.scrolled{background:#18211df2;backdrop-filter:blur(15px);padding-top:17px;padding-bottom:17px}.content-section{padding:120px 7vw;scroll-margin-top:85px}.welcome{background:#18211d}.section-heading{max-width:1040px}.kicker{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 25px;color:var(--accent)}.content-section h2,.invitation h2{font-size:clamp(36px,4.5vw,72px);max-width:1000px}.intro{font-size:19px;line-height:1.7;color:#d2dbd1;max-width:600px;margin:30px 0 0}.school-paths{display:grid;grid-template-columns:1fr 1fr;margin-top:85px;border-top:1px solid #ffffff30}.school-paths article{padding:42px 7vw 0 0}.school-paths article+article{border-left:1px solid #ffffff30;padding-left:6vw;padding-right:0}.path-number{color:var(--accent);font-size:12px;letter-spacing:1.7px}h3{font-family:Manrope,sans-serif;font-size:clamp(26px,2.5vw,39px);font-weight:500;line-height:1.25;letter-spacing:-1px;margin:24px 0}.school-paths p{font-size:17px;line-height:1.7;max-width:430px;color:#bdc9bf}.text-link{display:inline-flex;gap:30px;border-bottom:1px solid #a2b792;padding:16px 0;font-size:14px;margin-top:10px}.learning{background:#e3eadb;color:#1b3126}.learning .kicker{color:#4b6341}.learning em{color:#5b713e}.learning-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;margin-top:65px;align-items:start}.big-number{font-family:Manrope,sans-serif;font-size:clamp(130px,19vw,300px);line-height:.95;letter-spacing:-.09em;font-weight:500}.big-fact p{font-size:17px;line-height:1.7;margin:30px 0}.learning-notes article{display:flex;gap:24px;border-top:1px solid #243b2940;padding:25px 0}.learning-notes article>span{font-size:12px;padding-top:6px;color:#5b713e}.learning-notes h3{margin:0 0 12px;font-size:25px;letter-spacing:-.5px}.learning-notes p{font-size:16px;line-height:1.7;margin:0;max-width:410px;color:#415146}.invitation{position:relative;min-height:85svh;display:flex;align-items:center;overflow:hidden;padding:100px 7vw}.invitation>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.invitation-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102016de,#10201655 65%,#10201622)}.invitation-copy{position:relative}.invitation p:not(.kicker){font-size:18px;line-height:1.8;margin:27px 0}.invitation .visit{margin-top:10px}.contact{display:grid;grid-template-columns:1.7fr 1fr;gap:6vw;padding-top:130px;padding-bottom:110px}.contact h2{font-size:clamp(35px,3.6vw,60px)}.contact-intro{font-size:17px;color:#bdc9bf;line-height:1.7;margin:30px 0}.contact-email{font-size:clamp(20px,2.3vw,34px);letter-spacing:-.5px;border-bottom:1px solid #a2b792;padding-bottom:12px;display:inline-block}.contact-email span{margin-left:15px;color:var(--accent)}.contact-details>div{margin-bottom:33px}.contact-details .kicker{margin-bottom:12px}.contact-details a{font-size:20px}.contact-details p:not(.kicker),address{font-size:15px;font-style:normal;line-height:1.8;color:#bdc9bf}.contact-details .small-email{display:block;font-size:16px;margin-top:8px}footer{margin:0 7vw;padding:30px 0;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#bdc9bf}footer>span{font-size:23px;font-weight:700;color:var(--white)}footer small{font-size:12px;font-weight:400;margin-left:18px;color:#bdc9bf}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.motion-ready .reveal.visible{opacity:1;transform:none}
@media(max-width:700px){.scene{min-height:600px}.landscape{inset:0;width:100%;height:100%}.frame{object-fit:cover;object-position:61% center}.shade{background:linear-gradient(180deg,#0c17127a,transparent 45%,#0c1712d9 90%),linear-gradient(90deg,#0c17128a,#0c171222)}.eyebrow{top:16%}.chapters{top:23%;left:23px;right:20px}.scene h1,.scene h2{font-size:clamp(31px,7.7vw,48px);text-shadow:0 2px 22px #07140d60}.scene .copy{font-size:16px;max-width:300px}.chapter-label{font-size:12px;letter-spacing:.5px}.timeline{bottom:19px}.bottom{bottom:109px}.scroll-hint{font-size:13px}.content-section{padding:80px 25px}.content-section h2,.invitation h2{font-size:36px}.intro{font-size:17px}.school-paths{grid-template-columns:1fr;margin-top:45px}.school-paths article{padding:30px 0}.school-paths article+article{padding:30px 0 0;border-left:0;border-top:1px solid #ffffff30}.school-paths h3{font-size:29px}.school-paths p{font-size:16px}.learning-grid{grid-template-columns:1fr;gap:40px;margin-top:40px}.big-fact{display:flex;align-items:center;gap:35px}.big-number{font-size:140px}.big-fact p{font-size:15px}.learning-notes article{gap:16px}.learning-notes h3{font-size:23px}.invitation{min-height:75svh;padding:85px 25px}.invitation p:not(.kicker){font-size:16px}.contact{grid-template-columns:1fr;gap:50px}.contact-email{font-size:22px}.contact-details{display:grid;grid-template-columns:1fr;gap:7px}.contact-details>div{margin-bottom:22px}footer{margin:0 25px;align-items:flex-start;gap:20px}footer small{display:block;margin:8px 0 0;font-size:12px;max-width:160px}footer a{font-size:13px;padding-top:7px}}@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none;transition:none}}

html.intro-scroll,html.intro-scroll body{scrollbar-width:none;-ms-overflow-style:none}html.intro-scroll::-webkit-scrollbar,html.intro-scroll body::-webkit-scrollbar{display:none;width:0;height:0}
#story{height:760svh}#window-flight{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.timeline{grid-template-columns:repeat(5,1fr)}.flight-title{position:absolute;left:4.5vw;top:35%;font-family:Manrope,sans-serif;font-size:clamp(38px,4.6vw,78px);line-height:1.12;letter-spacing:-.04em;opacity:0;pointer-events:none}.chapter:last-child h2{color:var(--accent)}.scene.in-flight .eyebrow,.scene.in-flight .side-note,.scene.in-flight .bottom{opacity:0}.scene .eyebrow,.scene .side-note,.scene .bottom{transition:opacity .25s}
@media(max-width:700px){.flight-title{left:23px;right:20px;top:27%;font-size:clamp(34px,8vw,47px)}.timeline{gap:8px;left:20px;right:20px}.timeline button{font-size:11px}.timeline small{font-size:12px}.timeline button:last-child>span:last-child{white-space:nowrap}}
#construction-reveal{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
/* Photographs dissolve as a moving camera sequence, without a wipe edge. */
.life-story .life-scene{clip-path:none;opacity:0;will-change:opacity;pointer-events:none}.life-story .life-scene:first-child{opacity:1}.life-story .life-scene img{transform:translate3d(2%,1%,0) scale(1.1);transform-origin:50% 50%;backface-visibility:hidden}.life-story .life-scene figcaption{will-change:opacity}.tour-view iframe{display:block}@media(prefers-reduced-motion:reduce){.life-story .life-scene{opacity:1!important;visibility:visible!important}.life-story .life-scene figcaption{opacity:1!important}}
.life-story{height:420svh;position:relative;background:#18211d}.life-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.life-scene{position:absolute;inset:0;margin:0;overflow:hidden;clip-path:inset(100% 0 0);will-change:clip-path}.life-scene:first-child{clip-path:inset(0)}.life-scene img{width:100%;height:100%;object-fit:cover;will-change:transform}.life-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c1712db,transparent 75%)}.life-scene figcaption{position:absolute;z-index:1;left:7vw;right:7vw;bottom:12vh;text-shadow:0 2px 20px #0007}.life-scene h2{font-size:clamp(38px,5vw,78px)}.tour-section{background:#101c16}.tour-view{position:relative;margin-top:45px;aspect-ratio:16/9;background:#18211d;overflow:hidden}.tour-start{display:block;width:100%;height:100%;padding:0;border:0;background:#18211d;cursor:pointer;color:white}.tour-start img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.tour-start:hover img{transform:scale(1.025)}.tour-start>span{position:absolute;bottom:24px;left:24px;background:var(--accent);color:#18211d;padding:15px 22px;font-size:16px}.tour-view iframe{width:100%;height:100%;border:0}.tour-tools{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:20px;font-size:14px}.tour-tools p{color:#bdc9bf;margin:0;flex:1}.tour-tools a{text-decoration:underline;text-underline-offset:5px}.tour-stop{background:transparent;border:1px solid #ffffff65;color:white;padding:10px 16px;cursor:pointer}.tour-start[hidden]{display:none}@media(max-width:700px){.life-story{height:360svh}.life-scene figcaption{left:25px;right:25px;bottom:13vh}.life-scene h2{font-size:38px}.tour-view{aspect-ratio:4/5;margin-top:30px}.tour-start img{object-fit:contain}.tour-start>span{left:15px;bottom:20px;right:15px}.tour-tools{gap:18px}.tour-tools p{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.life-story{height:auto}.life-sticky{position:relative;height:auto;overflow:visible}.life-scene{position:relative;height:80svh;clip-path:none!important}.life-scene img{transform:none!important}.tour-start img{transition:none}}
/* The story remains a continuous film even when the OS has reduced-motion set;
   the movement is the content itself, not a decorative transition. */
@media(prefers-reduced-motion:reduce){.life-story{height:420svh}.life-sticky{position:sticky;height:100svh;overflow:hidden}.life-scene{position:absolute;height:auto;clip-path:none!important}}
.life-scene{will-change:transform}.life-scene img{will-change:transform}.anchor-shift{transform:translate3d(0,var(--anchor-shift,0px),0);will-change:transform}
@media(max-width:700px){html .life-story{height:360svh}}
.focus-text{opacity:calc(.72 + var(--focus-level,0)*.28);filter:blur(calc((1 - var(--focus-level,0)) * .8px));transform:translate3d(0,calc((1 - var(--focus-level,0)) * 8px),0);will-change:opacity,filter,transform}
