@font-face { font-family:"Golos Text"; font-style:normal; font-weight:400 800; font-display:swap; src:url("/fonts/golos-cyrillic.woff2") format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:"Golos Text"; font-style:normal; font-weight:400 800; font-display:swap; src:url("/fonts/golos-latin.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+20AC,U+2122; }
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:400 500; font-display:swap; src:url("/fonts/jbmono-cyrillic.woff2") format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:400 500; font-display:swap; src:url("/fonts/jbmono-latin.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+20AC,U+2122; }

:root {
  --bg:#F9FAFB; --surface:#FFFFFF; --surface-alt:#F0F9FF;
  --ink:#101828; --ink-muted:#4A5565; --ink-faint:#6A7282;
  --border:#E3E6EB; --border-strong:#D1D5DC;
  --primary:#0084D1; --primary-dark:#0069A8; --primary-soft:#DFF2FE;
  --secondary:#9810FA; --secondary-dark:#7C05D1; --secondary-soft:#F3E8FF;
  --pop:#F5A623; --pop-dark:#C9860F; --pop-soft:#FDF1DC; --pop-ink:#241500;
  --danger:#B3261E; --danger-soft:#FDECEB;
  --ok:#15803D; --ok-soft:#DCFCE7;
  --radius:8px; --radius-lg:14px;
  --serif:"Golos Text", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sans:"Golos Text", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#0B1220; --surface:#131B2E; --surface-alt:#0E1830;
    --ink:#E7ECF6; --ink-muted:#A7B2C8; --ink-faint:#6D7890;
    --border:#22304C; --border-strong:#31456B;
    --primary:#35A2E8; --primary-dark:#59B5F0; --primary-soft:#12283A;
    --secondary:#B757FA; --secondary-dark:#C878FC; --secondary-soft:#241640;
    --pop:#F5B84A; --pop-dark:#F7C56B; --pop-soft:#2B1E0C; --pop-ink:#1A1000;
    --danger:#E2867A; --danger-soft:#2C1512;
    --ok:#4ADE80; --ok-soft:#12271D;
  }
}
:root[data-theme="dark"] {
  --bg:#0B1220; --surface:#131B2E; --surface-alt:#0E1830;
  --ink:#E7ECF6; --ink-muted:#A7B2C8; --ink-faint:#6D7890;
  --border:#22304C; --border-strong:#31456B;
  --primary:#35A2E8; --primary-dark:#59B5F0; --primary-soft:#12283A;
  --secondary:#B757FA; --secondary-dark:#C878FC; --secondary-soft:#241640;
  --pop:#F5B84A; --pop-dark:#F7C56B; --pop-soft:#2B1E0C; --pop-ink:#1A1000;
  --danger:#E2867A; --danger-soft:#2C1512;
  --ok:#4ADE80; --ok-soft:#12271D;
}
:root[data-theme="light"] {
  --bg:#F9FAFB; --surface:#FFFFFF; --surface-alt:#F0F9FF;
  --ink:#101828; --ink-muted:#4A5565; --ink-faint:#6A7282;
  --border:#E3E6EB; --border-strong:#D1D5DC;
  --primary:#0084D1; --primary-dark:#0069A8; --primary-soft:#DFF2FE;
  --secondary:#9810FA; --secondary-dark:#7C05D1; --secondary-soft:#F3E8FF;
  --pop:#F5A623; --pop-dark:#C9860F; --pop-soft:#FDF1DC; --pop-ink:#241500;
  --danger:#B3261E; --danger-soft:#FDECEB;
  --ok:#15803D; --ok-soft:#DCFCE7;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
img, svg { display:block; max-width:100%; }
.wrap { max-width:1220px; margin:0 auto; padding:0 clamp(20px,4vw,52px); }
h1, h2, h3, h4 { font-family:var(--serif); font-weight:700; margin:0; text-wrap:balance; }
p { margin:0; text-wrap:pretty; }

.reveal.reveal-pending { opacity:0; transform:translateY(18px); transition:opacity .5s cubic-bezier(.16,.8,.3,1), transform .5s cubic-bezier(.16,.8,.3,1); }
.reveal.reveal-pending.is-visible { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal.reveal-pending { opacity:1; transform:none; transition:none; }
}

/* ===== Header ===== */
header.site { position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--surface) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:64px; gap:24px; }
.logo { display:flex; align-items:center; gap:10px; font-family:var(--serif); font-weight:700; font-size:21px; color:var(--ink); letter-spacing:-.01em; }
.logo .logo-img { width:46px; height:38px; object-fit:contain; flex:none; }
nav.primary { display:flex; gap:30px; font-size:14.5px; color:var(--ink-muted); }
nav.primary a:hover { color:var(--ink); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--sans); font-weight:700; font-size:14.5px; padding:11px 22px; border-radius:var(--radius); border:1px solid transparent; cursor:pointer; white-space:nowrap; }
.btn-accent { background:var(--pop); color:var(--pop-ink); }
.btn-accent:hover { background:var(--pop-dark); }
.btn-outline { background:transparent; color:var(--ink); border-color:var(--border-strong); }
.btn-outline:hover { background:var(--surface-alt); }
.btn-lg { padding:15px 28px; font-size:16px; }

/* ===== Hero (homepage only) ===== */
.hero { position:relative; overflow:clip; padding:64px 0 0; }
.hero-watermark { position:absolute; right:-40px; top:-60px; font-family:var(--serif); font-size:420px; line-height:1; color:var(--primary); opacity:.05; pointer-events:none; user-select:none; z-index:0; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; padding-bottom:64px; }
.hero h1 { font-size:clamp(34px,4.4vw,54px); line-height:1.1; max-width:14ch; }
.hero .lede { margin-top:20px; font-size:18px; line-height:1.6; color:var(--ink-muted); max-width:52ch; }

.eyebrow { display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--secondary-dark); margin-bottom:20px; }
.eyebrow::before { content:"§"; font-family:var(--serif); font-size:16px; }

