:root{color-scheme:light;--ink:#3f3b37;--paper:#efebe3;--accent:#c85a2e;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{color:inherit}a{text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:0}button,input{border-radius:0}::selection{background:#c85a2e33}
#journey{height:240svh;position:relative}.stage{height:100svh;min-height:520px;position:sticky;top:0;overflow:hidden;isolation:isolate}.scene{position:absolute;inset:0;z-index:-1;background:#eae4da}.poster,#film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;}#film{opacity:0}.film-ready #film{opacity:1}.masthead{position:absolute;left:3.3%;right:3.3%;top:30px;display:flex;align-items:center;justify-content:space-between;z-index:2}.logo{width:110px;height:36px;display:block;overflow:hidden}.logo img{width:110px;height:auto;display:block}.early-access{font-size:11px;letter-spacing:.02em;padding:10px 0}.early-access span{margin-left:12px;font-size:16px}.invitation{position:absolute;bottom:68px;left:50%;transform:translateX(-50%);text-align:center;display:flex;align-items:center;flex-direction:column;gap:15px;opacity:var(--hint,1);pointer-events:none}.invitation span:first-child{font-size:16px;letter-spacing:-.025em}.invitation span:last-child{font-size:9px;letter-spacing:.16em;text-transform:uppercase}.scroll-line{height:28px;width:1px;background:var(--ink);transform-origin:top;animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{50%{transform:scaleY(.65);opacity:.4}}
.signup{position:absolute;top:13%;left:50%;width:min(430px,calc(100% - 44px));text-align:center;opacity:0;visibility:hidden;transform:translate(-50%,16px);transition:opacity .3s,transform .4s,visibility .3s}.at-end .signup,.static-scene .signup{opacity:1;visibility:visible;transform:translate(-50%,0)}h1{font-weight:400;font-size:clamp(29px,3.05vw,48px);letter-spacing:-.065em;line-height:1.08;margin:0 0 24px;white-space:nowrap}.email-row{border-bottom:1px solid #3f3b3766;display:flex;height:46px;text-align:left;transition:border-color .2s}.email-row:focus-within{border-color:var(--accent)}.email-row input{min-width:0;flex:1;border:0;background:transparent;color:var(--ink);font-size:14px;outline:0;padding:0 6px 0 0}.email-row input::placeholder{color:#615b55;opacity:1}.email-row button{display:flex;align-items:center;gap:20px;background:transparent;padding:0 2px 0 18px;font-size:12px}.email-row button:hover{color:var(--accent)}.email-row button span:last-child{font-size:23px}.consent{margin-top:13px;display:flex;align-items:flex-start;gap:8px;text-align:left;font-size:10px;line-height:1.5;color:#5c5650}.consent input{width:12px;height:12px;margin:2px 0 0;flex:none;accent-color:var(--ink)}.consent .text-button{text-decoration:underline;text-underline-offset:2px}.text-button{padding:0;background:transparent;font-size:inherit;color:inherit}.form-status{font-size:11px;line-height:1.5;margin:10px 0 0}.form-status:empty{display:none}.form-status[data-error="true"]{color:#8e341a}.trap,.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.scene-footer{position:absolute;bottom:25px;left:3.3%;right:3.3%;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#5c5650}.signature{letter-spacing:.03em}.scene-footer>div{display:flex;gap:24px}.scene-footer button:hover{text-decoration:underline}.progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background:#3f3b3710}.progress span{height:100%;width:100%;display:block;background:var(--accent);transform:scaleX(var(--progress,0));transform-origin:left}.skip{position:fixed;left:20px;top:14px;transform:translateY(-180%);z-index:10;padding:12px 20px;background:var(--paper);font-size:13px}.skip:focus{transform:none}
dialog{color:var(--ink);background:#f6f2eb;border:1px solid #3f3b3722;padding:40px;width:min(520px,calc(100% - 32px));max-height:80svh}dialog::backdrop{background:#3f3b3740;backdrop-filter:blur(5px)}dialog h2{font-weight:400;letter-spacing:-.04em;font-size:30px;margin:0 0 24px}dialog p{font-size:14px;line-height:1.65}dialog .close{position:absolute;right:14px;top:10px;background:none;font-size:26px;padding:4px 8px}
.static-scene #journey{height:100svh}.static-scene .invitation,.static-scene .early-access{display:none}.at-end .early-access{opacity:0;pointer-events:none}
/* Confirmation pages share the same restrained visual language. */
body:not(.cinematic){padding:32px max(24px,6vw)}.band{height:75px}.hero{min-height:65svh;display:grid;align-items:center}.intro{max-width:680px}.intro h1{white-space:normal;font-size:clamp(36px,6vw,76px)}.lead{font-size:18px;line-height:1.6;max-width:550px}.primary{background:var(--ink);color:var(--paper);padding:15px 25px}.intro a{text-decoration:underline}
@media(max-width:700px){#journey{height:220svh}.stage{min-height:560px}.masthead{top:max(24px,env(safe-area-inset-top));left:22px;right:22px}.logo{width:98px;height:32px}.logo img{width:98px}.early-access{font-size:10px}.signup{top:14%;width:calc(100% - 52px);max-width:400px}h1{font-size:36px;margin-bottom:18px}.email-row input{font-size:16px}.consent{font-size:10px}.scene-footer{left:22px;right:22px;bottom:max(22px,env(safe-area-inset-bottom))}.scene-footer>div{gap:16px}.invitation{bottom:80px}.poster,#film{object-position:50% 52%}}
@media(max-height:600px) and (min-width:701px){.signup{top:20%;left:19%;width:29%;max-width:390px}h1{font-size:32px}.stage{min-height:440px}.signup{background:linear-gradient(90deg,#f1eae0aa,transparent);padding:15px 0}.masthead{top:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media(min-width:701px) and (min-aspect-ratio:2/1){.signup{top:31%;left:19%;width:28%;max-width:390px;background:none;padding:0}h1{font-size:clamp(29px,2.75vw,44px)}.email-row input{font-size:13px}.invitation{left:20%;bottom:19%}}
/* Keep the complete glass-and-can composition visible in a portrait viewport. */
@media(max-width:700px) and (orientation:portrait){
  .cinematic{background:#efe8df}.scene{top:34svh;bottom:12svh;background:transparent;mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 92%,transparent 100%)}
  .signup{top:15%}.invitation{bottom:13%;left:50%}.invitation span:first-child{display:none}.invitation .scroll-line{height:22px}.scene-footer{bottom:22px}
}
@media(min-width:701px) and (min-aspect-ratio:2/1){.signup{left:16%;width:22%;max-width:360px}}
@media(min-width:701px) and (max-aspect-ratio:199/100){.signup{top:8%;width:min(430px,calc(100% - 48px))}h1{font-size:clamp(31px,3vw,42px);margin-bottom:17px}}
/* The taller Slim prototype needs clear space beside its shoulder. */
@media(min-width:701px) and (max-aspect-ratio:199/100){.signup{left:38%;width:min(360px,32vw);top:8%}}
@media(orientation:portrait) and (min-width:701px) and (max-width:1100px){.cinematic{background:#efe8df}.scene{top:34svh;bottom:12svh;background:transparent;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent)}.signup{left:50%;top:15%;width:min(430px,calc(100% - 60px))}}
