:root{
  --bg:#FFFFFF;
  --bg-alt:#F6F8FB;
  --surface:#FFFFFF;
  --surface-dark:#0F172A;
  --surface-dark-2:#182338;
  --border:#E5E9F0;
  --border-soft:#EEF1F6;
  --text:#0F172A;
  --text-dim:#5B6472;
  --text-faint:#94A0AF;
  --on-dark:#F4F6F9;
  --on-dark-dim:#AEB8C4;
  --accent:#2461EB;
  --accent-dark:#1A4FCB;
  --on-accent:#FFFFFF;
  --accent-soft:rgba(36,97,235,0.08);
  --great:#16A34A;
  --great-soft:rgba(22,163,74,0.12);
  --fair:#D97706;
  --fair-soft:rgba(217,119,6,0.12);
  --tough:#DC2626;
  --tough-soft:rgba(220,38,38,0.12);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --shadow-sm:0 1px 2px rgba(15,23,42,0.06);
  --shadow-md:0 8px 24px rgba(15,23,42,0.08);
  --shadow-lg:0 20px 48px rgba(15,23,42,0.14);
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1220px; margin:0 auto; padding:0 32px;}
a{color:inherit;}

/* ---- header ---- */
header{
  border-bottom:1px solid var(--border-soft);
  padding:20px 0;
  position:sticky; top:0;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(8px);
  z-index:20;
}
header .wrap{display:flex; align-items:center; justify-content:space-between;}
.logo{display:flex; align-items:center; text-decoration:none;}
.logo-full{height:72px; width:auto; display:block;}
nav{display:flex; gap:30px;}
nav a{color:var(--text-dim); text-decoration:none; font-size:14px; font-weight:600; transition:color 0.15s var(--ease);}
nav a:hover{color:var(--accent);}
.cta-btn{
  background:var(--accent); color:var(--on-accent);
  font-weight:600; font-size:14px;
  border:none; padding:12px 22px; border-radius:8px;
  cursor:pointer; font-family:'Inter',sans-serif;
  box-shadow:0 2px 8px rgba(36,97,235,0.25);
  transition:transform 0.2s var(--ease), box-shadow 0.2s var(--ease), background 0.2s var(--ease);
}
.cta-btn:hover{background:var(--accent-dark); transform:translateY(-1px); box-shadow:0 6px 18px rgba(36,97,235,0.3);}
.cta-btn:active{transform:translateY(0); box-shadow:0 2px 8px rgba(36,97,235,0.25);}
.cta-btn.ghost{
  background:transparent; color:var(--text); border:1.5px solid var(--border);
  box-shadow:none;
}
.cta-btn.ghost:hover{border-color:var(--text-dim); background:var(--bg-alt); transform:translateY(-1px);}

