
/* Layout: neo-brutalist bands. Thick ink outlines and hard offset shadows (Gumroad), a live dictation stage as the hero (Wispr), Wisp's own warm paper, teal and lilac palette */
:root{
  --paper:#FBFAF8; --paper-2:#F1EEE8; --card:#FFFFFF;
  --ink:#1B1B1A; --ink-2:#5E5A54; --line:#1B1B1A;
  --teal:#2C5E5C; --teal-soft:#D4EEE9;
  --mint:#6FE3B4; --lilac:#C9AEF0; --tangerine:#FF6A45; --butter:#FFD27A; --pink:#F7B2D3; --sky:#8FD0FF;
  --on-color:#1B1B1A;
  --pill:#1B1B1A; --pill-ink:#F4F1EC;
  --f-display:"Bricolage Grotesque", "Arial Black", system-ui, sans-serif;
  --f-serif:"Instrument Serif", Georgia, "Times New Roman", serif;
  --f-body:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --bw:2.5px; --sh:5px; --r:14px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#141413; --paper-2:#1C1C1A; --card:#232220;
  --ink:#F4F1EC; --ink-2:#ABA69E; --line:#F4F1EC;
  --teal:#5FB8AE; --teal-soft:#234B48;
  --mint:#5ED6A5; --lilac:#B794E6; --tangerine:#FF6A45; --butter:#F5C565; --pink:#EE9CC3; --sky:#7CC3F5;
  --pill:#0A0A0A; --pill-ink:#F4F1EC; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#141413; --paper-2:#1C1C1A; --card:#232220;
  --ink:#F4F1EC; --ink-2:#ABA69E; --line:#F4F1EC;
  --teal:#5FB8AE; --teal-soft:#234B48;
  --mint:#5ED6A5; --lilac:#B794E6; --tangerine:#FF6A45; --butter:#F5C565; --pink:#EE9CC3; --sky:#7CC3F5;
  --pill:#0A0A0A; --pill-ink:#F4F1EC; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:800;letter-spacing:-.035em;line-height:.95;margin:0;text-wrap:balance}
h2{font-size:clamp(40px,6.4vw,84px)}
h3{font-size:24px;letter-spacing:-.02em;line-height:1.1}
.it{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
p{margin:0}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--ink-2);max-width:56ch}
.eyebrow{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.mono{font-family:var(--f-mono)}
:focus-visible{outline:3px solid var(--tangerine);outline-offset:3px}

/* brutal primitives */
.box{background:var(--card);border:var(--bw) solid var(--line);border-radius:var(--r);box-shadow:var(--sh) var(--sh) 0 var(--line)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:18px;letter-spacing:-.01em;text-decoration:none;color:var(--on-color);background:var(--mint);border:var(--bw) solid var(--line);border-radius:999px;padding:14px 26px;box-shadow:4px 4px 0 var(--line);transition:transform .12s ease,box-shadow .12s ease;cursor:pointer}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--line)}
.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--line)}
.btn.ghost{background:var(--card);color:var(--ink)}
.btn.sm{font-size:15px;padding:9px 18px;box-shadow:3px 3px 0 var(--line)}
.sticker{position:absolute;font-family:var(--f-display);font-weight:800;color:var(--on-color);display:grid;place-items:center;text-align:center;line-height:1;z-index:3;pointer-events:none}
.burst{width:118px;height:118px;background:var(--butter);font-size:17px;padding:22px}
.tag{display:inline-block;font-family:var(--f-mono);font-size:12px;font-weight:600;padding:3px 9px;border:2px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);white-space:nowrap}

/* nav */
nav.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:var(--bw) solid var(--line)}
nav.top .wrap{display:flex;align-items:center;gap:24px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:26px;letter-spacing:-.04em;text-decoration:none}
.logo svg{width:34px;height:34px;border:2px solid var(--line);border-radius:10px}
nav.top .links{display:flex;gap:22px;margin-left:auto;font-weight:600;font-size:15px}
nav.top .links a{text-decoration:none;position:relative}
nav.top .links a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
@media (max-width:860px){nav.top .links{display:none} nav.top .btn{margin-left:auto}}

