@font-face{font-family:Sora;src:url('assets/sora.woff2') format('woff2');font-style:normal;font-weight:100 800;font-display:swap}
:root{--paper:#f0f1fa;--ink:#101116;--blue:#4e55fd;--line:#d2d5e2;--gutter:5vw;--font:Sora,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--font)}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}button{color:inherit}em{font-style:normal;color:var(--blue)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}[hidden]{display:none!important}.skip-link{position:fixed;top:8px;left:8px;z-index:30;transform:translateY(-200%);background:white;padding:12px}.skip-link:focus{transform:none}
.header{position:absolute;top:46px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:10;gap:20px}.brand{width:197px;display:block;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:32px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;border:0;border-radius:999px;padding:12px 21px;font-size:12px;line-height:1.2;white-space:nowrap;background:var(--ink);color:white;transition:transform .25s,opacity .25s}.pill:hover{transform:translateY(-3px)}.pill>span{font-size:18px}.header-link{min-width:24px;position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:12px;line-height:1.2;white-space:nowrap}.header-link:after{content:"";position:absolute;bottom:7px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.header-link:hover:after,.header-link:focus-visible:after,.header-link[aria-current=page]:after{transform:scaleX(1)}
.experience{position:relative}.world-stage{position:sticky;top:0;height:100svh;margin-bottom:-100svh;z-index:0;overflow:hidden;pointer-events:none}.world-window{position:absolute;inset:170px var(--gutter) 58px;border-radius:0;overflow:hidden;background:var(--paper);will-change:inset}.world-window canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .65s}.world-window.is-ready canvas{opacity:1}.world-window.is-ready .static-sculpture{visibility:hidden}.static-sculpture{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:0;overflow:hidden}.static-sculpture i{display:block;width:30%;aspect-ratio:1;border:50px solid var(--blue);border-radius:28%;transform:rotate(35deg);margin:-4%;box-shadow:inset 12px 12px 6px #ffffff29,14px 12px 0 #0a0a24}.static-sculpture i:nth-child(2){border-color:#e4e6f1;transform:rotate(-35deg);z-index:1}.static-sculpture i:nth-child(3){border-color:#292b38}.opening{position:relative;min-height:100svh;pointer-events:none;z-index:1}.opening h1{position:absolute;top:45px;left:28%;width:36%;max-width:430px;font-size:clamp(19px,1.6vw,25px);line-height:1.3;font-weight:400;letter-spacing:-.035em}.opening-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:21px}.opening-bottom a{font-size:10px;text-transform:uppercase;letter-spacing:.035em;display:flex;align-items:center;gap:20px;pointer-events:auto}.opening-bottom a span{font-size:17px}.chapter{position:relative;min-height:100svh;display:flex;align-items:center;padding:100px 8vw;z-index:1;pointer-events:none}.chapter-right{justify-content:flex-end}.chapter-left{justify-content:flex-start}.chapter-copy{width:43%;max-width:560px;pointer-events:auto}.chapter-kicker{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:36px;letter-spacing:.015em}.chapter-kicker>span:last-child{font-size:20px}.chapter h2{font-size:clamp(44px,5.35vw,82px);font-weight:400;letter-spacing:-.065em;line-height:1.08}.chapter p{max-width:390px;font-size:16px;line-height:1.8;color:#444753;margin-top:28px}.tags{font-size:10px;display:flex;gap:12px;margin-top:24px;color:#636673}.inline-link{font-size:12px;display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:5px;margin-top:30px}.inline-link span{font-size:21px;transition:transform .2s}.inline-link:hover span{transform:translate(3px,-3px)}
.together,.faq,.contact,.footer{position:relative;padding-inline:var(--gutter);background:var(--paper);z-index:2}.together{padding-top:100px;padding-bottom:100px}.section-kicker{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:20px}.section-kicker>span:last-child{font-size:22px}.together h2{font-size:clamp(80px,13.2vw,190px);font-weight:400;line-height:.99;letter-spacing:-.07em;text-align:center;margin:60px 0 65px}.together-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:960px;margin:auto}.together-bottom p{font-size:19px;line-height:1.6;letter-spacing:-.025em}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:9%;margin-top:100px;padding-top:35px;border-top:1px solid var(--line)}.process article>span{font-size:11px;color:var(--blue)}.process h3{font-size:23px;font-weight:400;letter-spacing:-.04em;margin-top:22px}.process p{font-size:14px;line-height:1.8;color:#626570;max-width:290px;margin-top:14px}.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:12%;padding-top:70px;padding-bottom:110px}.faq h2{font-size:clamp(48px,6vw,80px);letter-spacing:-.06em;line-height:1.1;font-weight:400;margin-top:25px}.faq-items{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:14px;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font-size:23px;font-weight:300}details[open] summary span{transform:rotate(45deg)}details p{padding:0 35px 25px 0;font-size:14px;color:#626570;line-height:1.8}.contact{padding-top:50px;padding-bottom:95px}.contact-link{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:50px}.contact h2{font-size:clamp(90px,13vw,185px);font-weight:400;line-height:1.02;letter-spacing:-.065em}.contact-arrow{font-size:clamp(120px,20vw,290px);line-height:1;color:var(--blue);font-weight:300;transition:transform .5s}.contact-link:hover .contact-arrow{transform:translate(12px,-12px)}.contact-note{font-size:12px;margin-top:32px;color:#636673}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:30px;padding-bottom:40px;border-top:1px solid var(--line);font-size:11px}.footer .brand{width:185px}.footer>span{color:#747681}.footer nav{display:flex;gap:25px}
@media(min-width:1600px){.opening h1{left:30%;width:37%}.world-window{top:190px}.chapter{padding-inline:12vw}}
@media(max-width:1100px){.header{top:34px}.brand{width:172px}.header-actions{gap:26px}.pill{font-size:10px;min-height:42px;padding-inline:16px;gap:12px}.opening h1{top:34px;font-size:19px;left:28%;width:36%}.world-window{top:150px}.chapter{padding-inline:6vw}.chapter-copy{width:44%}.chapter h2{font-size:48px}.chapter p{font-size:14px}.together-bottom p{font-size:17px}.process{gap:6%}.process h3{font-size:20px}}
@media(max-width:760px){:root{--gutter:20px}.header{top:25px;gap:10px}.brand{width:151px}.header-actions{gap:14px}.header-link{font-size:11px;min-height:44px}.pill{font-size:10px;padding:12px 14px;min-height:40px;gap:10px}.pill>span{font-size:16px}.opening h1{top:108px;left:20px;width:calc(100% - 40px);max-width:500px;font-size:20px;line-height:1.35;letter-spacing:-.035em}.world-window{inset:230px 20px 64px;border-radius:23px}.opening-bottom{bottom:22px}.opening-bottom a{font-size:9px;gap:12px}.chapter{min-height:110svh;align-items:flex-end;padding:0 25px 80px}.chapter-copy{width:100%;max-width:none}.chapter-kicker{margin-bottom:22px;font-size:10px}.chapter h2{font-size:clamp(39px,9.7vw,59px);line-height:1.06}.chapter p{max-width:460px;font-size:14px;line-height:1.75;margin-top:20px}.tags{font-size:9px;margin-top:20px}.inline-link{font-size:11px;margin-top:23px}.together{padding-top:70px;padding-bottom:60px}.section-kicker{font-size:10px}.together h2{font-size:clamp(63px,15vw,106px);margin:55px 0 45px;line-height:1.02}.together-bottom{display:block}.together-bottom p{font-size:16px;max-width:340px}.together-bottom .pill{margin-top:25px;min-height:46px;font-size:11px;padding-inline:20px}.process{display:flex;flex-direction:column;gap:30px;margin-top:55px;padding-top:30px}.process article{display:grid;grid-template-columns:30px 1fr;gap:7px 15px}.process article>span{padding-top:5px;font-size:10px}.process h3{font-size:21px;margin:0}.process p{grid-column:2;font-size:13px;margin-top:0;max-width:320px}.faq{display:block;padding-top:45px;padding-bottom:65px}.faq h2{font-size:48px;margin-top:20px;margin-bottom:35px}.faq-items summary{font-size:13px;min-height:79px}details p{font-size:13px;padding-right:10px}.contact{padding-top:30px;padding-bottom:60px}.contact-link{margin-top:40px;gap:10px}.contact h2{font-size:clamp(63px,15vw,104px)}.contact-arrow{font-size:85px}.contact-note{font-size:10px;margin-top:25px}.footer{flex-wrap:wrap;padding-top:25px;padding-bottom:30px;gap:25px}.footer .brand{width:155px}.footer>span{font-size:9px}.footer nav{width:100%;justify-content:space-between;font-size:10px}.static-sculpture{transform:rotate(-25deg) scale(1.4)}.static-sculpture i{border-width:25px;width:42%}}
@media(max-width:370px){:root{--gutter:15px}.brand{width:120px}.header{top:23px}.header-actions{gap:12px}.header-link{font-size:10px}.pill{padding-inline:11px;font-size:9px}.opening h1{font-size:18px;left:15px;width:calc(100% - 30px)}.world-window{top:240px;left:15px;right:15px}.chapter{padding-inline:20px}.chapter h2{font-size:36px}.chapter p{font-size:13px}.contact-arrow{font-size:70px}.contact h2{font-size:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:760px){.chapter{min-height:max(860px,100svh);padding-bottom:70px}.chapter-copy{background:var(--paper);box-shadow:0 -28px 26px var(--paper)}}
.no-webgl .world-stage{position:absolute;top:0;width:100%;margin-bottom:0}.no-webgl .chapter{min-height:auto;padding-block:90px}.no-webgl .chapter-copy{width:100%;max-width:780px;margin:auto}

.opening-bottom>span:last-child{visibility:hidden}
@media(max-width:760px){.opening-bottom{right:var(--gutter);justify-content:center}.opening-bottom>span{display:none}}

@media(min-width:761px) and (max-width:1000px){.opening h1{top:105px;left:5vw;width:80%;max-width:640px;font-size:22px}.world-window{top:236px}}

/* Keep the same scene visible until it has settled into the heading. */
.together{--final-font:clamp(64px,11.7vw,168px);background:transparent}
.together>.section-kicker{padding-left:calc(50% - var(--final-font)*1.68)}
.together h2{display:grid;grid-template-columns:2em max-content;align-items:center;justify-content:center;gap:.14em;padding-right:.92em;text-align:left;font-size:var(--final-font)}
.together-mark{display:block;width:2em;height:2em}
.no-webgl .together-mark{display:none}
.no-webgl .together h2{display:block;text-align:center;padding-right:0}
@media(max-width:760px){.together{--final-font:clamp(42px,13.2vw,100px)}.together>.section-kicker{padding-left:calc(50% - var(--final-font)*1.22)}.together h2{padding-right:0}}

.reference-invitation{position:relative;z-index:2;background:var(--paper);padding:0 var(--gutter) 45px}.reference-invitation a{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;font-size:13px}.reference-invitation a>span:last-child{display:flex;align-items:center;gap:25px;font-size:24px;letter-spacing:-.04em}.reference-invitation i{color:var(--blue);font-style:normal;font-size:38px;transition:transform .3s}.reference-invitation a:hover i{transform:translate(5px,-5px)}@media(max-width:760px){.reference-invitation{padding-bottom:20px}.reference-invitation a{align-items:flex-start;flex-direction:column;gap:12px;padding:22px 0;font-size:10px}.reference-invitation a>span:last-child{width:100%;justify-content:space-between;font-size:25px}.reference-invitation i{font-size:32px}}

/* The same mobile sculpture gets a clear stage above the reading area. */
.mobile-story .chapter{min-height:105svh;padding:0 24px;pointer-events:none}
.mobile-story .chapter-copy{position:fixed;left:24px;right:24px;top:50svh;width:auto;max-width:none;background:transparent;box-shadow:none;visibility:hidden;opacity:0;will-change:opacity,transform;pointer-events:auto}
.mobile-story .chapter h2{font-size:clamp(34px,9.5vw,50px);line-height:1.08}
.mobile-story .chapter-kicker{margin-bottom:20px;font-size:10px}
.mobile-story .chapter p{font-size:14px;line-height:1.7;margin-top:19px;max-width:560px}
.mobile-story .tags{font-size:10px;margin-top:17px}
.mobile-story .inline-link{font-size:11px;margin-top:21px;min-height:38px}
.mobile-story .world-window{will-change:auto}
@media(max-height:700px){.mobile-story .chapter-copy{left:20px;right:20px}.mobile-story .chapter h2{font-size:clamp(31px,9vw,40px)}.mobile-story .chapter-kicker{margin-bottom:13px}.mobile-story .chapter p{font-size:12px;line-height:1.6;margin-top:14px}.mobile-story .tags{font-size:9px;margin-top:12px}.mobile-story .inline-link{font-size:10px;margin-top:13px;min-height:32px}}
@media(min-width:601px) and (max-height:500px){.mobile-story .opening h1{top:135px;left:24px;width:43%;font-size:20px;line-height:1.35}.mobile-story .chapter-copy{left:52%;right:24px}.mobile-story .chapter h2{font-size:32px}.mobile-story .chapter p{font-size:12px}.mobile-story .chapter-kicker{margin-bottom:12px}.mobile-story .chapter p{margin-top:12px}.mobile-story .tags{margin-top:10px}.mobile-story .inline-link{margin-top:10px;min-height:30px}}

.chapter-actions{display:contents}.chapter-next{display:none}.mobile-story .chapter-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.mobile-story .chapter-actions .inline-link{min-width:0}.mobile-story .chapter-next{display:inline-flex;align-items:center;gap:10px;font-size:10px;min-height:44px;flex-shrink:0}.mobile-story .chapter-next span{font-size:18px}@media(max-height:700px){.mobile-story .chapter-actions{gap:10px}.mobile-story .chapter-next{font-size:9px;gap:6px}}
/* Fragment navigation focuses the reading section without framing the viewport. */
section[tabindex="-1"]:focus{outline:none}
.mobile-story .chapter-actions a{min-height:44px}

/* The live scene has no inner frame or feathered crop. */
.world-window.is-ready{mask-image:none}
.contact-link:hover h2,.reference-invitation a:hover>span:last-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}

/* Longer story headings keep clear of the shared sculpture. */
#dialog h2,#tillit h2{font-size:clamp(36px,4.3vw,62px)}
.mobile-story #dialog h2{font-size:clamp(29px,8.6vw,45px)}
.mobile-story #tillit h2{font-size:clamp(31px,8.6vw,45px)}
@media(min-width:601px) and (max-height:500px){.mobile-story #dialog h2{font-size:29px}}
