/* Navigation follows the owner's above-banner reference. */
.app-frame > .topbar > .site-navigation { grid-column:1/-1; min-width:0; margin-bottom:16px; }
.site-navigation .tabs { display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:0; border-bottom:1px solid var(--border); overflow:visible; }
.site-navigation .tab { display:inline-flex; gap:8px; align-items:center; min-height:48px; height:auto; padding:12px 16px; font-size:16px; line-height:1.4; text-decoration:none; white-space:nowrap; }
.site-navigation .tab[aria-current='page'] { color:var(--accent); border-bottom-color:var(--accent); font-weight:700; }
.menu-toggle { display:none; }
@media(max-width:1000px) {
  .menu-toggle { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:10px 14px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text-strong); font:inherit; font-weight:700; }
  .menu-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; }
  .site-navigation.menu-ready:not(.menu-open) .tabs { display:none; }
  .site-navigation .tabs { margin-top:8px; padding:8px; background:var(--surface); border:1px solid var(--border); border-radius:10px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
  .site-navigation .tab { padding:12px; white-space:normal; border:0; border-radius:6px; }
  .site-navigation .tab[aria-current='page'] { background:var(--accent-soft); }
}
@media(max-width:480px) { .site-navigation .tabs { grid-template-columns:1fr; } }

/* Main reading text is 16px (12pt). Hero and identity retain their own scales. */
body { font-size:16px; }
main { line-height:1.65; }
#crit .field label, #crit .pref-label, #crit .chip, #crit .usecase button,
#crit .field input:not(#budget), #crit .field select { font-size:16px; }
#crit .pref-row { grid-template-columns:112px minmax(0,1fr); }
#crit :is(.budget-caption,.search-hint,.criteria-note,.budget-shortcuts button,.driving-options summary) { font-size:15px; line-height:1.65; }
#crit :is(.chip-n,.budget-input .unit,#budget-hint,.range-marks .rm) { font-size:13px; }
#crit .chip { min-height:40px; }
.app-frame main :is(.about-card p,.about-card li,.about-heading p,.catalogue-intro,.catalogue-price-note,.gloss-term dd,.dr-note,.footnote,.prestate p,.verdict-why,.guide-grid p,.catalogue-note,.source-search,.catalogue-toolbar label) { font-size:16px; line-height:1.7; }
.app-frame main :is(.pod-trim,.pod-specs,.pod-facts,.pod-price-note,.rating-row,.catalogue-card p,.catalogue-card-foot,.car-name,.car-sub,.row-price,.filter-label) { font-size:15px; line-height:1.55; }
.app-frame main :is(.rating-note,.rating-value b,.rating-value small,.price-proof,.home-freshness,.foot-stamp,.pt-tag) { font-size:13px; }
.app-frame main :is(.btn-ghost,.btn-primary,.chip,select,input) { font-size:15px; }
#drawer :is(.dr-note,.dr-list,.dr-tagline,.dr-specs,.dr-table,.dr-actions button) { font-size:16px; line-height:1.65; }
#drawer .dr-specs > div { gap:16px; }
@media(max-width:760px) {
  #crit .pref-row { grid-template-columns:1fr; }
  #crit :is(.budget-caption,.search-hint,.criteria-note) { font-size:15px; }
  .app-frame main :is(.rating-row,.pod-trim,.pod-specs,.catalogue-card-foot) { font-size:14px; }
  #drawer .dr-table { font-size:15px; }
}

.article-content { max-width:1180px; margin:0 auto; padding:32px 28px 64px; }
.articles-heading { margin:16px 0 36px; max-width:760px; }
.articles-heading h1,.article-full h1 { font-size:clamp(32px,4vw,52px); line-height:1.16; letter-spacing:-1.4px; color:var(--text-strong); margin:14px 0 20px; }
.articles-heading > p:last-child,.article-lede { font-size:19px; line-height:1.65; color:var(--muted); }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.article-card { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--surface); }
.article-card figure { margin:0; }
.article-card img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.article-card figcaption { padding:6px 20px; font-size:12px; color:var(--muted); }
.article-card-copy { padding:24px; }
.article-card h2 { font-size:23px; line-height:1.4; margin:12px 0; }
.article-card h2 a { text-decoration:none; color:var(--text-strong); }
.article-card h2 a:hover,.article-read:hover { text-decoration:underline; }
.article-card time,.article-meta { font-size:14px; color:var(--muted); }
.article-read { color:var(--accent); font-weight:700; }
.articles-empty { padding:40px; background:var(--surface); border:1px solid var(--border); border-radius:16px; max-width:760px; }
.articles-empty h2 { font-size:24px; line-height:1.4; }
.article-content .btn-primary { display:inline-flex; padding:12px 20px; margin-top:12px; text-decoration:none; border-radius:8px; min-height:44px; align-items:center; }
.article-full { max-width:820px; margin:28px auto; }
.article-meta { display:flex; flex-wrap:wrap; gap:8px 24px; margin:20px 0 32px; }
.article-full figure { margin:32px 0; }
.article-full img { display:block; max-width:100%; height:auto; border-radius:12px; }
.article-full figcaption { font-size:14px; line-height:1.6; color:var(--muted); padding-top:10px; }
.article-prose { max-width:70ch; margin:auto; font-size:18px; line-height:1.85; overflow-wrap:anywhere; }
.article-prose h2 { font-size:28px; line-height:1.4; margin:40px 0 16px; color:var(--text-strong); }
.article-prose p,.article-prose ul { margin:22px 0; }
.article-prose blockquote { margin:28px 0; padding:16px 24px; border-left:3px solid var(--accent); background:var(--accent-soft); }
.article-sources { margin-top:44px; border-top:1px solid var(--border); font-size:16px; }
.article-prose .article-citations { margin-top:-10px; font-size:13px; line-height:1.7; color:var(--muted); }
.article-content a,.article-footer a { color:var(--accent); text-underline-offset:3px; }
.article-content .btn-primary { color:var(--on-accent); }
.article-cta { max-width:820px; margin:40px auto 0; padding:28px; border-radius:12px; background:var(--accent-soft); }
.article-footer { border-top:1px solid var(--border); padding:32px; text-align:center; font-size:14px; color:var(--muted); }
.article-back { color:var(--accent); }
@media(max-width:900px) { .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .article-content { padding:20px 18px 40px; }
  .article-grid { grid-template-columns:1fr; }
  .articles-empty { padding:24px; }
  .article-prose { font-size:17px; line-height:1.8; }
  .article-meta { display:grid; }
}

.app-frame main :is(.catalogue-toolbar label > span,.catalogue-summary,.row-name strong,.gloss-term dt) { font-size:16px; }
.app-frame main .row-name .rn-sub { font-size:14px; }