.scan-box { margin-top:32px; background:var(--surface); border:1.5px solid var(--border-strong); border-radius:var(--radius); padding:8px; display:flex; gap:8px; max-width:560px; box-shadow:0 1px 2px rgba(16,24,40,.04); }
.scan-box input { flex:1; border:none; background:transparent; font-family:var(--mono); font-size:15px; color:var(--ink); padding:11px 14px; min-width:0; }
.scan-box input::placeholder { color:var(--ink-faint); }
.scan-box input:focus { outline:none; }

.cred-strip { margin-top:28px; padding-top:22px; border-top:1px solid var(--border); display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.cred-strip .cred-label { font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); }
.cred-chip { font-family:var(--mono); font-size:12.5px; color:var(--ink-muted); border:1px solid var(--border-strong); border-radius:999px; padding:5px 12px; transition:border-color .15s ease, color .15s ease; }
a.cred-chip:hover { border-color:var(--primary); color:var(--primary); }

.tools-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:680px; }
@media (max-width:640px) { .tools-grid { grid-template-columns:1fr; } }

/* Signature element: dossier / certificate card */
.dossier { position:relative; background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--radius-lg); padding:26px; transform:rotate(1.5deg); box-shadow:0 20px 50px -20px rgba(16,24,40,.35), 0 2px 8px rgba(16,24,40,.08); }
.dossier::before { content:""; position:absolute; inset:8px; border:1px solid var(--border); border-radius:calc(var(--radius-lg) - 4px); pointer-events:none; }
.dossier-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:18px; }
.dossier-title { font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); }
.dossier-title strong { display:block; font-family:var(--serif); font-size:19px; font-weight:700; color:var(--ink); text-transform:none; letter-spacing:0; margin-top:4px; }
.seal { flex:none; width:64px; height:64px; border-radius:50%; border:2px double var(--pop-dark); display:flex; align-items:center; justify-content:center; color:var(--pop-dark); position:relative; }
.seal svg { width:26px; height:26px; }
.dossier-rows { display:flex; flex-direction:column; gap:11px; margin-bottom:18px; }
.dossier-row { display:flex; align-items:center; gap:11px; font-size:14px; padding:9px 11px; border-radius:6px; background:var(--surface-alt); }
.dossier-row span.txt { min-width:0; }
.dossier-row .dot { flex:none; width:9px; height:9px; border-radius:50%; }
.dossier-row.ok .dot { background:var(--ok); }
.dossier-row.warn .dot { background:var(--pop); }
.dossier-row.bad .dot { background:var(--danger); }
.dossier-row span.txt { color:var(--ink-muted); }
.dossier-row.bad span.txt, .dossier-row.warn span.txt { color:var(--ink); font-weight:600; }
.dossier-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px dashed var(--border-strong); }
.dossier-score { font-family:var(--mono); font-size:12px; color:var(--ink-faint); }
.dossier-score strong { font-size:22px; color:var(--danger); font-weight:700; }
.score-bar { flex:1; height:6px; border-radius:3px; background:var(--surface-alt); margin:0 16px; overflow:hidden; }
.score-bar i { display:block; height:100%; width:64%; background:linear-gradient(90deg, var(--danger), var(--pop)); border-radius:3px; }

