/* ===========================================================
   Mountain View Towing — design tokens (Neon Trail Rugged theme)
   Palette: Black #080807 (bg), Midnight Navy #042249 / Steel #0B1220 (alt sections),
            Electric Lime #B1D91D (primary accent), Electric Blue #0C7AEB (secondary),
   Type: 'Rajdhani' (display, condensed industrial) / 'Inter' (body/UI)
   =========================================================== */

:root{
  --charcoal:#080807;
  --navy:#042249;
  --steel:#0B1220;
  --steel-light:#152037;
  --lime:#B1D91D;
  --blue:#0C7AEB;
  --blue-deep:#0855B1;
  --silver:#D6E0E1;
  --muted:#87887E;
  --bone:#FFFFFF;
  --line:#515550;
  --radius:3px;
}

/* industrial hazard texture, used as a section background accent */
.hazard-bg{
  background-image:repeating-linear-gradient(135deg, rgba(177,217,29,.07) 0 18px, transparent 18px 36px);
}

*{box-sizing:border-box;}
html{scroll-behavior:scroll;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--charcoal);
  color:var(--bone);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Rajdhani',system-ui,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#fff;
  margin:0 0 .4em;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;}

.skip-link{position:absolute;left:-999px;top:0;background:var(--lime);color:var(--charcoal);padding:10px 16px;z-index:999;}
.skip-link:focus{left:8px;top:8px;}

/* hazard strip -> neon trail strip */
.hazard-strip{
  height:6px;
  background:linear-gradient(90deg,var(--lime) 0%,var(--blue) 100%);
}
.hazard-strip.top{
  height:8px;
  background:repeating-linear-gradient(135deg,var(--lime) 0 20px,var(--charcoal) 20px 40px);
}

