/* Drive360 — dealership site styles */
:root{
  --ink:#0d0a22; --ink-2:#161131; --ink-3:#231b45; --line-dark:rgba(255,255,255,.12);
  --paper:#fff6ef; --paper-2:#ffe6ee; --card:#ffffff; --line:#f1d9e2; --seafoam:#dcf8f6;
  --text:#1c1534; --muted:#6a5f7e; --muted-dark:#b9b2d3; --on-dark:#fbf7ff;
  --pink:#ff2d95; --aqua:#16dde6; --sunset:#ff8a4c; --lilac:#a98bff;
  --accent:#ff2d95; --accent-hover:#e81d83; --accent-ink:#ffffff; --ok:#11a88a; --err:#d02659;
  --grad:linear-gradient(100deg,#ff2d95 0%,#ff6a6a 55%,#ff9a4c 100%);
  --grad-cool:linear-gradient(100deg,#16dde6,#a98bff 60%,#ff2d95);
  --font-display:'Unbounded','Kumbh Sans','Segoe UI',sans-serif;
  --font-body:'Kumbh Sans','Segoe UI',sans-serif;
  --text-xs:clamp(.75rem,.72rem + .15vw,.8125rem);
  --text-sm:clamp(.875rem,.85rem + .12vw,.9375rem);
  --text-base:clamp(1rem,.97rem + .15vw,1.0625rem);
  --text-lg:clamp(1.125rem,1.05rem + .35vw,1.3125rem);
  --text-xl:clamp(1.35rem,1.2rem + .8vw,1.85rem);
  --text-2xl:clamp(1.8rem,1.4rem + 1.6vw,2.75rem);
  --text-hero:clamp(2.4rem,1.5rem + 4vw,5rem);
  --r-sm:10px; --r:16px; --r-lg:22px;
  --wrap:1240px; --gutter:clamp(1rem,3vw,2rem);
  --shadow:0 2px 4px rgba(28,21,52,.05),0 14px 34px rgba(255,45,149,.10);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.05;margin:0;letter-spacing:-.02em;font-weight:800}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:.5rem 1rem;z-index:100}
.skip:focus{left:1rem}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(15,16,18,.94);backdrop-filter:blur(10px);color:var(--on-dark);border-bottom:1px solid var(--line-dark)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:1.35rem;letter-spacing:-.02em}
.brand-mark{width:30px;height:30px;color:var(--accent)}
.brand b{color:var(--accent);font-weight:800}
.nav-links{display:flex;gap:.25rem;align-items:center;list-style:none;margin:0;padding:0}
.nav-links a{display:block;text-decoration:none;padding:.5rem .85rem;border-radius:var(--r-sm);font-size:var(--text-sm);font-weight:500;color:var(--muted-dark);transition:color .15s,background .15s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--on-dark);background:var(--ink-3)}
.nav-cta{margin-left:.5rem}
.menu-btn{display:none;background:none;border:1px solid var(--line-dark);border-radius:var(--r-sm);padding:.45rem .6rem;color:var(--on-dark);cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav-links{position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--ink);border-bottom:1px solid var(--line-dark);padding:.75rem var(--gutter) 1rem;display:none}
  .nav-links.open{display:flex}
  .nav-links a{padding:.8rem .5rem;font-size:var(--text-base)}
  .nav-cta{margin:.5rem 0 0}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.3rem;border-radius:var(--r-sm);font-weight:700;font-size:var(--text-sm);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-ghost{border-color:currentColor;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-dark{background:var(--ink);color:var(--on-dark)}
.btn-dark:hover{background:var(--ink-3)}
.btn-lg{padding:1rem 1.6rem;font-size:var(--text-base)}
.btn-block{width:100%}
.nav-links .btn-primary{color:#fff}
.nav-links .btn-primary:hover{background:var(--accent-hover);color:#fff}

/* hero */
.hero{position:relative;background:var(--ink);color:var(--on-dark);overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 60%;opacity:.55}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,18,.96) 0%,rgba(15,16,18,.75) 45%,rgba(15,16,18,.25) 100%),linear-gradient(0deg,rgba(15,16,18,.9),transparent 40%)}
.hero-inner{position:relative;padding:clamp(4rem,10vw,8rem) 0 clamp(3rem,6vw,5rem);max-width:760px}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:18px;height:2px;background:currentColor}
.hero h1{font-size:var(--text-hero);margin:1rem 0 1.25rem;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p.lede{font-size:var(--text-lg);color:#c9ccd1;max-width:56ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.hero-stats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-dark);margin-top:clamp(2.5rem,6vw,4rem)}
.hero-stats div{padding:1.25rem 1rem 1.5rem 0}
.hero-stats strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;font-variant-numeric:tabular-nums}
.hero-stats span{font-size:var(--text-xs);color:var(--muted-dark);text-transform:uppercase;letter-spacing:.1em}

/* quick search bar */
.quick{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:1rem;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;margin-top:-2.25rem;position:relative;z-index:2}
@media (max-width:760px){.quick{grid-template-columns:1fr 1fr}.quick .q-search{grid-column:1/-1}.quick .btn{grid-column:1/-1}}

/* sections */
.section{padding:clamp(3.5rem,8vw,6rem) 0}
.section-dark{background:var(--ink);color:var(--on-dark)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}
.section-head h2{font-size:var(--text-2xl);max-width:20ch;text-wrap:balance}
.section-head p{color:var(--muted);max-width:48ch}
.section-dark .section-head p{color:var(--muted-dark)}
.link-arrow{font-weight:700;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* vehicle cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:1.25rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cbc6bc}
.card-media{position:relative;aspect-ratio:4/3;background:var(--paper-2);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-media img{transform:scale(1.03)}
.badge{position:absolute;left:.75rem;top:.75rem;background:rgba(15,16,18,.82);color:#fff;font-size:var(--text-xs);font-weight:700;padding:.25rem .55rem;border-radius:4px}
.card-body{padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card-title{font-family:var(--font-display);font-weight:800;font-size:1.2rem;line-height:1.15}
.card-title small{display:block;font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);color:var(--muted);margin-top:.2rem}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}
.chip{font-size:var(--text-xs);background:var(--paper);border:1px solid var(--line);padding:.15rem .5rem;border-radius:999px;color:var(--muted)}
.card-foot{display:flex;justify-content:space-between;align-items:end;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line)}
.price{font-family:var(--font-display);font-weight:800;font-size:1.5rem;font-variant-numeric:tabular-nums}
.est{font-size:var(--text-xs);color:var(--muted);text-align:right}
.est b{color:var(--text);font-size:var(--text-sm)}

/* inventory page */
.page-head{background:var(--ink);color:var(--on-dark);padding:clamp(2.5rem,6vw,4rem) 0}
.page-head h1{font-size:var(--text-2xl);margin-top:.75rem}
.page-head p{color:var(--muted-dark);margin-top:.75rem;max-width:60ch}
.inv-layout{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
.filters{position:sticky;top:88px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem;display:grid;gap:1rem}
.filters h2{font-size:1.1rem}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.count{font-weight:700}
.empty{grid-column:1/-1;text-align:center;padding:3rem 1rem;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted)}
.filter-toggle{display:none}
@media (max-width:900px){
  .inv-layout{grid-template-columns:1fr}
  .filters{position:static;display:none}
  .filters.open{display:grid}
  .filter-toggle{display:inline-flex}
}

/* forms */
.field{display:grid;gap:.35rem}
.field label,.label{font-size:var(--text-sm);font-weight:700}
.field .hint{font-size:var(--text-xs);color:var(--muted)}
.input,select.input,textarea.input{width:100%;padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;min-height:46px;transition:border-color .15s,box-shadow .15s}
textarea.input{min-height:110px;resize:vertical}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,90,31,.18)}
.input:user-invalid{border-color:var(--err)}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:640px){.row,.row-3{grid-template-columns:1fr}}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.25rem,4vw,2.5rem);box-shadow:var(--shadow)}
fieldset{border:0;padding:0;margin:0 0 2rem;display:grid;gap:1rem}
legend{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);margin-bottom:.25rem;display:flex;align-items:center;gap:.6rem;padding:0}
legend .num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:.85rem}
.check{display:flex;gap:.65rem;align-items:flex-start;font-size:var(--text-sm);color:var(--muted)}
.check input{margin-top:.25rem;width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}
.seg{display:flex;flex-wrap:wrap;gap:.5rem}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0}
.seg span{display:inline-block;padding:.55rem .95rem;border:1px solid var(--line);border-radius:999px;font-size:var(--text-sm);font-weight:600;cursor:pointer;background:#fff;transition:all .15s}
.seg input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.form-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}
.aside{position:sticky;top:88px;display:grid;gap:1rem}
.aside-card{background:var(--ink);color:var(--on-dark);border-radius:var(--r-lg);padding:1.5rem}
.aside-card h3{font-size:var(--text-lg);margin-bottom:.75rem}
.aside-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;font-size:var(--text-sm);color:#c9ccd1}
.aside-card li{display:flex;gap:.6rem}
.aside-card li svg{flex-shrink:0;color:var(--accent);margin-top:2px}
.secure{display:flex;gap:.6rem;align-items:flex-start;font-size:var(--text-xs);color:var(--muted);background:var(--paper-2);border-radius:var(--r);padding:1rem}
@media (max-width:960px){.form-layout{grid-template-columns:1fr}.aside{position:static}}
.form-status{font-size:var(--text-sm);margin-top:.75rem;color:var(--err)}
.honey{display:none}