/* ===== Section shell ===== */
section { padding:84px 0; }
section.alt { background:var(--surface-alt); }
.section-head { max-width:640px; margin-bottom:44px; }
.section-head .eyebrow { margin-bottom:12px; }
.section-head h2 { font-size:clamp(26px,3vw,34px); }
.section-head p { margin-top:14px; color:var(--ink-muted); font-size:16px; line-height:1.6; }

/* ===== Content page header ===== */
.page-head { padding:48px 0 8px; }
.breadcrumb { font-family:var(--mono); font-size:12.5px; color:var(--ink-faint); margin-bottom:24px; }
.breadcrumb a { color:var(--ink-faint); }
.breadcrumb a:hover { color:var(--primary); }
.breadcrumb .sep { margin:0 7px; }
.breadcrumb .current { color:var(--ink-muted); }
.article-head { max-width:760px; }
.article-head h1 { font-size:clamp(30px,4.2vw,44px); line-height:1.16; }
.article-meta { font-family:var(--mono); font-size:12px; color:var(--ink-faint); margin-top:16px; }

/* ===== Prose (long-form content) ===== */
.prose { max-width:720px; }
.prose h2 { font-size:24px; margin-top:52px; margin-bottom:16px; }
.prose > h2:first-child { margin-top:0; }
.prose h3 { font-size:17.5px; margin-top:30px; margin-bottom:10px; font-family:var(--sans); }
.prose p { color:var(--ink-muted); font-size:16px; line-height:1.7; margin-bottom:16px; }
.prose ul, .prose ol { color:var(--ink-muted); font-size:16px; line-height:1.7; margin:0 0 16px; padding-left:22px; }
.prose li { margin-bottom:8px; }
.prose strong { color:var(--ink); font-weight:700; }
.prose a { color:var(--primary); text-decoration:underline; text-underline-offset:2px; }

/* ===== Checklist blocks ===== */
.check-block { border:1px solid var(--border); border-radius:var(--radius); padding:24px 26px; margin-bottom:20px; background:var(--surface); }
.check-block h3 { font-size:17px; margin:0 0 16px; display:flex; align-items:center; gap:10px; }
.check-block .cb-num { font-family:var(--mono); font-size:12px; color:#fff; background:var(--primary); width:23px; height:23px; border-radius:5px; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.check-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.check-list li { display:flex; align-items:flex-start; gap:11px; font-size:14.5px; color:var(--ink-muted); line-height:1.55; }
.check-list li::before { content:""; flex:none; width:16px; height:16px; margin-top:2px; border:1.5px solid var(--border-strong); border-radius:4px; }

/* ===== Verdict levels ===== */
.verdict-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:36px 0 8px; }
.verdict { border-radius:var(--radius); padding:18px 20px; border:1px solid var(--border); }
.verdict.good { background:var(--ok-soft); border-color:color-mix(in srgb, var(--ok) 30%, var(--border)); }
.verdict.mid { background:var(--pop-soft); border-color:color-mix(in srgb, var(--pop) 30%, var(--border)); }
.verdict.bad { background:var(--danger-soft); border-color:color-mix(in srgb, var(--danger) 30%, var(--border)); }
.verdict .v-label { font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:6px; display:block; }
.verdict.good .v-label { color:var(--ok); }
.verdict.mid .v-label { color:var(--pop-dark); }
.verdict.bad .v-label { color:var(--danger); }
.verdict p { font-size:14px; color:var(--ink-muted); line-height:1.5; }

/* ===== Prev / next + read-also + sources ===== */
.prevnext { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--border); padding-top:28px; margin-top:48px; }
.prevnext a { font-size:14.5px; color:var(--ink-muted); max-width:45%; }
.prevnext a:hover { color:var(--primary); }
.prevnext .pn-label { display:block; font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); margin-bottom:4px; }
.prevnext .pn-next { text-align:right; margin-left:auto; }

.read-also { margin-top:8px; }
.read-also .ra-label { font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); margin-bottom:10px; display:block; }
.read-also ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.read-also a { font-size:14.5px; color:var(--primary); }
.read-also a:hover { text-decoration:underline; }

.sources { margin-top:36px; padding-top:20px; border-top:1px solid var(--border); }
.sources .src-label { font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); margin-bottom:10px; display:block; }
.sources ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.sources a { font-size:13.5px; color:var(--ink-muted); text-decoration:underline; text-underline-offset:2px; }
.sources a:hover { color:var(--primary); }

