:root{--bg:#f6f6f8;--ink:#1d1d1f;--muted:#727277}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6c8fb5;outline-offset:5px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:30;top:12px;left:12px;padding:12px 18px;background:var(--ink);color:white;transform:translateY(-160%)}.skip:focus{transform:none}header{position:fixed;z-index:10;top:0;left:0;right:0;height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(var(--bg) 30%,#f6f6f800)}.brand{display:flex;align-items:center;gap:9px}.brand img{filter:invert(1);object-fit:contain}.brand span{font-size:22px;font-weight:650;letter-spacing:-.9px}header nav{display:flex;align-items:center;gap:18px}.header-notify{font-size:14px;border-radius:22px;padding:10px 17px;background:var(--ink);color:#fff}#test-clock{border:0;background:none;color:var(--muted);font-size:25px;padding:5px;line-height:1;width:34px;height:34px}
.experience{height:350svh;position:relative}.scene{position:sticky;top:0;height:100svh;min-height:540px;overflow:hidden;isolation:isolate}.scene h1{position:absolute;z-index:1;top:84px;left:0;right:0;text-align:center;font-size:clamp(40px,4.5vw,64px);font-weight:600;letter-spacing:-.055em;line-height:1.05;margin:0;pointer-events:none;transition:opacity .2s}.street-background{position:absolute;z-index:-2;left:0;right:0;bottom:8%;height:58%;opacity:.045;mask-image:linear-gradient(transparent,black 47%,transparent);-webkit-mask-image:linear-gradient(transparent,black 47%,transparent)}.street-background img{width:100%;height:100%;object-fit:cover;object-position:center 56%;filter:grayscale(1) contrast(.85)}.floor{position:absolute;bottom:19%;left:50%;width:25%;height:20px;border-radius:50%;background:#1d1d1f2a;filter:blur(22px);transform:translateX(-50%);z-index:-1}.product-stage{position:absolute;top:144px;bottom:147px;left:50%;width:min(90%,1000px);transform:translateX(-50%);z-index:2}.product-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .6s;cursor:grab;touch-action:pan-y}.product-stage canvas:active{cursor:grabbing}.product-stage.ready canvas{opacity:1}.fallback{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.fallback img{height:100%;width:100%;object-fit:contain}.ready .fallback{opacity:0}.stage-controls{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:99px;display:flex;align-items:center;gap:9px}.view-switch{display:flex;background:#ffffff9c;border:1px solid #dddddf;border-radius:30px;padding:3px;backdrop-filter:blur(12px)}.view-switch button{border:0;border-radius:24px;background:none;color:var(--muted);padding:8px 18px;font-size:14px;min-height:36px}.view-switch button.active{background:var(--ink);color:white}.motion-toggle{width:40px;height:40px;border:1px solid #dddddf;border-radius:50%;background:#ffffff9c;color:var(--ink);font-size:16px}.clock{position:absolute;bottom:29px;left:50%;transform:translateX(-50%);text-align:center;z-index:5;min-width:220px}.clock>span{font-size:12px;color:var(--muted)}.countdown{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:8px;font-variant-numeric:tabular-nums}.countdown div{display:flex;align-items:baseline;gap:4px}.countdown strong{font-size:22px;font-weight:450;letter-spacing:-.5px;line-height:1}.countdown div span{font-size:12px;color:var(--muted)}.countdown b{font-size:14px;font-weight:400;color:#a2a2a8}.scroll-cue{position:absolute;z-index:1;right:4vw;bottom:130px;width:19px;height:30px;border:1px solid #a2a2a8;border-radius:12px;opacity:.65}.scroll-cue span{display:block;width:2px;height:7px;background:#6e6e73;border-radius:2px;margin:6px auto;animation:scroll 2s ease-in-out infinite}@keyframes scroll{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(7px);opacity:1}}
.signup-section{min-height:100svh;display:grid;place-items:center;padding:110px 24px 85px;position:relative;scroll-margin-top:0;background:var(--bg)}.signup-content{width:min(100%,590px)}.signup-content h2{font-size:clamp(35px,4.1vw,56px);font-weight:550;letter-spacing:-.055em;line-height:1.05;margin:0 0 40px;text-align:center}.email-row{display:flex;align-items:center;gap:12px}.email-row input{min-width:0;flex:1;height:57px;border:1px solid #d7d7dc;border-radius:15px;padding:16px 18px;background:#ffffffa3;font-size:16px;color:var(--ink)}.notify{border:0;border-radius:28px;background:var(--ink);color:#fff;padding:17px 27px;min-height:54px;font-size:16px;font-weight:500;white-space:nowrap;transition:background .2s}.notify:hover{background:#39393d}.notify:disabled{cursor:wait;opacity:.65}.consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:var(--muted);margin:18px 4px 0}.consent input{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0;margin:1px 0 0}.honeypot{position:absolute;width:1px;height:1px;left:-10000px}.form-message{min-height:20px;color:var(--ink);font-size:14px;margin:15px 4px 0}.test-warning{font-size:12px;color:var(--muted);margin:12px 4px 0}.test-actions{display:grid;gap:12px;margin-top:23px}.reset-clock{border:0;background:none;color:var(--muted);font-size:14px;padding:8px}footer{height:70px;display:flex;gap:20px;justify-content:center;align-items:center;color:var(--muted);font-size:12px}footer button{border:0;background:none;color:inherit;font:inherit;padding:0}footer a:hover,footer button:hover{text-decoration:underline}
dialog{width:min(440px,calc(100% - 32px));max-height:90svh;padding:38px 32px 24px;border:1px solid #d8d8dc;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 35px 100px #0002;overflow:auto}dialog::backdrop{background:#17171a65;backdrop-filter:blur(8px)}.close{position:absolute;top:12px;right:13px;border:0;border-radius:50%;background:#f0f0f2;font-size:22px;width:32px;height:32px;color:var(--muted)}dialog h2{font-size:28px;font-weight:600;letter-spacing:-1px;line-height:1.15;margin:13px 0 24px}dialog p{font-size:14px;line-height:1.5;color:var(--muted)}dialog label{display:block;font-size:14px;margin:20px 0 8px}dialog input[type=datetime-local]{width:100%;height:51px;border:1px solid #ceced3;border-radius:11px;padding:12px;background:#fafafa;font-size:16px;color:var(--ink)}dialog .notify{width:100%}
@media(max-width:700px){header{height:65px;padding:0 18px}.brand span{font-size:20px}header nav{gap:9px}.header-notify{font-size:12px;padding:10px 13px}#test-clock{font-size:23px;width:30px}.experience{height:310svh}.scene{min-height:520px}.scene h1{top:91px;font-size:40px}.product-stage{top:147px;bottom:150px;width:114%}.stage-controls{bottom:97px}.street-background{height:57%;bottom:16%}.floor{bottom:24%;width:47%}.scroll-cue{right:21px;bottom:136px;width:17px;height:26px}.clock{bottom:29px}.countdown strong{font-size:20px}.signup-section{min-height:100svh;padding:95px 25px 75px}.signup-content h2{font-size:36px;margin-bottom:32px}.email-row{display:grid;gap:12px}.email-row input{width:100%}.notify{width:100%}.consent{font-size:13px}.form-message{font-size:14px}.test-warning{font-size:12px}}
@media(max-height:650px){.scene h1{top:75px;font-size:35px}.product-stage{top:120px;bottom:144px}.scene{min-height:490px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.experience{height:100svh}.scroll-cue{display:none}}

/* One pinned product, three synchronized scenes. */
.experience{height:540svh}.chapter-titles{position:absolute;z-index:4;top:92px;left:20px;right:20px;pointer-events:none;text-align:center}.scene .chapter-titles h1,.chapter-titles p{position:absolute;inset:0;margin:0;font-size:clamp(42px,5vw,72px);font-weight:600;letter-spacing:-.055em;line-height:1.06;transition:none}.chapter-titles p{opacity:0}.chapter-titles .chapter-back{font-size:clamp(22px,2.6vw,38px);letter-spacing:-.04em;padding-top:12px}.product-stage{top:155px;bottom:118px;width:min(95%,1150px)}.stage-controls{bottom:65px}.clock{bottom:15px;opacity:0}.clock .countdown{margin-top:5px}.clock .countdown strong{font-size:17px}.clock .countdown div span,.clock>span{font-size:12px}.street-background{opacity:.022}.story-progress{position:absolute;bottom:31px;left:4vw;width:90px;height:2px;background:#1d1d1f16;overflow:hidden}.story-progress i{display:block;height:100%;width:100%;background:#1d1d1f80;transform:scaleX(var(--progress,0));transform-origin:left}.scroll-cue{bottom:31px}.floor{bottom:16%}
@media(max-width:700px){.experience{height:500svh}.chapter-titles{top:99px}.scene .chapter-titles h1,.chapter-titles .chapter-logo{font-size:42px}.chapter-titles .chapter-back{font-size:22px;max-width:300px;margin:auto;padding-top:8px;line-height:1.15}.product-stage{top:164px;bottom:125px;width:114%}.stage-controls{bottom:68px}.clock{bottom:18px}.story-progress{left:22px;width:54px;bottom:30px}.scroll-cue{bottom:25px}.floor{bottom:20%}}
@media(max-height:650px){.chapter-titles{top:78px}.scene .chapter-titles h1,.chapter-titles .chapter-logo{font-size:34px}.chapter-titles .chapter-back{font-size:20px;padding-top:4px}.product-stage{top:126px;bottom:125px}}
@media(prefers-reduced-motion:reduce){.experience{height:100svh}.story-progress{display:none}.clock{opacity:1}}

/* Signup is the last frame of the same sticky experience. */
.scene .signup-section{position:absolute;z-index:6;inset:0;min-height:0;padding:92px 25px 60px;display:grid;place-items:center;opacity:0;pointer-events:none;scroll-margin-top:0;background:transparent;will-change:opacity,transform}.scene .signup-section.available{pointer-events:auto}.scene .signup-content{width:min(100%,590px)}.scene .signup-content h2{margin:0 0 32px}.scene .signup-section .clock{position:relative;bottom:auto;left:auto;transform:none;opacity:1;text-align:center;margin:0 auto 32px;visibility:visible}.scene .signup-section .countdown strong{font-size:24px}.scene .signup-section .countdown{margin-top:10px}.product-stage,.stage-controls,.chapter-titles,.floor{will-change:opacity}.scene .signup-section .clock>span{font-size:14px}@media(max-height:650px){.scene .signup-section{padding:82px 24px 30px}.scene .signup-content h2{font-size:32px;margin-bottom:24px}.scene .signup-section .clock{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){.experience{height:200svh}.scene .signup-section{will-change:auto}}

/* An explicit play action restores the complete scroll sequence. */
html[data-motion=full] .experience{height:540svh}html[data-motion=reduced] .experience{height:200svh}html[data-motion=reduced] .scroll-cue{display:none}@media(max-width:700px){html[data-motion=full] .experience{height:500svh}}

/* Graphite stage: lighter behind the black garment, quiet at the edges. */
:root{--bg:#24262a;--ink:#f2f0eb;--muted:#b7bac1;color-scheme:dark}.scene{background:radial-gradient(ellipse at 50% 52%,#484c52 0%,#373a40 35%,#24262a 74%)}header{background:linear-gradient(#24262a 28%,#24262a00)}.brand img{filter:none}.skip{background:var(--ink);color:var(--bg)}.floor{background:#0009}.view-switch,.motion-toggle{background:#17191cc9;border-color:#5d626b}.view-switch button.active{background:#e8e6e0;color:#1b1d20}.motion-toggle{color:var(--ink)}.notify{background:#e8e6e0;color:#1b1d20}.notify:hover{background:#fff}.email-row input{background:#191b20b8;border-color:#727782;color:var(--ink)}.email-row input::placeholder{color:#bfc2c9;opacity:1}.consent input{accent-color:#e8e6e0}.story-progress{background:#ffffff26}.story-progress i{background:#e8e6e0b3}.scroll-cue{border-color:#a9aeb8}.scroll-cue span{background:#c4c8d0}.countdown b{color:#adb2bc}dialog{background:#292c31;border-color:#626975;box-shadow:0 35px 100px #0006}dialog::backdrop{background:#080a0dc4}.close{background:#3c4047;color:#efede7}dialog input[type=datetime-local]{background:#1c1f24;border-color:#69717d;color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#b7c8e3}
