/* trydervo.com, 11 Oct 2026 redesign: the page reads as software. One 1200px column with hairline structure, the real
   app window on the meadow as a Mac desktop, serif only for the H1 and the waitlist line, and motion only in the product,
   on the app's own timing tokens. Mockups: claude.ai/artifact/GkzqFMFFyq7i2aSnuQ4kpX (layout) and H4CSY6q263iiUm8zyLb9aL
   (motion). Research: dervo/site/oss-product-site-research.md and oss-product-motion-research.md in the project files. */
@font-face{font-family:"Instrument Serif";src:url('shared/fonts/InstrumentSerif-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url('shared/fonts/InstrumentSans-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url('shared/fonts/JetBrainsMono-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Layout: one 1200px column with a hairline spine. Copy is left-aligned. The real app window is the hero, sitting on the
   Dervo meadow as a Mac desktop. Serif only for the H1 and the closing line; everything else is the app's own sans. */
:root{
  --paper:#f7f6f3; --canvas:#fdfdfc; --raised:#ffffff; --sunk:#f2f1ed;
  --ink:#1b1b19; --ink2:#3c3c38; --muted:#5b5a55; --faint:#696762;
  --line:#e6e5df; --line2:#d6d5ce;
  --pine:#22382b; --pine-ink:#f8f8f5; --sage:#5e7351; --sage-wash:#eef0e8;
  --live:#2f7844; --live-wash:#e6f1e8; --rust:#b0461f; --rust-wash:#f8ebe4;
  --shadow:0 1px 2px rgb(27 27 25/.06),0 24px 60px -24px rgb(27 27 25/.28);
  --win-shadow:0 0 0 1px rgb(0 0 0/.10),0 2px 6px rgb(0 0 0/.08),0 40px 80px -30px rgb(20 30 20/.55);
  --glass:rgb(253 253 252/.78);
  --note:#fff7d6; --note-ink:#5a4a10;
  --f-display:"Instrument Serif",Georgia,serif;
  --f-text:"Instrument Sans",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --wrap:1200px; --r-sm:6px; --r:10px; --r-lg:14px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#141312; --canvas:#1b1a18; --raised:#242220; --sunk:#2a2826;
  --ink:#eeece7; --ink2:#cdc9c1; --muted:#b4b0a7; --faint:#a5a198;
  --line:#2b2926; --line2:#3d3a35;
  --pine:#dfe8d6; --pine-ink:#161a14; --sage:#adc19b; --sage-wash:#242a20;
  --live:#80c993; --live-wash:#1a2e20; --rust:#e0845b; --rust-wash:#38251c;
  --shadow:0 1px 2px rgb(0 0 0/.4),0 24px 60px -24px rgb(0 0 0/.8);
  --win-shadow:0 0 0 1px rgb(255 255 255/.08),0 2px 6px rgb(0 0 0/.3),0 40px 80px -30px rgb(0 0 0/.8);
  --glass:rgb(20 19 18/.72); --note:#3a3214; --note-ink:#f2e2a4; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#141312; --canvas:#1b1a18; --raised:#242220; --sunk:#2a2826;
  --ink:#eeece7; --ink2:#cdc9c1; --muted:#b4b0a7; --faint:#a5a198;
  --line:#2b2926; --line2:#3d3a35;
  --pine:#dfe8d6; --pine-ink:#161a14; --sage:#adc19b; --sage-wash:#242a20;
  --live:#80c993; --live-wash:#1a2e20; --rust:#e0845b; --rust-wash:#38251c;
  --shadow:0 1px 2px rgb(0 0 0/.4),0 24px 60px -24px rgb(0 0 0/.8);
  --win-shadow:0 0 0 1px rgb(255 255 255/.08),0 2px 6px rgb(0 0 0/.3),0 40px 80px -30px rgb(0 0 0/.8);
  --glass:rgb(20 19 18/.72); --note:#3a3214; --note-ink:#f2e2a4; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--f-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
:focus-visible{outline:2px solid color-mix(in srgb,var(--ink) 60%,transparent);outline-offset:2px;border-radius:4px}
.wrap{max-width:calc(var(--wrap) + 48px);margin-inline:auto;padding-inline:24px}
@media (max-width:640px){.wrap{padding-inline:16px}}
.mono{font-family:var(--f-mono)}
kbd{font:500 11px/1 var(--f-mono);padding:3px 5px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:5px;color:var(--muted);background:var(--raised)}


/* Nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--glass);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{height:56px;display:flex;align-items:center;gap:var(--s6)}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.brand svg{width:24px;height:24px}
.brand span{font:400 25px/1 var(--f-display);letter-spacing:-.01em;margin-top:-3px}
.nav nav{display:flex;gap:var(--s5);font-size:14px;color:var(--muted)}
.nav nav a{text-decoration:none}.nav nav a:hover{color:var(--ink)}
.nav .right{margin-left:auto;display:flex;gap:var(--s3);align-items:center}
@media (max-width:860px){.nav nav{display:none}}
.btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;font:600 14px/1 var(--f-text);text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn-sm{height:32px;padding:0 14px;font-size:13px}
.btn-pine{background:var(--pine);color:var(--pine-ink);box-shadow:inset 0 1px 0 rgb(255 255 255/.14),0 1px 2px rgb(0 0 0/.15)}
.btn-pine:hover{filter:brightness(1.12)}
.btn-ghost{border-color:var(--line2);color:var(--ink);background:var(--raised)}
.btn-ghost:hover{background:var(--sunk)}
.icon-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:0;background:none;color:var(--muted);cursor:pointer}
.icon-btn:hover{background:var(--sunk);color:var(--ink)}

/* Hero */
.hero{padding-block:var(--s8) var(--s7)}
.pill{display:inline-flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:4px 12px 4px 4px;text-decoration:none;background:var(--raised)}
.pill b{font:500 11px/1 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;background:var(--live-wash);color:var(--live);padding:5px 8px;border-radius:999px}
.pill:hover{color:var(--ink)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s8);align-items:end;margin-top:var(--s6)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:var(--s5)}}
h1{font:400 clamp(52px,7.2vw,88px)/.95 var(--f-display);letter-spacing:-.025em;margin:0;text-wrap:balance}
.lede{font-size:clamp(17px,1.5vw,19px);line-height:1.55;color:var(--ink2);margin:0 0 var(--s5);max-width:34em;text-wrap:pretty}
.txt{font-weight:600;font-size:14px;text-decoration:none;padding:0 8px;color:var(--ink)}.txt:hover{text-decoration:underline;text-underline-offset:3px}
.ctas{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center}
.meta{margin-top:var(--s6);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);font:400 12.5px/1.4 var(--f-mono);color:var(--faint);padding-top:var(--s4);border-top:1px solid var(--line)}
.meta span{display:inline-flex;align-items:center;gap:8px}
.meta i{width:6px;height:6px;border-radius:50%;background:var(--sage);display:inline-block}

/* Stage: the meadow as a Mac desktop */
.stage{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#9fb08a url('shared/assets/studio-meadow.webp') center 62%/cover;padding:46px 56px 0;box-shadow:0 0 0 1px var(--line)}
.stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 0 0/0) 70%,rgb(0 0 0/.08));pointer-events:none}
.menubar{position:absolute;inset:0 0 auto 0;height:26px;display:flex;align-items:center;gap:18px;padding:0 16px;font:500 12.5px/1 -apple-system,BlinkMacSystemFont,var(--f-text);color:#1d1d1b;background:rgb(255 255 255/.42);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.menubar b{font-weight:700}
.menubar .r{margin-left:auto;display:flex;gap:16px;align-items:center}
.menubar svg{width:14px;height:14px}
@media (max-width:760px){.stage{padding:36px 12px 0}.menubar span:nth-child(n+4){display:none}}
.caption{margin-top:var(--s3);font-size:13px;color:var(--faint);display:flex;gap:var(--s5);flex-wrap:wrap;justify-content:space-between}

/* App window */
.win{position:relative;z-index:1;background:var(--canvas);border-radius:12px 12px 0 0;box-shadow:var(--win-shadow);display:grid;grid-template-columns:220px minmax(0,1fr);min-height:520px;overflow:hidden;font-size:14px;line-height:1.45;color:var(--ink)}
.win.float{border-radius:12px;min-height:0}
.side{background:var(--paper);border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:2px;font-size:13px}
.lights{display:flex;gap:7px;padding:2px 4px 14px}.lights i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.lights i+i{background:#febc2e}.lights i+i+i{background:#28c840}
.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--raised);border-radius:8px;padding:6px 8px;color:var(--faint);margin-bottom:8px}
.search kbd{margin-left:auto;font-size:10px;padding:2px 4px}
.si{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;color:var(--ink2)}
.si.on{background:var(--raised);box-shadow:0 0 0 1px var(--line);color:var(--ink);font-weight:500}
.si .dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--rust)}
.si .ab{width:16px;height:16px;border-radius:4px;display:grid;place-items:center;font:700 9px/1 var(--f-text);color:#fff}
.sh{font:600 10.5px/1 var(--f-text);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:14px 8px 6px}
.side svg{width:14px;height:14px;flex:none}
@media (max-width:760px){.win{grid-template-columns:1fr}.side{display:none}}
.main{display:flex;flex-direction:column;min-width:0;background:var(--canvas)}
.mhead{display:flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.mhead b{color:var(--ink);font-weight:600}
.mbody{padding:28px 32px 20px;flex:1;display:flex;flex-direction:column;gap:18px;min-width:0}
@media (max-width:640px){.mbody{padding:20px 16px}}
.greet{font:400 34px/1.1 var(--f-display);letter-spacing:-.01em;margin:0}
.sum{color:var(--muted);margin:-8px 0 0}
.grp{display:flex;flex-direction:column}
.gh{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink2);padding:0 0 6px}
.gh span{color:var(--faint);font-weight:500}
.row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:4px 10px;align-items:start;padding:10px 12px;border-radius:9px}
.row:hover{background:var(--sunk)}
.row .t{font-weight:600}.row .t small{font-weight:400;color:var(--faint);font-size:12px;margin-left:6px}
.row .s{grid-column:2;color:var(--muted);font-size:13px;margin-top:-2px}
.row time{font:400 12px/1.6 var(--f-text);color:var(--faint);font-variant-numeric:tabular-nums}
.row.need{background:var(--raised);box-shadow:0 0 0 1px var(--line),0 1px 2px rgb(0 0 0/.04)}
.row .act{grid-column:2;display:flex;gap:6px;margin-top:6px}
.chip{font:500 12px/1 var(--f-text);padding:6px 10px;border-radius:7px;border:1px solid var(--line2);background:var(--raised);color:var(--ink)}
.chip.p{background:var(--pine);color:var(--pine-ink);border-color:transparent}
.st{width:14px;height:14px;margin-top:3px;border-radius:50%;flex:none}
.st.need{border:4px solid var(--rust-wash);background:var(--rust);box-shadow:0 0 0 1px var(--rust)}
.st.run{border:2px solid var(--live-wash);border-top-color:var(--live);animation:spin 1.1s linear infinite}
.st.done{background:var(--sage-wash);position:relative}.st.done::after{content:"";position:absolute;left:4px;top:2px;width:4px;height:7px;border:solid var(--sage);border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.st.lost{border:1.5px dashed var(--faint)}
@keyframes spin{to{transform:rotate(360deg)}}
.composer{margin-top:auto;border:1px solid var(--line2);background:var(--raised);border-radius:12px;padding:12px 12px 10px 14px;box-shadow:0 1px 2px rgb(0 0 0/.04),0 8px 24px -16px rgb(0 0 0/.2)}
.composer p{margin:0 0 10px;color:var(--faint)}
.composer .bar{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.send{margin-left:auto;width:28px;height:28px;border-radius:50%;background:var(--pine);display:grid;place-items:center}
.send svg{width:14px;height:14px;stroke:var(--pine-ink)}
code{font:400 .86em/1 var(--f-mono);background:var(--sunk);padding:2px 5px;border-radius:5px;color:var(--ink2)}
.tag{display:inline-flex;align-items:center;gap:5px;font-weight:600;background:var(--sunk);padding:1px 7px;border-radius:6px}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--live)}