/* ---- hero ---- */
.hero{
  position:relative; padding:96px 0 64px; overflow:hidden; isolation:isolate;
  background:linear-gradient(90deg, rgba(10,14,24,0.94) 0%, rgba(10,14,24,0.72) 45%, rgba(10,14,24,0.28) 78%, rgba(10,14,24,0.1) 100%), url('/images/hero-car.jpg');
  background-size:cover; background-position:center 62%;
  color:var(--on-dark);
}
.hero-inner{max-width:620px;}
.hero-eyebrow{
  display:inline-block; color:var(--on-dark); font-size:12.5px; font-weight:700;
  letter-spacing:0.04em; text-transform:uppercase; margin-bottom:18px;
  background:rgba(255,255,255,0.12); padding:6px 14px; border-radius:20px;
}
.hero h1{
  font-family:'Space Grotesk',sans-serif; font-weight:700;
  font-size:46px; line-height:1.1; letter-spacing:-0.02em;
  margin-bottom:18px;
}
.hero h1 .accent-text{color:#6FA1FF;}
.hero p.sub{color:var(--on-dark-dim); font-size:16.5px; max-width:520px; margin-bottom:28px;}
.hero-features{display:flex; gap:22px; flex-wrap:wrap; margin-bottom:32px;}
.hero-feature{display:flex; align-items:flex-start; gap:10px; max-width:190px;}
.hero-feature-icon{
  width:34px; height:34px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.35);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--on-dark);
}
.hero-feature-icon svg{width:16px; height:16px;}
.hero-feature-title{font-size:13px; font-weight:600; color:var(--on-dark);}
.hero-feature-body{font-size:12px; color:var(--on-dark-dim); margin-top:2px; line-height:1.4;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.hero-actions .cta-btn.ghost{border-color:rgba(255,255,255,0.4); color:var(--on-dark);}
.hero-actions .cta-btn.ghost:hover{border-color:#fff;}
.play-icon{display:inline-flex; margin-right:6px; vertical-align:-3px;}

.hero-trust-line{
  display:flex; align-items:center; gap:8px; margin-top:26px;
  color:var(--on-dark-dim); font-size:13.5px;
}
.hero-trust-line strong{color:var(--on-dark); font-weight:700;}

@media (max-width:900px){
  .hero{background-position:70% center; padding:72px 0 56px;}
  .hero h1{font-size:34px;}
}

/* ---- stats bar ---- */
.stats-bar{
  position:relative; z-index:6; margin-top:-56px;
  background:var(--surface); border-radius:16px; border:1px solid var(--border-soft);
  box-shadow:0 12px 32px rgba(15,23,42,0.12);
  padding:26px 32px; display:flex; align-items:center; gap:28px; flex-wrap:wrap;
}
.stat-item{display:flex; align-items:center; gap:12px;}
.stat-icon{
  width:38px; height:38px; border-radius:10px; background:var(--accent-soft); color:var(--accent);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.stat-icon svg{width:19px; height:19px;}
.stat-num{font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; line-height:1.1;}
.stat-label{font-size:12px; color:var(--text-faint); margin-top:2px;}
.stat-divider{width:1px; align-self:stretch; background:var(--border-soft);}

@media (max-width:900px){
  .stats-bar{margin-top:20px; flex-direction:column; align-items:flex-start;}
  .stat-divider{display:none;}
}

.all-makes-section{padding:64px 0; text-align:center;}
.all-makes-grid{
  display:flex; flex-wrap:wrap; justify-content:center; gap:14px 28px; max-width:900px; margin:0 auto;
}
.all-makes-grid span{
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:15px; color:var(--text-faint);
  transition:color 0.2s var(--ease);
}
.all-makes-grid span:hover{color:var(--accent);}

/* ---- two-column: how it works + deals panel ---- */
.split-section{padding:88px 0; background:var(--bg);}
.split-grid{display:grid; grid-template-columns:1fr 1.15fr; gap:32px; align-items:start;}
@media (max-width:960px){ .split-grid{grid-template-columns:1fr;} }

.eyebrow-label{color:var(--accent); font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:10px;}
.split-grid h2{font-family:'Space Grotesk',sans-serif; font-size:28px; font-weight:700; letter-spacing:-0.01em; margin-bottom:12px;}
.split-grid > div > p.section-sub{color:var(--text-dim); font-size:14.5px; line-height:1.6; margin-bottom:24px; max-width:420px;}

.works-steps{display:flex; gap:0; margin-bottom:26px;}
.works-step{flex:1; position:relative; text-align:center; padding:0 6px;}
.works-step-icon{
  width:52px; height:52px; border-radius:50%; background:var(--accent-soft); color:var(--accent);
  display:flex; align-items:center; justify-content:center; margin:0 auto 12px; position:relative; z-index:2;
}
.works-step-icon svg{width:22px; height:22px;}
.works-step-title{font-size:13px; font-weight:700; margin-bottom:4px;}
.works-step-body{font-size:11.5px; color:var(--text-faint); line-height:1.4;}
.works-step:not(:last-child)::after{
  content:""; position:absolute; top:26px; left:calc(50% + 26px); width:calc(100% - 52px);
  height:1px; border-top:2px dashed var(--border); z-index:1;
}

/* ---- deals panel (dark box on light page) ---- */
.deals-panel{
  background:var(--surface-dark); border-radius:18px; padding:28px; color:var(--on-dark);
}
.deals-panel-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px;}
.deals-panel-head .eyebrow-label{color:#6FA1FF; margin-bottom:6px;}
.deals-panel-head h3{font-family:'Space Grotesk',sans-serif; font-size:20px; font-weight:700; color:var(--on-dark);}
.deals-panel-head a{font-size:12.5px; font-weight:600; color:var(--on-dark-dim); text-decoration:none; white-space:nowrap;}
.deals-panel-head a:hover{color:var(--on-dark);}
.deals-panel-footer{display:flex; justify-content:center; padding-top:20px;}

.freshness{font-size:12px; color:var(--on-dark-dim); padding-bottom:10px;}
.toolbar{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  padding-bottom:16px;
}
.search-input{
  flex:1; min-width:180px;
  background:var(--surface-dark-2); border:1px solid rgba(255,255,255,0.12);
  color:var(--on-dark); padding:10px 13px; border-radius:6px;
  font-family:'Inter',sans-serif; font-size:13px;
}
.search-input::placeholder{color:var(--on-dark-dim);}
select{
  background:var(--surface-dark-2); border:1px solid rgba(255,255,255,0.12);
  color:var(--on-dark); padding:10px 13px; border-radius:6px;
  font-family:'Inter',sans-serif; font-size:13px;
}
.filter-pills{display:flex; gap:6px; flex-wrap:wrap;}
.pill{
  border:1px solid rgba(255,255,255,0.15); background:transparent; color:var(--on-dark-dim);
  padding:8px 13px; border-radius:20px; font-size:12.5px; cursor:pointer;
  font-family:'Inter',sans-serif; white-space:nowrap;
}
.pill.active{background:rgba(255,255,255,0.1); color:var(--on-dark); border-color:rgba(255,255,255,0.3);}
.pill[data-tier="great"].active{border-color:var(--great); color:var(--great);}
.pill[data-tier="fair"].active{border-color:var(--fair); color:var(--fair);}
.pill[data-tier="tough"].active{border-color:var(--tough); color:var(--tough);}

.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:14px;}
.card{
  background:var(--surface); border:1px solid var(--border-soft);
  border-radius:14px; overflow:hidden; cursor:pointer; color:var(--text);
  box-shadow:var(--shadow-sm);
  transition:transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
}
.card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--border);}
.card-visual{
  height:120px; display:flex; align-items:center; justify-content:center;
  background:var(--bg-alt); position:relative; overflow:hidden;
}
.card-visual img{width:100%; height:100%; object-fit:cover;}
.card-visual svg{width:56px; height:56px; opacity:0.35; color:var(--text-faint);}
.tier-badge{
  position:absolute; top:10px; left:10px; font-size:10.5px; font-weight:700;
  padding:5px 10px; border-radius:5px; text-transform:uppercase; letter-spacing:0.02em;
  color:#fff;
}
.tier-badge.great{background:var(--great);}
.tier-badge.fair{background:var(--fair);}
.tier-badge.tough{background:var(--tough);}
.days-tag{
  position:absolute; top:10px; right:10px;
  font-size:10.5px; color:#fff;
  background:rgba(0,0,0,0.55); padding:4px 8px; border-radius:5px;
}
.card-body{padding:14px;}
.card-title{font-size:13.5px; font-weight:700; margin-bottom:2px;}
.card-sub{font-size:11.5px; color:var(--text-faint); margin-bottom:10px;}
.price-row{display:flex; align-items:baseline; gap:8px; margin-bottom:10px; flex-wrap:wrap;}
.price{font-size:17px; font-weight:700; color:var(--text);}
.price-orig{font-size:12px; color:var(--text-faint); text-decoration:line-through;}
.price-save{font-size:11.5px; font-weight:700; color:var(--great);}

