
:root{
  --yellow:#f5c400; --yellow2:#ffe45a; --black:#050505; --dark:#0d0d0d; --panel:rgba(18,18,18,.84);
  --white:#fff; --muted:#bdbdbd; --line:rgba(245,196,0,.26); --danger:#ffcc00;
  --radius:28px; --shadow:0 28px 90px rgba(0,0,0,.65);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,Arial,Helvetica,sans-serif;background:#050505;color:#fff;overflow-x:hidden;
  background:
    radial-gradient(circle at 15% 0%,rgba(245,196,0,.16),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(245,196,0,.08),transparent 30%),
    linear-gradient(180deg,#030303,#111 45%,#050505);
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.bg-noise{position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 420 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.mouse-light{position:fixed;width:380px;height:380px;border-radius:999px;background:radial-gradient(circle,rgba(245,196,0,.14),transparent 68%);z-index:1;pointer-events:none;transform:translate(-50%,-50%)}
.topbar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,54px);background:rgba(0,0,0,.76);border-bottom:1px solid rgba(245,196,0,.22);backdrop-filter:blur(18px)}
.logo-link img{width:154px;filter:drop-shadow(0 0 22px rgba(245,196,0,.22))}
.main-nav{display:flex;gap:20px;align-items:center}
.main-nav a{font-size:12px;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:#ddd;position:relative;padding:10px 0}
.main-nav a:after{content:"";position:absolute;left:0;bottom:2px;height:2px;width:0;background:var(--yellow);transition:.25s}
.main-nav a:hover:after,.main-nav a.active:after{width:100%}
.main-nav a.active{color:var(--yellow)}
.top-actions{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 18px;border-radius:999px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;transition:.25s ease;border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden}
.btn-yellow{background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#050505;box-shadow:0 0 30px rgba(245,196,0,.25)}
.btn-dark{background:rgba(0,0,0,.74);color:#fff;border-color:var(--line)}
.btn-glass,.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.18)}
.btn-xl{min-height:58px;padding:0 25px;font-size:14px}
.btn:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(245,196,0,.18)}
.hamburger{display:none;width:48px;height:46px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}
.hamburger span{display:block;width:22px;height:2px;background:#fff;margin:5px auto}
.mobile-menu{display:none}

.panic-panel{position:fixed;right:18px;top:110px;z-index:55;width:226px;padding:15px;background:rgba(0,0,0,.82);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.panic-panel strong{display:block;font-size:18px;text-transform:uppercase}
.panic-panel span{display:block;color:var(--muted);font-size:12px;margin:4px 0 12px}
.panic-panel a{display:flex;align-items:center;justify-content:center;height:38px;border-radius:12px;margin-top:8px;background:var(--yellow);color:#050505;font-weight:1000;text-transform:uppercase;font-size:12px}
.panic-panel a:last-child{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.16)}
.live-dot{width:10px;height:10px;background:#35ff60;border-radius:50%;box-shadow:0 0 18px #35ff60;float:right;animation:blink 1.1s infinite}
@keyframes blink{50%{opacity:.35}}

.hero,.page-hero{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;padding-top:100px}
.page-hero{min-height:72vh}
.hero-bg{position:absolute;inset:0;background:url("assets/hero-banner.png") center/cover no-repeat;filter:saturate(1.12) contrast(1.08);transform:scale(1.04);animation:slowZoom 18s ease-in-out infinite alternate}
@keyframes slowZoom{to{transform:scale(1.1) translateX(-1.5%)}}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.78) 42%,rgba(0,0,0,.38)),
  radial-gradient(circle at 18% 45%,rgba(245,196,0,.28),transparent 36%)}
.road-lines{position:absolute;left:50%;bottom:-10%;width:12px;height:55%;background:linear-gradient(180deg,transparent,var(--yellow),transparent);transform:perspective(360px) rotateX(62deg);filter:blur(.5px);opacity:.9}
.hero-inner{position:relative;z-index:3;width:min(1260px,92vw);margin:0 auto;display:grid;grid-template-columns:1.25fr .75fr;gap:38px;align-items:center}
.page-inner{position:relative;z-index:3;width:min(1000px,92vw);margin:0 auto}
.kicker{display:flex;align-items:center;gap:10px;color:var(--yellow);font-weight:1000;text-transform:uppercase;letter-spacing:.14em;font-size:13px;margin-bottom:18px}
.kicker span{width:46px;height:3px;background:var(--yellow);box-shadow:0 0 24px var(--yellow)}
h1{font-size:clamp(48px,8vw,116px);line-height:.84;letter-spacing:-.075em;text-transform:uppercase;text-shadow:0 16px 60px #000;max-width:940px}
.page-hero h1{font-size:clamp(48px,7vw,96px)}
.lead{font-size:clamp(18px,2vw,24px);color:#e4e4e4;line-height:1.55;max-width:830px;margin:24px 0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.proof-grid{margin-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:850px}
.proof-grid div{padding:17px;border:1px solid var(--line);background:rgba(0,0,0,.58);border-radius:20px;box-shadow:var(--shadow)}
.proof-grid strong{display:block;color:var(--yellow);font-size:24px;line-height:1;text-transform:uppercase}
.proof-grid span{display:block;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:12px;margin-top:7px}

.help-card{position:relative;background:linear-gradient(180deg,rgba(22,22,22,.92),rgba(0,0,0,.82));border:1px solid rgba(245,196,0,.34);border-radius:34px;padding:26px;box-shadow:var(--shadow);overflow:hidden}
.scanline{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(245,196,0,.08),transparent);height:70px;animation:scan 4s linear infinite}
@keyframes scan{from{transform:translateY(-90px)}to{transform:translateY(520px)}}
.card-label{color:var(--yellow);font-weight:1000;text-transform:uppercase;font-size:13px;letter-spacing:.1em}
.help-card h2{font-size:40px;text-transform:uppercase;line-height:.9;margin:12px 0 18px}
.help-card a{position:relative;z-index:2;display:block;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;margin-top:12px;background:rgba(255,255,255,.05);transition:.25s}
.help-card a:hover{border-color:var(--yellow);transform:translateX(6px)}
.help-card b{display:block;font-size:18px;text-transform:uppercase}
.help-card span{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.marquee{position:absolute;z-index:4;left:0;right:0;bottom:0;overflow:hidden;background:var(--yellow);color:#050505;transform:rotate(-1deg) scale(1.02);box-shadow:0 -10px 45px rgba(0,0,0,.45)}
.marquee div{display:flex;gap:38px;width:max-content;animation:marq 22s linear infinite;padding:16px 0;font-weight:1000;text-transform:uppercase;letter-spacing:.12em}
@keyframes marq{to{transform:translateX(-50%)}}

.snap-services{position:relative;z-index:8;width:min(1260px,92vw);margin:-45px auto 70px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.snap-card{min-height:250px;padding:24px;border-radius:28px;background:linear-gradient(180deg,rgba(25,25,25,.96),rgba(5,5,5,.96));border:1px solid rgba(245,196,0,.23);box-shadow:var(--shadow);transition:.3s;overflow:hidden;position:relative}
.snap-card:before{content:"";position:absolute;right:-54px;bottom:-54px;width:150px;height:150px;border-radius:50%;background:rgba(245,196,0,.12)}
.snap-card:hover{transform:translateY(-8px) rotateX(4deg);border-color:var(--yellow)}
.snap-card span{color:var(--yellow);font-weight:1000}
.snap-card h2{font-size:31px;text-transform:uppercase;line-height:.94;margin:16px 0}
.snap-card p{color:var(--muted);line-height:1.55}

.section{width:min(1260px,92vw);margin:0 auto;padding:88px 0;position:relative;z-index:5}
.section-head{max-width:900px;margin:0 auto 38px;text-align:center}
.section-head .kicker{justify-content:center}
h2{font-size:clamp(38px,5vw,74px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;margin-bottom:18px}
h3{font-size:26px;text-transform:uppercase;line-height:1}
p{color:#d4d4d4;line-height:1.7;font-size:17px}
.competitor-killer{padding-top:40px}
.battle-grid,.repair-grid,.faq-grid,.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.battle-card,.repair-card,.contact-card,.quote-box{padding:26px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025));border-radius:26px;transition:.3s;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.battle-card:hover,.repair-card:hover,.contact-card:hover{transform:translateY(-8px);border-color:var(--yellow)}
.battle-card h3,.repair-card h3{color:#fff;margin-bottom:12px}
.split,.service-layout,.membership-promo{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.check-list{list-style:none;display:grid;gap:12px;margin:24px 0}
.check-list li{position:relative;padding:14px 16px 14px 46px;border-radius:15px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);font-weight:850}
.check-list li:before{content:"✓";position:absolute;left:17px;color:var(--yellow);font-weight:1000}
.image-stack{position:relative;border-radius:34px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.image-stack img{height:560px;width:100%;object-fit:cover}
.float-badge{position:absolute;background:rgba(0,0,0,.76);border:1px solid var(--line);border-radius:17px;padding:14px 18px;font-weight:1000;text-transform:uppercase;box-shadow:var(--shadow)}
.float-badge.one{left:20px;bottom:20px}.float-badge.two{right:20px;top:20px;color:var(--yellow)}
.workshop-slab{background:radial-gradient(circle at 50% 0%,rgba(245,196,0,.12),transparent 32%),rgba(255,255,255,.03);border:1px solid var(--line);border-radius:40px;padding:62px}
.repair-grid.big{grid-template-columns:repeat(3,1fr)}
.membership-promo{background:linear-gradient(135deg,rgba(245,196,0,.14),rgba(255,255,255,.03) 42%,rgba(0,0,0,.45));border:1px solid var(--line);border-radius:40px;padding:48px}
.membership-device{display:flex;justify-content:center}
.phone-shell{width:310px;min-height:550px;border:11px solid #171717;border-radius:42px;background:linear-gradient(180deg,#050505,#161616);box-shadow:0 30px 80px rgba(0,0,0,.65),0 0 50px rgba(245,196,0,.12);padding:28px;text-align:center;position:relative;animation:floatPhone 4s ease-in-out infinite}
@keyframes floatPhone{50%{transform:translateY(-12px)}}
.phone-top{width:92px;height:22px;background:#171717;border-radius:0 0 16px 16px;margin:-28px auto 34px}
.phone-shell img{width:210px;margin:20px auto}
.phone-shell h3{font-size:30px;color:var(--yellow)}
.phone-shell a{display:block;background:var(--yellow);color:#050505;border-radius:16px;padding:14px;margin-top:22px;font-weight:1000;text-transform:uppercase}
.area-cloud{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.area-cloud a{padding:16px 20px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.055);font-weight:1000;text-transform:uppercase;transition:.25s}
.area-cloud a:hover{background:var(--yellow);color:#050505;transform:translateY(-4px)}
.area-cloud.large a{font-size:20px;padding:20px 26px}
.faq-grid{grid-template-columns:repeat(2,1fr)}
details{padding:22px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11)}
summary{font-size:20px;font-weight:1000;text-transform:uppercase;cursor:pointer}
details p{margin-top:14px;color:var(--muted)}
.keyword-wall,.cta-band{border:1px solid var(--line);border-radius:34px;padding:38px;background:linear-gradient(135deg,rgba(245,196,0,.13),rgba(255,255,255,.035))}
.quote-box h3,.contact-card h2{color:var(--yellow);margin-bottom:12px}
.quote-box .btn{margin-top:18px}
.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.process-line div{padding:24px;border-radius:24px;background:#111;border:1px solid rgba(255,255,255,.11)}
.process-line b{display:flex;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;background:var(--yellow);color:#050505;margin-bottom:18px}
.contact-card a{display:block;margin-top:16px;color:var(--yellow);font-weight:1000;font-size:20px}
.footer{width:min(1260px,92vw);margin:50px auto 100px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px;position:relative;z-index:5}
.footer img{width:220px;margin-bottom:12px}
.footer h3{color:var(--yellow);font-size:18px;margin-bottom:12px}
.footer a{display:block;color:#ddd;margin:8px 0}
.footer a:hover{color:var(--yellow)}
.small{font-size:13px;color:#999}
.bottom-cta{display:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease, transform .75s ease}
.reveal.show{opacity:1;transform:none}
.delay{transition-delay:.13s}.delay2{transition-delay:.25s}.delay3{transition-delay:.36s}
@media(max-width:1120px){.panic-panel{display:none}.main-nav{display:none}.hamburger{display:block}.mobile-menu{position:fixed;top:76px;left:14px;right:14px;z-index:58;background:rgba(0,0,0,.94);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow)}.mobile-menu.open{display:grid;gap:8px}.mobile-menu a{padding:14px;border-radius:14px;background:rgba(255,255,255,.06);font-weight:1000;text-transform:uppercase}.hero-inner,.split,.service-layout,.membership-promo{grid-template-columns:1fr}.hero{min-height:980px;align-items:flex-start;padding-top:110px}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.68)),radial-gradient(circle at 30% 32%,rgba(245,196,0,.21),transparent 37%)}.snap-services{grid-template-columns:repeat(2,1fr)}.battle-grid,.repair-grid,.repair-grid.big,.process-line{grid-template-columns:repeat(2,1fr)}.proof-grid{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.topbar{padding:12px 14px}.logo-link img{width:126px}.top-actions .btn{display:none}.hero,.page-hero{min-height:820px}.page-hero{min-height:680px}h1{font-size:48px}.lead{font-size:17px}.hero-actions .btn{width:100%}.proof-grid,.snap-services,.battle-grid,.repair-grid,.repair-grid.big,.faq-grid,.process-line,.contact-grid,.footer{grid-template-columns:1fr}.section{padding:62px 0}h2{font-size:42px}.workshop-slab,.membership-promo{padding:28px 18px;border-radius:28px}.image-stack img{height:320px}.float-badge{position:static;margin:10px}.bottom-cta{position:fixed;left:10px;right:10px;bottom:10px;z-index:70;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;background:rgba(0,0,0,.84);border:1px solid var(--line);border-radius:18px;padding:8px;backdrop-filter:blur(14px)}.bottom-cta a{display:flex;align-items:center;justify-content:center;min-height:46px;background:var(--yellow);color:#050505;border-radius:12px;font-weight:1000;text-transform:uppercase;font-size:13px}.footer{margin-bottom:100px}.marquee div{animation-duration:16s}.phone-shell{width:280px}.area-cloud.large a{font-size:15px}}


/* V3 trust, coverage and review upgrades */
.coverage-blast{
  border:1px solid var(--line);
  border-radius:40px;
  padding:62px;
  background:
    radial-gradient(circle at 12% 20%,rgba(245,196,0,.18),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.055),rgba(0,0,0,.35));
}
.coverage-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.coverage-grid div{
  min-height:220px;
  padding:26px;
  border-radius:26px;
  background:rgba(0,0,0,.48);
  border:1px solid rgba(255,255,255,.12);
  transition:.28s;
}
.coverage-grid div:hover{
  transform:translateY(-8px);
  border-color:var(--yellow);
}
.coverage-grid h3{
  color:var(--yellow);
  margin-bottom:14px;
}
.contact-strip{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:28px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:40px;
  padding:42px;
  background:
    linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.42)),
    url("assets/hero-banner.png") center/cover;
  box-shadow:var(--shadow);
}
.contact-strip-actions{
  display:grid;
  gap:12px;
}
.reviews-section{
  padding-top:72px;
}
.review-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:28px;
}
.review-stats div{
  text-align:center;
  padding:24px 18px;
  border-radius:24px;
  background:rgba(255,255,255,.055);
  border:1px solid var(--line);
}
.review-stats strong{
  display:block;
  font-size:clamp(34px,4vw,58px);
  line-height:.9;
  color:var(--yellow);
  letter-spacing:-.05em;
}
.review-stats span{
  display:block;
  margin-top:10px;
  color:#ddd;
  text-transform:uppercase;
  font-weight:1000;
  font-size:12px;
  letter-spacing:.08em;
}
.review-marquee{
  overflow:hidden;
  border:1px solid rgba(245,196,0,.24);
  background:rgba(0,0,0,.62);
  border-radius:18px;
  margin:28px 0;
}
.review-marquee div{
  display:flex;
  gap:36px;
  width:max-content;
  padding:15px 0;
  animation:reviewRoll 62s linear infinite;
}
.review-marquee span{
  color:#fff;
  font-weight:900;
  white-space:nowrap;
}
@keyframes reviewRoll{to{transform:translateX(-50%)}}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.review-card{
  min-height:250px;
  padding:22px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg,rgba(245,196,0,.08),transparent 42%),
    rgba(255,255,255,.045);
  transition:.28s;
}
.review-card:hover{
  transform:translateY(-8px) rotate(-.6deg);
  border-color:var(--yellow);
}
.stars{
  color:var(--yellow);
  letter-spacing:.08em;
  font-size:18px;
  margin-bottom:14px;
  text-shadow:0 0 20px rgba(245,196,0,.28);
}
.review-card p{
  color:#eee;
  font-size:15.5px;
}
.review-card strong{
  display:block;
  margin-top:16px;
  color:#fff;
  text-transform:uppercase;
}
.footer .small{
  max-width:620px;
}
@media(max-width:1120px){
  .coverage-grid,.reviews-grid{grid-template-columns:repeat(2,1fr)}
  .contact-strip{grid-template-columns:1fr}
  .review-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .coverage-blast,.contact-strip{padding:28px 18px;border-radius:28px}
  .coverage-grid,.reviews-grid,.review-stats{grid-template-columns:1fr}
  .review-card{min-height:auto}
}


/* V4 clean UI spacing + sections */
body{
  --section-gap: clamp(64px, 9vw, 125px);
}
.hero-inner{
  gap: clamp(28px, 5vw, 72px);
}
.hero-copy{
  max-width: 940px;
}
.help-card{
  max-width: 440px;
  justify-self:end;
}
.snap-services{
  margin-bottom: var(--section-gap);
}
.section{
  padding-top: clamp(70px, 8vw, 118px);
  padding-bottom: clamp(70px, 8vw, 118px);
}
.section + .section{
  margin-top: 18px;
}
.section-head{
  margin-bottom: clamp(34px, 5vw, 62px);
}
.section-head p{
  max-width: 820px;
  margin-left:auto;
  margin-right:auto;
}
.service-deep,
.workshop-slab,
.membership-promo,
.coverage-blast,
.reviews-section,
.systems-section,
.tracking-section,
.videos-section,
.contact-strip{
  margin-top: clamp(24px, 4vw, 58px);
}
.systems-section{
  border:1px solid var(--line);
  border-radius:40px;
  padding: clamp(34px, 6vw, 72px);
  background:
    radial-gradient(circle at 20% 0%, rgba(245,196,0,.15), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.28));
  box-shadow: var(--shadow);
}
.systems-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.system-card{
  min-height: 265px;
  padding: 26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius: 26px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(245,196,0,.08), rgba(255,255,255,.035)),
    rgba(0,0,0,.42);
  transition:.28s ease;
}
.system-card:hover{
  transform: translateY(-8px);
  border-color: var(--yellow);
}
.system-card span{
  color:var(--yellow);
  font-weight:1000;
}
.system-card h3{
  margin: 14px 0 10px;
  font-size: 28px;
}
.system-card b{
  color:var(--yellow);
  margin-top:18px;
  font-size: 14px;
}
.tracking-section{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 70px);
  align-items:center;
  border:1px solid var(--line);
  border-radius:40px;
  padding: clamp(34px, 6vw, 72px);
  background:
    linear-gradient(135deg, rgba(0,0,0,.78), rgba(0,0,0,.38)),
    url("assets/hero-banner.png") center/cover;
  overflow:hidden;
}
.tracking-panel{
  border-radius: 32px;
  padding: 22px;
  background: rgba(0,0,0,.74);
  border: 1px solid rgba(245,196,0,.32);
  box-shadow: var(--shadow);
}
.tracker-map{
  position:relative;
  min-height: 330px;
  border-radius: 24px;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(245,196,0,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(245,196,0,.08) 1px, transparent 1px),
    radial-gradient(circle at 20% 25%, rgba(245,196,0,.22), transparent 20%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.12), transparent 20%),
    #090909;
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
}
.route-line{
  position:absolute;
  left:16%;
  top:52%;
  width:70%;
  height:4px;
  background:linear-gradient(90deg, var(--yellow), transparent);
  transform:rotate(-18deg);
  box-shadow:0 0 22px rgba(245,196,0,.55);
}
.map-pin,.truck-dot{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--yellow);
  box-shadow:0 0 28px var(--yellow);
}
.map-pin.one{left:15%;top:58%}
.map-pin.two{right:15%;top:33%}
.truck-dot{
  width:28px;
  height:28px;
  left:43%;
  top:45%;
  animation:truckMove 4s ease-in-out infinite alternate;
}
@keyframes truckMove{
  to{transform:translate(90px,-42px)}
}
.tracker-status{
  margin-top: 16px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.tracker-status strong{
  color:var(--yellow);
  font-size:22px;
}
.tracker-status span{
  color:#ddd;
}
.videos-section{
  border:1px solid rgba(255,255,255,.12);
  border-radius:40px;
  padding: clamp(34px, 6vw, 72px);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
}
.video-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.video-card{
  border-radius: 28px;
  overflow:hidden;
  border:1px solid rgba(245,196,0,.24);
  background:rgba(0,0,0,.55);
  box-shadow: 0 20px 70px rgba(0,0,0,.42);
  transition:.28s ease;
}
.video-card:hover{
  transform: translateY(-8px);
  border-color: var(--yellow);
}
.video-frame{
  position:relative;
  aspect-ratio: 9/16;
  min-height: 440px;
  background:#050505;
  overflow:hidden;
}
.video-frame video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  position:relative;
  z-index:2;
}
.video-fallback{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px;
  font-weight:1000;
  color:var(--yellow);
  background:
    linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.76)),
    url("assets/hero-banner.png") center/cover;
  z-index:1;
}
.video-card h3,
.video-card p{
  padding-left:22px;
  padding-right:22px;
}
.video-card h3{
  padding-top:22px;
  color:var(--yellow);
}
.video-card p{
  padding-bottom:24px;
  font-size:15px;
}
.contact-strip-actions .btn{
  width:100%;
}
.footer-brand .small{
  margin-top: 10px;
}
@media(max-width:1120px){
  .help-card{
    justify-self:start;
    max-width:none;
  }
  .systems-grid,
  .video-grid{
    grid-template-columns: repeat(2,1fr);
  }
  .tracking-section{
    grid-template-columns:1fr;
  }
}
@media(max-width:650px){
  .systems-section,
  .tracking-section,
  .videos-section{
    border-radius: 28px;
    padding: 28px 18px;
  }
  .systems-grid,
  .video-grid{
    grid-template-columns:1fr;
  }
  .system-card{
    min-height:auto;
  }
  .video-frame{
    min-height: 380px;
  }
  .tracker-status{
    display:block;
  }
  .tracker-status span{
    display:block;
    margin-top:6px;
  }
}


/* V5 mobile ready cleanup */
:root{
  --header-h: 84px;
}
.topbar{
  min-height: var(--header-h);
  padding: 12px clamp(14px, 3vw, 42px);
  display:grid;
  grid-template-columns: 180px 1fr auto;
  gap: 18px;
}
.logo-link img{
  width: 145px;
}
.main-nav{
  justify-content:center;
  gap: clamp(10px, 1.35vw, 22px);
  min-width:0;
}
.main-nav a{
  font-size: clamp(10px, .75vw, 12px);
  white-space:nowrap;
}
.top-actions{
  justify-content:flex-end;
}
.top-actions .btn{
  min-height: 44px;
  padding: 0 18px;
}
.panic-panel{
  display:none !important;
}
.hero{
  min-height:auto;
  padding: calc(var(--header-h) + 68px) 0 86px;
}
.clean-hero{
  grid-template-columns: minmax(0, 1fr) 380px;
  align-items:center;
}
.clean-hero h1{
  font-size: clamp(50px, 6.5vw, 96px);
  max-width: 920px;
}
.clean-hero .lead{
  max-width: 760px;
}
.clean-help-card{
  justify-self:end;
}
.hero-actions-clean{
  margin-top: 24px;
}
.quick-help-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
  max-width: 880px;
}
.quick-help-grid a{
  display:block;
  padding: 18px;
  border: 1px solid rgba(245,196,0,.25);
  border-radius: 18px;
  background: rgba(0,0,0,.56);
  transition:.25s ease;
}
.quick-help-grid a:hover{
  transform: translateY(-5px);
  border-color: var(--yellow);
}
.quick-help-grid strong{
  display:block;
  color: var(--yellow);
  text-transform:uppercase;
  font-size: 15px;
}
.quick-help-grid span{
  display:block;
  color:#ddd;
  margin-top:6px;
  font-size: 14px;
}
.service-strip{
  position:relative;
  z-index:8;
  width:min(1260px,92vw);
  margin: -34px auto 34px;
}
.service-strip-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap: 14px;
}
.service-strip a{
  min-height: 210px;
  padding: 24px;
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(22,22,22,.96), rgba(0,0,0,.94));
  border: 1px solid rgba(245,196,0,.25);
  box-shadow: var(--shadow);
  transition:.28s ease;
}
.service-strip a:hover{
  transform: translateY(-8px);
  border-color: var(--yellow);
}
.service-strip span{
  color: var(--yellow);
  font-weight: 1000;
}
.service-strip strong{
  display:block;
  font-size: 25px;
  text-transform: uppercase;
  line-height:.95;
  margin: 14px 0 12px;
}
.service-strip p{
  font-size: 15px;
  color: #cfcfcf;
}
.action-section{
  padding-top: 80px;
}
.action-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
.action-card{
  padding: 28px;
  border-radius: 28px;
  background: rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 70px rgba(0,0,0,.35);
}
.action-card h3{
  color: var(--yellow);
  margin-bottom: 14px;
}
.action-card ul{
  margin: 18px 0 22px 20px;
  color:#eee;
  line-height:1.7;
}
.systems-section,
.tracking-section,
.videos-section,
.coverage-blast,
.reviews-section,
.action-section{
  clear:both;
}
.systems-grid.compact .system-card{
  min-height: 225px;
}
.center-button{
  display:flex;
  justify-content:center;
  margin-top: 26px;
}
.reviews-grid.home-reviews{
  grid-template-columns: repeat(4,1fr);
}
.mobile-menu{
  max-height: calc(100vh - 90px);
  overflow:auto;
}
@media(max-width: 1180px){
  .topbar{
    grid-template-columns: 150px 1fr auto;
  }
  .main-nav{
    gap: 10px;
  }
  .main-nav a{
    font-size:10px;
  }
}
@media(max-width: 1020px){
  :root{--header-h: 72px;}
  .topbar{
    display:flex;
    min-height: var(--header-h);
  }
  .logo-link img{
    width: 125px;
  }
  .main-nav{
    display:none !important;
  }
  .hamburger{
    display:block;
  }
  .top-actions .btn-ghost{
    display:inline-flex;
  }
  .top-actions .btn-yellow{
    display:none;
  }
  .mobile-menu{
    top: calc(var(--header-h) + 8px);
    left: 10px;
    right: 10px;
  }
  .hero{
    padding-top: calc(var(--header-h) + 42px);
  }
  .clean-hero{
    grid-template-columns:1fr;
  }
  .clean-help-card{
    justify-self:stretch;
    max-width:none;
  }
  .quick-help-grid,
  .service-strip-inner,
  .action-grid,
  .systems-grid,
  .systems-grid.compact,
  .coverage-grid,
  .reviews-grid.home-reviews{
    grid-template-columns: repeat(2,1fr);
  }
  .service-strip{
    margin-top: 20px;
  }
}
@media(max-width: 680px){
  body{
    overflow-x:hidden;
  }
  .topbar{
    padding: 10px 12px;
  }
  .logo-link img{
    width: 112px;
  }
  .top-actions{
    gap: 8px;
  }
  .top-actions .btn-ghost{
    min-height: 40px;
    padding: 0 13px;
    font-size: 12px;
  }
  .hamburger{
    width:44px;
    height:42px;
  }
  .hero{
    padding: calc(var(--header-h) + 26px) 0 52px;
  }
  .clean-hero h1{
    font-size: clamp(40px, 13vw, 58px);
    line-height:.88;
  }
  .lead{
    font-size: 16.5px;
  }
  .hero-actions-clean .btn{
    width:100%;
  }
  .quick-help-grid,
  .service-strip-inner,
  .action-grid,
  .systems-grid,
  .systems-grid.compact,
  .coverage-grid,
  .reviews-grid.home-reviews,
  .review-stats,
  .faq-grid{
    grid-template-columns:1fr !important;
  }
  .service-strip{
    margin: 18px auto 0;
  }
  .service-strip a{
    min-height:auto;
  }
  .section{
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .section-head{
    text-align:left;
    margin-bottom: 28px;
  }
  .section-head .kicker{
    justify-content:flex-start;
  }
  h2{
    font-size: clamp(34px, 11vw, 44px);
  }
  .systems-section,
  .tracking-section,
  .videos-section,
  .coverage-blast,
  .contact-strip{
    padding: 24px 16px;
  }
  .video-frame{
    aspect-ratio: 16 / 9;
    min-height: 220px;
  }
  .help-card h2{
    font-size: 32px;
  }
}


/* V6 DSBM clean customer UI */
.marquee,
.scroll-strip,
.snap-services,
.proof-grid,
.road-lines{
  display:none !important;
}
.hero-v6{
  min-height: auto;
  padding: calc(var(--header-h, 84px) + 56px) 0 80px;
}
.hero-v6-inner{
  position:relative;
  z-index:4;
  width:min(1240px,92vw);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 390px;
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.hero-v6 h1{
  font-size:clamp(46px,7vw,102px);
  max-width:900px;
}
.hero-v6 .lead{
  max-width:720px;
}
.emergency-box{
  border:1px solid rgba(245,196,0,.35);
  border-radius:30px;
  background:rgba(0,0,0,.72);
  padding:24px;
  box-shadow:var(--shadow);
}
.emergency-box h2{
  font-size:38px;
  margin-bottom:16px;
}
.emergency-box a{
  display:block;
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  margin-top:10px;
  transition:.25s;
}
.emergency-box a:hover{
  transform:translateX(5px);
  border-color:var(--yellow);
}
.emergency-box strong{
  display:block;
  color:var(--yellow);
  text-transform:uppercase;
}
.emergency-box span{
  display:block;
  color:#ddd;
  margin-top:4px;
}
.choices-section{
  padding-top:70px;
}
.choice-grid,
.tool-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}
.choice-card,
.tool-card{
  padding:26px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(28,28,28,.94), rgba(0,0,0,.92));
  border:1px solid rgba(245,196,0,.22);
  box-shadow:0 20px 70px rgba(0,0,0,.38);
  transition:.28s;
}
.choice-card:hover,
.tool-card:hover{
  transform:translateY(-8px);
  border-color:var(--yellow);
}
.choice-icon{
  display:inline-flex;
  min-width:58px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--yellow);
  color:#050505;
  font-weight:1000;
  margin-bottom:18px;
}
.choice-card h3,
.tool-card strong{
  display:block;
  font-size:26px;
  color:#fff;
  text-transform:uppercase;
  line-height:.95;
  margin-bottom:12px;
}
.choice-card p,
.tool-card p{
  font-size:15.5px;
  margin-bottom:18px;
}
.tool-card{
  min-height:220px;
  display:flex;
  flex-direction:column;
}
.tool-card span{
  color:var(--yellow);
  font-weight:1000;
  margin-bottom:12px;
}
.tool-card p{
  margin-bottom:0;
}
.about-dsbm-section,
.tools-section,
.tracking-section-v6,
.coverage-section-v6{
  border:1px solid rgba(245,196,0,.22);
  border-radius:40px;
  padding:clamp(34px,6vw,72px);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.25));
  margin-top:clamp(28px,5vw,60px);
}
.about-dsbm-grid,
.tracking-section-v6{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(28px,5vw,62px);
  align-items:center;
}
.about-photo{
  border-radius:30px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.about-photo img{
  width:100%;
  height:520px;
  object-fit:cover;
}
.tracking-visual{
  border-radius:30px;
  padding:20px;
  background:rgba(0,0,0,.65);
  border:1px solid rgba(245,196,0,.28);
}
.video-frame{
  aspect-ratio:16 / 9 !important;
  min-height:260px !important;
}
.video-grid{
  align-items:stretch;
}
.video-card{
  min-width:0;
}
.center-button{
  display:flex;
  justify-content:center;
  margin-top:26px;
}
.footer .small{
  display:none;
}
@media(max-width:1100px){
  .hero-v6-inner,
  .about-dsbm-grid,
  .tracking-section-v6{
    grid-template-columns:1fr;
  }
  .emergency-box{
    max-width:none;
  }
  .choice-grid,
  .tool-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .about-photo img{
    height:360px;
  }
}
@media(max-width:680px){
  .hero-v6{
    padding:calc(var(--header-h,72px) + 28px) 0 46px;
  }
  .hero-v6 h1{
    font-size:clamp(40px,13vw,56px);
  }
  .hero-v6 .lead{
    font-size:16.5px;
  }
  .hero-actions-clean .btn{
    width:100%;
  }
  .emergency-box{
    padding:18px;
    border-radius:22px;
  }
  .emergency-box h2{
    font-size:30px;
  }
  .choice-grid,
  .tool-grid{
    grid-template-columns:1fr;
  }
  .choice-card,
  .tool-card{
    padding:22px;
  }
  .about-dsbm-section,
  .tools-section,
  .tracking-section-v6,
  .coverage-section-v6,
  .videos-section,
  .reviews-section{
    border-radius:26px;
    padding:24px 16px;
  }
  .section-head{
    text-align:left !important;
  }
  .section-head .kicker{
    justify-content:flex-start !important;
  }
  .about-photo img{
    height:240px;
  }
  .video-frame{
    min-height:210px !important;
  }
}


/* V7 more info + stronger animations */
.hero-v7{
  min-height:auto;
  padding:calc(var(--header-h,84px) + 70px) 0 96px;
  isolation:isolate;
}
.hero-v7-inner{
  position:relative;
  z-index:4;
  width:min(1240px,92vw);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:clamp(32px,6vw,82px);
  align-items:center;
}
.hero-v7 h1{
  font-size:clamp(48px,7.6vw,110px);
  max-width:950px;
}
.hero-v7 .lead{
  max-width:780px;
}
.hero-energy{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  overflow:hidden;
}
.hero-energy span{
  position:absolute;
  width:2px;
  height:180px;
  background:linear-gradient(180deg,transparent,var(--yellow),transparent);
  filter:drop-shadow(0 0 18px var(--yellow));
  opacity:.42;
  animation:energyDrop 3.4s linear infinite;
}
.hero-energy span:nth-child(1){left:14%;animation-delay:0s}
.hero-energy span:nth-child(2){left:44%;animation-delay:.8s;height:240px}
.hero-energy span:nth-child(3){left:72%;animation-delay:1.5s}
.hero-energy span:nth-child(4){left:88%;animation-delay:2.2s;height:260px}
@keyframes energyDrop{
  from{transform:translateY(-240px) rotate(18deg)}
  to{transform:translateY(100vh) rotate(18deg)}
}
.hero-pulse{
  animation:heroPulse 1.8s ease-in-out infinite;
}
@keyframes heroPulse{
  50%{box-shadow:0 0 0 12px rgba(245,196,0,.08),0 0 60px rgba(245,196,0,.45)}
}
.hero-mini-proof{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:28px;
  max-width:840px;
}
.hero-mini-proof div{
  border:1px solid rgba(245,196,0,.24);
  border-radius:18px;
  background:rgba(0,0,0,.55);
  padding:16px;
}
.hero-mini-proof strong{
  display:block;
  color:var(--yellow);
  font-size:24px;
  text-transform:uppercase;
  line-height:1;
}
.hero-mini-proof span{
  display:block;
  margin-top:6px;
  color:#ddd;
  font-size:13px;
  text-transform:uppercase;
  font-weight:900;
}
.dispatch-card{
  border:1px solid rgba(245,196,0,.34);
  border-radius:34px;
  padding:28px;
  background:
    linear-gradient(180deg,rgba(30,30,30,.9),rgba(0,0,0,.78));
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.dispatch-card:before{
  content:"";
  position:absolute;
  inset:-40%;
  background:conic-gradient(from 0deg,transparent,rgba(245,196,0,.18),transparent 30%);
  animation:spinGlow 6s linear infinite;
}
.dispatch-card > *{
  position:relative;
  z-index:2;
}
@keyframes spinGlow{to{transform:rotate(360deg)}}
.dispatch-top{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--yellow);
  font-weight:1000;
  letter-spacing:.1em;
  margin-bottom:18px;
}
.green-light{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#27ff65;
  box-shadow:0 0 18px #27ff65;
  animation:blink 1s infinite;
}
.dispatch-card h2{
  font-size:34px;
  margin-bottom:18px;
}
.dispatch-steps{
  display:grid;
  gap:12px;
}
.dispatch-steps a{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:12px;
  padding:14px;
  background:rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  transition:.25s;
}
.dispatch-steps a:hover{
  transform:translateX(6px);
  border-color:var(--yellow);
}
.dispatch-steps b{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--yellow);
  color:#050505;
}
.dispatch-steps span{
  color:#eee;
  font-weight:900;
}
.dispatch-bottom{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:18px;
}
.dispatch-bottom a{
  text-align:center;
  padding:13px;
  border-radius:14px;
  background:var(--yellow);
  color:#050505;
  font-weight:1000;
}
.dispatch-bottom a:last-child{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.15);
}
.service-command,
.confidence-section,
.tools-section,
.tracking-section-v7,
.process-v7{
  border:1px solid rgba(245,196,0,.22);
  border-radius:42px;
  padding:clamp(34px,6vw,76px);
  background:
    radial-gradient(circle at 15% 0%,rgba(245,196,0,.12),transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.28));
  margin-top:clamp(28px,5vw,62px);
}
.command-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.command-card{
  min-height:420px;
  padding:26px;
  border-radius:30px;
  background:linear-gradient(180deg,rgba(22,22,22,.96),rgba(0,0,0,.94));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 80px rgba(0,0,0,.38);
  transition:.32s cubic-bezier(.2,.8,.2,1);
  transform-style:preserve-3d;
}
.command-card:hover{
  transform:translateY(-10px) rotateX(4deg);
  border-color:var(--yellow);
}
.command-number{
  color:var(--yellow);
  font-weight:1000;
  margin-bottom:18px;
}
.command-card h3{
  font-size:30px;
  color:#fff;
  margin-bottom:14px;
}
.command-card p{
  font-size:15.5px;
}
.command-card ul{
  margin:18px 0 22px 18px;
  color:#ddd;
  line-height:1.7;
}
.command-card a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  background:var(--yellow);
  color:#050505;
  font-weight:1000;
  text-transform:uppercase;
}
.confidence-section,
.tracking-section-v7{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(28px,5vw,70px);
  align-items:center;
}
.confidence-stack{
  display:grid;
  gap:16px;
}
.confidence-stack a{
  display:block;
  padding:26px;
  border-radius:24px;
  border:1px solid rgba(245,196,0,.25);
  background:rgba(0,0,0,.52);
  transition:.28s;
}
.confidence-stack a:hover{
  transform:translateY(-7px);
  border-color:var(--yellow);
}
.confidence-stack strong{
  display:block;
  color:var(--yellow);
  font-size:24px;
  text-transform:uppercase;
  line-height:1;
}
.confidence-stack span{
  display:block;
  color:#ddd;
  margin-top:9px;
}
.process-v7-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.process-v7-grid div{
  padding:26px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.44);
  transition:.28s;
}
.process-v7-grid div:hover{
  transform:translateY(-8px);
  border-color:var(--yellow);
}
.process-v7-grid b{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--yellow);
  color:#050505;
  margin-bottom:18px;
}
.legal-hero{
  min-height:62vh;
}
.legal-content{
  padding-top:70px;
}
.legal-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.legal-card,
.legal-list,
.legal-note{
  border:1px solid rgba(245,196,0,.22);
  border-radius:30px;
  padding:clamp(24px,4vw,42px);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.3));
}
.legal-card h2,
.legal-list h2,
.legal-note h2{
  font-size:clamp(28px,4vw,48px);
  margin-top:0;
}
.legal-card p + p,
.legal-list p + h2{
  margin-top:24px;
}
.legal-list{
  max-width:1000px;
  margin:0 auto;
}
.legal-list h2{
  border-top:1px solid rgba(245,196,0,.18);
  padding-top:24px;
}
.legal-list h2:first-child{
  border-top:none;
  padding-top:0;
}
.legal-note{
  text-align:center;
}
@media(max-width:1180px){
  .hero-v7-inner,
  .confidence-section,
  .tracking-section-v7{
    grid-template-columns:1fr;
  }
  .command-grid,
  .process-v7-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .dispatch-card{
    max-width:none;
  }
}
@media(max-width:760px){
  .hero-v7{
    padding:calc(var(--header-h,72px) + 32px) 0 54px;
  }
  .hero-v7 h1{
    font-size:clamp(40px,13vw,58px);
  }
  .hero-mini-proof,
  .command-grid,
  .process-v7-grid,
  .legal-grid{
    grid-template-columns:1fr;
  }
  .dispatch-card{
    padding:20px;
    border-radius:24px;
  }
  .dispatch-card h2{
    font-size:28px;
  }
  .service-command,
  .confidence-section,
  .tools-section,
  .tracking-section-v7,
  .process-v7,
  .legal-card,
  .legal-list,
  .legal-note{
    border-radius:26px;
    padding:24px 16px;
  }
  .command-card{
    min-height:auto;
  }
}