/* Sections */
section.sec{padding-block:var(--s9);border-top:1px solid var(--line)}
@media (max-width:640px){section.sec{padding-block:var(--s8)}}
.eyebrow{font:500 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--s4)}
h2{font:600 clamp(30px,3.6vw,44px)/1.08 var(--f-text);letter-spacing:-.032em;margin:0;text-wrap:balance;max-width:20ch}
.sub{font-size:18px;line-height:1.55;color:var(--muted);margin:var(--s4) 0 0;max-width:36em;text-wrap:pretty}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s8);align-items:end;margin-bottom:var(--s8)}
.head .sub{margin:0}
@media (max-width:900px){.head{grid-template-columns:1fr;gap:var(--s4)}}

/* Engineer vs manager */
.vs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--canvas)}
@media (max-width:760px){.vs{grid-template-columns:1fr}}
.vs>div{padding:var(--s6)}
.vs>div+div{border-left:1px solid var(--line);background:var(--raised)}
@media (max-width:760px){.vs>div+div{border-left:0;border-top:1px solid var(--line)}}
.vs h3{font:600 15px/1.3 var(--f-text);margin:0 0 var(--s4);display:flex;align-items:center;gap:10px}
.vs h3 svg{width:20px;height:20px}
.vs ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.vs li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s4);padding:14px 0;border-top:1px solid var(--line);font-size:15px;color:var(--ink2)}
.vs li b{font:500 12px/1.6 var(--f-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.vs>div+div li{color:var(--ink)}
@media (max-width:480px){.vs li{grid-template-columns:1fr;gap:2px}}

/* Tour */
.tour{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:var(--s8);align-items:start}
@media (max-width:960px){.tour{grid-template-columns:1fr;gap:var(--s5)}}
.steps{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.step{all:unset;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr);padding:20px 0;border-bottom:1px solid var(--line);color:var(--faint)}
.step:focus-visible{outline:2px solid color-mix(in srgb,var(--ink) 60%,transparent);outline-offset:4px}
.step .n{font:500 12px/1.9 var(--f-mono)}
.step h3{margin:0;font:600 19px/1.4 var(--f-text);letter-spacing:-.015em;color:var(--muted)}
.step p{grid-column:2;margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--ink2);display:none}
.step .keys{grid-column:2;display:none;gap:6px;margin-top:12px;font-size:12.5px;color:var(--faint);align-items:center;flex-wrap:wrap}
.step[aria-selected="true"] h3{color:var(--ink)}
.step[aria-selected="true"] .n{color:var(--live)}
.step[aria-selected="true"] p{display:block}
.step[aria-selected="true"] .keys{display:flex}
.step:hover h3{color:var(--ink)}
.panel{background:var(--sunk);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s7);min-height:540px;display:flex;align-items:center;justify-content:center}
@media (max-width:640px){.panel{padding:var(--s3);min-height:0}}
.view{width:100%;max-width:620px}
.card{background:var(--canvas);border-radius:12px;box-shadow:var(--win-shadow);overflow:hidden;font-size:14px}
.card .mhead{height:42px}
.cbody{padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.bub{align-self:flex-end;max-width:85%;background:var(--sunk);border-radius:12px;padding:10px 14px}
.bub small{display:block;color:var(--faint);font-size:12px;margin-top:2px}
.who{font-size:12.5px;color:var(--faint)}.who b{color:var(--ink);font-weight:600}
.stop{display:flex;gap:10px;align-items:center;background:var(--sunk);border-radius:9px;padding:10px 12px;color:var(--ink2);font-size:13.5px}
.carry{font-size:13.5px;color:var(--ink2);display:grid;gap:6px;padding-left:4px}
.carry span::before{content:"✓";color:var(--sage);margin-right:10px;font-weight:700}
.rec{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 16px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:13.5px}
.rec dt{color:var(--faint)}.rec dd{margin:0;color:var(--ink)}
.rec dd code{margin:0 4px 4px 0;display:inline-block}
.mem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 0;border-top:1px solid var(--line);align-items:center}
.mem:first-child{border-top:0}
.mem small{grid-column:1;color:var(--faint);font-size:12.5px}
.mem .a{grid-row:1 / span 2;grid-column:2;display:flex;gap:12px;font-size:12.5px;color:var(--muted)}
.ask{border:1px solid var(--line2);border-radius:10px;padding:14px;background:var(--raised);display:grid;gap:8px}
.ask .h{display:flex;gap:8px;align-items:center;font-weight:600;font-size:13.5px}
.ask .h .st{margin:0}

