/* =========================================================
   303 AUTO — DESIGN TOKENS
   Display: Rajdhani (condensed, technical, automotive)
   Body: Inter
   Utility/data: JetBrains Mono
   ========================================================= */
:root{
  --bg: #090b0f;
  --bg-elevated: #12151b;
  --bg-card: #171b22;
  --bg-card-hover: #1d222b;
  --line: #262c36;
  --line-soft: #1b1f27;
  --red: #e6293f;
  --red-dim: #a81c2c;
  --blue: #2f7dfa;
  --blue-dim: #1d54ad;
  --white: #f4f6f9;
  --muted: #8b93a1;
  --muted-dim: #5b6272;
  --success: #34d17c;
  --radius: 10px;
  --shadow-lg: 0 20px 60px -20px rgba(0,0,0,.6);
  --ease: cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{scroll-behavior:smooth; scroll-padding-top:110px;}
body{
  margin:0;
  background:var(--bg);
  color:var(--white);
  font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,.brand,.qs-go span,.calc-readout-value,.why-icon{
  font-family:'Rajdhani',sans-serif;
}
h1,h2,h3{margin:0; font-weight:700; letter-spacing:.01em; text-transform:uppercase;}
p{margin:0; color:var(--muted); line-height:1.6;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
ul{margin:0; padding:0; list-style:none;}
img{max-width:100%; display:block;}
::selection{background:var(--red); color:#fff;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

:focus-visible{outline:2px solid var(--blue); outline-offset:3px; border-radius:4px;}

.grain{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.text-red{color:var(--red);}
.text-blue{color:var(--blue);}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); margin-bottom:.6rem; display:block;
}

/* =============== BUTTONS =============== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.85rem 1.5rem; border-radius:8px; border:1px solid transparent;
  font-weight:600; font-size:.92rem; transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s;
  white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn-primary{
  background:linear-gradient(100deg,var(--red),var(--red-dim));
  color:#fff;
  box-shadow:0 8px 24px -8px rgba(230,41,63,.5);
}
.btn-primary:hover{box-shadow:0 10px 30px -6px rgba(230,41,63,.65); transform:translateY(-1px);}
.btn-ghost{background:rgba(255,255,255,.06); color:var(--white); border-color:var(--line);}
.btn-ghost:hover{background:rgba(255,255,255,.1);}
.btn-outline{background:transparent; border-color:var(--line); color:var(--white);}
.btn-outline:hover{border-color:var(--blue); color:var(--blue);}
.btn-block{width:100%;}

/* =============== TOPBAR =============== */
.topbar{background:var(--bg-elevated); border-bottom:1px solid var(--line-soft); font-size:.78rem; position:relative; z-index:50;}
.topbar-inner{
  max-width:1280px; margin:0 auto; padding:.5rem 1.5rem;
  display:flex; align-items:center; gap:.75rem; color:var(--muted);
  overflow-x:auto; scrollbar-width:none;
}
.topbar-inner::-webkit-scrollbar{display:none;}
.topbar-item{display:flex; align-items:center; gap:.4rem; white-space:nowrap;}
.topbar-phone{color:var(--white); font-weight:600;}
.topbar-phone svg{color:var(--red);}
.topbar-sep{color:var(--line);}
.topbar-social{margin-left:auto; display:flex; gap:.75rem; font-family:'JetBrains Mono',monospace; font-size:.72rem;}
.topbar-social a:hover{color:var(--blue);}

/* =============== NAV =============== */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(9,11,15,.85); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav-inner{
  max-width:1280px; margin:0 auto; padding:.9rem 1.5rem;
  display:flex; align-items:center; gap:2rem;
}
.brand{display:flex; align-items:center;}
.brand img{height:38px; width:auto; display:block; border-radius:7px;}
.nav-links{display:flex; gap:1.75rem; margin-left:auto; font-size:.92rem; font-weight:500;}
.nav-links a{color:var(--muted); transition:color .15s;}
.nav-links a:hover{color:var(--white);}
.nav-actions{display:flex; align-items:center; gap:.6rem;}
.nav-actions .btn-ghost{padding:.6rem; border-radius:8px;}
.nav-burger{display:none; flex-direction:column; gap:4px; background:none; border:none; padding:.5rem; margin-left:auto;}
.nav-burger span{width:22px; height:2px; background:var(--white); transition:transform .2s, opacity .2s;}
.nav-mobile{display:none; flex-direction:column; gap:.2rem; padding:0 1.5rem 1rem; border-top:1px solid var(--line-soft);}
.nav-mobile a{padding:.7rem 0; font-weight:500; color:var(--muted); border-bottom:1px solid var(--line-soft);}
.nav-mobile .btn{margin-top:.75rem;}
.nav.mobile-open .nav-mobile{display:flex;}

@media (max-width:920px){
  .nav-links, .nav-actions .btn-primary{display:none;}
  .nav-burger{display:flex;}
}

/* =============== HERO =============== */
.hero{
  position:relative; padding:6rem 1.5rem 5rem; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  min-height:88vh; justify-content:center;
}
.hero-skyline{
  position:absolute; inset:auto 0 0 0; height:62%;
  background-image:url('images/brand/skyline.svg');
  background-size:cover; background-position:center bottom; background-repeat:no-repeat;
  z-index:0; opacity:.9;
}
.hero-skyline::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(9,11,15,.55) 0%, rgba(9,11,15,.15) 40%, rgba(9,11,15,1) 100%);
}
.hero-streak{position:absolute; width:60vw; height:140vh; top:-20vh; filter:blur(60px); opacity:.22; z-index:0; border-radius:50%;}
.hero-streak-red{background:var(--red); right:-20vw; transform:rotate(20deg);}
.hero-streak-blue{background:var(--blue); left:-25vw; transform:rotate(-20deg);}
.hero-inner{position:relative; z-index:2; max-width:920px; display:flex; flex-direction:column; align-items:center;}
.hero-logo{height:64px; width:auto; border-radius:12px; margin-bottom:1.25rem; box-shadow:0 12px 30px -10px rgba(0,0,0,.6);}
.hero-title{
  font-size:clamp(2.6rem, 7vw, 5.2rem); line-height:.98; letter-spacing:-.01em; margin:.5rem 0 1.25rem;
}
.hero-sub{max-width:560px; font-size:1.05rem; margin-bottom:2.25rem;}

/* Quick search — signature interactive element */
.quick-search{
  width:100%; max-width:880px; background:var(--bg-card); border:1px solid var(--line);
  border-radius:14px; padding:1.1rem; box-shadow:var(--shadow-lg);
}
.quick-search-row{display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:.6rem;}
.qs-field{
  background:var(--bg-elevated); border:1px solid var(--line); color:var(--white);
  border-radius:7px; padding:.7rem .8rem; font-size:.88rem; font-family:inherit;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238b93a1'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .8rem center;
}
.qs-go{font-family:'Rajdhani',sans-serif; text-transform:uppercase; letter-spacing:.03em; font-size:1rem;}
.quick-search-tags{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.85rem;}
.tag{
  background:transparent; border:1px solid var(--line); color:var(--muted);
  border-radius:99px; padding:.4rem .9rem; font-size:.8rem; transition:all .15s;
}
.tag:hover, .tag.active{border-color:var(--blue); color:var(--blue); background:rgba(47,125,250,.08);}

/* Hero featured-vehicle carousel — license plate frame treatment */
.hero-carousel{
  width:100%; max-width:880px; margin-top:1.5rem; position:relative;
}
.plate-shell{
  position:relative; background:linear-gradient(180deg, #14181f, #0b0d12);
  border:1px solid #2a313c; border-radius:18px; padding:.4rem .9rem;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.75), inset 0 1px 0 rgba(255,255,255,.05);
}
.plate-screw{
  position:absolute; width:9px; height:9px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #9aa3b2, #3a4150 70%);
  box-shadow:inset 0 0 2px rgba(0,0,0,.6);
}
.plate-screw.tl{top:9px; left:11px;}
.plate-screw.tr{top:9px; right:11px;}
.plate-screw.bl{bottom:9px; left:11px;}
.plate-screw.br{bottom:9px; right:11px;}
.plate-top, .plate-bottom{
  font-family:'Rajdhani',sans-serif; font-weight:700; text-align:center;
  letter-spacing:.22em; color:var(--white); text-transform:uppercase;
}
.plate-top{font-size:.72rem; padding:.35rem 0 .4rem; opacity:.95;}
.plate-bottom{font-size:1.05rem; padding:.35rem 0 .3rem; letter-spacing:.28em;}
.hc-viewport{overflow:hidden; border-radius:10px; border:1px solid var(--line);}
.hc-track{display:flex; transition:transform .45s var(--ease);}
.hc-slide{
  min-width:100%; position:relative; cursor:pointer; background:var(--bg-card);
  display:grid; grid-template-columns:1.4fr 1fr; min-height:230px; text-align:left;
}
.hc-media{
  position:relative; background:linear-gradient(135deg,#1a2030,#0e1116);
  display:flex; align-items:center; justify-content:center; overflow:hidden; min-height:230px;
}
.hc-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.hc-media svg{width:45%; opacity:.5;}
.hc-info{
  padding:1.5rem; display:flex; flex-direction:column; justify-content:center; gap:.4rem;
}
.hc-badge{
  align-self:flex-start; background:var(--red); color:#fff; font-size:.66rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em; padding:.28rem .6rem; border-radius:5px; margin-bottom:.3rem;
}
.hc-title{font-family:'Rajdhani',sans-serif; font-size:1.5rem; font-weight:700; line-height:1.1;}
.hc-meta{font-size:.8rem; color:var(--muted);}
.hc-price{font-family:'JetBrains Mono',monospace; font-size:1.35rem; margin-top:.3rem;}
.hc-price small{color:var(--success); font-size:.72rem; display:block; font-family:'Inter',sans-serif;}
.hc-cta{margin-top:.8rem; align-self:flex-start; padding:.6rem 1.1rem; font-size:.82rem;}
.hc-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  background:rgba(9,11,15,.75); backdrop-filter:blur(6px); border:1px solid var(--line); color:var(--white);
  width:40px; height:40px; border-radius:50%; font-size:1.3rem; display:flex; align-items:center; justify-content:center;
  transition:border-color .15s, background .15s;
}
.hc-arrow:hover{border-color:var(--blue); background:rgba(9,11,15,.95);}
.hc-prev{left:-20px;}
.hc-next{right:-20px;}
.hc-dots{display:flex; justify-content:center; gap:.45rem; margin-top:.8rem;}
.hc-dots span{width:6px; height:6px; border-radius:50%; background:var(--line); transition:background .2s, transform .2s;}
.hc-dots span.active{background:var(--red); transform:scale(1.3);}
@media (max-width:720px){
  .hc-slide{grid-template-columns:1fr; min-height:0;}
  .hc-media{min-height:180px;}
  .hc-prev{left:8px;}
  .hc-next{right:8px;}
}

.hero-badges{display:flex; gap:2.5rem; margin-top:2.75rem; flex-wrap:wrap; justify-content:center;}.hero-badge{display:flex; flex-direction:column; align-items:center; font-family:'JetBrains Mono',monospace;}
.hero-badge b{font-size:1.4rem; font-family:'Rajdhani',sans-serif; font-weight:700;}
.hero-badge span{font-size:.72rem; color:var(--muted-dim); text-transform:uppercase; letter-spacing:.06em;}

.scroll-cue{position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); z-index:2;}
.scroll-cue span{
  display:block; width:22px; height:36px; border:2px solid var(--line); border-radius:99px; position:relative;
}
.scroll-cue span::before{
  content:''; position:absolute; top:6px; left:50%; width:4px; height:8px; background:var(--blue);
  border-radius:99px; transform:translateX(-50%); animation:scrollcue 1.6s infinite;
}
@keyframes scrollcue{0%{opacity:1; top:6px;} 70%{opacity:0; top:20px;} 100%{opacity:0; top:6px;}}

@media (max-width:720px){
  .quick-search-row{grid-template-columns:1fr; }
}

/* =============== USA STAR DIVIDER =============== */
.usa-divider{
  height:10px; position:relative; z-index:2;
  background:linear-gradient(90deg, var(--red) 0%, var(--red) 33%, var(--white) 33%, var(--white) 66%, var(--blue) 66%, var(--blue) 100%);
}
.usa-divider::after{
  content:''; position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10'%3E%3Ctext x='20' y='8' font-size='8' text-anchor='middle' fill='white' opacity='0.85'%3E%E2%98%85%3C/text%3E%3C/svg%3E");
  background-repeat:repeat-x; background-position:center; opacity:.9;
}

/* =============== TRUST STRIP =============== */
.trust-star{color:var(--muted-dim); font-size:.7rem; opacity:.6;}
@media (max-width:720px){.trust-star{display:none;}}
.trust-strip{
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
  background:var(--bg-elevated);
  display:flex; flex-wrap:wrap; justify-content:center; gap:2.5rem 3rem;
  padding:1.5rem; position:relative; z-index:2;
}
.trust-item{display:flex; align-items:center; gap:.6rem; font-weight:600; font-size:.9rem;}
.trust-item svg{color:var(--red);}
.trust-item:nth-child(2) svg{color:var(--blue);}
.trust-item:nth-child(4) svg{color:var(--blue);}

/* =============== SECTIONS =============== */
.section{padding:5.5rem 1.5rem; position:relative; z-index:2;}
.section-alt{background:var(--bg-elevated);}
.section-inner{max-width:1200px; margin:0 auto;}
.section-head{max-width:640px; margin-bottom:3rem;}
.section-head h2{font-size:clamp(1.9rem, 3.5vw, 2.7rem); margin-bottom:.75rem;}
.section-lede{font-size:1.02rem;}
.section-inner-split{display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:start;}
@media (max-width:900px){.section-inner-split{grid-template-columns:1fr;}}

/* =============== INVENTORY =============== */
.inv-toolbar{display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1rem;}
.inv-search-box{
  flex:1 1 260px; display:flex; align-items:center; gap:.6rem; background:var(--bg-card);
  border:1px solid var(--line); border-radius:8px; padding:.7rem 1rem; color:var(--muted-dim);
}
.inv-search-box input{background:none; border:none; color:var(--white); font-family:inherit; font-size:.9rem; width:100%; outline:none;}
.inv-filters{display:flex; gap:.6rem; flex-wrap:wrap;}
.inv-filters .qs-field{background:var(--bg-card);}

.inv-price-slider{margin-bottom:.5rem; max-width:420px;}
.inv-price-slider label{font-size:.82rem; color:var(--muted); font-family:'JetBrains Mono',monospace; display:block; margin-bottom:.5rem;}
.inv-price-slider label span{color:var(--white); font-weight:600;}
input[type="range"]{
  -webkit-appearance:none; width:100%; height:4px; background:var(--line); border-radius:99px; outline:none;
}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none; width:18px; height:18px; border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--red)); border:2px solid var(--white); cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.4);
}
input[type="range"]::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%; border:2px solid var(--white);
  background:linear-gradient(135deg,var(--blue),var(--red)); cursor:pointer;
}