/* V8 MOBILE ROADSIDE UX FIX - overrides old header/sizing */
:root{
  --road-yellow:#f5c400;
  --road-black:#050505;
  --road-card:rgba(14,14,14,.92);
  --road-border:rgba(245,196,0,.24);
  --road-muted:#cfcfcf;
  --road-max:1180px;
  --road-header:76px;
}

.topbar,
.mobile-menu,
.panic-panel,
.bottom-cta,
.footer{
  display:none !important;
}

body{
  padding:0;
  background:
    radial-gradient(circle at 20% 0%, rgba(245,196,0,.14), transparent 30%),
    linear-gradient(180deg,#040404,#111 42%,#050505);
}

.road-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:var(--road-header);
  z-index:999;
  display:grid;
  grid-template-columns:118px 1fr 46px;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  background:rgba(0,0,0,.92);
  border-bottom:1px solid var(--road-border);
  backdrop-filter:blur(14px);
}

.road-logo img{
  width:106px;
  height:auto;
  filter:drop-shadow(0 0 14px rgba(245,196,0,.22));
}

.road-call{
  justify-self:stretch;
  min-width:0;
  height:50px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(135deg,var(--road-yellow),#ffe766);
  color:#050505;
  font-weight:1000;
  box-shadow:0 0 24px rgba(245,196,0,.24);
}

.road-call span{
  font-size:10px;
  letter-spacing:.08em;
  line-height:1;
}

.road-call strong{
  font-size:15px;
  line-height:1.2;
  white-space:nowrap;
}

.road-menu-btn{
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid var(--road-border);
  background:rgba(255,255,255,.06);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
}

.road-menu-btn span{
  width:22px;
  height:2px;
  background:#fff;
  border-radius:999px;
}

.road-menu{
  position:fixed;
  top:calc(var(--road-header) + 8px);
  left:10px;
  right:10px;
  max-height:calc(100vh - var(--road-header) - 18px);
  overflow:auto;
  display:none;
  z-index:1000;
  padding:10px;
  border-radius:22px;
  background:rgba(0,0,0,.96);
  border:1px solid var(--road-border);
  box-shadow:0 30px 90px rgba(0,0,0,.72);
}

.road-menu.open{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.road-menu a{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.road-menu a:nth-last-child(-n+2){
  background:var(--road-yellow);
  color:#050505;
}

.road-bottom-bar{
  position:fixed;
  left:8px;
  right:8px;
  bottom:8px;
  z-index:998;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
  padding:7px;
  border-radius:18px;
  background:rgba(0,0,0,.88);
  border:1px solid var(--road-border);
  backdrop-filter:blur(14px);
}

.road-bottom-bar a{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:var(--road-yellow);
  color:#050505;
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
}

.road-bottom-bar a:nth-child(2){
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
}

main{
  padding-bottom:82px;
}

.road-hero{
  position:relative;
  min-height:auto;
  padding:calc(var(--road-header) + 28px) 0 36px;
  overflow:hidden;
}

.road-hero-bg{
  position:absolute;
  inset:0;
  background:url("assets/hero-banner.png") center/cover no-repeat;
  filter:saturate(1.08) contrast(1.08);
  transform:scale(1.05);
}

.road-hero-cover{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.82)),
    radial-gradient(circle at 20% 38%,rgba(245,196,0,.22),transparent 42%);
}

.road-hero-content{
  position:relative;
  z-index:3;
  width:min(var(--road-max),92vw);
  margin:0 auto;
}

.road-pill,
.road-tag,
.road-section-head span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  color:var(--road-yellow);
  background:rgba(245,196,0,.08);
  border:1px solid var(--road-border);
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.road-hero h1{
  max-width:680px;
  font-size:clamp(42px,15vw,72px);
  line-height:.88;
  letter-spacing:-.06em;
  text-transform:uppercase;
  margin:0;
  text-shadow:0 16px 48px #000;
}

.road-lead{
  max-width:650px;
  margin:16px 0 0;
  font-size:18px;
  line-height:1.45;
  color:#f1f1f1;
}

.road-hero-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:22px;
  max-width:560px;
}

