/* Conforme.QC — v2 « Dossier d'inspection »
   Concept : un rapport d'inspection sérieux et lisible. Bandes bleu nuit (autorité), papier froid,
   vert de validation réservé aux réussites et aux actions. Codes de vérification en mono. */

@font-face { font-family: "Schibsted Grotesk"; src: url("fonts/schibsted-grotesk-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Schibsted Grotesk"; src: url("fonts/schibsted-grotesk-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Schibsted Grotesk"; src: url("fonts/schibsted-grotesk-latin-800-normal.woff2") format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/source-sans-3-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }

:root {
  --paper: #f4f6f5;
  --surface: #ffffff;
  --text: #13212e;
  --muted: #566672;
  --line: #d9e1df;
  --band: #0d2236;
  --band-2: #16314b;
  --band-fg: #eaf1f4;
  --band-muted: #9fb3c2;
  --band-accent: #7fd8b4;
  --accent: #10805a;
  --accent-hover: #0b6a4a;
  --accent-ink: #ffffff;
  --accent-soft: #e2f1ea;
  --ok: #10805a; --warn: #b45d07; --fail: #b4261b; --unk: #6b7b87;
  --warn-soft: #fbefe0; --fail-soft: #fbe7e5;
  --field-bg: #ffffff; --field-fg: #13212e; --field-ph: #7a8892;

  --f-display: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --f-body: "Source Sans 3", "Segoe UI", Roboto, Arial, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;

  --s1: .25rem; --s2: .5rem; --s3: .75rem; --s4: 1rem; --s5: 1.5rem; --s6: 2rem; --s7: 3rem; --s8: 4.5rem;
  --r-sm: 6px; --r: 10px; --r-lg: 16px;
  --shadow: 0 1px 2px rgba(13,34,54,.06), 0 12px 32px -12px rgba(13,34,54,.18);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0a1520; --surface: #111f2c; --text: #e6eef1; --muted: #9db0bd; --line: #223646;
    --band: #07111b; --band-2: #102234; --band-fg: #eaf1f4; --band-muted: #93a9b9; --band-accent: #7fd8b4;
    --accent: #34b989; --accent-hover: #4ccb9b; --accent-ink: #04140e; --accent-soft: #123528;
    --ok: #34b989; --warn: #e9a14a; --fail: #f07a6f; --unk: #93a3ae; --warn-soft: #3a2a14; --fail-soft: #3c1c1a;
    --field-bg: #eef3f4; --field-fg: #0d1b26; --field-ph: #5d6c76;
    --shadow: 0 1px 2px rgba(0,0,0,.3), 0 12px 32px -12px rgba(0,0,0,.6);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --paper: #0a1520; --surface: #111f2c; --text: #e6eef1; --muted: #9db0bd; --line: #223646;
  --band: #07111b; --band-2: #102234; --band-fg: #eaf1f4; --band-muted: #93a9b9; --band-accent: #7fd8b4;
  --accent: #34b989; --accent-hover: #4ccb9b; --accent-ink: #04140e; --accent-soft: #123528;
  --ok: #34b989; --warn: #e9a14a; --fail: #f07a6f; --unk: #93a3ae; --warn-soft: #3a2a14; --fail-soft: #3c1c1a;
  --field-bg: #eef3f4; --field-fg: #0d1b26; --field-ph: #5d6c76;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 12px 32px -12px rgba(0,0,0,.6);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--text); font: 400 1.0625rem/1.6 var(--f-body); }
img, svg { max-width: 100%; }
a { color: var(--accent); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--f-display); line-height: 1.12; letter-spacing: -.015em; text-wrap: balance; margin: 0; }
h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); font-weight: 800; }
h2 { font-size: clamp(1.6rem, 3.4vw, 2.3rem); font-weight: 800; }
h3 { font-size: 1.15rem; font-weight: 700; }
p { margin: 0; }
.wrap { width: 100%; max-width: 1120px; margin-inline: auto; padding-inline: 20px; }
.narrow { max-width: 760px; }
.muted { color: var(--muted); }
.eyebrow { font: 500 .78rem/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.section { padding-block: var(--s8); }
.section-head { display: grid; gap: var(--s3); max-width: 720px; margin-bottom: var(--s6); }
.section-head p { color: var(--muted); font-size: 1.12rem; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; font: 700 1rem/1 var(--f-display);
  padding: 15px 22px; border-radius: var(--r); border: 0; background: var(--accent); color: var(--accent-ink);
  text-decoration: none; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.btn:hover { background: var(--accent-hover); }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .6; cursor: wait; }
.btn-ghost { background: transparent; color: inherit; border: 1.5px solid currentColor; }
.btn-ghost:hover { background: rgba(127,127,127,.14); }
.btn-block { width: 100%; }

.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--band); color: var(--band-fg); border-bottom: 1px solid rgba(255,255,255,.06); }
.site-header .wrap { display: flex; align-items: center; gap: var(--s5); min-height: 66px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--band-fg); text-decoration: none; font: 800 1.22rem/1 var(--f-display); letter-spacing: -.01em; }
.brand .qc { color: var(--band-accent); }
.brand svg { width: 32px; height: 32px; flex: none; }
.site-header nav { display: flex; gap: var(--s5); margin-left: auto; }
.site-header nav a { color: var(--band-muted); text-decoration: none; font-weight: 600; font-size: .98rem; }
.site-header nav a:hover { color: var(--band-fg); }
.site-header .btn { padding: 11px 16px; font-size: .95rem; }

