/* AUTOHUB typography: one source of text roles, loaded after component geometry. */
@font-face {
  font-family: "Inter";
  src: url("../fonts/InterVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  --font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-size-h1:42px; --line-height-h1:48px;
  --font-size-vehicle-title:40px; --line-height-vehicle-title:46px;
  --font-size-h2:30px; --line-height-h2:36px;
  --font-size-h3:24px; --line-height-h3:30px;
  --font-size-card-title:20px; --line-height-card-title:26px;
  --font-size-price:44px; --line-height-price:50px;
  --font-size-catalog-price:26px; --line-height-catalog-price:32px;
  --font-size-body-large:18px; --line-height-body-large:26px;
  --font-size-body:16px; --line-height-body:24px;
  --font-size-spec:16px; --line-height-spec:23px;
  --font-size-control:16px; --line-height-control:22px;
  --font-size-secondary:15px; --line-height-secondary:22px;
  --font-size-small:14px; --line-height-small:20px;
  --font-size-caption:14px; --line-height-caption:20px;
  --font-size-legal:13px; --line-height-legal:19px;
  --font-size-floating-label:13px; --line-height-floating-label:18px;
  --font-size-segment:17px; --line-height-segment:24px;
  --font-size-service:15px; --line-height-service:20px;
  --font-size-home-card:18px; --line-height-home-card:24px;
  --font-size-column-title:20px; --line-height-column-title:26px;
  --text-primary:#151922;
  --text-secondary:#525b69;
  --text-muted:#717a87;
  --text-on-dark:#fff;
  --text-secondary-on-dark:rgba(255,255,255,.72);
  --text-placeholder:var(--text-secondary);
  --text-error:color-mix(in srgb,#e64b45 80%,var(--text-primary));
  --text-on-accent:#000;
  --ink:var(--text-primary); --ink-soft:var(--text-secondary); --muted:var(--text-secondary);
  --text-gap-heading:10px; --text-gap-section:22px; --text-gap-paragraph:14px; --text-gap-label:4px;
}
html {font-family:var(--font-family);font-optical-sizing:auto;font-synthesis:none;text-rendering:optimizeLegibility}
body {font:400 var(--font-size-body)/var(--line-height-body) var(--font-family);color:var(--text-primary);letter-spacing:normal}
button,input,textarea,select {font-family:var(--font-family);font-synthesis:none}
button,input,select,summary,.btn {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:500;letter-spacing:normal;text-transform:none}
textarea {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
input::placeholder,textarea::placeholder {color:var(--text-placeholder);opacity:1}
button,.btn,button[type=submit] {font-weight:600}
h1 {font-size:var(--font-size-h1);line-height:var(--line-height-h1);font-weight:700;letter-spacing:-.025em;text-transform:none}
h2 {font-size:var(--font-size-h2);line-height:var(--line-height-h2);font-weight:700;letter-spacing:-.02em;text-transform:none}
h3 {font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:700;letter-spacing:normal;text-transform:none}
strong,b {font-weight:600}
small,.tag,.badge,.eyebrow,.demo-data-note,.header-counter {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:400;letter-spacing:normal;text-transform:none}
.eyebrow {color:var(--text-secondary)}
/* Wordmarks are the pre-existing outlines, not text set in the interface font. */
.brand-wordmark {display:block;height:1em;width:auto;max-width:none}
.site-header .logo__text {font-size:32px;line-height:1}
.logo--contact .logo__text {font-size:18px;line-height:1}
.site-header__links a,.site-nav a,.mobile-menu__panel>a {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:500;letter-spacing:normal}
/* Expanded navigation: primary choices, company links, then service captions. */
.mega-menu__primary a,.mega-menu__primary>span {font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.02em;color:#111111}
.mega-menu__secondary a,.mega-menu__secondary nav>span {font-size:18px;line-height:26px;font-weight:400;letter-spacing:normal;color:#111111}
.mega-menu__label {font-size:16px;line-height:22px;font-weight:400;color:#767980}
.mega-menu__services strong {font-size:16px;line-height:22px;font-weight:400;letter-spacing:-.01em;color:#111111}
.mega-menu__services small {font-size:12px;line-height:17px;font-weight:400;color:#767980}
.mega-menu__inactive small {font-size:12px;line-height:18px;font-weight:400;letter-spacing:normal;color:#777B82}
@media(max-width:600px) {
 .mega-menu__primary a,.mega-menu__primary>span {font-size:20px;line-height:26px}
}
.header-action {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:500}
.header-lead,.header-account,.header-placeholder-phone {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:600}
.header-lead b {font-weight:600}
.header-catalog-search input,.home-main-search input {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:400}
.home-search-stage__lead,.home-hero__lead,.catalog-heading>p:not(.eyebrow),.page-intro>p:last-child {font-size:var(--font-size-body-large);line-height:var(--line-height-body-large);font-weight:400;color:var(--text-secondary)}
.home-market-count strong {font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:700}
.home-market-count span,.home-hero__note span {font-size:var(--font-size-secondary);line-height:var(--line-height-secondary);font-weight:400}
.home-market-count b {font-weight:500}
.home-popular-cars__heading h2,.home-recommendations .section-heading h2,.section-heading h2 {font-size:var(--font-size-h2);line-height:38px;font-weight:700;margin-bottom:var(--text-gap-heading)}
.section-heading p,.home-feed-promo__copy p,.inspection-banner p,.purchase-journey__steps p,.selection-banner p {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
.section-heading>a,.home-popular-cars__heading a,.home-hero__catalog-link {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:600}
.home-quick-service strong,.service-grid strong,.home-service-grid strong {font-size:var(--font-size-service);line-height:var(--line-height-service);font-weight:600}
.home-popular-cars__brands strong,.home-brand-grid strong,.brand-tile__name,.home-popular-models__list a {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:500}
.home-popular-cars__brands a>span,.home-brand-grid small,.home-popular-cars small,.brand-tile small {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:400}
.home-picker__field>span,.home-popular-cars__filter-group legend,.home-filter label span {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:500}
.home-picker__control>button,.home-picker__control>button span,.home-picker__control>button strong,.home-picker-list button,.home-picker-options button,.home-popular-cars__filters button,.home-popular-cars__quick a,.home-popular-cars__quick button,.home-market-switch span,.home-panel-markets button,.home-search-suggestions__list button {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:500}
.home-picker-list small,.home-search-suggestions__list small,.home-popular-cars__quick button small {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:400}
.home-picker-panel__head>strong,.home-picker-list-section h3,.home-search-suggestions h2,.purchase-journey__steps h3,.inspection-steps strong {font-size:var(--font-size-column-title);line-height:var(--line-height-column-title);font-weight:600}
.home-price-error {color:var(--header-red);font-size:var(--font-size-small);line-height:var(--line-height-small)}
/* Catalog controls and disclosure menus. */
.catalog-breadcrumb,.vehicle-breadcrumb,.back-link {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:400;color:var(--text-secondary)}
.catalog-control,.catalog-popover button,.catalog-quick-button,.catalog-active-filters button,.catalog-filter-actions>a,.catalog-filter-actions>button,.catalog-sort-row .catalog-control,.catalog-toolbar__count,.catalog-status,.multi-filter>summary,.multi-filter__menu label {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:500}
.catalog-segments span,.market-switch span {font-size:var(--font-size-segment);line-height:var(--line-height-segment);font-weight:600}
.catalog-show-button,.catalog-filter-main .catalog-show-button {font-size:var(--font-size-segment);line-height:var(--line-height-segment);font-weight:600}
.catalog-control__caption {font-size:var(--font-size-floating-label);line-height:var(--line-height-floating-label);font-weight:400}
.catalog-option-group,.catalog-option-empty,.catalog-brand,.catalog-all-brands {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:500}
.catalog-quick-button small,.catalog-layout small {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:400}
.catalog-promo h2,.home-feed-promo--compact h3 {font-size:var(--font-size-column-title);line-height:var(--line-height-column-title);font-weight:700}
.catalog-promo__copy p:not(.eyebrow) {font-size:var(--font-size-secondary);line-height:var(--line-height-secondary);font-weight:400}
.catalog-promo>a,.catalog-promo>button {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:600}
/* Shared car representations. */
.car-card__body h3,.car-card__title,.catalog-card__info h2,.catalog-card__age strong,.compare-table__car strong,.cart-item__info strong {font-size:var(--font-size-card-title);line-height:var(--line-height-card-title);font-weight:600;letter-spacing:-.01em}
.car-card__body h3 a,.car-card__body h3 a:visited,.catalog-card__info h2 a,.catalog-card__info h2 a:visited,.car-card__title:visited {color:var(--text-primary)}
.car-card__price,.catalog-card__price>strong,.cart-item__info b,.favorite-detail-modal__price-row strong {font-size:var(--font-size-catalog-price);line-height:var(--line-height-catalog-price);font-weight:700;letter-spacing:-.01em}
.catalog-card__trim,.catalog-card__age,.car-card__meta,.car-card--home .car-card__specs {font-size:var(--font-size-secondary);line-height:var(--line-height-secondary);font-weight:400;color:var(--text-secondary)}
.catalog-card__details,.car-card__details,.car-card__specs {font-size:var(--font-size-spec);line-height:var(--line-height-spec);font-weight:500;color:var(--text-primary)}
.catalog-card__source,.catalog-card__source small,.catalog-card__photo .tag,.car-card .tag {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:400;opacity:1}
.catalog-card__source {color:var(--text-secondary)}
.catalog-card__age strong {color:var(--text-primary)}
.catalog-card__price .badge,.vehicle-estimate {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:500;color:var(--text-secondary)}
.catalog-card__contact>a,.catalog-card__contact>button,.vehicle-cta {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:600}
.car-card--home .car-card__body h3 {font-size:var(--font-size-home-card);line-height:var(--line-height-home-card);font-weight:600}
.price-on-request,.catalog-card__price-request {font-size:var(--font-size-body-large);line-height:var(--line-height-body-large);font-weight:600}
/* Vehicle page and the existing full-screen viewer. */
.vehicle-title h1 {font-size:var(--font-size-vehicle-title);line-height:var(--line-height-vehicle-title);font-weight:700;letter-spacing:-.025em}
.vehicle-secondary {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400;color:var(--text-secondary)}
.vehicle-price,.price-box__amount {font-size:var(--font-size-price);line-height:var(--line-height-price);font-weight:700;letter-spacing:-.01em}
.vehicle-cost {font-size:var(--font-size-catalog-price);line-height:var(--line-height-catalog-price);font-weight:700;letter-spacing:-.01em}
.vehicle-facts strong {font-size:var(--font-size-body-large);line-height:var(--line-height-body-large);font-weight:600}
.vehicle-facts span {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:400;margin-top:var(--text-gap-label);color:var(--text-secondary)}
.vehicle-specs dt {font-size:var(--font-size-secondary);line-height:var(--line-height-secondary);font-weight:400;color:var(--text-secondary)}
.vehicle-specs dd,.specs-table td,.compare-table td {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
.vehicle-sections h2 {margin-bottom:var(--text-gap-section)}
.vehicle-info-pair h2,.vehicle-question h2,.vehicle-feature-content h2 {font-size:var(--font-size-column-title);line-height:var(--line-height-column-title);font-weight:700;letter-spacing:normal}
.vehicle-sections h3 {font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:600}
.vehicle-price-note,.vehicle-feature-content p,.vehicle-description,.vehicle-surface p,.vehicle-checks {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
.vehicle-description {line-height:26px}
.vehicle-description p+p {margin-top:var(--text-gap-paragraph)}
.vehicle-question textarea {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
.vehicle-topics button {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:500}
.vehicle-question .vehicle-secondary,.vehicle-source {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:400;color:var(--text-secondary)}
.vehicle-secondary-button,.vehicle-extra summary {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:500}
.vehicle-gallery__count,.vehicle-thumbnails__more span,.vehicle-lightbox__thumbs>[data-photo-counter] {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:500}
.vehicle-lightbox__price {font-size:var(--font-size-price);line-height:var(--line-height-price);font-weight:700;letter-spacing:-.01em}
.vehicle-lightbox__info h2 {font-size:var(--font-size-body-large);line-height:var(--line-height-body-large);font-weight:600;letter-spacing:normal}
.vehicle-lightbox__mileage,.vehicle-lightbox__report p {font-size:var(--font-size-secondary);line-height:var(--line-height-secondary);color:var(--text-secondary-on-dark);font-weight:400}
.vehicle-lightbox__report h3 {font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:700}
.vehicle-report-row {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
/* Forms and footer retain their existing grid and controls. */
.lead-form h3,.footer-nav h2 {font-size:var(--font-size-column-title);line-height:var(--line-height-column-title);font-weight:700;letter-spacing:normal}
.lead-modal .lead-form h3,.favorites-modal .page-heading h2,.cart-modal .page-heading h2 {font-size:var(--font-size-h3);line-height:var(--line-height-h3);font-weight:700}
.lead-form input:not([type=radio]):not([type=checkbox]),.lead-form textarea {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
.lead-form__methods label {font-size:var(--font-size-service);line-height:var(--line-height-service);font-weight:600}
.lead-form__hint,.lead-form__status,.note,.cart-item__info p,.cart-modal__footer p {font-size:var(--font-size-secondary);line-height:var(--line-height-secondary);font-weight:400}
.contact-card__caption,.contact-card__address {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
.contact-card__caption {color:var(--text-secondary-on-dark)}
.contact-card__phone {font-size:var(--font-size-column-title);line-height:var(--line-height-column-title);font-weight:700}
.footer-nav a,.contact-card__messengers a {font-size:var(--font-size-control);line-height:var(--line-height-control);font-weight:500}
.contact-card__meta {font-size:var(--font-size-legal);line-height:var(--line-height-legal);font-weight:400;color:var(--text-secondary-on-dark)}
.site-footer__legal,.site-footer__legal p,.consent-field,.disclaimer,.purchase-journey__footer p {font-size:var(--font-size-legal);line-height:var(--line-height-legal);font-weight:400;color:var(--text-secondary)}
.empty-state,.favorites-empty p,.cart-modal__empty {font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:400}
@media(max-width:600px) {
 :root {--font-size-h1:30px;--line-height-h1:36px;--font-size-vehicle-title:30px;--line-height-vehicle-title:36px;--font-size-h2:26px;--line-height-h2:32px;--font-size-h3:21px;--line-height-h3:27px;--font-size-price:32px;--line-height-price:38px;--font-size-card-title:18px;--line-height-card-title:24px;--line-height-body:23px;--line-height-secondary:21px}
 .section-heading h2,.home-popular-cars__heading h2,.home-recommendations .section-heading h2 {line-height:var(--line-height-h2)}
 .site-header .logo__text {font-size:28px}
}
/* Text-only marks keep their original icon size; they are not UI labels. */
.header-lead b {font-size:36px;line-height:1;font-weight:400}
.home-market-count strong {font-size:var(--font-size-body-large);line-height:var(--line-height-body-large);font-weight:600;color:var(--text-secondary)}
/* At the existing five-column width, readable labels need two lines.
   Keep icons beside text and reserve a separate top inset for the existing badge. */
.home-popular-cars__quick a,.home-popular-cars__quick button {white-space:normal;flex-wrap:nowrap;gap:6px;padding-block:16px 8px;min-height:72px;text-align:center}
.home-popular-cars__quick button small {top:1px;right:4px;line-height:var(--line-height-small)}
@media(max-width:560px) {
 .site-header .logo__text {font-size:26px}
 .header-placeholder-phone {font-size:var(--font-size-small);line-height:var(--line-height-small);font-weight:600}
}
/* Keep the four contact choices readable within the existing footer column.
   Native radios remain focusable; the existing selected surface is their visual indicator. */
.lead-form__methods label {position:relative;padding-inline:4px;gap:4px;min-width:0}
.lead-form__methods input {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.lead-form__methods label:has(input:focus-visible) {outline:2px solid var(--text-primary);outline-offset:2px}
@media(max-width:600px){.lead-form__methods{grid-template-columns:repeat(2,minmax(0,1fr))}}
.catalog-control .catalog-control__caption {font-size:var(--font-size-floating-label);line-height:var(--line-height-floating-label)}
.home-picker__field>span,.home-popular-cars__filter-group legend {color:var(--text-secondary)}
/* Existing orange surfaces require dark text for readable contrast. Green CTAs keep white. */
.btn--primary {color:var(--text-on-accent)}
.lead-form__status {color:var(--text-secondary)}
.lead-form__status[data-state=error] {color:var(--text-error)}
.lead-form__status[data-state=success] {color:var(--good)}
.lead-form input:user-invalid {border-color:var(--header-red,#e64b45)}
.lead-form__status[data-state=error],.home-price-error {color:var(--text-error)}
.catalog-card__details,.car-card__details {row-gap:10px}
.vehicle-specs>div {padding-block:10px}
