*{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}}
.annotations{position:absolute;inset:80px 0 0;pointer-events:none;z-index:2;overflow:hidden}.leader-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.leader-lines g,.part-label,.app-visual{opacity:0}.leader-lines path{fill:none;stroke:#568bab;stroke-width:1;vector-effect:non-scaling-stroke}.leader-lines .endpoint{fill:#e9f6ff;stroke:#2f91cc;stroke-width:1.4}.endpoint-halo{fill:#5ebcff24;stroke:#75b4db66;stroke-width:.8}.part-label{position:absolute;top:0;left:0;line-height:1.5;will-change:transform,opacity}.part-label>span{font-size:10px;font-weight:600;letter-spacing:.025em;display:block}.part-label small{font-size:8px;color:var(--muted);display:block;margin-top:4px;max-width:120px}.app-visual{position:absolute;will-change:transform,opacity;transform-origin:center}.phone{aspect-ratio: .53;background:#fcfdff;border:5px solid #193b52;border-radius:29px;box-shadow:0 23px 40px -18px #254c7142,0 0 0 1px #51738e;position:relative;padding:30px 13px 10px;overflow:hidden;display:flex;flex-direction:column;color:#21415c}.phone-camera{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:29%;height:7px;border-radius:5px;background:#193b52}.app-top{display:flex;justify-content:space-between;align-items:center}.app-top b{font-size:12px;letter-spacing:-.6px}.app-top>span{font-size:5px;letter-spacing:.13em;color:#8aa0ae}.app-heading{font-size:13px;line-height:1.2;letter-spacing:-.035em;margin-top:14px}.app-dial{position:relative;width:88%;aspect-ratio:1;margin:10px auto 0}.app-dial svg{width:100%;height:100%;transform:rotate(-90deg)}.app-dial circle{fill:none;stroke-width:6}.dial-track{stroke:#eaf1f6}.dial-fill{stroke:#279ae8;stroke-linecap:round}.app-dial>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.app-percent{font-weight:400;font-size:30px;letter-spacing:-.07em}.app-percent span{font-size:14px;letter-spacing:-.04em;margin-left:2px}.app-dial small{font-size:6px;margin-top:3px;color:#7b93a5}.app-volume{text-align:center;margin-top:2px;font-size:8px}.app-volume b{font-weight:500}.app-volume span{color:#8c9ead;font-size:7px}.app-week{border-top:1px solid #e9eef2;margin-top:auto;padding-top:13px}.app-week>div:first-child{display:flex;align-items:center;justify-content:space-between}.app-week b{font-size:8px;font-weight:500}.app-week>div>span{font-size:5px;color:#8da0ae}.app-bars{display:flex;gap:7px;height:42px;margin-top:8px;padding-bottom:10px}.app-bars>span{height:100%;flex:1;position:relative;display:flex;align-items:end}.app-bars i{height:var(--bar);width:100%;border-radius:3px 3px 1px 1px;background:#bfddf3}.app-bars .today i{background:#299be9}.app-bars small{position:absolute;bottom:-10px;font-size:5px;left:50%;transform:translateX(-50%);color:#8aa1b2}.app-bottom{margin-top:13px;padding-top:9px;border-top:1px solid #e9eef2;display:flex;justify-content:space-between;font-size:5px;color:#9aa8b2}.app-bottom .selected{color:#168fdc}.app-tag{text-align:center;font-size:8px;white-space:nowrap;margin-top:14px;color:var(--muted);letter-spacing:.015em}.app-tag span{margin:0 5px;color:var(--accent)}.leader-lines .app-connection{stroke-dasharray:3 5;stroke:#6fa6c5}.connection-pulse{fill:#2a9fe8;stroke:#d6efff;stroke-width:3}.static .annotations{display:none}
@media(min-width:701px){.detail .copy{left:65%;width:29%}.detail h2{font-size:clamp(36px,4.7vw,72px)}.detail .feature-caption{margin-top:25px}.detail .description{max-width:290px}}
@media(min-width:701px) and (max-width:950px){.phone{border-width:4px;border-radius:23px;padding:24px 10px 9px}.app-heading{font-size:11px;margin-top:10px}.app-dial{margin-top:6px}.app-percent{font-size:24px}.app-week{padding-top:9px}.app-bars{height:34px;margin-top:6px}.app-bottom{margin-top:10px;padding-top:6px}.app-tag{font-size:7px}.detail h2{font-size:36px}.detail .description{font-size:11px}.detail .copy{top:13%}.part-label>span{font-size:9px}.part-label small{font-size:7px}}
@media(max-width:700px){.annotations{top:66px}.part-label>span{font-size:9px}.part-label small{font-size:7px;max-width:100px}.phone{border-width:4px;border-radius:24px;padding:25px 10px 10px}.phone-camera{top:8px;height:6px}.app-top b{font-size:11px}.app-heading{font-size:11px;margin-top:11px}.app-dial{margin-top:7px}.app-percent{font-size:25px}.app-week{padding-top:9px}.app-bars{height:34px;margin-top:6px}.app-bottom{margin-top:10px;padding-top:6px}.app-tag{font-size:7px;margin-top:12px}.detail .fine-print{max-width:300px}}
 .stage{overflow:clip}
.phone{aspect-ratio:.50}.app-dial,.app-heading,.app-top,.app-week,.app-volume,.app-bottom{flex-shrink:0}.app-dial{width:80%}.part-label>span{font-size:11px}.part-label small{font-size:9px}
@media(min-width:701px) and (max-width:950px){.feature .feature-caption,.ritual .feature-caption{max-width:220px}}
@media(max-width:700px){.part-label>span{font-size:10px}.part-label small{font-size:8px}}
@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%)}}
