/* Programmatic vehicle pages — light, fast, no JS. */
.veh-page { background:#fff; }
.veh-header { background:#fff; border-bottom:1px solid var(--color-border,#E2E8F0); position:static; }
.veh-main { padding: 34px 0 60px; }
.veh-crumb { font-family: var(--font-body,'Roboto',sans-serif); font-size:13px; color:#94A3B8; margin-bottom:16px; }
.veh-crumb a { color:var(--color-primary,#005A9C); text-decoration:none; }
.veh-crumb span { margin:0 6px; }
.veh-main h1 { font-family:var(--font-heading,'Lato',sans-serif); font-size:clamp(26px,4vw,40px);
  font-weight:900; letter-spacing:-.025em; color:#1A202C; margin:0 0 12px; line-height:1.15; }
.veh-lede { font-family:var(--font-body,'Roboto',sans-serif); font-size:16px; line-height:1.65;
  color:#4A5568; max-width:720px; margin:0 0 30px; }
.veh-tiles { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); margin-bottom:38px; }
.veh-tile { background:#F7FAFC; border:1px solid var(--color-border,#E2E8F0); border-radius:12px;
  padding:18px 20px; display:flex; flex-direction:column; gap:4px; }
.veh-tile-score { background:#fff; border-left:4px solid var(--bc,#005A9C); }
.veh-k { font-family:var(--font-heading,'Lato',sans-serif); font-size:11px; font-weight:900;
  letter-spacing:.07em; text-transform:uppercase; color:#718096; }
.veh-v { font-family:var(--font-heading,'Lato',sans-serif); font-size:30px; font-weight:900;
  letter-spacing:-.03em; color:#1A202C; line-height:1.1; }
.veh-v small { font-size:15px; font-weight:700; color:#94A3B8; letter-spacing:0; }
.veh-band { font-size:12.5px; font-weight:700; color:var(--bc,#005A9C); }
.veh-src { font-size:12px; color:#94A3B8; }
.veh-sec { margin-bottom:38px; }
.veh-sec h2 { font-family:var(--font-heading,'Lato',sans-serif); font-size:21px; font-weight:900;
  letter-spacing:-.02em; color:#1A202C; margin:0 0 6px; }
.veh-sub { font-family:var(--font-body,'Roboto',sans-serif); font-size:14px; color:#718096; margin:0 0 18px; }
.veh-bars { display:flex; flex-direction:column; gap:10px; max-width:720px; }
.veh-bar-row { display:grid; grid-template-columns:minmax(120px,220px) 1fr 58px; gap:12px; align-items:center; }
.veh-bar-label { font-family:var(--font-body,'Roboto',sans-serif); font-size:14px; color:#4A5568;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.veh-bar-track { background:#EDF2F7; border-radius:5px; height:10px; overflow:hidden; }
.veh-bar-fill { display:block; height:100%; background:var(--color-primary,#005A9C); border-radius:5px; min-width:3px; }
.veh-bar-val { font-family:var(--font-heading,'Lato',sans-serif); font-size:13.5px; font-weight:700;
  color:#4A5568; text-align:right; }
.veh-recalls, .veh-issues { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.veh-recalls li, .veh-issues li { border-left:3px solid #E53E3E; background:#FDF7F7;
  border-radius:0 10px 10px 0; padding:14px 16px; }
.veh-recalls strong, .veh-issues strong { font-family:var(--font-heading,'Lato',sans-serif);
  font-size:15px; color:#1A202C; }
.veh-recalls p, .veh-issues p { font-family:var(--font-body,'Roboto',sans-serif); font-size:14px;
  line-height:1.6; color:#4A5568; margin:6px 0 0; }
.veh-flag { display:inline-block; margin-left:8px; padding:2px 8px; border-radius:5px;
  background:#C53030; color:#fff; font-size:10.5px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.veh-flag-soft { background:#E2E8F0; color:#4A5568; }
.veh-issue-head { display:flex; justify-content:space-between; gap:12px; align-items:baseline; flex-wrap:wrap; }
.veh-cost { font-family:var(--font-heading,'Lato',sans-serif); font-weight:900; color:#C53030; font-size:14px; }
.veh-table { width:100%; max-width:520px; border-collapse:collapse; font-family:var(--font-body,'Roboto',sans-serif); }
.veh-table td { padding:10px 4px; border-bottom:1px solid #EDF2F7; font-size:14.5px; color:#4A5568; }
.veh-table td:last-child { text-align:right; font-weight:700; color:#1A202C; }
.veh-muted { color:#94A3B8; font-weight:400; margin-left:6px; font-size:13px; }
.veh-cta { background:#F7FAFC; border:1px solid var(--color-border,#E2E8F0); border-radius:14px;
  padding:30px 28px; text-align:center; margin:44px 0 26px; }
.veh-cta h2 { margin:0 0 8px; }
.veh-cta p { font-family:var(--font-body,'Roboto',sans-serif); font-size:15px; color:#4A5568;
  max-width:520px; margin:0 auto 20px; line-height:1.6; }
.veh-disclaimer { font-family:var(--font-body,'Roboto',sans-serif); font-size:12.5px; line-height:1.6;
  color:#94A3B8; max-width:760px; }
@media (max-width:640px){ .veh-bar-row{grid-template-columns:1fr 58px;} .veh-bar-track{grid-column:1/-1;} }

/* Single-vehicle sample: flagged, not hidden. The page is still useful; it
   just shouldn't be mistaken for a market average. */
.veh-thin { color: #B7791F; font-size: 14px; display: inline-block; margin-top: 6px; }