.hero { background: radial-gradient(1200px 500px at 85% -10%, var(--band-2), transparent 60%), var(--band); color: var(--band-fg); padding-block: var(--s7) var(--s8); }
.hero .wrap { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: var(--s7); align-items: center; }
.hero h1 { margin-block: var(--s3) var(--s4); }
.hero h1 em { font-style: normal; color: var(--band-accent); }
.hero .lead { color: var(--band-muted); font-size: 1.18rem; max-width: 36em; }
.hero .eyebrow, .pricing-band .eyebrow, .result-hero .eyebrow { color: var(--band-accent); }
.scan-form { display: grid; gap: var(--s3); margin-top: var(--s5); max-width: 560px; }
.field-row { display: flex; gap: var(--s2); flex-wrap: wrap; }
.field-row input { flex: 1 1 260px; min-width: 0; }
.scan-form input { font: 400 1.05rem/1.2 var(--f-body); padding: 15px 16px; border-radius: var(--r); border: 1.5px solid transparent; background: var(--field-bg); color: var(--field-fg); }
.scan-form input::placeholder { color: var(--field-ph); }
.scan-form .btn { flex: 0 0 auto; }
.form-note { font-size: .84rem; color: var(--band-muted); }
.form-note a { color: var(--band-fg); }
.hp { position: absolute; left: -9999px; }
.alert { background: var(--fail-soft); color: var(--text); border-left: 4px solid var(--fail); padding: 12px 14px; border-radius: var(--r-sm); max-width: 560px; }
.loading { display: flex; gap: 14px; align-items: center; color: var(--band-fg); }
.loading[hidden] { display: none; }
.spinner { width: 26px; height: 26px; border: 3px solid rgba(255,255,255,.2); border-top-color: var(--band-accent); border-radius: 50%; animation: spin 1s linear infinite; flex: none; }
@keyframes spin { to { transform: rotate(360deg); } }
.assurances { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); margin: var(--s5) 0 0; padding: 0; list-style: none; color: var(--band-muted); font-size: .93rem; }
.assurances li { display: inline-flex; align-items: center; gap: 8px; }
.assurances svg { width: 18px; height: 18px; color: var(--band-accent); flex: none; }

