
:root{
  --orange:#fa762b;--orange-d:#e0641c;--orange-l:#fff4ec;--orange-a:#a8440f;
  /* Text/border-safe orange: #fa762b is only 2.73:1 on white (fails WCAG AA 4.5:1) — used
     for BACKGROUNDS (paired with white text, fine) but never for orange text/borders/
     outlines on light surfaces. --orange-fg is the token for those; it's theme-aware
     (dark in light mode, back to vivid in dark mode where it reads fine on near-black). */
  --orange-fg:#a8440f;
  --ink:#0d0d0d;--ink-2:#1a1a1a;
  --text:#111111;--text-2:#3d3d3d;--muted:#616161;
  --line:#e8e8e8;--line-2:#f0f0f0;
  --bg:#ffffff;--bg-alt:#f7f7f7;--bg-band:#0d0d0d;
  --card:#ffffff;
  --red:#c62828;--green:#0f6b2c;
  --shadow-1:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --shadow-2:0 8px 24px rgba(0,0,0,.10);
  --r-btn:8px;--r-card:12px;--r-pill:999px;
  --f-display:'Space Grotesk','Inter',system-ui,sans-serif;
  --f-body:'Inter',system-ui,sans-serif;
  --eyebrow-tr:.08em;
  --nav-h:72px;
  /* gradient system */
  /* Every stop here must hold >=4.5:1 against the white button text (WCAG AA). The old
     lightest stop (#fa762b) only hit 2.73:1 — this shifts the whole ramp darker so even
     the brightest point (#c2530f, ~4.6:1) still passes, while staying the same brand hue. */
  --grad-cta:linear-gradient(135deg,#a8440f 0%,#c2530f 50%,#a8440f 100%);
  --grad-cta-hover:linear-gradient(135deg,#ff8c42 0%,#fa762b 50%,#c45012 100%);
  --grad-subtle:linear-gradient(180deg,rgba(250,118,43,.04) 0%,rgba(250,118,43,0) 100%);
  --grad-glow:radial-gradient(ellipse at 50% 0%,rgba(250,118,43,.15) 0%,transparent 70%);
  /* glow effects */
  --glow-card:0 4px 20px rgba(250,118,43,.08),0 0 0 1px rgba(250,118,43,.06);
  --glow-btn:0 0 20px rgba(250,118,43,.3),0 4px 12px rgba(250,118,43,.15);
  --glow-focus:0 0 0 3px rgba(250,118,43,.25);
  --glow-input:0 0 0 3px rgba(250,118,43,.12);
  /* glass system */
  --glass-nav:rgba(255,255,255,.78);
  --glass-blur:blur(20px) saturate(1.8);
  --glass-border:rgba(255,255,255,.2);
  /* animation tokens */
  --ease-out:cubic-bezier(.2,.7,.3,1);
  --ease-in-out:cubic-bezier(.4,0,.2,1);
  --transition-fast:.15s cubic-bezier(.2,.7,.3,1);
  --transition-normal:.3s cubic-bezier(.4,0,.2,1);
  --transition-slow:.6s cubic-bezier(.2,.7,.3,1);
  /* typography tokens */
  --ls-tight:-0.04em;--ls-heading:-0.025em;--ls-body:-0.011em;
  --fw-black:800;
}
[data-theme="dark"]{
  --ink:#f0f0f0;--ink-2:#e0e0e0;
  --text:#e0e0e0;--text-2:#a0a0a0;--muted:#707070;
  --line:#1e1e1e;--line-2:#181818;
  --bg:#0a0a0a;--bg-alt:#111111;--bg-band:#f0f0f0;
  --card:#141414;
  --orange-l:#1a1208;--orange-fg:#fa762b;
  --shadow-1:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);
  --shadow-2:0 8px 28px rgba(0,0,0,.5);
  /* gradients dark */
  --grad-subtle:linear-gradient(180deg,rgba(250,118,43,.06) 0%,rgba(250,118,43,0) 100%);
  --grad-glow:radial-gradient(ellipse at 50% 0%,rgba(250,118,43,.2) 0%,transparent 70%);
  /* glows intensified */
  --glow-card:0 4px 24px rgba(250,118,43,.12),0 0 0 1px rgba(250,118,43,.1);
  --glow-btn:0 0 24px rgba(250,118,43,.4),0 4px 16px rgba(250,118,43,.2);
  --glow-focus:0 0 0 3px rgba(250,118,43,.35);
  --glow-input:0 0 0 3px rgba(250,118,43,.18);
  /* glass dark */
  --glass-nav:rgba(10,10,10,.72);
  --glass-border:rgba(255,255,255,.06);
  color-scheme:dark;
}
/* Prevent FOUC: apply dark tokens via media query before JS sets data-theme */
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#f0f0f0;--ink-2:#e0e0e0;--text:#e0e0e0;--text-2:#a0a0a0;--muted:#707070;
  --line:#1e1e1e;--line-2:#181818;--bg:#0a0a0a;--bg-alt:#111111;--bg-band:#f0f0f0;
  --card:#141414;--orange-l:#1a1208;--orange-fg:#fa762b;
  --shadow-1:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);
  --shadow-2:0 8px 28px rgba(0,0,0,.5);
  --grad-subtle:linear-gradient(180deg,rgba(250,118,43,.06) 0%,rgba(250,118,43,0) 100%);
  --grad-glow:radial-gradient(ellipse at 50% 0%,rgba(250,118,43,.2) 0%,transparent 70%);
  --glow-card:0 4px 24px rgba(250,118,43,.12),0 0 0 1px rgba(250,118,43,.1);
  --glow-btn:0 0 24px rgba(250,118,43,.4),0 4px 16px rgba(250,118,43,.2);
  --glow-focus:0 0 0 3px rgba(250,118,43,.35);--glow-input:0 0 0 3px rgba(250,118,43,.18);
  --glass-nav:rgba(10,10,10,.72);--glass-border:rgba(255,255,255,.06);
  color-scheme:dark;
}}
*{margin:0;padding:0;box-sizing:border-box}
/* Any component using display:flex/grid must not fight the native [hidden] attribute —
   attribute and class selectors share specificity, so without this, a later author rule
   like .lf-form{display:flex} silently wins over [hidden]{display:none} and the element
   never actually disappears even though its DOM .hidden property reads true. Caught by
   Playwright (E2E: form + success message both visible at once), not by manual JS checks. */
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);color:var(--text);background:var(--bg);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink)}
h1{font-weight:var(--fw-black);line-height:1.02;letter-spacing:var(--ls-tight)}
h2{font-weight:700;line-height:1.08;letter-spacing:var(--ls-heading)}
h3{font-weight:600;line-height:1.3;letter-spacing:var(--ls-body)}
h4{font-weight:600;line-height:1.3;letter-spacing:var(--ls-body)}
.eyebrow{display:inline-block;font-family:var(--f-body);font-size:12px;font-weight:700;letter-spacing:var(--eyebrow-tr);text-transform:uppercase;color:var(--orange-a)}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 20px;border-radius:0 0 8px 0;z-index:99}
.skip-link:focus{left:0}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--glass-nav);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border)}
.nav-in{max-width:1240px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;gap:36px;min-height:var(--nav-h)}
.brand img{width:160px;height:52px;object-fit:contain}
.links{display:flex;gap:28px;margin-left:8px}
.links a{font-size:14.5px;font-weight:500;color:var(--text-2);padding:8px 0;position:relative}
.links a:hover,.links a.on{color:var(--ink)}
.links a.on::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:2px;background:var(--orange-a)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.tel-inline{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink)}
.tel-inline:hover{color:var(--orange-fg)}
.burger{display:none;min-height:44px;min-width:44px;color:var(--ink);align-items:center;justify-content:center}
.mobile-menu{display:none;flex-direction:column;padding:16px 22px 24px;gap:2px;border-top:1px solid var(--line-2);background:var(--bg)}
.mobile-menu a{padding:16px 0;font-size:16px;font-weight:500;border-bottom:1px solid var(--line-2);color:var(--ink);min-height:52px;display:flex;align-items:center;gap:10px}
.mobile-menu a.mm-call{color:var(--orange-fg);font-weight:700}
.mobile-menu a.btn{margin-top:16px;border:0;justify-content:center}
.mobile-menu a:last-child{border-bottom:0}
.mobile-menu[hidden]{display:none}
.mobile-menu.open{display:flex}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px;padding:14px 24px;border-radius:var(--r-btn);white-space:nowrap;transition:all var(--transition-fast);min-height:48px;letter-spacing:-.005em;touch-action:manipulation}
.btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px;box-shadow:var(--glow-focus)}
.btn-primary{background:var(--grad-cta);color:#fff;background-size:200% 200%;background-position:0% 50%}
.btn-primary:hover{background-position:100% 50%;box-shadow:var(--glow-btn)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000}
.btn-ghost{background:var(--bg);color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-sm{padding:10px 18px;min-height:44px;font-size:14px}

/* mobile sticky CTA bar */
.mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--bg);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -6px 20px rgba(0,0,0,.06)}
.mcta{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 4px;border-radius:10px;color:#fff;font-size:11.5px;font-weight:600;min-height:56px;text-decoration:none;transition:transform var(--transition-fast)}
.mcta:active{transform:scale(.96)}
.mcta span{line-height:1}
.mcta.call{background:#111}
.mcta.wa{background:#0a7d57}
.mcta.apply{background:var(--orange-a)}

/* hero */
.hero{padding:80px 32px 60px;text-align:left;background:var(--bg);position:relative;overflow:hidden}
.hero-in{max-width:1240px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .95fr;gap:60px;align-items:center}
.hero-copy{max-width:640px}
.hero-visual{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--bg-alt);box-shadow:0 30px 80px rgba(0,0,0,.12)}
.hero-visual img{width:100%;height:100%;object-fit:cover}
.hero-visual .hv-badge{position:absolute;top:20px;left:20px;background:var(--orange-a);color:#fff;padding:8px 16px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 6px 20px rgba(192,79,19,.35)}
.hero-visual .hv-caption{position:absolute;bottom:20px;left:20px;right:20px;background:rgba(13,13,13,.85);backdrop-filter:blur(8px);color:#fff;padding:14px 18px;border-radius:12px}
.hero-visual .hv-caption .hv-t{font-family:var(--f-display);font-weight:700;font-size:17px;letter-spacing:-.01em;margin-bottom:2px}
.hero-visual .hv-caption .hv-s{font-size:12.5px;color:#c9ccd2}
.hero h1{font-size:clamp(38px,5.5vw,68px);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);margin:14px 0 22px;line-height:1.02}
.hero h1 em{font-style:normal;color:var(--orange-a)}
.hero p.sub{font-size:19px;color:var(--text-2);max-width:560px;margin-bottom:36px;line-height:1.5}
.hero-search{max-width:660px;position:relative;margin-bottom:20px}
.hero-search input{width:100%;padding:20px 132px 20px 60px;font-size:16px;font-family:inherit;border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--bg);outline:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-1);min-height:56px}
.hero-search input:focus{border-color:var(--orange-fg);box-shadow:var(--glow-input)}
.hero-search svg.sr{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--muted)}
.hero-search button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--orange-a);color:#fff;padding:12px 26px;border-radius:var(--r-pill);font-weight:700;font-size:14.5px;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.hero-search button:hover{background:#a3410f}
.trust-strip{display:flex;flex-wrap:wrap;gap:22px 30px;align-items:center;color:var(--text-2);font-size:14px}
.trust-strip .tst{display:inline-flex;align-items:center;gap:8px}
.trust-strip .tst svg{color:var(--orange-fg)}
.tst-rating{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}
.tst-rating .stars{display:inline-flex;gap:1px;color:var(--orange-fg)}

