/* ============================================================
   PARLO landing styles  (Calm pairing: Newsreader + Mulish + JetBrains Mono)
   Aesthetic: light editorial, near-white surfaces, ink + soft green. Flat solid fills.
   ============================================================ */
:root{
  --paper:      #f6f8f3;
  --paper-2:    #eaeee3;
  --card:       #ffffff;
  --ink:        #13181a;
  --ink-soft:   #586160;
  --line:       rgba(19,24,26,.12);
  --line-soft:  rgba(19,24,26,.07);
  --accent:     #6cc394;   /* soft muted green, fills */
  --accent-2:   #228a56;   /* deeper green for text / strokes */
  --accent-ink: #06301a;   /* dark text on the green fill */
  --ember:      #cc4a1f;
  --ink-invert: #ffffff;
  --maxw: 1180px;
  --pad: clamp(20px, 5vw, 64px);
  --radius: 18px;
  --radius-sm: 12px;
  --serif: "Newsreader", Georgia, serif;
  --sans:  "Mulish", -apple-system, BlinkMacSystemFont, sans-serif;
  --mono:  "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
  --ease: cubic-bezier(.2,.7,.2,1);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition:none !important; }
  .hero-copy > *,.hero-demo{ opacity:1 !important; transform:none !important; }
}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:clamp(16px,1.05vw,18px); line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
em{ font-style:italic; }
::selection{ background:var(--accent); color:var(--accent-ink); }
main{ position:relative; z-index:2; }
section{ padding-inline:var(--pad); }
.kicker{ font-family:var(--mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent-2); margin:0 0 18px; }
.kicker--invert{ color:var(--accent-2); }
.section-head{ max-width:var(--maxw); margin:0 auto; padding-top:clamp(72px,11vw,140px); }
.section-title{ font-family:var(--serif); font-weight:600; font-size:clamp(2.1rem,5.2vw,4rem); line-height:1.02; letter-spacing:-.02em; margin:0; font-optical-sizing:auto; }
.section-title em{ color:var(--accent-2); font-weight:500; }
.section-title--invert{ color:var(--ink); }
.section-title--invert em{ color:var(--accent-2); }
.btn{
  --bg:var(--ink); --fg:var(--paper);
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--sans); font-weight:600; font-size:.98rem;
  padding:.85em 1.45em; border-radius:999px; border:1.5px solid transparent;
  background:var(--bg); color:var(--fg); cursor:pointer;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .2s, color .2s, border-color .2s;
  white-space:nowrap; line-height:1;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn-primary{ --bg:var(--accent); --fg:var(--accent-ink); box-shadow:0 10px 22px -12px var(--accent); }