.score-row{display:flex; align-items:center; gap:10px; padding-top:10px; border-top:1px solid var(--border-soft);}
.card-details-link{
  display:block; text-align:center; margin-top:10px; font-size:12px; font-weight:600;
  color:var(--accent); text-decoration:none;
}
.card-details-link:hover{text-decoration:underline;}
.gauge{position:relative; width:38px; height:38px; flex-shrink:0;}
.gauge svg{transform:rotate(-90deg);}
.gauge-bg{fill:none; stroke:var(--border); stroke-width:4;}
.gauge-fill{fill:none; stroke-width:4; stroke-linecap:round; transition:stroke-dasharray 0.4s ease;}
.badge-text{font-size:11.5px; font-weight:700;}
.badge-sub{font-size:10.5px; color:var(--text-faint);}

.expand{max-height:0; overflow:hidden; transition:max-height 0.3s ease; border-top:1px solid var(--border-soft);}
.card.open .expand{max-height:260px;}
.expand-inner{padding:14px; font-size:12px; color:var(--text-dim);}
.expand-inner .locked-score{
  font-family:'IBM Plex Mono',monospace; font-size:24px; font-weight:700;
  color:var(--text); filter:blur(5px); user-select:none; display:block; margin:8px 0;
  transition:filter 0.3s ease;
}
.card.unlocked .expand-inner .locked-score{filter:none; color:var(--accent); user-select:text;}
.card.unlocked .expand-inner .breakdown-details{color:var(--text-dim);}
.unlock-btn{
  width:100%; margin-top:10px; background:var(--accent); color:#fff;
  border:none; padding:10px; border-radius:6px; font-weight:600; font-size:12.5px;
  cursor:pointer; font-family:'Inter',sans-serif;
}
.unlock-btn:disabled{opacity:0.7; cursor:default;}