.disclaimer { font-size:13px; color:var(--ink-faint); font-style:italic; margin-top:18px; }

/* ===== Tracks (152-FZ / 168-FZ document sections) ===== */
.track-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.track { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:32px 32px 32px 30px; border-left:4px solid var(--primary); }
.track.b { border-left-color:var(--secondary); }
.track .track-num { font-family:var(--mono); font-size:12.5px; color:var(--ink-faint); margin-bottom:6px; }
.track h3 { font-size:22px; margin-bottom:18px; }
.track ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.track li { display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--ink-muted); line-height:1.55; }
.track li .n { flex:none; font-family:var(--mono); font-size:12px; color:var(--primary); border:1px solid var(--border-strong); border-radius:4px; width:22px; height:22px; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.track.b li .n { color:var(--secondary); }
.track li strong { color:var(--ink); font-weight:700; }

/* ===== How it works — timeline ===== */
.timeline { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.timeline::before { content:""; position:absolute; top:23px; left:23px; right:calc(100%/3 - 44.33px); height:1px; background:var(--border-strong); z-index:0; }
.tl-step { position:relative; z-index:1; }
.tl-badge { width:46px; height:46px; border-radius:50%; background:var(--surface); border:1.5px solid var(--primary); color:var(--primary); font-family:var(--serif); font-weight:700; font-size:18px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.tl-step:nth-child(2) .tl-badge { border-color:var(--secondary); color:var(--secondary); }
.tl-step:nth-child(3) .tl-badge { border-color:var(--pop-dark); color:var(--pop-dark); }
.tl-step h4 { font-size:17px; margin-bottom:8px; }
.tl-step p { font-size:14.5px; color:var(--ink-muted); line-height:1.6; }

/* ===== Fines dossier table ===== */
.fines-wrap { background:var(--surface); border:1px solid var(--border-strong); border-top:4px solid var(--pop); border-radius:var(--radius-lg); overflow:hidden; }
.fines-top { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; padding:28px 30px 20px; }
.fines-top h2 { font-size:24px; max-width:24ch; }
.fines-top p { color:var(--ink-muted); max-width:40ch; font-size:14.5px; margin-top:8px; }
.table-scroll { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; min-width:600px; }
thead th { text-align:left; font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); background:var(--surface-alt); padding:12px 20px; border-top:1px solid var(--border); border-bottom:1px solid var(--border-strong); }
tbody td { padding:14px 20px; border-bottom:1px solid var(--border); color:var(--ink-muted); }
tbody tr:last-child td { border-bottom:none; }
tbody td:first-child { color:var(--ink); font-weight:600; }
tbody tr.severe td:first-child { position:relative; }
td.money { font-family:var(--mono); font-variant-numeric:tabular-nums; color:var(--danger); font-weight:700; white-space:nowrap; }
.stamp { display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--danger); border:1.5px solid var(--danger); border-radius:4px; padding:2px 7px; transform:rotate(-3deg); margin-left:10px; }

/* ===== Gateway (industry picker) ===== */
.gateway-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.gate-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px 20px; transition:border-color .2s ease, transform .2s ease; }
.gate-card:hover { border-color:var(--primary); transform:translateY(-3px); }
.gate-card .gi { width:38px; height:38px; margin-bottom:16px; color:var(--primary); }
.gate-card h4 { font-size:16px; margin-bottom:6px; font-family:var(--sans); font-weight:700; }
.gate-card p { font-size:13px; color:var(--ink-faint); }

/* ===== Why cards ===== */
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.why-card { padding:28px 26px; background:var(--surface); }
.why-card .n { font-family:var(--serif); font-size:26px; font-weight:700; color:var(--primary); margin-bottom:12px; }
.why-card:nth-child(3) .n, .why-card:nth-child(4) .n { color:var(--secondary); }
.why-card:nth-child(5) .n, .why-card:nth-child(6) .n { color:var(--pop-dark); }
.why-card h3 { font-size:16.5px; font-family:var(--sans); font-weight:700; margin-bottom:8px; }
.why-card p { font-size:14px; color:var(--ink-muted); line-height:1.55; }