.inv-result-count{font-family:'JetBrains Mono',monospace; font-size:.8rem; margin:1.25rem 0; color:var(--muted-dim);}

.inv-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem;}
.car-card{
  background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  cursor:pointer; transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;
}
.car-card:hover{transform:translateY(-4px); border-color:var(--blue); box-shadow:var(--shadow-lg);}
.car-media{
  aspect-ratio:16/10; background:linear-gradient(135deg,#1a2030,#0e1116); position:relative;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.car-media svg{width:60%; opacity:.5;}
.car-media img{width:100%; height:100%; object-fit:cover;}
.car-badge{
  position:absolute; top:.7rem; left:.7rem; background:var(--red); color:#fff; font-size:.68rem;
  font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:.3rem .6rem; border-radius:5px;
}
.car-stock{position:absolute; top:.7rem; right:.7rem; font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--muted-dim); background:rgba(0,0,0,.5); padding:.25rem .5rem; border-radius:5px;}
.car-body{padding:1.1rem;}
.car-title{font-family:'Rajdhani',sans-serif; font-size:1.25rem; font-weight:700; margin-bottom:.2rem; text-transform:none;}
.car-meta{display:flex; gap:.75rem; font-size:.78rem; color:var(--muted); margin-bottom:.75rem; flex-wrap:wrap;}
.car-price-row{display:flex; align-items:center; justify-content:space-between;}
.car-price{font-family:'JetBrains Mono',monospace; font-size:1.15rem; font-weight:500; color:var(--white);}
.car-price small{color:var(--muted-dim); font-weight:400; font-size:.7rem;}
.car-est{font-size:.72rem; color:var(--success);}

.inv-empty{text-align:center; padding:3rem 1rem;}
.inv-empty p{margin-bottom:1rem;}
.inv-loadmore-wrap{text-align:center; margin-top:2.5rem;}

.inv-placeholder{
  text-align:center; padding:4rem 1.5rem; background:var(--bg-card); border:1px dashed var(--line);
  border-radius:14px; display:flex; flex-direction:column; align-items:center; gap:1.25rem;
}
.inv-placeholder svg{opacity:.4;}
.inv-placeholder p{max-width:420px; font-size:.95rem;}

/* =============== VEHICLE MODAL =============== */
.modal-overlay{
  position:fixed; inset:0; background:rgba(5,6,9,.75); backdrop-filter:blur(4px);
  z-index:200; display:flex; align-items:center; justify-content:center; padding:1.5rem;
}
.modal-panel{
  background:var(--bg-card); border:1px solid var(--line); border-radius:14px; max-width:760px; width:100%;
  max-height:88vh; overflow-y:auto; position:relative; box-shadow:var(--shadow-lg);
  animation:modalIn .25s var(--ease);
}
@keyframes modalIn{from{opacity:0; transform:translateY(20px) scale(.98);} to{opacity:1; transform:none;}}
.modal-close{
  position:absolute; top:1rem; right:1rem; background:rgba(255,255,255,.08); border:none; color:var(--white);
  width:34px; height:34px; border-radius:50%; z-index:2; font-size:.9rem;
}
.modal-close:hover{background:rgba(255,255,255,.18);}
.modal-body{padding:0;}
.vm-media{aspect-ratio:16/9; background:linear-gradient(135deg,#1a2030,#0e1116); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.vm-media svg{width:40%; opacity:.5;}
.vm-media img{width:100%; height:100%; object-fit:cover;}
.vm-content{padding:1.75rem;}
.vm-content h3{font-size:1.7rem; margin-bottom:.3rem;}
.vm-price{font-family:'JetBrains Mono',monospace; font-size:1.4rem; color:var(--white); margin-bottom:1.25rem; display:block;}
.vm-specs{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1.5rem;}
.vm-spec{background:var(--bg-elevated); border:1px solid var(--line-soft); border-radius:8px; padding:.75rem;}
.vm-spec b{display:block; font-size:.95rem;}
.vm-spec span{font-size:.7rem; color:var(--muted-dim); text-transform:uppercase; letter-spacing:.05em;}
.vm-features{display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.5rem;}
.vm-features span{background:var(--bg-elevated); border:1px solid var(--line-soft); border-radius:99px; padding:.35rem .8rem; font-size:.78rem; color:var(--muted);}
.vm-actions{display:flex; gap:.75rem; flex-wrap:wrap;}

/* =============== FINANCING CALC =============== */
.calc-wrap{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;}
@media (max-width:900px){.calc-wrap{grid-template-columns:1fr;}}
.calc-field{margin-bottom:1.75rem;}
.calc-field-head{display:flex; justify-content:space-between; margin-bottom:.6rem; font-size:.9rem;}
.calc-field-head label{color:var(--muted); font-weight:500;}
.calc-val{font-family:'JetBrains Mono',monospace; font-weight:600;}
.calc-dial-wrap{
  background:var(--bg-card); border:1px solid var(--line); border-radius:16px; padding:2rem;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.calc-dial{width:100%; max-width:280px;}
#calc-needle{transition:transform .3s var(--ease);}
#calc-dial-arc{transition:stroke-dashoffset .3s var(--ease);}
.calc-readout{margin-top:-1.5rem; display:flex; flex-direction:column; align-items:center;}
.calc-readout-label{font-size:.78rem; color:var(--muted-dim); text-transform:uppercase; letter-spacing:.06em; font-family:'JetBrains Mono',monospace;}
.calc-readout-value{font-size:2.6rem; font-weight:700; line-height:1;}
.calc-readout-value span{font-size:1rem; color:var(--muted); font-family:'Inter',sans-serif;}
.calc-readout-sub{font-size:.82rem; color:var(--muted); margin-top:.3rem;}
.calc-cta{margin-top:1.5rem;}

/* =============== TRADE-IN / FORMS =============== */
.check-list{margin-top:1.5rem; display:flex; flex-direction:column; gap:.7rem;}
.check-list li{display:flex; align-items:flex-start; gap:.6rem; color:var(--white); font-size:.92rem;}
.check-list li::before{content:'✓'; color:var(--success); font-weight:700;}
.trade-form, .appt-form{
  background:var(--bg-card); border:1px solid var(--line); border-radius:14px; padding:1.75rem;
}
.appt-form{margin-top:1.5rem;}
.appt-form h3{font-size:1.2rem; margin-bottom:1rem;}
.form-row{display:flex; gap:1rem; margin-bottom:1rem;}
.form-field{flex:1; display:flex; flex-direction:column; gap:.4rem;}
.form-field-wide{flex:1 1 100%;}
.form-field label{font-size:.8rem; color:var(--muted); font-weight:500;}
.form-field input, .form-field select{
  background:var(--bg-elevated); border:1px solid var(--line); color:var(--white);
  border-radius:7px; padding:.7rem .85rem; font-family:inherit; font-size:.9rem;
}
.form-field input:focus, .form-field select:focus{border-color:var(--blue);}
@media (max-width:520px){.form-row{flex-direction:column;}}
.trade-result{
  margin-top:1.25rem; padding:1rem; border-radius:8px; background:rgba(52,209,124,.1);
  border:1px solid rgba(52,209,124,.3); font-size:.9rem;
}
.trade-result b{color:var(--success); font-family:'JetBrains Mono',monospace; font-size:1.1rem;}

/* =============== WHY US =============== */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-bottom:4rem;}
@media (max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr;}}
.why-card{
  background:var(--bg-card); border:1px solid var(--line); border-radius:12px; padding:1.75rem;
  transition:border-color .2s, transform .2s;
}
.why-card:hover{border-color:var(--red); transform:translateY(-3px);}
.why-icon{
  display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px;
  border-radius:9px; background:linear-gradient(135deg,var(--blue),var(--red)); font-size:1.3rem; font-weight:700;
  margin-bottom:1rem;
}
.why-card h3{font-size:1.1rem; margin-bottom:.5rem; text-transform:none;}
.why-card p{font-size:.88rem;}

/* Testimonials */
.testimonial-carousel{display:flex; align-items:center; gap:1rem;}
.tc-viewport{overflow:hidden; flex:1;}
.tc-track{display:flex; transition:transform .4s var(--ease);}
.tc-card{
  min-width:100%; background:var(--bg-card); border:1px solid var(--line); border-radius:14px;
  padding:2rem; display:flex; flex-direction:column; gap:1rem;
}
.tc-stars{color:var(--red); letter-spacing:.15em;}
.tc-quote{font-size:1.1rem; color:var(--white); font-style:italic; line-height:1.6;}
.tc-author{font-size:.85rem; color:var(--muted-dim); font-family:'JetBrains Mono',monospace;}
.tc-arrow{
  background:var(--bg-card); border:1px solid var(--line); color:var(--white); width:42px; height:42px;
  border-radius:50%; font-size:1.4rem; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  transition:border-color .15s;
}
.tc-arrow:hover{border-color:var(--blue);}
.tc-dots{display:flex; justify-content:center; gap:.5rem; margin-top:1.25rem;}
.tc-dots span{width:7px; height:7px; border-radius:50%; background:var(--line); transition:background .2s;}
.tc-dots span.active{background:var(--red);}

/* =============== CONTACT =============== */
.contact-detail{display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; font-size:.95rem;}
.contact-detail svg{color:var(--red); flex-shrink:0;}
.hours-table{margin:1.5rem 0; border-top:1px solid var(--line-soft);}
.hours-table div{display:flex; justify-content:space-between; padding:.6rem 0; border-bottom:1px solid var(--line-soft); font-size:.9rem;}
.hours-table span:first-child{color:var(--muted);}
.contact-cta-row{display:flex; gap:1rem; margin-top:1.5rem; flex-wrap:wrap;}

.split-map{display:flex; flex-direction:column; gap:1.5rem;}
.map-frame{
  position:relative; aspect-ratio:4/3; background:var(--bg-card); border:1px solid var(--line);
  border-radius:14px; overflow:hidden; display:flex; align-items:center; justify-content:center;
}
.map-grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(139,147,161,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(139,147,161,.08) 1px, transparent 1px);
  background-size:40px 40px;
}
.map-pin{position:relative; z-index:2; animation:pinBounce 2s ease-in-out infinite;}
@keyframes pinBounce{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
.map-label{
  position:absolute; bottom:1rem; left:1rem; right:1rem; background:rgba(9,11,15,.85); backdrop-filter:blur(6px);
  padding:.6rem .9rem; border-radius:8px; font-size:.8rem; font-family:'JetBrains Mono',monospace; z-index:2;
}

/* =============== FOOTER =============== */
.footer{background:var(--bg-elevated); border-top:1px solid var(--line-soft); padding:4rem 1.5rem 1.5rem;}
.footer-inner{max-width:1200px; margin:0 auto; display:flex; justify-content:space-between; gap:3rem; flex-wrap:wrap;}
.footer-brand img{height:64px; width:auto; display:block; border-radius:9px;}
.footer-cols{display:flex; gap:3.5rem; flex-wrap:wrap;}
.footer-col{display:flex; flex-direction:column; gap:.7rem;}
.footer-col h4{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted-dim); margin-bottom:.3rem; font-family:'JetBrains Mono',monospace; font-weight:600;}
.footer-col a, .footer-col span{font-size:.88rem; color:var(--muted); transition:color .15s;}
.footer-col a:hover{color:var(--blue);}
.footer-bottom{max-width:1200px; margin:2.5rem auto 0; padding-top:1.5rem; border-top:1px solid var(--line-soft); font-size:.78rem; color:var(--muted-dim); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem;}
.staff-login{color:var(--muted-dim); opacity:.7; transition:opacity .15s;}
.staff-login:hover{opacity:1; color:var(--blue);}

/* =============== FLOATING ACTION CLUSTER =============== */
.fab-cluster{
  position:fixed; bottom:1.5rem; right:1.5rem; z-index:150; display:flex; flex-direction:column; gap:.75rem;
}
.fab{
  width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); color:#fff; position:relative; box-shadow:0 8px 24px -6px rgba(0,0,0,.5);
  transition:transform .15s var(--ease);
}
.fab:hover{transform:scale(1.08);}
.fab-call{background:linear-gradient(135deg,var(--red),var(--red-dim)); border:none;}
.fab-pulse{
  position:absolute; inset:0; border-radius:50%; border:2px solid var(--red); animation:pulseRing 2s infinite;
}
@keyframes pulseRing{0%{transform:scale(1); opacity:.7;} 100%{transform:scale(1.6); opacity:0;}}
.fab-text{background:var(--bg-card);}
.fab-chat{background:linear-gradient(135deg,var(--blue),var(--blue-dim)); border:none;}
.fab-badge{
  position:absolute; top:-4px; right:-4px; background:var(--red); color:#fff; font-size:.65rem; font-weight:700;
  width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:2px solid var(--bg);
}