.load-more-row{display:flex; justify-content:center; padding-top:16px;}
.load-more-btn{
  background:transparent; color:var(--on-dark); border:1px solid rgba(255,255,255,0.2);
  padding:10px 22px; border-radius:6px; font-size:12.5px; font-weight:600;
  cursor:pointer; font-family:'Inter',sans-serif;
}
.load-more-btn:hover{border-color:rgba(255,255,255,0.5);}
.load-more-btn:disabled{opacity:0.5; cursor:default;}

.empty{
  grid-column:1 / -1; text-align:center; padding:40px 20px; color:var(--on-dark-dim);
  font-size:13.5px; display:flex; flex-direction:column; align-items:center; gap:14px;
}

/* ---- standalone Live Deals page: light-theme variant of the toolbar/grid ---- */
.deals-page-header{padding:48px 0 28px; text-align:center; border-bottom:1px solid var(--border-soft);}
.deals-page-header h1{font-family:'Space Grotesk',sans-serif; font-size:32px; font-weight:700; margin-bottom:10px;}
.deals-page-header p{color:var(--text-dim); font-size:15px;}
.refresh-badge{
  display:inline-flex; align-items:center; gap:8px; margin-top:16px;
  background:var(--accent-soft); color:var(--accent); font-size:12.5px; font-weight:600;
  padding:8px 16px; border-radius:20px;
}
.refresh-badge .dot{width:7px; height:7px; border-radius:50%; background:var(--accent);}

.deals-page{padding:36px 0 80px;}
.deals-page .freshness{color:var(--text-faint);}
.deals-page .search-input{
  background:var(--surface); border:1px solid var(--border); color:var(--text);
}
.deals-page .search-input::placeholder{color:var(--text-faint);}
.deals-page select{background:var(--surface); border:1px solid var(--border); color:var(--text);}
.deals-page .pill{border-color:var(--border); color:var(--text-dim);}
.deals-page .pill.active{background:var(--accent-soft); color:var(--accent); border-color:var(--accent);}
.deals-page .pill[data-tier="great"].active{border-color:var(--great); color:var(--great); background:var(--great-soft);}
.deals-page .pill[data-tier="fair"].active{border-color:var(--fair); color:var(--fair); background:var(--fair-soft);}
.deals-page .pill[data-tier="tough"].active{border-color:var(--tough); color:var(--tough); background:var(--tough-soft);}
.deals-page .grid{grid-template-columns:repeat(auto-fill, minmax(270px, 1fr)); gap:20px;}
.deals-page .load-more-btn{color:var(--text); border-color:var(--border);}
.deals-page .load-more-btn:hover{border-color:var(--text-dim);}
.deals-page .empty{color:var(--text-faint);}

