.elementor-24 .elementor-element.elementor-element-a7d8efa{--display:flex;}.elementor-24 .elementor-element.elementor-element-c2aca50{--display:flex;}.elementor-24 .elementor-element.elementor-element-83847aa{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 100px) 0px;}.elementor-24 .elementor-element.elementor-element-e333854 .elementor-button{background-color:var( --e-global-color-v4-color-accent );font-family:"Barlow", Helvetica Neue, Sans-serif;font-size:var(--txt-0);font-weight:700;line-height:1.5;fill:var( --e-global-color-v4-color-text-inverse );color:var( --e-global-color-v4-color-text-inverse );border-radius:var(--spc-2xs) var(--spc-2xs) var(--spc-2xs) var(--spc-2xs);padding:var(--spc-2xs) var(--spc-s) var(--spc-2xs) var(--spc-s);}.elementor-24 .elementor-element.elementor-element-e333854 .elementor-button:hover, .elementor-24 .elementor-element.elementor-element-e333854 .elementor-button:focus{background-color:var( --e-global-color-v4-color-accent-hover );}.elementor-24 .elementor-element.elementor-element-30867b7 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Barlow", Helvetica Neue, Sans-serif;font-size:var(--txt-0);font-weight:700;line-height:1.5;fill:var( --e-global-color-v4-color-text-inverse );color:var( --e-global-color-v4-color-text-inverse );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-v4-color-border );border-radius:var(--spc-2xs) var(--spc-2xs) var(--spc-2xs) var(--spc-2xs);padding:var(--spc-2xs) var(--spc-s) var(--spc-2xs) var(--spc-s);}.elementor-24 .elementor-element.elementor-element-30867b7 .elementor-button:hover, .elementor-24 .elementor-element.elementor-element-30867b7 .elementor-button:focus{background-color:#31578A;border-color:var( --e-global-color-v4-color-surface-2 );}.elementor-24 .elementor-element.elementor-element-30867b7 .elementor-button-content-wrapper{flex-direction:row;}.elementor-24 .elementor-element.elementor-element-30867b7 .elementor-button .elementor-button-content-wrapper{gap:11px;}/* Start custom CSS *//* ============================================
   GLOBAL VARIABLES — mapped 1:1 from your Elementor
   Variables Manager export (global-variables.json)
   ============================================ */


*{box-sizing:border-box;}
html{font-size:16px;} /* your 16px root reset */
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.55;
  font-size:var(--txt-0);
}
h1,h2,h3,h4{font-family:var(--font-display); margin:0; line-height:1.1;}
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}

/* ============================================
   YOUR GLOBAL CLASSES (from g-*.json exports)
   ============================================ */