/* =============== CHATBOT =============== */
.chatbot{
  position:fixed; bottom:6rem; right:1.5rem; z-index:160; width:min(370px, calc(100vw - 2rem));
  height:min(540px, calc(100vh - 8rem)); background:var(--bg-card); border:1px solid var(--line);
  border-radius:16px; display:flex; flex-direction:column; overflow:hidden; box-shadow:var(--shadow-lg);
  animation:chatIn .25s var(--ease);
}
@keyframes chatIn{from{opacity:0; transform:translateY(16px) scale(.97);} to{opacity:1; transform:none;}}
.chatbot-head{
  background:linear-gradient(100deg,var(--red),var(--blue)); padding:1rem 1.1rem; display:flex;
  align-items:center; justify-content:space-between;
}
.chatbot-head-title{display:flex; align-items:center; gap:.65rem;}
.chatbot-head-title b{display:block; font-size:.92rem;}
.chatbot-head-title small{font-size:.7rem; opacity:.85;}
.chatbot-logo{height:28px; width:auto; border-radius:6px; flex-shrink:0;}
.chatbot-close{background:rgba(0,0,0,.2); border:none; color:#fff; width:28px; height:28px; border-radius:50%; font-size:.8rem;}
.chatbot-body{flex:1; overflow-y:auto; padding:1rem; display:flex; flex-direction:column; gap:.7rem;}
.msg{max-width:82%; padding:.65rem .9rem; border-radius:12px; font-size:.86rem; line-height:1.45;}
.msg-bot{background:var(--bg-elevated); border:1px solid var(--line-soft); align-self:flex-start; border-bottom-left-radius:3px;}
.msg-user{background:var(--blue); color:#fff; align-self:flex-end; border-bottom-right-radius:3px;}
.msg-typing{display:flex; gap:4px; padding:.8rem 1rem;}
.msg-typing span{width:6px; height:6px; border-radius:50%; background:var(--muted-dim); animation:typingDot 1.2s infinite;}
.msg-typing span:nth-child(2){animation-delay:.2s;}
.msg-typing span:nth-child(3){animation-delay:.4s;}
@keyframes typingDot{0%,60%,100%{opacity:.3; transform:translateY(0);} 30%{opacity:1; transform:translateY(-3px);}}
.chatbot-quick{display:flex; gap:.5rem; flex-wrap:wrap; padding:0 1rem .75rem;}
.chatbot-quick button{
  background:var(--bg-elevated); border:1px solid var(--line); color:var(--muted); border-radius:99px;
  padding:.4rem .8rem; font-size:.76rem; transition:all .15s;
}
.chatbot-quick button:hover{border-color:var(--blue); color:var(--blue);}
.chatbot-input-row{display:flex; border-top:1px solid var(--line-soft); padding:.6rem;}
.chatbot-input-row input{
  flex:1; background:var(--bg-elevated); border:1px solid var(--line); color:var(--white); border-radius:8px;
  padding:.65rem .8rem; font-family:inherit; font-size:.86rem; margin-right:.5rem;
}
.chatbot-input-row button{
  background:linear-gradient(135deg,var(--blue),var(--red)); border:none; color:#fff; width:40px; border-radius:8px;
}

@media (max-width:520px){
  .chatbot{right:.75rem; left:.75rem; width:auto; bottom:5.5rem;}
  .fab-cluster{right:1rem; bottom:1rem;}
}
