*{box-sizing:border-box}html{overscroll-behavior-y:none;scrollbar-width:thin}body{margin:0;color:var(--ink);background:var(--bg);font:15px Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.blue{--bg:#e5eff7;--ink:#113a59;--soft:#6086a0;--muted:#5b788e;--accent:#218ce8;--glow:#f9fdff;--line:#315a701f;--button:#153d5b;--buttontext:#fff}body.sand{--bg:#e8e8df;--ink:#222d2b;--soft:#7b8376;--muted:#667069;--accent:#c4922c;--glow:#fafaf0;--line:#34403324;--button:#293c34;--buttontext:#fff}body.rose{--bg:#eedee4;--ink:#51273d;--soft:#a4778c;--muted:#846070;--accent:#a43871;--glow:#fff2f2;--line:#60254022;--button:#51273d;--buttontext:#fff}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}[hidden]{display:none!important}header{position:fixed;inset:0 0 auto;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}.wordmark{font-size:26px;letter-spacing:-.045em;font-weight:700}.sand .wordmark{font-family:Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:-.025em;font-size:28px}.rose .wordmark{font-size:32px;letter-spacing:-.065em}.wordmark sup{font-size:8px;vertical-align:top;position:relative;top:3px;margin-left:3px}header nav{display:flex;gap:36px}header nav a,.external{font-size:9px;letter-spacing:.12em;display:flex;align-items:center;min-height:44px}.external{gap:24px;text-transform:uppercase}.external span{font-size:20px}.progress{position:absolute;bottom:-1px;left:0;right:0;height:2px}.progress i{height:100%;width:100%;display:block;transform:scaleX(0);transform-origin:left;background:var(--accent)}#story{height:620vh}.stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;background:radial-gradient(ellipse at 72% 48%,var(--glow),var(--bg) 63%);isolation:isolate}.ambient{position:absolute;left:43%;top:15%;width:50vw;height:50vw;border:1px solid var(--line);border-radius:50%;opacity:.5;pointer-events:none}#scene{position:absolute;inset:80px 0 0}canvas{display:block;width:100%;height:100%;touch-action:pan-y}.copy-layer{position:absolute;inset:80px 0 0;pointer-events:none}.chapter{position:absolute;inset:0;opacity:0;pointer-events:none;will-change:opacity,transform}.chapter.is-active a{pointer-events:auto}.copy{position:absolute;top:19%;left:8%;width:43%;max-width:570px}.eyebrow{font-size:9px;letter-spacing:.16em;line-height:1.5;margin:0;text-transform:uppercase;display:flex;gap:10px;align-items:center}.eyebrow i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent)}h1,h2{margin:24px 0;font-weight:400;letter-spacing:-.06em;line-height:1.02}h1{font-size:clamp(72px,8.8vw,137px)}h2{font-size:clamp(47px,5.8vw,91px)}em{font-style:normal;color:var(--soft)}.intro,.description{color:var(--muted);font-size:15px;line-height:1.8;max-width:335px;margin:28px 0 0}.description{font-size:14px;max-width:330px}.text-link{display:inline-flex;align-items:center;gap:45px;font-size:9px;letter-spacing:.1em;margin-top:31px;padding-bottom:14px;border-bottom:1px solid var(--line)}.text-link span{font-size:20px}.scene-index{position:absolute;right:5%;top:10%;font-size:8px;letter-spacing:.13em;display:flex;gap:30px}.scene-index b{font-weight:400;text-transform:uppercase;color:var(--muted)}.feature-caption{margin-top:36px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.1em;max-width:320px}.fine-print{font-size:9px;line-height:1.7;color:var(--muted);max-width:305px;margin:22px 0 0}.detail .copy{left:58%;width:35%;top:19%}.detail h2{font-size:clamp(42px,5.2vw,78px)}.ritual h2{font-size:clamp(42px,5.2vw,78px)}.spec{color:var(--muted);font-size:12px;line-height:1.8;margin-top:25px}.product-link{background:var(--button);color:var(--buttontext);padding:17px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:55px;font-size:12px;margin-top:23px;min-height:52px}.product-link span{font-size:18px}.foot-caption{position:absolute;bottom:29px;left:4.5%;display:flex;flex-direction:column;gap:8px;font-size:8px;letter-spacing:.14em;text-transform:uppercase}.foot-caption small{font-size:7px;opacity:.55}.credit{position:absolute;bottom:29px;right:4.5%;font-size:7px;letter-spacing:.1em;color:var(--muted)}.still{position:absolute;bottom:94px;left:4.5%;font-size:9px;text-decoration:underline;text-underline-offset:4px;color:var(--muted);z-index:5}.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.1em;display:flex;gap:12px;align-items:center;color:var(--muted)}.scroll-cue i{height:26px;width:1px;background:var(--accent)}.chapters{position:absolute;right:.5%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column}.chapters a{width:36px;height:36px;display:grid;place-items:center;opacity:.22}.chapters a:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--ink)}.chapters a[aria-current]{opacity:1}.chapters a[aria-current]:before{box-shadow:0 0 0 4px var(--line)}.replay{position:absolute;bottom:93px;right:4.5%;font-size:9px;letter-spacing:.12em;background:none;border:0;color:var(--ink);cursor:pointer;visibility:hidden;padding:10px 0}.replay span{margin-left:25px;font-size:17px}.replay.visible{visibility:visible}#loading{position:absolute;inset:0;background:var(--bg);z-index:12;display:grid;place-content:center;text-align:center;gap:22px;pointer-events:none;transition:opacity .35s}#loading strong{font-size:32px;letter-spacing:-.03em}#loading span{font-size:10px;letter-spacing:.12em;color:var(--muted)}#loading.done{opacity:0}#fallback{position:absolute;top:160px;left:8%;width:42%;max-width:500px;z-index:5}#fallback h1{font-size:65px}#fallback p,#fallback li{font-size:14px;line-height:1.8;color:var(--muted)}#fallback ul{padding-left:19px}.motion-return{display:block;margin-top:25px;font-size:11px;text-decoration:underline}.static #story{height:100svh}.static .copy-layer,.static .chapters,.static .scroll-cue,.static .still,.static .replay,.static header nav{display:none}.without-webgl #scene{display:none}.without-webgl #fallback{width:80%;left:10%;max-width:700px}.no-js{margin:140px auto;max-width:650px;padding:20px}
@media(min-width:701px) and (max-height:780px){.copy{top:12%}h1{font-size:96px}h2{font-size:63px}.detail .copy{top:14%}.detail h2,.ritual h2{font-size:59px}.intro{margin-top:23px}.feature-caption{margin-top:27px}.description{margin-top:23px}.fine-print{margin-top:18px}.finale h2{font-size:67px}}
@media(max-width:950px) and (min-width:701px){.copy{left:6%;width:43%}h1{font-size:78px}h2{font-size:50px}.detail h2,.ritual h2{font-size:44px}.description{font-size:12px;max-width:260px}.detail .copy{left:59%;width:33%}.external{font-size:8px;gap:12px}header nav{gap:17px}.intro{font-size:13px}}
@media(max-width:700px){header{height:66px;padding:0 6%}.wordmark{font-size:23px}.sand .wordmark{font-size:23px}.rose .wordmark{font-size:28px}header nav{display:none}.external{font-size:7px;gap:10px;letter-spacing:.06em}.external span{font-size:16px}#scene,.copy-layer{top:66px}#story{height:650vh}.stage{min-height:700px}.ambient{width:110vw;height:110vw;top:38%;left:14%}.copy,.detail .copy{left:7%;top:7%;width:86%;max-width:none}h1{font-size:clamp(56px,15vw,80px);margin:19px 0}h2,.detail h2,.ritual h2{font-size:clamp(37px,10.5vw,52px);margin:17px 0}.eyebrow{font-size:8px;letter-spacing:.13em}.intro{font-size:12px;margin-top:16px;line-height:1.6}.text-link{font-size:8px;margin-top:18px;padding-bottom:11px;gap:28px}.description{font-size:12px;line-height:1.65;max-width:285px;margin:16px 0 0}.feature-caption{position:fixed;bottom:64px;left:7%;width:65%;font-size:7px;max-width:none;margin:0;padding:12px 0}.fine-print{position:fixed;left:7%;bottom:24px;font-size:7px;max-width:280px;margin:0;line-height:1.6}.scene-index{display:none}.foot-caption{left:6%;bottom:25px;font-size:7px;max-width:52%}.foot-caption small{font-size:6px}.credit{right:6%;bottom:25px;font-size:5px;letter-spacing:.04em}.scroll-cue{left:auto;right:6%;bottom:49px;transform:none;font-size:6px}.still{bottom:80px;left:6%;font-size:8px}.chapters{right:0}.chapters a{width:28px;height:32px}.stage:has(.feature.is-active) .still,.stage:has(.detail.is-active) .still,.stage:has(.ritual.is-active) .still,.stage:has(.feature.is-active) .foot-caption,.stage:has(.detail.is-active) .foot-caption,.stage:has(.ritual.is-active) .foot-caption,.stage:has(.feature.is-active) .credit,.stage:has(.detail.is-active) .credit,.stage:has(.ritual.is-active) .credit{display:none}.finale .copy{position:static}.finale .eyebrow{position:absolute;top:6%;left:7%}.finale h2{position:absolute;top:10%;left:7%;font-size:42px;margin:0}.finale .spec{position:absolute;left:7%;bottom:22%;font-size:9px}.finale .product-link{position:absolute;left:7%;right:7%;bottom:12%;margin:0;min-height:46px;padding:13px 18px;font-size:11px}.finale.is-active~*{pointer-events:none}.stage:has(.finale.is-active) .still,.stage:has(.finale.is-active) .foot-caption{display:none}.replay{bottom:75px;font-size:8px}.static #scene{display:none}.static #fallback{top:120px;left:7%;width:86%;max-width:none}.static #fallback h1{font-size:52px}.static .stage,.static #story{min-height:790px}.static .foot-caption{display:none}}
@media(prefers-reduced-motion:reduce){#loading{transition:none}}
 .stage{overflow:clip}
@media(max-width:700px){.stage:has(.finale.is-active) .replay{bottom:50px;left:7%;right:auto}.blue .stage:has(.feature.is-active) #scene,.blue .stage:has(.detail.is-active) #scene,.stage:has(.ritual.is-active) #scene{mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 88%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 88%)}}
@media(max-width:700px){.stage:has(.detail.is-active) #scene{mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 88%)}}

body.charcoal{--bg:#e4e8e9;--ink:#242a2d;--soft:#7c858b;--muted:#5f6a71;--accent:#455661;--glow:#f5f7f8;--line:#24303f22;--button:#27323b;--buttontext:#fff}.charcoal .wordmark{font-size:32px;letter-spacing:-.065em}.charcoal .ambient{opacity:.3}.charcoal .stage{background:radial-gradient(ellipse at 72% 43%,var(--glow),var(--bg) 69%)}
@media(max-width:700px){.charcoal .stage:has(.detail.is-active) #scene{mask-image:none;-webkit-mask-image:none}.charcoal .wordmark{font-size:28px}}