/* steps / features */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:var(--r-lg);overflow:hidden}
.step{background:var(--ink-2);padding:2rem 1.5rem}
.step .n{font-family:var(--font-display);font-size:2.5rem;font-weight:800;color:var(--accent);line-height:1}
.step h3{font-size:var(--text-lg);margin:1rem 0 .5rem}
.step p{color:var(--muted-dark);font-size:var(--text-sm)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-lg);overflow:hidden;background:var(--card);border:1px solid var(--line)}
.split-media img{width:100%;height:100%;object-fit:cover;min-height:320px}
.split-body{padding:clamp(1.75rem,5vw,3.5rem);display:flex;flex-direction:column;justify-content:center;gap:1rem}
.split-body h2{font-size:var(--text-2xl)}
.split-body p{color:var(--muted)}
.split-body ul{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}
.split-body li{display:flex;gap:.5rem;align-items:center;font-weight:600}
.split-body li svg{color:var(--accent);flex-shrink:0}
@media (max-width:820px){.split{grid-template-columns:1fr}.split-media img{min-height:240px;max-height:300px}}
.reverse .split-media{order:2}
@media (max-width:820px){.reverse .split-media{order:0}}

.cta-band{background:var(--accent);color:#fff;border-radius:var(--r-lg);padding:clamp(2rem,5vw,3.5rem);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.cta-band h2{font-size:var(--text-2xl);max-width:18ch}
.cta-band .btn-dark{background:var(--ink)}

/* vehicle detail */
.vdp{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:2rem;align-items:start}
@media (max-width:960px){.vdp{grid-template-columns:minmax(0,1fr)}}
.gallery-main{position:relative;aspect-ratio:4/3;background:var(--ink);border-radius:var(--r-lg);overflow:hidden}
.gallery-main img{width:100%;height:100%;object-fit:contain}
.gal-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow)}
.gal-btn:hover{background:#fff}
.gal-prev{left:.75rem}.gal-next{right:.75rem}
.gal-count{position:absolute;right:.75rem;bottom:.75rem;background:rgba(15,16,18,.8);color:#fff;font-size:var(--text-xs);font-weight:700;padding:.3rem .6rem;border-radius:4px;font-variant-numeric:tabular-nums}
.thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem 0;scrollbar-width:thin}
.thumbs button{flex:0 0 84px;height:63px;border-radius:var(--r-sm);overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:var(--paper-2);opacity:.7}
.thumbs button[aria-current="true"]{border-color:var(--accent);opacity:1}
.thumbs img{width:100%;height:100%;object-fit:cover}
.vdp-side{position:sticky;top:88px;display:grid;gap:1rem}
.vdp-title h1{font-size:var(--text-xl)}
.vdp-title p{color:var(--muted);margin-top:.35rem}
.vdp-price{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vdp-price .price{font-size:2.25rem}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.specs div{padding:.85rem 1rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-width:0}
.specs div:nth-child(2n){border-right:0}
.specs dt{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.specs dd{margin:.15rem 0 0;font-weight:700;overflow-wrap:anywhere}
.calc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem;display:grid;gap:.85rem}
.calc-out{display:flex;justify-content:space-between;align-items:baseline;background:var(--paper);border-radius:var(--r-sm);padding:.85rem 1rem}
.calc-out strong{font-family:var(--font-display);font-size:1.75rem;font-variant-numeric:tabular-nums}
.range-row{display:flex;justify-content:space-between;font-size:var(--text-sm)}
input[type=range]{width:100%;accent-color:var(--accent)}
.breadcrumb{font-size:var(--text-sm);color:var(--muted);margin-bottom:1rem}
.breadcrumb a{text-decoration:none}.breadcrumb a:hover{color:var(--text)}

/* thanks */
.thanks{min-height:60vh;display:grid;place-items:center;text-align:center;padding:4rem 0}
.thanks .ok{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;margin:0 auto 1.5rem}
.thanks h1{font-size:var(--text-2xl)}
.thanks p{color:var(--muted);margin:1rem auto 2rem;max-width:50ch}

/* footer */
.site-footer{background:var(--ink);color:var(--muted-dark);padding:3.5rem 0 2rem;font-size:var(--text-sm)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem}
.foot-grid h4{color:var(--on-dark);font-size:var(--text-base);margin-bottom:.75rem}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.foot-grid a{text-decoration:none}.foot-grid a:hover{color:var(--on-dark)}
.foot-legal{border-top:1px solid var(--line-dark);margin-top:2.5rem;padding-top:1.5rem;font-size:var(--text-xs);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}

.skeleton{background:linear-gradient(90deg,var(--paper-2),#f3f1ec,var(--paper-2));background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.hero-stats{padding-bottom:2.75rem}
.split-media{min-height:320px;background:var(--paper-2)}
.split-media img{position:relative}
.vdp{grid-template-areas:"gal side" "specs side";row-gap:1rem}
.vdp-gal{grid-area:gal;min-width:0}.vdp-side{grid-area:side}.vdp-specs{grid-area:specs;min-width:0}
@media (max-width:960px){.vdp{grid-template-areas:"gal" "side" "specs";row-gap:1.5rem}.vdp-side{position:static}}
@media (max-width:480px){.hero-stats strong{font-size:1.25rem}}

/* ================= South Beach theme ================= */
h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em}
.topbar{background:#070516;color:var(--muted-dark);font-size:var(--text-xs);letter-spacing:.06em;border-bottom:1px solid var(--line-dark)}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding-top:.5rem;padding-bottom:.5rem;flex-wrap:wrap}
.topbar a{color:var(--aqua);text-decoration:none;font-weight:700}
.site-header{background:rgba(13,10,34,.94);border-bottom:1px solid var(--line-dark)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad-cool);opacity:.9}
.nav{height:78px}
.brand-logo{height:64px;width:auto;display:block}
.nav-links a{color:#d9d3ef}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--aqua);background:rgba(22,221,230,.08)}
.nav-links .btn-primary{background:var(--grad);border-radius:999px}
@media (max-width:860px){.nav-links{top:78px}.brand-logo{height:48px}}

.btn{border-radius:999px;letter-spacing:.02em}
.btn-primary{background:var(--grad);box-shadow:0 10px 26px rgba(255,45,149,.28)}
.btn-primary:hover{background:var(--grad);filter:brightness(1.07)}
.btn-ghost{border-color:var(--aqua);color:var(--aqua)}
.section:not(.section-dark) .btn-ghost,.filters .btn-ghost,.toolbar .btn-ghost,.vdp-side .btn-ghost{color:var(--text)!important;border-color:var(--text)}
.btn-dark{background:var(--ink);color:#fff}
.btn-aqua{background:var(--aqua);color:#08142a}
.btn-aqua:hover{filter:brightness(1.05)}
.eyebrow{color:var(--aqua);letter-spacing:.2em}
.eyebrow::before{background:var(--grad);height:3px;width:22px;border-radius:2px}
.section:not(.section-dark) .eyebrow{color:var(--pink)}

/* hero */
.hero{background:var(--ink)}
.hero-media img{opacity:.85;object-position:center}
.hero-media::after{background:linear-gradient(90deg,rgba(13,10,34,.96) 0%,rgba(13,10,34,.78) 42%,rgba(13,10,34,.15) 100%),linear-gradient(0deg,rgba(13,10,34,.95),transparent 45%)}
.hero h1 em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero-grid .hero-inner{max-width:640px}
.hero-logo{position:relative;padding:1rem}
.hero-logo img{width:100%;max-width:560px;margin-left:auto;filter:drop-shadow(0 0 30px rgba(22,221,230,.25)) drop-shadow(0 0 60px rgba(255,45,149,.2))}
.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.hero-tags span{font-size:var(--text-xs);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.35rem .8rem;color:#e6e0f7;background:rgba(13,10,34,.35)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-logo{order:-1;padding:2rem 0 0}.hero-logo img{max-width:340px;margin:0 auto}.hero-grid .hero-inner{padding-top:1.5rem}}

/* art-deco sunset stripes */
.deco-stripes{height:14px;background:repeating-linear-gradient(180deg,var(--pink) 0 3px,transparent 3px 5px,var(--sunset) 5px 8px,transparent 8px 10px,var(--aqua) 10px 13px,transparent 13px 14px)}
.trust-strip{background:linear-gradient(100deg,#ffd9e8,#fff1e6 45%,#d6f7f6)}
.trust-strip .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:1.4rem;padding-bottom:1.4rem}
.trust-strip div div{display:flex;align-items:center;gap:.85rem;font-weight:700;color:var(--text)}
.trust-strip strong{font-family:var(--font-display);font-size:1.6rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:760px){.trust-strip .wrap{grid-template-columns:1fr;gap:.6rem}}

.quick{border:1px solid var(--line);margin-top:2rem}
.section-pink{background:linear-gradient(180deg,#ffe8f1,#fff6ef)}
.section-sea{background:linear-gradient(180deg,#dcf8f6,#fff6ef)}
.section-dark{background:radial-gradient(ellipse at 85% 0%,rgba(255,45,149,.22),transparent 45%),radial-gradient(ellipse at 0% 100%,rgba(22,221,230,.18),transparent 45%),var(--ink)}
.step{background:rgba(22,17,49,.9)}
.step .n{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.steps{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.14)}

.card{border-color:var(--line);border-radius:var(--r)}
.card:hover{border-color:var(--pink);box-shadow:0 16px 40px rgba(255,45,149,.16)}
.badge{background:var(--grad);border-radius:999px}
.chip{background:var(--seafoam);border-color:#bfeeea;color:#225a60}
.price{color:var(--text)}
.card .price{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.page-head{background:radial-gradient(ellipse at 90% 0%,rgba(255,45,149,.35),transparent 50%),radial-gradient(ellipse at 10% 120%,rgba(22,221,230,.28),transparent 50%),var(--ink);position:relative}
.page-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad-cool)}
.page-head h1{background:linear-gradient(90deg,#fff 40%,#ffd0e6);-webkit-background-clip:text;background-clip:text;color:transparent}

.form-card{border-color:var(--line);border-radius:var(--r-lg)}
legend .num{background:var(--grad)}
.seg input:checked+span{background:var(--pink);border-color:var(--pink)}
.input:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(22,221,230,.22)}
.aside-card{background:radial-gradient(ellipse at 100% 0%,rgba(255,45,149,.35),transparent 55%),var(--ink)}
.aside-card li svg{color:var(--aqua)}
.secure{background:var(--seafoam);color:#28545a}
.split{border-color:var(--line);border-radius:var(--r-lg)}
.split-body li svg{color:var(--pink)}
.cta-band{background:linear-gradient(100deg,#ff2d95,#ff6a6a 50%,#ff9a4c);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;border:18px solid rgba(255,255,255,.18);box-shadow:0 0 0 22px rgba(255,255,255,.08)}
.cta-band>*{position:relative;z-index:1}

/* title assistance + approach + contact */
.title-panel{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center;background:linear-gradient(120deg,#ffd9e8,#ffeede 55%,#d6f7f6);border-radius:var(--r-lg);padding:clamp(1.75rem,5vw,3.5rem);border:1px solid var(--line)}
.title-panel h2{font-size:var(--text-2xl);margin:.75rem 0 1rem}
.title-panel p{color:var(--muted);max-width:56ch;margin-bottom:1.5rem}
.title-mark{font-family:var(--font-display);font-weight:800;font-size:clamp(4rem,12vw,9rem);line-height:1;text-align:center;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.title-mark span{color:var(--aqua);-webkit-text-fill-color:var(--aqua)}
@media (max-width:760px){.title-panel{grid-template-columns:1fr}.title-mark{text-align:left}}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.feature-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.feature-card .ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--seafoam);color:#127a80;font-family:var(--font-display);font-weight:700;font-size:.95rem}
.feature-card h3{font-size:var(--text-lg);margin:1rem 0 .4rem}
.feature-card p{color:var(--muted);font-size:var(--text-sm)}
@media (max-width:760px){.feature-grid{grid-template-columns:1fr}}
.contact-box{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center;border-radius:var(--r-lg);padding:clamp(1.75rem,5vw,3.5rem);color:var(--on-dark);background:radial-gradient(ellipse at 100% 0%,rgba(255,45,149,.4),transparent 50%),radial-gradient(ellipse at 0% 100%,rgba(22,221,230,.3),transparent 50%),var(--ink)}
.contact-box h2{font-size:var(--text-2xl);margin:.75rem 0}
.contact-box p{color:var(--muted-dark)}
.contact-details{display:grid;gap:.75rem}
.contact-details>div{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border:1px solid var(--line-dark);border-radius:var(--r-sm);background:rgba(255,255,255,.04)}
.contact-details span{color:var(--muted-dark);font-size:var(--text-sm)}
.contact-details a,.contact-details b{color:var(--aqua);font-weight:700;text-decoration:none}
@media (max-width:760px){.contact-box{grid-template-columns:1fr}}
.notice{background:#fff;border:1px solid var(--line);border-left:4px solid var(--aqua);border-radius:var(--r-sm);padding:.85rem 1rem;font-size:var(--text-sm);color:var(--muted);margin-bottom:1.25rem}

.site-footer{background:#070516;position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-cool)}
.foot-logo{height:74px;width:auto}
.foot-grid a:hover{color:var(--aqua)}
.gallery-main{background:#0d0a22}
.thumbs button[aria-current="true"]{border-color:var(--pink)}
.calc-out{background:var(--seafoam)}
.legend-note{font-size:var(--text-xs);color:var(--muted)}
.nav-links .btn-primary,.nav-links .btn-primary:hover,.nav-links .btn-primary[aria-current="page"]{background:var(--grad);color:#fff}
@media (max-width:900px){.hero-logo img{max-width:230px}.hero-logo{padding-top:1.5rem}}
.hero-logo img,.foot-logo{height:auto}.foot-logo{width:160px}
/* hero without center logo: text column only, scene visible on the right */
.hero-grid{grid-template-columns:minmax(0,680px) 1fr}
.hero-grid .hero-inner{padding-bottom:clamp(4rem,9vw,7rem)}
.hero-media::after{background:linear-gradient(90deg,rgba(13,10,34,.92) 0%,rgba(13,10,34,.6) 40%,rgba(13,10,34,0) 75%),linear-gradient(0deg,rgba(13,10,34,.85),transparent 35%)}
.brand-logo{height:72px}
@media (max-width:860px){.brand-logo{height:54px}}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-grid .hero-inner{padding-top:clamp(3rem,10vw,4rem)}}
.contact-logo{width:100%;max-width:300px;height:auto;margin:0 auto .5rem;filter:drop-shadow(0 0 24px rgba(22,221,230,.25))}
@media (max-width:900px){.hero-media::after{background:linear-gradient(180deg,rgba(13,10,34,.35),rgba(13,10,34,.72) 50%,rgba(13,10,34,.9))}.hero-media img{object-position:70% center}}
/* sell page hero: photo on the right so the phone stays visible */
.hero-sell .hero-media{left:42%}
.hero-sell .hero-media img{opacity:1;object-position:28% center}
.hero-sell .hero-media::after{background:linear-gradient(90deg,var(--ink) 0%,rgba(13,10,34,.55) 18%,rgba(13,10,34,0) 45%)}
.hero-sell .hero-inner{max-width:560px}
@media (max-width:900px){
  .hero-sell .hero-media{position:relative;left:0;height:280px}
  .hero-sell .hero-media::after{background:linear-gradient(0deg,var(--ink) 0%,rgba(13,10,34,0) 40%)}
  .hero-sell .hero-inner{padding-top:1.5rem}
}

/* The car is integrated into the road photograph, never a transparent overlay. */
.hero-home .hero-media picture{display:block;width:100%;height:100%}
.hero-home .hero-media img{opacity:1;object-position:center center}
.hero-home .hero-media::after{
  background:linear-gradient(90deg,rgba(13,10,34,.93) 0%,rgba(13,10,34,.67) 38%,rgba(13,10,34,.12) 68%,transparent 100%);
}
.hero-home .hero-grid{position:relative}
@media (max-width:900px){
  .hero-home .hero-media{
    background:url("hero-freeway-sky.webp") center/cover no-repeat;
  }
  .hero-home .hero-media img{
    position:absolute;
    bottom:0;
    width:100%;
    height:auto;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 22%);
  }
  .hero-home .hero-media::after{
    background:linear-gradient(180deg,rgba(13,10,34,.35),rgba(13,10,34,.8) 55%,rgba(13,10,34,.5) 70%,transparent 83%);
  }
  .hero-home .hero-grid .hero-inner{padding-bottom:clamp(250px,55vw,480px)}
}
