:root {
  --bg: #0d0f0e;
  --surface: #141715;
  --surface-2: #1a1e1b;
  --text: #f3f4ef;
  --soft: #c9cec8;
  --muted: #969e97;
  --accent: #d9f99d;
  --accent-strong: #c7ec84;
  --accent-ink: #18200f;
  --line: #2a302c;
  --danger: #ffaca5;
  --focus: #ffdf6d;
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 100%;
}
:root[data-contrast="high"] { --bg:#000; --surface:#090909; --surface-2:#111; --text:#fff; --soft:#fff; --muted:#e8e8e8; --accent:#e4ff82; --accent-strong:#e4ff82; --line:#fff; --focus:#ffed00; }
:root[data-vision="large"] { font-size: 120%; }
:root[data-vision="xlarge"] { font-size: 140%; }
:root[data-spacing="roomy"] { line-height: 1.8; }
* { box-sizing: border-box; }
html { min-height:100%; scroll-behavior:smooth; background:var(--bg); }
body { min-height:100%; margin:0; background:var(--bg); color:var(--text); font-size:1rem; line-height:1.6; }
a { color:inherit; text-underline-offset:.22em; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.skip-link { position:fixed; z-index:100; left:1rem; top:1rem; transform:translateY(-180%); padding:.75rem 1rem; border-radius:.35rem; background:var(--focus); color:#000; font-weight:800; }
.skip-link:focus { transform:none; }

.landing-header,.simple-header { min-height:4.25rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; width:min(1080px,calc(100% - 2.5rem)); margin:auto; border-bottom:1px solid var(--line); }
.landing-header nav,.simple-header nav,.header-actions { display:flex; align-items:center; gap:1.4rem; }
.landing-header nav a,.simple-header nav a { color:var(--muted); font-size:.92rem; font-weight:650; text-decoration:none; }
.landing-header nav a:hover,.simple-header nav a:hover { color:var(--text); }
.landing-brand { min-height:2.75rem; display:inline-flex; align-items:center; color:var(--text); font-size:1.18rem; font-weight:820; letter-spacing:-.035em; text-decoration:none; }
.button,.secondary-button,.quiet-button,.danger-button,.price-choice { min-height:2.75rem; display:inline-flex; align-items:center; justify-content:center; border-radius:.45rem; padding:.65rem 1rem; cursor:pointer; font-weight:720; text-decoration:none; }
.button { border:1px solid var(--accent); background:var(--accent); color:var(--accent-ink); }
.button:hover { background:var(--accent-strong); border-color:var(--accent-strong); }
.button.large { min-height:3rem; padding-inline:1.15rem; }
.secondary-button,.quiet-button { border:1px solid var(--line); background:transparent; color:var(--text); }
.secondary-button:hover,.quiet-button:hover { border-color:var(--muted); background:var(--surface); }
.danger-button { border:1px solid var(--danger); background:transparent; color:var(--danger); }
.full { width:100%; }

.hero-section { width:min(1080px,calc(100% - 2.5rem)); margin:auto; padding:clamp(4.25rem,8vw,6.5rem) 0 3.5rem; }
.hero-copy-block { max-width:47rem; }
.product-label { margin:0 0 1rem; color:var(--muted); font-size:.82rem; font-weight:700; letter-spacing:.035em; }
.hero-copy-block h1,.section h2,.account-heading h1,.auth-intro h1,.shared-main h1 { margin:0; max-width:16ch; font-size:clamp(2.8rem,6.3vw,5.2rem); font-weight:640; line-height:1.02; letter-spacing:-.055em; }
.hero-copy-block h1 { max-width:16ch; font-size:clamp(2.8rem,5.4vw,4rem); }
.hero-lede { max-width:42rem; margin:1.4rem 0 0; color:var(--soft); font-size:clamp(1.05rem,1.7vw,1.22rem); line-height:1.6; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.85rem 1rem; margin-top:2rem; }
.text-link { min-height:2.75rem; display:inline-flex; align-items:center; color:var(--soft); font-weight:700; }
.invite-note { max-width:36rem; margin:1.25rem 0 0; color:var(--muted); font-size:.9rem; }

.research-window { overflow:hidden; margin-top:clamp(3rem,6vw,4.5rem); border:1px solid var(--line); border-radius:.25rem; background:#0a0c0b; }
.window-bar { min-height:2.6rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; border-bottom:1px solid var(--line); padding:.55rem 1rem; color:var(--muted); font-size:.76rem; font-weight:700; }
.window-question { display:grid; grid-template-columns:1.75rem 1fr; gap:.9rem; padding:1.5rem clamp(1rem,3vw,2rem); border-bottom:1px solid var(--line); }
.window-question > span { width:1.55rem; height:1.55rem; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); font-size:.7rem; font-weight:800; }
.window-question p { max-width:42rem; margin:0; font-size:clamp(1.15rem,2vw,1.5rem); font-weight:640; line-height:1.4; letter-spacing:-.02em; }
.window-progress { display:flex; flex-wrap:wrap; gap:.55rem 1.5rem; padding:.75rem clamp(1rem,3vw,2rem); border-bottom:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.window-progress span::before { content:"✓"; margin-right:.45rem; color:var(--accent); font-weight:900; }
.window-answer { max-width:48rem; padding:clamp(1.5rem,3vw,2.25rem) clamp(1rem,3vw,2rem) 1.25rem; }
.window-answer p { margin:0 0 1rem; color:var(--soft); font-size:1.02rem; line-height:1.75; }
.window-answer a { display:inline-grid; width:1.35rem; height:1.35rem; place-items:center; margin-left:.2rem; border-radius:50%; background:var(--surface-2); color:var(--accent); font-size:.7rem; font-weight:800; text-decoration:none; }
.source-row { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.source-row p { display:grid; grid-template-columns:1.4rem 1fr; align-items:center; gap:.5rem; margin:0; padding:.8rem 1rem; border-right:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.source-row p:last-child { border-right:0; }
.source-row span { color:var(--accent); font-weight:800; }
.source-row strong { font-weight:600; }

.product-facts { width:min(1080px,calc(100% - 2.5rem)); margin:auto; display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.product-facts p { display:grid; gap:.2rem; margin:0; padding:1.25rem 1.35rem; border-right:1px solid var(--line); }
.product-facts p:first-child { padding-left:0; }
.product-facts p:last-child { border-right:0; }
.product-facts strong { font-size:.86rem; }
.product-facts span { color:var(--muted); font-size:.8rem; line-height:1.45; }

.section { width:min(1080px,calc(100% - 2.5rem)); margin:auto; padding:clamp(5rem,9vw,7rem) 0; border-bottom:1px solid var(--line); }
.section-heading { max-width:48rem; }
.section h2 { max-width:18ch; font-size:clamp(2.1rem,4.3vw,3.35rem); }
.section-heading > p:last-child { max-width:43rem; margin:1.25rem 0 0; color:var(--muted); font-size:1.05rem; }
.capability-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,8vw,7rem); }
.capability-list { border-top:1px solid var(--line); }
.capability-list article { display:grid; grid-template-columns:2.3rem minmax(9rem,.7fr) 1.3fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid var(--line); }
.capability-list article > span { color:var(--accent); font-size:.72rem; font-weight:800; }
.capability-list h3 { margin:0; color:var(--text); font-size:1rem; line-height:1.45; }
.capability-list p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.55; }

.closing-grid { display:grid; grid-template-columns:1fr 1fr; padding:0; }
.closing-panel { padding:clamp(4rem,7vw,6rem) clamp(2rem,5vw,4.5rem) clamp(4rem,7vw,6rem) 0; }
.closing-panel + .closing-panel { border-left:1px solid var(--line); padding-right:0; padding-left:clamp(2rem,5vw,4.5rem); }
.closing-panel > p:not(.product-label) { max-width:31rem; margin:1.25rem 0 0; color:var(--muted); }
.plain-checks { display:grid; align-content:start; gap:0; margin:1.75rem 0 0; padding:0; border-top:1px solid var(--line); list-style:none; }
.plain-checks li { position:relative; padding:.85rem 0 .85rem 1.55rem; border-bottom:1px solid var(--line); color:var(--soft); font-size:.9rem; }
.plain-checks li::before { content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:900; }
.price-list { align-self:start; margin-top:1.75rem; border-top:1px solid var(--line); }
.price-list p { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0; padding:1.25rem 0; border-bottom:1px solid var(--line); }
.price-list p > span { display:grid; }
.price-list small { color:var(--muted); font-weight:500; }
.price-list b { font-size:1.45rem; }
.pricing-panel > .button { margin-top:1.5rem; }
.landing-footer,.simple-footer { width:min(1080px,calc(100% - 2.5rem)); margin:auto; min-height:7rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; color:var(--muted); }

.auth-layout { width:min(1040px,calc(100% - 2.5rem)); min-height:calc(100vh - 4.5rem); display:grid; grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr); align-items:center; gap:clamp(4rem,10vw,8rem); margin:auto; padding:5rem 0; }
.auth-intro h1 { max-width:12ch; font-size:clamp(2.7rem,5vw,4.6rem); }
.auth-intro > p:not(.product-kicker):not(.auth-assurance) { max-width:34rem; margin:1.5rem 0 0; color:var(--soft); font-size:1.08rem; }
.access-steps { display:grid; gap:0; max-width:34rem; margin:2.5rem 0 0; padding:0; border-top:1px solid var(--line); list-style:none; }
.access-steps li { display:grid; grid-template-columns:2rem 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.access-steps li > span { width:1.55rem; height:1.55rem; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--accent); font-size:.75rem; font-weight:800; }
.access-steps p,.access-steps small { display:grid; margin:0; }
.access-steps small { margin-top:.15rem; color:var(--muted); }
.auth-assurance { max-width:34rem; margin:1.5rem 0 0; color:var(--muted); font-size:.88rem; }
.auth-card { width:100%; border:1px solid var(--line); border-radius:.6rem; padding:clamp(1.4rem,4vw,2.2rem); background:var(--surface); }
.auth-card-heading h2,.passkey-signin h2 { margin:0; font-size:1.55rem; letter-spacing:-.025em; }
.auth-card-heading > p:last-child,.passkey-signin p { margin:.4rem 0 0; color:var(--muted); font-size:.92rem; }
.stack-form { display:grid; gap:.65rem; margin-top:1.75rem; }
.stack-form label,.passkey-setup > label { color:var(--soft); font-size:.9rem; font-weight:720; }
.stack-form label span,.stack-form small { color:var(--muted); font-weight:500; }
.stack-form input,.stack-form select,.stack-form textarea,.passkey-setup > input { width:100%; min-height:3rem; border:1px solid var(--line); border-radius:.4rem; padding:.65rem .75rem; background:var(--bg); color:var(--text); font-size:1rem; }
.stack-form textarea { resize:vertical; line-height:1.6; }
.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.passkey-setup > input:focus { border-color:var(--focus); }
.stack-form input:-webkit-autofill,.passkey-setup > input:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px var(--bg) inset!important; -webkit-text-fill-color:var(--text)!important; caret-color:var(--text); }
.passkey-signin { display:grid; gap:1rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.form-status { min-height:1.5rem; margin:1.25rem 0 0; color:var(--accent); font-size:.92rem; font-weight:680; }
.form-status.error { color:var(--danger); }

.account-main,.shared-main { width:min(1000px,calc(100% - 2.5rem)); margin:auto; padding:5rem 0; }
.account-heading { padding-bottom:3rem; }
.account-heading h1,.shared-main h1 { max-width:16ch; font-size:clamp(2.5rem,5vw,4.5rem); }
.account-heading > p:last-child { color:var(--muted); }
.account-section { display:grid; grid-template-columns:.82fr 1.18fr; gap:3.5rem; padding:3rem 0; border-top:1px solid var(--line); }
.account-section h2 { margin:0 0 .65rem; font-size:1.45rem; letter-spacing:-.02em; }
.account-section p { color:var(--muted); }
.compact-form { margin:0; }
.check-control { min-height:2.75rem; display:flex!important; align-items:center; gap:.75rem; }
.check-control input { width:1.3rem!important; min-height:auto!important; height:1.3rem; }
.account-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start; }
.price-choice { min-height:5.5rem; display:grid; border:1px solid var(--line); background:var(--surface); color:var(--text); text-align:left; }
.price-choice strong { font-size:1.6rem; }
.price-choice span { color:var(--muted); }
.price-choice:disabled { cursor:not-allowed; opacity:.55; }
.featured-price { border-color:var(--accent); }
.management-list { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.management-list li { min-height:4.3rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid var(--line); border-radius:.45rem; padding:.8rem 1rem; background:var(--surface); }
.management-list li > span:first-child { display:grid; }
.management-list small { color:var(--muted); }
.management-list button { min-height:2.5rem; border:1px solid var(--line); border-radius:.35rem; background:transparent; color:var(--soft); cursor:pointer; }
.management-actions { display:flex!important; grid-auto-flow:column; gap:.5rem; }
.current-label { border:1px solid var(--line); border-radius:99px; padding:.2rem .65rem; color:var(--accent); font-size:.8rem; }
.account-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:1rem; }
.link-button { width:max-content; }
.passkey-setup { display:grid; gap:.8rem; }
.passkey-setup > p { margin:0; }
.compact-steps { display:grid; gap:.55rem; margin:.4rem 0 1rem; padding-left:1.3rem; color:var(--soft); font-size:.92rem; }
.help-details { margin-top:.5rem; border-top:1px solid var(--line); padding-top:1rem; color:var(--muted); font-size:.9rem; }
.help-details summary { color:var(--soft); cursor:pointer; font-weight:700; }
.help-details a { color:var(--text); }

.shared-page { background:var(--bg); }
.shared-meta { color:var(--muted); }
.shared-turn { padding:3rem 0; border-top:1px solid var(--line); }
.shared-turn h2 { font-size:clamp(1.6rem,4vw,2.4rem); line-height:1.25; }
.shared-answer { color:var(--soft); white-space:pre-wrap; font-size:1.05rem; line-height:1.8; }
.shared-evidence { margin:1.5rem 0; border:1px solid var(--line); border-radius:.45rem; padding:1rem; background:var(--surface); }
.shared-evidence h3,.shared-evidence p { margin:.2rem 0; }
.shared-evidence small { color:var(--muted); }
.shared-turn li { margin:.6rem 0; }

@media (max-width:860px) {
  .landing-header { flex-wrap:wrap; padding:1rem 0; }
  .landing-header nav { order:3; width:100%; overflow-x:auto; }
  .auth-layout,.account-section,.capability-section,.closing-grid { grid-template-columns:1fr; }
  .hero-section { padding:4rem 0 3.5rem; }
  .auth-layout { align-items:start; gap:3rem; padding:4rem 0; }
  .auth-card { order:-1; }
  .product-facts { grid-template-columns:1fr; }
  .product-facts p,.product-facts p:first-child { padding:1rem 0; border-right:0; border-bottom:1px solid var(--line); }
  .product-facts p:last-child { border-bottom:0; }
  .closing-panel { padding-right:0; }
  .closing-panel + .closing-panel { border-top:1px solid var(--line); border-left:0; padding-left:0; }
  .section { padding:4.5rem 0; }
  .landing-footer { align-items:flex-start; flex-direction:column; padding:2rem 0; }
}
@media (max-width:560px) {
  .landing-header { flex-wrap:nowrap; padding:.65rem 0; }
  .landing-header nav { display:none; }
  .header-actions { gap:.65rem; }
  .landing-header .quiet-button,.landing-header .secondary-button { padding-inline:.8rem; }
  .simple-header { padding:.75rem 0; }
  .simple-header nav { width:auto; }
  .simple-header nav a { display:none; }
  .hero-copy-block h1 { font-size:2.7rem; }
  .research-window { margin-inline:-.25rem; }
  .window-bar { grid-template-columns:1fr auto; }
  .source-row { grid-template-columns:1fr; }
  .source-row p { border-right:0; border-bottom:1px solid var(--line); }
  .source-row p:last-child { border-bottom:0; }
  .capability-list article { grid-template-columns:2rem 1fr; }
  .capability-list p { grid-column:2; }
  .account-price-grid { grid-template-columns:1fr; }
  .management-list li { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
@media (forced-colors:active) { .button,.research-window,.auth-card,.management-list li,.price-choice { border:2px solid CanvasText; } }
