/* FOR/VPN-DETECTION PAGES v2 — light, clean editorial layout. Shared by /for/* and
   all /vpn-detection/* pages. Keep render-blocking (holds :root tokens). */
: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)}
        *,*::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{padding:40px 32px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--band) 0%,#ffffff 70%)}
        .hero-inner{max-width:960px;margin:0 auto}
        .hero-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:18px}
        .hero-label::before{content:'';width:22px;height:3px;border-radius:2px;background:var(--accent);flex-shrink:0}
        .hero h1{font-size:clamp(2rem,3.6vw,3rem);font-weight:700;letter-spacing:-0.035em;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-bottom:24px}
        .hero-btns{display:flex;gap:16px;flex-wrap:wrap}
        .stat-bar{display:flex;gap:40px;flex-wrap:wrap;padding:28px 32px;background:var(--band);border-bottom:1px solid var(--border)}
        .stat-bar-inner{max-width:960px;margin:0 auto;width:100%;display:flex;gap:48px;flex-wrap:wrap}
        .stat{display:flex;flex-direction:column;gap:4px}
        .stat-num{font-size:1.6rem;font-weight:700;color:var(--text);letter-spacing:-0.03em;font-family:'JetBrains Mono',monospace}
        .stat-label{font-size:0.8rem;color:var(--text-muted);font-weight:500}
        .wrap{max-width:960px;margin:0 auto;padding:72px 32px 100px;flex:1}
        .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}
        .section-label::before{content:'';width:22px;height:3px;border-radius:2px;background:var(--accent);flex-shrink:0}
        h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;letter-spacing:-0.03em;color:var(--text);margin-bottom:32px;line-height:1.2}
        .problems{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:72px}
        .problem-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:32px 28px;box-shadow:0 1px 2px rgba(16,20,16,0.05);transition:box-shadow 0.25s,transform 0.25s}
        .problem-card:hover{box-shadow:0 12px 32px rgba(16,20,16,0.1);transform:translateY(-2px)}
        .problem-card h3{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:12px;display:flex;align-items:flex-start;gap:10px}
        .problem-card h3::before{content:'';width:7px;height:7px;border-radius:50%;background:#e05252;flex-shrink:0;margin-top:7px}
        .problem-card p{font-size:0.9rem;line-height:1.75;color:var(--text-dim)}
        .solutions{background:var(--band);border:1px solid var(--border);border-radius:20px;padding:40px;margin-bottom:72px;position:relative}
        .solutions::before{content:none}
        .solutions ul{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:8px}
        /* block + absolute check, NOT flex: flex made each inline <code> a
           separate flex item, breaking lines into columns and forcing
           horizontal scroll at phone widths */
        .solutions li{display:block;position:relative;padding-left:28px;font-size:0.95rem;color:var(--text-dim);line-height:1.65}
        .solutions li::before{content:'✓';position:absolute;left:0;top:1px;color:var(--accent-ink);font-weight:700}
        .case-study{border:1px solid rgba(39,51,217,0.22);background:#f3f4fd;border-radius:20px;padding:40px;margin-bottom:72px;position:relative}
        .case-study-num{font-size:clamp(2rem,7vw,3.5rem);font-weight:700;color:var(--text);letter-spacing:-0.04em;font-family:'JetBrains Mono',monospace;margin-bottom:8px;overflow-wrap:anywhere}
        .case-study p{font-size:0.95rem;color:#1f2abf;line-height:1.7;margin-bottom:20px}
        .cta-block{background:var(--accent);border:none;border-radius:24px;padding:52px;text-align:center;position:relative}
        .cta-block::before{content:none}
        .cta-block h2{margin-bottom:12px;color: #fff}
        .cta-block p{font-size:0.95rem;color: rgba(255,255,255,0.65);margin-bottom:28px;max-width:480px;margin-left:auto;margin-right:auto}
        .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}
        .also-for{margin-top:64px;padding-top:48px;border-top:1px solid var(--border)}
        .also-for h3{font-size:0.95rem;font-weight:700;color:var(--text);margin-bottom:16px}
        .also-links{display:flex;gap:12px;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)}
        @media(max-width:768px){.problems{grid-template-columns:1fr}.hero{padding:56px 20px 48px}.wrap{padding:48px 20px 72px}.solutions{padding:28px 20px}.cta-block{padding:36px 24px}.stat-bar-inner{gap:28px}}

/* v4 — integration, signals, and visible FAQ sections on /for pages */
.integration-note{font-size:.95rem;color:var(--text-dim);max-width:760px;line-height:1.75;margin-bottom:10px}
.code-block{background:#101410;border-radius:14px;padding:22px 24px;overflow-x:auto;margin:18px 0 72px}
.code-block pre{margin:0;font-family:'JetBrains Mono',monospace;font-size:.82rem;line-height:1.7;color:#e6efe6;white-space:pre}
.code-block .c{color:#7d8a7d}
.sig-list{max-width:800px;margin-bottom:72px}
.sig-list p{font-size:.95rem;color:var(--text-dim);line-height:1.75;margin-bottom:16px}
.sig-list strong{color:var(--text)}
.sig-list a{color:var(--accent-ink);text-decoration:none;font-weight:600}
.sig-list a:hover{text-decoration:underline}
.faq-list{max-width:800px;margin-bottom:72px}
.faq-item{border-bottom:1px solid var(--border);padding:20px 0}
.faq-q{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:8px}
.faq-a{font-size:.92rem;color:var(--text-dim);line-height:1.7}

/* ── 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; }
/* Code windows on paper; figures in the serif (the markup is .stat-bar, not .stats-bar). */
body .code-block { background:#f1efe8; box-shadow:inset 0 0 0 1px #e4e1d8; }
body .code-block pre { color:#15161a; }
body .code-block .c { color:#6b6e66; }
body .stat-bar { background:transparent; }
body .stat-bar .stat-num, body .case-study-num { font-family:var(--serif); font-weight:400 !important; letter-spacing:-.025em; font-optical-sizing:none; font-variation-settings:'opsz' 48; }
body .stat-bar .stat-label { font-family:'JetBrains Mono',ui-monospace,monospace; font-weight:500; }
body .stat-bar-inner { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:28px 40px; }
body .case-study { background:#fff; border-color:#e4e1d8; }
body .case-study p { color:#3d3d3a; }
/* ── Prose links (2026-09-25) ───────────────────────────────────────────
   Only .sig-list links were styled; a link in a paragraph, list or FAQ
   answer fell back to the browser's #0000EE next to the ultramarine ones. */
main p a:not([class]), main li a:not([class]) { color:var(--accent-ink); text-decoration-color:rgba(31,42,191,.35); text-underline-offset:2px; }
main p a:not([class]):hover, main li a:not([class]):hover { text-decoration-color:currentColor; }