.road-primary,
.road-secondary{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  font-size:15px;
  font-weight:1000;
  text-transform:uppercase;
}

.road-primary{
  background:linear-gradient(135deg,var(--road-yellow),#ffe766);
  color:#050505;
  box-shadow:0 0 34px rgba(245,196,0,.3);
  animation:roadPulse 1.8s infinite;
}

.road-secondary{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
}

@keyframes roadPulse{
  50%{box-shadow:0 0 0 10px rgba(245,196,0,.08),0 0 45px rgba(245,196,0,.42)}
}

.road-fast-card{
  margin-top:22px;
  max-width:580px;
  padding:18px;
  border-radius:22px;
  background:rgba(0,0,0,.66);
  border:1px solid var(--road-border);
}

.road-fast-card h2{
  font-size:24px;
  line-height:1;
  margin:0 0 12px;
  letter-spacing:-.03em;
}

.road-fast-card div{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.08);
}

.road-fast-card div:first-of-type{
  border-top:0;
}

.road-fast-card b{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--road-yellow);
  color:#050505;
}

.road-fast-card span{
  color:#eee;
  font-size:15px;
  font-weight:800;
}

.road-section{
  width:min(var(--road-max),92vw);
  margin:0 auto;
  padding:42px 0;
}

.road-section-head{
  margin-bottom:20px;
}

