/* Comparison pages (site/vs/*.html). Tokens and header/footer mirror index.html. */
:root { --ink:#1a1a1a; --paper:#faf9f7; --coral:#e65c48; --coral-hi:#f07a5f; --coral-deep:#c2402e; --muted:#8a8a86; --faint:#b5b2ad; --rule:#eceae6; }
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:Figtree,-apple-system,sans-serif; background:var(--paper); color:var(--ink); padding:0 24px; overflow-x:hidden; display:flex; flex-direction:column; align-items:center; }
#topbrand { position:fixed; top:14px; left:28px; z-index:50; display:flex; align-items:center; gap:8px; font-size:19px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); text-decoration:none; }
#topbrand svg { width:17px; display:block; margin-top:-1px; }
article { max-width:680px; width:100%; padding:120px 0 72px; }
.eyebrow { font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--coral); }
h1 { margin-top:14px; font-size:clamp(28px,6vw,42px); font-weight:700; letter-spacing:-0.025em; line-height:1.12; }
h1 em { font-style:normal; color:var(--coral); }
.lede { margin-top:18px; font-size:18px; line-height:1.55; color:var(--muted); font-weight:500; }
h2 { margin-top:52px; font-size:22px; font-weight:700; letter-spacing:-0.02em; }
p { margin-top:14px; font-size:16.5px; line-height:1.65; }
ul { margin-top:14px; padding-left:20px; }
li { margin-top:8px; font-size:16.5px; line-height:1.6; }
li strong { font-weight:600; }
a { color:var(--ink); text-decoration:none; border-bottom:1px solid #d8d5cf; }
a:hover { border-color:var(--coral); }
.short { margin-top:28px; padding:18px 22px 20px; background:#f3f1ee; border-radius:14px; }
.short ul { margin-top:0; }
.tablewrap { margin-top:20px; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--rule); border-radius:14px; background:#fff; }
table { width:100%; border-collapse:collapse; font-size:15px; min-width:600px; }
th, td { text-align:left; padding:12px 14px; vertical-align:top; border-bottom:1px solid var(--rule); line-height:1.45; }
th { font-weight:600; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); background:#f7f5f2; }
td:first-child { font-weight:600; width:26%; }
td:nth-child(2) { width:37%; }
tr:last-child td { border-bottom:0; }
td .no { color:var(--faint); }
/* The marks table: one glyph per cell, a qualifier only where a bare glyph would mislead. */
table.marks { min-width:0; }
table.marks td:first-child { width:46%; font-weight:600; }
table.marks td:nth-child(2) { width:27%; }
table.marks td.y, table.marks td.n, table.marks td.na, table.marks td.t { text-align:center; vertical-align:middle; }
table.marks th:nth-child(2), table.marks th:nth-child(3) { text-align:center; }
table.marks .g { font-size:17px; font-weight:700; line-height:1; display:block; }
table.marks td.y .g { color:var(--ink); }
table.marks td.n .g { color:var(--faint); }
table.marks td.na { color:var(--faint); font-weight:600; }
table.marks td.t { font-size:13.5px; font-weight:500; }
table.marks .q { display:block; margin-top:3px; font-size:12px; font-weight:500; color:var(--muted); line-height:1.3; }
.aside { margin-top:12px; font-size:14px; color:var(--muted); line-height:1.5; }
.who li { margin-top:10px; }
.cta-block { margin-top:56px; padding:30px 24px 28px; border-radius:18px; background:#1b1917; color:#fff; text-align:center; display:flex; flex-direction:column; align-items:center; }
.cta-block h2 { margin-top:0; color:#fff; font-size:22px; }
.cta-block p { color:rgba(255,255,255,.75); font-size:15.5px; max-width:460px; }
.cta { display:inline-block; margin-top:22px; background:var(--coral); color:#fff; font-size:16px; font-weight:600; padding:14px 30px; border-radius:12px; text-decoration:none; border:0; transition:background .15s ease,transform .15s ease; }
.cta:hover { background:var(--coral-deep); transform:translateY(-1px); }
.join { margin-top:22px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; width:100%; max-width:460px; position:relative; }
.join input[type="email"] { flex:1 1 220px; min-width:0; font:inherit; font-size:16px; font-weight:500; padding:13px 16px; border-radius:12px; border:1.5px solid rgba(255,255,255,.35); background:#fff; color:var(--ink); outline:none; }
.join input[type="email"]:focus { border-color:var(--coral); }
.join input::placeholder { color:var(--faint); }
.join .cta { margin-top:0; flex:none; cursor:pointer; font-family:inherit; line-height:normal; }
.join .cta:disabled { opacity:.6; cursor:default; transform:none; }
.join .hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.join-note { margin-top:12px; font-size:12.5px; color:rgba(255,255,255,.7); min-height:1.4em; }
.join-note.err { color:var(--coral-hi); }
.join-note.ok { color:#fff; font-weight:600; }
.meta { margin-top:12px; font-size:12.5px; color:rgba(255,255,255,.55); }
body[data-launch="waitlist"] .only-live { display:none !important; }
body[data-launch="live"] .only-waitlist { display:none !important; }
.more { margin-top:44px; padding-top:22px; border-top:1px solid var(--rule); font-size:14.5px; color:var(--muted); line-height:1.7; }
.checked { margin-top:22px; font-size:12.5px; color:var(--faint); line-height:1.6; }
.checked a { color:var(--faint); border-color:#e3e0da; }
footer { width:100vw; margin:0 calc(50% - 50vw); padding:48px 24px 44px; background:#1b1917; display:flex; flex-direction:column; align-items:center; gap:10px; font-size:12.5px; color:#8a8683; text-align:center; }
footer a { color:#b5b2ad; border:0; }
footer .mini { width:30px; color:#a8a49f; }
@media (max-width:480px) {
  body { padding:0 16px; } article { padding-top:96px; } #topbrand { left:16px; } h2 { margin-top:40px; }
  /* All three columns on a phone: no sideways scroll, the competitor is never off-screen. */
  table.marks td:first-child { width:48%; font-size:14px; padding:10px 10px; }
  table.marks td:nth-child(2), table.marks td:nth-child(3) { width:26%; padding:10px 6px; }
  table.marks td.t { font-size:12.5px; }
  table.marks .q { font-size:11px; }
}
