@font-face{font-family:Geist;src:url('/assets/fonts/Geist-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#fff;--ink:#0e1111;--muted:#4b6a6d;--line:#cde3e5;--yellow:#aff1f2;--soft:#f4f8fa;--accent:#1c7682;--action:#1c7682;--action-ink:#fff;--elevated:#e6eef0;--deep:#0e2a2d;color-scheme:light;font-family:Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
:root[data-theme=dark]{--paper:#0e1111;--ink:#fff;--muted:#89afb5;--line:#37494a;--soft:#191f1f;--accent:#5fbcc7;--action:#aff1f2;--action-ink:#0e1111;--elevated:#242e2f;color-scheme:dark}
body{background:var(--paper);color:var(--ink)}h1,h2{font-family:Geist,system-ui,sans-serif;font-weight:650;letter-spacing:-.055em;line-height:1.04}h1{font-size:clamp(48px,5vw,76px)}h2{font-size:clamp(38px,4vw,58px)}p{text-wrap:pretty}.wrap{max-width:1240px}.header{border:0;min-height:90px;height:auto;padding-block:18px;gap:20px}.header .brand img{width:180px;height:auto}.header nav{gap:26px}.header-cta,.button{background:var(--action);color:var(--action-ink);border:0;border-radius:999px;min-height:48px;padding:14px 22px;font-weight:600}.button span,.button .icon{color:inherit}.button:hover,.header-cta:hover{opacity:.88}.button:active,.header-cta:active{transform:scale(.96)}.button,.header-cta{transition:transform .16s,opacity .16s}.theme-picker select,.language-picker select{min-height:44px;background:transparent;color:var(--ink);border:0;font:inherit;font-size:12px;max-width:85px}.theme-picker select:focus-visible{outline:2px solid var(--accent)}
.hero{grid-template-columns:1.1fr 1fr;gap:70px;padding-top:48px;padding-bottom:80px;min-height:690px}.hero-copy{grid-column:1;grid-row:1}.hero-demo{grid-column:2;grid-row:1}.hero-copy>p{font-size:18px;color:var(--muted);line-height:1.7}.underlined{color:var(--accent)}.underlined:after{display:none}.hero-copy>.availability{color:var(--muted)}.demo-window{background:var(--soft);border:1px solid var(--line);border-radius:24px;transform:rotate(1.5deg);box-shadow:0 24px 70px #0e2a2d12}.demo-window-top,.demo-bottom{border-color:var(--line);color:var(--muted)}.demo-content{color:var(--ink)}.demo-content h3{font-weight:600}.demo-tabs{background:var(--elevated);padding:5px;border-radius:99px}.demo-tabs button{color:var(--muted);border-radius:99px}.demo-tabs button[aria-selected=true]{background:var(--paper);color:var(--ink)}mark{background:var(--yellow);color:#0e1111;border-radius:4px;padding:1px 4px}.demo-wave i{background:var(--accent)}.demo-source,.demo-top,.demo-bottom{color:var(--muted)}.check-icon{color:var(--accent)}.contexts{color:var(--muted);border-color:var(--line)}.step{color:var(--ink);border-color:var(--line)}.step.active,.process-proof{background:var(--soft)}.step small,.step span,.process-proof p,.process-proof small{color:var(--muted)}.step.active .step-num{background:var(--action);color:var(--action-ink)}.process-proof{border-radius:24px;border:1px solid var(--line)}.memory-section{background:var(--deep);color:#fff;border-radius:32px;margin:0 24px}.memory-section p,.memory-section cite{color:#aac7cc}.memory-section mark,.source-row>span:last-child{color:#aff1f2}.memory-section mark{background:transparent}.iphone-copy>p,.native-features span,.footnote{color:var(--muted)}.island-scene{background:var(--soft);border-radius:28px}.island-caption,.scene-note{color:var(--muted)}.lock-card{background:var(--elevated);color:var(--ink)}.island-wave i{background:#aff1f2}.control-items p,.faq details p,.legal p,.legal li{color:var(--muted)}.control-items strong{color:var(--ink)}.beta-section{background:var(--soft)}.beta-layout h2{font-size:clamp(42px,5vw,66px)}.beta-layout p,.beta-layout .form-help{color:var(--muted)}.email-row input{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:14px;min-height:54px}.email-row input::placeholder{color:var(--muted)}input{caret-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--accent)}.footer img{width:180px;height:auto}.footer{border-top:1px solid var(--line)}.legal h1{font-size:52px}.legal h2{font-size:30px}
@media(max-width:1000px){.header nav{display:none}.header{gap:12px}.hero{gap:40px}.header .brand img{width:164px}.header-cta{margin-left:auto}.theme-picker select{max-width:72px}}
@media(max-width:700px){.header{padding:14px 20px;min-height:76px;flex-wrap:wrap}.header .brand img{width:148px}.header-cta{font-size:11px;padding:10px 14px;min-height:42px}.theme-picker{margin-left:auto}.theme-picker select,.language-picker select{font-size:12px}.hero{display:flex;flex-direction:column;gap:40px;padding:28px 24px 48px;min-height:0}.hero h1{font-size:46px;line-height:1.04}.hero-copy>p{font-size:16px;margin-top:20px}.hero-actions{margin-top:24px;gap:20px}.hero-actions .button{min-height:48px;padding:14px 20px}.hero-copy>.availability{font-size:11px;line-height:1.6}.demo-content{height:228px;padding:22px}.demo-content h3{font-size:21px}.demo-content p{font-size:14px}.demo-content ul{font-size:13px}.demo-window-top,.demo-bottom{padding:14px 20px}.hero-demo{max-width:440px}.memory-section{margin:0 10px;border-radius:24px}.memory-layout h2{font-size:40px}.iphone-copy h2,.control-section h2,.faq h2{font-size:40px}.footer{gap:20px}.beta-layout h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.demo-window{transform:none}.button,.header-cta{transition:none}}

/* In-person meetings: keep the audience clear before the promise and example. */
.hero-copy>.hero-audience{font-size:12px;font-weight:600;letter-spacing:.03em;line-height:1.5;margin:0 0 18px;color:var(--accent)}
.hero-actions{flex-wrap:wrap}
.contexts{flex-wrap:wrap}
.contexts>div{flex-wrap:wrap}
.demo-content{height:auto;min-height:285px}
.header-cta{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:700px){.hero-copy{order:0}.hero-demo{order:1}.hero-copy>.hero-audience{font-size:11px;margin:0 0 16px}.demo-content{height:auto;min-height:260px}.demo-tabs button{min-height:44px}.header-cta{min-height:44px}.process-layout,.memory-layout,.iphone-section,.faq,.beta-layout{grid-template-columns:minmax(0,1fr)}.step>span:nth-child(2),.lock-card>div{min-width:0}.step>span:last-child,.lock-time{flex-shrink:0}.proof-footer{gap:12px;flex-wrap:wrap}}