.report { background: var(--surface); color: var(--text); border-radius: var(--r-lg); box-shadow: 0 30px 60px -25px rgba(0,0,0,.55); overflow: hidden; }
.report-top { display: flex; align-items: center; gap: var(--s4); padding: 16px 20px; border-bottom: 1px solid var(--line); }
.report-top .site { font: 500 .85rem var(--f-mono); color: var(--muted); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-top .tag { margin-left: auto; font: 500 .7rem var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); border-radius: 99px; padding: 4px 9px; white-space: nowrap; }
.report-score { display: flex; align-items: center; gap: var(--s5); padding: 20px; flex-wrap: wrap; }
.report-score > div:last-child { flex: 1 1 200px; min-width: 0; }
.gauge { --c: var(--ok); width: 112px; height: 112px; border-radius: 50%; display: grid; place-content: center; text-align: center; flex: none;
  background: radial-gradient(closest-side, var(--surface) 80%, transparent 81% 100%), conic-gradient(var(--c) calc(var(--score, 0) * 1%), var(--line) 0); }
.gauge .num { font: 800 2.3rem/1 var(--f-display); font-variant-numeric: tabular-nums; }
.gauge .den { font: 500 .78rem var(--f-mono); color: var(--muted); }
.gauge.orange { --c: var(--warn); } .gauge.rouge { --c: var(--fail); }
.level { font: 800 1.2rem/1.2 var(--f-display); }
.level.vert { color: var(--ok); } .level.orange { color: var(--warn); } .level.rouge { color: var(--fail); }
.bars { display: grid; gap: 8px; margin-top: 10px; font-size: .9rem; }
.bar { display: grid; grid-template-columns: 4.8em minmax(0, 1fr) 4.2em; align-items: center; gap: 10px; }
.bar .track { height: 7px; background: var(--line); border-radius: 99px; overflow: hidden; }
.bar .fill { height: 100%; background: var(--c, var(--ok)); border-radius: 99px; }
.bar .v { font: 500 .8rem var(--f-mono); text-align: right; color: var(--muted); font-variant-numeric: tabular-nums; }
.checks { list-style: none; margin: 0; padding: 0 20px 14px; display: grid; }
.checks li { display: grid; grid-template-columns: 22px 4.4em minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid var(--line); font-size: .93rem; }
.checks .code { font: 500 .74rem var(--f-mono); color: var(--muted); }
.checks .pts { font: 500 .78rem var(--f-mono); color: var(--muted); font-variant-numeric: tabular-nums; }
.dot { width: 20px; height: 20px; border-radius: 50%; display: grid; place-content: center; color: #fff; font: 700 .72rem/1 var(--f-body); }
.dot.ok { background: var(--ok); } .dot.warn { background: var(--warn); } .dot.fail { background: var(--fail); } .dot.na, .dot.unk { background: var(--unk); }
.report-foot { padding: 12px 20px; background: var(--accent-soft); font-size: .88rem; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
@media (prefers-reduced-motion: no-preference) {
  .hero .checks li { animation: reveal .5s ease both; }
  .hero .checks li:nth-child(2) { animation-delay: .15s; } .hero .checks li:nth-child(3) { animation-delay: .3s; }
  .hero .checks li:nth-child(4) { animation-delay: .45s; } .hero .checks li:nth-child(5) { animation-delay: .6s; }
  @keyframes reveal { from { opacity: .3; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
}

.proof { background: var(--surface); border-bottom: 1px solid var(--line); }
.proof .wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s5); padding-block: var(--s5); }
.proof div { display: grid; gap: 2px; }
.proof strong { font: 800 1.1rem/1.25 var(--f-display); }
.proof span { color: var(--muted); font-size: .92rem; }

.stakes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); }
.stake { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--s5); display: grid; gap: var(--s2); align-content: start; }
.stake .fig { font: 800 clamp(1.8rem, 3.6vw, 2.4rem)/1.05 var(--f-display); font-variant-numeric: tabular-nums; }
.stake .law { font: 500 .74rem var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.stake p { color: var(--muted); }
.src { font-size: .8rem; color: var(--muted); margin-top: var(--s4); }

.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); counter-reset: step; list-style: none; padding: 0; margin: 0; }
.steps li { display: grid; gap: var(--s2); align-content: start; }
.steps li::before { counter-increment: step; content: counter(step); width: 38px; height: 38px; border-radius: 50%; display: grid; place-content: center; background: var(--band); color: var(--band-fg); font: 800 1rem var(--f-display); }
.steps p { color: var(--muted); }