/* quick chips */
.qchips{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--bg-alt);padding:22px 32px}
.qchips-in{max-width:1240px;margin:0 auto;display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.qchips-in::-webkit-scrollbar{display:none}
.qchip{flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1.5px solid var(--line);background:var(--bg);border-radius:var(--r-pill);font-size:14px;font-weight:500;color:var(--ink);transition:.15s;min-height:44px;text-decoration:none;cursor:pointer}
.qchip:hover{border-color:var(--ink)}
.qchip svg{color:var(--muted)}

/* sections */
section{padding:100px 32px}
.sec-head{max-width:1240px;margin:0 auto 56px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(30px,4vw,44px);font-weight:700;letter-spacing:-.025em;margin-top:8px}
.sec-head .sec-meta{color:var(--muted);font-size:14px;font-weight:500;max-width:360px}
.sec-meta a{display:inline-block;padding:14px 0;margin:-14px 0}

/* inventory */
#inventory{padding-top:88px;padding-bottom:60px}
.filters{max-width:1240px;margin:0 auto 40px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.filter-chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{padding:11px 20px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--bg);font-size:13.5px;font-weight:600;color:var(--text-2);transition:.15s;min-height:44px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;touch-action:manipulation}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip.on .count{background:rgba(255,255,255,.2);color:#fff}
.chip .count{background:var(--line-2);color:#595959;font-size:11.5px;padding:3px 8px;border-radius:var(--r-pill);margin-left:2px;font-weight:700}
.sort-box{font-size:13.5px;color:var(--muted);display:inline-flex;align-items:center;gap:8px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:28px;max-width:1240px;margin:0 auto}
.grid-heading{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text-2);padding:6px 2px;margin-top:6px;border-top:1px solid var(--line)}
.grid-heading:first-child{border-top:none;margin-top:0;padding-top:0}
.grid-heading[data-group="available"]{color:var(--ok)}
.card{background:var(--bg);border-radius:var(--r-card);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-fast);position:relative;display:flex;flex-direction:column;border:1px solid transparent}
.card:hover{transform:translateY(-3px);box-shadow:var(--glow-card);border-color:var(--line-2)}
.card .ph{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--bg-alt);border-radius:var(--r-card)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}
.card:hover .ph img{transform:scale(1.03)}
.badges{position:absolute;top:14px;left:14px;display:flex;gap:6px;z-index:2}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--r-pill);font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;background:var(--bg);color:var(--ink);box-shadow:var(--shadow-1)}
.badge-accent{background:var(--orange-a);color:#fff}
.badge-verified{background:var(--bg);color:#0f6b2c;border:1px solid rgba(15,107,44,.4);font-weight:700}
.ribbon{position:absolute;top:22px;right:-46px;transform:rotate(35deg);background:var(--red);color:#fff;font-family:var(--f-display);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:7px 0;width:180px;text-align:center;z-index:3;box-shadow:0 4px 12px rgba(198,40,40,.35)}
.card.sold .ph img{filter:grayscale(.5) brightness(.9);opacity:.85}
.card.sold h3{color:var(--muted)}
.card .body{padding:18px 4px 4px;display:flex;flex-direction:column;gap:6px}
.card h3{font-family:var(--f-body);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.card .trim{font-size:13.5px;color:var(--muted);font-weight:500}
.card .meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-2);margin-top:6px;flex-wrap:wrap}
.card .meta span{display:inline-flex;align-items:center;gap:5px}
.card .meta svg{color:var(--muted)}
.card .footer-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2)}
.card .call-out{font-size:12.5px;color:var(--muted);font-weight:500}
.card .cta{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:600;color:var(--ink)}
.card:hover .cta{color:var(--orange-fg)}

/* services */
#services{background:var(--bg-alt);padding-top:110px}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);max-width:1240px;margin:0 auto;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.svc{background:var(--bg);padding:38px 32px;transition:background var(--transition-fast)}
.svc:hover{background:var(--bg-alt)}
.svc .icw{width:44px;height:44px;color:var(--ink);margin-bottom:20px}
.svc h3{font-family:var(--f-body);font-size:17px;font-weight:700;margin-bottom:10px;letter-spacing:-.01em}
.svc p{font-size:14.5px;color:var(--text-2);line-height:1.55}