/* hero */
.hero{position:relative;padding-block:72px 120px}
.hero h1{font-size:clamp(54px,10vw,136px);max-width:11ch}
.privline{display:inline-flex;align-items:center;gap:14px;margin-top:44px;padding:12px 20px 12px 14px;background:var(--mint);color:var(--on-color);border:var(--bw) solid var(--line);border-radius:14px;box-shadow:4px 4px 0 var(--line);font-size:clamp(16px,1.6vw,20px);max-width:100%}
.privline svg{width:30px;height:30px;flex:none}
.privline b{font-family:var(--f-display);font-weight:800}
.offline{display:inline-flex;align-items:center;gap:6px;font:600 11.5px var(--f-mono);border:2px solid var(--line);border-radius:999px;padding:2px 9px;background:var(--card);color:var(--ink)}
.offline svg{width:13px;height:13px}
.hero h1 .it{color:var(--teal);font-size:1.08em}
.hero .row{display:flex;flex-wrap:wrap;gap:32px 56px;align-items:flex-end;justify-content:space-between;margin-top:36px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero .req{font-family:var(--f-mono);font-size:12.5px;color:var(--ink-2);margin-top:10px}
.hero .s1{right:4%;top:110px;transform:rotate(12deg)}
.hero .s2{right:22%;top:230px;transform:rotate(-8deg);background:var(--pink);width:104px;height:104px;font-size:15px}
@media (max-width:900px){.hero .s1{top:10px;right:0;width:92px;height:92px;font-size:13px;padding:16px}.hero .s2{display:none}}

/* demo stage */
.stage{margin-top:88px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:stretch}
@media (max-width:900px){.stage{grid-template-columns:minmax(0,1fr)}}
.said{padding:22px;display:flex;flex-direction:column;gap:16px;background:var(--teal-soft)}
.said .hd{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.scen{display:flex;gap:6px;flex-wrap:wrap}
.scen button{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--f-body);padding:6px 12px;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.scen button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.scen svg{width:13px;height:13px;flex:none}
.raw{min-height:150px;font-family:var(--f-mono);font-size:16px;line-height:2.3;color:var(--ink);background:var(--card);border:2px solid var(--line);border-radius:10px;padding:14px 16px;position:relative}
.raw .w{display:inline;position:relative;transition:color .2s, opacity .3s}
.raw .w.in{animation:pop .22s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(4px)}to{opacity:1}}
.raw .w.cut{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:2.5px;text-decoration-color:var(--tangerine)}
.raw .w .chip{position:absolute;left:0;top:-15px;font:700 9.5px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--tangerine);color:var(--on-color);padding:3px 5px;border-radius:4px;white-space:nowrap;text-decoration:none;animation:pop .25s ease-out}
.raw .w.keep .chip{background:var(--mint)}
.raw .ph{color:var(--ink-2);font-family:var(--f-body)}
.controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.key{position:relative;width:112px;height:92px;border:var(--bw) solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 7px 0 var(--line);font:800 30px var(--f-display);color:var(--ink);cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;transition:transform .08s, box-shadow .08s, background .15s;display:grid;place-items:center}
.key small{position:absolute;bottom:9px;left:0;right:0;font:600 10.5px var(--f-mono);letter-spacing:.08em;color:var(--ink-2)}
.key.down{transform:translateY(6px);box-shadow:0 1px 0 var(--line);background:var(--mint);color:var(--on-color)}
.key.down small{color:var(--on-color)}
.key:not(.down){animation:nudge 2.4s ease-in-out infinite}
@keyframes nudge{0%,80%,100%{transform:none}86%{transform:translateY(3px)}92%{transform:none}}
.hint{font-weight:600;font-size:15px;max-width:22ch;line-height:1.35}
.hint span{display:block;font-weight:400;color:var(--ink-2);font-size:13.5px;margin-top:4px}
.pill{display:inline-flex;align-items:center;gap:10px;background:var(--pill);color:var(--pill-ink);border-radius:999px;padding:8px 14px 8px 10px;font:500 13px var(--f-mono);border:2px solid var(--line);min-width:172px}
.pill .bars{display:flex;gap:3px;align-items:center;height:20px}
.pill .bars i{display:block;width:3.5px;height:5px;background:var(--pill-ink);border-radius:3px;transition:height .09s}
.pill .dot{width:8px;height:8px;border-radius:50%;background:#6E6E72}
.pill.live .dot{background:#FF5E3A;box-shadow:0 0 0 4px rgba(255,94,58,.25)}
.pill.think .dot{background:#B794E6}
.pill.done .dot{background:#6FE3B4}

.landed{overflow:hidden;display:flex;flex-direction:column;min-height:390px}
.chrome{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:var(--bw) solid var(--line);background:var(--paper-2)}
.chrome i{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--line);display:block}
.chrome i:nth-child(1){background:#FF6A5F}.chrome i:nth-child(2){background:#FFC23D}.chrome i:nth-child(3){background:#3FCB5B}
.chrome b{margin-left:8px;font:600 13px var(--f-body)}
.chrome .lat{margin-left:auto}
@media (max-width:480px){.chrome .offline{display:none}}
.lat{font:600 12px var(--f-mono);background:var(--mint);color:var(--on-color);border:2px solid var(--line);border-radius:999px;padding:3px 10px;opacity:0;transform:scale(.8);transition:all .25s cubic-bezier(.3,1.6,.6,1)}
.lat.on{opacity:1;transform:none}
.app{flex:1;display:flex;flex-direction:column;padding:18px;gap:12px;font-family:var(--f-body);font-size:15px}
.msg{display:flex;gap:10px;align-items:flex-start}
.av{flex:none;width:34px;height:34px;border-radius:9px;border:2px solid var(--line);display:grid;place-items:center;font:800 14px var(--f-display);color:var(--on-color)}
.msg .who{font-weight:700;font-size:14px}
.msg .who em{font-style:normal;font-weight:400;color:var(--ink-2);font-size:12px;margin-left:6px}
.msg .body{white-space:pre-wrap;min-width:0}
.compose{margin-top:auto;border:2px solid var(--line);border-radius:10px;padding:12px 14px;min-height:76px;white-space:pre-wrap;background:var(--card);position:relative}
.compose .caret{display:inline-block;width:2px;height:1.1em;background:var(--ink);vertical-align:-3px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.compose.flash{animation:flash .6s ease-out}
@keyframes flash{0%{background:var(--mint)}100%{background:var(--card)}}
.compose .placeholder{color:var(--ink-2)}
.mailhead{display:grid;gap:6px;font-size:14px;border-bottom:1.5px dashed var(--ink-2);padding-bottom:10px}
.mailhead span{color:var(--ink-2)}
.sent{align-self:flex-end;background:var(--teal);color:var(--paper);border:2px solid var(--line);border-radius:14px 14px 4px 14px;padding:10px 14px;max-width:85%;white-space:pre-wrap;animation:pop .3s ease-out}
.sendchip{position:absolute;right:10px;bottom:-14px;background:var(--butter);color:var(--on-color);border:2px solid var(--line);font:700 11px var(--f-mono);padding:3px 8px;border-radius:999px}

/* marquee */
.marq{border-block:var(--bw) solid var(--line);background:var(--ink);color:var(--paper);overflow:hidden;white-space:nowrap;padding-block:14px}
.marq.alt{background:var(--butter);color:var(--on-color);position:relative;z-index:2}
.marq .track{display:inline-flex;gap:34px;animation:slide 32s linear infinite;font:800 clamp(20px,2.6vw,30px) var(--f-display);letter-spacing:-.02em;padding-left:34px}
.marq.alt .track{animation-direction:reverse;animation-duration:40s}
.marq .track span{display:inline-flex;align-items:center;gap:34px}
.marq .track span::after{content:"";width:18px;height:18px;background:currentColor;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
@keyframes slide{to{transform:translateX(-50%)}}

/* sections */
section{padding-block:140px}
@media (max-width:700px){section{padding-block:96px}}
.sec-head{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:flex-end;justify-content:space-between;margin-bottom:72px}
@media (max-width:700px){.sec-head{margin-bottom:48px}}
.sec-head .lede{max-width:44ch}

/* complaints ledger */
.ledger{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:30px}
.gripe{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s}
.gripe:hover{transform:translateY(-3px)}
.gripe .q{padding:20px 20px 18px;font-family:var(--f-serif);font-size:25px;line-height:1.15;border-bottom:var(--bw) dashed var(--line);position:relative}
.gripe .q::before{content:"Paraphrased from Reddit";display:block;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.gripe .a{padding:16px 20px 20px;display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.gripe .a b{font-family:var(--f-display);display:block;font-size:18px;letter-spacing:-.01em;margin-bottom:2px}
.gripe .tick{flex:none;width:30px;height:30px;border-radius:50%;border:2px solid var(--line);background:var(--mint);display:grid;place-items:center;color:var(--on-color)}
.gripe:nth-child(6n+2) .tick{background:var(--butter)} .gripe:nth-child(6n+3) .tick{background:var(--pink)} .gripe:nth-child(6n+4) .tick{background:var(--sky)} .gripe:nth-child(6n+5) .tick{background:var(--lilac)} .gripe:nth-child(6n+6) .tick{background:var(--tangerine)}


/* quote wall */
.quotesec{padding-bottom:40px}
.qwall{columns:3 300px;column-gap:28px}
.qc{break-inside:avoid;margin:0 0 28px;padding:22px 22px 20px;background:var(--c);color:var(--on-color);border:var(--bw) solid var(--line);border-radius:var(--r);box-shadow:var(--sh) var(--sh) 0 var(--line);transition:transform .15s}
.qc[style*="--card"]{color:var(--ink)}
.qc:hover{transform:translateY(-3px)}
.qc blockquote{margin:0;font-family:var(--f-serif);font-size:25px;line-height:1.15}
.qc.big blockquote{font-family:var(--f-display);font-weight:800;font-size:clamp(30px,3.4vw,42px);letter-spacing:-.03em;line-height:1}
.qc::after{content:"Reddit · real comment";display:block;margin-top:12px;font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.65}

/* cleanup grid */
.band{border-block:var(--bw) solid var(--line)}
.band.mint{background:var(--mint);color:var(--on-color)}
.band.mint .lede{color:var(--on-color);opacity:.8}
.fixes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
@media (max-width:980px){.fixes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.fixes{grid-template-columns:minmax(0,1fr)}}
.fix{padding:20px;display:flex;flex-direction:column;gap:14px;color:var(--ink)}
.fix .lbl{display:flex;justify-content:space-between;align-items:center}
.fix .you{font-family:var(--f-mono);font-size:14px;color:var(--ink-2);line-height:1.6}
.fix .you s{text-decoration-color:var(--tangerine);text-decoration-thickness:2px}
.fix .arrow{height:2px;background:var(--line);position:relative;margin-inline:2px}
.fix .arrow::after{content:"";position:absolute;right:-2px;top:-5px;border:6px solid transparent;border-left:9px solid var(--line);border-right:0}
.fix .get{font-size:17px;font-weight:600;white-space:pre-wrap;line-height:1.45}

/* style per app */
.styles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}
@media (max-width:900px){.styles{grid-template-columns:minmax(0,1fr)}}
.stylepick{padding:22px;display:flex;flex-direction:column;gap:18px}
.seg{display:grid;grid-template-columns:repeat(4,1fr);border:var(--bw) solid var(--line);border-radius:12px;overflow:hidden}
.seg button{font:700 14px var(--f-body);padding:11px 6px;border:0;border-right:var(--bw) solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--lilac);color:var(--on-color)}
.said-line{font-family:var(--f-mono);font-size:14px;color:var(--ink-2);border-left:4px solid var(--lilac);padding-left:12px}
.styleout{font-size:19px;line-height:1.5;min-height:118px;white-space:pre-wrap}
.styleout.swap{animation:pop .3s ease-out}
.apps{display:flex;gap:8px;flex-wrap:wrap}


.appgroups{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;border-top:var(--bw) solid var(--line);padding-top:28px}
@media (max-width:900px){.appgroups{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ag{display:flex;flex-direction:column;gap:12px;transition:opacity .25s}
.ag .apps{display:flex;flex-wrap:wrap;gap:8px}
.ag .agl{font:600 11.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.ag .agl{align-self:flex-start;padding:3px 9px;border:2px solid transparent;border-radius:999px;transition:background .2s,color .2s}
.ag.on .agl{background:var(--lilac);color:var(--on-color);border-color:var(--line)}
.ag.on .app-tag{box-shadow:3px 3px 0 var(--lilac);transform:translate(-1px,-1px)}
.app-tag{display:inline-flex;align-items:center;gap:8px;font:600 14px var(--f-body);padding:4px 13px 4px 4px;border:2px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);transition:transform .15s, box-shadow .15s}
.app-tag:hover{transform:translateY(-2px)}
.lg{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);flex:none}
.lg svg{width:14px;height:14px;fill:#FFFFFF}
.lg.inkchip{background:var(--ink)}
.lg.inkchip svg{fill:var(--paper)}

/* speed */
.band.ink{background:var(--teal);color:#FBFAF8}
.band.ink .lede{color:#FBFAF8;opacity:.8}
.band.ink .track2{border-color:#FBFAF8}.band.ink .track2 i{background:#FBFAF8}.band.ink .track2.wisp i{background:var(--mint)}.band.ink .pipeline div{border-color:#FBFAF8}
.speed{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
@media (max-width:900px){.speed{grid-template-columns:minmax(0,1fr)}}
.bignum{font:800 clamp(110px,19vw,250px)/0.85 var(--f-display);letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.bignum small{font-size:.36em;letter-spacing:-.02em;margin-left:.06em}
.bignote{font-family:var(--f-mono);font-size:13px;opacity:.7;margin-top:14px;max-width:46ch}
.race{display:grid;gap:22px}
.lane .top{display:flex;justify-content:space-between;font-weight:700;margin-bottom:8px;font-size:15px}
.lane .top span:last-child{font-family:var(--f-mono);font-weight:500}
.track2{height:46px;border:var(--bw) solid var(--paper);border-radius:999px;overflow:hidden;position:relative}
.track2 i{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--paper);opacity:.35}
.track2.wisp i{background:var(--mint);opacity:1}
.race.go .track2 i{animation:grow 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes grow{from{width:0!important}}
.pipeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
@media (max-width:520px){.pipeline{grid-template-columns:minmax(0,1fr)}}
.pipeline div{border:2px solid var(--paper);border-radius:12px;padding:12px;font-size:14px;line-height:1.35}
.pipeline b{display:block;font:700 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;opacity:.75}

/* privacy */
.priv{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
@media (max-width:900px){.priv{grid-template-columns:minmax(0,1fr)}}
.net{padding:24px;display:grid;gap:18px}
.switchrow{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;font-size:18px}
.switch{position:relative;width:76px;height:42px;border:var(--bw) solid var(--line);border-radius:999px;background:var(--mint);cursor:pointer;transition:background .2s;flex:none}
.switch::after{content:"";position:absolute;top:4px;left:38px;width:28px;height:28px;border-radius:50%;background:var(--card);border:2px solid var(--line);transition:left .25s cubic-bezier(.3,1.5,.6,1)}
.switch[aria-checked="false"]{background:var(--paper-2)}
.switch[aria-checked="false"]::after{left:4px}
.meter{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:15px;border-top:2px dashed var(--line);padding-top:16px}
.meter dt{color:var(--ink-2)}
.meter dd{margin:0;font-family:var(--f-mono);font-weight:600;text-align:right}
.status{font-family:var(--f-display);font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1.1;min-height:58px}
.status em{font-family:var(--f-serif);font-weight:400}


.privsec{background:var(--ink);color:var(--paper);border-bottom:var(--bw) solid var(--line)}
.privsec .lede{color:var(--paper);opacity:.75}
.pf{display:inline-block;margin-bottom:22px;padding:6px 14px;background:var(--mint);color:var(--on-color);border:2px solid var(--paper);border-radius:999px;font-weight:600}
.privsec .box{color:var(--ink)}
.flow{position:relative;display:grid;grid-template-columns:1fr 70px 1.5fr 70px 1fr;align-items:center;margin:8px 0 64px;padding-top:70px}
.flow .node{border:var(--bw) solid var(--paper);border-radius:16px;padding:16px 18px;display:grid;gap:4px}
.flow .node b{font:800 22px var(--f-display);letter-spacing:-.02em}
.flow .node span{font:500 12.5px var(--f-mono);opacity:.75;line-height:1.5}
.flow .node.mac{background:var(--mint);color:var(--on-color);border-color:var(--paper);box-shadow:6px 6px 0 var(--paper)}
.flow .node.mac span{opacity:.85}
.flow .pipe{height:4px;background:var(--paper);opacity:.35;position:relative;overflow:hidden}
.flow .pipe i{position:absolute;top:0;left:-30%;width:30%;height:100%;background:var(--mint);animation:packet 1.6s linear infinite}
@keyframes packet{to{left:100%}}
.flow .cloud{position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(-4deg);display:flex;align-items:center;gap:12px;color:var(--tangerine)}
.flow .cloud svg{width:62px;height:44px}
.flow .cloud span{font:800 17px/1.05 var(--f-display);letter-spacing:-.01em}
@media (max-width:760px){.flow{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}.flow .pipe{width:4px;height:28px;justify-self:center}.flow .pipe i{animation:none;display:none}.flow .cloud{position:static;transform:rotate(-3deg);margin-top:22px;justify-self:center}}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.facts li{padding-left:34px;position:relative;font-size:16px;opacity:.9}
.facts li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--mint);border:2px solid var(--paper)}
.facts b{display:block;font:800 19px var(--f-display);letter-spacing:-.01em;opacity:1}


/* voice edit */
.prochip{display:inline-block;font:700 12px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:6px;padding:4px 9px;margin-bottom:14px}
.prochip.sm{margin:0 0 0 8px;font-size:10.5px;padding:2px 7px;vertical-align:1px}
.kbd.big{font:800 .62em var(--f-display);padding:.02em .28em .06em;border-width:var(--bw);border-bottom-width:7px;border-radius:.16em;vertical-align:.08em;letter-spacing:0}
.editor{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:22px;align-items:stretch}
@media (max-width:900px){.editor{grid-template-columns:minmax(0,1fr)}}
.doc{overflow:hidden;display:flex;flex-direction:column}
.docbody{padding:26px 26px 32px;font-size:19px;line-height:1.6;min-height:240px}
.selected{white-space:pre-wrap;background:color-mix(in srgb,var(--sky) 45%,transparent);border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;display:inline;padding:2px 0}
.selected.rewriting{animation:shimmer .7s ease-in-out infinite alternate}
@keyframes shimmer{from{opacity:1}to{opacity:.35}}
.selected.fresh{animation:fresh .6s ease-out}
@keyframes fresh{from{background:var(--mint)}}
.cmds{padding:22px;display:flex;flex-direction:column;gap:14px;background:var(--butter);color:var(--on-color)}
.cmds .eyebrow{margin-top:6px}
.keys{display:flex;align-items:center;gap:12px}
.cap{position:relative;width:84px;height:70px;border:var(--bw) solid #1B1B1A;border-radius:14px;background:#FFFFFF;box-shadow:0 6px 0 #1B1B1A;display:grid;place-items:center;font:800 26px var(--f-display);color:#1B1B1A;transition:transform .08s,box-shadow .08s,background .15s}
.cap small{position:absolute;bottom:7px;left:0;right:0;text-align:center;font:600 9.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#5E5A54}
.cap.down{transform:translateY(5px);box-shadow:0 1px 0 #1B1B1A;background:var(--mint)}
.plus{font:800 26px var(--f-display)}
.saylist{display:flex;flex-direction:column;gap:9px}
.saylist button,.undo{font:600 15.5px var(--f-body);text-align:left;padding:11px 14px;border:2px solid #1B1B1A;border-radius:12px;background:#FFFFFF;color:#1B1B1A;cursor:pointer;box-shadow:3px 3px 0 #1B1B1A;transition:transform .1s,box-shadow .1s}
.saylist button:hover,.undo:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #1B1B1A}
.saylist button[aria-pressed="true"]{background:#1B1B1A;color:#FBFAF8}
.undo{align-self:flex-start;display:inline-flex;gap:8px;align-items:center;margin-top:auto}

/* languages */
.band.lilac{background:var(--lilac);color:var(--on-color)}
.band.lilac .lede{color:var(--on-color);opacity:.8}
.langs{display:flex;flex-wrap:wrap;gap:10px}
.langs span{font:600 17px var(--f-body);padding:8px 16px;border:var(--bw) solid var(--on-color);border-radius:999px;background:#FBFAF8;color:#1B1B1A;transition:transform .15s}
.langs span:hover{transform:translateY(-2px)}
.langs span:nth-child(5n+1){background:#FFD27A}.langs span:nth-child(7n+3){background:#6FE3B4}.langs span:nth-child(9n+5){background:#F7B2D3}
.hing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-top:40px}
@media (max-width:820px){.hing{grid-template-columns:minmax(0,1fr)}}
.hing .box{padding:22px;color:var(--ink)}
.hing h3{margin-bottom:10px}
.hing .ex{font-family:var(--f-mono);font-size:14px;color:var(--ink-2);margin-top:12px}
.hing .ex b{display:block;color:var(--ink);font-family:var(--f-body);font-size:17px;margin-top:6px}

/* features */
.feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
@media (max-width:1000px){.feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.feats{grid-template-columns:minmax(0,1fr)}}
.feat{padding:22px;display:flex;flex-direction:column;gap:10px;transition:transform .15s, box-shadow .15s}
.feat:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--line)}
.feat.wide{grid-column:span 2}
@media (max-width:560px){.feat.wide{grid-column:auto}}
.feat .ic{width:46px;height:46px;border:2px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--on-color)}
.feat p{color:var(--ink-2);font-size:15.5px}
.kbd{font:600 13px var(--f-mono);border:2px solid var(--line);border-bottom-width:4px;border-radius:7px;padding:1px 7px;background:var(--paper-2);color:var(--ink)}

/* macs */
.macs{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.chipmac{font:800 22px var(--f-display);letter-spacing:-.02em;padding:16px 22px;background:var(--card);border:var(--bw) solid var(--line);border-radius:14px;box-shadow:4px 4px 0 var(--line)}
.chipmac small{display:block;font:500 11px var(--f-mono);letter-spacing:.06em;color:var(--ink-2);margin-top:2px}
.chipmac.intel{background:var(--butter);color:var(--on-color)}
.chipmac.intel small{color:var(--on-color)}


/* benchmarks */
.scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
@media (max-width:1050px){.scores{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.scores{grid-template-columns:minmax(0,1fr)}}
.sc{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px}
.schd{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.schd h3{font-size:21px}
.win{font:700 12px var(--f-mono);background:var(--mint);color:var(--on-color);border:2px solid var(--line);border-radius:999px;padding:3px 10px}
.scsub{font:500 12px var(--f-mono);color:var(--ink-2);margin-bottom:4px}
.bar{display:grid;grid-template-columns:78px minmax(0,1fr) 46px;gap:8px;align-items:center;font-size:13px}
.bar .bl{font-weight:700}
.bar.f .bl{color:var(--ink-2);font-weight:600}
.bar .bt{height:18px;border:2px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper-2)}
.bar .bt i{display:block;height:100%;border-radius:999px}
.bar.w .bt i{background:var(--mint)}
.bar.f .bt i{background:var(--ink-2);opacity:.55}
.bar b{font:600 13px var(--f-mono);text-align:right;font-variant-numeric:tabular-nums}
.bar.f b{color:var(--ink-2)}
.vs-table{margin-top:40px;overflow:hidden;padding:0}
.vt-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px 20px;border-top:2px solid var(--line);font-size:16px;align-items:center}
.vt-row:first-child{border-top:0}
.vt-h{background:var(--ink);color:var(--paper);font:800 18px var(--f-display);letter-spacing:-.01em}
.vt-row .y{font-weight:700}
.vt-row .y::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--mint);border:2px solid var(--line);margin-right:8px;vertical-align:-1px}
.vt-row .n{color:var(--ink-2)}
@media (max-width:560px){.vt-row{font-size:14px;padding:12px 14px}}
.method{margin-top:18px;font:500 12.5px/1.6 var(--f-mono);color:var(--ink-2);max-width:90ch}

/* price */
.band.pink{background:var(--pink);color:var(--on-color)}
.band.pink .lede{color:var(--on-color);opacity:.8}
.price{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
@media (max-width:900px){.price{grid-template-columns:minmax(0,1fr)}}
.receipt{background:#FFFDF8;color:#1B1B1A;border:var(--bw) solid #1B1B1A;box-shadow:8px 8px 0 #1B1B1A;padding:26px 26px 34px;font-family:var(--f-mono);font-size:14.5px;transform:rotate(2.2deg);position:relative;max-width:420px;justify-self:center;width:100%;
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 12px) no-repeat, conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 12px repeat-x;
  mask:linear-gradient(#000 0 0) top/100% calc(100% - 12px) no-repeat, conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 12px repeat-x}
.receipt h4{font:800 30px var(--f-display);letter-spacing:-.04em;margin:0 0 2px;text-align:center}
.receipt .sub{text-align:center;font-size:12px;margin-bottom:18px;color:#5E5A54}
.receipt .ln{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.receipt .ln span:last-child{font-weight:600;text-align:right}
.receipt hr{border:0;border-top:2px dashed #1B1B1A;margin:12px 0}
.receipt .tot{font-size:20px;font-weight:600}
.receipt .stamp{position:absolute;right:16px;bottom:52px;transform:rotate(-14deg);border:3px solid #2C5E5C;color:#2C5E5C;font:800 22px var(--f-display);padding:4px 12px;border-radius:8px;letter-spacing:.02em;opacity:.9}
.vs{font-family:var(--f-display);font-weight:800;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.03em;line-height:1.05;margin-top:28px}
.vs s{text-decoration-thickness:5px;text-decoration-color:var(--tangerine);opacity:.75}


.plans{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);gap:24px;align-items:start}
@media (max-width:1050px){.plans{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.plans .receipt{grid-column:1/-1}}
@media (max-width:680px){.plans{grid-template-columns:minmax(0,1fr)}}
.plan{padding:26px;display:flex;flex-direction:column;gap:16px;color:var(--ink);position:relative}
.plan.pro{background:var(--ink);color:var(--paper);box-shadow:var(--sh) var(--sh) 0 var(--line)}
.pname{font:800 22px var(--f-display);letter-spacing:-.02em}
.pprice{font:800 64px/1 var(--f-display);letter-spacing:-.05em}
.pprice span{display:block;font:500 13px var(--f-mono);letter-spacing:0;margin-top:8px;opacity:.7}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15.5px}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li svg{flex:none;margin-top:4px;color:var(--teal)}
.plan.pro li svg{color:var(--mint)}
.plan li.all{font-weight:700}
.plan .btn{align-self:flex-start;margin-top:6px}
.plan.pro .btn{box-shadow:4px 4px 0 var(--mint);border-color:var(--paper)}
.ribbon{position:absolute;top:-16px;right:18px;background:var(--butter);color:var(--on-color);border:2px solid var(--line);border-radius:999px;font:700 12px var(--f-mono);padding:5px 12px;transform:rotate(3deg)}
.plans .receipt{transform:rotate(2.2deg);margin-top:10px}
.plans .receipt .stamp{right:22px;left:auto;bottom:118px;top:auto;font-size:26px;transform:rotate(-14deg)}

/* faq */
.faq{display:grid;gap:14px;max-width:860px}
.faq details{background:var(--card);border:var(--bw) solid var(--line);border-radius:var(--r);box-shadow:4px 4px 0 var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 22px;font:700 19px var(--f-display);letter-spacing:-.01em;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border:2px solid var(--line);border-radius:50%;display:grid;place-items:center;font:600 20px var(--f-mono);transition:transform .2s, background .2s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--mint);color:var(--on-color)}
.faq .ans{padding:0 22px 20px;color:var(--ink-2);max-width:68ch}

/* final */
.final{background:var(--tangerine);color:var(--on-color);border-top:var(--bw) solid var(--line);position:relative;overflow:hidden}
.final h2{font-size:clamp(54px,10vw,140px);max-width:11ch}
.final .btn{background:var(--paper);color:var(--ink);font-size:21px;padding:18px 32px}
.final .bars-bg{position:absolute;right:-30px;bottom:-40px;display:flex;gap:22px;align-items:center;opacity:.9;pointer-events:none}
.final .bars-bg i{display:block;width:54px;border-radius:40px;background:var(--paper);border:var(--bw) solid var(--line);animation:breathe 2.6s ease-in-out infinite}
.final .bars-bg i:nth-child(1){height:150px}.final .bars-bg i:nth-child(2){height:250px;animation-delay:.2s}.final .bars-bg i:nth-child(3){height:340px;animation-delay:.4s}.final .bars-bg i:nth-child(4){height:220px;animation-delay:.6s}.final .bars-bg i:nth-child(5){height:130px;animation-delay:.8s}
@keyframes breathe{50%{transform:scaleY(.72)}}
@media (max-width:760px){.final .bars-bg{opacity:.35;right:-60px}}
footer{background:var(--ink);color:var(--paper);padding-block:40px 48px}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
footer .logo svg{border-color:var(--paper)}
footer p{font-size:14px;opacity:.7}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;font-weight:600}
.foot-links a{text-decoration:none;opacity:.85}
.foot-links a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