/* ===== FAQ ===== */
.faq-list { border-top:1px solid var(--border); max-width:760px; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-q { width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:22px 4px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:var(--serif); font-size:18px; font-weight:700; color:var(--ink); }
.faq-q .plus { font-family:var(--mono); font-size:20px; color:var(--ink-faint); transition:transform .16s ease; flex:none; }
.faq-item[open] .faq-q .plus { transform:rotate(45deg); color:var(--pop-dark); }
.faq-a { padding:0 4px 22px; color:var(--ink-muted); font-size:15px; line-height:1.65; max-width:65ch; }
.faq-item summary { list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }

/* ===== CTA band ===== */
.cta-band { background:linear-gradient(135deg, var(--primary-dark), var(--secondary-dark)); border-radius:var(--radius-lg); padding:56px clamp(24px,5vw,64px); display:flex; flex-direction:column; align-items:center; text-align:center; gap:0; position:relative; overflow:clip; border-top:3px solid var(--pop); }
.cta-band h2 { color:#fff; font-size:28px; max-width:24ch; margin:0 auto; }
.cta-band p { color:rgba(255,255,255,.75); margin:10px auto 0; font-size:15px; max-width:50ch; }
.cta-band .scan-box { margin:28px auto 0; width:100%; }
.cta-band .cta-consent { margin-top:14px; font-size:12.5px; color:rgba(255,255,255,.62); display:flex; align-items:center; justify-content:center; gap:8px; }
.cta-band .cta-consent input { accent-color:var(--pop); width:15px; height:15px; flex:none; }
.cta-band .cta-consent a { color:#fff; text-decoration:underline; }

/* ===== Footer ===== */
footer.site { border-top:1px solid var(--border); background:var(--surface); color:var(--ink-muted); padding:38px 0 22px; }
.foot-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; margin-bottom:26px; }
.foot-col .foot-title { font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); margin-bottom:10px; }
.foot-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.foot-col a { font-size:14px; color:var(--ink-muted); }
.foot-col a:hover { color:var(--ink); }
.foot-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-top:18px; border-top:1px solid var(--border); font-size:13px; color:var(--ink-faint); }
.foot-bottom a { color:var(--ink-faint); }
.foot-bottom a:hover { color:var(--ink); }

/* ===== Cookie bar ===== */
.cookie-bar { position:fixed; left:20px; right:20px; bottom:20px; z-index:100; max-width:560px; margin:0 auto; background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--radius); padding:16px 18px; box-shadow:0 12px 32px -8px rgba(16,24,40,.3); display:flex; align-items:center; gap:16px; flex-wrap:wrap; transition:transform .22s ease, opacity .22s ease; }
.cookie-bar.hidden { transform:translateY(140%); opacity:0; pointer-events:none; }
.cookie-bar p { font-size:13px; color:var(--ink-muted); flex:1; min-width:220px; }
.cookie-bar a { color:var(--primary); text-decoration:underline; }
.cookie-bar .btn { padding:9px 16px; font-size:13.5px; }