.section-width{
  max-width:1140px;
  padding-inline:var(--spc-m);
  margin-inline:auto;
}
.section-standard{
  max-width:1140px;
  padding-block:var(--spc-xl);
  padding-inline:var(--spc-m);
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:var(--spc-s);
}
.div-wrap-full-width{
  padding-block:var(--spc-xl);
  padding-block-end:0px;
  margin-block-end:0;
  background:transparent;
}
.card-light{
  padding:var(--spc-s);
  border-radius:var(--spc-xs);
  border:1px solid var(--color-border);
  background:var(--color-surface-2);
  display:flex;
  flex-direction:column;
  gap:var(--spc-xs);
}
@media (max-width:767px){
  .card-light{ max-width:100%; }
}
.icon-bgl{
  width:50px;
  height:50px;
  color:var(--color-primary);
  padding:var(--spc-2xs);
  border-radius:var(--spc-3xs);
  background:var(--color-primary-light);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.eyebrow-bgl{
  font-weight:700;
  font-size:var(--txt--1);
  color:var(--color-accent);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-family:var(--font-body);
}
.h2-bgl{ font-weight:800; font-size:var(--txt-4); }
.h2-bgd{ font-weight:800; font-size:var(--txt-4); color:var(--color-text-inverse); }
.h3-bgl{ max-width:20ch; font-weight:700; font-size:var(--txt-3); }
.h3-bgd{ max-width:20ch; font-weight:700; font-size:var(--txt-3); color:var(--color-text-inverse); }
.subhead-bgl{ font-size:var(--txt-1); color:var(--color-text-muted); }
.link--footer-vertical{
  line-height:1;
  display:flex;
}
.link--footer-vertical:hover{ color:var(--color-surface); }

/* ============================================
   PAGE-SPECIFIC LAYOUT
   ============================================ */



/* --- Buttons --- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  font-weight:700;
  font-size:var(--txt--1);
  padding:.75em 1.4em;
  border-radius:.4em;
  border:2px solid transparent;
  white-space:nowrap;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn-primary{
  background:var(--color-accent);
  color:var(--color-text-inverse);
}
.btn-primary:hover{ background:var(--color-accent-hover); }
.btn-outline{
  background:transparent;
  border-color:var(--color-primary);
  color:var(--color-primary);
}
.btn-outline:hover{ background:var(--color-primary-light); }
.btn-outline-light{
  background:transparent;
  border-color:var(--color-text-inverse-light);
  color:var(--color-text-inverse);
}
.btn-outline-light:hover{ background:rgba(255,255,255,.08); }
.btn-lg{ font-size:var(--txt-0); padding:.85em 1.8em; }

/* --- Hero --- */
.hero{
  background:var(--color-surface);
  border-bottom:1px solid var(--color-divider);
}
.hero-grid{
  display:grid;
  gap:var(--spc-l);
  align-items:center;
}
@media (min-width:900px){
  .hero-grid{ grid-template-columns: 1.1fr .9fr; }
}
.hero-copy{ display:flex; flex-direction:column; gap:var(--spc-xs); }
.hero-ctas{ display:flex; gap:var(--spc-2xs); flex-wrap:wrap; margin-top:var(--spc-2xs); }
.hero-image-ph{
  aspect-ratio:4/3;
  border-radius:var(--spc-xs);
}

/* --- Placeholder image block (swap for real <img> later) --- */
.img-ph{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:var(--spc-3xs);
  background:
    repeating-linear-gradient(45deg, var(--color-surface-offset) 0 10px, var(--color-surface) 10px 20px);
  border:1px dashed var(--color-border);
  border-radius:var(--spc-3xs);
  color:var(--color-text-faint);
  overflow:hidden;
}
.img-ph svg{ width:34%; max-width:56px; opacity:.55; }
.img-ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position:center;
}
.img-ph small{
  font-size:var(--txt--2);
  color:var(--color-text-muted);
  text-align:center;
  padding:0 var(--spc-2xs);
}

/* --- Category grid --- */
.category-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:var(--spc-s);
}
@media (max-width:900px){ .category-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .category-grid{ grid-template-columns:repeat(2,1fr); } }

.cat-card{
  padding:0;
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.cat-card:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 20px -8px rgba(30,58,95,.25);
}
.cat-card .img-ph{ aspect-ratio:4/3; border-radius:0; border:none; border-bottom:1px solid var(--color-border); }
.cat-card-label{
  padding:var(--spc-2xs) var(--spc-xs) var(--spc-xs);
  font-family:var(--font-display);
  font-weight:700;
  font-size:var(--txt--1);
}

/* --- Qualifier note (matches homepage "last 10 model years" style) --- */
.qualifier-note{
  background:var(--color-accent-light);
  border:1px solid var(--color-accent);
  border-radius:var(--spc-xs);
  padding:var(--spc-s);
  display:flex;
  gap:var(--spc-xs);
  align-items:flex-start;
}
.qualifier-note .icon-bgl{ background:var(--color-surface-2); color:var(--color-accent); }
.qualifier-note strong{ color:var(--color-accent-active); }

/* --- Final CTA band --- */
.cta-band{
  background:var(--color-primary);
  background-image:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-surface-2) 100%);
}
.cta-inner{
  display:flex;
  flex-wrap:wrap;
  gap:var(--spc-l);
  align-items:center;
  justify-content:space-between;
  text-align: center;
}
.cta-copy{ display:flex; flex-direction:column; gap:var(--spc-2xs); max-width:36ch;align-items:center; }
.cta-actions{ display:flex; flex-direction:column; gap:var(--spc-xs); }
.cta-actions .btn{ width:100%; }
.cta-phone{
  font-family:var(--font-display);
  font-weight:800;
  font-size:var(--txt-2);
  color:var(--color-text-inverse);
}/* End custom CSS */