/* VS PAGES v2 — light, clean editorial layout. Shared by /vs/*. Keep render-blocking. */
:root{--accent:#2733d9;--accent-ink:#1f2abf;--bg:#ffffff;--band:#f7f8f6;--card-bg:#ffffff;--text:#101410;--text-dim:#46504a;--text-muted:#8a908a;--border:rgba(10,20,10,0.1);--green:#1e9e58;--red:#d2372e}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:#fff;color-scheme:light}
body{font-family:'Schibsted Grotesk',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
.btn-bracket{font-size:0.85rem;font-weight:600;color:#fff;text-decoration:none;letter-spacing:0;text-transform:none;background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:10px 20px;transition:color 0.2s,background 0.2s,border-color 0.2s,box-shadow 0.2s,transform 0.2s;display:inline-flex;align-items:center;gap:6px}
.btn-bracket:hover{background:#1f2abf;border-color:#1f2abf;color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px rgba(39,51,217,0.35)}
.btn-bracket-accent{background:#2733d9;border-color:#2733d9;color:#fff;font-weight:700}
.btn-bracket-accent:hover{background:#1f2abf;border-color:#1f2abf;color:#fff;box-shadow:0 6px 20px rgba(39,51,217,0.3);}

/* ─── HERO ─── */
.hero{padding:40px 32px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--band) 0%,#ffffff 70%);position:relative;overflow:hidden}
.hero::after{content:none}
.hero-inner{max-width:1000px;margin:0 auto;text-align:center}
.vs-badge{display:inline-flex;align-items:center;gap:12px;font-size:0.8rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;background:#fff;padding:7px 18px;margin-bottom:18px;font-family:'Schibsted Grotesk',sans-serif}
.vs-badge .sq{width:7px;height:7px;border-radius:2px;background:var(--accent)}
.hero h1{font-size:clamp(2rem,3.6vw,3rem);font-weight:700;letter-spacing:-0.045em;line-height:1.12;color:var(--text);margin-bottom:18px;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--accent-ink)}
.hero-sub{font-size:1rem;line-height:1.65;color:var(--text-dim);max-width:720px;margin:0 auto 24px}
.hero-btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

/* ─── WRAP ─── */
.wrap{max-width:1000px;margin:0 auto;padding:80px 32px 120px;flex:1}
@media(max-width:640px){.wrap{padding:48px 20px 80px}.hero{padding:56px 20px 48px}}

/* ─── SECTION LABELS ─── */
.section-label{font-size:0.85rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--accent-ink);font-family:'Schibsted Grotesk',sans-serif;display:flex;align-items:center;gap:8px;margin-bottom:20px;margin-top:72px}
.section-label::before{content:'';width:22px;height:3px;border-radius:2px;background:var(--accent);flex-shrink:0}
.section-label:first-child{margin-top:0}
h2{font-size:clamp(1.5rem,3.5vw,2.4rem);font-weight:700;letter-spacing:-0.03em;color:var(--text);margin-bottom:24px;line-height:1.15}
.body-text{font-size:1rem;line-height:1.85;color:var(--text-dim);margin-bottom:40px}

/* ─── DISCLAIMER ─── */
.disclaimer{background:var(--band);border:1px solid var(--border);border-radius:12px;padding:14px 20px;margin-bottom:64px;font-size:0.82rem;line-height:1.6;color:var(--text-muted)}
.disclaimer strong{color:var(--text-dim);letter-spacing:0.02em}
.disclaimer a{color:var(--accent-ink)}

/* ─── COMPARISON TABLE ─── */
.comp-wrap{overflow-x:auto;margin-bottom:72px;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px rgba(16,20,16,0.05)}
.comp-table{width:100%;border-collapse:collapse;min-width:560px}
.comp-table thead tr{border-bottom:1px solid var(--border)}
.comp-table thead th{font-size:0.78rem;font-weight:700;letter-spacing:0.02em;text-transform:none;padding:18px 24px;font-family:'Schibsted Grotesk',sans-serif}
.th-feat{text-align:left;color:var(--text-muted);background:var(--band);width:44%}
.th-sentinel{color:#fff;text-align:center;background:var(--accent);width:28%;font-size:0.82rem}
.th-competitor{color:var(--text-muted);text-align:center;background:var(--band);width:28%}
.comp-table tbody td{padding:16px 24px;font-size:0.9rem;border-bottom:1px solid rgba(10,20,10,0.06);vertical-align:middle;line-height:1.45}
.feat-name{color:var(--text-dim);font-weight:500;text-align:left;font-size:0.9rem}
.feat-sentinel{text-align:center;background:rgba(39,51,217,0.07);font-family:'JetBrains Mono',monospace;font-size:0.82rem;color:var(--text-dim)}
.feat-competitor{text-align:center;font-family:'JetBrains Mono',monospace;font-size:0.82rem;color:var(--text-muted)}
.feat-sentinel.win{color:#1f2abf;font-weight:700;background:rgba(39,51,217,0.16);font-size:0.88rem}
.feat-competitor.win-comp{color:var(--text-dim)}
.feat-competitor.lose{color:#b0564d;font-weight:500}
.comp-table tbody tr:last-child td{border-bottom:none}
.comp-table tbody tr:hover .feat-name{color:var(--text)}
.comp-table tbody tr:hover .feat-sentinel.win{background:rgba(39,51,217,0.24)}

/* ─── STRENGTHS / WEAKNESSES ─── */
.sw-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:72px}
.sw-card{padding:36px 32px;border-radius:16px}
.sw-card.sw-strengths{border:1px solid rgba(30,158,88,0.25);background:#f0faf4}
.sw-card.sw-weaknesses{border:1px solid rgba(210,55,46,0.2);background:#fdf1f0}
.sw-head{font-size:0.8rem;font-weight:700;letter-spacing:0.02em;text-transform:none;font-family:'Schibsted Grotesk',sans-serif;margin-bottom:22px;display:flex;align-items:center;gap:8px}
.sw-head::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.sw-card.sw-strengths .sw-head{color:var(--green)}
.sw-card.sw-weaknesses .sw-head{color:var(--red)}
.sw-card ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.sw-card li{font-size:0.9rem;color:var(--text-dim);padding-left:20px;position:relative;line-height:1.65}
.sw-card.sw-strengths li::before{content:'+';position:absolute;left:0;color:var(--green);font-weight:700;font-size:0.9rem;line-height:1.5}
.sw-card.sw-weaknesses li::before{content:'−';position:absolute;left:0;color:var(--red);font-weight:700;font-size:1rem;line-height:1.5}
@media(max-width:640px){.sw-grid{grid-template-columns:1fr}.sw-card{padding:24px 20px}}

/* ─── PRICING CARD ─── */
.pricing-card{margin-bottom:72px}
.pricing-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pricing-col{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:36px 32px;box-shadow:0 1px 2px rgba(16,20,16,0.05)}
.pricing-col.pricing-sentinel{border-color:rgba(39,51,217,0.3);background:#f3f4fd}
.p-vendor{font-size:0.74rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;font-family:'JetBrains Mono',monospace;margin-bottom:14px;color:var(--text-muted);display:flex;align-items:center;gap:8px}
.p-vendor::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;opacity:0.5;flex-shrink:0}
.pricing-col.pricing-sentinel .p-vendor{color:var(--accent-ink)}
.pricing-col.pricing-sentinel .p-vendor::before{background:var(--accent);opacity:1}
.p-main{font-size:1.9rem;font-weight:700;letter-spacing:-0.03em;color:var(--text);margin-bottom:12px;line-height:1.1}
.pricing-col.pricing-sentinel .p-main{color:var(--text)}
.p-detail{font-size:0.9rem;line-height:1.7;color:var(--text-dim);padding-top:12px;border-top:1px solid rgba(10,20,10,0.07)}
@media(max-width:640px){.pricing-cols{grid-template-columns:1fr}}

/* ─── VERDICT / WHO SHOULD USE ─── */
.verdict-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:72px}
.verdict-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:36px 32px;box-shadow:0 1px 2px rgba(16,20,16,0.05)}
.verdict-card.sentinel-verdict{background:#f3f4fd;border-color:rgba(39,51,217,0.3)}
.verdict-head{font-size:0.8rem;font-weight:700;letter-spacing:0.02em;text-transform:none;font-family:'Schibsted Grotesk',sans-serif;color:var(--text-muted);margin-bottom:18px;display:flex;align-items:center;gap:8px}
.verdict-card.sentinel-verdict .verdict-head{color:var(--accent-ink)}
.verdict-head::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.verdict-card ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.verdict-card li{font-size:0.9rem;color:var(--text-dim);padding-left:20px;position:relative;line-height:1.65}
.verdict-card li::before{content:'→';position:absolute;left:0;color:var(--text-muted);font-size:0.8rem;line-height:1.7}
.verdict-card.sentinel-verdict li::before{color:var(--accent-ink)}
@media(max-width:640px){.verdict-grid{grid-template-columns:1fr}}

/* ─── CTA BLOCK ─── */
.cta-block{background:var(--accent);border:none;border-radius:24px;padding:60px 48px;text-align:center;position:relative;overflow:hidden;margin-bottom:72px}
.cta-block::before,.cta-block::after{content:none}
.cta-block h2{margin-bottom:12px;position:relative;color: #fff}
.cta-block p{font-size:0.95rem;color: rgba(255,255,255,0.65);margin-bottom:32px;max-width:480px;margin-left:auto;margin-right:auto;position:relative}
.cta-block .btn-bracket{background:#101410;border-color:#101410;color:#fff}
.cta-block .btn-bracket:hover{background:#232823;border-color:#232823;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,0.2)}
.cta-btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;position:relative}

/* ─── FAQ ─── */
.faq-section{margin-top:72px;padding-top:48px;border-top:1px solid var(--border)}
.faq-label{font-size:0.85rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--accent-ink);font-family:'Schibsted Grotesk',sans-serif;display:flex;align-items:center;gap:8px;margin-bottom:20px}
.faq-label::before{content:'';width:22px;height:3px;border-radius:2px;background:var(--accent);flex-shrink:0}
.faq-h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:700;letter-spacing:-0.025em;color:var(--text);margin-bottom:40px}
.faq-item{border-bottom:1px solid var(--border);padding:28px 0}
.faq-item:last-child{border-bottom:none}
.faq-q{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.faq-icon{width:24px;height:24px;background:rgba(39,51,217,0.08);border:1px solid rgba(39,51,217,0.18);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;color:var(--accent-ink)}
.faq-q h3{font-size:1.02rem;font-weight:700;color:var(--text);letter-spacing:-0.01em;line-height:1.4}
.faq-a{font-size:0.95rem;line-height:1.85;color:var(--text-dim);padding-left:38px}

/* ─── ALSO COMPARE ─── */
.also-compare{margin-top:64px;padding-top:48px;border-top:1px solid var(--border)}
.also-compare h3{font-size:0.95rem;font-weight:700;color:var(--text);margin-bottom:20px;letter-spacing:-0.01em}
.also-links{display:flex;gap:10px;flex-wrap:wrap}
.also-link{font-size:0.85rem;font-weight:500;color:var(--text-dim);text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:8px 16px;letter-spacing:0;text-transform:none;transition:color 0.2s,background 0.2s,border-color 0.2s,box-shadow 0.2s,transform 0.2s;background:#fff}
.also-link:hover{border-color:rgba(16,20,16,0.3);color:var(--text)}

/* ── Paper (2026-09-22): the homepage's system ──────────────────────────
   Replaces the 2026-09-05 night hero: warm paper, ink, the Newsreader serif
   for the title and section headings, white cards; ultramarine the only
   accent. No panel, no glow, no grid behind the title. */
@font-face { font-family:'Newsreader'; font-style:normal; font-weight:300 600; font-display:swap; src:url(/assets/fonts/newsreader-var-latin-ext.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Newsreader'; font-style:normal; font-weight:300 600; font-display:swap; src:url(/assets/fonts/newsreader-var-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root { --serif:'Newsreader','Iowan Old Style',Georgia,serif; }
html, html body { background:#f9f8f4; }
main > .hero::before, main > .hero::after { content:none; }
main > .hero h1, main > .hero .hero-h1 {
    font-family:var(--serif); font-weight:400 !important; font-size:clamp(2.3rem,4.4vw,3.6rem); line-height:1.06; letter-spacing:-.022em;
    font-optical-sizing:none; font-variation-settings:'opsz' 40; text-wrap:balance; color:#15161a;
}
main > .hero h1 em, main > .hero .hero-h1 em { font-style:normal; color:#2733d9; }
main h2:not([class*="card"] h2):not(.sr-only) { font-family:var(--serif); font-weight:400 !important; letter-spacing:-.018em; font-optical-sizing:none; font-variation-settings:'opsz' 36; }
/* Live coverage figures: on the page, serif figures, mono captions (the homepage's reading). */
body .stats-bar { background:transparent; }
body .stats-bar .stat-num { font-family:var(--serif); font-weight:400 !important; letter-spacing:-.025em; font-optical-sizing:none; font-variation-settings:'opsz' 48; font-variant-numeric:lining-nums; }
body .stats-bar .stat-label { font-family:'JetBrains Mono',ui-monospace,monospace; font-weight:500; }
/* One primary per view: plain .btn-bracket is the white secondary, only .btn-bracket-accent is filled. */
body .btn-bracket:not(.btn-bracket-accent) { background:#fff; color:#15161a; border-color:rgba(21,22,26,.14); box-shadow:0 1px 2px rgba(21,22,26,.05); }
body .btn-bracket:not(.btn-bracket-accent):hover { background:#fff; color:#15161a; border-color:rgba(21,22,26,.3); box-shadow:0 1px 2px rgba(21,22,26,.08); }
body .btn-bracket-accent { background:#2733d9; border-color:#1e28b4; color:#fff; }
/* Bare <code>/<kbd>/<pre> use the site mono (no font rule fell back to Courier). */
code, kbd, samp, pre { font-family:'JetBrains Mono',ui-monospace,'SF Mono',monospace; }
/* Controls take the page face, not the browser default. */
button, input, select, textarea { font-family:inherit; }
/* The closing call-to-action is a recessed paper card like the homepage close, not a blue slab. */
body .cta-block { background:#f1efe8; box-shadow:inset 0 0 0 1px #e4e1d8; }
body .cta-block h2 { color:#15161a; font-family:var(--serif); font-weight:400 !important; letter-spacing:-.02em; }
body .cta-block p { color:#64625c; }
body .cta-block .btn-bracket-accent { background:#2733d9; border-color:#1e28b4; color:#fff; }
body .cta-block .btn-bracket-accent:hover { background:#1f2abf; border-color:#1f2abf; color:#fff; box-shadow:none; }
/* The title sits on the page, not on a band that fades to white. */
body .hero { background:transparent; }
body .btn-bracket { text-decoration:none; }
/* Comparison table: our column marked by a rule, not a solid blue slab. */
body .th-sentinel { background:#f1efe8; color:#15161a; box-shadow:inset 0 -2px 0 #2733d9; }
body .feat-sentinel, body .feat-sentinel.win { background:rgba(39,51,217,.04); }
body .comp-table tbody tr:hover .feat-sentinel.win { background:rgba(39,51,217,.07); }
/* ── Readable comparisons (2026-09-25) ──────────────────────────────────
   The competitor column, the review note and the alternatives' fit/price
   lines carry the facts being compared, but sat in #8a908a (about 3.1:1 on
   paper); they take the body grey. Under 640px a comparison table used to
   keep a 560px minimum and scroll sideways with no hint, which hid the
   competitor column on every phone; it now fits the screen and wraps. */
body .feat-competitor, body .disclaimer, body .alt-fit, body .alt-meta { color:var(--text-dim); }
@media (max-width:640px) {
    body .comp-wrap .comp-table { min-width:0; table-layout:fixed; }
    body .comp-table thead th, body .comp-table tbody td { padding:12px 10px; font-size:.8rem; overflow-wrap:anywhere; }
    body .comp-table .th-feat { width:30%; }
    body .comp-table .feat-competitor { font-size:.76rem; }
    /* Wider tables (.stack, cells carry data-label) become one card per row:
       the row's first cell is its title, every other cell is labelled with
       its column name. */
    body .comp-wrap .comp-table.stack, body .comp-table.stack tbody, body .comp-table.stack tr { display:block; width:auto; min-width:0; }
    body .comp-table.stack thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
    body .comp-table.stack tbody tr { padding:14px 16px 12px; border-bottom:1px solid rgba(10,20,10,0.06); }
    body .comp-table.stack tbody tr:last-child { border-bottom:none; }
    body .comp-table.stack tbody td, body .comp-table.stack tbody th { display:block; width:auto; padding:3px 0; border:0; text-align:left; font-size:.84rem; overflow-wrap:break-word; }
    body .comp-table.stack tbody tr > :first-child { font-weight:600; color:var(--text); padding-bottom:6px; }
    body .comp-table.stack .feat-sentinel, body .comp-table.stack .feat-sentinel.win { background:none; box-shadow:inset 2px 0 0 #2733d9; padding-left:10px; margin:2px 0; }
    body .comp-table.stack [data-label]::before { content:attr(data-label); display:block; font-family:'Schibsted Grotesk',sans-serif; font-size:.72rem; font-weight:600; color:var(--text-dim); margin-bottom:1px; }
}