/* ===== Tool: multi-step form ===== */
.tool-shell { max-width:760px; }
.step-progress { display:flex; align-items:center; gap:6px; margin-bottom:36px; }
.step-progress .dot { flex:1; height:4px; border-radius:2px; background:var(--border); }
.step-progress .dot.done { background:var(--primary); }
.step-progress .dot.active { background:var(--pop); }
.step-label { font-family:var(--mono); font-size:12px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.tool-step { display:none; }
.tool-step.active { display:block; }
.tool-step h2 { font-size:22px; margin-bottom:8px; }
.tool-step .step-hint { color:var(--ink-muted); font-size:14.5px; margin-bottom:24px; }
.field { margin-bottom:20px; }
.field label { display:block; font-size:14px; font-weight:600; color:var(--ink); margin-bottom:7px; }
.field .hint { font-size:12.5px; color:var(--ink-faint); margin-top:5px; }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field select, .field textarea {
  width:100%; border:1.5px solid var(--border-strong); border-radius:var(--radius); padding:11px 13px;
  font-family:var(--sans); font-size:15px; color:var(--ink); background:var(--surface);
}
.field input:focus, .field select:focus, .field textarea:focus { outline:2px solid var(--primary); outline-offset:1px; border-color:var(--primary); }
.field textarea { resize:vertical; min-height:80px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.checkbox-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.check-opt { display:flex; align-items:center; gap:9px; font-size:14.5px; color:var(--ink-muted); border:1px solid var(--border); border-radius:6px; padding:10px 12px; cursor:pointer; }
.check-opt:has(input:checked) { border-color:var(--primary); background:var(--primary-soft); color:var(--ink); }
.check-opt input { accent-color:var(--primary); width:16px; height:16px; flex:none; }
.radio-row { display:flex; gap:10px; flex-wrap:wrap; }
.radio-row label { display:flex; align-items:center; gap:8px; font-size:14.5px; color:var(--ink-muted); border:1px solid var(--border); border-radius:999px; padding:8px 16px; cursor:pointer; }
.radio-row label:has(input:checked) { border-color:var(--primary); background:var(--primary-soft); color:var(--ink); }
.radio-row input { accent-color:var(--primary); }
.step-nav { display:flex; justify-content:space-between; gap:12px; margin-top:32px; padding-top:24px; border-top:1px solid var(--border); }
.tool-result { display:none; }
.tool-result.active { display:block; }
.result-box { background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--radius-lg); padding:0; overflow:hidden; margin-top:24px; }
.result-box .rb-head { display:flex; justify-content:space-between; align-items:center; padding:16px 22px; border-bottom:1px solid var(--border); background:var(--surface-alt); gap:12px; flex-wrap:wrap; }
.result-box .rb-head span { font-family:var(--mono); font-size:12px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; }
.result-box pre { margin:0; padding:24px 22px; font-family:var(--mono); font-size:13px; line-height:1.7; color:var(--ink); white-space:pre-wrap; word-break:break-word; max-height:480px; overflow-y:auto; }

/* ===== Scan loading ===== */
.scan-loading { padding:110px 0; text-align:center; }
.scan-loading .wrap { max-width:640px; }
.scan-spinner { width:76px; height:76px; margin:0 auto 28px; border-radius:50%; border:3px solid var(--border-strong); border-top-color:var(--pop); animation:scanspin 1s linear infinite; position:relative; }
.scan-spinner .pct { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:14px; color:var(--ink-muted); }
@keyframes scanspin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .scan-spinner { animation:none; } }
.scan-loading h2 { font-size:26px; margin-bottom:8px; }
.scan-loading .scan-domain { font-family:var(--mono); color:var(--ink-muted); margin-bottom:36px; font-size:14px; }
.scan-spinner.is-error { animation:none; border-color:var(--danger); border-top-color:var(--danger); }
.scan-error-msg { color:var(--ink-muted); font-size:14px; margin:-20px 0 30px; }
.scan-error-msg a { color:var(--primary); text-decoration:underline; }
.pipeline { display:flex; flex-direction:column; gap:1px; text-align:left; max-width:400px; margin:0 auto; }
.pipeline-step { display:flex; align-items:center; gap:12px; padding:9px 6px; font-size:14px; color:var(--ink-faint); opacity:.45; transition:opacity .25s ease, color .25s ease; }
.pipeline-step .ps-tag { font-family:var(--mono); font-size:10.5px; color:var(--ink-faint); border:1px solid var(--border-strong); border-radius:4px; padding:2px 6px; flex:none; width:64px; text-align:center; transition:border-color .25s ease, color .25s ease; }
.pipeline-step.active { opacity:1; color:var(--ink); }
.pipeline-step.active .ps-tag { border-color:var(--pop); color:var(--pop-dark); }
.pipeline-step.done { opacity:.85; color:var(--ink-muted); }
.pipeline-step.done .ps-tag { border-color:var(--ok); color:var(--ok); }
.pipeline-step .ps-check { margin-left:auto; font-family:var(--mono); color:var(--ok); opacity:0; font-size:13px; }
.pipeline-step.done .ps-check { opacity:1; }

/* ===== Report (results) ===== */
.report-block { border:1px solid var(--border-strong); border-radius:var(--radius-lg); background:var(--surface); overflow:hidden; margin-bottom:32px; transition:border-color .2s ease, box-shadow .2s ease; }
.report-block.is-critical { border-color:var(--danger); border-width:2px; box-shadow:0 0 0 4px var(--danger-soft), 0 8px 28px -12px color-mix(in srgb, var(--danger) 45%, transparent); }
.report-block.is-critical .report-head { background:var(--danger-soft); border-bottom-color:color-mix(in srgb, var(--danger) 25%, var(--border)); }
.report-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:28px 30px; border-bottom:1px solid var(--border); flex-wrap:wrap; }
.report-head .rh-eyebrow { display:flex; align-items:center; gap:7px; font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--secondary-dark); margin-bottom:10px; }
.report-head h2 { font-size:24px; }
.report-head .rh-sub { color:var(--ink-muted); font-size:14px; margin-top:6px; }
.risk-badge { flex:none; text-align:center; }
.risk-badge .rb-circle { width:64px; height:64px; border-radius:50%; border:3px solid var(--danger); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:22px; color:var(--danger); margin:0 auto 8px; }
.risk-badge.risk-ok .rb-circle { border-color:var(--ok); color:var(--ok); }
.risk-badge.risk-warn .rb-circle { border-color:var(--pop); color:var(--pop-dark); }
.risk-badge.risk-muted .rb-circle { border-color:var(--border-strong); color:var(--ink-faint); }
.risk-badge .rb-label { font-size:12.5px; font-weight:700; color:var(--ink); }
.risk-badge .rb-sub { font-family:var(--mono); font-size:10px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.04em; }