.road-section h2,
.road-split h2{
  font-size:clamp(34px,10vw,58px);
  line-height:.92;
  letter-spacing:-.055em;
  text-transform:uppercase;
  margin:0 0 12px;
}

.road-section p{
  font-size:16px;
  line-height:1.6;
  color:#d8d8d8;
}

.road-choice-grid,
.road-tools-grid,
.road-area-grid,
.road-review-grid,
.road-info-links{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.road-choice,
.road-tools-grid a,
.road-review-grid article,
.road-info-links a{
  display:block;
  padding:20px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(24,24,24,.95),rgba(4,4,4,.94));
  border:1px solid var(--road-border);
  box-shadow:0 18px 60px rgba(0,0,0,.32);
}

.road-choice strong,
.road-tools-grid strong{
  display:block;
  color:#fff;
  font-size:24px;
  line-height:1;
  text-transform:uppercase;
  margin-bottom:8px;
}

.road-choice p{
  margin:0 0 14px;
}

.road-choice em{
  display:inline-flex;
  padding:10px 14px;
  border-radius:999px;
  background:var(--road-yellow);
  color:#050505;
  font-style:normal;
  font-weight:1000;
  text-transform:uppercase;
  font-size:12px;
}

.road-split{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  padding:28px 18px;
  border:1px solid var(--road-border);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.25));
}