/* ---- concierge banner ---- */
.concierge{
  margin:0 auto 0; max-width:1220px; padding:0 32px;
}
.concierge-inner{
  position:relative; border-radius:16px; overflow:hidden; isolation:isolate;
  background:linear-gradient(90deg, rgba(10,14,24,0.92) 0%, rgba(10,14,24,0.55) 60%, rgba(10,14,24,0.15) 100%), url('/images/concierge-suv.jpg');
  background-size:cover; background-position:center 45%;
  padding:44px 40px; color:var(--on-dark); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.concierge-heading{font-family:'Space Grotesk',sans-serif; font-size:26px; font-weight:700; line-height:1.2;}
.concierge-heading .accent-text{color:#6FA1FF;}
.concierge-sub{color:var(--on-dark-dim); font-size:14px; max-width:340px;}

/* ---- trust icon row ---- */
.trust-row{padding:72px 0; background:var(--bg-alt);}
.trust-row-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:20px; text-align:center;}
@media (max-width:900px){ .trust-row-grid{grid-template-columns:repeat(2, 1fr);} }
.trust-row-item{display:flex; flex-direction:column; align-items:center; gap:10px;}
.trust-row-icon{
  width:42px; height:42px; border-radius:50%; background:var(--accent-soft); color:var(--accent);
  display:flex; align-items:center; justify-content:center;
}
.trust-row-icon svg{width:19px; height:19px;}
.trust-row-title{font-size:13px; font-weight:700;}
.trust-row-body{font-size:11.5px; color:var(--text-faint); max-width:150px;}

/* ---- shared section styles ---- */
.section-head{max-width:640px; margin:0 auto 40px; text-align:center;}
.section-head h2{
  font-family:'Space Grotesk',sans-serif; font-weight:700;
  font-size:30px; letter-spacing:-0.01em; margin-bottom:14px;
}
.section-head p{color:var(--text-dim); font-size:15px; line-height:1.6;}
.section-head a{color:var(--accent);}

.listings-head{max-width:640px; margin:0 auto 4px; text-align:center;}
.listings-head h2{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:24px; margin-bottom:8px;}
.listings-head p{color:var(--text-dim); font-size:13.5px;}

.services{padding:88px 0; background:var(--bg-alt);}
.pricing-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:20px;}
.price-card{
  background:var(--surface); border:1px solid var(--border-soft); border-radius:16px;
  padding:32px 26px; display:flex; flex-direction:column; position:relative;
  box-shadow:var(--shadow-sm);
  transition:transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.price-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg);}