.laws { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4); }
.law-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--s5); }
.law-card header { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: var(--s3); flex-wrap: wrap; }
.law-card .pts { font: 500 .8rem var(--f-mono); color: var(--muted); }
.law-card ul { list-style: none; padding: 0; margin: 0; display: grid; }
.law-card li { display: grid; grid-template-columns: 4.4em minmax(0, 1fr); gap: 8px; padding: 9px 0; border-top: 1px solid var(--line); }
.law-card li .code { font: 500 .76rem/1.9 var(--f-mono); color: var(--muted); }

.pricing-band { background: var(--band); color: var(--band-fg); }
.pricing-band .section-head p { color: var(--band-muted); }
.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); align-items: stretch; }
.plan { background: var(--band-2); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-lg); padding: var(--s5); display: flex; flex-direction: column; gap: var(--s3); }
.plan.featured { background: var(--surface); color: var(--text); border: 2px solid var(--accent); box-shadow: 0 24px 50px -20px rgba(0,0,0,.6); position: relative; }
.plan .badge { position: absolute; top: -13px; left: var(--s5); background: var(--accent); color: var(--accent-ink); font: 700 .75rem var(--f-display); padding: 5px 10px; border-radius: 99px; }
.plan .price { font: 800 2.4rem/1 var(--f-display); font-variant-numeric: tabular-nums; }
.plan .price small { font: 500 .95rem var(--f-body); opacity: .75; }
.plan .alt { font-size: .92rem; opacity: .85; }
.plan ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; flex: 1; align-content: start; }
.plan li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; font-size: .97rem; }
.plan li svg { width: 18px; height: 18px; margin-top: 3px; color: var(--band-accent); }
.plan.featured li svg { color: var(--accent); }
.plan .btn-ghost { color: var(--band-fg); }
.guarantee { display: flex; gap: var(--s4); align-items: flex-start; margin-top: var(--s6); padding: var(--s5); border: 1px dashed rgba(255,255,255,.25); border-radius: var(--r-lg); }
.guarantee svg { width: 40px; height: 40px; flex: none; color: var(--band-accent); }
.guarantee p { color: var(--band-muted); }
.guarantee strong { color: var(--band-fg); }

.faq { display: grid; gap: var(--s2); max-width: 820px; }
.faq details { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 4px 18px; }
.faq summary { cursor: pointer; font: 700 1.05rem var(--f-display); padding: 14px 0; list-style: none; display: flex; justify-content: space-between; gap: 10px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font: 500 1.3rem/1 var(--f-mono); color: var(--accent); }
.faq details[open] summary::after { content: "–"; }
.faq details p { color: var(--muted); padding-bottom: 14px; }

.final { background: var(--accent-soft); }
.final .wrap { display: flex; justify-content: space-between; align-items: center; gap: var(--s5); flex-wrap: wrap; padding-block: var(--s7); }

.site-footer { background: var(--band); color: var(--band-muted); font-size: .92rem; }
.site-footer .wrap { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--s6); padding-block: var(--s7) var(--s5); }
.site-footer h4 { font: 700 .82rem var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--band-fg); margin: 0 0 var(--s3); }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.site-footer a { color: var(--band-muted); text-decoration: none; }
.site-footer a:hover { color: var(--band-fg); }
.site-footer .brand { margin-bottom: var(--s3); }
.site-footer .legal { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.08); padding-top: var(--s4); font-size: .82rem; }