.road-list{
  list-style:none;
  display:grid;
  gap:10px;
  margin:18px 0 0;
}

.road-list li{
  position:relative;
  padding:13px 14px 13px 42px;
  border-radius:14px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.1);
  color:#eee;
  font-weight:800;
}

.road-list li:before{
  content:"✓";
  position:absolute;
  left:15px;
  color:var(--road-yellow);
  font-weight:1000;
}

.road-image-card{
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--road-border);
}

.road-image-card img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.road-tools-grid a{
  min-height:112px;
}

.road-tools-grid span{
  display:block;
  color:var(--road-yellow);
  font-weight:1000;
  margin-bottom:8px;
}

.road-tracker{
  position:relative;
  min-height:260px;
  border-radius:22px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(245,196,0,.08) 1px,transparent 1px),
    linear-gradient(0deg,rgba(245,196,0,.08) 1px,transparent 1px),
    #080808;
  background-size:34px 34px;
  border:1px solid rgba(245,196,0,.25);
}

.road-route{
  position:absolute;
  left:12%;
  top:54%;
  width:72%;
  height:4px;
  background:linear-gradient(90deg,var(--road-yellow),transparent);
  transform:rotate(-18deg);
  box-shadow:0 0 22px rgba(245,196,0,.52);
}

.pin-a,.pin-b,.moving-dot{
  position:absolute;
  border-radius:50%;
  background:var(--road-yellow);
  box-shadow:0 0 22px var(--road-yellow);
}

