/* ============ RESET & TOKENS ============ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --red:#dd0000;
  --red-hot:#ff2222;
  --red-glow:rgba(255,30,30,.55);
  --red-dim:rgba(221,0,0,.18);
  --black:#050505;
  --panel:#0d0d0f;
  --panel-2:#121215;
  --line:#232327;
  --txt:#eaeaea;
  --txt-dim:#9a9aa0;
  --font-display:'Orbitron',sans-serif;
  --font-body:'Rajdhani',sans-serif;
}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{
  background:var(--black);
  color:var(--txt);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.55;
}
/* subtle carbon weave background */
body::before{
  content:'';position:fixed;inset:0;z-index:-2;
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.012) 0 2px, transparent 2px 6px),
    repeating-linear-gradient(-45deg, rgba(255,255,255,.012) 0 2px, transparent 2px 6px),
    radial-gradient(1100px 600px at 80% -10%, rgba(221,0,0,.14), transparent 60%),
    radial-gradient(900px 700px at 8% 108%, rgba(221,0,0,.10), transparent 60%),
    #050505;
}
a{color:var(--red-hot);text-decoration:none}
a:hover{color:#fff}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase}
.container{width:min(1240px,92%);margin:0 auto}
::selection{background:var(--red);color:#fff}

/* ============ RING UTILITY ============
   Static dark-grey ring: a 2px rim (light grey at the top fading to
   near-black) + soft drop glow for depth. Neutral by default so the
   page isn't saturated red; a faint red halo appears on hover. */
.ring{position:relative;z-index:0}
.ring::before{
  content:'';position:absolute;inset:-2px;z-index:-1;border-radius:inherit;
  background:linear-gradient(180deg,#55555e,#2a2a30 45%,#17171b);
  box-shadow:0 0 14px rgba(0,0,0,.55);
}
.ring::after{
  content:'';position:absolute;inset:-10px;z-index:-2;border-radius:inherit;
  background:radial-gradient(closest-side, var(--red-glow), transparent 72%);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.ring:hover::after{opacity:.45}
@media (prefers-reduced-motion: reduce){
  .ring::before,.ring::after,.rev{animation:none !important;transition:none !important}
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-block;position:relative;z-index:0;
  font-family:var(--font-display);font-weight:700;font-size:14px;
  letter-spacing:.14em;text-transform:uppercase;
  padding:15px 34px;border-radius:10px;cursor:pointer;border:none;
  color:#fff;background:linear-gradient(180deg,#1a1a1d,#0b0b0d);
  box-shadow:0 0 18px rgba(255,30,30,.25), inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 34px rgba(255,40,40,.6), inset 0 1px 0 rgba(255,255,255,.1);color:#fff}
.btn-solid{background:linear-gradient(180deg,#ff1c1c,#a30000)}
.btn-solid:hover{background:linear-gradient(180deg,#ff3838,#c40000)}
.btn.ring{border-radius:10px}

/* ============ NAV ============ */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(6,6,7,.92);
  border-bottom:1px solid var(--line);
  box-shadow:0 6px 30px rgba(0,0,0,.6), 0 1px 0 rgba(221,0,0,.35);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.nav-logo{display:inline-flex;align-items:center;background:#0a0a0c;border-radius:10px;padding:4px 8px}
/* logo: thin glowing red ring with a subtle arc rotating slowly; cards stay grey */
@property --ring-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.nav-logo.ring::before{
  inset:-1px;
  background:conic-gradient(from var(--ring-angle),
    rgba(255,34,34,.3) 0deg, rgba(255,34,34,.3) 245deg,
    rgba(255,60,60,.85) 300deg, #ffc9c9 330deg, rgba(255,34,34,.3) 360deg);
  box-shadow:0 0 9px rgba(255,30,30,.35);
  animation:ringspin 12s linear infinite;
}
.nav-logo.ring::after{opacity:.22}
.nav-logo.ring:hover::after{opacity:.55}
@keyframes ringspin{from{--ring-angle:0deg}to{--ring-angle:360deg}}
.nav-logo img{height:48px;width:auto;border-radius:6px;display:block}
.nav-links{display:flex;gap:6px;list-style:none;align-items:center}
.nav-links a{
  color:var(--txt);font-family:var(--font-display);font-size:12.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;border-radius:8px;
  transition:color .15s, text-shadow .15s;
}
.nav-links a:hover{color:var(--red-hot);text-shadow:0 0 14px var(--red-glow)}
.nav-cta{margin-left:8px}
.nav-toggle{display:none;background:none;border:1px solid var(--red);border-radius:8px;padding:8px 11px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--red-hot);margin:5px 0;box-shadow:0 0 8px var(--red-glow)}
@media(max-width:960px){
  .nav-toggle{display:block}
  .nav-links{
    position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:stretch;
    background:rgba(6,6,7,.98);border-bottom:1px solid var(--red);padding:14px 6%;
    transform:translateY(-130%);transition:transform .3s ease;gap:2px;
  }
  .nav-links.open{transform:translateY(0)}
  .nav-links a{padding:14px 10px;border-bottom:1px solid #151517}
  .nav-cta{margin:12px 0 4px}
}

/* ============ TOP BAR ============ */
.topbar{background:linear-gradient(90deg,#160000,#3a0000 40%,#160000);border-bottom:1px solid rgba(255,40,40,.25);font-size:14px}
.topbar-in{display:flex;justify-content:space-between;align-items:center;padding:7px 0;gap:14px;flex-wrap:wrap}
.topbar a{color:#ffb3b3;font-weight:600}
.topbar a:hover{color:#fff}
.topbar .tb-item{display:inline-flex;align-items:center;gap:7px;color:var(--txt-dim)}
.tb-dot{width:6px;height:6px;border-radius:50%;background:var(--red-hot);box-shadow:0 0 8px var(--red-glow);display:inline-block}
@media(max-width:700px){.topbar .tb-hours{display:none}}

/* ============ HERO ============ */
.hero{position:relative;padding:64px 0 56px;overflow:hidden}
.hero-grid{position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(rgba(255,30,30,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,30,30,.05) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000 30%,transparent 75%);
          mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000 30%,transparent 75%);
}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.3em;
  color:var(--red-hot);text-transform:uppercase;margin-bottom:22px;
  padding:8px 18px;border:1px solid rgba(255,40,40,.4);border-radius:999px;
  box-shadow:0 0 20px rgba(255,30,30,.15) inset, 0 0 16px rgba(255,30,30,.15);
}
.hero h1{font-size:clamp(40px,5.6vw,74px);font-weight:900;line-height:1.04;font-style:italic}
.hero h1 .w{color:#fff;text-shadow:0 0 30px rgba(255,255,255,.15)}
.hero h1 .r{
  color:var(--red-hot);
  text-shadow:0 0 18px rgba(255,30,30,.75), 0 0 60px rgba(255,30,30,.4);
}
.hero-sub{margin:24px 0 34px;color:var(--txt-dim);font-size:19px;max-width:520px}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap}
.hero-visual{position:relative;display:flex;justify-content:center}
.hero-art{
  display:block;width:100%;max-width:640px;height:auto;border-radius:18px;
  border:1px solid rgba(255,40,40,.35);
  box-shadow:0 0 44px rgba(255,30,30,.18), 0 24px 60px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.hero-stats{display:flex;gap:14px;margin-top:44px;flex-wrap:wrap}
.stat{
  background:linear-gradient(180deg,#101012,#0a0a0c);border:1px solid var(--line);
  border-radius:12px;padding:14px 22px;min-width:150px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(255,30,30,.08);
}
.stat b{display:block;font-family:var(--font-display);font-size:22px;color:var(--red-hot);text-shadow:0 0 14px var(--red-glow)}
.stat span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-dim)}
@media(max-width:960px){
  .hero{padding:28px 0 56px}
  .hero-in{grid-template-columns:1fr;gap:30px}
  .hero-visual{order:-1}
}

/* section scaffolding */
section{padding:88px 0}
.sec-head{text-align:center;margin-bottom:52px}
.sec-kicker{font-family:var(--font-display);font-size:12px;letter-spacing:.34em;color:var(--red-hot);text-transform:uppercase;margin-bottom:12px;text-shadow:0 0 12px var(--red-glow)}
.sec-head h2{font-size:clamp(28px,3.6vw,44px);font-weight:900}
.sec-head p{color:var(--txt-dim);max-width:640px;margin:14px auto 0;font-size:18px}
.sec-rule{width:120px;height:2px;margin:18px auto 0;background:linear-gradient(90deg,transparent,var(--red-hot),transparent);box-shadow:0 0 14px var(--red-glow)}

/* ============ SEARCH / FILTER BAR ============ */
.filterbar{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:12px;
  background:linear-gradient(180deg,#111113,#0a0a0c);
  border:1px solid var(--line);border-radius:14px;padding:16px;
  margin-bottom:40px;
  box-shadow:0 0 0 1px rgba(255,30,30,.10), 0 10px 40px rgba(0,0,0,.5);
}
.filterbar input,.filterbar select{
  width:100%;background:#050506;border:1px solid #26262b;border-radius:9px;
  color:var(--txt);font-family:var(--font-body);font-size:16px;font-weight:500;
  padding:13px 14px;outline:none;transition:border-color .15s, box-shadow .15s;
  appearance:none;
}
.filterbar select{background-image:linear-gradient(45deg,transparent 50%,var(--red-hot) 50%),linear-gradient(135deg,var(--red-hot) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.filterbar input:focus,.filterbar select:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-dim), 0 0 18px rgba(255,30,30,.25)}
.filterbar .btn{padding:13px 26px;white-space:nowrap}
@media(max-width:960px){.filterbar{grid-template-columns:1fr 1fr}.filterbar input[type=search]{grid-column:1/-1}.filterbar .btn{grid-column:1/-1}}

/* ============ INVENTORY GRID ============ */
.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:34px}
.car-card{
  border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#121214,#0a0a0c);
  display:flex;flex-direction:column;
  transition:transform .22s ease;
}
.car-card:hover{transform:translateY(-6px)}
.car-media{position:relative;aspect-ratio:4/3;background:#0a0a0b;overflow:hidden}
.car-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.car-card:hover .car-media img{transform:scale(1.06)}
.car-media .badge{
  position:absolute;top:12px;left:12px;z-index:2;
  font-family:var(--font-display);font-size:10.5px;font-weight:700;letter-spacing:.16em;
  color:#fff;background:linear-gradient(180deg,#ff1c1c,#9c0000);
  padding:6px 12px;border-radius:6px;text-transform:uppercase;
  box-shadow:0 0 14px rgba(255,30,30,.5);
}
.car-media .badge.loc{left:auto;right:12px;background:rgba(8,8,10,.85);border:1px solid rgba(255,40,40,.45);color:#ffb3b3;box-shadow:none}
.car-media .badge.sold{background:#222;border:1px solid #555;box-shadow:none}
.car-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.car-title{font-family:var(--font-display);font-size:16.5px;font-weight:900;letter-spacing:.04em;line-height:1.3;color:#fff}
.car-title small{display:block;color:#fff;font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.08em;margin-top:3px;text-transform:uppercase}
.car-price{font-family:var(--font-display);font-size:24px;font-weight:900;color:var(--red-hot);text-shadow:0 0 16px var(--red-glow)}
.car-price.call{font-size:16px;letter-spacing:.1em}
.car-specs{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;border-top:1px solid #1b1b1f;padding-top:13px;font-size:14.5px}
.car-specs div{color:#fff;font-weight:700}
.car-specs b{color:#fff;font-weight:700}
.car-actions{margin-top:auto;display:flex;gap:10px;padding-top:6px}
.car-actions .btn{flex:1;text-align:center;padding:12px 10px;font-size:12px}

/* loading / empty states */
.inv-state{text-align:center;padding:70px 20px;border:1px dashed #2c2c31;border-radius:16px;color:var(--txt-dim)}
.inv-state .spin{
  width:54px;height:54px;margin:0 auto 22px;border-radius:50%;
  border:3px solid #1c1c20;border-top-color:var(--red-hot);
  box-shadow:0 0 24px rgba(255,30,30,.25);
  animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.inv-state h3{color:#fff;margin-bottom:10px;font-size:18px}
.inv-count{font-family:var(--font-display);font-size:12px;letter-spacing:.2em;color:var(--txt-dim);text-transform:uppercase;margin-bottom:18px}
.inv-count b{color:var(--red-hot)}

/* ============ FEATURE STRIP ============ */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px}
.feature{border-radius:14px;background:linear-gradient(180deg,#111113,#0a0a0c);padding:30px 26px;text-align:center}
.feature .fi{
  width:64px;height:64px;margin:0 auto 18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:26px;
  background:radial-gradient(circle at 35% 30%, #2a0000, #100000);
  border:1px solid rgba(255,40,40,.5);
  box-shadow:0 0 22px rgba(255,30,30,.35), inset 0 0 14px rgba(255,30,30,.2);
}
.feature h3{font-size:15px;margin-bottom:10px;color:#fff}
.feature p{color:var(--txt-dim);font-size:15.5px}

/* ============ ABOUT ============ */
.about-in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-panel{border-radius:16px;padding:38px;background:linear-gradient(180deg,#121214,#0a0a0c)}
.about-panel h3{color:#fff;font-size:20px;margin-bottom:16px}
.about-panel p{color:var(--txt-dim);margin-bottom:14px;font-size:16.5px}
.about-list{list-style:none;margin-top:10px}
.about-list li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid #17171a;font-weight:600}
.about-list li::before{
  content:'';position:absolute;left:2px;top:50%;transform:translateY(-50%);
  width:10px;height:10px;border-radius:50%;
  background:var(--red-hot);box-shadow:0 0 10px var(--red-glow);
}
@media(max-width:960px){.about-in{grid-template-columns:1fr;gap:36px}}

/* ============ FINANCING CTA ============ */
.cta-band{
  border-radius:20px;padding:64px 42px;text-align:center;
  background:
    radial-gradient(700px 240px at 50% 0%, rgba(255,30,30,.22), transparent 70%),
    linear-gradient(180deg,#141416,#0a0a0c);
}
.cta-band h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:14px}
.cta-band p{color:var(--txt-dim);max-width:560px;margin:0 auto 32px;font-size:18px}

/* ============ LOCATIONS ============ */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}
.loc-card{border-radius:16px;background:linear-gradient(180deg,#121214,#0a0a0c);overflow:hidden;display:flex;flex-direction:column}
.loc-map{aspect-ratio:16/8;border:0;width:100%;background:#0a0a0b}
.loc-body{padding:26px 28px 30px}
.loc-body h3{color:#fff;font-size:18px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.loc-body h3 .tb-dot{width:9px;height:9px}
.loc-line{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid #17171a;font-size:16px}
.loc-line:last-child{border-bottom:none}
.loc-line .lbl{font-family:var(--font-display);font-size:10.5px;letter-spacing:.2em;color:var(--txt-dim);text-transform:uppercase;min-width:74px}
.loc-line a{font-weight:700;font-size:17px}
.loc-cta{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}
.loc-cta .btn{padding:11px 20px;font-size:11.5px}
@media(max-width:900px){.loc-grid{grid-template-columns:1fr}}

/* hours */
.hours-band{
  margin-top:38px;border-radius:16px;padding:30px 34px;
  background:linear-gradient(90deg,#160000,#2c0000 45%,#160000);
  border:1px solid rgba(255,40,40,.3);
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  box-shadow:0 0 34px rgba(255,30,30,.12);
}
.hours-band h3{font-size:16px;color:#fff}
.hours-band .hrs{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--red-hot);text-shadow:0 0 14px var(--red-glow)}
.hours-band span{color:var(--txt-dim);letter-spacing:.1em;text-transform:uppercase;font-size:13px}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--line);background:#070708;padding:56px 0 30px;margin-top:40px}
.foot-in{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:44px;margin-bottom:40px}
.foot-in img{height:64px;width:auto;border-radius:8px;margin-bottom:18px}
.foot-in p{color:var(--txt-dim);font-size:15px;max-width:340px}
.foot-h{font-family:var(--font-display);font-size:12px;letter-spacing:.24em;color:#fff;text-transform:uppercase;margin-bottom:16px}
.foot-links{list-style:none}
.foot-links li{margin-bottom:9px}
.foot-links a{color:var(--txt-dim);font-weight:600}
.foot-links a:hover{color:var(--red-hot)}
.foot-bottom{border-top:1px solid #151517;padding-top:24px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#6c6c72;font-size:14px}
@media(max-width:860px){.foot-in{grid-template-columns:1fr}}

/* ============ MODAL ============ */
.modal-back{
  position:fixed;inset:0;z-index:200;background:rgba(3,3,4,.88);
  display:none;align-items:center;justify-content:center;padding:26px;
}
.modal-back.open{display:flex}
.modal{
  width:min(980px,100%);max-height:92vh;overflow-y:auto;border-radius:18px;
  background:linear-gradient(180deg,#131315,#0a0a0c);
  position:relative;
}
.modal-close{
  position:absolute;top:14px;right:14px;z-index:5;width:42px;height:42px;border-radius:50%;
  background:rgba(10,10,12,.85);border:1px solid rgba(255,40,40,.55);color:var(--red-hot);
  font-size:19px;cursor:pointer;line-height:1;
  box-shadow:0 0 16px rgba(255,30,30,.35);
}
.modal-close:hover{background:var(--red);color:#fff}
.modal-gallery{position:relative;background:#000}
.modal-gallery .main{width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}
.gal-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,40,40,.5);
  background:rgba(8,8,10,.75);color:#fff;font-size:20px;cursor:pointer;
}
.gal-nav:hover{background:var(--red)}
.gal-prev{left:14px}.gal-next{right:14px}
.thumbs{display:flex;gap:8px;padding:12px;overflow-x:auto;background:#0a0a0b}
.thumbs img{width:92px;height:64px;object-fit:cover;border-radius:7px;cursor:pointer;opacity:.55;border:2px solid transparent;flex:0 0 auto}
.thumbs img.on{opacity:1;border-color:var(--red-hot);box-shadow:0 0 12px var(--red-glow)}
.modal-body{padding:30px 34px 36px}
.modal-body h3{font-size:22px;color:#fff;margin-bottom:6px}
.modal-price-row{display:flex;align-items:center;gap:20px;margin:14px 0 22px;flex-wrap:wrap}
.modal-price{font-family:var(--font-display);font-size:32px;font-weight:900;color:var(--red-hot);text-shadow:0 0 20px var(--red-glow)}
.spec-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:20px 0 28px}
.spec-cell{background:#0a0a0c;border:1px solid #1c1c20;border-radius:10px;padding:12px 15px}
.spec-cell .lbl{font-family:var(--font-display);font-size:10px;letter-spacing:.2em;color:var(--txt-dim);text-transform:uppercase;display:block;margin-bottom:4px}
.spec-cell b{font-size:16px;color:#fff}
.modal-ctas{display:flex;gap:14px;flex-wrap:wrap}

/* reveal on scroll */
.rev{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.rev.vis{opacity:1;transform:none}
