:root {
    --ink: #f5f5f5;
    --muted: #a7a7a7;
    --muted-strong: #c9c9c9;
    --surface: #0d0d0d;
    --surface-2: #171717;
    --surface-3: #222222;
    --surface-4: #303030;
    --line: #343434;
    --line-soft: rgba(255, 255, 255, .09);
    --accent: #ea771e;
    --accent-strong: #ff831f;
    --accent-ink: #121212;
    --danger: #ff7b71;
    --shell: 1660px;
    --radius-xs: 5px;
    --radius-sm: 8px;
    --radius: 12px;
    --radius-lg: 20px;
    --shadow: 0 24px 70px rgba(0, 0, 0, .34);
    --font: Manrope, Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--surface); }
body { margin: 0; color: var(--ink); background: var(--surface); font-family: var(--font); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.content-shell { max-width: 1040px; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; transform: translateY(-160%); padding: .7rem 1rem; background: var(--accent); color: var(--accent-ink); font-weight: 800; border-radius: var(--radius-xs); }
.skip-link:focus { transform: translateY(0); }

.eyebrow { margin: 0 0 .5rem; color: var(--accent); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: .8rem 1.2rem; border: 1px solid transparent; border-radius: var(--radius-sm); font-weight: 800; line-height: 1.1; transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.button-primary:hover { background: var(--accent-strong); border-color: var(--accent-strong); color: #fff; }
.button-dark-outline { background: var(--surface-3); color: #fff; border-color: #444; border-left: 4px solid var(--accent); }
.button-dark-outline:hover { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); border-left-color: #fff; }
.button-full { width: 100%; }
.text-link { color: var(--accent); font-weight: 800; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }

.site-header { position: relative; z-index: 50; background: #000; box-shadow: 0 12px 40px rgba(0,0,0,.24); }
.header-accent { background: var(--accent); color: #111; }
.header-accent-row { min-height: 38px; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; font-size: .82rem; font-weight: 700; }
.header-location { margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.header-contact-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1.2rem; }
.header-contact-links a:hover { text-decoration: underline; }
.header-main { background: #050505; }
.header-row { min-height: 156px; display: grid; grid-template-columns: minmax(180px, 280px) 1fr auto; align-items: center; gap: 2rem; }
.brand { min-width: 0; display: inline-flex; align-items: center; }
.brand-logo { width: auto; max-width: 250px; max-height: 92px; object-fit: contain; }
.brand-name { max-width: 260px; color: #fff; font-size: clamp(1.15rem, 2.4vw, 2rem); font-weight: 850; line-height: 1; letter-spacing: -.025em; }
.site-nav { display: flex; justify-content: center; align-items: center; gap: clamp(.65rem, 1.8vw, 1.7rem); }
.site-nav a { position: relative; padding: .6rem .15rem; color: #fff; font-size: .96rem; font-weight: 700; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 1px; height: 2px; background: var(--accent); transition: right .2s ease; }
.site-nav a:hover { color: var(--muted-strong); }
.site-nav a:hover::after { right: 0; }
.header-phone { display: inline-flex; align-items: center; min-height: 48px; padding: .7rem 1rem; color: #fff; background: var(--surface-3); border-radius: var(--radius-xs); border-left: 4px solid var(--accent); font-size: .9rem; font-weight: 800; white-space: nowrap; }
.header-phone:hover { background: var(--accent); color: var(--accent-ink); border-left-color: #fff; }
.nav-toggle { display: none; min-height: 46px; padding: .65rem .95rem; color: #fff; background: #111; border: 1px solid #333; border-left: 4px solid var(--accent); border-radius: var(--radius-xs); font-weight: 800; }

.hero-home { position: relative; min-height: 590px; overflow: hidden; display: flex; align-items: center; background: #090909; isolation: isolate; }
.hero-visual { position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 76% 42%, rgba(234,119,30,.26), transparent 0 24%, transparent 43%), linear-gradient(100deg, rgba(0,0,0,.97) 0%, rgba(0,0,0,.87) 46%, rgba(12,12,12,.52) 67%, rgba(0,0,0,.92) 100%), repeating-linear-gradient(135deg, transparent 0 110px, rgba(255,255,255,.025) 110px 111px); }
.hero-visual::after { content: ""; position: absolute; width: min(50vw, 760px); aspect-ratio: 1.6; right: -6vw; top: 50%; transform: translateY(-50%) skewX(-9deg); border: 1px solid rgba(234,119,30,.35); border-radius: 42px; background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.005)); box-shadow: inset 0 0 0 20px rgba(255,255,255,.012); }
.hero-content { padding-block: clamp(5rem, 9vw, 8rem); }
.hero-copy { max-width: 820px; }
.hero-kicker { margin: 0 0 1rem; color: #e8e8e8; font-size: clamp(1rem, 2vw, 1.25rem); font-weight: 650; letter-spacing: .01em; }
.hero-copy h1 { margin: 0; max-width: 13ch; color: #f2f2f2; font-size: clamp(3.1rem, 7vw, 6.6rem); line-height: .94; font-weight: 540; letter-spacing: -.055em; text-transform: capitalize; }
.hero-copy h1 span { display: block; color: var(--accent); font-weight: 760; }
.hero-support { margin: 1rem 0 0; color: #f4f4f4; font-size: 1rem; font-weight: 700; }
.hero-lead { max-width: 62ch; margin: 1.4rem 0 0; color: #d0d0d0; font-size: clamp(1.05rem, 2vw, 1.25rem); }
.hero-copy .button-row { margin-top: 2rem; }

.home-search-band { position: relative; z-index: 4; margin-top: -31px; }
.home-search { display: grid; grid-template-columns: 190px minmax(180px,1fr) minmax(170px,.7fr) 150px; gap: 8px; align-items: end; padding: 14px; background: #222; border-radius: var(--radius); box-shadow: var(--shadow); }
.home-search-title { align-self: center; color: #fff; font-size: 1.15rem; font-weight: 700; line-height: 1.05; }
.home-search-title span { display: block; color: var(--accent); font-size: .8rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.home-search .field { margin: 0; }
.home-search .field label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.home-search .field input { min-height: 54px; background: #0d0d0d; border-color: #0d0d0d; color: #fff; }
.home-search .field input::placeholder { color: #a9a9a9; }
.home-search-button { min-height: 54px; text-transform: uppercase; }

.section { padding: clamp(4rem, 7vw, 7rem) 0; }
.section-dark, .featured-section, .section-stock, .section-page, .vehicle-detail, .vehicle-lower, .welcome-section { background: var(--surface); }
.service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.service-card { position: relative; min-height: 410px; overflow: hidden; border-radius: var(--radius); background: var(--surface-3); isolation: isolate; }
.service-card::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(100deg, rgba(0,0,0,.92), rgba(0,0,0,.42)); }
.service-card::after { content: ""; position: absolute; z-index: -1; width: 360px; aspect-ratio: 1; right: -120px; bottom: -170px; border: 70px solid rgba(234,119,30,.13); border-radius: 50%; }
.service-card-stock { background-image: linear-gradient(135deg, #141414, #2b2b2b); }
.service-card-contact { background-image: linear-gradient(135deg, #232323, #101010); }
.service-card-content { position: absolute; inset: auto auto 0 0; max-width: 560px; padding: clamp(2rem, 5vw, 4rem); }
.service-card h2 { margin: 0 0 .65rem; color: #fff; font-size: clamp(2rem, 4.5vw, 3.8rem); line-height: 1; letter-spacing: -.045em; }
.service-card p:not(.eyebrow) { max-width: 46ch; margin: 0 0 1.3rem; color: #c5c5c5; }

.why-section { position: relative; padding: clamp(4.5rem, 8vw, 8rem) 0; background: radial-gradient(circle at 76% 50%, rgba(234,119,30,.16), transparent 0 23%, transparent 47%), linear-gradient(110deg, #070707 0 48%, #171717 48% 100%); border-block: 1px solid #222; overflow: hidden; }
.why-section::after { content: ""; position: absolute; width: 500px; height: 500px; right: -130px; top: -210px; border: 80px solid rgba(234,119,30,.08); border-radius: 50%; }
.why-grid { display: grid; grid-template-columns: minmax(0, 760px) 1fr; }
.why-panel { position: relative; z-index: 1; padding: clamp(2rem, 5vw, 4.5rem); background: rgba(0,0,0,.72); border: 1px solid #2d2d2d; border-radius: var(--radius); box-shadow: var(--shadow); backdrop-filter: blur(5px); }
.why-panel h2 { margin: 0; color: #fff; font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1; letter-spacing: -.045em; }
.check-list { list-style: none; padding: 0; margin: 1.7rem 0 2rem; display: grid; gap: .8rem; }
.check-list li { position: relative; padding-left: 1.8rem; color: #d5d5d5; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 900; }

.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.section-heading h2, .vehicle-content-grid h2, .sell-band h2, .welcome-section h2, .finance-callout h2, .footer-cta h2 { margin: 0; color: #fff; font-size: clamp(2.2rem, 4.3vw, 4.1rem); line-height: .98; letter-spacing: -.045em; }
.section-heading-center { align-items: center; }
.vehicle-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.vehicle-card { min-width: 0; overflow: hidden; background: var(--surface-3); border: 1px solid #2d2d2d; border-radius: var(--radius); color: #fff; transition: transform .2s ease, border-color .2s ease; }
.vehicle-card:hover { transform: translateY(-4px); border-color: #4b4b4b; }
.vehicle-card-media { position: relative; aspect-ratio: 16 / 10.5; display: block; overflow: hidden; background: #151515; }
.vehicle-card-media::after { content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(transparent, rgba(0,0,0,.38)); pointer-events: none; }
.vehicle-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.vehicle-card:hover .vehicle-card-media img { transform: scale(1.035); }
.vehicle-placeholder, .vehicle-gallery-placeholder { min-height: 100%; display: grid; place-items: center; color: #8d8d8d; background: linear-gradient(135deg, #161616, #2a2a2a); font-weight: 700; }
.vehicle-card-year { position: absolute; z-index: 2; top: 0; left: 0; padding: .55rem .85rem; color: #171717; background: var(--accent); border-bottom-right-radius: var(--radius-sm); font-size: .78rem; font-weight: 850; }
.vehicle-card-body { padding: 1.2rem; }
.vehicle-make { margin: 0 0 .18rem; color: var(--accent); font-size: .74rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.vehicle-card h3 { margin: 0; color: #fff; font-size: 1.22rem; line-height: 1.2; text-transform: capitalize; }
.vehicle-card h3 a:hover { color: var(--accent); }
.vehicle-edition { min-height: 2.9em; margin: .45rem 0 1rem; color: #b8b8b8; font-size: .83rem; line-height: 1.45; }
.vehicle-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 1.2rem; }
.vehicle-meta div { padding: .42rem .58rem; background: #333; border-radius: var(--radius-xs); }
.vehicle-meta dt { display: none; }
.vehicle-meta dd { margin: 0; color: #e7e7e7; font-size: .76rem; font-weight: 650; }
.vehicle-card-footer { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--line-soft); }
.price-label { display: block; color: #9d9d9d; font-size: .67rem; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.vehicle-price { display: block; margin-top: .1rem; color: #fff; font-size: 1.45rem; line-height: 1; }
.card-action { flex: 0 0 auto; padding: .65rem .85rem; color: #fff; background: #333; border-left: 4px solid var(--accent); border-radius: var(--radius-xs); font-size: .78rem; font-weight: 800; }
.card-action:hover { color: #181818; background: var(--accent); border-left-color: #fff; }
.empty-state { padding: clamp(2.5rem, 7vw, 5.5rem); text-align: center; background: #181818; border: 1px dashed #444; border-radius: var(--radius); }
.empty-state h1, .empty-state h2, .empty-state h3 { margin: .2rem 0 .65rem; color: #fff; }
.empty-state p { color: #b7b7b7; }

.sell-band { padding: clamp(3.4rem, 6vw, 5rem) 0; background: #1b1a1a; border-block: 1px solid #2d2d2d; }
.sell-grid { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3rem; align-items: center; }
.sell-band p:not(.eyebrow) { max-width: 70ch; margin-bottom: 0; color: #bdbdbd; }
.sell-actions { display: flex; justify-content: flex-end; }
.welcome-grid { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1.45fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.welcome-section h2 { font-size: clamp(2.5rem,5vw,5rem); }
.rich-text { color: #bdbdbd; }
.rich-text > :first-child { margin-top: 0; }
.rich-text > :last-child { margin-bottom: 0; }
.rich-text h2, .rich-text h3 { color: #fff; line-height: 1.15; }
.rich-text a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.rich-text-light { color: #c9c9c9; }
.finance-callout { padding: clamp(4rem, 8vw, 7rem) 0; background: radial-gradient(circle at 14% 20%, rgba(234,119,30,.22), transparent 0 25%, transparent 43%), linear-gradient(120deg, #1c1c1c, #070707); border-top: 1px solid #2c2c2c; }
.finance-callout-inner { display: flex; justify-content: space-between; align-items: center; gap: 3rem; }
.finance-callout p:not(.eyebrow) { max-width: 60ch; color: #b9b9b9; }

.page-hero { position: relative; overflow: hidden; padding: clamp(4rem, 7vw, 6.5rem) 0; background: linear-gradient(105deg, #080808 0 52%, #181818 52%); border-bottom: 1px solid #292929; }
.page-hero::after { content: ""; position: absolute; right: -80px; top: -130px; width: 390px; height: 390px; border: 70px solid rgba(234,119,30,.12); border-radius: 50%; }
.page-hero-inner { position: relative; z-index: 1; }
.page-hero h1 { margin: .1rem 0 .5rem; color: #fff; font-size: clamp(2.8rem, 6vw, 5.5rem); line-height: .95; letter-spacing: -.05em; }
.page-hero p:last-child { margin-bottom: 0; color: #aaa; }

.stock-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 2rem; align-items: start; }
.stock-filter-panel { position: sticky; top: 24px; padding: 1.3rem; background: #222; border: 1px solid #323232; border-radius: var(--radius); }
.filter-heading { margin-bottom: 1rem; }
.filter-heading h2 { margin: 0; color: #fff; font-size: 1.3rem; }
.field { margin-bottom: 1rem; }
.field label { display: block; margin-bottom: .38rem; color: #dedede; font-size: .82rem; font-weight: 750; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: .72rem .8rem; color: #fff; background: #101010; border: 1px solid #333; border-radius: var(--radius-sm); }
.field textarea { min-height: 130px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: #858585; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid rgba(234,119,30,.15); border-color: var(--accent); }
.vehicle-grid-stock { grid-template-columns: repeat(2,minmax(0,1fr)); }
.pagination { margin-top: 2rem; display: flex; justify-content: center; align-items: center; gap: 1rem; color: #b9b9b9; }

.vehicle-detail { padding-top: 2rem; }
.back-link { display: inline-block; margin-bottom: 1.5rem; color: #b5b5b5; font-weight: 700; }
.back-link:hover { color: var(--accent); }
.vehicle-detail-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(350px,.55fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: start; }
.vehicle-gallery { display: grid; gap: .8rem; }
.vehicle-gallery-image { width: 100%; border-radius: var(--radius); background: #181818; }
.vehicle-gallery-placeholder { min-height: 520px; border-radius: var(--radius); }
.vehicle-summary { position: sticky; top: 24px; padding: clamp(1.5rem, 3vw, 2.4rem); background: #222; border: 1px solid #333; border-left: 4px solid var(--accent); border-radius: var(--radius); box-shadow: var(--shadow); }
.vehicle-summary h1 { margin: .1rem 0 .6rem; color: #fff; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.04em; text-transform: capitalize; }
.detail-edition { margin: 0 0 1rem; color: #aaa; }
.detail-price { margin: 0 0 1.5rem; color: #fff; font-size: clamp(2rem, 4vw, 3rem); font-weight: 850; }
.spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: 0 0 1.5rem; }
.spec-grid div { padding: .8rem; background: #333; border-radius: var(--radius-sm); border-left: 3px solid var(--accent); }
.spec-grid dt { color: #9d9d9d; font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.spec-grid dd { margin: .12rem 0 0; color: #fff; font-weight: 750; }
.vehicle-lower { border-top: 1px solid #282828; }
.vehicle-content-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,.6fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.vehicle-description { padding: clamp(1rem, 2vw, 1.5rem) 0; }
.enquiry-card { padding: clamp(1.4rem, 3vw, 2rem); background: #222; border: 1px solid #333; border-left: 4px solid var(--accent); border-radius: var(--radius); box-shadow: var(--shadow); }
.enquiry-card h2 { margin: 0 0 1.3rem; color: #fff; font-size: 1.8rem; line-height: 1.08; }
.enquiry-card-standalone { max-width: 760px; margin-inline: auto; }
.form-error { padding: .75rem 1rem; color: #fff; background: #6d2020; border: 1px solid #9b3838; border-radius: var(--radius-sm); }
.cms-content { font-size: 1.04rem; }

.site-footer { background: #000; color: #e7e7e7; }
.footer-cta { padding: 3.5rem 0; background: #222121; border-top: 1px solid #333; border-bottom: 1px solid #333; }
.footer-cta-row { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.footer-cta h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
.footer-actions { justify-content: flex-end; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .7fr 1fr; gap: clamp(2rem, 5vw, 5rem); padding-top: 4.5rem; padding-bottom: 3rem; }
.footer-logo { max-width: 220px; max-height: 85px; object-fit: contain; margin-bottom: 1rem; }
.footer-title, .footer-heading { margin: 0 0 .8rem; color: #fff; }
.footer-title { font-size: 1.5rem; }
.footer-heading { color: var(--accent); font-size: .8rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.site-footer p, .footer-address { color: #aaa; }
.site-footer a:hover { color: var(--accent); }
.footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.footer-bottom { padding: 1.2rem 0 1.6rem; border-top: 1px solid #222; font-size: .82rem; }
.footer-bottom p { margin: 0; }

@media (max-width: 1120px) {
    .header-row { min-height: 116px; grid-template-columns: minmax(150px, 220px) auto 1fr; }
    .brand-logo { max-width: 200px; max-height: 72px; }
    .site-nav { display: none; position: absolute; top: 100%; left: 20px; right: 20px; padding: 1rem; flex-direction: column; align-items: stretch; gap: 0; background: #050505; border: 1px solid #333; border-left: 4px solid var(--accent); border-radius: var(--radius); box-shadow: var(--shadow); }
    .site-nav.is-open { display: flex; }
    .site-nav a { padding: .8rem; border-bottom: 1px solid #222; }
    .site-nav a:last-child { border-bottom: 0; }
    .nav-toggle { display: inline-flex; justify-self: start; }
    .header-phone { justify-self: end; }
    .home-search { grid-template-columns: 1fr 1fr 1fr; }
    .home-search-title { grid-column: 1 / -1; }
    .vehicle-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vehicle-detail-grid, .vehicle-content-grid { grid-template-columns: 1fr; }
    .vehicle-summary { position: static; }
}

@media (max-width: 820px) {
    .shell { width: min(calc(100% - 24px), var(--shell)); }
    .header-accent-row { min-height: 46px; }
    .header-location { display: none; }
    .header-contact-links { width: 100%; justify-content: space-between; gap: .8rem; }
    .header-row { min-height: 78px; grid-template-columns: 1fr auto auto; gap: .7rem; }
    .brand-logo { max-width: 120px; max-height: 58px; }
    .brand-name { font-size: 1rem; }
    .header-phone { display: none; }
    .hero-home { min-height: 470px; }
    .hero-visual::after { width: 70vw; opacity: .55; }
    .hero-content { padding-block: 4.3rem 5.2rem; }
    .home-search-band { margin-top: 0; background: #222; }
    .home-search { grid-template-columns: 1fr 1fr; padding-inline: 0; border-radius: 0; box-shadow: none; }
    .home-search-title { grid-column: 1 / -1; }
    .home-search-button { grid-column: 1 / -1; }
    .service-grid, .sell-grid, .welcome-grid, .stock-layout, .footer-grid { grid-template-columns: 1fr; }
    .sell-actions, .footer-actions { justify-content: flex-start; }
    .why-grid { grid-template-columns: 1fr; }
    .stock-filter-panel { position: static; }
    .footer-cta-row, .finance-callout-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
    .header-contact-links { font-size: .72rem; }
    .nav-toggle { min-height: 42px; padding: .55rem .7rem; }
    .hero-copy h1 { font-size: clamp(2.8rem, 15vw, 4.4rem); }
    .hero-lead { font-size: 1rem; }
    .home-search { grid-template-columns: 1fr; gap: 6px; }
    .home-search-title, .home-search-button { grid-column: auto; }
    .section { padding: 3.5rem 0; }
    .service-card { min-height: 350px; }
    .service-card-content { padding: 2rem 1.4rem; }
    .vehicle-grid, .vehicle-grid-stock { grid-template-columns: 1fr; }
    .section-heading { align-items: flex-start; flex-direction: column; }
    .vehicle-card-footer { align-items: flex-start; }
    .spec-grid { grid-template-columns: 1fr 1fr; }
    .vehicle-gallery-placeholder { min-height: 300px; }
    .pagination { flex-wrap: wrap; }
    .footer-grid { padding-top: 3.2rem; }
}