.pin-a{width:16px;height:16px;left:14%;top:57%}
.pin-b{width:16px;height:16px;right:15%;top:34%}
.moving-dot{
  width:26px;
  height:26px;
  left:38%;
  top:46%;
  animation:roadMove 4s ease-in-out infinite alternate;
}

@keyframes roadMove{
  to{transform:translate(105px,-48px)}
}

.road-tracker strong{
  position:absolute;
  left:16px;
  bottom:16px;
  color:var(--road-yellow);
  font-size:20px;
}

.road-video-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.road-video-grid article{
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--road-border);
  background:rgba(0,0,0,.58);
}

.road-video-grid video{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#000;
}

.road-video-grid h3,
.road-video-grid p{
  padding-left:18px;
  padding-right:18px;
}

.road-video-grid h3{
  color:var(--road-yellow);
  font-size:22px;
  margin:16px 0 4px;
}

.road-video-grid p{
  padding-bottom:18px;
}

.road-area-grid{
  grid-template-columns:repeat(2,1fr);
}

.road-area-grid span{
  padding:14px 10px;
  border-radius:14px;
  text-align:center;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(245,196,0,.18);
  color:#fff;
  font-weight:1000;
  text-transform:uppercase;
  font-size:13px;
}

.road-review-grid b{
  color:var(--road-yellow);
  letter-spacing:.08em;
}