.price-card.featured{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), var(--shadow-md);}
.price-card-badge{
  position:absolute; top:-12px; left:24px; background:var(--accent); color:#fff;
  font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:0.03em;
}
.price-card-name{font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:700; margin-bottom:6px;}
.price-card-cost{font-size:30px; font-weight:700; color:var(--accent); margin-bottom:18px;}
.price-card-features{list-style:none; flex:1; margin-bottom:24px;}
.price-card-features li{
  color:var(--text-dim); font-size:13.5px; line-height:1.5; padding:8px 0 8px 20px;
  border-top:1px solid var(--border-soft); position:relative;
}
.price-card-features li:first-child{border-top:none;}
.price-card-features li::before{content:"✓"; position:absolute; left:0; color:var(--great);}
.price-card-btn{
  background:transparent; color:var(--text); border:1.5px solid var(--border);
  padding:12px; border-radius:6px; font-weight:600; font-size:14px; cursor:pointer;
  font-family:'Inter',sans-serif; width:100%;
}
.price-card:not(.featured) .price-card-btn:not(.ghost){background:var(--accent); color:#fff; border:none;}
.price-card.featured .price-card-btn{background:var(--accent); color:#fff; border:none;}
.price-card-btn:hover{filter:brightness(1.08);}

.why{padding:88px 0;}
.why-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:24px;}
.why-card{padding:4px; transition:transform 0.25s var(--ease);}
.why-card:hover{transform:translateY(-3px);}
.why-icon{
  width:46px; height:46px; border-radius:50%; background:var(--accent-soft);
  color:var(--accent); display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; transition:background 0.2s var(--ease), color 0.2s var(--ease);
}
.why-card:hover .why-icon{background:var(--accent); color:#fff;}
.why-icon svg{width:22px; height:22px;}
.why-title{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px; margin-bottom:8px;}
.why-body{color:var(--text-dim); font-size:13.5px; line-height:1.6;}

.faq{padding:88px 0;}
.faq-list{max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:10px;}
.faq-item{border:1px solid var(--border-soft); border-radius:12px; background:var(--bg-alt); overflow:hidden; transition:border-color 0.2s var(--ease);}
.faq-item:hover{border-color:var(--border);}
.faq-q{
  width:100%; text-align:left; background:transparent; border:none; color:var(--text);
  padding:18px 20px; font-size:14.5px; font-weight:600; cursor:pointer;
  display:flex; align-items:center; gap:14px; font-family:'Inter',sans-serif;
}
.faq-q span:first-child{color:var(--text-faint); font-family:'IBM Plex Mono',monospace; font-size:13px;}
.faq-toggle{margin-left:auto; color:var(--text-faint); font-size:18px; flex-shrink:0; transition:transform 0.2s var(--ease);}
.faq-a{max-height:0; overflow:hidden; transition:max-height 0.3s var(--ease);}
.faq-a p{padding:0 20px 20px 54px; color:var(--text-dim); font-size:13.5px; line-height:1.6;}
.faq-item.open{border-color:var(--accent);}
.faq-item.open .faq-a{max-height:220px;}
.faq-item.open .faq-toggle{transform:rotate(45deg); color:var(--accent);}

.lead-form{padding:88px 0; background:var(--bg-alt);}
.form-grid{
  max-width:760px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
.form-field{display:flex; flex-direction:column; gap:8px;}
.form-field.span-2{grid-column:1 / -1;}
.form-field label{font-size:13px; color:var(--text-dim); font-weight:500;}
.form-field input, .form-field textarea, .form-field select{
  background:var(--surface); border:1px solid var(--border); color:var(--text);
  padding:11px 14px; border-radius:8px; font-family:'Inter',sans-serif; font-size:14px; resize:vertical;
  transition:border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus{
  outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft);
}
.form-field input::placeholder, .form-field textarea::placeholder{color:var(--text-faint);}
.checkbox-row{display:flex; gap:18px; flex-wrap:wrap;}
.checkbox-row label{display:flex; align-items:center; gap:6px; font-size:13.5px; color:var(--text); font-weight:400;}
.checkbox-row input{width:auto;}
.form-submit{padding:14px; font-size:15px; width:100%;}
.form-status{text-align:center; font-size:13px; color:var(--text-dim); margin-top:10px;}
.form-reassurance{text-align:center; font-size:12px; color:var(--text-faint); margin-top:12px;}

.confirm-backdrop{
  display:none; position:fixed; inset:0; background:rgba(15,23,42,0.6); z-index:100;
  align-items:center; justify-content:center; padding:20px;
}
.confirm-backdrop.open{display:flex;}
.confirm-panel{
  background:var(--surface); border-radius:16px; padding:40px 36px; max-width:420px; width:100%;
  text-align:center; box-shadow:var(--shadow-lg);
  animation:confirmPop 0.25s var(--ease);
}
@keyframes confirmPop{ from{ transform:scale(0.94); opacity:0; } to{ transform:scale(1); opacity:1; } }
.confirm-icon{
  width:64px; height:64px; border-radius:50%; background:var(--great-soft); color:var(--great);
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
}
.confirm-icon svg{width:32px; height:32px;}
.confirm-panel h3{font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700; margin-bottom:12px;}
.confirm-panel p{color:var(--text-dim); font-size:14.5px; line-height:1.6; margin-bottom:8px;}
.confirm-panel .confirm-sub{font-size:12.5px; color:var(--text-faint); margin-bottom:24px;}
.confirm-panel .cta-btn{width:100%;}

footer{border-top:1px solid var(--border-soft); padding:40px 0 24px; color:var(--text-faint); font-size:12.5px; background:var(--bg);}
.footer-top{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:20px;}
.footer-top nav{gap:24px;}
.footer-meta{display:flex; gap:20px; flex-wrap:wrap; padding:16px 0; border-top:1px solid var(--border-soft); margin-bottom:12px;}
.footer-meta a{color:var(--text-faint);}
.footer-disclaimer{text-align:center; padding-top:8px;}

.mobile-nav-toggle{
  display:none; background:transparent; border:1px solid var(--border); border-radius:8px;
  padding:8px; cursor:pointer; color:var(--text); align-items:center; justify-content:center;
  transition:border-color 0.2s var(--ease), background 0.2s var(--ease);
}
.mobile-nav-toggle:hover{border-color:var(--text-dim);}
.mobile-nav{
  display:none; flex-direction:column; padding:8px 32px 12px;
  border-top:1px solid var(--border-soft); background:var(--bg);
}
.mobile-nav a{
  padding:13px 0; color:var(--text-dim); text-decoration:none; font-weight:600; font-size:14.5px;
  border-bottom:1px solid var(--border-soft);
}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav.open{display:flex;}

@media (max-width:860px){
  .hero h1{font-size:30px;}
  nav{display:none;}
  .mobile-nav-toggle{display:flex;}
  .toolbar{flex-direction:column; align-items:stretch;}
  .form-grid{grid-template-columns:1fr;}
  .concierge-inner{padding:32px 24px;}
}

/* ==== vehicle details page ==== */
.vdp-wrap{padding:28px 32px 80px;}
.vdp-back{display:inline-block; font-size:13px; font-weight:600; color:var(--text-dim); text-decoration:none; margin-bottom:20px;}
.vdp-back:hover{color:var(--accent);}
.vdp-loading{padding:80px 0; text-align:center; color:var(--text-faint);}
.vdp-notfound{padding:80px 0; text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; color:var(--text-dim);}

.vdp-title-row{margin-bottom:20px;}
.vdp-badge{position:static; display:inline-block; margin-bottom:10px;}
.vdp-title-row h1{font-family:'Space Grotesk',sans-serif; font-size:28px; font-weight:700; letter-spacing:-0.01em;}
.vdp-subline{color:var(--text-faint); font-size:13px; margin-top:6px;}

.vdp-gallery{margin-bottom:32px;}
.vdp-gallery-main{
  width:100%; height:420px; border-radius:14px; overflow:hidden; background:var(--bg-alt);
  display:flex; align-items:center; justify-content:center;
}
.vdp-gallery-main img{width:100%; height:100%; object-fit:cover;}
.vdp-gallery-empty svg{width:120px; height:120px; opacity:0.25; color:var(--text-faint);}
.vdp-gallery-thumbs{display:flex; gap:10px; margin-top:10px; overflow-x:auto;}
.vdp-thumb{
  width:84px; height:64px; object-fit:cover; border-radius:8px; cursor:pointer; flex-shrink:0;
  border:2px solid transparent; opacity:0.65;
}
.vdp-thumb.active, .vdp-thumb:hover{opacity:1; border-color:var(--accent);}

.vdp-main-grid{display:grid; grid-template-columns:1fr 320px; gap:32px; align-items:start;}
@media (max-width:900px){ .vdp-main-grid{grid-template-columns:1fr;} .vdp-gallery-main{height:280px;} }

.vdp-section{margin-bottom:36px;}
.vdp-section h2{font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; margin-bottom:16px;}
.vdp-muted{color:var(--text-dim); font-size:13.5px; line-height:1.6;}

.vdp-price-block{padding-bottom:24px; border-bottom:1px solid var(--border-soft);}
.vdp-price-main{font-family:'Space Grotesk',sans-serif; font-size:38px; font-weight:700;}
.vdp-price-sub{display:flex; gap:16px; flex-wrap:wrap; margin-top:8px; font-size:13.5px; color:var(--text-faint);}
.vdp-price-sub .price-orig{text-decoration:line-through;}
.vdp-price-sub .price-save{color:var(--great); font-weight:700;}

.spec-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 24px; border-top:1px solid var(--border-soft);}
.spec-row{
  display:flex; justify-content:space-between; gap:12px; padding:11px 0;
  border-bottom:1px solid var(--border-soft); font-size:13.5px;
}
.spec-label{color:var(--text-faint);}
.spec-value{font-weight:600; text-align:right;}

.vdp-score-row{display:flex; align-items:center; gap:20px; margin-bottom:18px;}
.vdp-gauge{width:80px; height:80px; position:relative; flex-shrink:0;}
.vdp-gauge svg{transform:rotate(-90deg);}
.vdp-gauge .gauge-fill{stroke-width:7;}
.vdp-gauge .gauge-bg{stroke-width:7;}
.vdp-gauge-score{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:20px;
}
.vdp-badge-text{font-size:16px; margin-bottom:6px;}
.vdp-recommendation{
  background:var(--accent-soft); border-radius:12px; padding:18px 20px; font-size:13.5px; color:var(--text);
}
.vdp-recommendation strong{display:block; color:var(--accent); font-size:12.5px; text-transform:uppercase; letter-spacing:0.03em; margin-bottom:8px;}
.vdp-recommendation p{color:var(--text-dim); line-height:1.6;}

.vdp-locked-card{
  background:var(--accent-soft); border-radius:12px; padding:18px 20px;
  display:flex; gap:14px; align-items:flex-start;
}
.vdp-locked-icon{font-size:19px; line-height:1; flex-shrink:0;}
.vdp-locked-card strong{display:block; color:var(--accent); font-size:13.5px; text-transform:uppercase; letter-spacing:0.03em; margin-bottom:8px;}
.vdp-locked-card p{color:var(--text-dim); font-size:13.5px; line-height:1.6; margin-bottom:8px;}
.vdp-locked-card p:last-child{margin-bottom:0;}
.vdp-locked-list{list-style:none; padding:0; margin:0 0 8px; font-size:13.5px; color:var(--text-dim); display:flex; flex-direction:column; gap:6px;}

.price-history-list{border-top:1px solid var(--border-soft);}
.price-history-row{
  display:flex; align-items:center; gap:16px; padding:11px 0; border-bottom:1px solid var(--border-soft); font-size:13.5px;
}
.price-history-price{font-weight:700; font-family:'IBM Plex Mono',monospace;}
.price-history-delta{font-size:12px; font-weight:700; margin-left:auto;}
.price-history-delta.down{color:var(--great);}
.price-history-delta.up{color:var(--tough);}

.vdp-sidebar{position:sticky; top:88px; display:flex; flex-direction:column; gap:16px;}
.vdp-dealer-card{background:var(--bg-alt); border-radius:12px; padding:18px 20px;}
.vdp-dealer-card h3{font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:700; margin-bottom:12px;}
.vdp-dealer-card .spec-grid{grid-template-columns:1fr;}
.vdp-dealer-card .vdp-locked-card{background:transparent; padding:0;}
.vdp-cta{width:100%; padding:16px; font-size:15px;}
.vdp-cta-sub{text-align:center; font-size:12px; color:var(--text-faint);}
.vdp-cta-checklist{background:var(--bg-alt); border-radius:12px; padding:14px 16px;}
.vdp-cta-checklist p{font-weight:700; color:var(--text); margin-bottom:8px; font-size:12.5px;}
.vdp-cta-checklist ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; font-size:12.5px; color:var(--text-dim);}

@media (max-width:640px){
  .vdp-title-row h1{font-size:22px;}
  .vdp-price-main{font-size:28px;}
  .spec-grid{grid-template-columns:1fr;}
}

/* ==== current offers page ==== */
.offers-section{padding:64px 0;}
.big-deals-section{background:var(--bg-alt); border-top:1px solid var(--border-soft);}
.last-updated{font-size:12.5px; color:var(--text-faint); margin-top:8px;}

.offers-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:18px;}
.offer-card{
  background:var(--surface); border:1px solid var(--border-soft); border-radius:12px;
  padding:22px; box-shadow:var(--shadow-sm); transition:transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.offer-card:hover{transform:translateY(-2px); box-shadow:var(--shadow-md);}
.offer-card-name{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px; margin-bottom:8px;}
.offer-card-blurb{color:var(--text-dim); font-size:13px; line-height:1.5; margin-bottom:16px; min-height:40px;}
.offer-card-link{color:var(--accent); font-size:13px; font-weight:600; text-decoration:none;}
.offer-card-link:hover{text-decoration:underline;}

.big-deal-group{margin-bottom:36px;}
.big-deal-group:last-child{margin-bottom:0;}
.big-deal-group h3{font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:700; margin-bottom:16px;}
.big-deal-empty{color:var(--text-faint); font-size:13.5px;}
/* Each group only ever shows a handful of cards, so unlike the paginated Live
   Deals grid, an incomplete row should fill/stretch rather than leave the
   auto-fill class's reserved-but-empty column tracks pushing cards left. */
.big-deal-group .grid{grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));}