/* Compare */
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas)}
table{width:100%;border-collapse:collapse;min-width:640px;font-size:15px}
th,td{text-align:left;padding:16px 20px;border-top:1px solid var(--line);vertical-align:top}
thead th{border-top:0;font:500 12px/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding-block:14px}
tbody th{font-weight:600;color:var(--ink);width:30%}
td{color:var(--muted)}
td.d,th.d{background:color-mix(in srgb,var(--live-wash) 55%,transparent);color:var(--ink)}
thead th.d{color:var(--live)}
td.d::before{content:"";display:inline-block;width:6px;height:10px;border:solid var(--live);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-2px);margin-right:12px}
.foot{margin-top:var(--s4);font-size:14px;color:var(--faint);max-width:60em}

/* On the way */
.soon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--canvas)}
.soon>div{padding:var(--s5);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.soon>div:first-child{border-left:0}
@media (max-width:960px){.soon{grid-template-columns:1fr 1fr}.soon>div:nth-child(3){border-left:0}.soon>div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.soon{grid-template-columns:1fr}.soon>div{border-left:0!important}.soon>div+div{border-top:1px solid var(--line)}}
.soon h3{margin:0;font:600 16px/1.3 var(--f-text);letter-spacing:-.01em}
.soon p{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.soon .badge{align-self:flex-start;font:500 11px/1 var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--faint);border:1px dashed var(--line2);border-radius:999px;padding:5px 8px}
.soon svg{width:22px;height:22px;stroke:var(--ink2)}

/* Where */
.where{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
@media (max-width:760px){.where{grid-template-columns:1fr}}
.where>div{padding:var(--s5) var(--s5) 0 0}
.where>div+div{padding-left:var(--s5);border-left:1px solid var(--line)}
@media (max-width:760px){.where>div+div{border-left:0;padding-left:0;border-top:1px solid var(--line);margin-top:var(--s5)}}
.where h3{font:500 12px/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:0 0 var(--s3)}
.where p{margin:0;font-size:16px;color:var(--ink2)}
.where p.open{margin-top:var(--s3);font-size:13px;color:var(--rust)}

/* Pricing + FAQ */
.pq{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:var(--s8);align-items:start}
@media (max-width:960px){.pq{grid-template-columns:1fr}}
.plan{border:1px solid var(--line2);border-radius:var(--r-lg);background:var(--raised);padding:var(--s6);box-shadow:var(--shadow);position:sticky;top:88px}
@media (max-width:960px){.plan{position:static}}
.seg{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:3px;font-size:13px;margin-bottom:var(--s5)}
.seg button{all:unset;cursor:pointer;padding:6px 12px;border-radius:999px;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--sunk);color:var(--ink);font-weight:600}
.seg button:focus-visible{outline:2px solid color-mix(in srgb,var(--ink) 60%,transparent)}
.seg em{font-style:normal;color:var(--live);font-weight:600;margin-left:6px}
.plan h3{margin:0;font:600 15px/1 var(--f-text);color:var(--muted)}
.price{display:flex;align-items:baseline;gap:8px;margin:12px 0 4px}
.price b{font:600 48px/1 var(--f-text);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.price span{color:var(--faint)}
.plan .note{font-size:14px;color:var(--muted);margin:0 0 var(--s5)}
.plan ul{list-style:none;padding:var(--s5) 0 0;margin:var(--s5) 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:15px}
.plan li::before{content:"";display:inline-block;width:5px;height:9px;border:solid var(--sage);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);margin-right:12px}
.plan .fine{font-size:12.5px;color:var(--faint);margin:var(--s5) 0 0}
.plan .btn{width:100%;justify-content:center;height:44px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font:600 17px/1.4 var(--f-text);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 22px/1 var(--f-text);color:var(--faint);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:-6px 0 20px;color:var(--muted);max-width:40em}

/* Close */
.close{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#7f8f86 url('shared/assets/companion-coast.webp') center 60%/cover;color:#fff;padding:var(--s10) var(--s8);margin-block:var(--s9) var(--s8)}
.close::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(14 22 18/.62),rgb(14 22 18/.15) 70%)}
.close>*{position:relative}
@media (max-width:640px){.close{padding:var(--s8) var(--s5)}}
.close h2{font:400 clamp(44px,5.6vw,72px)/1 var(--f-display);letter-spacing:-.02em;max-width:12ch}
.close p{max-width:30em;color:rgb(255 255 255/.86);font-size:17px;margin:var(--s4) 0 var(--s6)}
.form{display:flex;gap:8px;max-width:440px;background:rgb(255 255 255/.94);border-radius:999px;padding:5px;box-shadow:0 10px 30px -10px rgb(0 0 0/.4)}
.form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.form input{flex:1;min-width:0;border:0;background:none;font:400 15px var(--f-text);padding:0 14px;color:#1b1b19;outline:none}
.form .btn{background:#22382b;color:#f8f8f5}
.close small{display:block;margin-top:var(--s3);font-size:12.5px;color:rgb(255 255 255/.75)}
.person{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s5);align-items:start;max-width:720px}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--sunk);display:grid;place-items:center;font:400 22px var(--f-display);border:1px solid var(--line2)}
.person p{margin:0;font-size:17px;color:var(--ink2)}
.person small{display:block;margin-top:var(--s3);color:var(--faint);font-size:13.5px}
footer{border-top:1px solid var(--line);padding-block:var(--s7) var(--s8)}
footer .wrap{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:var(--s6)}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr 1fr}}
footer h4{font:500 12px/1 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:6px 0 var(--s4)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px;color:var(--muted)}
footer a{text-decoration:none}footer a:hover{color:var(--ink)}
footer .tl{font-size:14px;color:var(--faint);margin:var(--s4) 0 0;max-width:24em}