.road-review-grid p{
  margin:10px 0;
}

.road-review-grid strong{
  color:#fff;
  text-transform:uppercase;
}

.road-info-links a{
  color:var(--road-yellow);
  font-size:18px;
  font-weight:1000;
  text-align:center;
}

.road-footer{
  width:min(var(--road-max),92vw);
  margin:40px auto 92px;
  padding:24px 0 0;
  border-top:1px solid rgba(255,255,255,.12);
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}

.road-footer img{
  width:170px;
  margin-bottom:12px;
}

.road-footer h3{
  color:var(--road-yellow);
  margin-bottom:10px;
  font-size:18px;
}

.road-footer a{
  display:block;
  color:#ddd;
  margin:7px 0;
}

.road-footer p{
  color:#ccc;
}

/* Make all old page headers not fucked */
.page-hero{
  min-height:auto !important;
  padding:calc(var(--road-header) + 42px) 0 54px !important;
}

.page-inner{
  width:min(var(--road-max),92vw) !important;
}

.page-hero h1,
.legal-hero h1{
  font-size:clamp(38px,12vw,66px) !important;
  line-height:.9 !important;
  max-width:820px !important;
}

.page-hero .lead{
  font-size:17px !important;
  max-width:720px !important;
}

.hero-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  max-width:520px !important;
}

.hero-actions .btn{
  min-height:54px !important;
  width:100% !important;
}

/* Old sections become readable on mobile */
.section{
  width:min(var(--road-max),92vw) !important;
  padding:42px 0 !important;
}

.section h2{
  font-size:clamp(32px,10vw,54px) !important;
  line-height:.95 !important;
}

.service-layout,
.membership-promo,
.confidence-section,
.tracking-section-v7,
.tracking-section-v6,
.about-dsbm-grid,
.legal-grid,
.command-grid,
.process-v7-grid,
.repair-grid,
.repair-grid.big,
.coverage-grid,
.reviews-grid,
.faq-grid,
.contact-grid{
  grid-template-columns:1fr !important;
}

.command-card,
.choice-card,
.tool-card,
.legal-card,
.legal-list,
.legal-note,
.quote-box,
.contact-card,
.review-card,
.repair-card{
  min-height:auto !important;
  padding:20px !important;
  border-radius:22px !important;
}

.video-grid{
  grid-template-columns:1fr !important;
}

.video-frame{
  min-height:0 !important;
  aspect-ratio:16/9 !important;
}

.video-frame video{
  object-fit:cover !important;
}

@media(min-width:760px){
  :root{--road-header:86px;}
  .road-header{
    grid-template-columns:150px 230px 1fr;
    padding:12px clamp(20px,4vw,42px);
  }
  .road-logo img{width:136px}
  .road-call{
    justify-self:start;
    width:220px;
  }
  .road-menu-btn{display:none}
  .road-menu{
    position:static;
    display:flex !important;
    max-height:none;
    overflow:visible;
    padding:0;
    border:0;
    box-shadow:none;
    background:transparent;
    justify-content:flex-end;
    gap:8px;
  }
  .road-menu a{
    min-height:40px;
    padding:0 10px;
    font-size:11px;
    background:transparent;
    border:0;
  }
  .road-menu a:nth-last-child(-n+2){
    background:rgba(255,255,255,.07);
    color:#fff;
    border:1px solid rgba(255,255,255,.12);
  }
  .road-hero{
    padding:calc(var(--road-header) + 70px) 0 86px;
  }
  .road-hero-buttons{
    display:flex;
  }
  .road-primary,.road-secondary{
    min-width:190px;
  }
  .road-choice-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .road-tools-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .road-split{
    grid-template-columns:1fr 1fr;
    padding:42px;
  }
  .road-image-card img{
    height:360px;
  }
  .road-video-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .road-area-grid{
    grid-template-columns:repeat(4,1fr);
  }
  .road-review-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .road-info-links{
    grid-template-columns:repeat(3,1fr);
  }
  .road-footer{
    grid-template-columns:2fr 1fr 1fr 1fr;
    margin-bottom:50px;
  }
  .road-bottom-bar{
    display:none;
  }
  main{
    padding-bottom:0;
  }
  .hero-actions{
    display:flex !important;
  }
  .hero-actions .btn{
    width:auto !important;
  }
}

@media(min-width:1180px){
  .road-choice-grid{
    grid-template-columns:repeat(4,1fr);
  }
}


/* V9 SPACING + NAV POLISH FIX */
/* This file intentionally overrides earlier versions so text has breathing room everywhere. */

:root{
  --road-header: 74px;
  --safe-x: clamp(16px, 4vw, 34px);
  --card-pad: clamp(22px, 5vw, 34px);
  --section-y: clamp(52px, 9vw, 96px);
}

/* Header no longer looks cramped */
.road-header{
  height: var(--road-header) !important;
  grid-template-columns: 104px minmax(0, 1fr) 48px !important;
  gap: 12px !important;
  padding: 9px var(--safe-x) !important;
}

.road-logo{
  display:flex;
  align-items:center;
  min-width:0;
}

.road-logo img{
  width: 98px !important;
  max-height: 48px !important;
  object-fit:contain;
}

.road-call{
  height: 48px !important;
  border-radius: 14px !important;
  padding: 0 10px !important;
}

.road-call span{
  font-size: 9px !important;
  letter-spacing:.1em !important;
  margin-bottom: 3px !important;
}

.road-call strong{
  font-size: 14px !important;
}

.road-menu-btn{
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  flex-shrink:0;
}

/* Better mobile menu panel */
.road-menu{
  top: calc(var(--road-header) + 10px) !important;
  left: var(--safe-x) !important;
  right: var(--safe-x) !important;
  padding: 12px !important;
  border-radius: 24px !important;
  gap: 10px !important;
}

.road-menu.open{
  grid-template-columns: 1fr !important;
}

.road-menu a{
  min-height: 54px !important;
  padding: 0 18px !important;
  justify-content:flex-start !important;
  font-size: 14px !important;
  border-radius: 16px !important;
  letter-spacing:.05em !important;
}

/* Hero breathing room */
.road-hero{
  padding: calc(var(--road-header) + 34px) 0 46px !important;
}

.road-hero-content,
.road-section,
.road-footer{
  width: min(1120px, calc(100vw - (var(--safe-x) * 2))) !important;
}

.road-pill,
.road-tag,
.road-section-head span{
  margin-bottom: 18px !important;
  padding: 9px 14px !important;
  font-size: 10.5px !important;
  line-height: 1.25 !important;
}

.road-hero h1{
  font-size: clamp(42px, 14vw, 70px) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  margin-bottom: 18px !important;
  max-width: 760px !important;
}

.road-lead{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: clamp(17px, 4.5vw, 21px) !important;
  line-height: 1.55 !important;
  max-width: 720px !important;
}

