@font-face{font-family:Inter;src:url('../assets/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--ink:var(--brand-dark-text);--muted:var(--brand-dark-muted);--paper:var(--brand-dark-paper);--line:#484d49;--header-height:clamp(64px,10dvh,80px);--hero-padding:clamp(16px,3dvh,24px)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button,summary{cursor:pointer}button:disabled{cursor:not-allowed}
a{color:inherit;text-underline-offset:4px}a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid var(--brand-orange);outline-offset:5px}
main:focus{outline:none}[hidden]{display:none!important}figure{margin:0}svg{flex-shrink:0}
p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 16px}p:last-child{margin-bottom:0}
h1{font-weight:550;letter-spacing:-.045em;margin:0;font-size:clamp(40px,4.2vw,64px);line-height:1.08}
.wrap{width:min(1880px,calc(100% - clamp(40px,5vw,96px)));margin-inline:auto}
.sr-only,.skip-link{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;left:24px;top:16px;z-index:10;clip-path:none;width:auto;height:auto;padding:12px 18px;border-radius:var(--brand-radius);background:var(--brand-orange);color:var(--brand-ink)}
.site-header{min-height:var(--header-height);display:flex;align-items:center}
.brand{display:inline-flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none;font-size:24px;font-weight:650;letter-spacing:-.05em;white-space:nowrap;min-height:44px}.brand:hover{text-decoration:none}
.brand .sb-brand-mark{color:var(--brand-orange);width:34px;height:34px}
.hero{min-height:calc(100dvh - var(--header-height));display:grid;grid-template-columns:clamp(300px,25vw,400px) minmax(0,1fr);align-items:center;gap:clamp(24px,3vw,48px);padding-block:var(--hero-padding)}
.hero-copy{min-width:0}.hero h1{font-size:clamp(36px,3.4vw,52px);margin-bottom:22px}.lead{font-size:clamp(16px,1.2vw,18px);line-height:1.65;max-width:480px}
.waitlist-form{margin-top:24px;scroll-margin-top:24px}.waitlist-form fieldset{border:0;padding:0;margin:0;min-width:0}
.waitlist-fields{display:flex;gap:10px}.waitlist-fields input{min-width:0;flex:1;width:100%;height:52px;padding:12px 14px;border:1px solid #69716a;border-radius:var(--brand-radius);background:var(--brand-dark-raised);color:var(--ink)}
.waitlist-fields input::placeholder{color:var(--muted)}
.button-link,.account-submit{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 20px;border:0;border-radius:var(--brand-radius);background:var(--brand-orange);color:var(--brand-ink);text-decoration:none;font-size:14px;font-weight:550;white-space:nowrap;flex-shrink:0}
.button-link:hover,.account-submit:hover{background:var(--brand-orange-hover);text-decoration:none}.button-link:disabled{opacity:.7}
.waitlist-form p{font-size:12px;line-height:1.7;margin:10px 0 0}.waitlist-form [role=status]{color:var(--ink)}.waitlist-form [role=status]:empty{margin:0}
.waitlist-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.waitlist-privacy{font-size:12px;color:var(--muted);margin-top:2px}.waitlist-privacy summary{padding-block:6px;width:fit-content}.waitlist-privacy summary:hover{color:var(--ink)}.waitlist-privacy p{margin-top:2px}.waitlist-privacy a{overflow-wrap:anywhere}
.demo{min-width:0;width:100%;max-width:calc((100dvh - var(--header-height) - var(--hero-padding)*2)*2);justify-self:center;scroll-margin-top:24px}.film{overflow:hidden;aspect-ratio:2/1;background:var(--paper)}
.film video{display:block;width:100%;height:100%;object-fit:contain;background:var(--paper)}
.video-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;color:#ffab78;font-size:14px}
.retry-demo{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #69716a;border-radius:var(--brand-radius);padding:8px 12px;background:var(--brand-dark-raised);color:var(--ink);font-size:14px;flex-shrink:0}.retry-demo:hover{background:var(--brand-dark-surface)}
/* Account screens remain available to private development, outside marketing. */
.account-shell{min-height:calc(100svh - var(--header-height));display:grid;place-items:center;padding-block:48px 80px}.account-card{width:min(100%,440px)}.account-card h1{font-size:40px}
.account-notice{font-size:14px;border:1px solid var(--line);background:var(--brand-dark-surface);padding:16px;margin-block:28px;border-radius:var(--brand-radius)}
.account-form fieldset{margin:0;padding:0;border:0;min-width:0}.account-form label{display:block;font-size:14px;font-weight:550;margin:22px 0 10px}
.account-form input{display:block;width:100%;height:50px;border:1px solid #69716a;border-radius:var(--brand-radius);background:var(--brand-dark-raised);color:var(--ink);padding:12px 14px}.account-form input:disabled{opacity:1;cursor:not-allowed;-webkit-text-fill-color:var(--muted)}.account-form input::placeholder{color:var(--muted);opacity:1}
.account-submit{width:100%;margin-top:28px}.account-switch{font-size:14px;text-align:center;margin-top:24px}.account-switch a{color:var(--ink);font-weight:550}
@media(max-width:1150px){.waitlist-fields{flex-wrap:wrap}.waitlist-fields input{flex-basis:180px}}
@media(max-width:900px){.hero{min-height:0;grid-template-columns:1fr;max-width:720px;gap:28px;padding-block:24px 32px}.hero h1{font-size:48px}.lead{font-size:17px;max-width:580px}.waitlist-form{max-width:540px}.demo{max-width:none}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.brand{font-size:23px}.hero{padding-block:20px 28px;gap:28px}.hero h1{font-size:clamp(36px,9vw,44px);margin-bottom:20px}.lead{font-size:17px}.waitlist-form{margin-top:22px}.waitlist-fields{flex-direction:column}.waitlist-fields input{flex-basis:auto}.waitlist-fields button{width:100%}.account-shell{padding-block:36px 56px}.account-card h1{font-size:34px}.account-notice{margin-block:24px}}
@media(max-width:360px){.wrap{width:calc(100% - 36px)}.brand{font-size:21px;gap:8px}.brand .sb-brand-mark{width:30px;height:30px}.hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