/* trust "Hunt Way" band */
#trust{background:var(--bg);padding:110px 32px}
.trust-wrap{max-width:1080px;margin:0 auto}
.trust-head{text-align:center;margin-bottom:48px}
.trust-head h2{font-size:clamp(30px,4vw,44px);margin-top:8px}
.trust-head p{color:var(--muted);max-width:520px;margin:16px auto 0;font-size:16px}
.compare-table{border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--bg);width:100%;border-collapse:separate;border-spacing:0;text-align:left}
.compare-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;border-bottom:1px solid var(--line-2)}
.compare-row:last-child{border-bottom:0}
.compare-row th,.compare-row td{padding:22px 26px;font-size:14.5px;line-height:1.5;display:flex;align-items:center;gap:10px;font-weight:500}
.compare-row.head{background:var(--bg-alt)}
.compare-row.head th{font-family:var(--f-display);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center}
.compare-row th{font-weight:600;color:var(--ink)}
.compare-row .col-mid{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
.compare-row .col-ours{color:var(--ink);font-weight:500}
.compare-row .col-ours svg{color:var(--orange-a);flex:none}

/* testimonials */
#reviews{background:var(--bg-alt);padding:100px 32px}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1240px;margin:0 auto}
.rev-live-sec{padding:64px 22px;background:var(--bg-alt);border-top:1px solid var(--line)}
.rev-live-head{max-width:1240px;margin:0 auto;text-align:center}
.rev-live-head .eyebrow{color:var(--orange-a)}
.rev-live-head h2{font-family:var(--f-display);font-size:clamp(24px,3.4vw,34px);font-weight:700;letter-spacing:-.02em;margin:8px 0 12px}
.rev-live-badge{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text)}
.rev-live-badge .stars{display:inline-flex;gap:1px}
.rev-live{min-height:420px}
.rev-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid var(--line);border-radius:999px;background:var(--bg);text-decoration:none;color:var(--text);font-size:14px;box-shadow:0 2px 10px rgba(0,0,0,.04);transition:border-color .2s,transform .2s}
.rev-badge:hover{border-color:var(--orange-a);transform:translateY(-1px)}
.rev-badge .stars{display:inline-flex;gap:1px}
.rev-badge-txt{display:inline-flex;align-items:center;gap:6px}
/* lead forms */
.leadform{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;max-width:720px;margin:28px auto 0;box-shadow:0 10px 40px rgba(0,0,0,.05)}
.lf-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}
.lf-head h3{font-family:var(--f-display);font-size:20px;font-weight:700;letter-spacing:-.01em}
.lf-head p{color:var(--muted);font-size:14px;margin-top:2px}
.lf-form{display:flex;flex-direction:column;gap:13px}
.lf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.lf-form label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted)}
.lf-form label span em{color:var(--muted);font-weight:400;font-style:normal}
.lf-form input,.lf-form select,.lf-form textarea{padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit;background:var(--bg);width:100%}
.lf-form input:focus,.lf-form select:focus,.lf-form textarea:focus{outline:2px solid var(--orange);border-color:var(--orange-fg)}
.lf-consent{flex-direction:row!important;align-items:center;gap:9px!important;font-size:12.5px;color:var(--muted);font-weight:500!important}
.lf-consent input{width:auto;min-width:18px;min-height:18px}
.lf-form .btn{align-self:flex-start;margin-top:4px}
.lf-ok{text-align:center;padding:26px 10px}
.lf-ok h3{font-family:var(--f-display);font-size:20px;margin:10px 0 6px}
.lf-ok p{color:var(--muted);font-size:14px;max-width:420px;margin:0 auto}
.lf-ok a{color:var(--orange-a);font-weight:600}
.lf-err{text-align:center;padding:26px 10px}
.lf-err h3{font-family:var(--f-display);font-size:20px;margin:10px 0 6px}
.lf-err p{color:var(--muted);font-size:14px;max-width:420px;margin:0 auto 14px}
.lf-err a{color:var(--orange-a);font-weight:600}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
[data-theme="dark"] .btn-outline{color:var(--text);border-color:var(--line)}
/* trade-in uploader */
.ti-upload{border:2px dashed var(--line);border-radius:12px;padding:22px;text-align:center;cursor:pointer;transition:border-color .2s;background:var(--bg-alt)}
.ti-upload:hover{border-color:var(--orange-fg)}
.ti-upload input{display:none}
.ti-upload .tu-ic{color:var(--orange-a);margin-bottom:6px}
.ti-upload p{color:var(--muted);font-size:13px}
.ti-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:12px}
.ti-thumbs .tt{position:relative;aspect-ratio:1;border-radius:9px;overflow:hidden;border:1px solid var(--line)}
.ti-thumbs .tt img{width:100%;height:100%;object-fit:cover}
.ti-thumbs .tt.up{opacity:.55}
@media (max-width:560px){.lf-row{grid-template-columns:1fr}}
/* trade-in page */
.ti-hero{background:linear-gradient(180deg,#0d0d0d,#1a1a1a);color:#fff;padding:64px 22px 48px;text-align:center}
.ti-hero-in{max-width:760px;margin:0 auto}
.ti-hero .eyebrow{color:var(--orange-fg)}
.ti-hero h1{font-family:var(--f-display);font-size:clamp(32px,6vw,52px);font-weight:700;letter-spacing:-.03em;margin:10px 0 16px}
.ti-hero h1 em{font-style:normal;color:var(--orange-fg)}
.ti-hero p{color:#c9ccd2;font-size:clamp(15px,2vw,18px);line-height:1.6;max-width:620px;margin:0 auto}
.ti-hero p strong{color:#fff}
.ti-trust{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin-top:20px;color:#e6e8eb;font-size:13px;font-weight:500}
.ti-wrap{padding:0 22px;margin-top:-28px;position:relative;z-index:2}
.lf-upload-label{margin-bottom:-4px}
.ti-how{padding:60px 22px;background:var(--bg-alt);border-top:1px solid var(--line)}
.ti-how-in{max-width:1000px;margin:0 auto}
.ti-how h2{font-family:var(--f-display);font-size:26px;text-align:center;margin-bottom:26px}
.ti-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ti-step{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:24px;text-align:center}
.ti-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--orange-a);color:#fff;font-family:var(--f-display);font-weight:700;font-size:18px;margin-bottom:12px}
.ti-step h3{font-size:16px;margin-bottom:6px}
.ti-step p{color:var(--muted);font-size:14px}
.ti-note{color:var(--muted);font-size:13px;margin-top:4px}
@media (max-width:640px){.ti-steps{grid-template-columns:1fr}}
.rev-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card);padding:32px 28px}
.rev-card .qic{color:var(--orange-fg);margin-bottom:18px}
.rev-card p{font-size:15.5px;color:var(--text-2);line-height:1.55;margin-bottom:18px}
.rev-card .rev-stars{color:var(--orange-fg);display:inline-flex;gap:2px;margin-bottom:10px}
.rev-card .rev-name{font-size:13.5px;font-weight:600;color:var(--ink)}
.rev-card .rev-src{font-size:12px;color:var(--muted);margin-top:2px}

/* faq */
#faq{background:var(--bg);padding:100px 32px}
.cov-table{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:6px}
.cov-table th{text-align:left;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 14px 9px 0;border-bottom:2px solid var(--line)}
.cov-table td{padding:10px 14px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.cov-table tbody tr:hover{background:var(--bg-alt)}
.cov-table td:nth-child(2),.cov-table td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}
.cov-table td:last-child{color:var(--muted);font-size:13.5px}
@media(max-width:640px){.cov-table{font-size:13px}.cov-table td:last-child,.cov-table th:last-child{display:none}}
.vdesc{padding:52px 0}
.vdesc h2{font-size:24px;margin:0 0 14px}
.vdesc p{margin:0 0 14px;line-height:1.7;max-width:68ch}
.vfaq p{max-width:68ch}
/* Collapsed, a question is one line, so ten of them stacked is 530px of
   nothing. align-items:start keeps an opened answer from stretching the
   question beside it. */
.vfaq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.vfaq-grid .vfaq{margin-top:0 !important}
.ai-note{font-size:13px;color:var(--muted);border-left:3px solid var(--line);padding-left:14px;margin-top:20px!important}
.ai-note svg{vertical-align:-2px;margin-right:4px}
.faq-wrap{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line);padding:22px 0}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--f-body);font-size:17px;font-weight:600;color:var(--ink);padding:0;min-height:44px;line-height:1.3}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary svg{color:var(--muted);flex:none;transition:.2s}
.faq-item[open] summary svg{transform:rotate(180deg);color:var(--orange-fg)}
.faq-item .faq-body{padding:16px 0 4px;color:var(--text-2);font-size:15.5px;line-height:1.6;max-width:720px}

/* financing band */
.finband{background:var(--bg-band);color:#fff;text-align:center;padding:92px 32px}
.finband h2{font-size:clamp(30px,4vw,46px);font-weight:700;letter-spacing:-.025em;color:#fff;margin-bottom:14px;max-width:640px;margin-left:auto;margin-right:auto}
.finband h2 em{font-style:normal;color:var(--orange-fg)}
.finband p{color:#a0a3a8;max-width:520px;margin:0 auto 32px;font-size:16.5px}

/* contact */
#contact{background:var(--bg-alt);padding:100px 32px}
.c-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto}
.c-card{background:var(--bg);border-radius:var(--r-card);padding:34px 28px;text-align:left;transition:.2s;border:1px solid transparent}
.c-card:hover{border-color:var(--line);box-shadow:var(--shadow-1)}
.c-card .icw{width:40px;height:40px;color:var(--ink);margin-bottom:18px}
.c-card h3{font-family:var(--f-body);font-size:15px;font-weight:700;margin-bottom:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.c-card a.big{font-family:var(--f-display);font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.015em;display:block;padding:5px 0;margin:-5px 0 1px}
.c-card a.big:hover{color:var(--orange-fg)}
.c-card p{font-size:13.5px;color:var(--muted)}

/* vehicle detail (VDP) */
/* Every block on this page lines up on --page-w and --gutter. Two patterns use
   them: a section that pads itself and centres an inner div (.vhead/.gallery/
   .vtools), and a single element that is both (.vbody) - which needs the gutter
   added to its max-width, or its content lands inboard of everything else. */
/* One centred column. 800px keeps the hero photo at 800x500 - the size it
   had when it was centred in a 1240 container - while every block on the
   page now shares the same centre line and the same air either side. */
:root{--page-w:800px;--gutter:32px}
.vhead{padding:32px var(--gutter) 0}
.vhead-in{max-width:var(--page-w);margin:0 auto}
.crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-bottom:16px;flex-wrap:wrap}
.crumbs a:hover{color:var(--orange-fg)}
.crumbs svg{opacity:.6}
.vtitle-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.vhead h1{font-family:var(--f-display);font-size:clamp(28px,4vw,44px);font-weight:700;letter-spacing:-.02em}
.vstatus{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--r-pill);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.vstatus-avail{background:rgba(250,118,43,.12);color:var(--orange-a)}
[data-theme="dark"] .vstatus-avail{color:var(--orange-fg)}
.vstatus-sold{background:rgba(198,40,40,.1);color:var(--red)}

.gallery{padding:0 var(--gutter)}
.gal-in{max-width:var(--page-w);margin:0 auto}
.gal-main{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/10;max-height:min(56vh,520px);margin:0 auto;background:var(--bg-alt);box-shadow:0 18px 50px rgba(0,0,0,.12)}
.gal-main img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.gal-zoom{min-width:44px;min-height:44px;position:absolute;bottom:14px;right:14px;width:40px;height:40px;border:0;border-radius:11px;background:rgba(13,13,13,.58);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.gal-zoom:hover{background:rgba(13,13,13,.8)}
.gal-counter{position:absolute;bottom:14px;left:14px;background:rgba(13,13,13,.58);backdrop-filter:blur(6px);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.02em;padding:6px 12px;border-radius:999px}
.gal-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;max-width:100%;margin-left:auto;margin-right:auto}
.gal-thumbs::-webkit-scrollbar{height:6px}
.gal-thumbs::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:999px}
.gal-thumbs button{flex:0 0 auto;width:96px;height:66px;border:0;border-radius:10px;overflow:hidden;padding:0;background:none;cursor:pointer;scroll-snap-align:start;outline:2px solid transparent;outline-offset:-2px;transition:outline-color .15s}
.gal-thumbs button.on{outline-color:var(--orange-fg)}
.gal-thumbs img{width:100%;height:100%;object-fit:cover}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.93);display:flex;align-items:center;justify-content:center;animation:lbin .2s ease}
@keyframes lbin{from{opacity:0}to{opacity:1}}
.lightbox[hidden]{display:none}
.lb-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-btn{position:absolute;background:rgba(255,255,255,.13);border:0;color:#fff;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-btn:hover{background:rgba(255,255,255,.26)}
.lb-close{top:20px;right:20px}
.lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.lb-next{right:16px;top:50%;transform:translateY(-50%)}
.lb-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:600;background:rgba(255,255,255,.13);padding:6px 14px;border-radius:999px}