[hidden]{display:none!important}
.panel{align-items:flex-start}

/* Motion: the app's own tokens (DervoTokens.css, 23 Sep). Entrances ease out, exits ease in, travel eases both ways. */
:root{
  --ease-out:cubic-bezier(.2,.7,.2,1); --ease-in:cubic-bezier(.4,0,1,1); --ease-move:cubic-bezier(.45,0,.55,1);
  --t-instant:80ms; --t-fast:140ms; --t-calm:220ms; --t-move:320ms; --t-arrive:480ms; --t-loop:1.2s;
}
/* Hover arrives fast and leaves slower, so sweeping a list leaves a soft trail instead of flicker. */
.row,.si,.chip,.btn,.btn-ghost,.icon-btn,.nav nav a,.txt,.step h3,footer a,.faq summary::after{transition:background-color var(--t-calm) var(--ease-out),color var(--t-calm) var(--ease-out),transform var(--t-calm) var(--ease-out),filter var(--t-calm) var(--ease-out)}
.row:hover,.si:hover,.chip:hover,.btn:hover,.icon-btn:hover,.nav nav a:hover,.step:hover h3{transition-duration:var(--t-fast)}
.btn:active,.chip:active,.icon-btn:active{transform:scale(.97);transition-duration:var(--t-instant)}
.si:not(.on):hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.nav{transition:border-color var(--t-calm) var(--ease-out),background-color var(--t-calm) var(--ease-out)}
.nav:not(.scrolled){border-bottom-color:transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
/* FAQ opens by height where the browser can animate to auto; elsewhere it just opens. */
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .faq details::details-content{height:0;overflow:clip;transition:height var(--t-calm) var(--ease-move),content-visibility var(--t-calm) allow-discrete}
  .faq details[open]::details-content{height:auto}
}
.faq summary::after{transition:transform var(--t-calm) var(--ease-move)}
/* Price rolls rather than snapping */
.price b{display:inline-block;overflow:hidden;vertical-align:bottom}
.price b span{display:inline-block}
/* Tour: progress line under the playing step */
.step{position:relative}
.prog{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--live);transform-origin:left;transform:scaleX(0);opacity:0}
.step[aria-selected="true"] .prog.on{opacity:1}
.view{will-change:opacity,transform}
.typed{margin:0 0 10px;color:var(--ink);min-height:1.45em}
.typed::after{content:"";display:inline-block;width:1.5px;height:1.05em;background:var(--ink);vertical-align:-2px;margin-left:1px;animation:caret 1.1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.think{font-size:13.5px;color:var(--faint);background:linear-gradient(90deg,var(--faint) 0%,var(--faint) 40%,var(--ink) 50%,var(--faint) 60%,var(--faint) 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:sweep calc(var(--t-loop)*2) linear infinite}
@keyframes sweep{from{background-position:100% 0}to{background-position:-150% 0}}
.row.open{background:var(--sunk)}
.row.lit{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.paused .st.run,.paused .think,.paused .typed::after{animation-play-state:paused}
.replay{all:unset;cursor:pointer;font:500 12.5px/1 var(--f-mono);color:var(--faint);display:inline-flex;gap:6px;align-items:center}
.replay:hover{color:var(--ink)}
.replay:focus-visible{outline:2px solid color-mix(in srgb,var(--ink) 60%,transparent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.prog{display:none}.replay{display:none}}

section.sec{overflow-x:clip}
/* Beyond the Mac window */
.badge{align-self:flex-start;display:inline-block;font:500 11px/1 var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--faint);border:1px dashed var(--line2);border-radius:999px;padding:5px 8px}
.phone-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--s8);align-items:center;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);padding:var(--s7) var(--s7) 0;overflow:hidden}
@media (max-width:900px){.phone-row{grid-template-columns:1fr;padding:var(--s5) var(--s5) 0;gap:var(--s5)}}
.phone-copy{display:flex;flex-direction:column;gap:var(--s3);padding-bottom:var(--s7);align-self:center}
.phone-copy h3{font:600 28px/1.15 var(--f-text);letter-spacing:-.025em;margin:4px 0 0}
.phone-copy>p{margin:0;font-size:17px;color:var(--ink2);max-width:30em}
.ticks{list-style:none;margin:var(--s3) 0 0;padding:var(--s4) 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:15px;color:var(--ink2)}
.ticks li::before{content:"";display:inline-block;width:5px;height:9px;border:solid var(--sage);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);margin-right:12px}
.phone-stage{display:flex;justify-content:center;align-items:flex-end;height:520px;overflow:hidden;background:radial-gradient(120% 90% at 50% 100%,var(--sunk),transparent 70%)}
@media (max-width:640px){.phone-stage{height:460px}}
.iphone{position:relative;width:300px;height:600px;flex:none;border-radius:48px;background:#1b1b19;padding:11px;box-shadow:0 0 0 1.5px #3a3a36,0 30px 60px -24px rgb(20 30 20/.45);transform:translateY(80px)}
.island{position:absolute;left:50%;top:22px;width:92px;height:27px;border-radius:20px;background:#000;transform:translateX(-50%);z-index:2}
.pscreen{position:relative;height:100%;border-radius:38px;background:var(--canvas);overflow:hidden;padding:52px 16px 16px;font-size:12px;line-height:1.4;color:var(--ink);display:flex;flex-direction:column;gap:10px}
.pbar{position:absolute;inset:16px 22px auto 26px;display:flex;justify-content:space-between;font-size:12px}
.pmac{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--faint);margin-top:20px;position:absolute;right:-4px}
.pmac i{width:6px;height:6px;border-radius:50%;background:var(--live)}
.pgreet{font:400 26px/1.1 var(--f-display);margin:8px 0 0}
.psum{margin:-4px 0 2px;color:var(--muted);font-size:11.5px}
.pg{display:flex;flex-direction:column;gap:4px}
.pgh{font-weight:600;font-size:11.5px;color:var(--ink2)}.pgh span{color:var(--faint);font-weight:500;margin-left:4px}
.prow{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:8px;padding:8px;border-radius:10px;background:var(--raised);box-shadow:0 0 0 1px var(--line)}
.prow b{font-weight:600}.prow small{color:var(--faint);font-size:10px}.prow span{display:block;color:var(--muted);font-size:11px}
.prow time{font-size:10px;color:var(--faint)}
.prow .st{width:12px;height:12px;margin-top:2px}
.pchips{display:flex;gap:6px;margin-top:7px}.pchips .chip{font-size:11px;padding:5px 9px}
.pcomp{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line2);border-radius:999px;padding:6px 6px 6px 14px;color:var(--faint);background:var(--raised)}
.pcomp .send{width:24px;height:24px}
.ptoast{position:absolute;z-index:3;left:50%;bottom:64px;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:11px;font-weight:600;padding:7px 12px;border-radius:999px;white-space:nowrap}
.fgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);margin-top:var(--s5)}
@media (max-width:960px){.fgrid{grid-template-columns:1fr}}
.fcard{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);padding:var(--s3) var(--s3) var(--s5)}
.fcard h3{margin:6px var(--s3) 0;font:600 18px/1.3 var(--f-text);letter-spacing:-.015em}
.fcard p{margin:0 var(--s3);font-size:14.5px;line-height:1.55;color:var(--muted)}
.fcard .badge{margin:8px var(--s3) 0}
.fstage{background:var(--sunk);border-radius:10px;padding:var(--s4);height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mini{width:100%;background:var(--canvas);border-radius:12px;box-shadow:var(--win-shadow);padding:12px;display:flex;flex-direction:column;gap:8px;font-size:13px;position:relative}
.mini .row{padding:8px}
.mini-h{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;padding:0 4px 4px;border-bottom:1px solid var(--line)}
.away{display:inline-flex;gap:5px;align-items:center;color:var(--faint);font-size:11.5px}.away svg{width:14px;height:14px}
.men{color:var(--live);font-weight:600}
.acard{display:grid;grid-template-columns:14px minmax(0,1fr);gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12.5px}
.acard .st{width:12px;height:12px;margin-top:2px}
.composer.sm{padding:9px 12px;border-radius:10px}.composer.sm p{margin:0}
.pop{position:absolute;left:12px;right:12px;bottom:58px;background:var(--raised);border-radius:10px;box-shadow:var(--win-shadow);padding:4px;font-size:12px;display:grid}
.pop>div{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:7px}.pop>div.on{background:var(--sunk)}.pop span{color:var(--faint)}
.hold{display:flex;align-items:center;gap:10px;border:1px solid var(--line2);border-radius:999px;padding:6px 12px 6px 6px;background:var(--raised);color:var(--muted);font-size:12.5px;align-self:flex-start}
.hold kbd{padding:4px 7px}
.hold.on{border-color:var(--live);color:var(--ink)}
.wave{display:none;gap:3px;align-items:center;height:16px}
.hold.on .wave{display:inline-flex}
.wave i{width:3px;height:6px;border-radius:2px;background:var(--live);animation:wave .9s var(--ease-move) infinite alternate}
.wave i:nth-child(2){animation-delay:-.2s}.wave i:nth-child(3){animation-delay:-.5s}.wave i:nth-child(4){animation-delay:-.1s}.wave i:nth-child(5){animation-delay:-.65s}.wave i:nth-child(6){animation-delay:-.35s}.wave i:nth-child(7){animation-delay:-.8s}
@keyframes wave{to{height:16px}}
.said{font:400 22px/1.2 var(--f-display);color:var(--ink);padding:2px 4px}
.confirm{background:var(--rust-wash);border-radius:10px;padding:12px;display:grid;gap:8px;font-size:12.5px}
.fnote{margin:var(--s4) 0 0}

/* Page plumbing: skip links, the no-JS and reduced-motion fallbacks, and the waitlist form's states. */
.skip{position:absolute;left:16px;top:-60px;z-index:50;background:var(--raised);color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:8px 12px;font:600 13px/1 var(--f-text);text-decoration:none;cursor:pointer}
.skip:focus{top:12px}
.js .step p,.js .step .keys{display:none}
.js .step[aria-selected="true"] p{display:block}
.js .step[aria-selected="true"] .keys{display:flex}
.step p{display:block}
.step .keys{display:flex}
html:not(.motion) .replay{display:none}
.motion-paused .st.run,.motion-paused .think,.motion-paused .typed::after,.motion-paused .wave i{animation-play-state:paused}
.close .form{position:relative}
.close .status{margin:var(--s3) 0 0;font-size:13.5px;color:#fff;max-width:36em}
.close .status a,.close small a{color:inherit}
.form input[aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #e0845b;border-radius:999px}
.form .btn:disabled{opacity:.7;cursor:progress}
.nojs{max-width:40em;margin:0 auto;padding:12px 16px;font-size:13px;color:var(--faint)}
.theme-animate body,.theme-animate .nav{transition:background-color 220ms var(--ease-out),color 220ms var(--ease-out)}
.price{margin:12px 0 4px}
.price [data-show]{display:inline-flex;align-items:baseline;gap:8px}
.price b{color:var(--ink)}
.eyebrow.light{color:rgb(255 255 255/.8)}
.figr{display:flex;gap:16px;align-items:center}
.vs h3 svg{width:20px;height:20px;flex:none}
@media (max-width:640px){.iphone{width:264px;height:528px;border-radius:44px;padding:10px;transform:translateY(60px)}.pscreen{border-radius:35px}.phone-stage{height:420px}}

/* 11 Oct 2026, the next beta's look (dervo #85, #87, #91, #94): the stone mark, Dervo's face in running rows with the
   working line, one-column Home groups, and the checks step. Face strips are drawn by the app's own dervoFace.ts
   (stateFrames, small and quiet as in rows) and played the app's way: one steps() slide on a 12 fps grid. */
.brand svg{width:30px;height:24px}
.vs h3 svg{width:24px;height:20px}
.tagline{font:400 italic clamp(22px,2.3vw,30px)/1.2 var(--f-display);color:var(--muted);margin:var(--s3) 0 0;letter-spacing:-.005em}
.lede b{color:var(--ink);font-weight:600}
.nb{font:500 10.5px/1 var(--f-mono);font-style:normal;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);border:1px dashed var(--line2);border-radius:999px;padding:4px 7px;margin-left:8px;vertical-align:3px;white-space:nowrap}
.step h3 .nb{vertical-align:4px}
.vs li .nb{margin-left:4px;vertical-align:1px}

.face{position:relative;display:inline-block;flex:none;width:16px;height:16px;overflow:hidden;vertical-align:middle;color:var(--pine);contain:strict}
.face>i{position:absolute;top:0;bottom:0;left:0;width:calc(var(--n)*100%);background:currentColor;-webkit-mask:var(--strip) 0 0/100% 100% no-repeat;mask:var(--strip) 0 0/100% 100% no-repeat}
.face[data-face="write"]{--strip:url('shared/faces/write.svg');--n:24;--t:2s}
.face[data-face="run"]{--strip:url('shared/faces/run.svg');--n:48;--t:4s}
.face[data-face="done"]{--strip:url('shared/faces/done.svg');--n:12;--t:1s}
.face[data-face="done"]>i{transform:translateX(calc(-100% + 100% / var(--n)))}
.motion .face>i{animation:face-play var(--t) steps(var(--n)) infinite}
.motion .face[data-face="done"]>i{animation:face-once var(--t) steps(11) 1 both}
@keyframes face-play{from{transform:none}to{transform:translateX(-100%)}}
@keyframes face-once{from{transform:none}to{transform:translateX(calc(-100% + 100% / var(--n)))}}
.paused .face>i,.motion-paused .face>i{animation-play-state:paused}
.row .face{width:18px;height:18px;margin-top:1px}

/* Status marks the next beta adds: stopped (a circled x, never rust: rust means it needs you) */
.st.halt{border:1.5px solid var(--ink2);position:relative}
.st.halt::before,.st.halt::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:1.5px;background:var(--ink2);border-radius:1px;transform:translate(-50%,-50%) rotate(45deg)}
.st.halt::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* Hero window, in the one-column Home */
.si kbd{margin-left:auto;font-size:10px;padding:2px 4px}
.si .n{margin-left:auto;font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums}
.si time{margin-left:auto;font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.si .st{width:12px;height:12px;margin:0}
.si .st.need{border-width:3px}
.si .face{width:14px;height:14px}
.tree{margin-left:14px;padding-left:6px;border-left:1px solid var(--line)}
.sh2{display:flex;justify-content:space-between;font:600 11.5px/1 var(--f-text);color:var(--ink2);padding:8px 8px 4px}
.sh2 span{color:var(--faint);font-weight:500}
.usage{margin-top:auto;padding:14px 8px 4px;font-size:11.5px;color:var(--faint)}.usage b{color:var(--ink2);font-weight:600}
.side{min-height:100%}
.mhead .mr{margin-left:auto;display:flex;gap:16px}
.since{margin:4px 0 0;font-size:12.5px;color:var(--faint)}
.sum{color:var(--ink2);margin:0}.sum b{color:var(--ink);font-weight:600}
.gh{font:500 11px/1 var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:2px 0 8px}
.row .q{grid-column:2;margin-top:6px;color:var(--ink)}
.row .x{grid-column:2;font-size:12.5px;color:var(--ink2);font-weight:500;margin-top:2px}
.row .x .ok{color:var(--sage);font-weight:500;margin-left:10px}
.row .now{display:inline-block;background:var(--sunk);border-radius:6px;padding:2px 8px;margin-top:3px;color:var(--ink2)}
.row.need .act{margin-top:10px}
.chip.ghost{border-color:transparent;background:transparent;color:var(--ink2)}
.composer .pick{border:1px solid var(--line);border-radius:7px;padding:3px 8px;color:var(--ink);font-weight:500}
.composer .hint{color:var(--faint)}
@media (max-width:640px){.composer .hint,.mhead .mr,.row .act .chip.ghost{display:none}.row .q{font-size:13.5px}}

/* Tour step 05: checks */
.verdict{border:1px solid var(--line2);border-radius:10px;padding:12px 14px;display:grid;gap:10px;background:var(--raised);font-size:13.5px}
.verdict .vh{display:flex;gap:10px;align-items:baseline}.verdict .vh .st{flex:none;align-self:center}
.verdict .vh .st{margin:0}
.verdict .a{display:flex;gap:8px;flex-wrap:wrap}
.verdict.good{background:var(--sage-wash);border-color:transparent}

/* Phones (12 Oct): stacked comparison, ticks that hang, a form that fits, a phone mockup that isn't cut off */
@media (max-width:700px){
  .tbl{overflow:visible;border:0;background:none;border-radius:0}
  table,tbody,tr,th,td{display:block;min-width:0;width:auto}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  tbody{display:grid;gap:14px}
  tbody tr{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);overflow:hidden}
  tbody th{width:auto;border-top:0;padding:18px 18px 6px;font-size:17px}
  td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;padding:10px 18px;font-size:14.5px}
  td::before{font:500 11px/1.6 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}
  td:nth-of-type(1)::before{content:"STATUS.md or handoff file"}
  td:nth-of-type(2)::before{content:"Status dot or pane"}
  td.d{grid-template-columns:none;display:block;order:-1;margin:6px 10px 0;border-radius:12px;padding:12px 14px}
  td.d::before{content:"";font:inherit}
  tbody tr{display:flex;flex-direction:column;padding-bottom:10px}
  .ticks li,.plan li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px}
  .ticks li::before,.plan li::before{margin:6px 0 0;transform:rotate(45deg)}
  .phone-row{padding:var(--s5) var(--s4) 0}
  .phone-stage{height:400px}
  .iphone{width:240px;height:480px;border-radius:40px;padding:9px;transform:translateY(40px)}
  .pscreen{border-radius:32px;padding:46px 12px 12px}
  .person{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .form{flex-direction:column;border-radius:20px;padding:6px;max-width:none}
  .form input{height:48px;font-size:16px;padding:0 14px}
  .form .btn{width:100%;justify-content:center;height:48px}
  .hero-grid{margin-top:var(--s5)}
}

/* Phones, second pass (11 Oct): one-line beta pill, question before answers, whole phone mockup top */
.pill b{flex:none;white-space:nowrap}
@media (max-width:700px){
  tbody th{order:-2}
  td.d{position:relative;padding-right:72px}
  td.d::after{content:"Dervo";position:absolute;right:14px;top:50%;transform:translateY(-50%);font:500 11px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--live)}
  .phone-stage{height:460px}
  .island{top:16px;width:74px;height:22px}
  .pbar{top:13px}
  .pmac{margin-top:26px}
  .pscreen{padding-top:58px}
}
@media (max-width:640px){
  .pill .lg{display:none}
  .row .x .ok{display:block;margin:2px 0 0}
}
