@font-face{font-family:Fraunces;src:url('assets/fraunces.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:DM;src:url('assets/dm-sans.ttf') format('truetype');font-display:swap;font-weight:400}
:root{--paper:#faf6eb;--ink:#302c30;--plum:#56314f;--sage:#8fa582;--lavender:#bba9c7;--gutter:clamp(24px,5.5vw,100px)}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:6px}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--plum);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400}button:disabled{cursor:default}img{max-width:100%;display:block;height:auto}::selection{background:#d5c4dc}a,button{touch-action:manipulation}body.modal-open{overflow:hidden}.skip-link{position:fixed;z-index:100;top:12px;left:15px;transform:translateY(-160%);background:var(--paper);padding:12px 20px}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;height:112px;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(var(--paper),rgba(250,246,235,.6) 65%,transparent);transition:background .25s}.site-header.scrolled{background:rgba(250,246,235,.94);backdrop-filter:blur(12px)}.brand{display:block;width:227px;height:76px;position:relative;overflow:hidden;flex:none}.brand img{width:227px;max-width:none;position:absolute;left:0;top:50%;transform:translateY(-50%)}.site-header nav{display:flex;align-items:center;gap:32px}.site-header nav a{text-decoration:none;font-size:14px}.site-header nav .contact-link{border:1px solid #796a7770;border-radius:40px;padding:12px 22px;min-height:48px}.contact-link span{margin-left:18px}.site-header nav a:hover{color:var(--plum);text-decoration:underline}.menu{display:none;background:transparent;width:46px;height:46px;padding:12px}.menu span{display:block;height:1px;background:var(--ink);margin:7px 0}.mobile-nav{position:fixed;z-index:29;top:80px;left:0;right:0;background:var(--paper);padding:24px;box-shadow:0 10px 25px #302c3010}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:25px}.mobile-nav a{text-decoration:none}
.journey{position:relative;height:1160svh}.stage{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden;background:var(--paper);isolation:isolate}.worlds,.world,.world img,#orbit-film,#depth,.reading-light{position:absolute;inset:0;width:100%;height:100%}.worlds{z-index:-3}.world{visibility:hidden;overflow:hidden;will-change:clip-path}.world.current,.world.incoming{visibility:visible}.world img,#orbit-film{object-fit:cover;object-position:70% center;will-change:transform;transform-origin:75% 50%}.world img{transform:scale(1.08)}#orbit-film{opacity:0;transition:opacity .25s ease}#orbit-film.ready{opacity:1}#depth{z-index:-2;pointer-events:none}.reading-light{z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(250,246,235,.95) 0%,rgba(250,246,235,.88) 22%,rgba(250,246,235,.48) 39%,transparent 61%),linear-gradient(0deg,rgba(250,246,235,.94) 0%,rgba(250,246,235,.48) 8%,transparent 20%)}.chapter-copy{position:absolute;inset:0}.chapter{position:absolute;left:var(--gutter);top:clamp(145px,23vh,260px);width:min(46vw,620px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px);transition:opacity .4s ease,transform .6s ease}.chapter.active{opacity:1;visibility:visible;pointer-events:auto;transform:none}.chapter:not(.active){transition:none}.chapter-kicker{font-size:14px;margin-bottom:25px;max-width:350px;color:#62525f}.chapter h1,.chapter h2{font-size:clamp(54px,5.75vw,91px);line-height:1.015;letter-spacing:-.035em;max-width:640px;text-wrap:balance}.chapter-description{font-size:clamp(15px,1.17vw,18px);line-height:1.65;max-width:350px;margin-top:27px;color:#51454d}.enter-story{display:inline-flex;align-items:center;gap:30px;background:transparent;padding:10px 0;margin-top:22px;font-size:14px;border-bottom:1px solid #56314f80}.enter-story span{font-size:24px}.location{font-size:12px;margin-top:28px;color:#665d62}.chapter-link{display:inline-block;font-size:14px;text-decoration:none;margin-top:25px;padding:8px 0;border-bottom:1px solid #56314f66}.chapter-link span{margin-left:10px}.solid-link{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;background:var(--plum);color:var(--paper);padding:17px 23px;text-decoration:none;font-size:14px;border-radius:3px;transition:background .2s}.solid-link:hover{background:#3b2436}.chapter .solid-link{margin-top:24px}.room-note{font-size:11px;color:#6a5d64;margin-top:16px}.story-side{position:absolute;right:25px;top:46%;display:flex;align-items:center;gap:15px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.03em}.vertical-rule{height:44px;border-left:1px solid #56314f70}.story-bottom{position:absolute;bottom:27px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.story-bottom button{background:transparent;padding:10px 0;min-height:44px}.scroll-cue{display:flex;align-items:center;gap:13px}.scroll-symbol{font-size:24px}.map-open{display:flex;align-items:center;gap:10px}.map-icon{font-family:Georgia,serif;font-size:34px;line-height:1}.story-bottom #motion-toggle{display:flex;align-items:center;gap:8px}.story-bottom #motion-toggle>span:first-child{font-size:22px}.progress-track{position:absolute;bottom:0;height:3px;width:100%;background:#56314f15}.progress-track span{display:block;height:100%;width:0;background:var(--plum)}.scroll-chapters{position:absolute;inset:0;pointer-events:none}.scroll-chapters>div{height:16.666%}
.arrival{padding:120px var(--gutter) 100px;background:var(--paper);position:relative}.arrival:before{content:'';position:absolute;top:0;left:50%;height:62px;border-left:1px solid var(--plum)}.arrival-intro{max-width:800px;margin:0 auto 80px;text-align:center}.small-heading{font-size:13px;margin-bottom:28px;color:#6d5b69}.arrival h2,.approach h2,.meet h2,.conversation h2{font-size:clamp(40px,4.6vw,73px);line-height:1.1;letter-spacing:-.04em}.arrival-intro>p:last-child{max-width:490px;margin:26px auto 0;line-height:1.8}.focus-index{max-width:1240px;margin:auto}.focus-index details{border-top:1px solid #6c576137;scroll-margin-top:130px}.focus-index details:last-child{border-bottom:1px solid #6c576137}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.focus-index summary{display:grid;grid-template-columns:40px 1fr 290px 30px;gap:18px;align-items:center;min-height:110px;padding:20px 0}.focus-number{font-size:11px;color:#8a7686}.focus-index summary>span:nth-child(2){font-family:Fraunces,Georgia,serif;font-size:clamp(24px,2.65vw,40px);line-height:1.2;letter-spacing:-.03em}.focus-short{font-size:13px;color:#756871}.plus{font-size:26px;font-weight:300;text-align:right;transition:transform .3s}.focus-index details[open] .plus{transform:rotate(45deg)}.focus-detail{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:10px 0 50px 58px;align-items:center}.focus-detail img{width:100%;aspect-ratio:16/9;object-fit:cover}.focus-detail h3{font-size:29px;line-height:1.2;margin-bottom:18px}.focus-detail p{max-width:480px;font-size:15px}.focus-detail a{font-size:13px;display:inline-block;margin-top:20px}
.approach{background:#eae4e9;min-height:620px;position:relative;padding:130px var(--gutter);display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;overflow:hidden}.approach-title,.approach-copy{position:relative;z-index:1}.approach h2{max-width:660px}.approach-copy{align-self:center;max-width:400px}.approach-copy p{margin:18px 0}.approach-copy>p:first-child{font-family:Fraunces,Georgia,serif;font-size:27px;line-height:1.35}.thread-drawing{position:absolute;inset:0;opacity:.22}.thread-drawing svg{width:100%;height:100%}.thread-drawing path{stroke:var(--plum);fill:none;stroke-width:1.3;stroke-dasharray:1800;stroke-dashoffset:var(--thread-offset,1800)}.meet{padding:135px var(--gutter);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9vw;max-width:1600px;margin:auto}.portrait img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;clip-path:inset(0 round 48% 48% 4px 4px)}.meet-copy>p:not(.small-heading){margin-top:22px;max-width:430px}.meet h2{max-width:430px}.practical{padding:10px var(--gutter) 120px;max-width:1600px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.practical h2{font-size:clamp(36px,3.8vw,58px);letter-spacing:-.04em}.practical details{border-bottom:1px solid #6c576137}.practical summary{display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-size:15px}.practical summary span{font-size:22px}.practical details p{font-size:14px;padding:0 36px 24px 0;max-width:550px}.conversation{text-align:center;background:#e9ecdf;padding:110px 24px 100px}.conversation h2{margin-bottom:35px}.conversation>p:not(.small-heading){font-size:12px;margin:25px 0 15px;color:#5d6356}.conversation .email{font-size:14px}.conversation .solid-link{min-width:265px}footer{padding:42px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px}footer>p{font-size:14px}footer p span{font-size:11px;color:#71666c}footer nav{display:flex;gap:27px}footer a{text-decoration:none}
#world-map{border:0;background:var(--paper);color:var(--ink);width:min(1100px,94vw);padding:65px 55px 45px;max-height:90svh;overflow:auto;box-shadow:0 20px 130px #1c13194d}#world-map::backdrop{background:#3023309c;backdrop-filter:blur(8px)}#world-map .small-heading{text-align:center;margin-bottom:15px}#world-map h2{text-align:center;font-size:clamp(35px,4vw,62px);letter-spacing:-.04em;line-height:1.1}.map-description{text-align:center;font-size:14px;margin-top:18px}.map-close{position:absolute;right:15px;top:12px;background:transparent;font-size:35px;width:48px;height:48px;font-weight:300}.map-layout{position:relative;display:flex;align-items:center;justify-content:space-around;gap:10px;height:330px}.map-layout svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-layout path{fill:none;stroke:#82637a;stroke-width:1;stroke-dasharray:3 6}.map-stop{position:relative;background:transparent;width:140px;display:flex;flex-direction:column;align-items:center;gap:15px;font-size:12px;z-index:1;padding:12px 0}.map-stop:nth-of-type(2n){transform:translateY(38px)}.map-stop:nth-of-type(2n+1){transform:translateY(-28px)}.map-stop img{width:92px;height:92px;object-fit:cover;border-radius:50%;border:5px solid var(--paper);outline:1px solid #70596a55;transition:transform .3s}.map-stop:hover img,.map-stop[aria-current=step] img{transform:scale(1.12);outline-color:var(--plum)}.map-skip{display:block;text-align:center;font-size:13px}
body.still .journey{height:auto}body.still .stage{position:relative;height:auto;min-height:0;overflow:visible}body.still .worlds,body.still #depth,body.still .reading-light,body.still .story-side,body.still .progress-track,body.still .scroll-chapters{display:none}body.still .chapter-copy{position:relative}body.still .chapter{position:relative;left:auto;top:auto;width:100%;min-height:700px;padding:150px var(--gutter) 80px;opacity:1;visibility:visible;transform:none;pointer-events:auto;background-size:cover;background-position:70% center}body.still .chapter:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),#faf6ebdb 30%,#faf6eb33 70%,transparent);z-index:0}body.still .chapter>*{position:relative}body.still .chapter h1,body.still .chapter h2{max-width:600px}body.still .story-bottom{position:fixed;bottom:14px;left:auto;right:20px;z-index:35;background:var(--paper);padding:0 16px;box-shadow:0 3px 20px #302c3020;border-radius:35px}body.still .scroll-cue,body.still .map-open{display:none}
@media(min-width:1500px){.chapter{top:24vh}.chapter-description{max-width:380px}.reading-light{background:linear-gradient(90deg,#faf6ebeb,rgba(250,246,235,.8) 25%,transparent 65%),linear-gradient(0deg,#faf6ebde,transparent 18%)}}
@media(max-height:780px) and (min-width:761px){.stage{min-height:580px}.site-header{height:95px}.brand{width:200px;height:65px}.brand img{width:200px}.chapter{top:150px}.chapter h1,.chapter h2{font-size:clamp(49px,5.3vw,70px)}.chapter-kicker{margin-bottom:17px;font-size:12px}.chapter-description{font-size:14px;margin-top:19px;max-width:330px}.location{margin-top:14px}.enter-story{margin-top:12px}.story-bottom{bottom:16px}}
@media(max-width:1000px){.focus-short{display:none}.focus-index summary{grid-template-columns:30px 1fr 30px}.focus-detail{padding-left:48px}.meet{gap:6vw}.practical{gap:5vw}.site-header nav{gap:20px}.chapter{width:52vw}.chapter h1,.chapter h2{font-size:clamp(52px,6.3vw,72px)}}
@media(max-width:760px){:root{--gutter:24px}html{scroll-padding-top:95px}.site-header{height:86px;padding-top:8px;padding-bottom:8px;background:linear-gradient(#faf6ebf7,#faf6ebdf 60%,transparent)}.brand{width:173px;height:64px}.brand img{width:173px}.site-header nav>a:not(.contact-link){display:none}.site-header nav .contact-link{font-size:11px;padding:9px 13px;min-height:40px}.contact-link span{margin-left:8px}.site-header nav{margin-left:auto}.site-header{gap:12px}.menu{display:block;width:32px;padding:4px}.journey{height:1040svh}.stage{min-height:680px}.world img,#orbit-film{object-position:69% center}.reading-light{background:linear-gradient(180deg,#faf6ebf0 0%,#faf6ebf0 18%,#faf6ebd9 31%,#faf6eb55 48%,transparent 64%,#faf6eb14 78%,#faf6bedb 94%,var(--paper) 100%)}.chapter{left:24px;right:24px;width:auto;top:128px}.chapter h1,.chapter h2{font-size:clamp(45px,8.7vw,65px);line-height:1.025;letter-spacing:-.025em;max-width:450px}.chapter h1 br:nth-child(2){display:none}.chapter-kicker{font-size:11px;margin-bottom:17px;max-width:none}.chapter-description{font-size:13px;line-height:1.65;margin-top:18px;max-width:300px}.chapter-description br{display:none}.chapter-link{font-size:11px;margin-top:17px;padding:6px 0}.enter-story{font-size:12px;margin-top:14px;padding:5px 0;gap:25px}.enter-story span{font-size:20px}.location{font-size:10px;margin-top:18px}.chapter .solid-link{font-size:12px;padding:13px 17px;margin-top:18px}.room-note{font-size:9px;max-width:260px}.story-side{right:13px;top:65%;font-size:9px;gap:8px}.vertical-rule{height:25px}.story-bottom{left:24px;right:24px;bottom:17px;gap:10px;font-size:10px;flex-wrap:wrap}.story-bottom .scroll-cue{display:none}.map-icon{font-size:25px}.story-bottom #motion-toggle>span:first-child{font-size:20px}.arrival{padding:95px 24px 70px}.arrival-intro{margin-bottom:50px}.small-heading{font-size:11px;margin-bottom:20px}.arrival h2,.approach h2,.meet h2,.conversation h2{font-size:38px}.arrival-intro>p:last-child{font-size:14px;line-height:1.75;max-width:320px}.focus-index summary{gap:12px;min-height:90px;grid-template-columns:20px 1fr 20px}.focus-index summary>span:nth-child(2){font-size:25px}.focus-detail{display:block;padding:0 0 30px}.focus-detail img{margin-bottom:25px}.focus-detail h3{font-size:25px}.focus-detail p{font-size:14px}.approach{padding:75px 24px;min-height:0;display:block}.approach-copy{margin-top:35px;font-size:14px}.approach-copy>p:first-child{font-size:24px}.meet{padding:75px 24px;grid-template-columns:1fr;gap:38px}.portrait{max-width:440px;margin:auto}.portrait img{aspect-ratio:1.1}.meet-copy>p:not(.small-heading){font-size:14px}.practical{padding:0 24px 75px;display:block}.practical h2{font-size:38px;margin-bottom:25px}.practical summary{font-size:14px;padding:22px 0}.conversation{padding:80px 24px}.conversation>p:not(.small-heading){font-size:11px}.conversation .email{font-size:12px}footer{padding:35px 24px;display:block}footer nav{flex-wrap:wrap;gap:18px;margin:25px 0}footer small{font-size:10px}#world-map{padding:55px 20px 30px;width:94vw}.map-description{font-size:12px;max-width:280px;margin:15px auto 0}.map-layout{height:auto;min-height:340px;padding:25px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:23px 10px}.map-layout svg{display:none}.map-stop{width:auto;transform:none!important;font-size:10px;gap:10px}.map-stop img{width:75px;height:75px}.map-skip{font-size:12px}body.still .chapter{min-height:800px;padding:130px 24px 50px}body.still .chapter:before{background:linear-gradient(180deg,#faf6ebf5,#faf6ebdd 38%,transparent 75%)}body.still .chapter h1,body.still .chapter h2{max-width:340px}}
@media(max-width:380px){.site-header{gap:6px}.brand{width:153px}.brand img{width:153px}.site-header nav .contact-link{padding:8px 10px}.chapter{top:115px}.chapter h1,.chapter h2{font-size:44px}.chapter-description{max-width:270px}.stage{min-height:650px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep word spaces distinct in the expressive display face. */
h1,h2,h3{word-spacing:.06em}
@media(max-width:760px){.world[data-world="0"] img,#orbit-film{object-position:88% center}.world[data-world="0"] img{transform-origin:88% 50%}}

.room-note{display:table;background:#faf6ebde;padding:4px 7px;border-radius:2px;font-size:11px}
@media(max-width:760px){.location{font-size:11px}.room-note{font-size:10px}}

/* The opening gives way to the film as the visitor scrolls into the story. */
body:not(.still) .chapter[data-chapter="0"].active{opacity:var(--intro-opacity,1)}
.stage[data-scene="0"] .reading-light{opacity:var(--cinema-light,1)}
#orbit-film{transform:scale(1.05)}

/* Keep navigation legible while the full-bleed film is revealed. */
.stage:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#faf6ebf2);z-index:-1;pointer-events:none}
body.still .stage:after{display:none}