.vbody{display:flex;flex-direction:column;gap:8px;max-width:calc(var(--page-w) + var(--gutter)*2);margin:0 auto;padding:40px var(--gutter) 100px}
.vfeat h2{font-family:var(--f-display);font-size:24px;font-weight:700;margin-bottom:20px;letter-spacing:-.015em}
.vfeat ul{list-style:none;display:grid;gap:12px;margin-bottom:36px}
.vfeat li{display:flex;align-items:flex-start;gap:12px;font-size:15.5px;color:var(--text-2);line-height:1.45}
.vfeat li svg{color:var(--orange-fg);flex:none;margin-top:3px}
/* Three across: 19 pairs over 7 rows instead of 10, which is 206px of page. */
.vspec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 22px;margin:24px 0 36px;border-top:1px solid var(--line);padding-top:24px}
/* Seventeen short bullets in a single column cost most of a phone screen for
   no reason - each line used barely half its width. Two columns everywhere,
   and the items are short enough that they still do not wrap. */
.vfeat>ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding-left:0;list-style:none}
.vfeat>ul li{display:flex;align-items:flex-start;gap:7px;font-size:14.5px;line-height:1.45}
.vfeat>ul li svg{flex:0 0 auto;margin-top:2px}
/* The factory spec sheet folds away. Same affordance as the FAQ below it, so
   the page reads as one pattern rather than two. */
.spec-fold,.calc-fold,.cat-fold{border:1px solid var(--line);border-radius:12px;margin:14px 0 34px;overflow:hidden}
.cat-fold{margin:16px 0 8px}
.cat-fold>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:14px 16px;font-weight:600;font-size:14.5px;min-height:48px;box-sizing:border-box;list-style:none}
.cat-fold>summary::-webkit-details-marker{display:none}
.cat-fold>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;opacity:.55}
.cat-fold[open]>summary::after{transform:rotate(-135deg)}
.cat-fold>summary:hover{background:var(--soft,rgba(0,0,0,.03))}
.cat-fold .blog-grid{padding:0 14px 16px}
/* Sits inside the card grid, so it spans the row instead of pretending to be a card. */
.grid-more{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:1px dashed var(--line);border-radius:14px;font-weight:600;font-size:15px}
.grid-more:hover{background:var(--soft,rgba(0,0,0,.03))}
@media(prefers-reduced-motion:reduce){.cat-fold>summary::after{transition:none}}
.calc-fold{background:var(--card,transparent);margin:0 0 22px}
.calc-fold .calc{border:0;margin:0;border-radius:0}
.calc-fold .calc-head{display:none}
.spec-fold>summary,.calc-fold>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:14px 16px;font-weight:600;font-size:14.5px;min-height:48px;box-sizing:border-box;list-style:none}
.spec-fold>summary::-webkit-details-marker,.calc-fold>summary::-webkit-details-marker{display:none}
.spec-fold>summary::after,.calc-fold>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;opacity:.55}
.spec-fold[open]>summary::after,.calc-fold[open]>summary::after{transform:rotate(-135deg)}
.spec-fold>summary:hover,.calc-fold>summary:hover{background:var(--soft,rgba(0,0,0,.03))}
.spec-fold .vspec-table-wrap{margin:0;border-top:1px solid var(--line)}
@media(prefers-reduced-motion:reduce){.spec-fold>summary::after,.calc-fold>summary::after{transition:none}}
/* Only the narrowest phones fall back to one column; 390px keeps two. */
@media(max-width:349px){.vfeat>ul{grid-template-columns:1fr}}
/* The missing middle between "call us" and a credit application. Sits after the
   content so it never pushes the article down. */
.quicklead{border-top:1px solid var(--line);margin-top:44px;padding:34px 22px 8px}
.ql-in{max-width:820px;margin:0 auto}
.ql-copy{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}
.ql-copy h2{font-size:20px;margin:0 0 5px;letter-spacing:-.01em}
.ql-copy p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}
.ql-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.ql-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.ql-form label:nth-of-type(3){grid-column:1/-1}
.ql-form label em{font-weight:400;color:var(--muted);font-style:normal}
.ql-form input{min-height:46px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;font-size:16px;background:var(--bg);color:var(--ink)}
.ql-form input:focus{outline:2px solid var(--orange-a);outline-offset:1px}
.ql-form .btn{grid-column:1/-1;min-height:48px;justify-content:center}
.ql-fine{grid-column:1/-1;margin:0;font-size:12.5px;color:var(--muted)}
.ql-ok,.ql-err{display:flex;gap:10px;align-items:center;padding:16px 18px;border-radius:12px;border:1px solid var(--line)}
.ql-ok p,.ql-err p{margin:0;font-size:14.5px;line-height:1.5}
@media(max-width:640px){.ql-form{grid-template-columns:1fr}.quicklead{padding:28px 18px 8px}}
.answer-box{background:var(--soft,rgba(0,0,0,.035));border-left:3px solid var(--brand,#c62828);border-radius:0 10px 10px 0;padding:14px 18px;margin:16px 0 10px}
.answer-box p{margin:0;font-size:15.5px;line-height:1.65}
[data-theme=dark] .answer-box{background:rgba(255,255,255,.05)}
.last-updated{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--muted)}
.vspec-table-wrap{overflow-x:auto;margin:20px 0 36px}
.vspec-table{width:100%;border-collapse:collapse;font-size:14px}
.vspec-table th,.vspec-table td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.vspec-table th{font-weight:600;color:var(--muted);width:44%;white-space:nowrap}
.author-box{display:flex;gap:16px;align-items:flex-start;margin:36px 0 8px;padding:18px 20px;border:1px solid var(--line);border-radius:14px}
.author-box img{border-radius:50%;flex:0 0 auto}
.author-box .ab-name{margin:0 0 6px;font-weight:700;font-size:14.5px}
.author-box .ab-bio{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--muted)}
.author-box .ab-meta{margin:0;font-size:12.5px;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.author-box{flex-direction:column;gap:12px}.vspec-table th{width:50%;white-space:normal}}
.vspec div{font-size:14px;color:var(--text-2)}
.vspec .lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-weight:600}
.vspec .val{font-weight:600;color:var(--ink);font-size:15px}
/* No rail to stick to in a single column: the card sits under the photo,
   which is where a buyer looks next anyway. */
.vcta{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card);padding:32px;margin-bottom:8px}
.vcta .status-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--orange-fg);margin-bottom:10px}
.vcta h3{font-family:var(--f-display);font-size:22px;font-weight:700;margin-bottom:8px;letter-spacing:-.015em}
.vcta p{font-size:14.5px;color:var(--text-2);margin-bottom:22px;line-height:1.55}
.vcta .btn{width:100%;margin-bottom:10px}
.vcta .btn:last-child{margin-bottom:0}
.soldnote{background:rgba(198,40,40,.06);border:1px solid rgba(198,40,40,.2);border-radius:var(--r-card);padding:16px 18px;font-size:14px;color:var(--text-2);margin-bottom:18px;line-height:1.5}
.soldnote b{color:var(--red)}

/* financing page */
.fin-hero{padding:100px 32px 60px;background:var(--bg)}
.fin-hero-in{max-width:900px;margin:0 auto;text-align:center}
.fin-hero h1{font-size:clamp(44px,6.5vw,72px);font-weight:700;letter-spacing:-.03em;margin:14px 0 20px}
.fin-hero h1 em{font-style:normal;color:var(--orange-fg)}
.fin-hero p.sub{font-size:19px;color:var(--text-2);max-width:600px;margin:0 auto 32px}
.fin-hero .ctas{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}
.steps{padding:100px 32px;background:var(--bg-alt)}
.steps-in{max-width:1080px;margin:0 auto}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.step{background:var(--bg);border-radius:var(--r-card);padding:36px 30px;border:1px solid transparent;transition:.2s;position:relative}
.step:hover{border-color:var(--line)}
.step .n{font-family:var(--f-display);font-size:52px;font-weight:700;color:var(--orange-fg);line-height:1;margin-bottom:16px;opacity:.6}
.step h3{font-family:var(--f-body);font-size:19px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}
.step p{font-size:14.5px;color:var(--text-2);line-height:1.55}

/* service area */
.sa-hero{padding:80px 32px 44px;background:var(--bg)}
.sa-hero-in{max-width:900px;margin:0 auto}
.sa-hero h1{font-size:clamp(34px,5vw,52px);font-weight:700;letter-spacing:-.025em;margin:12px 0 16px}
.sa-hero h1 em{font-style:normal;color:var(--orange-fg)}
.sa-hero p{color:var(--text-2);font-size:17px;max-width:640px;line-height:1.55}
.sa-list{padding:60px 32px 100px;background:var(--bg-alt)}
.sa-list-in{max-width:1080px;margin:0 auto}
.sa-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:32px}
.sa-card{background:var(--bg);padding:24px 26px;border-radius:var(--r-card);border:1px solid transparent;transition:.2s;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:80px}
.sa-card:hover{border-color:var(--line);box-shadow:var(--shadow-1)}
.sa-card h3{font-family:var(--f-body);font-size:15px;font-weight:700;margin-bottom:3px}
.sa-card p{font-size:12.5px;color:var(--muted)}
.sa-card svg{color:var(--muted);flex:none}
.sa-card:hover svg{color:var(--orange-fg)}
.sa-nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:18px}
.sa-nearby-link{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;font-weight:600;color:var(--text);transition:.15s}
.sa-nearby-link:hover{border-color:var(--orange-fg);color:var(--orange-fg)}
.sa-nearby-link svg{color:var(--muted);flex:none}
.sa-nearby-link span{margin-left:auto;font-weight:500;color:var(--muted);font-size:12px}

