/* LIGHT PAGE CHROME v1 — injected into standalone pages (pricing, api, contact,
   auth, legal, antidetect, utility pages) AFTER their inline styles. Gives every
   page the light buttons and the paper pass (the header and footer are
   site-chrome.css since 2026-09-29). Page tokens
   (:root) are swapped in-file by the conversion script; this file covers the
   shared chrome with body-prefixed selectors so it wins specificity ties. */
:root{--accent-ink:#1f2abf}
html{background:#fff;color-scheme:light}

/* Plain .btn-bracket = secondary (outline); only .btn-bracket-accent gets the
   accent fill, so each page keeps one visually dominant conversion CTA. */
body .btn-bracket{font-size:0.85rem;font-weight:600;color:#101410;letter-spacing:0;text-transform:none;background:transparent;border:1px solid rgba(10,20,10,0.25);border-radius:999px;padding:10px 20px}
body .btn-bracket:hover{background:rgba(16,20,16,0.05);border-color:rgba(10,20,10,0.45);color:#000;transform:translateY(-1px);box-shadow:none}
body .btn-bracket-accent{background:#2733d9;border-color:#2733d9;color:#fff;font-weight:700}
body .btn-bracket-accent:hover{background:#1f2abf;border-color:#1f2abf;color:#fff;box-shadow:0 6px 20px rgba(39,51,217,0.3);}

/* Generic: borders drawn as faint white lines become faint ink lines */
body .section-label{color:var(--accent-ink);font-family:'Schibsted Grotesk',sans-serif;text-transform:none;letter-spacing:0;font-size:0.85rem;font-weight:600}

/* ── Paper (2026-09-22): the homepage's system on every standalone page ──
   Replaces the 2026-09-05 night hero. Warm paper, ink, the Newsreader serif
   for page titles and section headings, white cards; ultramarine stays the
   only accent. This sheet loads after each page's inline <style>, so the
   token re-points below win over the pages' own :root. */
@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 { --bg:#f9f8f4; --surface:#f1efe8; --band:#f1efe8; --serif:'Newsreader','Iowan Old Style',Georgia,serif; }
html, html body { background:#f9f8f4; }
/* The hero is the page's title on paper: no panel, no glow, no grid. */
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.4rem,4.6vw,3.8rem); line-height:1.05; 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 > .hero .eyebrow, main > .hero .hero-label { letter-spacing:.12em; }
/* Section headings share the display voice at their own sizes. */
main h2:not([class*="card"] h2):not(.visually-hidden):not(.sr-only) { font-family:var(--serif); font-weight:400 !important; letter-spacing:-.018em; font-optical-sizing:none; font-variation-settings:'opsz' 36; }
/* Titles outside a .hero (the API reference) take the same voice. */
main h1.api-title, main .page-title h1 { font-family:var(--serif); font-weight:400 !important; letter-spacing:-.022em; font-optical-sizing:none; font-variation-settings:'opsz' 40; }
/* Live coverage figures: on the page, not a white band; 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; }
/* Bare <code>/<kbd>/<pre> use the site mono (no font rule fell back to Courier),
   without its programming ligatures: `!==` must read as the three characters a
   reader types, not one glyph (the homepage, the blog and the console do the same). */
code, kbd, samp, pre { font-family:'JetBrains Mono',ui-monospace,'SF Mono',monospace; font-variant-ligatures:none; }
/* Controls take the page face, not the browser default. */
button, input, select, textarea { font-family:inherit; }
/* ── Paper, second sweep (2026-09-23) ─────────────────────────────────── */
/* Titles that live outside `main > .hero` take the same serif. */
.page-hero h1.page-title, h1.contact-h1, h1.status-h1, h1.err-h1 { font-family:var(--serif); font-weight:400 !important; letter-spacing:-.022em; font-optical-sizing:none; font-variation-settings:'opsz' 40; }
h1.contact-h1 em { color:#2733d9; font-style:normal; }
/* No band, grid or glow behind a title. */
main > .hero { background:transparent; }
body .grid-overlay { display:none; }
body .btn-bracket { text-decoration:none; }
/* Closing strips are recessed paper cards (/ip-lookup). */
body .cta-strip { background:#f1efe8; box-shadow:inset 0 0 0 1px #e4e1d8; border-radius:22px; }
body .cta-strip h2 { color:#15161a; font-family:var(--serif); font-weight:400 !important; }
body .cta-strip p { color:#64625c; }
body .cta-strip .btn-dark { background:#2733d9; color:#fff; border-radius:999px; text-transform:none; letter-spacing:0; }
body .cta-strip .btn-dark:hover { background:#1f2abf; }
/* Code windows on paper. */
main pre { background:#f1efe8; color:#15161a; box-shadow:inset 0 0 0 1px #e4e1d8; }
/* /public-interest emergency note: a white card with a red rule, not a black panel. */
body .pi-emergency { background:#fff; color:#3d3d3a; box-shadow:inset 0 0 0 1px #e4e1d8; border-left:3px solid #b42318; }
body .pi-emergency strong { color:#15161a; }
body .pi-emergency a { color:#1f2abf; }
/* /pricing: no pulsing glow; the price reads like the other figures. */
body .plan.featured::after { animation:none; box-shadow:none; }
body .plan-price .amount { font-family:var(--serif); font-weight:400 !important; letter-spacing:-.025em; font-optical-sizing:none; font-variation-settings:'opsz' 48; }
/* /404: the code without a glow. */
main:has(.err-h1) .err-code { font-family:var(--serif); font-weight:400; text-shadow:none; color:#15161a; }
main:has(.err-h1)::before { content:none; }
/* Dark-era neon on paper (/api warnings, /changelog tags): readable ink. */
body .warn-title, body .warn-icon, body .warn-body code, body .resp-table td code { color:#9a5b00; }
body .method-post, body .plan-ent { color:#1f2abf; }
body .tag-security { color:#b42318; border-color:rgba(180,35,24,.35); }
body .tag-performance { color:#1f2abf; border-color:rgba(39,51,217,.3); }
body .tag-infrastructure { color:#8a5a00; border-color:rgba(138,90,0,.35); }
/* Section headings drawn as divs (.section-title on /ip-lookup and friends). */
main .section-title { font-family:var(--serif); font-weight:400 !important; letter-spacing:-.018em; font-optical-sizing:none; font-variation-settings:'opsz' 36; }
