/* Rider's security briefing (2026 revamp). Loads after site.css and overrides it.
   Square grid on paper, forest bands for authority, the 1–99 gauge as the one bold element,
   plate-yellow for input, alert red only for "Bike stolen?". */

@font-face { font-family: "Saira Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/saira-condensed-600.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; }
@font-face { font-family: "Saira Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/saira-condensed-700.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; }
@font-face { font-family: "Saira Condensed"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/saira-condensed-800.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; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("fonts/ibm-plex-sans.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; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/ibm-plex-mono-500.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 {
  --plate: #f5c518;
  --alert: #c8281e;
  --b1: #2f7d63; --b2: #6f9a3c; --b3: #b59a1c; --b4: #d77a26; --b5: #c8461f; --b6: #a8182c;
  --display: "Saira Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;
  --container: 1200px;
}

/* ---------- global type ---------- */
h1, h2 { font-family: var(--display); text-transform: uppercase; letter-spacing: normal; text-wrap: balance; }
h1 { font-weight: 800; line-height: .92; }
h2 { font-weight: 700; line-height: 1; }
h3 { font-family: var(--display); letter-spacing: normal; }
:focus-visible { outline: 3px solid var(--forest); outline-offset: 2px; box-shadow: 0 0 0 6px var(--signal); }

/* ---------- header ---------- */
.site-header { border-bottom: 2px solid var(--ink); }
.brief-bar { display: flex; align-items: center; gap: 1.5rem; min-height: 68px; }
.site-header .brand { font: 800 1.35rem/1 var(--display); letter-spacing: .04em; }
.site-header .brand-mark { width: 30px; height: 26px; margin-right: .6rem; }
.site-header nav { display: flex; align-items: center; gap: 1.4rem; margin-left: auto; }
.site-header nav a { display: inline-block; min-width: 0; padding: 6px 0; border: 0; border-bottom: 2px solid transparent; background: none; box-shadow: none; color: var(--ink); font: 500 .95rem/1.2 var(--sans); letter-spacing: normal; }
.site-header nav a:last-child { border-right: 0; }
.site-header nav a:hover { background: none; border-bottom-color: var(--line-dark); color: var(--ink); }
.site-header nav a[aria-current="page"] { background: none; box-shadow: none; border-bottom-color: var(--forest); color: var(--ink); }
.site-header .saved-trigger { position: relative; top: auto; right: auto; min-width: 0; padding: 7px 11px; border: 2px solid var(--ink); color: var(--ink); font: 600 .85rem/1.2 var(--sans); text-transform: none; white-space: nowrap; }
.site-header .saved-trigger span { height: 20px; min-width: 20px; margin-left: .4rem; background: var(--ink); font: 600 .75rem/1 var(--sans); }
.stolen-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; background: var(--alert); color: #fff; font: 700 1.05rem/1 var(--display); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.stolen-btn::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.3); }
.stolen-btn:hover { background: #a91f17; color: #fff; }
.site-header .nav-toggle { min-width: 0; min-height: 40px; padding: 0 12px; border: 2px solid var(--ink); background: transparent; color: var(--ink); font: 600 .85rem var(--sans); text-transform: none; }

@media (max-width: 980px) {
  .brief-bar { flex-wrap: wrap; gap: .6rem; min-height: 0; padding-block: .7rem; }
  .site-header .brand { margin-right: auto; align-self: center; }
  .site-header .saved-trigger { position: static; }
  .js .site-header .nav-toggle { position: static; display: inline-flex !important; }
  .site-header nav { flex-basis: 100%; order: 10; margin: 0; padding: 0; overflow-x: auto; gap: 1.1rem; background: none; }
  .js .site-header nav { display: none; }
  .js .site-header nav.is-open { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: .2rem 0 0; border-top: 1px solid var(--ink); }
  .js .site-header nav.is-open a { min-height: 48px; display: flex; align-items: center; padding: .7rem .2rem; border: 0; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .js .site-header nav.is-open a[aria-current="page"] { border-bottom: 2px solid var(--forest); font-weight: 600; }
  .site-header nav a { min-width: max-content; border-top: 0; font-size: .95rem; }
  .site-header nav a:first-child { border-left: 0; }
}
@media (max-width: 560px) {
  .site-header .brand { font-size: 1.15rem; }
  .site-header .saved-trigger { padding: 0 8px; min-height: 40px; display: inline-flex; align-items: center; font-size: 0; }
  .site-header .saved-trigger::before { content: ""; width: 12px; height: 15px; background: var(--ink); clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 72%, 0 100%); }
  .site-header .saved-trigger span { font-size: .72rem; }
  .stolen-btn { padding: 0 10px; min-height: 40px; font-size: .95rem; }
  .stolen-btn::before { display: none; }
}
@media (max-width: 420px) {
  .site-header .brand-mark { display: none; }
  .brief-bar { gap: .45rem; }
}

/* ---------- footer ---------- */
.site-footer { font-family: var(--sans); }
.footer-grid { grid-template-columns: 2fr 1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); }
.site-footer .brand { font: 800 1.35rem/1 var(--display); letter-spacing: .04em; }
.footer-identity p { max-width: 46ch; color: #c9cdc3; font-size: .88rem; line-height: 1.55; }
.footer-identity .footer-status, .footer-identity .footer-disclaimer { margin-top: .6rem; color: #9ea69f; font-size: .8rem; }
.footer-identity .footer-disclaimer a { color: #d8ddd8; text-decoration: underline; }
.footer-links > strong { color: #fff; font: 700 1.05rem var(--display); letter-spacing: .04em; text-transform: uppercase; }
.footer-links a, .footer-links span { font-size: .88rem; }
.legal-links, .sibling-note { font: .78rem var(--sans); }
@media (max-width: 980px) { .footer-grid { grid-template-columns: 1fr 1fr; } .footer-identity { grid-column: 1 / -1; } }
@media (max-width: 430px) { .footer-grid { grid-template-columns: 1fr 1fr; } }

/* ---------- gauge ---------- */
.gauge { display: block; width: 100%; height: auto; }
.gauge .num { font: 800 64px var(--display); fill: var(--ink); }
.gauge .of { font: 600 15px var(--display); fill: var(--muted); letter-spacing: .06em; }
.gauge .na { font: 700 17px var(--display); fill: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.gauge .tick { stroke: var(--ink); }
.gauge .tl { font: 500 10px var(--mono); fill: var(--muted); }
.gauge .needle { stroke: var(--ink); stroke-width: 4; stroke-linecap: square; }
.gauge .hub { fill: var(--ink); }
.gauge .zone { fill: none; stroke-width: 18; }
.gauge .zone.dim { opacity: .28; }
.g-b1 { stroke: var(--b1); } .g-b2 { stroke: var(--b2); } .g-b3 { stroke: var(--b3); }
.g-b4 { stroke: var(--b4); } .g-b5 { stroke: var(--b5); } .g-b6 { stroke: var(--b6); }
.tone-b1 { color: var(--b1); } .tone-b2 { color: var(--b2); } .tone-b3 { color: #8a7410; }
.tone-b4 { color: #b8601a; } .tone-b5 { color: var(--b5); } .tone-b6 { color: var(--b6); } .tone-none { color: var(--muted); }

/* ---------- plate input ---------- */
.plate-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; max-width: 560px; border: 3px solid var(--ink); background: var(--plate); }
.plate-wrap { position: relative; display: flex; align-items: stretch; min-width: 0; }
.plate-wrap > span { display: grid; place-items: end center; padding: 6px 7px; background: #1f4fa3; color: #fff; font: 700 .8rem var(--display); letter-spacing: .05em; }
.plate-form input { flex: 1; min-width: 0; padding: 12px 14px; border: 0; background: transparent; color: var(--ink); font: 700 clamp(1.4rem, 3.4vw, 2rem) var(--display); letter-spacing: .06em; text-transform: uppercase; }
.plate-form input:focus { outline: none; }
.plate-form:focus-within { outline: 3px solid var(--forest); outline-offset: 2px; box-shadow: 0 0 0 6px var(--signal); }
.plate-form input::placeholder { color: #6b5a0c; }
.plate-form button { padding: 0 22px; border: 0; border-left: 3px solid var(--ink); background: var(--ink); color: var(--paper); font: 700 1.2rem var(--display); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.plate-form button:hover { background: var(--forest); }
.plate-form .model-suggestions { left: -3px; right: -3px; top: calc(100% + 3px); }

/* ---------- home ---------- */
.brief-hero { background: var(--paper); background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 48px 48px; background-position: -1px -1px; border-bottom: 1px solid var(--ink); }
.brief-hero .container { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; padding-block: 56px; align-items: center; }
.brief-hero .container > * { min-width: 0; }
.brief-hero h1 { margin: 0; font-size: clamp(2.8rem, 6.4vw, 5.2rem); letter-spacing: -.005em; }
.hero-copy { display: grid; gap: 22px; }
.hero-copy .lede { margin: 0; max-width: 46ch; font-size: 1.15rem; }
.hero-meta { margin: 0; color: var(--muted); font-size: .9rem; }
.example { display: grid; border: 2px solid var(--ink); background: var(--panel); }
.example-head { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .85rem; }
.tag { padding: 2px 6px; border: 1px solid currentColor; font: 500 .75rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.example-body { display: grid; gap: 10px; padding: 8px 20px 20px; }
.example-body .gauge { max-width: 360px; justify-self: center; }
.example h2 { font-size: 1.9rem; }
.verdict-word { font: 800 1.15rem var(--display); letter-spacing: .08em; text-transform: uppercase; }
.example p { margin: 0; font-size: .98rem; }
.example a { font-weight: 600; text-decoration: underline; }
@media (max-width: 860px) { .brief-hero .container { grid-template-columns: 1fr; gap: 32px; padding-block: 36px; } }

.brief-band { padding-block: 56px; }
.band-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px 24px; margin-bottom: 24px; }
.band-head h2 { font-size: clamp(2rem, 4vw, 2.8rem); }
.band-head p { margin: 0; max-width: 52ch; color: var(--muted); }
.ranks { display: grid; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.ranks li { position: relative; display: grid; grid-template-columns: 3rem minmax(9rem, 14rem) 1fr 5.5rem 6.5rem; gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.ranks li:hover { background: var(--panel); }
.ranks .rk { color: var(--muted); font: 800 1.6rem var(--display); font-variant-numeric: tabular-nums; }
.ranks .nm { font-weight: 600; }
.ranks .nm a::after { content: ""; position: absolute; inset: 0; }
.ranks .nm small { display: block; color: var(--muted); font-size: .85rem; font-weight: 400; }
.ranks .bar { height: 14px; border: 1px solid var(--line); background: linear-gradient(90deg, var(--forest) var(--w), transparent var(--w)); }
.ranks .n { text-align: right; font: 700 1.4rem var(--display); font-variant-numeric: tabular-nums; }
.ranks .ch { text-align: right; font-size: .88rem; font-variant-numeric: tabular-nums; }
.up { color: var(--b6); } .down { color: var(--b1); }
.band-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 18px; color: var(--muted); font-size: .9rem; }
.band-foot a { color: var(--ink); font-weight: 600; text-decoration: underline; }
@media (max-width: 760px) { .ranks li { grid-template-columns: 2.2rem 1fr auto; gap: 4px 12px; } .ranks .bar { grid-column: 2 / -1; grid-row: 2; } .ranks .ch { display: none; } }

.duo { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); }
.duo > div { display: grid; gap: 16px; align-content: start; padding: 44px max(20px, 4vw); }
.duo h2 { font-size: 2.2rem; }
.duo p { margin: 0; }
.alert-panel { background: var(--alert); color: #fff; }
.alert-panel ol { display: grid; gap: 8px; margin: 0; padding-left: 1.3em; }
.alert-panel ol li::marker { font: 700 1.1rem var(--display); }
.alert-panel .cta { justify-self: start; padding: 10px 16px; background: #fff; color: var(--alert); font: 700 1.1rem var(--display); letter-spacing: .05em; text-transform: uppercase; }
.follow-panel { background: var(--forest); color: var(--paper); }
.follow-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.follow-actions .cta, .follow-actions a { padding: 10px 16px; border: 2px solid var(--paper); background: transparent; color: var(--paper); font: 700 1.1rem var(--display); letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.follow-actions .cta { border-color: var(--signal); background: var(--signal); color: var(--ink); }
.follow-panel small { opacity: .85; }
@media (max-width: 760px) { .duo { grid-template-columns: 1fr; } }

/* ---------- model page ---------- */
.crumbs { padding-top: 20px; color: var(--muted); font-size: .88rem; }
.crumbs a { border-bottom: 1px solid var(--line); }
.model-title { padding-block: 12px 28px; }
.model-title h1 { margin: 0; max-width: 18ch; font-size: clamp(2.4rem, 5.4vw, 4.4rem); line-height: .95; }
.verdict { border-block: 2px solid var(--ink); background: var(--panel); }
.verdict .container { display: grid; grid-template-columns: 340px 1fr; gap: 40px; padding-block: 28px; align-items: center; }
.verdict-text { display: grid; gap: 14px; }
.verdict-text > p { margin: 0; max-width: 56ch; font-size: 1.1rem; }
.verdict-text > p.answer { font: 700 2rem/1.05 var(--display); text-transform: uppercase; }
.verdict-text .range { color: var(--muted); font-size: .9rem; }
.verdict-text a { text-decoration: underline; }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border: 1px solid var(--line); background: var(--paper); }
.facts div { display: grid; gap: 2px; padding: 12px 14px; border-left: 1px solid var(--line); }
.facts div:first-child { border-left: 0; }
.facts dt { order: 2; color: var(--muted); font-size: .85rem; }
.facts dd { order: 1; margin: 0; font: 800 2rem/1 var(--display); font-variant-numeric: tabular-nums; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; }
.btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 2px solid var(--ink); background: transparent; color: var(--ink); font: 600 .95rem var(--sans); cursor: pointer; }
.btn:hover { background: var(--signal); }
.btn.primary { background: var(--ink); color: var(--paper); }
.btn.primary:hover { background: var(--forest); }
.btn.primary[aria-pressed="true"] { background: var(--forest); }
@media (max-width: 860px) { .verdict .container { grid-template-columns: 1fr; gap: 12px; } .verdict .gauge { max-width: 320px; } }
@media (max-width: 480px) { .facts { grid-template-columns: 1fr; } .facts div { border-left: 0; border-top: 1px solid var(--line); } .facts div:first-child { border-top: 0; } }

.cols { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; padding-block: 44px; }
.cols > * { min-width: 0; }
.block { display: grid; gap: 14px; align-content: start; }
.block h2 { font-size: 1.9rem; }
.block > p { margin: 0; }
.block > p.sub { color: var(--muted); font-size: .95rem; }
.bars { display: block; width: 100%; height: auto; }
.bars text { fill: var(--muted); font: 500 11px var(--mono); }
.bars .val { fill: var(--ink); font: 700 14px var(--display); }
.bars .grid { stroke: var(--line); stroke-width: 1; }
.bars .bar { fill: var(--forest-2); }
.bars .bar.last { fill: var(--b4); }
@media (max-width: 600px) { .bars text { font-size: 19px; } .bars .val { font-size: 24px; } }
.src { margin: 0; color: var(--muted); font-size: .82rem; }
.years { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.years li { display: grid; grid-template-columns: 3rem 1fr 2.5rem; gap: 10px; align-items: center; font-size: .95rem; font-variant-numeric: tabular-nums; }
.years i { display: block; width: var(--w); height: 12px; background: var(--forest-2); }
.years b { text-align: right; }
.stock-block { padding-bottom: 44px; }
@media (max-width: 860px) { .cols { grid-template-columns: 1fr; } }

.protect { background: var(--forest); color: var(--paper); }
.protect .container { display: grid; gap: 22px; padding-block: 44px; }
.protect h2 { font-size: 2.2rem; }
.protect-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 10px 24px; }
.protect-head p { margin: 0; max-width: 60ch; opacity: .9; }
.kit { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--forest-2); }
.kit > div { display: grid; gap: 8px; align-content: start; padding: 18px; border-left: 1px solid var(--forest-2); }
.kit > div:first-child { border-left: 0; }
.kit h3 { margin: 0; color: var(--signal); font-size: 1.3rem; text-transform: uppercase; }
.kit .rating { justify-self: start; padding: 2px 6px; border: 1px solid var(--signal); color: var(--signal); font: 500 .78rem var(--mono); letter-spacing: .04em; }
.kit p { margin: 0; font-size: .92rem; opacity: .92; }
.disclose { margin: 0; font-size: .85rem; opacity: .85; }
@media (max-width: 860px) { .kit { grid-template-columns: 1fr 1fr; } .kit > div:nth-child(3) { border-left: 0; } .kit > div:nth-child(n+3) { border-top: 1px solid var(--forest-2); } }
@media (max-width: 480px) { .kit { grid-template-columns: 1fr; } .kit > div { border-left: 0; border-top: 1px solid var(--forest-2); } .kit > div:first-child { border-top: 0; } }

details.method { border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
details.method summary { padding: 16px 0; font: 700 1.4rem var(--display); text-transform: uppercase; cursor: pointer; }
details.method > div { display: grid; gap: 10px; max-width: 70ch; padding-bottom: 18px; }
details.method p { margin: 0; }
details.method a { text-decoration: underline; }
.notes { padding-block: 44px; }

/* >>> re-type (generated by scripts/brief_retype.py; do not edit by hand) */
.skip-link { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.no-script { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.utility-inner { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.nav-toggle, .js .nav-toggle { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.section-code, .section-bar, .module header, .card-heading { font-family: var(--sans); text-transform: none; letter-spacing: normal; }
.section-bar p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.section-link { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.eyebrow { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.breadcrumbs { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.search-box label { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.search-box button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.model-suggestion-empty { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.overview-search > p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.discovery-intro span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.discovery-box form > label { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.discovery-box form > small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.metric-board article > span, .metric-board > a > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.metric-board strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; }
.metric-board small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.metric-board b { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.data-note-label > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.data-note-label > small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.data-note-controls span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.data-note > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.data-note small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.data-note a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.data-note-actions button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-following-head span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-following-head p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.home-following-head button, .home-return-actions button, .home-return-actions a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-following-list span, .home-following-list small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-proof dt, .home-example dt { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-proof dd { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-weight: 600; }
.home-proof-stats small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-example > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-example b { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-proof-foot { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-pulse-heading span, .home-explore-heading span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-pulse-heading > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-pulse-line > p strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; }
.home-pulse-line dt { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-pulse-line dd { font-family: var(--display); font-weight: 800; font-size: 1.25rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.home-pulse-note { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-explore-heading > p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.home-tab-list button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.home-panel-intro span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-list-rank { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-list-model small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-list-count strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-weight: 600; }
.home-list-count small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-panel-actions a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-area-choices span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-recent-list time, .home-recent-list > a > span:nth-child(3) { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-recent-list small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-reading-note a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-return-loop span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-hero .discovery-box button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-snapshot-heading span, .home-routes-heading > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-snapshot-heading a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-snapshot-metrics dt { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-snapshot-metrics dd { font-family: var(--sans); text-transform: none; letter-spacing: normal; }
.home-snapshot-metrics small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-trust-line { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.home-route-grid span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.home-route-grid i { font-family: var(--display); font-weight: 800; font-size: 1.56rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.home-secondary-routes a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.official-pattern-summary > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.official-pattern-summary > strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; }
.official-pattern-summary > small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.official-pattern-summary > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.scatter-legend span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.scatter-chart text, .trajectory-chart text { font-family: var(--sans); text-transform: none; letter-spacing: normal; }
.axis-label { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.pattern-selector label { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.pattern-selector button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.trajectory-legend span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.pattern-note { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.pattern-heatmap thead th { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.pattern-heatmap tbody th span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.pattern-heatmap td strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.pattern-heatmap td small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.pattern-heatmap .heat-total { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.pattern-next a { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.pattern-view-nav a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.pattern-view-heading span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.pattern-explainer strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.pattern-region-list strong { font-family: var(--display); font-weight: 800; font-size: 1.50rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.pattern-region-list small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.pattern-heatmap-details summary { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.sibling-service span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.sibling-service > .container > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.official-make-list small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.public-chart text { font-family: var(--sans); text-transform: none; letter-spacing: normal; }
.chart-tooltip span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.chart-note { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.chart-data summary { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.chart-data table { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.map-preview > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.data-table th { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.rank-cell { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.model-link span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.segment-tag { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.count-cell, .rate-cell { font-family: var(--display); font-weight: 800; font-size: 1.12rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.rate-cell small, .score-range { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.count-cell small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.row-action a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.signal { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.empty-state { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.segment-board a > span, .segment-board a > small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.segment-board a > strong { font-family: var(--display); font-weight: 800; font-size: 2.88rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.coverage-grid span, .coverage-grid small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.coverage-grid strong { font-family: var(--display); font-weight: 800; font-size: 1.81rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.coverage-grid > a:last-child { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.guide-grid > div > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.guide-grid > a { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.segment-nav a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.metric-tabs a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.result-note { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.filter-panel-head span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.filter-panel-head > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.filter-primary label > span, .filter-secondary label > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.filter-primary > button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.filter-more summary { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.filter-more summary small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.filter-help { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.result-scope span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.result-scope small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.result-limit { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.table-caveat strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.score-hero-verdict span, .score-hero-verdict small, .score-hero-rate span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.score-hero-rate strong { font-family: var(--display); font-weight: 800; font-size: 2.75rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.score-hero > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.signal-position > div:first-child span, .signal-position > div:first-child small, .position-stats span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.position-stats strong { font-family: var(--display); font-weight: 800; font-size: 2.25rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.signal-position > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.metric-grid span, .metric-grid small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.metric-grid strong { font-family: var(--display); font-weight: 800; font-size: 2.50rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.region-list strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.provenance strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.engagement-tools button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.engagement-tools small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.map-total strong { font-family: var(--display); font-weight: 800; font-size: 1.88rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.map-total span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.map-tooltip span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.legend-heading, .legend-breaks { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.map-card figcaption { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.map-sidebar-heading { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.map-ranking li b { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.map-ranking strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.ni-figure small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.ni-figure strong { font-family: var(--display); font-weight: 800; font-size: 1.25rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.map-method { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.official-context-promo span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.official-context-promo a { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.official-benchmark span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.official-benchmark a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.official-series-row > strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.official-series-row span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.context-search label { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.context-search button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.official-metrics span, .official-metrics small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.official-metrics strong { font-family: var(--display); font-weight: 800; font-size: 2.50rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.official-first-summary span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.official-first-summary small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.official-first-summary i { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.evidence-receipt dt { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.evidence-receipt dd { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.model-tab-list button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.model-answer > div:first-child > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.model-answer-metrics span, .model-answer-metrics small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.model-answer-metrics strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-weight: 600; }
.vehicle-year-list strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.movement { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.official-model-note strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.official-model-note a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.context-ranked strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.fleet-summary { font-family: var(--sans); text-transform: none; letter-spacing: normal; }
.compare-selects label span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.compare-selects button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.comparison-card header > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.comparison-card header a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.comparison-card dt { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.comparison-card dd { font-family: var(--display); font-weight: 800; font-size: 1.25rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.comparison-official > span, .comparison-official > small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.comparison-official > strong { font-family: var(--display); font-weight: 800; font-size: 3.00rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.comparison-community summary { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.comparison-matrix thead th:first-child { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.comparison-matrix thead small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.comparison-matrix tbody th { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.comparison-matrix tbody td strong { font-family: var(--display); font-weight: 800; font-size: 1.31rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.comparison-matrix tbody td small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.comparison-details > summary { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.decision-report-preview > div > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.decision-report-preview li strong { font-family: var(--display); font-weight: 800; font-size: 1.31rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.decision-report-preview li span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.decision-report-preview > a { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.decision-report-preview > small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.evidence-comparison dt { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.evidence-comparison dd { font-family: var(--display); font-weight: 800; font-size: 1.69rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.evidence-comparison > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.time-lens > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.time-lens a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.source-list article > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.analytics-consent > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.analytics-consent button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.analytics-consent > a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.saved-trigger { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.watch-dialog-head span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.watch-dialog-body li small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.watch-dialog-body li select { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.watch-dialog-body li button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.watch-dialog-foot p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.watch-dialog-foot button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.watch-dialog-foot a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.recent-row time { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.recent-model span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.recent-place small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.recent-source { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.recent-callout a { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.clear-recent-filter { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.trend-strip span, .trend-strip small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.trend-strip strong { font-family: var(--display); font-weight: 800; font-size: 1.75rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.trend-strip > p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.area-search-results span, .area-search-results b { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.release-grid span, .release-grid small, .release-grid i, .release-summary span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.release-grid b { font-family: var(--display); font-weight: 800; font-size: 1.31rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.release-summary strong { font-family: var(--display); font-weight: 800; font-size: 2.00rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.quote-privacy-card > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-privacy-card a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-quick-head span, .quote-advanced-intro span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-quick-bike legend { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-quick-bike > label > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-quick-result > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-quick-result > small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.quote-quick-next a { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-principle-grid article > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quiet-button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-lab-steps li > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.quote-lab-steps small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.quote-lab-safety strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-panel-head span, .lab-quote-form-head span, .lab-analysis-head span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-panel-head p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.lab-field > span, .lab-add-bike label > span, .lab-quote-form label > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-field > small, .lab-add-bike label small, .lab-quote-form label small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.money-input > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.lab-add-bike > button, .lab-plan-action > button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.lab-bike > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-bike small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-bike > button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-empty { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.lab-progress-board span, .lab-progress-board small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-progress-board strong { font-family: var(--display); font-weight: 800; font-size: 2.12rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.lab-scenario-index, .lab-scenario-state { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-scenario-copy small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-runner-head > div > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-runner-head p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-runner-head > button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-factor-banner > span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-factor-banner p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-run-config span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-run-actions small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-run-actions a, .lab-run-actions button { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-quote-form-head > small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-quote-form > button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.lab-quote-list li small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-quote-list li > b { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.lab-quote-list .lab-quote-empty { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-analysis-summary span, .lab-analysis-summary small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-analysis-summary b { font-family: var(--display); font-weight: 800; font-size: 1.75rem; font-variant-numeric: tabular-nums; letter-spacing: normal; }
.lab-analysis-head p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-analysis-head button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.lab-rank { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-ranking-bike small, .lab-ranking-price small, .lab-ranking-exposure small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-ranking-price strong, .lab-ranking-exposure strong { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.lab-confidence { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-factor-row > div span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.lab-factor-row > div small { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.lab-factor-row > b { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.lab-factor-row > p { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; }
.live-map-layer { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.live-map-key { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.live-map-cluster { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.live-popup-meta, .live-popup-label { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.live-popup-list span { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.live-map-popup .live-popup-link { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.live-popup-badge { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .8rem; font-weight: 600; }
.live-map-tip { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; }
.report-field > span, .report-field legend { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.report-submit { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 600; }
.report-quiet, .report-danger { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .85rem; font-weight: 600; }
.report-link input { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
.report-link button { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; }
.report-status { font-family: var(--sans); text-transform: none; letter-spacing: normal; font-size: .9rem; }
/* <<< re-type */

/* ---------- kit re-skin: older components on the remaining pages ---------- */
main { background-image: none; }
h1 em { color: inherit; }
.overview-head h1 em::after { display: none; }
/* Numbered and coded labels ("01", "GB REGION DOSSIER") said nothing a heading didn't. */
.section-code, .section-bar > div > span { display: none; }
.page-hero { background: var(--paper); background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 48px 48px; background-position: -1px -1px; border-bottom: 2px solid var(--ink); }
.page-hero h1 { font-size: clamp(2.4rem, 5.4vw, 4.4rem); line-height: .95; }
.page-hero > .container > p, .page-hero .lead, .model-hero .lead { max-width: 60ch; color: var(--ink); font-size: 1.1rem; }
.breadcrumbs { gap: .5rem; margin-bottom: 1.25rem; }
.breadcrumbs a { border-bottom-color: var(--line); }
.section-bar { grid-template-columns: minmax(0, 1fr) minmax(220px, 46ch); border-bottom: 2px solid var(--ink); }
.section-bar h2 { font-size: clamp(1.8rem, 3.4vw, 2.4rem); }
.section-bar p { color: var(--muted); font-size: .95rem; line-height: 1.5; }
.section-link { border-width: 2px; font-size: .95rem; font-weight: 600; }
.eyebrow { margin-bottom: .3rem; color: var(--muted); font-weight: 500; }
.card-heading h2, .card-heading h3, .module header h2, .filter-panel-head h2, .map-card-heading h2 { font: 700 1.45rem/1 var(--display); text-transform: uppercase; }
.card-heading > span, .module header span, .filter-panel-head span { color: var(--muted); font-weight: 500; }
.content-card, .module, .filter-panel, .map-card, .map-sidebar, .recent-list, .data-table-wrap, .comparison-matrix-wrap, .trend-strip { border-width: 2px; }
.module:hover { box-shadow: none; transform: none; }
.empty-state { font-size: .95rem; }

/* tables */
.data-table th { font-weight: 600; }
.rank-cell { font: 800 1.35rem var(--display); font-variant-numeric: tabular-nums; }
.model-link strong { font-weight: 600; }
.data-table tbody tr:hover td, .data-table tbody tr:focus td { background: var(--panel); }
.data-table tbody tr[data-href]:hover td:first-child, .data-table tbody tr[data-href]:focus td:first-child { box-shadow: inset 4px 0 0 var(--forest); }
.model-link:hover strong { text-decoration-color: var(--forest); text-decoration-thickness: 2px; }
.row-action a:hover { background: var(--ink); color: var(--paper); }
.signal i { border-radius: 50%; }
.band-low, .band-lower { --risk: var(--b1); }
.band-moderate, .band-below-typical { --risk: var(--b2); }
.band-typical { --risk: #8a7410; }
.band-elevated { --risk: #b8601a; }
.band-high { --risk: var(--b5); }
.band-very-high { --risk: var(--b6); }
.movement.is-up { border-color: var(--b6); background: transparent; color: var(--b6); }
.movement.is-down { border-color: var(--b1); background: transparent; color: var(--b1); }

/* filters, tabs, chips */
.filter-workspace { background: var(--paper-deep); }
.filter-primary select, .filter-primary input, .filter-secondary select { border: 2px solid var(--ink); font-size: .95rem; }
.filter-primary > button { background: var(--ink); }
.filter-primary > button:hover { background: var(--forest); color: #fff; }
.segment-nav a.active, .segment-nav a:hover { background: var(--ink); color: var(--paper); }
.metric-tabs { border-width: 2px; }
.metric-tabs a.active { background: var(--ink); }
.time-lens a { border: 2px solid var(--line); }
.time-lens a.is-active { border-color: var(--ink); background: var(--ink); }
.result-scope { background: var(--ink); }

/* figure tiles */
.metric-grid strong, .trend-strip strong, .position-stats strong, .map-total strong { color: var(--ink); }
.metric-grid > a:hover { background: var(--paper-deep); }
.trend-strip-heading { background: var(--ink); }
.trend-strip-heading strong { font: 700 1.25rem/1.05 var(--display); text-transform: uppercase; }
.signal-position { border-width: 2px; }
.signal-position > div:first-child strong { font: 800 1.6rem/1 var(--display); }
.region-list i { background: var(--forest-2); }
.region-list li:hover { background: var(--paper-deep); }
.provenance { border-width: 2px 0 0; border-color: var(--ink); padding-inline: 0; font-size: .95rem; }
.provenance strong { font: 700 1.3rem var(--display); text-transform: uppercase; }

/* call-outs that used a lime band or forest box with tiny type */
.official-context-promo { background: var(--paper-deep); border-width: 2px; }
.official-context-promo h2 { font-size: 1.7rem; }
.official-context-promo p, .official-benchmark p { font-size: .95rem; }
.official-context-promo a, .official-benchmark a { border-width: 2px; background: var(--ink); color: var(--paper); }
.official-context-promo a:hover, .official-benchmark a:hover { background: var(--forest); color: #fff; transform: none; }
.official-benchmark h2 { font-size: 1.7rem; }
.decision-report-preview { background: var(--forest); }
.decision-report-preview p { font-size: .95rem; }
.decision-report-preview > a { background: var(--signal); }
.table-caveat { border-width: 2px 0 0; border-color: var(--ink); padding-inline: 0; }
.table-caveat p { font-size: .95rem; }
.read-guide { background: var(--paper-deep); border-top-width: 2px; }
.guide-grid li strong { font-size: 1rem; }
.guide-grid li p { font-size: .95rem; }
.guide-grid > a, .coverage-grid > a:last-child { background: var(--ink); color: var(--paper); }
.recent-callout a, .clear-recent-filter { background: var(--signal); }
.map-tooltip { background: var(--paper); border-width: 2px; }
.map-method, .map-card figcaption { font-size: .88rem; }

/* recent rows */
.recent-row time { font: 700 1rem var(--display); font-variant-numeric: tabular-nums; }
.recent-model strong { font-size: 1rem; font-weight: 600; }
.recent-place span { font-size: .9rem; }
.recent-model:hover, .recent-source:hover { background: var(--paper-deep); color: var(--ink); }
.recent-model:hover strong { text-decoration-color: var(--forest); text-decoration-thickness: 2px; }

/* "Did you know?" band */
.data-notes { background: var(--ink); }
.data-note > span { display: none; }
.data-note p { font: 700 clamp(1.5rem, 2.8vw, 2.4rem)/1.1 var(--display); letter-spacing: normal; text-transform: none; }
.data-note-label h2 { font-size: 2rem; }

/* consent: a slim bar along the bottom, not a box over the content */
.analytics-consent { right: 0; bottom: 0; left: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; width: auto; padding: .7rem max(16px, calc((100vw - var(--container)) / 2)); padding-bottom: max(.7rem, env(safe-area-inset-bottom)); border: 0; border-top: 2px solid var(--signal); box-shadow: none; }
.js .analytics-consent:not([hidden]) { display: flex !important; }
.analytics-consent > span { display: none; }
.analytics-consent > strong { font: 700 1.1rem var(--display); letter-spacing: .03em; text-transform: uppercase; }
.analytics-consent > p { flex: 1 1 22rem; color: #d9dfd9; font-size: .9rem; }
.analytics-consent > a { color: #d9dfd9; font-size: .88rem; text-decoration: underline; }
.analytics-consent > div { order: 5; }
.analytics-consent button { min-height: 40px; padding: .5rem .9rem; font: 600 .9rem var(--sans); text-transform: none; }
.analytics-consent button:hover { transform: none; }
.data-note-label > span { display: none; }
.trend-strip-heading strong { color: var(--paper); }
.trend-strip-heading span { color: #c9d1ca; }
.model-community-evidence { padding-bottom: 0; }
.model-community-evidence + .section { padding-top: 2.5rem; }
.result-scope span { font-weight: 500; color: #c9d1ca; }

/* "Where next": three onward links that close a page */
.next-steps { padding-top: 1.25rem; border-top: 2px solid var(--forest); }
.next-steps h2 { margin-bottom: 1rem; font-size: 1.6rem; }
.next-steps-row { display: grid; gap: .75rem; }
@media (min-width: 760px) { .next-steps-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.next-steps .section-link { align-items: center; gap: 1rem; margin-top: 0; text-decoration: none; }
.next-steps .section-link:hover, .next-steps .section-link:focus-visible { background-color: var(--signal); }
.next-steps .next-step-copy { display: grid; gap: .2rem; }
.next-steps .section-link:hover .next-step-copy { transform: none; }
.next-step-copy small { color: var(--muted, #4d5a52); font-size: .82rem; font-weight: 500; }

/* Since strip: shown when something the visitor follows has new reports */
.since-strip { background: var(--plate); color: var(--ink, #101512); border-bottom: 2px solid var(--forest); }
.since-strip .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding-block: .6rem; }
.since-strip p { margin: 0; font-weight: 600; }
.since-strip-actions { display: flex; gap: .5rem; }
.since-strip-actions button { min-height: 40px; padding: 0 .9rem; font: inherit; font-weight: 600; cursor: pointer; border-radius: 0; }
.since-strip-actions [data-watch-open] { background: var(--forest); color: #fff; border: 2px solid var(--forest); }
.since-strip-actions [data-since-dismiss] { background: transparent; border: 2px solid currentColor; color: inherit; }