/* legal */
.legal{max-width:820px;margin:0 auto;padding:64px 32px 100px}
.legal h1{font-size:clamp(32px,4vw,44px);font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.legal .upd{font-size:13.5px;color:var(--muted);margin-bottom:36px;display:block}
.legal h2{font-family:var(--f-body);font-size:19px;font-weight:700;margin:36px 0 12px;letter-spacing:-.005em}
.legal p,.legal li{font-size:15.5px;color:var(--text-2);margin-bottom:12px;line-height:1.6}
.legal ul{padding-left:22px}
.legal .hl{background:rgba(250,118,43,.06);border:1px solid rgba(250,118,43,.25);border-radius:var(--r-card);padding:22px 24px;font-weight:500;color:var(--ink);line-height:1.5}

/* AEO answer box (speakable target) */
.answer-box{background:var(--orange-l);border:1px solid rgba(250,118,43,.28);border-radius:var(--r-card);padding:20px 24px;font-size:17px;line-height:1.6;color:var(--ink)}
.answer-box strong{color:var(--orange-a);font-weight:700}

/* footer */
.foot{background:var(--ink);color:#fff}
/* The footer is dark in both themes, so its accent cannot follow the theme
   variable - the light-theme orange measured 3.23:1 against it. */
.foot-areas-link{color:#fa762b;margin-top:6px;display:inline-flex;align-items:center;gap:4px;min-height:44px}
.foot-in{max-width:1240px;margin:0 auto;padding:72px 32px 0}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr 1fr;gap:44px;padding-bottom:48px}
.fb-brand img{margin-bottom:16px;filter:brightness(0) invert(1)}
.fb-brand p{font-size:13.5px;color:#a0a3a8;max-width:280px;margin-bottom:20px}
.foot-col h3{font-family:var(--f-body);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9498a0;margin-bottom:16px}
.foot-col a,.foot-col span{display:block;font-size:14px;color:#c9ccd2;line-height:1.4}
.foot-col a{padding:11px 0;margin:-11px 0;min-height:44px;display:flex;align-items:center}
.foot-col span{margin-bottom:10px}
.foot-col a:hover{color:var(--orange-fg)}
.socials{display:flex;gap:8px;margin-top:2px;flex-wrap:wrap}
.socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;border:1px solid #26282d;color:#c9ccd2;margin:0}
.socials a:hover{border-color:var(--orange-fg);color:var(--orange-fg)}
.foot-base{border-top:1px solid #26282d;padding:22px 0 28px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.foot-base p{font-size:12px;color:#9498a0;line-height:1.5;max-width:640px}
.foot-base a{color:#c9ccd2;font-weight:600}
.foot-base a:hover{color:var(--orange-fg)}
.shaart-credit{text-align:center;font-size:11.5px;color:#8a8a8a;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);padding-bottom:22px}
.shaart-credit a{color:#8a8a8a;text-decoration:none;font-weight:500}
.shaart-credit a:hover{color:var(--orange-fg)}

/* service area band (above footer) */
.sa-band{background:var(--bg-alt);border-top:1px solid var(--line);padding:56px 32px}
.sa-band-in{max-width:1200px;margin:0 auto;text-align:center}
.sa-band h2{font-size:18px;font-weight:700;margin-bottom:28px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text)}
.sa-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 32px;text-align:left;margin-bottom:24px}
/* Thirty-seven city links, one per town we serve, and every one of them a real
   destination rather than prose. They were 28px tall on the home page and 18px
   in the auction footer list - the largest single group of undersized taps on
   the site, on pages where most of the traffic is a thumb. */
.sa-col a,.foot-areas a{display:flex;align-items:center;min-height:44px;font-size:13.5px;color:var(--text-2);line-height:1.4;text-decoration:none}
/* The auction page lists the same towns inside a coverage table, where the
   links were 18px - the smallest taps on the site. */
.cov-table a{display:flex;align-items:center;min-height:44px}
.cov-table td,.cov-table th{padding-top:2px;padding-bottom:2px}
/* Last of the undersized taps, all of them real controls. The blog filter chips
   were one pixel short of the minimum; the author social icons and the apply
   page back/call links were never sized at all. */
.bp-author a,.bp-author-in a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.apply-back,.apply-phone{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.sa-col a:hover{color:var(--orange-fg)}
@media(max-width:820px){.sa-band-grid{grid-template-columns:repeat(3,1fr);gap:4px 24px}}
@media(max-width:640px){.sa-band{padding:40px 20px}.sa-band-grid{grid-template-columns:repeat(2,1fr);gap:2px 16px}.sa-col a{font-size:13px;min-height:44px}}

/* cookie */
.cookie{position:fixed;right:18px;bottom:18px;z-index:100;background:#0d0d0d;color:#fff;border:1px solid #26282d;border-radius:var(--r-card);box-shadow:0 20px 50px rgba(0,0,0,.35);padding:18px 22px;display:flex;align-items:center;gap:18px;max-width:460px;animation:ck-fadein .35s ease-out}
@keyframes ck-fadein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cookie p{font-size:13.5px;color:#c9ccd2;line-height:1.45}
.cookie a{color:var(--orange);font-weight:600;text-decoration:underline}
.ck-btns{display:flex;gap:8px;margin-left:auto;flex:none}
.ck-accept,.ck-reject{border:0;border-radius:var(--r-btn);font-weight:600;font-size:13px;padding:11px 18px;min-height:44px;cursor:pointer;font-family:inherit}
.ck-accept{background:var(--orange-a);color:#fff}
.ck-accept:hover{background:#a3410f}
.ck-reject{background:transparent;color:#c9ccd2;border:1px solid #3a3d43}
.ck-reject:hover{border-color:#c9ccd2;color:#fff}

.reveal{opacity:0;transform:translateY(20px);transition:.6s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}
.card,.card .ph img{transition:none!important}}

/* ==========================================================
   AREA MOVIL / TABLET - all @media grouped
   Desktop base above. Responsive below.
   90% de trafico es MOBILE — cuidamos todos los detalles.
   ========================================================== */
@media (max-width:1024px){
  .vbody{gap:8px}
  .foot-grid{grid-template-columns:1fr 1fr 1fr;gap:36px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .rev-grid,.c-grid,.steps-grid{grid-template-columns:1fr 1fr}
  .hero-in{grid-template-columns:1fr;gap:48px}
  .hero-visual{max-width:520px;margin:0 auto;aspect-ratio:16/12}
}
@media (max-width:820px){
  .links,.tel-inline,.nav-right .btn{display:none}
  .burger{display:inline-flex}
  .compare-row{grid-template-columns:1fr}
  .compare-row div{padding:16px 22px}
  .compare-row.head div{padding:10px 22px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
  .rev-grid,.c-grid,.steps-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--nav-h:64px}
  section{padding:64px 20px}
  .hero{padding:56px 20px 44px}
  .hero h1{font-size:clamp(38px,10vw,52px);line-height:1.05}
  .hero p.sub{font-size:16.5px;margin-bottom:28px}
  .hero-search input{padding:16px 108px 16px 50px;font-size:15px;min-height:52px}
  .hero-search svg.sr{left:18px}
  .hero-search button{padding:10px 18px;font-size:13.5px}
  .trust-strip{gap:14px 22px;font-size:13px}
  .qchips{padding:16px 20px}
  .brand img{width:132px;height:44px}
  .nav-in{padding:10px 20px;gap:12px;min-height:60px}
  .sec-head{margin-bottom:32px;flex-direction:column;align-items:flex-start;gap:10px}
  .filters{flex-direction:column;align-items:stretch;gap:14px}
  .filter-chips{justify-content:center}
  .grid{grid-template-columns:1fr;gap:20px}
  .svc-grid{grid-template-columns:1fr}
  .svc{padding:30px 24px;text-align:center}
  .svc .icw{margin:0 auto 16px}
  .c-card{text-align:center}
  .c-card .icw{margin:0 auto 16px}
  .rev-card{text-align:center}
  .rev-card .qic{margin:0 auto 16px}
  #trust{padding:72px 20px}
  .finband{padding:72px 20px}
  :root{--gutter:16px}
  .vhead h1{font-size:26px}
  .vbody{padding:28px var(--gutter) 100px}
  .vcta{padding:24px}
  .vspec-grid{grid-template-columns:1fr 1fr;gap:14px 18px}
  .vfaq-grid{grid-template-columns:1fr}
  .fin-hero{padding:52px 20px 40px}
  .fin-hero h1{font-size:42px}
  .fin-hero p.sub{font-size:16.5px}
  .steps{padding:64px 20px}
  .step{padding:28px 24px;text-align:center}
  .step .n{font-size:42px}
  .legal{padding:44px 20px 100px}
  .faq-item summary{font-size:16px}
  .cookie{flex-direction:column;align-items:stretch;text-align:center;padding:20px;left:12px;right:12px;bottom:80px;max-width:none}
  .ck-btns{margin:0 auto}
  .foot-in{padding:56px 20px 0}
  /* minmax(0,...) because a plain 1fr floors at min-content, which let the
     longest link push one column to 168px against the other's 133px at 360px. */
  .foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px;text-align:left;padding-bottom:36px}
  .foot-grid>.fb-brand{grid-column:1/-1;text-align:center}
  .foot-grid h4{margin-bottom:6px}
  /* 90% of this traffic is on a phone, so footer links are tap targets, not text.
     They were landing at 42px - close enough to look fine and miss often. */
  .foot-grid a{font-size:14px;display:flex;align-items:center;min-height:44px}
  .foot-grid .socials a{min-height:44px;min-width:44px;justify-content:center}
  /* Breadcrumbs were 20px tall. The row keeps its height; the links grow into it. */
  .crumbs{flex-wrap:wrap;row-gap:2px}
  .crumbs a,.crumbs span{display:inline-flex;align-items:center;min-height:44px}
  .foot-base a,.shaart-credit a{display:inline-flex;align-items:center;min-height:44px}
  .fb-brand img{margin:0 auto 16px}
  .fb-brand p{margin-left:auto;margin-right:auto}
  .socials{justify-content:center}
  .foot-base{justify-content:center;text-align:center;flex-direction:column;gap:10px}
  .mobile-cta{display:flex}
  body{padding-bottom:80px}
  .vcta+.mobile-cta,.vcta{margin-bottom:70px}
  .sa-hero{padding:56px 20px 32px}
  .sa-hero h1{font-size:34px}
  .sa-context div[style*="grid-template-columns"]{grid-template-columns:1fr !important}
  .sa-context div[style*="max-width"]{padding:36px 20px !important}
}

/* ==================== BLOG ==================== */
.blog-hero{padding:80px 32px 32px;background:var(--bg)}
.blog-hero-in{max-width:1080px;margin:0 auto}
.blog-hero h1{font-size:clamp(34px,5vw,52px);font-weight:700;letter-spacing:-.025em;margin:12px 0 14px}
.blog-hero h1 em{font-style:normal;color:var(--orange-a)}
.blog-hero p{color:var(--text-2);font-size:17px;max-width:640px;line-height:1.55}

.blog-filter{padding:20px 32px 0;background:var(--bg)}
.blog-filter-in{max-width:1240px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.blog-cat{margin:0 0 42px}
.blog-cat h2{font-size:23px;margin:0 0 6px;display:flex;align-items:center;gap:10px}
.cat-count{font-size:12.5px;font-weight:700;background:var(--bg-alt);border-radius:999px;padding:3px 10px;color:var(--muted)}
.cat-blurb{color:var(--muted);margin:0 0 18px;max-width:660px}
.blog-chip{padding:10px 18px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--bg);font-size:13.5px;font-weight:600;color:var(--text-2);transition:.15s;min-height:44px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;text-decoration:none}
.blog-chip:hover{border-color:var(--ink);color:var(--ink)}
.blog-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}

.blog-grid-sec{padding:36px 32px 100px;background:var(--bg)}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;max-width:1240px;margin:0 auto}
.blog-card{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-card);overflow:hidden;transition:.22s;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--line)}
.blog-card .ph{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt)}
.blog-card .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}
.blog-card:hover .ph img{transform:scale(1.03)}
.blog-card .cat{position:absolute;top:14px;left:14px;background:var(--orange-a);color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:var(--r-pill);z-index:2}
.blog-card .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.blog-card h3{font-family:var(--f-body);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.28}
.blog-card p{font-size:14.5px;color:var(--text-2);line-height:1.5;flex:1}
.blog-card .meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:12px;border-top:1px solid var(--line-2);font-size:12.5px;color:var(--muted)}

/* Blog post (BPP) */
.bp-hero{padding:56px 32px 12px;background:var(--bg)}
.bp-hero-in{max-width:800px;margin:0 auto}
.bp-hero .cat-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-a);margin-bottom:14px}
.bp-hero h1{font-size:clamp(30px,4.5vw,46px);font-weight:700;letter-spacing:-.02em;line-height:1.12;margin-bottom:16px}
.bp-hero .sub{font-size:18px;color:var(--text-2);line-height:1.5;margin-bottom:22px}
.bp-hero .byline{display:flex;align-items:center;gap:14px;font-size:13.5px;color:var(--muted);flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line-2)}
.bp-hero .byline strong{color:var(--ink);font-weight:600}
.bp-hero .byline span{display:inline-flex;align-items:center;gap:5px}

.bp-cover{padding:20px 32px 0;background:var(--bg)}
.bp-cover-in{max-width:900px;margin:0 auto;border-radius:var(--r-card);overflow:hidden;aspect-ratio:16/9;background:var(--bg-alt)}
.bp-cover-in img{width:100%;height:100%;object-fit:cover}

.bp-article{padding:44px 32px 40px;background:var(--bg)}
.bp-article-in{max-width:720px;margin:0 auto}
.bp-article h2{font-family:var(--f-display);font-size:26px;font-weight:700;letter-spacing:-.015em;margin:44px 0 14px;line-height:1.2}
.bp-article h2:first-child{margin-top:0}
.bp-article h3{font-family:var(--f-body);font-size:19px;font-weight:700;margin:28px 0 10px}
.bp-article p{font-size:16.5px;color:var(--text-2);line-height:1.65;margin-bottom:16px}
.bp-article ul,.bp-article ol{padding-left:22px;margin-bottom:20px}
.bp-article li{font-size:16.5px;color:var(--text-2);line-height:1.6;margin-bottom:8px}
.bp-article li strong{color:var(--ink);font-weight:600}
.bp-article a{color:var(--orange-a);font-weight:500;border-bottom:1px solid rgba(192,79,19,.3)}
.bp-article a:hover{border-bottom-color:var(--orange-a)}
.bp-article blockquote{border-left:3px solid var(--orange);padding:6px 0 6px 20px;margin:22px 0;color:var(--ink);font-style:italic;font-size:17px}

.bp-widget{padding:44px 32px;background:var(--bg-alt)}
.bp-widget-in{max-width:1240px;margin:0 auto}
.bp-widget h3{font-family:var(--f-display);font-size:22px;font-weight:700;letter-spacing:-.015em;margin-bottom:6px;text-align:center}
.bp-widget p.sub{color:var(--muted);font-size:14.5px;text-align:center;margin-bottom:26px}
.bp-widget .grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

.bp-social{padding:44px 32px;background:#0d0d0d;color:#fff;text-align:center}
.bp-social-in{max-width:720px;margin:0 auto}
.bp-social h3{font-family:var(--f-display);font-size:24px;font-weight:700;letter-spacing:-.015em;margin-bottom:8px;color:#fff}
.bp-social p{color:#a0a3a8;font-size:15px;margin-bottom:24px}
.bp-social-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:520px;margin:0 auto}
.bp-social-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 8px;background:#1a1a1a;border:1px solid #26282d;border-radius:12px;color:#c9ccd2;text-decoration:none;transition:.15s;font-size:12.5px;font-weight:600}
.bp-social-card:hover{border-color:var(--orange);color:var(--orange)}
.bp-social-card svg{color:var(--orange)}

.bp-related{padding:44px 32px 60px;background:var(--bg)}
.bp-related-in{max-width:1240px;margin:0 auto}
.bp-related h3{font-family:var(--f-display);font-size:22px;font-weight:700;letter-spacing:-.015em;margin-bottom:20px}
.bp-related .blog-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

.bp-author{padding:32px 32px 60px;background:var(--bg)}
.bp-author-in{max-width:720px;margin:0 auto;padding:26px 28px;border:1px solid var(--line);border-radius:var(--r-card);display:flex;gap:20px;align-items:flex-start}
.bp-author-icw{flex:none;width:56px;height:56px;border-radius:50%;background:var(--orange-l);color:var(--orange-a);display:flex;align-items:center;justify-content:center}
.bp-author h4{font-family:var(--f-body);font-size:15px;font-weight:700;margin-bottom:4px;letter-spacing:-.005em}
.bp-author p{font-size:14px;color:var(--text-2);line-height:1.5;margin-bottom:6px}
.bp-author a{color:var(--orange-a);font-weight:600;font-size:13.5px}

.bp-cta{padding:52px 32px;background:var(--ink);color:#fff;text-align:center}
.bp-cta h3{font-family:var(--f-display);font-size:26px;font-weight:700;color:#fff;margin-bottom:10px;letter-spacing:-.015em}
.bp-cta p{color:#a0a3a8;margin-bottom:22px;font-size:15.5px}
.bp-cta .ctas{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}

@media (max-width:640px){
  .blog-hero{padding:48px 20px 16px}
  .blog-filter{padding:14px 20px 0}
  .blog-grid-sec{padding:24px 20px 60px}
  .blog-grid{grid-template-columns:1fr;gap:20px}
  .bp-hero{padding:36px 20px 8px}
  .bp-cover{padding:12px 20px 0}
  .bp-article{padding:28px 20px}
  .bp-article h2{font-size:22px;margin:32px 0 10px}
  .bp-article p,.bp-article li{font-size:15.5px}
  .bp-widget{padding:36px 20px}
  .bp-social{padding:36px 20px}
  .bp-social-cards{grid-template-columns:repeat(2,1fr)}
  .bp-related{padding:32px 20px 48px}
  .bp-related .blog-grid{grid-template-columns:1fr}
  .bp-author-in{flex-direction:column;gap:14px;text-align:center;padding:22px}
  .bp-author-icw{margin:0 auto}
  .bp-cta{padding:40px 20px}
}

/* ==================== COMPETITIVE FEATURES (map / calculator / test drive / pre-qualify) ==================== */
/* Google Map embed */
.map-card{max-width:1240px;margin:40px auto 0;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-1)}
.map-head{display:flex;gap:14px;align-items:flex-start;padding:22px 24px}
.map-head svg{flex:none;margin-top:2px}
.map-head h3{font-family:var(--f-body);font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:3px}
.map-head p{font-size:13.5px;color:var(--text-2);line-height:1.5}
.map-embed{position:relative;aspect-ratio:16/9;background:var(--bg-alt);border-top:1px solid var(--line-2)}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* Pre-qualify banner */
.prequal-section{padding:56px 32px;background:var(--bg)}
.prequal{display:flex;align-items:center;gap:16px;max-width:1000px;margin:0 auto;background:linear-gradient(120deg,var(--orange-a),var(--orange-d));color:#fff;border-radius:var(--r-card);padding:20px 24px;box-shadow:0 10px 30px rgba(192,79,19,.22);transition:.18s}
.prequal:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(192,79,19,.3)}
.prequal-ic{flex:none;display:inline-flex}
.prequal-txt{display:flex;flex-direction:column;gap:3px}
.prequal-txt strong{font-family:var(--f-display);font-size:16.5px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.prequal-txt span{font-size:13.5px;color:rgba(255,255,255,.92);line-height:1.45}
.prequal-arrow{flex:none;margin-left:auto}

/* Loan calculator */
.calc{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card);padding:26px 24px;box-shadow:var(--shadow-1)}
.calc-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.calc-head h3{font-family:var(--f-display);font-size:19px;font-weight:700;letter-spacing:-.015em}
.calc-body{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calc-field{display:flex;flex-direction:column;gap:6px}
.calc-field>span{font-size:12.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.calc-in{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--r-btn);background:var(--bg);padding:0 12px;transition:.15s;min-height:48px}
.calc-in:focus-within{border-color:var(--ink)}
.calc-in i{font-style:normal;color:var(--muted);font-size:15px;font-weight:600}
.calc-in input,.calc-in select{flex:1;border:0;outline:0;background:none;font-family:inherit;font-size:15.5px;color:var(--ink);padding:12px 6px;min-width:0;width:100%}
.calc-in select{cursor:pointer}
.calc-out{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:18px 20px;background:var(--orange-l);border-radius:var(--r-btn)}
.calc-out-lbl{font-size:13.5px;font-weight:600;color:var(--orange-a)}
.calc-out-val{font-family:var(--f-display);font-size:26px;font-weight:700;color:var(--orange-a);letter-spacing:-.02em;white-space:nowrap}
.calc-disc{font-size:12px;color:var(--muted);line-height:1.5;margin:12px 2px 0}
.calc-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.calc-cta .btn{flex:1;min-width:150px}

/* Test drive form */
.tdrive{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card);padding:26px 24px;box-shadow:var(--shadow-1)}
.tdrive-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}
.tdrive-head svg{flex:none;margin-top:2px}
.tdrive-head h3{font-family:var(--f-display);font-size:19px;font-weight:700;letter-spacing:-.015em;margin-bottom:3px}
.tdrive-head p{font-size:13px;color:var(--text-2);line-height:1.5}
.tdrive-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tdrive-form label{display:flex;flex-direction:column;gap:6px}
.tdrive-form label>span{font-size:12.5px;font-weight:600;color:var(--muted)}
.tdrive-form label>span em{font-style:normal;font-weight:500;color:var(--muted)}
.tdrive-full{grid-column:1/-1}
.tdrive-form input,.tdrive-form textarea{border:1.5px solid var(--line);border-radius:var(--r-btn);background:var(--bg);font-family:inherit;font-size:15.5px;color:var(--ink);padding:12px 14px;outline:0;transition:.15s;min-height:48px;width:100%}
.tdrive-form textarea{min-height:64px;resize:vertical}
.tdrive-form input:focus,.tdrive-form textarea:focus{border-color:var(--ink)}
.tdrive-cta{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.tdrive-cta .btn{flex:1;min-width:150px}

/* Vehicle-page tools layout + financing tools grid */
.vtools{padding:20px var(--gutter) 80px;background:var(--bg)}
.vtools-in{max-width:var(--page-w);margin:0 auto;display:grid;grid-template-columns:1fr;gap:24px}
.vtools-in>.prequal{grid-column:1/-1}
.fin-tools{padding:60px 32px;background:var(--bg-alt)}
.fin-tools-in{max-width:1000px;margin:0 auto}
.fin-tools-in .calc{margin-top:0}

@media (max-width:900px){
}
@media (max-width:640px){
  .calc-body,.tdrive-form{grid-template-columns:1fr}
  .calc,.tdrive{padding:22px 18px}
  .prequal{flex-wrap:wrap;padding:18px 20px}
  .prequal-arrow{display:none}
  .prequal-section{padding:40px 20px}
  .map-head{padding:18px 20px}
  .vtools{padding:16px var(--gutter) 60px}
  .fin-tools{padding:44px 20px}
}

/* ==================== LOGO DARK/LIGHT SWAP ==================== */
.brand .logo-dark{display:none}
.brand .logo-light{display:block}
[data-theme="dark"] .brand .logo-light{display:none}
[data-theme="dark"] .brand .logo-dark{display:block}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand .logo-light{display:none}:root:not([data-theme="light"]) .brand .logo-dark{display:block}}

/* ==================== DARK MODE OVERRIDES ==================== */
[data-theme="dark"] body{background:var(--bg)}
[data-theme="dark"] .nav{background:var(--glass-nav);border-bottom-color:var(--glass-border)}
[data-theme="dark"] .mobile-menu{background:#111;border-top-color:var(--line)}
[data-theme="dark"] .mobile-menu a{border-bottom-color:var(--line)}
[data-theme="dark"] .hero{background:var(--bg)}
[data-theme="dark"] .hero-search input{background:#161616;border-color:var(--line);color:var(--text)}
[data-theme="dark"] .hero-search input:focus{border-color:var(--orange-fg);box-shadow:var(--glow-input)}
[data-theme="dark"] .qchips{background:var(--bg-alt);border-color:var(--line)}
[data-theme="dark"] .qchip{background:#161616;border-color:var(--line);color:var(--text)}
[data-theme="dark"] .qchip:hover{border-color:var(--orange-fg)}
[data-theme="dark"] .card{background:#161616;border-color:var(--line)}
[data-theme="dark"] .card:hover{border-color:var(--orange-fg);box-shadow:var(--glow-card)}
[data-theme="dark"] .card .ph{background:#1a1a1a}
[data-theme="dark"] .badge{background:#222;color:var(--text)}
[data-theme="dark"] .chip{background:#161616;border-color:var(--line);color:var(--text-2)}
[data-theme="dark"] .chip:hover{border-color:var(--orange-fg);color:var(--orange-fg)}
[data-theme="dark"] .chip.on{background:var(--orange-a);border-color:var(--orange-a)}
[data-theme="dark"] section.bg-alt,[data-theme="dark"] .bg-alt-s{background:var(--bg-alt)}
[data-theme="dark"] .trust-card{background:#161616;border-color:var(--line)}
[data-theme="dark"] .faq-dt{border-color:var(--line)}
[data-theme="dark"] .faq-dt:hover{background:#161616}
[data-theme="dark"] .calc,[data-theme="dark"] .tdrive{background:#161616;border-color:var(--line)}
[data-theme="dark"] .calc-in{background:#111;border-color:var(--line)}
[data-theme="dark"] .calc-in input,[data-theme="dark"] .calc-in select{color:var(--text)}
[data-theme="dark"] .calc-out{background:var(--orange-l)}
[data-theme="dark"] .tdrive-form input,[data-theme="dark"] .tdrive-form textarea{background:#111;border-color:var(--line);color:var(--text)}
[data-theme="dark"] .map-card{background:#161616;border-color:var(--line)}
[data-theme="dark"] .contact-form{background:#161616;border-color:var(--line)}
[data-theme="dark"] .contact-form input,[data-theme="dark"] .contact-form textarea,[data-theme="dark"] .contact-form select{background:#111;border-color:var(--line);color:var(--text)}
[data-theme="dark"] .foot{background:#050505}
[data-theme="dark"] .foot-base{border-top-color:#1e1e1e}
[data-theme="dark"] .socials a{border-color:#1e1e1e;color:#8a8a8a}
[data-theme="dark"] .socials a:hover{border-color:var(--orange-fg);color:var(--orange-fg)}
[data-theme="dark"] .mobile-cta{background:#111;border-top-color:var(--line);box-shadow:0 -6px 24px rgba(0,0,0,.4)}
[data-theme="dark"] .mcta.call{background:#222;color:#fff}
[data-theme="dark"] .mcta.wa{background:#0a7d57}
[data-theme="dark"] .mcta.apply{background:var(--orange-a)}
[data-theme="dark"] .btn-ghost{background:#161616;color:var(--text);border-color:var(--line)}
[data-theme="dark"] .btn-ghost:hover{border-color:var(--orange-fg)}
[data-theme="dark"] .btn-primary:hover{box-shadow:var(--glow-btn)}
[data-theme="dark"] .bp-article{background:var(--bg)}
[data-theme="dark"] .bp-hero{background:var(--bg)}
[data-theme="dark"] .bp-related{background:var(--bg)}
[data-theme="dark"] .bp-author{background:var(--bg)}
[data-theme="dark"] .bp-author-in{border-color:var(--line)}
[data-theme="dark"] .bp-widget{background:var(--bg-alt)}
[data-theme="dark"] .prequal{box-shadow:0 10px 30px rgba(250,118,43,.15)}
[data-theme="dark"] .vtools{background:var(--bg)}
[data-theme="dark"] .svc{background:#161616;border-color:var(--line)}
[data-theme="dark"] .svc:hover{border-color:var(--orange-fg);box-shadow:var(--glow-card)}
[data-theme="dark"] .lc_reviews_widget{filter:invert(.88) hue-rotate(180deg);border-radius:var(--r-card)}
[data-theme="dark"] .rev-card{background:#161616;border-color:var(--line)}
[data-theme="dark"] .c-card{background:#161616;border-color:var(--line)}
[data-theme="dark"] .step{background:#161616;border-color:var(--line)}
[data-theme="dark"] .sa-card{background:#161616;border-color:var(--line)}
[data-theme="dark"] .compare-table{background:#161616;border-color:var(--line)}
[data-theme="dark"] .compare-table td,[data-theme="dark"] .compare-table th{border-color:var(--line)}
[data-theme="dark"] .blog-card{background:#161616;border-color:var(--line)}
[data-theme="dark"] .lf-form input,[data-theme="dark"] .lf-form select,[data-theme="dark"] .lf-form textarea{background:#111;border-color:var(--line);color:var(--text)}
[data-theme="dark"] .vcta{background:#161616;border-color:var(--line)}

/* theme toggle + lang switch */
.theme-toggle,.lang-switch{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px;color:var(--text-2);transition:.15s;cursor:pointer;background:none;border:1.5px solid transparent;padding:0}
.theme-toggle:hover,.lang-switch:hover{color:var(--orange-fg);border-color:var(--line)}
.theme-toggle .ic-sun{display:none}
[data-theme="dark"] .theme-toggle .ic-moon{display:none}
[data-theme="dark"] .theme-toggle .ic-sun{display:block}
.lang-switch{font-size:12.5px;font-weight:700;letter-spacing:.04em;gap:3px;padding:0 10px;font-family:var(--f-body)}
.lang-switch .lang-active{color:var(--orange-fg)}
.lang-switch .lang-sep{color:var(--muted);font-weight:400}
@media(max-width:960px){
  .theme-toggle,.lang-switch{min-width:44px;min-height:44px}
}

/* apply page */
.apply-bar{background:var(--bg-band);color:#fff;padding:18px 24px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.apply-bar-left{display:flex;align-items:center;gap:14px}
.apply-back{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-size:14px;opacity:.85}
.apply-back:hover{opacity:1}
.apply-sep{color:rgba(255,255,255,.24)}
.apply-title{font-family:var(--f-display);font-weight:700;font-size:15px;letter-spacing:.02em;margin:0}
.apply-bar-right{display:flex;align-items:center;gap:16px;font-size:13px;color:rgba(255,255,255,.72)}
.apply-secure{display:inline-flex;align-items:center;gap:6px}
.apply-phone{color:var(--orange-fg);text-decoration:none;font-weight:600}
.apply-notice{background:var(--bg-alt);padding:14px 24px;text-align:center;font-size:13.5px;color:var(--text-2);border-bottom:1px solid var(--line)}
.apply-cta-wrap{display:flex;justify-content:center;align-items:flex-start;padding:48px 24px 80px;background:var(--bg-alt);min-height:60vh}
.apply-cta-card{max-width:720px;width:100%;background:var(--bg);border-radius:18px;padding:48px 40px;text-align:center;box-shadow:0 2px 24px rgba(0,0,0,.06)}
.apply-cta-icon{margin-bottom:20px}
.apply-cta-heading{font-family:var(--f-display);font-size:28px;font-weight:800;margin:0 0 14px;color:var(--text)}
.apply-cta-desc{font-size:15px;line-height:1.7;color:var(--text-2);margin:0 0 28px}
.apply-cta-btn{font-size:17px;padding:16px 36px;gap:10px;display:inline-flex;align-items:center;width:100%;justify-content:center}
.apply-cta-alt{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.apply-cta-alt p{font-size:14px;color:var(--text-2);margin:0 0 14px}
.apply-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.apply-cta-actions .btn{font-size:14px;padding:10px 20px}
.apply-fieldset{border:1px solid var(--line);border-radius:12px;padding:20px 24px 24px;margin:0 0 20px;text-align:left}
.apply-fieldset legend{font-family:var(--f-display);font-weight:600;font-size:14px;color:var(--orange-fg);display:inline-flex;align-items:center;gap:6px;padding:0 8px;letter-spacing:.02em}
.apply-full-form{text-align:left}
.apply-full-form .lf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.apply-full-form label span{display:block;font-size:13px;font-weight:500;color:var(--text-2);margin-bottom:4px}
.apply-full-form input,.apply-full-form select,.apply-full-form textarea{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:var(--f-body);background:var(--bg);color:var(--text);transition:border-color .15s}
.apply-full-form input:focus,.apply-full-form select:focus,.apply-full-form textarea:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px rgba(250,118,43,.12)}
.apply-full-form select{cursor:pointer;appearance:auto}
.apply-submit-btn{font-size:17px;padding:16px 36px;gap:10px;display:inline-flex;align-items:center;width:100%;justify-content:center;margin-top:8px}
.apply-next-steps{text-align:left;background:var(--bg-alt);border-radius:12px;padding:20px 24px;margin-top:20px}
.apply-next-steps h4{font-family:var(--f-display);font-size:15px;font-weight:700;margin:0 0 12px;color:var(--text)}
.apply-next-steps ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.apply-next-steps li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2)}
.apply-trust-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}
.apply-trust-list li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2)}
[data-theme="dark"] .apply-notice{background:var(--bg-alt);color:rgba(255,255,255,.72);border-color:rgba(255,255,255,.06)}
[data-theme="dark"] .apply-cta-card{background:var(--bg);box-shadow:0 2px 24px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.06)}
[data-theme="dark"] .apply-fieldset{border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .apply-full-form input,[data-theme="dark"] .apply-full-form select,[data-theme="dark"] .apply-full-form textarea{background:var(--bg-alt);border-color:rgba(255,255,255,.1);color:var(--text)}
[data-theme="dark"] .apply-next-steps{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
@media(max-width:600px){.apply-cta-card{padding:32px 20px}.apply-cta-heading{font-size:22px}.apply-trust-list{grid-template-columns:1fr}.apply-full-form .lf-row{grid-template-columns:1fr}.apply-fieldset{padding:16px 16px 20px}.apply-submit-btn{font-size:15px;padding:14px 24px}}

/* ===== FUTURISTIC ENHANCEMENTS ===== */

/* hero ambient glow */
.hero{position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:-20%;left:50%;width:140%;height:80%;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 30%,rgba(250,118,43,.05) 0%,transparent 65%);pointer-events:none;z-index:0}
[data-theme="dark"] .hero::before{background:radial-gradient(ellipse at 50% 30%,rgba(250,118,43,.12) 0%,transparent 65%)}

/* hero h1 em gradient text */
.hero h1 em{background:linear-gradient(135deg,#fa762b 0%,#ff9a56 40%,#e0641c 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal}

/* hero search ambient glow dark */
[data-theme="dark"] .hero-search{filter:drop-shadow(0 4px 24px rgba(250,118,43,.1))}

/* section glow dividers */
#inventory::before,#services::before,#trust::before,#reviews::before,#faq::before,#contact::before{content:"";display:block;width:100%;max-width:1240px;height:1px;margin:0 auto;background:linear-gradient(90deg,transparent 0%,rgba(250,118,43,.15) 25%,rgba(250,118,43,.3) 50%,rgba(250,118,43,.15) 75%,transparent 100%)}
[data-theme="dark"] #inventory::before,[data-theme="dark"] #services::before,[data-theme="dark"] #trust::before,[data-theme="dark"] #reviews::before,[data-theme="dark"] #faq::before,[data-theme="dark"] #contact::before{background:linear-gradient(90deg,transparent 0%,rgba(250,118,43,.2) 25%,rgba(250,118,43,.45) 50%,rgba(250,118,43,.2) 75%,transparent 100%)}

/* card hover enhanced */
.card:hover{transform:translateY(-6px)}
.card:hover .ph img{transform:scale(1.05)}
.card .cta svg{transition:transform .25s var(--ease-out)}
.card:hover .cta svg{transform:translateX(3px)}
[data-theme="dark"] .card:hover{border-color:rgba(250,118,43,.25);box-shadow:0 4px 24px rgba(250,118,43,.1),0 0 0 1px rgba(250,118,43,.08)}

/* dark mode gradient surfaces for depth */
[data-theme="dark"] .card{background:linear-gradient(180deg,#181818 0%,#141414 100%)}
[data-theme="dark"] .rev-card,[data-theme="dark"] .c-card,[data-theme="dark"] .blog-card{background:linear-gradient(180deg,#181818 0%,#141414 100%)}

/* financing band depth */
.finband{position:relative;overflow:hidden}
.finband::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(250,118,43,.35),transparent)}
.finband::after{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:60%;height:80%;background:radial-gradient(ellipse,rgba(250,118,43,.05) 0%,transparent 70%);pointer-events:none}

/* dark section headings gradient text */
[data-theme="dark"] .sec-head h2{background:linear-gradient(180deg,#f0f0f0 0%,#a8a8a8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.finband h2 em{background:linear-gradient(135deg,#fa762b 0%,#ff9a56 50%,#fa762b 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal}

/* eyebrow left accent bar */
.sec-head .eyebrow{padding-left:14px;position:relative}
.sec-head .eyebrow::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:2px;background:var(--orange-a)}

/* service icon scale on hover */
.svc .icw{transition:transform .3s var(--ease-out)}
.svc:hover .icw{transform:scale(1.12)}

/* staggered grid reveals */
.grid .card:nth-child(1){transition-delay:.05s}
.grid .card:nth-child(2){transition-delay:.1s}
.grid .card:nth-child(3){transition-delay:.15s}
.grid .card:nth-child(4){transition-delay:.2s}
.grid .card:nth-child(5){transition-delay:.25s}
.grid .card:nth-child(6){transition-delay:.3s}
.svc-grid .svc:nth-child(1){transition-delay:.05s}
.svc-grid .svc:nth-child(2){transition-delay:.1s}
.svc-grid .svc:nth-child(3){transition-delay:.15s}
.svc-grid .svc:nth-child(4){transition-delay:.2s}
.svc-grid .svc:nth-child(5){transition-delay:.25s}
.svc-grid .svc:nth-child(6){transition-delay:.3s}

/* social links hover glow */
.socials a{transition:transform .2s var(--ease-out),border-color .2s,color .2s,box-shadow .2s}
.socials a:hover{transform:scale(1.08);box-shadow:0 0 12px rgba(250,118,43,.12)}

/* compare table ours column subtle highlight */
.compare-row .col-ours{background:rgba(250,118,43,.03)}
[data-theme="dark"] .compare-row .col-ours{background:rgba(250,118,43,.06)}

/* contact card dark hover glow */
[data-theme="dark"] .c-card:hover{border-color:rgba(250,118,43,.2);box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 0 1px rgba(250,118,43,.06)}

/* FAQ chevron color on hover */
.faq-item summary:hover svg{color:var(--orange-fg)}

/* dark footer depth gradient */
[data-theme="dark"] .foot{background:linear-gradient(180deg,#080808 0%,#040404 100%)}

/* ghost button glow dark hover */
[data-theme="dark"] .btn-ghost:hover{box-shadow:0 0 16px rgba(250,118,43,.1)}

/* reduced motion — disable ALL futuristic enhancements */
@media(prefers-reduced-motion:reduce){
  .hero::before{display:none}
  .card:hover{transform:none}
  .card:hover .ph img{transform:none}
  .socials a{transition:none}
  .svc .icw{transition:none}
  .grid .card,.svc-grid .svc{transition-delay:0s!important}
}