.btn-primary:hover{ box-shadow:0 16px 28px -12px var(--accent); }
.btn-secondary{ --bg:transparent; --fg:var(--ink); border-color:var(--line); }
.btn-secondary:hover{ border-color:var(--ink); background:var(--ink); color:var(--paper); }
.btn-ghost{ --bg:transparent; --fg:var(--ink); border-color:var(--line); padding:.6em 1.1em; font-size:.9rem; }
.btn-ghost:hover{ border-color:var(--ink); }
.nav{ position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:24px; padding:16px var(--pad); background:color-mix(in srgb, var(--paper) 85%, transparent); backdrop-filter:blur(12px) saturate(1.4); border-bottom:1px solid var(--line-soft); }
.brand{ display:flex; align-items:center; gap:10px; font-weight:700; }
.brand-name{ font-family:var(--serif); font-weight:600; font-size:1.32rem; letter-spacing:-.01em; }
.brand-mark{ display:flex; align-items:flex-end; gap:2.5px; height:20px; }
.brand-mark .bar{ width:3px; border-radius:2px; background:var(--accent); animation:eq 1.4s var(--ease) infinite; transform-origin:bottom; }
.brand-mark .bar:nth-child(1){ height:40%; animation-delay:0s; }
.brand-mark .bar:nth-child(2){ height:75%; animation-delay:.15s; }
.brand-mark .bar:nth-child(3){ height:100%; animation-delay:.3s; }
.brand-mark .bar:nth-child(4){ height:60%; animation-delay:.45s; }
.brand-mark .bar:nth-child(5){ height:30%; animation-delay:.6s; }
@keyframes eq{ 0%,100%{ transform:scaleY(.55); } 50%{ transform:scaleY(1); } }
.nav-links{ display:flex; gap:26px; margin-left:auto; font-size:.95rem; font-weight:500; }
.nav-links a{ color:var(--ink-soft); position:relative; transition:color .2s; }
.nav-links a:hover{ color:var(--ink); }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-5px; height:2px; width:0; background:var(--accent); transition:width .25s var(--ease); }
.nav-links a:hover::after{ width:100%; }
.hero{ padding-top:clamp(40px,7vw,84px); }
.hero-grid{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,72px); align-items:center; }
.hero-copy{ max-width:560px; min-width:0; }
.hero-demo{ min-width:0; }
.eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 26px; padding:7px 14px; border:1px solid var(--line); border-radius:999px; background:var(--card); }
.eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 60%,transparent); animation:pulse 2s infinite; }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent); } 70%{ box-shadow:0 0 0 8px transparent; } 100%{ box-shadow:0 0 0 0 transparent; } }
.display{ font-family:var(--serif); font-weight:600; font-size:clamp(2.7rem,6.6vw,5.1rem); line-height:.98; letter-spacing:-.025em; margin:0 0 26px; font-optical-sizing:auto; }
.display em{ color:var(--accent-2); font-weight:500; }
.lede{ font-size:clamp(1.05rem,1.5vw,1.25rem); color:var(--ink-soft); margin:0 0 32px; max-width:48ch; }
.cta-note{ font-family:var(--mono); font-size:.76rem; line-height:1.6; color:var(--ink-soft); max-width:46ch; margin:0; padding-left:14px; border-left:2px solid var(--line); }
.hero-copy > *{ opacity:0; transform:translateY(14px); animation:rise .8s var(--ease) forwards; }
.hero-copy .eyebrow{ animation-delay:.05s; }
.hero-copy .display{ animation-delay:.15s; }
.hero-copy .lede{ animation-delay:.27s; }
.hero-copy .hero-signup{ animation-delay:.38s; }
.hero-copy .cta-note{ animation-delay:.48s; }
@keyframes rise{ to{ opacity:1; transform:none; } }
.hero-demo{ position:relative; opacity:0; animation:rise .9s var(--ease) .4s forwards; }
.demo-card{ background:var(--card); border:1px solid var(--line); border-radius:24px; padding:18px; box-shadow:0 40px 80px -44px rgba(19,24,26,.4); position:relative; overflow:hidden; }
.demo-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.demo-app{ font-weight:700; font-size:.92rem; }
.demo-badge{ display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:.66rem; letter-spacing:.04em; text-transform:uppercase; color:var(--accent-2); background:color-mix(in srgb,var(--accent) 12%,white); padding:5px 9px; border-radius:999px; }
.demo-body{ display:flex; flex-direction:column; gap:10px; min-height:150px; }
.demo-bubble{ max-width:82%; padding:11px 15px; border-radius:18px; font-size:.96rem; line-height:1.45; }
.demo-bubble--in{ align-self:flex-start; background:#e9e9eb; color:#000; border-bottom-left-radius:5px; }
.demo-bubble--out{ align-self:flex-end; background:#0b93f6; color:#fff; border-bottom-right-radius:5px; min-height:1.4em; min-width:40px; }
.demo-text{ white-space:pre-wrap; }
.demo-foot{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line-soft); display:flex; align-items:center; justify-content:space-between; gap:14px; }
.wave{ display:flex; align-items:center; gap:3px; height:26px; }
.wave span{ width:3px; height:30%; border-radius:2px; background:var(--accent); opacity:.5; transform-origin:center; }
.wave.is-live span{ animation:wv .9s var(--ease) infinite; opacity:1; }
.wave span:nth-child(odd){ animation-delay:.1s; }
.wave span:nth-child(3n){ animation-delay:.2s; }
.wave span:nth-child(4n){ animation-delay:.05s; }
.wave span:nth-child(5n){ animation-delay:.28s; }
@keyframes wv{ 0%,100%{ transform:scaleY(.35); } 50%{ transform:scaleY(1.5); } }
.demo-keyboard{ display:flex; align-items:center; gap:9px; }
.key--mic{ width:30px; height:30px; border-radius:9px; background:var(--ink); position:relative; flex:none; }
.key--mic::before{ content:""; position:absolute; left:50%; top:7px; transform:translateX(-50%); width:8px; height:12px; border-radius:5px; background:var(--paper); }
.key--mic::after{ content:""; position:absolute; left:50%; top:19px; transform:translateX(-50%); width:12px; height:5px; border:1.5px solid var(--paper); border-top:none; border-radius:0 0 7px 7px; }
.key-label{ font-family:var(--mono); font-size:.72rem; color:var(--ink-soft); min-width:74px; }
.demo-tag{ position:absolute; font-family:var(--mono); font-size:.68rem; background:var(--ink); color:var(--paper); padding:7px 12px; border-radius:999px; box-shadow:0 14px 30px -14px rgba(19,24,26,.6); }
.demo-tag--clean{ right:-8px; bottom:-14px; transform:rotate(-3deg); }
.marquee{ max-width:100%; margin-top:clamp(54px,8vw,90px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:18px 0; }
.marquee-track{ display:inline-flex; align-items:center; gap:22px; white-space:nowrap; animation:scroll 32s linear infinite; font-family:var(--serif); font-size:clamp(1.3rem,3vw,2rem); font-style:italic; color:var(--ink-soft); }
.marquee-track .sep{ color:var(--accent); font-style:normal; }
@keyframes scroll{ to{ transform:translateX(-50%); } }
.how-grid{ max-width:var(--maxw); margin:48px auto 0; padding-bottom:clamp(40px,7vw,90px); display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.how-col{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(26px,3vw,40px); position:relative; overflow:hidden; }
.how-col::after{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--accent); }
.how-col-head h3{ font-family:var(--serif); font-weight:600; font-size:1.7rem; margin:.5em 0 .2em; letter-spacing:-.01em; }
.how-col-head p{ color:var(--ink-soft); margin:0 0 8px; }
.platform-tag{ font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-2); border:1px solid color-mix(in srgb,var(--accent) 35%,transparent); padding:4px 10px; border-radius:6px; display:inline-block; }
.steps{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:4px; counter-reset:s; }
.steps li{ display:flex; gap:16px; padding:16px 0; border-top:1px solid var(--line-soft); }
.steps li:first-child{ border-top:none; }
.step-num{ flex:none; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-family:var(--mono); font-size:.85rem; font-weight:500; background:var(--paper-2); color:var(--accent-2); border:1px solid var(--line); }
.steps h4{ margin:.15em 0 .25em; font-size:1.02rem; font-weight:700; }
.steps p{ margin:0; color:var(--ink-soft); font-size:.95rem; }
.private{ background:var(--card); color:var(--ink); border:1px solid var(--line); margin-top:clamp(20px,4vw,40px); border-radius:clamp(24px,3vw,38px); margin-inline:clamp(12px,3vw,28px); position:relative; overflow:hidden; }
.private-inner{ max-width:var(--maxw); margin:0 auto; position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px,5vw,64px); align-items:center; padding:clamp(48px,8vw,96px) clamp(28px,5vw,64px); }
.private-lede{ font-size:clamp(1.05rem,1.5vw,1.2rem); color:var(--ink-soft); margin:24px 0 36px; max-width:52ch; }
.proof{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.proof li{ display:flex; gap:16px; align-items:flex-start; }
.proof-ico{ flex:none; width:42px; height:42px; border-radius:11px; background:color-mix(in srgb,var(--accent) 14%,white); border:1px solid color-mix(in srgb,var(--accent) 40%,transparent); position:relative; }
.proof div strong{ display:block; font-size:1.04rem; color:var(--ink); }
.proof div span{ color:var(--ink-soft); font-size:.94rem; }
.soon{ font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-2); border:1px solid color-mix(in srgb,var(--accent) 45%,transparent); padding:2px 7px; border-radius:5px; vertical-align:middle; margin-left:6px; display:inline-block; }
[data-ico]{ position:relative; }
[data-ico="device"]::before{ content:""; position:absolute; inset:11px 14px; border:2px solid var(--accent-2); border-radius:4px; }
[data-ico="device"]::after{ content:""; position:absolute; left:50%; bottom:13px; width:8px; height:2px; background:var(--accent-2); transform:translateX(-50%); border-radius:2px; }
[data-ico="clean"]::before{ content:""; position:absolute; inset:13px; border-radius:50%; border:2px solid var(--accent-2); }
[data-ico="clean"]::after{ content:"\2713"; position:absolute; inset:0; display:grid; place-items:center; color:var(--accent-2); font-size:.8rem; font-weight:700; }
[data-ico="sync"]::before{ content:""; position:absolute; inset:12px; border:2px solid var(--accent-2); border-right-color:transparent; border-radius:50%; }
[data-ico="sync"]::after{ content:""; position:absolute; right:11px; top:13px; border:4px solid transparent; border-left-color:var(--accent-2); }
.privacy-card{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(22px,3vw,30px); }
.pc-row--head{ font-family:var(--mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); display:flex; align-items:center; gap:8px; margin-bottom:22px; }
.pc-dot{ width:7px; height:7px; border-radius:50%; background:var(--accent); }
.pc-flow{ display:flex; flex-direction:column; gap:0; }
.pc-node{ display:flex; align-items:center; gap:13px; padding:14px 16px; border-radius:12px; background:var(--card); border:1px solid var(--line); font-weight:600; color:var(--ink); }
.pc-node--device{ background:color-mix(in srgb,var(--accent) 14%,white); border-color:var(--accent); }
.pc-node--off{ opacity:.45; }
.pc-node--off .pc-ico{ filter:grayscale(1); }
.pc-ico{ width:30px; height:30px; flex:none; position:relative; }
.pc-ico[data-ico="mic"]::before{ content:""; position:absolute; left:50%; top:5px; transform:translateX(-50%); width:9px; height:14px; border-radius:5px; background:var(--ink); }
.pc-ico[data-ico="mic"]::after{ content:""; position:absolute; left:50%; top:18px; transform:translateX(-50%); width:14px; height:7px; border:2px solid var(--ink); border-top:none; border-radius:0 0 8px 8px; }
.pc-ico[data-ico="device"]::before{ border-color:var(--ink); }
.pc-ico[data-ico="device"]::after{ background:var(--ink); }
.pc-ico[data-ico="cloud"]::before{ content:""; position:absolute; inset:9px 5px; background:var(--ink); border-radius:12px 12px 4px 4px; }
.pc-arrow{ display:flex; align-items:center; gap:10px; padding:4px 0 4px 22px; }
.pc-arrow span{ width:2px; height:22px; background:var(--accent); margin-left:13px; }
.pc-arrow em{ font-family:var(--mono); font-size:.68rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.pc-arrow--cut span{ background:var(--ember); }
.pc-arrow--cut em{ color:var(--ember); text-decoration:line-through; }
.pc-foot{ margin:22px 0 0; font-size:.86rem; color:var(--ink-soft); }
.feat-grid{ max-width:var(--maxw); margin:48px auto 0; padding-bottom:clamp(40px,7vw,90px); display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feat{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(24px,2.6vw,34px); transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; position:relative; }
.feat--wide{ grid-column:span 2; }
.feat:hover{ transform:translateY(-4px); box-shadow:0 30px 50px -34px rgba(19,24,26,.35); border-color:var(--accent); }
.feat h3{ font-family:var(--serif); font-weight:600; font-size:1.4rem; margin:18px 0 8px; letter-spacing:-.01em; }
.feat p{ margin:0; color:var(--ink-soft); }
.feat-ico{ display:block; width:46px; height:46px; border-radius:12px; background:var(--paper-2); border:1px solid var(--line); position:relative; }
.feat-ico[data-ico="anywhere"]::before{ content:""; position:absolute; inset:13px; border:2px solid var(--accent-2); border-radius:5px; }
.feat-ico[data-ico="anywhere"]::after{ content:""; position:absolute; left:50%; top:50%; width:14px; height:2px; background:var(--accent-2); transform:translate(-50%,-50%); box-shadow:0 -5px var(--accent-2),0 5px var(--accent-2); }
.feat-ico[data-ico="clean"]::before{ content:""; position:absolute; inset:14px; border-radius:50%; border:2px solid var(--accent-2); }
.feat-ico[data-ico="clean"]::after{ content:"\2713"; position:absolute; inset:0; display:grid; place-items:center; color:var(--accent-2); font-size:.8rem; font-weight:700; }
.feat-ico[data-ico="devices"]::before{ content:""; position:absolute; left:11px; top:13px; width:16px; height:20px; border:2px solid var(--accent-2); border-radius:3px; }
.feat-ico[data-ico="devices"]::after{ content:""; position:absolute; right:11px; bottom:12px; width:11px; height:15px; border:2px solid var(--accent-2); border-radius:3px; background:var(--card); }
.feat-ico[data-ico="lock"]::before{ content:""; position:absolute; left:50%; top:13px; transform:translateX(-50%); width:14px; height:12px; border:2px solid var(--accent-2); border-bottom:none; border-radius:7px 7px 0 0; }
.feat-ico[data-ico="lock"]::after{ content:""; position:absolute; left:50%; top:22px; transform:translateX(-50%); width:22px; height:15px; background:var(--accent-2); border-radius:4px; }
.get{ margin:clamp(20px,4vw,40px) auto clamp(40px,6vw,80px); }
.get-inner{ max-width:var(--maxw); margin:0 auto; background:var(--card); border:1px solid var(--line); color:var(--ink); border-radius:clamp(24px,3vw,38px); padding:clamp(40px,6vw,80px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,64px); align-items:center; position:relative; overflow:hidden; }
.get-lede{ color:var(--ink-soft); margin:22px 0 0; max-width:46ch; }
.get-form-wrap{ position:relative; z-index:1; }
.form-context{ font-size:.95rem; color:var(--ink-soft); margin:0 0 14px; }
.field{ display:flex; gap:10px; }
.field input{ flex:1; min-width:0; font-family:var(--sans); font-size:1rem; padding:.92em 1.1em; border-radius:999px; border:1.5px solid var(--line); background:var(--paper); color:var(--ink); transition:border-color .2s, background .2s; }
.field input::placeholder{ color:var(--ink-soft); }
.field input:focus{ outline:none; border-color:var(--accent); background:var(--card); }
.field input.invalid{ border-color:var(--ember); }
.field .btn{ flex:none; position:relative; }
.btn-spinner{ display:none; width:16px; height:16px; border:2px solid color-mix(in srgb,var(--accent-ink) 35%,transparent); border-top-color:var(--accent-ink); border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.is-loading .btn-label{ opacity:0; }
.is-loading .btn-spinner{ display:block; position:absolute; left:50%; top:50%; margin:-8px 0 0 -8px; }
.form-msg{ min-height:1.3em; margin:12px 2px 0; font-size:.86rem; }
.form-msg.error{ color:var(--ember); }
.form-fine{ font-size:.78rem; color:var(--ink-soft); margin:10px 2px 0; }
.success{ text-align:center; padding:18px 0; animation:rise .5s var(--ease); }
.success-check{ display:inline-grid; place-items:center; width:58px; height:58px; border-radius:50%; background:color-mix(in srgb,var(--accent) 16%,white); border:1.5px solid var(--accent); margin-bottom:14px; position:relative; }
.success-check::after{ content:""; width:16px; height:9px; border:3px solid var(--accent-2); border-top:none; border-right:none; transform:rotate(-45deg); margin-top:-4px; }
.success h3{ font-family:var(--serif); font-weight:600; font-size:1.6rem; margin:0 0 6px; color:var(--ink); }
.success p{ color:var(--ink-soft); margin:0 0 16px; }
.link-btn{ background:none; border:none; color:var(--accent-2); font-family:var(--sans); font-weight:600; font-size:.92rem; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.footer{ max-width:var(--maxw); margin:0 auto; padding:clamp(48px,7vw,90px) var(--pad) 48px; }
.footer-top{ display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start; justify-content:space-between; padding-bottom:36px; border-bottom:1px solid var(--line); }
.brand--footer .brand-name{ font-size:1.5rem; }
.footer-tag{ max-width:42ch; color:var(--ink-soft); font-family:var(--serif); font-style:italic; font-size:1.15rem; margin:0; }
.footer-bottom{ display:flex; flex-wrap:wrap; gap:16px 32px; align-items:center; justify-content:space-between; padding-top:28px; }
.footer-links{ display:flex; flex-wrap:wrap; gap:24px; font-size:.92rem; }
.footer-links a{ color:var(--ink-soft); transition:color .2s; }
.footer-links a:hover{ color:var(--accent-2); }
.footer-legal{ font-family:var(--mono); font-size:.74rem; color:var(--ink-soft); margin:0; }
@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-demo{ max-width:440px; }
  .private-inner,.get-inner{ grid-template-columns:1fr; }
  .how-grid,.feat-grid{ grid-template-columns:1fr; }
  .feat--wide{ grid-column:span 1; }
  .nav-links{ display:none; }
}
@media (max-width:560px){
  .display{ font-size:clamp(1.8rem,8.2vw,2.6rem); letter-spacing:-.02em; }
  .section-title{ font-size:clamp(1.7rem,7vw,2.4rem); }
  .marquee-track{ font-size:1.2rem; }
  .field{ flex-direction:column; }
  .field .btn{ width:100%; }
  .demo-tag--clean{ right:0; }
  .footer-tag{ font-size:1rem; }
}
.hero-signup{ max-width:440px; margin-bottom:18px; }
.hero-form-msg{ min-height:1.2em; margin:11px 2px 0; font-size:.82rem; font-family:var(--mono); }
.hero-form-msg.ok{ color:var(--accent-2); }
.hero-form-msg.error{ color:var(--ember); }
.lock-ico{ width:13px; height:13px; flex:none; }

/* legal / privacy prose (shares the tokens + fonts above) */
.legal-head{ max-width:var(--maxw); margin:0 auto; padding-top:clamp(40px,7vw,84px); }
.legal-eyebrow{ font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent-2); margin:0 0 14px; }
.legal-title{ font-family:var(--serif); font-weight:600; font-size:clamp(2.4rem,6vw,4rem); line-height:1; letter-spacing:-.025em; margin:0 0 16px; font-optical-sizing:auto; }
.legal-meta{ font-family:var(--mono); font-size:.76rem; color:var(--ink-soft); margin:0; padding-left:14px; border-left:2px solid var(--line); }
.legal{ max-width:760px; margin:0 auto; padding:clamp(28px,5vw,48px) 0 clamp(48px,8vw,96px); }
.legal .lead{ font-size:clamp(1.1rem,1.6vw,1.28rem); color:var(--ink); margin:0 0 8px; }
.legal h2{ font-family:var(--serif); font-weight:600; font-size:clamp(1.5rem,3.4vw,2.1rem); letter-spacing:-.015em; line-height:1.1; margin:54px 0 4px; scroll-margin-top:90px; }
.legal h2 .h2-num{ font-family:var(--mono); font-size:.8rem; font-weight:500; color:var(--accent-2); letter-spacing:.1em; display:block; margin-bottom:10px; }
.legal h3{ font-size:1.08rem; font-weight:700; color:var(--ink); margin:30px 0 4px; }
.legal p, .legal li{ color:var(--ink-soft); font-size:1.04rem; line-height:1.72; }
.legal p{ margin:12px 0; }
.legal ul{ list-style:none; padding:0; margin:14px 0; }
.legal li{ position:relative; padding-left:26px; margin:12px 0; }
.legal li::before{ content:""; position:absolute; left:4px; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.legal a{ color:var(--accent-2); text-decoration:underline; text-underline-offset:3px; }
.legal strong{ color:var(--ink); font-weight:600; }
.legal .rule{ border:none; border-top:1px solid var(--line); margin:14px 0 0; }
.legal .callout{ background:var(--paper-2); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--radius-sm); padding:18px 22px; margin:22px 0; }
.legal .callout p{ margin:0; }