/* ---------- top bar ---------- */
.topbar{background:var(--steel);color:var(--bone);font-size:.85rem;border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:9px 24px;flex-wrap:wrap;gap:6px;}
.topbar a.phone{color:var(--lime);font-weight:700;text-decoration:none;}
.topbar .badge{color:#8A9490;}

/* ---------- header ---------- */
header.site{background:var(--charcoal);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand img.logo{height:56px;width:auto;}
.brand-name{font-family:'Rajdhani';font-weight:700;font-size:1.35rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.1;color:#fff;}
.brand-name small{display:block;font-family:'Inter';font-weight:400;text-transform:none;font-size:.68rem;color:#8A9490;letter-spacing:.02em;}
nav.main{display:flex;gap:26px;align-items:center;}
nav.main a{text-decoration:none;font-weight:600;font-size:.92rem;color:var(--silver);}
nav.main a:hover{color:var(--lime);}
.btn-call{background:var(--lime);color:var(--charcoal) !important;padding:11px 22px;border-radius:var(--radius);font-weight:700;text-decoration:none;font-family:'Rajdhani';letter-spacing:.04em;text-transform:uppercase;box-shadow:0 0 18px rgba(190,235,4,.25);}
.btn-call:hover{background:#a8cf03;}
.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:#fff;}

/* ---------- hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(180deg,rgba(15,21,20,.55) 0%,rgba(15,21,20,.65) 55%,rgba(15,21,20,.97) 100%),
    url('images/mountain-view-towing-fleet-tow-trucks-montana-mountains.jpg');
  background-size:cover;
  background-position:center 40%;
  color:var(--bone);
  padding:110px 0 74px;
  overflow:hidden;
}
.hero .wrap{position:relative;}
.eyebrow{color:var(--lime);font-family:'Rajdhani';font-weight:700;letter-spacing:.14em;font-size:.85rem;text-transform:uppercase;margin-bottom:14px;}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.5rem);color:#fff;line-height:1.05;margin-bottom:18px;max-width:20ch;}
.hero h1 span{color:var(--lime);text-shadow:0 0 24px rgba(190,235,4,.35);}
.hero p.lead{font-size:1.08rem;color:var(--silver);max-width:52ch;margin-bottom:28px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{background:var(--lime);color:var(--charcoal);padding:15px 26px;border-radius:var(--radius);font-family:'Rajdhani';font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;font-size:1rem;box-shadow:0 0 22px rgba(190,235,4,.3);}
.btn-primary:hover{background:#a8cf03;}
.btn-outline{border:2px solid var(--blue);color:#fff;padding:13px 24px;border-radius:var(--radius);font-family:'Rajdhani';font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;}
.btn-outline:hover{background:rgba(12,122,235,.15);border-color:var(--blue-deep);}

.phone-pill{display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:var(--charcoal);padding:14px 26px;border-radius:40px;font-family:'Rajdhani';font-weight:700;font-size:1.15rem;letter-spacing:.02em;text-decoration:none;margin-bottom:28px;box-shadow:0 0 26px rgba(190,235,4,.3);}
.phone-pill .ic{width:30px;height:30px;background:var(--charcoal);color:var(--lime);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;}

/* ---------- trust strip ---------- */
.trust-strip{background:var(--steel);color:var(--bone);padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.trust-strip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:'Rajdhani';font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.85rem;}
.trust-strip .wrap span{color:var(--lime);margin-right:6px;}

/* ---------- sections ---------- */
section{padding:72px 0;}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head .eyebrow{color:var(--blue);}
.section-head p{color:var(--silver);font-size:1.02rem;}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:36px;}

.card{background:var(--steel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.card .num{font-family:'Rajdhani';font-weight:700;color:var(--lime);font-size:1.6rem;line-height:1;margin-bottom:10px;}
.card h3{font-size:1.1rem;margin-bottom:8px;color:#fff;}
.card p{color:var(--silver);font-size:.94rem;margin:0;}

.service-row{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.service-row:last-child{border-bottom:none;}
.service-row .icon{width:46px;height:46px;flex-shrink:0;background:var(--charcoal);border:1px solid var(--lime);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--lime);font-family:'Rajdhani';font-weight:700;}
.service-row h4{margin-bottom:4px;font-size:1.02rem;color:#fff;}
.service-row p{margin:0;color:var(--silver);font-size:.92rem;}

/* numbered service list */
.numbered-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.numbered-row{display:flex;align-items:center;gap:22px;padding:26px 28px;border-bottom:1px solid var(--line);background:var(--steel);transition:background .15s;}
.numbered-row:nth-child(even){background:#3d444b;}
.numbered-row:last-child{border-bottom:none;}
.numbered-row:hover{background:#242f2d;}
.numbered-row .idx{font-family:'Rajdhani';font-weight:700;color:var(--blue);font-size:1.1rem;width:34px;flex-shrink:0;}
.numbered-row .txt{flex:1;}
.numbered-row h4{margin:0;font-size:1.15rem;text-transform:uppercase;letter-spacing:.01em;color:#fff;}
.numbered-row p{margin:4px 0 0;color:var(--silver);font-size:.92rem;}
.numbered-row .go{width:42px;height:42px;flex-shrink:0;border-radius:50%;background:var(--lime);color:var(--charcoal);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;}

/* stats band */
.stats-band{background:var(--navy);}
.stats-band .grid-2{align-items:center;gap:64px;}
.stats-band h2{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;}
.stats-band .fine{color:var(--silver);font-weight:400;text-transform:none;font-family:'Inter';font-size:1rem;}
.stat-nums{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:34px;}
.stat-nums .n{font-family:'Rajdhani';font-weight:700;font-size:2.6rem;color:var(--lime);line-height:1;}
.stat-nums .l{font-weight:600;color:var(--silver);margin-top:6px;font-size:.95rem;}
.stat-visual{background:var(--steel);border-radius:var(--radius);min-height:340px;position:relative;overflow:hidden;border:1px solid var(--line);}
.stat-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}

/* coverage / area section */
.coverage{background:var(--navy);position:relative;}
.coverage .section-head p{color:var(--silver);}
.coverage .eyebrow{color:var(--lime);}
.coverage-banner{border-radius:var(--radius);overflow:hidden;margin-bottom:40px;border:1px solid var(--line);}
.town-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.town-card{background:var(--steel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--bone);transition:all .15s;}
.town-card:hover{background:#3d444b;border-color:var(--lime);}
.town-card .mi{color:var(--blue);font-family:'Rajdhani';font-weight:700;font-size:.82rem;text-transform:uppercase;}
.town-card h4{margin:6px 0 0;font-size:1.05rem;color:#fff;}

/* testimonials */
.testi{background:var(--steel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.stars{color:var(--lime);letter-spacing:.15em;margin-bottom:10px;}
.testi p{font-style:italic;color:var(--silver);}
.testi .who{margin-top:12px;font-family:'Rajdhani';font-weight:700;color:var(--lime);text-transform:uppercase;font-size:.85rem;}

/* CTA band */
.cta-band{background:var(--steel);color:#fff;text-align:center;padding:56px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cta-band h2{color:#fff;}
.cta-band p{color:var(--silver);margin-bottom:26px;}
.cta-band .btn-primary{background:var(--lime);color:var(--charcoal);}
.cta-band .btn-primary:hover{background:#a8cf03;}

/* faq */
details{border-bottom:1px solid var(--line);padding:16px 0;}
details summary{cursor:pointer;font-family:'Rajdhani';font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em;color:#fff;}
details summary::marker{color:var(--lime);}
details p{margin:12px 0 0;color:var(--silver);}

/* footer */
footer.site{background:var(--steel);color:var(--silver);padding:52px 0 24px;font-size:.92rem;border-top:1px solid var(--line);}
footer.site .grid-4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px;}
footer.site h5{color:#fff;font-family:'Rajdhani';text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;margin-bottom:14px;}
footer.site ul{list-style:none;margin:0;padding:0;}
footer.site li{margin-bottom:8px;}
footer.site a{text-decoration:none;color:var(--silver);}
footer.site a:hover{color:var(--lime);}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:#6C7570;}

/* location page specific */
.location-hero{
  background:linear-gradient(180deg,rgba(15,21,20,.6) 0%,rgba(15,21,20,.6) 55%,rgba(15,21,20,.97) 100%),
  url('../images/mountain-view-towing-fleet-tow-trucks-montana-mountains.jpg');
  background-size:cover;background-position:center 40%;color:#fff;padding:80px 0 60px;
}
.breadcrumb{font-size:.82rem;color:var(--silver);margin-bottom:16px;}
.breadcrumb a{color:var(--silver);text-decoration:none;}
.breadcrumb a:hover{color:var(--lime);}
.stat-row{display:flex;gap:34px;margin-top:26px;flex-wrap:wrap;}
.stat-row div{font-family:'Rajdhani';}
.stat-row .n{font-size:1.7rem;font-weight:700;color:var(--lime);}
.stat-row .l{font-size:.78rem;text-transform:uppercase;color:var(--silver);letter-spacing:.05em;}

.nearby{display:flex;gap:12px;flex-wrap:wrap;}
.nearby a{background:var(--steel);border:1px solid var(--line);border-radius:var(--radius);padding:8px 16px;text-decoration:none;color:#fff;font-weight:600;font-size:.88rem;}
.nearby a:hover{border-color:var(--lime);color:var(--lime);}

.local-photo{border-radius:var(--radius);margin:26px 0;border:1px solid var(--line);}

/* responsive */
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;}
  .grid-3{grid-template-columns:1fr 1fr;}
  .grid-2{grid-template-columns:1fr;}
  .town-grid{grid-template-columns:repeat(2,1fr);}
  footer.site .grid-4{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  nav.main{display:none;}
  .nav-toggle{display:block;}
  .grid-3{grid-template-columns:1fr;}
  .town-grid{grid-template-columns:1fr;}
  .trust-strip .wrap{flex-direction:column;}
  footer.site .grid-4{grid-template-columns:1fr;}
  .stat-row{gap:20px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
}
