:root { --navy:#071a38; --blue:#0667e8; --blue-dark:#0257c7; --orange:#ff5b35; --ink:#0b1930; --muted:#657186; --line:#dfe5ec; --cloud:#f4f7fa; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
button, input, select { font:inherit; }
button, select { cursor:pointer; }
.site-shell { min-height:100vh; display:flex; flex-direction:column; }
.site-shell main { flex:1; }
.container { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.site-header { height:78px; background:#fff; position:relative; z-index:30; border-bottom:1px solid rgba(7,26,56,.07); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; gap:11px; align-items:center; font-size:24px; font-weight:700; letter-spacing:-.7px; }
.brand b { font-weight:400; }
.brand-mark { color:var(--blue); font-weight:900; font-style:italic; letter-spacing:-3px; font-size:25px; position:relative; padding-left:5px; }
.brand-mark::before { content:""; position:absolute; left:0; top:0; height:29px; width:4px; background:var(--blue); transform:skew(-13deg); }
.site-header nav { display:flex; gap:46px; align-items:center; font-size:15px; font-weight:700; }
.site-header nav a:hover { color:var(--blue); }
.favorite-link { font-size:16px; }
.menu-toggle { display:none; border:0; background:transparent; font-size:24px; }
.hero { min-height:595px; position:relative; display:flex; align-items:center; background:url('../images/hero-coastal.png') center/cover no-repeat; color:#fff; }
.hero-search > input[type="hidden"] { display:none; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(4,17,36,.76) 0%, rgba(4,17,36,.38) 45%, rgba(4,17,36,0) 70%); }
.hero-content { position:relative; z-index:1; padding-top:16px; }
.eyebrow { margin:0 0 14px; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:800; }
.eyebrow.blue { color:var(--blue); }
.hero h1 { font-size:58px; line-height:1.04; letter-spacing:-2.5px; max-width:790px; margin:0 0 26px; }
.location-field { display:flex; align-items:center; gap:10px; margin:0 0 20px; width:310px; font-weight:700; }
.location-field span { color:var(--orange); font-size:25px; }
.location-field input { background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.55); color:#fff; width:100%; padding:8px 4px; outline:0; }
.location-field input::placeholder { color:#fff; opacity:.95; }
.hero-search { background:#fff; color:var(--ink); border-radius:14px; padding:10px; display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr auto; width:min(930px, 100%); box-shadow:0 18px 45px rgba(2,18,40,.25); }
.hero-search label { padding:5px 18px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:3px; }
.hero-search label span { font-size:10px; color:var(--muted); text-transform:uppercase; font-weight:800; letter-spacing:.08em; }
.hero-search input, .hero-search select { border:0; background:transparent; min-width:0; color:var(--ink); padding:3px 0; outline:0; width:100%; }
.primary-button, .secondary-button { border:0; border-radius:8px; padding:14px 20px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:.2s ease; }
.primary-button { background:var(--blue); color:#fff; box-shadow:0 7px 18px rgba(6,103,232,.2); }
.primary-button:hover { background:var(--blue-dark); transform:translateY(-1px); }
.secondary-button { background:#fff; color:var(--ink); border:1px solid var(--line); }
.secondary-button:hover { border-color:var(--blue); color:var(--blue); }
.primary-button.full { width:100%; }
.featured-section, .inventory-section, .dealer-results { padding:76px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:28px; }
.section-heading h2, .dealer-cta h2 { font-size:36px; margin:0; letter-spacing:-1.2px; }
.text-link { font-weight:800; color:var(--blue); }
.vehicle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.vehicle-grid.two { grid-template-columns:repeat(2,1fr); }
.vehicle-card { position:relative; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 7px 24px rgba(8,25,52,.08); transition:.22s; }
.vehicle-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(8,25,52,.13); }
.vehicle-image { height:225px; background:#e9eef3; display:flex; align-items:center; justify-content:center; color:var(--muted); font-weight:700; }
.vehicle-image img { width:100%; height:100%; object-fit:cover; }
.save-button { position:absolute; top:14px; right:14px; border:0; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.94); font-size:24px; color:var(--ink); box-shadow:0 2px 9px rgba(0,0,0,.14); }
.save-button.saved { color:var(--orange); }
.vehicle-card-body { padding:20px; }
.vehicle-meta { color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin:0 0 8px; }
.vehicle-card h3 { font-size:18px; margin:0 0 12px; min-height:44px; line-height:1.3; }
.price { display:block; font-size:25px; color:var(--orange); margin-bottom:17px; }
.dealer-name { border-top:1px solid var(--line); padding-top:14px; display:flex; flex-direction:column; font-weight:800; font-size:13px; }
.dealer-name span { color:var(--muted); font-size:12px; font-weight:400; margin-top:3px; }
.inventory-awaiting { padding:25px; border:1px solid var(--line); border-radius:14px; display:flex; gap:20px; align-items:center; background:var(--cloud); }
.inventory-awaiting h3, .inventory-awaiting p { margin:0 0 4px; }
.inventory-awaiting p { color:var(--muted); }
.inventory-awaiting .secondary-button { margin-left:auto; }
.pulse-mark { width:54px; height:54px; border-radius:50%; background:var(--navy); color:#fff; display:grid; place-items:center; font-weight:900; }
.trust-strip { background:var(--navy); color:#fff; padding:38px 0; }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.trust-grid div { display:flex; flex-direction:column; gap:7px; }
.trust-grid strong { font-size:18px; }
.trust-grid span { color:#b8c4d5; font-size:14px; line-height:1.5; }
.dealer-cta { margin-top:80px; margin-bottom:80px; background:var(--cloud); border-radius:20px; padding:50px 56px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.dealer-cta p:last-child { max-width:670px; color:var(--muted); line-height:1.65; }
.page-hero { background:var(--navy); color:#fff; padding:70px 0; }
.page-hero.compact { padding:54px 0; }
.page-hero h1 { font-size:48px; letter-spacing:-1.6px; margin:0 0 12px; }
.page-hero p:last-child { color:#c6d0df; margin:0; max-width:650px; font-size:18px; line-height:1.6; }
.search-layout { display:grid; grid-template-columns:310px 1fr; gap:42px; padding:48px 0 80px; align-items:start; }
.filters { border:1px solid var(--line); border-radius:14px; padding:22px; position:sticky; top:20px; }
.filter-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.filter-heading h2 { font-size:20px; margin:0; }
.filter-heading span { font-size:11px; color:var(--blue); font-weight:800; text-transform:uppercase; }
.filters form, .filters label { display:flex; flex-direction:column; gap:8px; }
.filters form { gap:17px; }
.filters label { font-size:12px; font-weight:800; color:#344155; }
.filters input, .filters select, .results select, .dealer-search input { border:1px solid var(--line); border-radius:7px; padding:12px; background:#fff; color:var(--ink); width:100%; }
.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.results-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:25px; }
.results-heading h2 { margin:0; font-size:27px; }
.results-heading select { width:auto; }
.empty-state { border:1px dashed #cbd4df; border-radius:16px; padding:68px 24px; text-align:center; background:#fafbfd; }
.empty-state > span { display:block; font-size:45px; color:var(--blue); margin-bottom:15px; }
.empty-state h1, .empty-state h3 { margin:0 0 8px; }
.empty-state p { color:var(--muted); margin:0 auto 24px; max-width:500px; line-height:1.6; }
.dealer-search-hero { padding-bottom:48px; }
.dealer-search { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; max-width:800px; margin-top:28px; padding:10px; background:#fff; border-radius:12px; }
.dealer-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.dealer-card { display:grid; grid-template-columns:70px 1fr auto; gap:18px; align-items:center; border:1px solid var(--line); border-radius:14px; padding:22px; }
.dealer-card h3 { margin:0 0 7px; }
.dealer-card p { color:var(--muted); margin:0 0 8px; font-size:14px; }
.dealer-card strong { font-size:13px; color:var(--blue); }
.dealer-logo { width:68px; height:68px; border-radius:12px; border:1px solid var(--line); background:var(--cloud); display:grid; place-items:center; color:var(--blue); font-weight:900; font-size:20px; overflow:hidden; }
.dealer-logo img { max-width:90%; max-height:90%; }
.dealer-profile { background:linear-gradient(125deg,var(--navy),#123e73); color:#fff; padding:62px 0; }
.dealer-profile-inner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; }
.dealer-logo.large { width:105px; height:105px; background:#fff; font-size:28px; }
.dealer-profile h1 { font-size:40px; margin:0 0 9px; }
.dealer-profile p { margin:0; color:#c7d4e5; }
.dealer-contact { display:flex; flex-direction:column; gap:10px; }
.detail-loading { padding:90px 0; }
.breadcrumbs { display:flex; gap:10px; align-items:center; padding:24px 0; font-size:13px; color:var(--muted); overflow:hidden; white-space:nowrap; }
.breadcrumbs a { color:var(--blue); font-weight:700; }
.vehicle-detail { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(340px,.7fr); gap:34px; }
.gallery-main { height:550px; border-radius:16px; overflow:hidden; background:var(--cloud); display:grid; place-items:center; color:var(--muted); font-weight:700; }
.gallery-main img { width:100%; height:100%; object-fit:cover; }
.thumbnails { display:flex; gap:10px; margin-top:12px; }
.thumbnails button { width:90px; height:66px; padding:0; border:2px solid transparent; border-radius:8px; overflow:hidden; background:none; }
.thumbnails button.active { border-color:var(--blue); }
.thumbnails img { width:100%; height:100%; object-fit:cover; }
.vehicle-summary { border:1px solid var(--line); border-radius:16px; padding:28px; align-self:start; }
.vehicle-summary h1 { font-size:31px; margin:0 0 5px; letter-spacing:-1px; }
.vehicle-summary h2 { font-size:18px; color:var(--muted); margin:0 0 20px; font-weight:500; }
.detail-price { font-size:35px; color:var(--orange); display:block; margin-bottom:23px; }
.spec-highlights { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 0; gap:18px; }
.spec-highlights div { display:flex; flex-direction:column; gap:4px; }
.spec-highlights span, .dealer-panel p { color:var(--muted); font-size:12px; margin:0; }
.dealer-panel { margin-top:22px; display:flex; flex-direction:column; gap:7px; }
.dealer-panel a:first-of-type { font-size:19px; font-weight:800; }
.dealer-panel > span { color:var(--muted); font-size:14px; margin-bottom:14px; }
.details-table { padding:55px 0 90px; }
.details-table dl { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.details-table dl div { display:flex; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--line); }
.details-table dl div:nth-child(odd) { margin-right:30px; }
.details-table dt { color:var(--muted); }
.editorial-copy { padding:78px 0 100px; max-width:900px; }
.editorial-copy h2 { font-size:34px; margin:0 0 16px; }
.editorial-copy p { color:var(--muted); line-height:1.75; font-size:17px; }
.trust-grid.cards { width:100%; margin-top:44px; }
.trust-grid.cards div { padding:24px; border-radius:13px; background:var(--cloud); }
.trust-grid.cards span { color:var(--muted); }
.legal-copy h2:not(:first-child) { margin-top:44px; font-size:25px; }
.site-footer { background:#06152e; color:#fff; padding:58px 0 22px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:70px; }
.footer-grid > div { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-grid p { color:#9aa9be; max-width:360px; line-height:1.6; }
.footer-grid h3 { margin:3px 0 8px; font-size:15px; }
.footer-grid > div > a:not(.brand) { color:#aeb9c9; font-size:14px; }
.legal { margin-top:44px; border-top:1px solid rgba(255,255,255,.12); padding-top:20px; color:#8190a5; font-size:12px; }
.cookie-banner { position:fixed; z-index:50; left:24px; right:24px; bottom:22px; margin:auto; width:min(960px,calc(100% - 48px)); background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 16px 50px rgba(3,19,43,.22); padding:22px; display:flex; justify-content:space-between; gap:30px; align-items:center; }
.cookie-banner strong { font-size:17px; }
.cookie-banner p { color:var(--muted); margin:7px 0 5px; font-size:13px; }
.cookie-banner a { color:var(--blue); font-weight:700; font-size:13px; }
.cookie-actions { display:flex; gap:10px; flex-shrink:0; }
.cookie-banner[hidden] { display:none; }
.pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:38px; }
.pagination a { color:var(--blue); border:1px solid var(--line); border-radius:8px; padding:10px 15px; font-weight:800; }
.pagination span, .loading-state { color:var(--muted); }
.loading-state { padding:70px 20px; text-align:center; }
.sort-form { margin:0; }
.secondary-button.full { width:100%; }

@media (max-width: 900px) {
  .container { width:min(100% - 30px, 760px); }
  .menu-toggle { display:block; }
  .site-header nav { display:none; position:absolute; top:78px; left:0; right:0; background:#fff; padding:20px 24px; box-shadow:0 10px 22px rgba(0,0,0,.12); flex-direction:column; align-items:flex-start; gap:20px; }
  .site-header nav.open { display:flex; }
  .hero { min-height:680px; align-items:flex-end; padding:70px 0; background-position:63% center; }
  .hero h1 { font-size:44px; }
  .hero-search { grid-template-columns:1fr 1fr; }
  .hero-search label { border-bottom:1px solid var(--line); }
  .hero-search .primary-button { grid-column:1/-1; }
  .vehicle-grid, .vehicle-grid.two { grid-template-columns:1fr 1fr; }
  .search-layout { grid-template-columns:1fr; }
  .filters { position:static; }
  .dealer-grid { grid-template-columns:1fr; }
  .vehicle-detail { grid-template-columns:1fr; }
  .gallery-main { height:480px; }
  .dealer-profile-inner { grid-template-columns:auto 1fr; }
  .dealer-contact { grid-column:1/-1; flex-direction:row; }
}

@media (max-width: 600px) {
  .container { width:calc(100% - 28px); }
  .site-header { height:68px; }
  .brand { font-size:20px; }
  .site-header nav { top:68px; }
  .hero { min-height:650px; background-position:68% center; }
  .hero-overlay { background:linear-gradient(90deg,rgba(3,17,37,.87),rgba(3,17,37,.47)); }
  .hero h1 { font-size:38px; letter-spacing:-1.6px; }
  .hero-search { grid-template-columns:1fr; }
  .hero-search label { border-right:0; }
  .hero-search .primary-button { grid-column:auto; }
  .location-field { width:100%; }
  .featured-section, .inventory-section, .dealer-results { padding:55px 0; }
  .section-heading { align-items:flex-start; gap:20px; }
  .section-heading h2 { font-size:30px; }
  .vehicle-grid, .vehicle-grid.two { grid-template-columns:1fr; }
  .inventory-awaiting { flex-direction:column; align-items:flex-start; }
  .inventory-awaiting .secondary-button { margin-left:0; width:100%; }
  .trust-grid { grid-template-columns:1fr; gap:25px; }
  .dealer-cta { margin:55px 14px; padding:35px 25px; flex-direction:column; align-items:flex-start; }
  .page-hero { padding:52px 0; }
  .page-hero h1 { font-size:38px; }
  .field-pair { grid-template-columns:1fr; }
  .results-heading { align-items:flex-start; flex-direction:column; gap:15px; }
  .dealer-search { grid-template-columns:1fr; }
  .dealer-card { grid-template-columns:56px 1fr; }
  .dealer-card .secondary-button { grid-column:1/-1; }
  .dealer-logo { width:56px; height:56px; }
  .dealer-profile-inner { display:flex; flex-direction:column; align-items:flex-start; }
  .dealer-contact { flex-direction:column; width:100%; }
  .gallery-main { height:320px; }
  .details-table dl { grid-template-columns:1fr; }
  .details-table dl div:nth-child(odd) { margin-right:0; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:35px; }
  .footer-grid > div:first-child { grid-column:1/-1; }
  .cookie-banner { flex-direction:column; align-items:stretch; bottom:12px; left:12px; right:12px; width:calc(100% - 24px); }
  .cookie-actions { flex-direction:column-reverse; }
}