.result-hero { background: var(--band); color: var(--band-fg); padding-block: var(--s6) var(--s7); }
.result-hero .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s6); align-items: center; }
.result-hero h1 { font-size: clamp(1.7rem, 4vw, 2.6rem); overflow-wrap: anywhere; margin-top: var(--s2); }
.result-hero .lead { color: var(--band-muted); margin-top: var(--s3); font-size: 1.1rem; }
.result-hero .report { width: 100%; }
.partial { background: var(--accent-soft); color: var(--text); padding: 8px 10px; border-radius: var(--r-sm); font-size: .88rem; margin-top: var(--s2); }
.result-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--s6); align-items: start; padding-block: var(--s7); }
.result-main { display: grid; gap: var(--s5); min-width: 0; }
.findings { display: grid; gap: var(--s3); }
.finding { background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--fail); border-radius: var(--r); padding: 16px 18px; display: grid; gap: 8px; }
.finding.st-warn { border-left-color: var(--warn); }
.finding .fhead { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.finding .fhead .pts { margin-left: auto; font: 500 .8rem var(--f-mono); color: var(--muted); }
.finding .code { font: 500 .76rem var(--f-mono); color: var(--muted); }
.finding .fix { font-size: .93rem; background: var(--accent-soft); padding: 8px 10px; border-radius: var(--r-sm); }
.details { margin: 0; padding-left: 1.1em; font-size: .9rem; color: var(--muted); overflow-wrap: anywhere; }
.locked-list { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 4px 18px; }
.locked-list .row { display: grid; grid-template-columns: 22px 4.4em minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); font-size: .95rem; }
.locked-list .row:first-child { border-top: 0; }
.locked-list .row .code { font: 500 .74rem var(--f-mono); color: var(--muted); }
.locked-list .row .pts { font: 500 .8rem var(--f-mono); color: var(--muted); }
.lock { display: inline-flex; align-items: center; gap: 4px; }
.lock svg { width: 13px; height: 13px; }
.sidebar { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 86px); display: grid; gap: var(--s4); }
.buybox { background: var(--surface); border: 2px solid var(--accent); border-radius: var(--r-lg); padding: var(--s5); display: grid; gap: var(--s3); box-shadow: var(--shadow); }
.buybox .price { font: 800 2rem/1 var(--f-display); }
.buybox .price small { font: 500 .9rem var(--f-body); color: var(--muted); }
.buybox ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; font-size: .95rem; }
.buybox li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; }
.buybox li svg { width: 18px; height: 18px; margin-top: 3px; color: var(--accent); }
.or { text-align: center; font-size: .9rem; color: var(--muted); }
.trustbox { font-size: .88rem; color: var(--muted); display: grid; gap: 6px; padding-inline: 4px; }
.trustbox div { display: flex; gap: 8px; align-items: center; }
.trustbox svg { width: 16px; height: 16px; color: var(--accent); flex: none; }
.disclaimer { font-size: .82rem; color: var(--muted); }
.good { background: var(--accent-soft); padding: 14px 16px; border-radius: var(--r); }
.prose { padding-block: var(--s7); display: grid; gap: var(--s4); }
.prose h2 { font-size: 1.35rem; margin-top: var(--s4); }
.prose ul { margin: 0; padding-left: 1.2em; display: grid; gap: 4px; }
code { font-family: var(--f-mono); background: var(--accent-soft); padding: 1px 5px; border-radius: 5px; font-size: .88em; }

@media (max-width: 960px) {
  .hero .wrap, .result-hero .wrap { grid-template-columns: minmax(0, 1fr); }
  .result-body { grid-template-columns: minmax(0, 1fr); }
  .sidebar { position: static; }
  .plans, .stakes, .steps { grid-template-columns: minmax(0, 1fr); }
  .proof .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .laws { grid-template-columns: minmax(0, 1fr); }
  .site-footer .wrap { grid-template-columns: minmax(0, 1fr); }
  .site-header nav { display: none; }
  .site-header .btn { margin-left: auto; }
  .plans { gap: var(--s6); }
}
@media (max-width: 480px) {
  .wrap { padding-inline: 16px; }
  .proof .wrap { grid-template-columns: minmax(0, 1fr); }
  .scan-form .btn { width: 100%; }
  .checks li, .locked-list .row { grid-template-columns: 22px minmax(0, 1fr) auto; }
  .checks .code, .locked-list .row .code { display: none; }
  .site-header .btn { padding: 10px 12px; font-size: .88rem; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