.report-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--border); }
.report-stat { background:var(--surface); padding:20px 30px; display:flex; align-items:center; gap:14px; }
.report-stat .rs-icon { flex:none; width:36px; height:36px; border-radius:8px; background:var(--surface-alt); display:flex; align-items:center; justify-content:center; color:var(--primary); }
.report-stat .rs-icon svg { width:18px; height:18px; }
.report-stat .rs-value { font-family:var(--serif); font-size:20px; font-weight:700; color:var(--ink); }
.report-stat .rs-label { font-size:12.5px; color:var(--ink-faint); }

.facts-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--border); }
.facts-card, .map-card { background:var(--surface); padding:26px 30px; }
.facts-card h3, .map-card h3 { font-size:15px; margin-bottom:16px; }
.facts-row { display:flex; justify-content:space-between; gap:12px; font-size:13.5px; padding:7px 0; border-bottom:1px solid var(--border); }
.facts-row:last-child { border-bottom:none; }
.facts-row .fr-label { color:var(--ink-faint); }
.facts-row .fr-value { color:var(--ink); font-family:var(--mono); font-size:12.5px; text-align:right; }
.facts-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.facts-tags span { font-family:var(--mono); font-size:11px; color:var(--ink-muted); background:var(--surface-alt); border-radius:5px; padding:4px 8px; }

.map-list { display:flex; flex-direction:column; gap:10px; }
.map-item { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:13.5px; padding:8px 0; border-bottom:1px solid var(--border); }
.map-item:last-child { border-bottom:none; }
.map-item .mi-status { font-family:var(--mono); font-size:11px; padding:3px 9px; border-radius:999px; font-weight:600; white-space:nowrap; }
.map-item .mi-status.ok { background:var(--ok-soft); color:var(--ok); }
.map-item .mi-status.warn { background:var(--pop-soft); color:var(--pop-dark); }
.map-item .mi-status.bad { background:var(--danger-soft); color:var(--danger); }
.map-item .mi-status.muted { background:var(--border); color:var(--ink-faint); }

.finding-wrap { padding:28px 30px; border-top:1px solid var(--border); }
.finding-wrap > h3 { font-size:16px; margin-bottom:16px; }
.finding-card { border:1px solid var(--border-strong); border-left:4px solid var(--pop); border-radius:var(--radius); padding:20px 22px; margin-bottom:16px; }
.finding-card .fc-top { display:flex; gap:10px; align-items:center; font-family:var(--mono); font-size:11px; text-transform:uppercase; margin-bottom:10px; flex-wrap:wrap; }
.finding-card .fc-severity { color:var(--pop-dark); font-weight:700; }
.finding-card .fc-article { color:var(--ink-faint); }
.finding-card h4 { font-size:16px; margin-bottom:8px; font-family:var(--sans); }
.finding-card p { font-size:14px; color:var(--ink-muted); margin-bottom:10px; }
.finding-card .fc-fine { font-family:var(--mono); font-size:13px; color:var(--danger); font-weight:700; }
.finding-card .fc-fix { margin-top:12px; padding:12px 14px; background:var(--ok-soft); border-radius:var(--radius); font-size:13.5px; color:var(--ink); }
.finding-card .fc-fix strong { color:var(--ok); text-transform:uppercase; font-family:var(--mono); font-size:11px; letter-spacing:.04em; display:block; margin-bottom:4px; }
.finding-card .fc-fix.fc-fix-locked { background:var(--surface-alt); color:var(--ink-faint); font-style:italic; }
.finding-card .fc-example { margin-top:10px; padding:10px 12px; background:var(--ink); border-radius:6px; overflow-x:auto; }
.finding-card .fc-example code { font-family:var(--mono); font-size:11.5px; color:#D9F7E8; white-space:pre-wrap; word-break:break-word; }
.finding-card + .finding-card { margin-top:16px; }

.locked-card { border:1px dashed var(--border-strong); border-radius:var(--radius); padding:18px 20px; background:var(--surface-alt); }
.locked-card .lc-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; font-weight:700; font-size:14.5px; }
.locked-card .lc-head svg { width:18px; height:18px; color:var(--ink-faint); }
.locked-card p { font-size:13px; color:var(--ink-muted); margin-bottom:12px; }
.locked-rows { display:flex; flex-direction:column; gap:6px; }
.locked-row { display:flex; justify-content:space-between; font-size:13px; color:var(--ink-faint); padding:5px 0; }
.locked-row .lr-count { font-family:var(--mono); }
.disclaimer-box { display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--ink-faint); background:var(--surface-alt); border-radius:var(--radius); padding:14px 16px; margin-top:16px; }
.disclaimer-box svg { flex:none; width:16px; height:16px; margin-top:1px; }

