/* ═══════════════════════════════════════════════════════════════════════════
   SCOUT NETWORK — main.css
   One shared design system for all four sites. Redesign here = all sites change.
   Per-site difference is a single accent, driven by [data-site] on <body>.
   Served by the Worker at /styles/main.css and edge-cached.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── DESIGN TOKENS ─────────────────────────────────────────────────────── */
:root{
  --ink:#0F172A;
  --slate:#475569;
  --slate-light:#64748B;
  --surface:#FFFFFF;
  --bg:#F8FAFC;
  --bg-tint:#FCFDFE;
  --border:#E2E8F0;
  --border-strong:#CBD5E1;
  --amber:#F59E0B;
  --navy:#0F172A;
  --ok:#10B981;
  --bad:#DC2626;

  /* accent set per-site below; cyan/VPN is the default */
  --accent:#00C2FF;
  --accent-soft:rgba(0,194,255,0.10);
  --accent-line:rgba(0,194,255,0.30);
  --accent-ink:#0369A1;

  --maxw:1160px;
  --radius:13px;
  --shadow-card:0 18px 40px -26px rgba(15,23,42,.35);
  --shadow-deep:0 24px 60px -32px rgba(15,23,42,.6);

  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}

/* per-site theming — Worker sets data-site on <body> from the hostname */
[data-site="ai"]    {--accent:#6C63FF;--accent-soft:rgba(108,99,255,0.10);--accent-line:rgba(108,99,255,0.28);--accent-ink:#4F46E5;}
[data-site="vpn"]   {--accent:#00C2FF;--accent-soft:rgba(0,194,255,0.10);--accent-line:rgba(0,194,255,0.30);--accent-ink:#0369A1;}
[data-site="remote"]{--accent:#10B981;--accent-soft:rgba(16,185,129,0.10);--accent-line:rgba(16,185,129,0.28);--accent-ink:#047857;}
[data-site="saas"]  {--accent:#3B82F6;--accent-soft:rgba(59,130,246,0.10);--accent-line:rgba(59,130,246,0.28);--accent-ink:#1D4ED8;}

/* accent button text: light accents take dark text, dark accents take white */
[data-site="vpn"]   {--on-accent:#04121b;}
[data-site="remote"]{--on-accent:#04140e;}
[data-site="ai"]    {--on-accent:#ffffff;}
[data-site="saas"]  {--on-accent:#ffffff;}
:root{--on-accent:#04121b;}

/* ─── RESET & BASE ──────────────────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

/* accessibility quality floor */
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* ─── SITE HEADER ───────────────────────────────────────────────────────── */
.site-header{
  background:var(--surface);border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:40;
}
.site-header .container{display:flex;align-items:center;gap:28px;height:64px;}
.logo{
  display:flex;align-items:center;gap:9px;font-weight:700;font-size:17px;
  letter-spacing:-.01em;text-decoration:none;color:var(--ink);
}
.logo::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 0 4px var(--accent-soft);animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px var(--accent-soft);}50%{box-shadow:0 0 0 6px var(--accent-soft);}}
.site-header nav{display:flex;gap:24px;margin-left:auto;align-items:center;}
.site-header nav a{
  color:var(--slate);text-decoration:none;font-size:14px;font-weight:500;
  transition:color .15s;
}
.site-header nav a:hover{color:var(--ink);}
.nav-cta{
  background:var(--ink)!important;color:#fff!important;font-weight:600!important;
  padding:9px 16px;border-radius:8px;transition:transform .12s;
}
.nav-cta:hover{transform:translateY(-1px);}

/* ─── SECTION SCAFFOLD ──────────────────────────────────────────────────── */
.section{padding:56px 0;}
.section--alt{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.sec-eyebrow{
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent-ink);font-weight:600;margin-bottom:12px;
}
.sec-title{font-size:30px;letter-spacing:-.02em;font-weight:750;margin-bottom:12px;line-height:1.15;}
.sec-lead{font-size:16px;color:var(--slate);max-width:42em;margin-bottom:32px;}

/* main page wrappers — consistent vertical rhythm across page types */
.review-page,.comparison-page,.best-of-page,.guide-page,
.changelog-page,.methodology-page,.privacy-page{padding:36px 0 0;}

/* ─── CRUMBS ────────────────────────────────────────────────────────────── */
.crumbs{font-family:var(--font-mono);font-size:11.5px;color:var(--slate-light);margin-bottom:22px;}
.crumbs a{color:var(--accent-ink);text-decoration:none;}

/* ─── VERDICT BLOCK (signature element) ─────────────────────────────────── */
.verdict{
  background:var(--navy);border-left:5px solid var(--amber);border-radius:var(--radius);
  padding:30px 34px;color:#fff;position:relative;box-shadow:var(--shadow-deep);margin-bottom:4px;
}
.verdict-tag{
  position:absolute;top:24px;right:30px;font-family:var(--font-mono);
  font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--amber);
}
.verdict-rating{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;}
.verdict-score{font-family:var(--font-mono);font-size:34px;font-weight:700;color:#fff;}
.verdict-score small{font-size:16px;color:var(--slate-light);font-weight:500;}
.verdict-name{font-size:20px;font-weight:700;letter-spacing:-.01em;}
.verdict-body{font-size:15.5px;line-height:1.6;color:#CBD5E1;max-width:50em;}
.verdict-body strong{color:#fff;font-weight:600;}
.verdict-row{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap;}
.verdict-btn{
  background:var(--amber);color:#1a1206;font-weight:650;font-size:14px;
  text-decoration:none;padding:12px 20px;border-radius:9px;transition:transform .12s;
}
.verdict-btn:hover{transform:translateY(-1px);}
.verdict-meta{font-family:var(--font-mono);font-size:11px;color:var(--slate-light);}
.verdict-meta strong{color:#94A3B8;font-weight:600;}

/* ─── AUTHOR / E-E-A-T BAR ──────────────────────────────────────────────── */
.author-bar{
  display:flex;align-items:center;gap:14px;padding:16px 0;margin:24px 0 8px;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.author-avatar{
  width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;
}
.author-info{flex:1;}
.author-name{font-weight:650;font-size:14px;}
.author-meta{font-size:12.5px;color:var(--slate);}
.author-meta a{color:var(--accent-ink);text-decoration:none;font-weight:600;}
.author-verified{font-family:var(--font-mono);font-size:11px;color:var(--slate-light);text-align:right;line-height:1.4;}
.author-verified .v{color:var(--ok);font-weight:600;}

/* ─── QUICK STATS (instrument readout) ──────────────────────────────────── */
.quick-stats{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:28px 0;
}
.qs{background:var(--surface);padding:18px 16px;}
.qs-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate-light);font-weight:600;margin-bottom:8px;}
.qs-value{font-family:var(--font-mono);font-size:18px;font-weight:600;color:var(--ink);}
.qs-value small{font-size:11px;}
.qs-value.good{color:var(--ok);}

/* live-data strip used by review shell */
.live-data{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:18px 0 8px;font-family:var(--font-mono);font-size:13px;color:var(--slate);}
.live-data .price strong{color:var(--ink);}
.live-data .badge-free{background:var(--accent-soft);color:var(--accent-ink);font-weight:600;padding:3px 9px;border-radius:6px;font-size:11px;}
.live-data .verified{color:var(--slate-light);}

/* ─── WHO FOR / NOT FOR ─────────────────────────────────────────────────── */
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 28px;}
.who{border:1px solid var(--border);border-radius:var(--radius);padding:22px;background:var(--surface);}
.who--not{border-color:#FCA5A5;background:#FEF2F2;}
.who h4{font-size:13px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;margin-bottom:13px;}
.who--for h4{color:var(--accent-ink);}
.who--not h4{color:#B91C1C;}
.who ul{list-style:none;}
.who li{font-size:14px;color:var(--slate);padding:7px 0 7px 22px;position:relative;line-height:1.45;}
.who--for li::before{content:"+";position:absolute;left:0;color:var(--accent-ink);font-weight:700;font-family:var(--font-mono);}
.who--not li::before{content:"\2212";position:absolute;left:0;color:#B91C1C;font-weight:700;font-family:var(--font-mono);}

/* ─── MEASURED PERFORMANCE TABLE ────────────────────────────────────────── */
.perf{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:8px 0 28px;}
.perf-head,.perf-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center;}
.perf-head{background:var(--ink);color:var(--slate-light);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;}
.perf-head div{padding:13px 16px;}
.perf-row{border-top:1px solid var(--border);background:var(--surface);}
.perf-row div{padding:15px 16px;font-family:var(--font-mono);font-size:14px;}
.perf-row .loc{font-family:var(--font-body);font-weight:600;font-size:14px;}
.perf-row .loc small{display:block;font-weight:400;color:var(--slate-light);font-size:11px;font-family:var(--font-mono);margin-top:2px;}
.delta{font-weight:600;}
.delta.up{color:var(--ok);}
.delta.down{color:var(--bad);}
.delta.flat{color:var(--slate-light);}

/* ─── COMPARISON: DUAL VERDICT ──────────────────────────────────────────── */
.compare-verdict{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;margin-bottom:4px;}
.compare-side{background:var(--navy);padding:26px 28px;color:#fff;}
.compare-side:first-child{border-radius:var(--radius) 0 0 var(--radius);}
.compare-side .who-tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;color:var(--slate-light);font-weight:600;margin-bottom:10px;}
.compare-side .nm{font-size:21px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px;}
.compare-side .sc{font-family:var(--font-mono);font-size:30px;font-weight:700;}
.compare-side .sc small{font-size:15px;color:var(--slate-light);}
.compare-side--win{border-top:4px solid var(--amber);}
.compare-side--win .who-tag{color:var(--amber);}
.compare-side--lose{opacity:.62;border-top:4px solid transparent;}
.compare-vs{display:flex;align-items:center;justify-content:center;background:#060B14;color:var(--slate);padding:0 22px;font-family:var(--font-mono);font-weight:700;font-size:13px;}
.compare-statement{background:var(--navy);border-left:5px solid var(--amber);border-radius:0 0 var(--radius) var(--radius);padding:24px 30px;color:#CBD5E1;font-size:15.5px;line-height:1.6;box-shadow:var(--shadow-deep);}
.compare-statement strong{color:#fff;}

/* comparison cards (simpler variant used by current shell) */
.comparison-cards{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:22px 0;}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;text-align:center;}
.tool-card h2{font-size:18px;margin-bottom:10px;}
.tool-card span{display:block;font-family:var(--font-mono);font-size:13px;color:var(--slate);margin-top:4px;}
.comparison-cards .vs{font-family:var(--font-mono);font-weight:700;color:var(--slate-light);}

/* ─── HEAD-TO-HEAD TABLE ────────────────────────────────────────────────── */
.h2h{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:8px 0 28px;}
.h2h-row{display:grid;grid-template-columns:1fr 1.1fr 1.1fr;align-items:center;border-top:1px solid var(--border);}
.h2h-row:first-child{border-top:none;}
.h2h-row.head{background:var(--ink);}
.h2h-row.head div{padding:14px 18px;color:#fff;font-weight:650;font-size:14px;}
.h2h-row.head .hl{color:var(--slate-light);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;}
.h2h-row > div{padding:15px 18px;}
.h2h-row .lab{font-size:13px;color:var(--slate);font-weight:500;}
.h2h-row .cell{font-family:var(--font-mono);font-size:14px;color:var(--ink);display:flex;align-items:center;gap:8px;}
.h2h-row .cell.winner{background:var(--accent-soft);font-weight:600;}
.h2h-row .cell .wmark{font-size:10px;color:var(--accent-ink);font-weight:700;}
.h2h-row:nth-child(even):not(.head){background:var(--bg-tint);}

/* ─── CHOOSE-IF & ALTERNATIVES ──────────────────────────────────────────── */
.choose-if{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 28px;}
.choose{border:1px solid var(--border);border-radius:var(--radius);padding:22px;background:var(--surface);}
.choose .ch-nm{font-weight:700;font-size:16px;margin-bottom:4px;}
.choose .ch-sub{font-size:12px;color:var(--slate-light);font-family:var(--font-mono);margin-bottom:14px;}
.choose ul{list-style:none;}
.choose li{font-size:13.5px;color:var(--slate);padding:6px 0 6px 20px;position:relative;line-height:1.45;}
.choose li::before{content:"\2192";position:absolute;left:0;color:var(--accent-ink);font-weight:700;}
.choose .ch-cta{display:inline-block;margin-top:14px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:1px;}

.alts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 28px;}
.alt{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;transition:transform .14s,border-color .14s;}
.alt:hover{transform:translateY(-2px);border-color:var(--accent-line);}
.alt .a-nm{font-weight:650;font-size:15px;color:var(--ink);margin-bottom:4px;}
.alt .a-rs{font-size:12.5px;color:var(--slate);line-height:1.45;}
.alt .a-sc{font-family:var(--font-mono);font-size:12px;color:var(--accent-ink);font-weight:600;margin-top:8px;}

/* ─── BEST-OF LIST ──────────────────────────────────────────────────────── */
.tools-list{margin:8px 0 28px;}
.tool-row{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px 20px;margin-bottom:12px;transition:border-color .14s,transform .14s;
}
.tool-row:hover{border-color:var(--accent-line);transform:translateY(-2px);}
.tool-row .rank{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--accent-ink);width:42px;text-align:center;}
.tool-row h3{font-size:16px;margin-bottom:4px;}
.tool-row h3 a{color:var(--ink);text-decoration:none;}
.tool-row h3 a:hover{color:var(--accent-ink);}
.tool-row p{font-size:13.5px;color:var(--slate);margin-bottom:6px;line-height:1.5;}
.tool-row span{font-family:var(--font-mono);font-size:12px;color:var(--slate-light);margin-right:14px;}

/* ─── GEO PAGE ──────────────────────────────────────────────────────────── */
.geo-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-line);padding:5px 11px;border-radius:100px;margin-bottom:18px;}
.geo-note{display:flex;gap:10px;align-items:flex-start;background:var(--bg);border:1px solid var(--border);border-radius:11px;padding:14px 16px;margin:22px 0 4px;font-size:13px;color:var(--slate);line-height:1.55;}
.geo-note .gmark{font-family:var(--font-mono);color:var(--accent-ink);font-weight:700;flex-shrink:0;}

/* ─── SMART FILTER (deferred — placeholder only) ────────────────────────── */
.smart-filter{
  background:linear-gradient(180deg,#fff,var(--bg));
  border:1.5px solid var(--border-strong);border-radius:16px;padding:22px 24px;
  position:relative;overflow:hidden;margin:24px 0;
}
.smart-filter::after{
  content:"COMING SOON";position:absolute;top:14px;right:-30px;transform:rotate(45deg);
  background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);
  font-size:10px;font-weight:700;letter-spacing:.1em;padding:4px 38px;
}
.smart-filter h2{font-size:15px;font-weight:650;margin-bottom:6px;}
.smart-filter input,.smart-filter button{opacity:.6;pointer-events:none;}
.smart-filter input{
  width:100%;font-family:var(--font-body);font-size:15px;color:var(--slate);
  padding:14px 16px;border:1.5px solid var(--border-strong);border-radius:10px;background:#fff;margin-top:8px;
}
.smart-filter button{
  margin-top:10px;font-family:var(--font-body);font-size:14.5px;font-weight:650;
  background:var(--accent);color:var(--on-accent);border:none;padding:13px 22px;border-radius:10px;
}
.smart-filter .filter-note{font-size:12.5px;color:var(--slate-light);margin-top:11px;line-height:1.5;}
.smart-filter .filter-tags,#filter-results{display:none;}

/* ── Reusable "COMING SOON" treatment — matches the Smart Filter placeholder ── */
.coming-soon{position:relative;overflow:hidden;}
.coming-soon::after{
  content:"COMING SOON";position:absolute;top:14px;right:-30px;transform:rotate(45deg);
  background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);
  font-size:10px;font-weight:700;letter-spacing:.1em;padding:4px 38px;z-index:2;
}
.coming-soon input,.coming-soon button,.coming-soon form{opacity:.55;pointer-events:none;}
.email-capture.coming-soon .capture-note{font-size:12.5px;color:#94A3B8;margin-top:14px;}
/* Nav links/CTAs marked coming-soon (grayed, non-clickable, "soon" badge) */
.nav-soon{opacity:.5;pointer-events:none;cursor:default;}
.nav-soon::after{content:"soon";font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-left:5px;vertical-align:super;}
.nav-cta.nav-soon{opacity:.55;}
.nav-cta.nav-soon::after{color:var(--on-accent);}

/* ── Directory: full browse of every published page (progressive enhancement) ── */
.directory{margin:28px 0;border:1.5px solid var(--border-strong);border-radius:16px;padding:20px 22px;background:linear-gradient(180deg,#fff,var(--bg))}
.dir-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.dir-head h2{font-size:16px;font-weight:700;margin:0}
.dir-count{font-family:var(--font-mono);font-size:11.5px;color:var(--slate-light)}
.dir-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
#dir-search{flex:1;min-width:200px;font-family:var(--font-body);font-size:14.5px;padding:11px 14px;border:1.5px solid var(--border-strong);border-radius:10px;background:#fff}
#dir-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.dir-chips{display:flex;gap:6px;flex-wrap:wrap}
.dir-chip{font-family:var(--font-body);font-size:13px;font-weight:600;padding:8px 13px;border:1.5px solid var(--border-strong);border-radius:999px;background:#fff;color:var(--slate);cursor:pointer}
.dir-chip.is-on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.dir-cmp-toggle{font-family:var(--font-body);font-size:13px;font-weight:600;padding:8px 14px;border:1.5px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--slate);cursor:pointer;margin-left:auto}
.dir-cmp-toggle.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.dir-cmp-toggle:disabled{opacity:.4;cursor:not-allowed}
/* Panel is HIDDEN by default and revealed by the toggle (via .cmp-on). Driven by a
   class, not the [hidden] attribute — an author display rule would override [hidden]. */
.dir-cmp-bar{display:none;align-items:center;gap:10px;flex-wrap:wrap;background:var(--accent-soft);border-radius:10px;padding:12px 14px;margin-bottom:12px;font-size:13.5px}
.directory.cmp-on .dir-cmp-bar{display:flex}
.cmp-field{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--slate)}
.cmp-field select{font-family:var(--font-body);font-size:13.5px;font-weight:500;color:var(--ink);padding:8px 10px;border:1.5px solid var(--border-strong);border-radius:8px;background:#fff;max-width:220px}
.cmp-field select:disabled{opacity:.55;cursor:not-allowed}
.cmp-field select:focus{outline:none;border-color:var(--accent)}
.dir-cmp-status{color:var(--slate-light);font-size:12.5px}
.dir-empty{color:var(--slate-light);font-size:13.5px;padding:8px 2px}
.dir-list{display:flex;flex-direction:column;gap:2px}
.dir-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;text-decoration:none;color:inherit;border:1px solid transparent}
.dir-row:hover{background:#fff;border-color:var(--border)}
.dir-kind{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:5px;flex:none;width:92px;text-align:center}
.dir-label{font-weight:600;font-size:14.5px}

/* ─── EMAIL CAPTURE (hero conversion) ───────────────────────────────────── */
.email-capture{
  background:var(--ink);border-radius:20px;padding:40px;text-align:center;color:#fff;margin:36px 0;
  background-image:radial-gradient(100% 120% at 50% 0%,rgba(255,255,255,.05),transparent 60%);
}
.email-capture h3{font-size:24px;font-weight:750;letter-spacing:-.02em;margin-bottom:10px;}
.email-capture p{font-size:15px;color:#94A3B8;max-width:34em;margin:0 auto 24px;}
.email-capture form{display:flex;gap:8px;max-width:440px;margin:0 auto;}
.email-capture input{
  flex:1;font-family:var(--font-body);font-size:15px;color:#fff;
  padding:14px 16px;border:1.5px solid rgba(255,255,255,.14);border-radius:10px;
  background:rgba(255,255,255,.06);
}
.email-capture input::placeholder{color:var(--slate);}
.email-capture input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);}
.email-capture button{
  font-family:var(--font-body);font-size:14.5px;font-weight:650;white-space:nowrap;cursor:pointer;
  background:var(--accent);color:var(--on-accent);border:none;padding:14px 22px;border-radius:10px;transition:transform .12s;
}
.email-capture button:hover{transform:translateY(-1px);}

/* ─── CHANGELOG ─────────────────────────────────────────────────────────── */
.change-item{
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;
  background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);
  border-radius:10px;padding:14px 18px;margin-bottom:10px;
}
.change-item.change-high{border-left-color:var(--amber);}
.change-item strong{font-size:14.5px;}
.change-item span{font-size:13.5px;color:var(--slate);}
.change-item span:last-child{font-family:var(--font-mono);font-size:11px;color:var(--slate-light);margin-left:auto;}

/* ─── ARTICLE PROSE (markdown-rendered narrative_content) ───────────────── */
article{max-width:46em;margin:8px 0 28px;}
article h1{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:32px 0 14px;line-height:1.15;}
article h2{font-size:23px;font-weight:700;letter-spacing:-.015em;margin:30px 0 12px;}
article h3{font-size:18px;font-weight:650;margin:24px 0 10px;}
article p{font-size:16px;color:var(--slate);line-height:1.7;margin-bottom:16px;}
article strong{color:var(--ink);font-weight:650;}
article a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px;}
article ul,article ol{margin:0 0 16px 22px;}
article li{font-size:16px;color:var(--slate);line-height:1.6;margin-bottom:6px;}
article table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:14px;}
article td{border:1px solid var(--border);padding:11px 14px;}
article tr:first-child td{background:var(--bg);font-weight:600;color:var(--ink);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
article .data,article .price,article .rating{font-family:var(--font-mono);}

/* methodology / privacy prose */
.methodology-page h1,.privacy-page h1{font-size:32px;font-weight:800;letter-spacing:-.025em;margin-bottom:18px;}
.methodology-page h2,.privacy-page h2{font-size:20px;font-weight:700;margin:28px 0 10px;}
.methodology-page p,.privacy-page p{font-size:16px;color:var(--slate);line-height:1.7;margin-bottom:14px;max-width:46em;}
.methodology-page .author-bar{margin-bottom:24px;}

/* ─── DISCLOSURE ────────────────────────────────────────────────────────── */
.disclosure{
  font-size:12.5px;color:var(--slate-light);line-height:1.5;
  background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin:20px 0;
}

/* ─── FOOTER ────────────────────────────────────────────────────────────── */
.site-footer{background:var(--ink);color:var(--slate-light);padding:44px 0 36px;margin-top:48px;}
.site-footer p{font-size:12.5px;line-height:1.6;max-width:46em;margin-bottom:10px;}
.site-footer .permit{display:inline-block;font-family:var(--font-mono);font-size:10.5px;color:var(--slate-light);border:1px solid rgba(255,255,255,.1);padding:4px 9px;border-radius:6px;margin-bottom:12px;}
.site-footer nav{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);}
.site-footer nav a{color:var(--slate-light);text-decoration:none;font-size:13px;transition:color .15s;}
.site-footer nav a:hover{color:#fff;}
.disc-ar{direction:rtl;unicode-bidi:isolate;}

/* ─── CTA BAND (reusable) ───────────────────────────────────────────────── */
.cta-band{background:var(--ink);border-radius:20px;padding:44px;text-align:center;color:#fff;margin:36px 0;}
.cta-band h2{font-size:26px;font-weight:750;letter-spacing:-.02em;margin-bottom:10px;}
.cta-band p{font-size:15px;color:var(--slate-light);max-width:34em;margin:0 auto 24px;}

/* ─── UTILITIES ─────────────────────────────────────────────────────────── */
.hidden{display:none!important;}

/* ─── RESPONSIVE ────────────────────────────────────────────────────────── */
@media(max-width:920px){
  .who-grid,.choose-if,.compare-verdict,.comparison-cards{grid-template-columns:1fr;}
  .compare-side:first-child{border-radius:var(--radius) var(--radius) 0 0;}
  .compare-vs{padding:12px;}
  .alts{grid-template-columns:1fr;}
  .quick-stats{grid-template-columns:1fr 1fr 1fr;}
  .site-header nav > :not(.nav-cta){display:none;}
  .sec-title{font-size:25px;}
}
@media(max-width:560px){
  .container{padding:0 18px;}
  .quick-stats,.h2h-row,.perf-head,.perf-row{grid-template-columns:1fr 1fr;}
  .email-capture form{flex-direction:column;}
  .email-capture{padding:28px 20px;}
  .verdict{padding:24px 22px;}
  .verdict-tag{position:static;display:block;margin-bottom:10px;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