/* Buttons not jammed */
.road-hero-buttons{
  margin-top: 26px !important;
  gap: 12px !important;
}

.road-primary,
.road-secondary{
  min-height: 58px !important;
  border-radius: 18px !important;
  font-size: 15px !important;
}

/* Fast card text not against edges */
.road-fast-card{
  margin-top: 26px !important;
  padding: var(--card-pad) !important;
  border-radius: 26px !important;
}

.road-fast-card h2{
  font-size: clamp(26px, 7vw, 34px) !important;
  margin-bottom: 18px !important;
}

.road-fast-card div{
  grid-template-columns: 40px 1fr !important;
  gap: 14px !important;
  padding: 14px 0 !important;
}

.road-fast-card b{
  width: 40px !important;
  height: 40px !important;
}

.road-fast-card span{
  font-size: 16px !important;
  line-height: 1.4 !important;
}

/* Section spacing */
.road-section{
  padding: var(--section-y) 0 !important;
}

.road-section + .road-section{
  padding-top: clamp(34px, 7vw, 76px) !important;
}

.road-section-head{
  margin-bottom: 28px !important;
}

.road-section h2,
.road-split h2{
  font-size: clamp(34px, 10vw, 58px) !important;
  line-height: .98 !important;
  margin-bottom: 18px !important;
}

.road-section p,
.road-split p{
  font-size: clamp(16px, 4vw, 18px) !important;
  line-height: 1.7 !important;
  margin-bottom: 0 !important;
}

/* Cards have proper internal spacing */
.road-choice,
.road-tools-grid a,
.road-review-grid article,
.road-info-links a{
  padding: var(--card-pad) !important;
  border-radius: 26px !important;
}

.road-choice-grid,
.road-tools-grid,
.road-area-grid,
.road-review-grid,
.road-info-links,
.road-video-grid{
  gap: 16px !important;
}

.road-choice strong,
.road-tools-grid strong{
  font-size: clamp(24px, 7vw, 32px) !important;
  line-height: 1.04 !important;
  margin-bottom: 14px !important;
}

.road-choice p,
.road-tools-grid p{
  margin-bottom: 22px !important;
}

.road-choice em{
  padding: 12px 16px !important;
  font-size: 12px !important;
  border-radius: 14px !important;
}

/* Split panels */
.road-split{
  padding: var(--card-pad) !important;
  border-radius: 30px !important;
  gap: 28px !important;
}

.road-list{
  gap: 12px !important;
  margin-top: 24px !important;
}

.road-list li{
  padding: 16px 16px 16px 46px !important;
  line-height: 1.45 !important;
  border-radius: 16px !important;
}

.road-list li:before{
  left: 17px !important;
}

/* Images and tracker */
.road-image-card{
  border-radius: 24px !important;
}

.road-image-card img{
  height: 260px !important;
}

.road-tracker{
  min-height: 300px !important;
  border-radius: 26px !important;
}

.road-tracker strong{
  left: 22px !important;
  bottom: 22px !important;
}

/* Video cards */
.road-video-grid article{
  border-radius: 26px !important;
}

.road-video-grid h3{
  font-size: 25px !important;
  margin: 20px 0 8px !important;
  padding-left: var(--card-pad) !important;
  padding-right: var(--card-pad) !important;
}

.road-video-grid p{
  padding-left: var(--card-pad) !important;
  padding-right: var(--card-pad) !important;
  padding-bottom: var(--card-pad) !important;
}

/* Areas */
.road-area-grid{
  grid-template-columns: 1fr 1fr !important;
}

.road-area-grid span{
  padding: 16px 12px !important;
  line-height: 1.25 !important;
  border-radius: 16px !important;
}

/* Reviews */
.road-review-grid article p{
  margin: 12px 0 16px !important;
}

.road-review-grid article strong{
  line-height: 1.35 !important;
}

/* Old page headers fixed further */
.page-hero{
  padding: calc(var(--road-header) + 48px) 0 64px !important;
}

.page-hero h1,
.legal-hero h1{
  font-size: clamp(38px, 11vw, 64px) !important;
  line-height: .98 !important;
  margin-bottom: 18px !important;
}

.page-hero .lead{
  font-size: clamp(16.5px, 4vw, 19px) !important;
  line-height: 1.62 !important;
  margin-bottom: 0 !important;
}

.hero-actions{
  margin-top: 26px !important;
  gap: 12px !important;
}

.hero-actions .btn{
  border-radius: 18px !important;
}

/* Old cards/sections breathing room */
.section{
  padding: var(--section-y) 0 !important;
}

.section-head{
  margin-bottom: 32px !important;
}

.section h2{
  line-height: 1 !important;
  margin-bottom: 18px !important;
}

.section p{
  line-height: 1.72 !important;
}

.command-card,
.choice-card,
.tool-card,
.legal-card,
.legal-list,
.legal-note,
.quote-box,
.contact-card,
.review-card,
.repair-card,
.process-line div,
.process-v7-grid div,
.coverage-grid div{
  padding: var(--card-pad) !important;
  border-radius: 26px !important;
}

.check-list{
  gap: 12px !important;
  margin-top: 24px !important;
}

.check-list li{
  padding: 16px 16px 16px 48px !important;
  line-height: 1.45 !important;
  border-radius: 16px !important;
}

.check-list li:before{
  left: 18px !important;
}

/* Footer not cramped */
.road-footer{
  gap: 28px !important;
  margin-top: 26px !important;
  margin-bottom: 100px !important;
}

.road-footer img{
  width: 150px !important;
}

.road-footer h3{
  margin-bottom: 14px !important;
}

.road-footer a{
  margin: 10px 0 !important;
  line-height: 1.4 !important;
}

/* Bottom bar nicer */
.road-bottom-bar{
  left: 10px !important;
  right: 10px !important;
  bottom: 10px !important;
  gap: 8px !important;
  padding: 8px !important;
  border-radius: 20px !important;
}

.road-bottom-bar a{
  min-height: 52px !important;
  border-radius: 15px !important;
  font-size: 12px !important;
}

/* Tablet / desktop */
@media(min-width:760px){
  :root{
    --road-header: 88px;
    --safe-x: clamp(22px, 4vw, 54px);
    --card-pad: 30px;
  }

  .road-header{
    grid-template-columns: 150px 220px 1fr !important;
    gap: 18px !important;
    padding: 12px var(--safe-x) !important;
  }

  .road-logo img{
    width: 132px !important;
    max-height: 58px !important;
  }

  .road-call{
    width: 220px !important;
    height: 54px !important;
  }

  .road-call strong{
    font-size: 16px !important;
  }

  .road-menu{
    gap: 4px !important;
    justify-content:flex-end !important;
  }

  .road-menu a{
    min-height: 42px !important;
    padding: 0 8px !important;
    font-size: 10px !important;
    justify-content:center !important;
    border-radius: 12px !important;
  }

  .road-hero{
    padding: calc(var(--road-header) + 82px) 0 92px !important;
  }

  .road-hero h1{
    font-size: clamp(64px, 8vw, 112px) !important;
  }

  .road-hero-buttons{
    display:flex !important;
  }

  .road-choice-grid{
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .road-tools-grid{
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .road-split{
    grid-template-columns: 1fr 1fr !important;
    padding: 42px !important;
  }

  .road-image-card img{
    height: 380px !important;
  }

  .road-video-grid{
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .road-area-grid{
    grid-template-columns: repeat(4, 1fr) !important;
  }

  .road-review-grid{
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .road-footer{
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
    margin-bottom: 52px !important;
  }
}

@media(min-width:1180px){
  :root{
    --road-header: 92px;
  }

  .road-header{
    grid-template-columns: 170px 236px 1fr !important;
  }

  .road-logo img{
    width: 148px !important;
  }

  .road-menu{
    gap: 8px !important;
  }

  .road-menu a{
    font-size: 11px !important;
    padding: 0 11px !important;
  }

  .road-choice-grid{
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Very small phones */
@media(max-width:380px){
  :root{
    --safe-x: 12px;
  }

  .road-header{
    grid-template-columns: 88px 1fr 44px !important;
    gap: 8px !important;
  }

  .road-logo img{
    width: 86px !important;
  }

  .road-call strong{
    font-size: 12px !important;
  }

  .road-call span{
    font-size: 8px !important;
  }

  .road-hero h1{
    font-size: 39px !important;
  }

  .road-area-grid{
    grid-template-columns: 1fr !important;
  }
}