.words-list { display:flex; flex-direction:column; gap:12px; }
.word-item { display:flex; gap:14px; padding:14px 16px; border:1px solid var(--border); border-radius:var(--radius); }
.word-item .wi-avatar { flex:none; width:34px; height:34px; border-radius:8px; background:var(--secondary-soft); color:var(--secondary-dark); font-weight:700; display:flex; align-items:center; justify-content:center; font-family:var(--serif); }
.word-item .wi-word { font-weight:700; color:var(--ink); }
.word-item .wi-tags { display:flex; gap:6px; margin:4px 0 6px; flex-wrap:wrap; }
.word-item .wi-tags span { font-family:var(--mono); font-size:10.5px; color:var(--ink-faint); background:var(--surface-alt); padding:2px 7px; border-radius:4px; }
.word-item .wi-context { font-size:13px; color:var(--ink-muted); font-style:italic; }
.word-item .wi-fix { margin-top:8px; font-size:12.5px; color:var(--ok); }
.word-item .wi-fix.wi-fix-locked { color:var(--ink-faint); font-style:italic; }

/* ===== Funnel / pricing ===== */
.funnel-recap { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; background:var(--surface-alt); border:1px solid var(--border); border-radius:var(--radius); padding:18px 24px; margin-bottom:28px; }
.funnel-recap .fr-item { text-align:right; }
.funnel-recap .fr-item .n { font-family:var(--serif); font-size:20px; font-weight:700; }
.funnel-recap .fr-item .l { font-size:12px; color:var(--ink-faint); }
.email-field { margin-bottom:24px; max-width:420px; }
.tier-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.tier-card { border:1px solid var(--border-strong); border-radius:var(--radius-lg); padding:26px 24px; background:var(--surface); display:flex; flex-direction:column; }
.tier-card.featured { border-color:var(--pop); box-shadow:0 0 0 1px var(--pop); }
.tier-card .tc-num { font-family:var(--mono); font-size:12px; color:#fff; background:var(--primary); width:24px; height:24px; border-radius:6px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.tier-card .tc-price { font-family:var(--serif); font-size:26px; font-weight:700; margin-bottom:4px; }
.tier-card .tc-price small { font-family:var(--sans); font-size:13px; font-weight:400; color:var(--ink-faint); }
.tier-card h3 { font-size:17px; margin-bottom:10px; }
.tier-card > p { font-size:13.5px; color:var(--ink-muted); margin-bottom:16px; flex:1; }
.tier-card ul { list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:7px; }
.tier-card li { font-size:12.5px; color:var(--ink-muted); display:flex; align-items:flex-start; gap:7px; }
.tier-card li::before { content:"✓"; color:var(--ok); font-weight:700; flex:none; }
.tier-addon { display:flex; align-items:flex-start; gap:8px; font-size:12px; color:var(--ink-muted); margin-bottom:14px; cursor:pointer; }
.tier-addon input { margin-top:2px; accent-color:var(--primary); }

@media (max-width:980px) {
  nav.primary { display:none; }
  header .btn-accent { padding:8px 13px; font-size:13px; }
  .hero-grid { grid-template-columns:minmax(0,1fr); }
  .dossier { transform:none; max-width:480px; width:100%; }
  .track-grid { grid-template-columns:minmax(0,1fr); }
  .timeline { grid-template-columns:minmax(0,1fr); }
  .timeline::before { display:none; }
  .gateway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .why-grid { grid-template-columns:minmax(0,1fr); }
  .verdict-grid { grid-template-columns:minmax(0,1fr); }
  .foot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cta-band { flex-direction:column; align-items:flex-start; }
  .prevnext { flex-direction:column; gap:16px; }
  .prevnext .pn-next { text-align:left; margin-left:0; }
  .field-row, .checkbox-grid { grid-template-columns:minmax(0,1fr); }
  .report-stats, .facts-map, .tier-grid { grid-template-columns:minmax(0,1fr); }
  .report-head { flex-direction:column; }
  .funnel-recap { flex-direction:column; align-items:flex-start; text-align:left; }
  .funnel-recap .fr-item { text-align:left; }
  section { padding:60px 0; }
}
