@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
  src: url('/assets/fonts/archivo-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/source-sans-3-latin.woff2') format('woff2');
}

:root{--red:#D22B1F;--red-d:#B02318;--ink:#1A1A1A;--ink2:#333;--gray:#6B6B6B;--line:#E4E2DE;--bg:#FFF;--bg2:#F7F6F3;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Source Sans 3',sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;font-size:17px;}
h1,h2,h3,h4{font-family:'Archivo',sans-serif;line-height:1.15;}
img{max-width:100%;display:block;}
.wrap{max-width:1080px;margin:0 auto;padding:0 5vw;}
section{padding:60px 0;}
.topbar{background:var(--ink);color:#fff;padding:9px 5vw;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:.85rem;}
.topbar span{color:#bbb;}
.topbar a{color:#fff;text-decoration:none;font-weight:600;}
nav{position:sticky;top:0;z-index:150;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:70px;}
.logo{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.45rem;color:var(--ink);text-decoration:none;}
.logo b{color:var(--red);}
.navlinks{display:flex;gap:4px;list-style:none;align-items:center;}
.navlinks>li{position:relative;}
.navlinks a{color:var(--ink2);text-decoration:none;font-weight:600;font-size:.92rem;padding:10px 12px;display:block;border-radius:5px;}
.navlinks a:hover{color:var(--red);background:var(--bg2);}
.ddmenu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.1);min-width:250px;max-height:62vh;overflow-y:auto;padding:8px;z-index:200;}
.dd:hover .ddmenu{display:block;}
.ddmenu a{padding:8px 12px;font-size:.88rem;}
.navcall{background:var(--red);color:#fff!important;padding:10px 20px;border-radius:5px;font-weight:700!important;}
.navcall:hover{background:var(--red-d)!important;}
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;}
.hbg span{display:block;width:24px;height:2px;background:var(--ink);}
.mnav{display:none;position:fixed;inset:0;background:#fff;z-index:500;flex-direction:column;padding:66px 8vw 40px;overflow-y:auto;gap:2px;}
.mnav.open{display:flex;}
.mnav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:1.1rem;padding:10px 0;border-bottom:1px solid var(--line);}
.mnav .msub{font-size:.94rem;font-weight:600;color:var(--gray);padding-left:14px;}
.mnav .mhead{color:var(--red);border:none;padding-top:16px;}
.mclose{position:absolute;top:14px;right:20px;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--ink);}
.avail{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--red);margin-bottom:16px;}
.avail::before{content:'';width:8px;height:8px;background:var(--red);border-radius:50%;animation:blink 1.6s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.35;}}
h1{font-size:clamp(1.9rem,4vw,3.1rem);font-weight:900;letter-spacing:-.02em;margin-bottom:16px;}
h1 b{color:var(--red);}
.hero-lead{font-size:1.06rem;color:var(--gray);margin-bottom:28px;max-width:520px;}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:1rem;padding:14px 28px;border-radius:5px;font-family:'Archivo',sans-serif;transition:all .15s;cursor:pointer;}
.btn-red{background:var(--red);color:#fff;border:2px solid var(--red);}
.btn-red:hover{background:var(--red-d);}
.btn-line{background:#fff;color:var(--ink);border:2px solid var(--line);}
.btn-line:hover{border-color:var(--ink);}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:540px;border-bottom:1px solid var(--line);}
.hero-text{padding:70px 5vw;display:flex;flex-direction:column;justify-content:center;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px;}
.hero-points{display:flex;gap:22px;flex-wrap:wrap;}
.hp{font-size:.88rem;color:var(--ink2);font-weight:600;display:flex;align-items:center;gap:7px;}
.hp::before{content:'✓';color:var(--red);font-weight:900;}
.hero-photo{position:relative;min-height:360px;}
.hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.phero{background:var(--bg2);border-bottom:1px solid var(--line);padding:48px 0;}
.phero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;}
.phero-img img{border-radius:8px;width:100%;aspect-ratio:4/3;object-fit:cover;}
.crumb{font-size:.82rem;color:var(--gray);margin-bottom:14px;}
.crumb a{color:var(--gray);text-decoration:none;}
.crumb a:hover{color:var(--red);}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
h2{font-size:clamp(1.45rem,2.9vw,2rem);font-weight:800;letter-spacing:-.01em;margin-bottom:14px;}
.lead{font-size:1.02rem;color:var(--gray);max-width:620px;margin-bottom:36px;}
.tcopy p{color:var(--ink2);margin-bottom:16px;font-size:1rem;max-width:820px;}
.tcopy strong{color:var(--ink);}
.svcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.svccard{border:1px solid var(--line);border-radius:8px;padding:22px;text-decoration:none;color:var(--ink);transition:all .15s;display:block;}
.svccard:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06);}
.svccard h3{font-size:1.02rem;font-weight:800;margin-bottom:6px;}
.svccard p{font-size:.88rem;color:var(--gray);}
.svccard .go{font-size:.85rem;font-weight:700;color:var(--red);margin-top:10px;display:inline-block;}
.gal-sec{background:var(--bg2);}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.gal-item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.gal-item:hover img{transform:scale(1.03);}
.gal-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.72),transparent);color:#fff;font-size:.85rem;font-weight:600;padding:26px 14px 12px;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.about-grid img{border-radius:8px;}
.chk{list-style:none;margin-top:8px;}
.chk li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.96rem;color:var(--ink2);display:flex;gap:10px;}
.chk li::before{content:'✓';color:var(--red);font-weight:900;}
.chips{display:flex;flex-wrap:wrap;gap:9px;}
.chip{background:#fff;border:1px solid var(--line);color:var(--ink2);text-decoration:none;font-size:.9rem;font-weight:600;padding:8px 16px;border-radius:40px;transition:all .15s;}
.chip:hover{border-color:var(--red);color:var(--red);}
.minisvc{display:flex;flex-wrap:wrap;gap:9px;}
.minisvc a{background:var(--bg2);border:1px solid var(--line);color:var(--ink2);text-decoration:none;font-size:.88rem;font-weight:600;padding:7px 14px;border-radius:40px;}
.minisvc a:hover{border-color:var(--red);color:var(--red);}
.faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.faq-item h3{font-size:1.05rem;font-weight:800;margin-bottom:7px;}
.faq-item p{color:var(--gray);font-size:.95rem;max-width:760px;}
.rev-sec{background:var(--bg2);}
.revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;}
.rev{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;}
.rev-stars{color:#E8A33D;letter-spacing:2px;margin-bottom:8px;}
.rev p{font-size:.93rem;color:var(--ink2);margin-bottom:12px;}
.rev-who{font-size:.84rem;color:var(--gray);font-weight:600;}
.mapwrap{border-radius:8px;overflow:hidden;border:1px solid var(--line);height:360px;margin-top:34px;}
.mapwrap iframe{width:100%;height:100%;border:none;}
.cta{background:var(--red);color:#fff;text-align:center;padding:56px 5vw;}
.cta h2{color:#fff;margin-bottom:6px;}
.cta p{color:rgba(255,255,255,.85);margin-bottom:24px;}
.cta-call{display:inline-block;background:#fff;color:var(--red);text-decoration:none;font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(1.4rem,3.2vw,2rem);padding:15px 40px;border-radius:6px;transition:transform .15s;}
.cta-call:hover{transform:translateY(-2px);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;}
.cline{padding:15px 0;border-bottom:1px solid var(--line);}
.cline h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);margin-bottom:4px;font-weight:700;}
.cline p,.cline a{font-size:1.02rem;color:var(--ink);text-decoration:none;font-weight:600;}
.form{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:28px;}
.form h3{font-size:1.2rem;font-weight:800;margin-bottom:16px;}
.fg{margin-bottom:13px;}
.fg label{display:block;font-size:.84rem;font-weight:700;color:var(--ink2);margin-bottom:5px;}
.fg input,.fg select,.fg textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:5px;padding:11px 13px;font-family:'Source Sans 3',sans-serif;font-size:.94rem;outline:none;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--red);}
.fg textarea{min-height:84px;resize:vertical;}
.fsub{width:100%;background:var(--red);color:#fff;border:none;border-radius:5px;font-family:'Archivo',sans-serif;font-weight:800;font-size:1rem;padding:13px;cursor:pointer;}
.fsub:hover{background:var(--red-d);}
footer{background:var(--ink);color:#999;padding:52px 5vw 24px;}
.ftop{max-width:1080px;margin:0 auto 36px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;}
.flogo{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.35rem;color:#fff;text-decoration:none;display:block;margin-bottom:10px;}
.flogo b{color:var(--red);}
.ftop p{font-size:.88rem;line-height:1.7;}
.fcol h4{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:12px;font-weight:700;}
.fcol ul{list-style:none;}
.fcol li{margin-bottom:7px;}
.fcol a{color:#999;text-decoration:none;font-size:.88rem;}
.fcol a:hover{color:#fff;}
.fbot{max-width:1080px;margin:0 auto;border-top:1px solid #333;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.81rem;}
.fbot a{color:#999;text-decoration:none;}
.fcall{display:none;position:fixed;bottom:14px;left:14px;right:14px;z-index:300;background:var(--red);color:#fff;font-family:'Archivo',sans-serif;font-weight:800;font-size:1rem;text-align:center;padding:14px;border-radius:8px;text-decoration:none;box-shadow:0 6px 24px rgba(210,43,31,.4);}
@media(max-width:768px){.hero,.phero-grid,.about-grid,.contact-grid{grid-template-columns:1fr;}.hero-photo{min-height:280px;order:-1;}.phero-grid{gap:26px;}.ftop{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){.navlinks{display:none;}.hbg{display:flex;}.fcall{display:block;}body{padding-bottom:66px;}.gal-grid{grid-template-columns:1fr 1fr;}.ftop{grid-template-columns:1fr;}section{padding:48px 0;}}
.ddtoggle{background:none;border:none;color:var(--ink2);cursor:pointer;padding:10px 12px;font-family:inherit;font-size:.92rem;line-height:1.65;font-weight:600;display:block;border-radius:5px;}
.ddtoggle:hover{color:var(--red);background:var(--bg2);}
.dd.open .ddmenu,.dd:hover .ddmenu,.dd:focus-within .ddmenu{display:block;}
.ddtoggle:focus-visible,.hbg:focus-visible,.mclose:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #D22B1F;outline-offset:2px;}
.hbg{background:none;border:none;cursor:pointer;}

/* Process */
.proc-sec{padding:70px 0;background:#fff}
.proc-grid{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.proc-step{position:relative;background:#faf9f7;border:1px solid #ececec;border-radius:12px;padding:26px 22px 22px}
.proc-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#D22B1F;color:#fff;font-weight:700;margin-bottom:12px}
.proc-step h3{margin:0 0 8px;font-size:1.05rem}
.proc-step p{margin:0;color:#4a4a4a;font-size:.95rem;line-height:1.6}
/* Fleet */
.fleet-sec{padding:70px 0;background:#faf9f7}
.fleet-grid{margin-top:34px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.fleet-item{background:#fff;border:1px solid #ececec;border-radius:12px;padding:24px}
.fleet-item h3{margin:0 0 8px;font-size:1.05rem;color:#1A1A1A}
.fleet-item p{margin:0;color:#4a4a4a;font-size:.95rem;line-height:1.6}
/* Homepage FAQ */
.faq-sec{padding:70px 0;background:#fff}
.faq-sec .faq-item{border-bottom:1px solid #ececec;padding:18px 0}
.faq-sec .faq-item h3{margin:0 0 6px;font-size:1.03rem}
.faq-sec .faq-item p{margin:0;color:#4a4a4a;line-height:1.65}
/* Review CTAs */
.rev-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
@media(max-width:520px){.rev-cta .btn{width:100%;text-align:center}}

.need-list{margin:14px 0 0;padding-left:22px}
.need-list li{margin:7px 0;color:#4a4a4a;line-height:1.55}
.rel-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.rel-list li{background:#faf9f7;border:1px solid #ececec;border-radius:8px;padding:12px 14px;color:#4a4a4a}
.rel-list a{color:#D22B1F;font-weight:600;text-decoration:none}
.rel-list a:hover{text-decoration:underline}

/* Structured job entries */
.gal-cap{display:flex;flex-direction:column;gap:5px;padding:14px 14px 16px;text-align:left}
.gal-cap b{font-size:1rem;color:#1A1A1A;line-height:1.3}
.job-svc{display:inline-block;align-self:flex-start;background:#D22B1F;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:4px}
.job-desc{font-size:.88rem;color:#5a5a5a;line-height:1.55}
.job-loc{font-size:.78rem;color:#8a8a8a;font-weight:600}
/* IMAGE FIX */
img {
  display: block !important;
  max-width: 100% !important;
}

picture,
figure {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.hero img,
.hero-image img,
.hero-img img,
[class*="hero"] img {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.service-card img,
.service-image img,
.card img,
[class*="service"] img,
[class*="photo"] img,
[class*="image"] img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 1024px) {
  img {
    max-width: 100% !important;
  }

  .hero img,
  .hero-image img,
  .hero-img img,
  [class*="hero"] img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }
}

/* HOMEPAGE PORSCHE IMAGE FIX */
img[src$="img-829f3452b4.webp"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
}

@media (max-width: 768px) {
  img[src$="img-829f3452b4.webp"] {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }
}

/* HOMEPAGE WORK GALLERY TEXT FIX */
.work-card,
[class*="work-card"],
.portfolio-card,
.gallery-card {
  position: relative !important;
  overflow: hidden !important;
}

.work-card::after,
[class*="work-card"]::after,
.portfolio-card::after,
.gallery-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.08) 20%,
    rgba(0,0,0,0.72) 100%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.work-card h3,
.work-card p,
.work-card span,
[class*="work-card"] h3,
[class*="work-card"] p,
[class*="work-card"] span,
.portfolio-card h3,
.portfolio-card p,
.gallery-card h3,
.gallery-card p {
  position: relative !important;
  z-index: 2 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important;
}

.work-card p,
[class*="work-card"] p,
.portfolio-card p,
.gallery-card p {
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.work-card .location,
[class*="work-card"] .location,
.portfolio-card .location,
.gallery-card .location {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* ACTUAL HOMEPAGE GALLERY TEXT FIX */
.gal-item {
  position: relative !important;
  overflow: hidden !important;
}

.gal-item::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.08) 15%,
    rgba(0, 0, 0, 0.82) 100%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.gal-cap {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 22px !important;
  color: #ffffff !important;
}

.gal-cap .job-svc,
.gal-cap .job-desc,
.gal-cap .job-loc {
  position: relative !important;
  z-index: 3 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.95) !important;
}

.gal-cap .job-svc {
  align-self: flex-start !important;
  background: #d71920 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  padding: 8px 12px !important;
  margin-bottom: 12px !important;
  border-radius: 4px !important;
}

.gal-cap .job-desc {
  font-size: 17px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}

.gal-cap .job-loc {
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* GALLERY VEHICLE TITLE FIX */
.gal-cap h3,
.gal-cap h2,
.gal-cap .job-title,
.gal-cap .vehicle-title,
.gal-cap strong {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 5px rgba(0,0,0,0.95) !important;
  position: relative !important;
  z-index: 3 !important;
}

/* GALLERY VEHICLE NAME — ACTUAL B TAG */
.gal-cap b,
.gal-cap div b,
.gal-item .gal-cap b {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 900 !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 1) !important;
  position: relative !important;
  z-index: 5 !important;
}

/* FINAL HOMEPAGE PORSCHE IMAGE CORRECTION */
img[src$="img-829f3452b4.webp"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 18px !important;
}

div:has(> img[src$="img-829f3452b4.webp"]) {
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  align-self: center !important;
}

/* HOMEPAGE ABOUT SECTION — WIDEN IMAGE COLUMN */
section:has(img[src$="img-829f3452b4.webp"]) .wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) !important;
  align-items: center !important;
  gap: 48px !important;
  width: min(1280px, calc(100% - 48px)) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
}

section:has(img[src$="img-829f3452b4.webp"]) picture,
section:has(img[src$="img-829f3452b4.webp"]) div:has(> img[src$="img-829f3452b4.webp"]) {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  overflow: visible !important;
}

section:has(img[src$="img-829f3452b4.webp"]) img[src$="img-829f3452b4.webp"] {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 18px !important;
}

@media (max-width: 850px) {
  section:has(img[src$="img-829f3452b4.webp"]) .wrap {
    grid-template-columns: 1fr !important;
    width: min(100% - 32px, 760px) !important;
    gap: 28px !important;
  }
}

/* EXACT ABOUT-SECTION IMAGE FIX */
#about .about-grid img[src$="img-a76a092766.webp"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 8px !important;
}

/* FINAL GALLERY LABEL AND TEXT POSITIONING */
.gal-item {
  position: relative !important;
  overflow: hidden !important;
}

.gal-cap {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 72px 20px 20px !important;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.08) 10%,
    rgba(0,0,0,0.82) 100%
  ) !important;
}

.gal-cap .job-svc {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin: 0 !important;
  padding: 9px 13px !important;
  background: #d71920 !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  z-index: 10 !important;
}

.gal-cap b,
.gal-cap .job-desc,
.gal-cap .job-loc {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 5px rgba(0,0,0,0.95) !important;
}

.gal-cap b {
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.gal-cap .job-desc {
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

.gal-cap .job-loc {
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

@media (max-width: 768px) {
  .gal-cap {
    padding: 62px 16px 16px !important;
  }

  .gal-cap .job-svc {
    top: 12px !important;
    left: 12px !important;
    max-width: calc(100% - 24px) !important;
    font-size: 11px !important;
    padding: 7px 10px !important;
  }

  .gal-cap b {
    font-size: 16px !important;
  }

  .gal-cap .job-desc {
    font-size: 14px !important;
  }
}

/* GALLERY LIGHTBOX */
.gal-item {
  cursor: zoom-in !important;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.92);
}

.gallery-lightbox.is-open {
  display: flex;
}

.gallery-lightbox img {
  display: block;
  max-width: min(1100px, 92vw);
  max-height: 86vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.5);
}

.gallery-lightbox-close {
  position: fixed;
  top: 18px;
  right: 22px;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #111111;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.gallery-lightbox-caption {
  position: fixed;
  left: 24px;
  right: 24px;
  bottom: 18px;
  color: #ffffff;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
}

/* FINAL HOMEPAGE HERO IMAGE SIZE */
html body header .hero-photo {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: start !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

html body header .hero-photo > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 190px) !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
}

@media (max-width: 768px) {
  html body header .hero-photo > img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }
}

/* RESTORE AND SIZE HOMEPAGE HERO PHOTO */
html body .hero-photo {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: clamp(380px, 40vw, 500px) !important;
  min-height: 380px !important;
  max-height: calc(100vh - 220px) !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body .hero-photo picture {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

html body .hero-photo img,
html body .hero-photo picture img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 768px) {
  html body .hero-photo {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
  }
}

/* HOMEPAGE PHOTO FIX */
/* Exact middle-page photo: .hero-photo */
.hero-photo {
  width: 100% !important;
  max-width: 680px !important;
  height: auto !important;
  margin-inline: auto !important;
  overflow: visible !important;
  border-radius: 18px !important;
}

.hero-photo img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 540px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 18px !important;
}

@media (max-width: 768px) {
  .hero-photo {
    max-width: 100% !important;
  }

  .hero-photo img {
    max-height: none !important;
  }
}

/* HERO FINAL */
/* EXACT HOMEPAGE HERO IMAGE */

#homepage-hero-photo {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 430px !important;
  min-height: 430px !important;
  max-height: 430px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 1 !important;
}

#homepage-hero-photo::before,
#homepage-hero-photo::after {
  content: none !important;
  display: none !important;
}

#homepage-hero-photo > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 2 !important;
}

@media (max-width: 900px) {
  #homepage-hero-photo {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
  }
}

/* Keep homepage hero side-by-side on desktop */
@media (min-width: 769px) {
  header.hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  header.hero .hero-photo { order: 0 !important; }
}

/* Force homepage hero items into the correct desktop grid cells */
@media (min-width: 769px) {
  header.hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: minmax(540px, auto) !important;
  }

  header.hero > .hero-text {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  header.hero > #homepage-hero-photo {
    grid-column: 2 !important;
    grid-row: 1 !important;
    order: 0 !important;
    align-self: center !important;
  }
}

/* Accessibility: CTA contrast and corrected heading levels */
.cta h2,
.cta p {
  color: #ffffff !important;
}

.cline > h3,
.fcol > h3 {
  font-family: 'Archivo', sans-serif;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 800;
  margin: 0 0 8px;
}

/* XXCELL HOMEPAGE REVIEW CARDS */
.review-panel{max-width:1080px;margin:0 auto;padding:42px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 34px rgba(26,26,26,.06)}
.review-panel>.eyebrow,.review-panel>h2,.review-intro{text-align:center}
.review-intro{max-width:780px;margin:16px auto 24px;color:var(--ink2);font-size:1.08rem;line-height:1.65}
.review-intro strong{color:var(--ink)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.review-card{display:flex;flex-direction:column;min-width:0;min-height:100%;padding:24px;color:var(--ink);background:var(--bg2);border:1px solid var(--line);border-radius:18px;text-decoration:none;transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease}
.review-card:hover{transform:translateY(-3px);border-color:rgba(210,43,31,.35);box-shadow:0 12px 24px rgba(26,26,26,.08)}
.review-card:focus-visible{outline:3px solid rgba(210,43,31,.35);outline-offset:3px}
.review-card-stars{margin-bottom:14px;color:#f5b301;letter-spacing:2px;font-size:1.05rem}
.review-card blockquote{flex:1;margin:0;color:var(--ink2);font-size:1rem;line-height:1.65}
.review-author{display:flex;flex-direction:column;gap:2px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.review-author strong{font-family:'Archivo',sans-serif;font-size:.98rem;color:var(--ink)}
.review-author span{color:var(--gray);font-size:.88rem}
.review-panel .rev-cta{margin-top:28px}
@media(max-width:900px){.review-grid{grid-template-columns:1fr}.review-card{min-height:auto}}
@media(max-width:600px){.rev-sec{padding-top:44px;padding-bottom:44px}.review-panel{padding:28px 18px;border-radius:18px}.review-panel>h2{font-size:clamp(1.75rem,8vw,2.25rem)}.review-intro{font-size:1rem}.review-card{padding:21px 19px}.review-card blockquote{font-size:.98rem}.review-panel .rev-cta{display:grid;grid-template-columns:1fr;gap:12px}.review-panel .rev-cta .btn{width:100%;margin:0;text-align:center}}

/* XXCELL GOOGLE REVIEW ICONS */
.review-author > span{display:inline-flex;align-items:center;gap:6px}
.review-author > span::before{content:"";display:inline-block;width:16px;height:16px;flex:0 0 16px;background:url("/assets/google-review-icon.ico") center/16px 16px no-repeat}
/* Mobile navigation accordion */
.mnav .msub{display:none;}
.mnav .msub.mobile-sub-open{display:block;}
.mnav .mhead{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
.mnav .mhead::after{content:"+";font-size:1.35rem;font-weight:700;color:var(--red);margin-left:12px;}
.mnav .mhead.mobile-head-open::after{content:"-";}

/* HOMEPAGE 18-PHOTO GALLERY */
#home-gallery {
  max-width: 1050px;
  margin: 34px auto 0;
}

#home-gallery .ev-gallery-main {
  position: relative;
  overflow: hidden;
  background: #111;
  border-radius: 12px;
}

#home-gallery #home-main-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #111;
}

#home-gallery .ev-gallery-prev,
#home-gallery .ev-gallery-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: rgba(0,0,0,.72);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  z-index: 5;
}

#home-gallery .ev-gallery-prev {
  left: 16px;
}

#home-gallery .ev-gallery-next {
  right: 16px;
}

#home-gallery .ev-gallery-prev:hover,
#home-gallery .ev-gallery-next:hover {
  background: rgba(0,0,0,.9);
}

#home-gallery .ev-gallery-count {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 5;
  background: rgba(0,0,0,.72);
  color: #fff;
  padding: 7px 11px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 700;
}

#home-gallery .ev-gallery-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  padding: 42px 70px 18px 18px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.88),
    rgba(0,0,0,0)
  );
  text-shadow: 0 2px 5px rgba(0,0,0,.9);
}

#home-gallery .ev-gallery-expand {
  position: absolute;
  right: 16px;
  bottom: 14px;
  z-index: 6;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(0,0,0,.72);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}

#home-gallery .ev-gallery-thumbs {
  display: flex;
  gap: 9px;
  margin-top: 12px;
  padding: 4px 2px 10px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

#home-gallery .ev-thumb {
  flex: 0 0 112px;
  width: 112px;
  height: 78px;
  padding: 0;
  border: 3px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  background: #111;
  cursor: pointer;
  opacity: .72;
}

#home-gallery .ev-thumb:hover {
  opacity: 1;
}

#home-gallery .ev-thumb.active {
  border-color: #d22b1f;
  opacity: 1;
}

#home-gallery .ev-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* HOMEPAGE GALLERY LIGHTBOX */
.ev-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
  background: rgba(0,0,0,.94);
}

.ev-lightbox.open {
  display: flex;
}

.ev-lightbox img {
  display: block;
  width: auto;
  height: auto;
  max-width: 94vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 8px;
}

.ev-lightbox-close {
  position: fixed;
  top: 18px;
  right: 22px;
  z-index: 2147483647;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font-size: 32px;
  line-height: 44px;
  cursor: pointer;
}

/* HOMEPAGE GALLERY MOBILE */
@media (max-width: 768px) {
  #home-gallery {
    margin-top: 24px;
  }

  #home-gallery #home-main-image {
    aspect-ratio: 4 / 3;
  }

  #home-gallery .ev-gallery-prev,
  #home-gallery .ev-gallery-next {
    width: 40px;
    height: 40px;
    font-size: 23px;
  }

  #home-gallery .ev-gallery-prev {
    left: 9px;
  }

  #home-gallery .ev-gallery-next {
    right: 9px;
  }

  #home-gallery .ev-gallery-count {
    top: 10px;
    right: 10px;
    font-size: 12px;
  }

  #home-gallery .ev-gallery-caption {
    padding: 38px 58px 12px 12px;
    font-size: 13px;
  }

  #home-gallery .ev-gallery-expand {
    right: 10px;
    bottom: 9px;
    width: 38px;
    height: 38px;
    font-size: 19px;
  }

  #home-gallery .ev-thumb {
    flex-basis: 82px;
    width: 82px;
    height: 62px;
  }

  .ev-lightbox {
    padding: 12px;
  }

  .ev-lightbox-close {
    top: 12px;
    right: 12px;
  }
}

/* HOMEPAGE GALLERY FINAL SIZE AUTHORITY */
html body #home-gallery {
  width: 100%;
  max-width: 1050px;
  margin: 34px auto 0;
}

html body #home-gallery .ev-gallery-main {
  width: 100%;
  max-width: 1050px;
  position: relative;
  overflow: hidden;
}

html body #home-gallery #home-main-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
}

html body #home-gallery .ev-gallery-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  gap: 9px !important;
  overflow-x: auto !important;
}

html body #home-gallery button.ev-thumb {
  display: block !important;
  flex: 0 0 112px !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body #home-gallery button.ev-thumb img {
  display: block !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
  object-fit: cover !important;
}

@media (max-width: 768px) {
  html body #home-gallery button.ev-thumb {
    flex-basis: 82px !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
  }

  html body #home-gallery button.ev-thumb img {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
  }
}

/* HOMEPAGE GALLERY FINAL DESKTOP PRESENTATION */
html body #home-gallery {
  width: 100% !important;
  max-width: 850px !important;
  margin: 32px auto 0 !important;
}

html body #home-gallery .ev-gallery-main {
  position: relative !important;
  width: 100% !important;
  height: 478px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #111 !important;
}

html body #home-gallery #home-main-image {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  background: #111 !important;
}

html body #home-gallery .ev-gallery-prev,
html body #home-gallery .ev-gallery-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,.72) !important;
  color: #fff !important;
  font-size: 25px !important;
  line-height: 44px !important;
  text-align: center !important;
  cursor: pointer !important;
  z-index: 20 !important;
}

html body #home-gallery .ev-gallery-prev {
  left: 14px !important;
}

html body #home-gallery .ev-gallery-next {
  right: 14px !important;
}

html body #home-gallery .ev-gallery-count {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 20 !important;
  margin: 0 !important;
  padding: 6px 11px !important;
  border-radius: 20px !important;
  background: rgba(0,0,0,.72) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

html body #home-gallery .ev-gallery-caption {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 15 !important;
  margin: 0 !important;
  padding: 44px 65px 16px 16px !important;
  background: linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,0)) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-shadow: 0 2px 5px rgba(0,0,0,.9) !important;
}

html body #home-gallery .ev-gallery-expand {
  position: absolute !important;
  right: 14px !important;
  bottom: 12px !important;
  z-index: 20 !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,.72) !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 38px !important;
  text-align: center !important;
  cursor: pointer !important;
}

html body #home-gallery .ev-gallery-thumbs {
  display: flex !important;
  width: 100% !important;
  gap: 8px !important;
  margin-top: 10px !important;
  padding: 3px 0 9px !important;
  overflow-x: auto !important;
}

html body #home-gallery .ev-thumb {
  flex: 0 0 94px !important;
  width: 94px !important;
  height: 66px !important;
  padding: 0 !important;
  margin: 0 !important;
}

html body #home-gallery .ev-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 768px) {
  html body #home-gallery {
    max-width: 100% !important;
  }

  html body #home-gallery .ev-gallery-main {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }

  html body #home-gallery .ev-thumb {
    flex-basis: 78px !important;
    width: 78px !important;
    height: 58px !important;
  }
}

/* Fleet grid layout repair */
.fleet-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.fleet-grid > .fleet-item {
  width: auto;
  margin: 0;
  align-self: stretch;
}

@media (max-width: 900px) {
  .fleet-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .fleet-grid {
    grid-template-columns: 1fr;
  }
}

/* Fleet grid definitive placement repair — desktop */
@media (min-width: 901px) {
  .fleet-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .fleet-grid > .fleet-item {
    width: auto !important;
    margin: 0 !important;
    align-self: stretch !important;
    grid-row: auto !important;
  }

  .fleet-grid > .fleet-item:nth-child(1) {
    grid-column: 1 !important;
  }

  .fleet-grid > .fleet-item:nth-child(2) {
    grid-column: 2 !important;
  }

  .fleet-grid > .fleet-item:nth-child(3) {
    grid-column: 3 !important;
  }

  .fleet-grid > .fleet-item:nth-child(4) {
    grid-column: 1 !important;
  }

  .fleet-grid > .fleet-item:nth-child(5) {
    grid-column: 2 !important;
  }

  .fleet-grid > .fleet-item:nth-child(6) {
    grid-column: 3 !important;
  }
}

/* Tablet */
@media (min-width: 621px) and (max-width: 900px) {
  .fleet-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .fleet-grid > .fleet-item {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

/* Mobile */
@media (max-width: 620px) {
  .fleet-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .fleet-grid > .fleet-item {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* Fleet grid final explicit desktop layout */
@media (min-width: 901px) {
  .fleet-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 18px !important;
  }

  .fleet-grid > .fleet-item {
    width: auto !important;
    margin: 0 !important;
    align-self: stretch !important;
  }

  .fleet-grid > .fleet-item:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .fleet-grid > .fleet-item:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .fleet-grid > .fleet-item:nth-child(3) {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .fleet-grid > .fleet-item:nth-child(4) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .fleet-grid > .fleet-item:nth-child(5) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .fleet-grid > .fleet-item:nth-child(6) {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }
}

/* Mobile homepage section order: bring real-work gallery higher */
@media (max-width: 900px) {
  main {
    display: flex;
    flex-direction: column;
  }

  main > * {
    order: 10;
  }

  #homesvc {
    order: 1;
  }

  #work {
    order: 2;
  }

  #process {
    order: 3;
  }

  #fleet {
    order: 4;
  }
}

/* =========================================================
   XXCELL MOBILE UI REFRESH — PHASE 1
   Mobile only. Desktop remains unchanged.
   ========================================================= */

.mobile-nav-call,
.mobile-dispatch-status,
.mobile-action-bar {
  display:none;
}

@media (max-width:768px) {

  body {
    padding-bottom:82px !important;
    background:#f8fafc;
  }

  /* Header */
  body > nav {
    min-height:64px;
    padding-left:18px;
    padding-right:14px;
    background:#fff;
    border-bottom:1px solid #e5e7eb;
  }

  body > nav .logo {
    font-size:1.22rem;
  }

  .mobile-nav-call {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:auto;
    margin-right:10px;
    width:44px;
    height:44px;
    overflow:hidden;
    color:transparent;
    background:#d22b1f;
    border-radius:10px;
    text-decoration:none;
    position:relative;
    box-shadow:0 4px 12px rgba(210,43,31,.22);
  }

  .mobile-nav-call::after {
    content:"☎";
    color:#fff;
    position:absolute;
    font-size:1.35rem;
    line-height:1;
  }

  .hbg {
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    padding:8px;
    border-radius:9px;
  }

  /* Hero */
  header.hero {
    display:flex !important;
    flex-direction:column;
    min-height:0 !important;
    border-bottom:0;
    background:#fff;
  }

  header.hero .hero-photo {
    order:0 !important;
    margin:14px 16px 0;
    width:calc(100% - 32px) !important;
    min-height:0 !important;
    height:280px !important;
    max-height:280px !important;
    border-radius:18px !important;
    overflow:hidden;
  }

  header.hero .hero-photo img {
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    border-radius:18px !important;
  }

  header.hero .hero-text {
    order:1;
    padding:22px 18px 28px !important;
    display:block;
  }

  .mobile-dispatch-status {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    margin-bottom:14px;
    background:#f0fdf4;
    border:1px solid #bbf7d0;
    border-radius:999px;
    color:#166534;
    font-size:.78rem;
    font-weight:800;
  }

  .mobile-dispatch-status span {
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.12);
  }

  header.hero h1 {
    font-size:clamp(2rem,9vw,2.65rem);
    line-height:1.02;
    letter-spacing:-.035em;
    margin-bottom:16px;
  }

  header.hero h1 b {
    color:#d22b1f;
  }

  header.hero .hero-lead {
    font-size:1rem;
    line-height:1.55;
    margin-bottom:20px;
  }

  /* Hero CTAs */
  header.hero .hero-cta {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:18px;
  }

  header.hero .hero-cta .btn {
    width:100%;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:1rem;
    font-weight:800;
    border-radius:10px;
  }

  /* Trust boxes */
  header.hero .hero-points {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:2px;
  }

  header.hero .hero-points .hp {
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:62px;
    padding:9px 7px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:10px;
    font-size:.76rem;
    line-height:1.25;
    font-weight:750;
    color:#0f172a;
    box-shadow:0 2px 8px rgba(15,23,42,.04);
  }

  /* New sticky bottom action bar */
  .mobile-action-bar {
    position:fixed;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    left:10px;
    right:10px;
    bottom:max(8px, env(safe-area-inset-bottom));
    z-index:450;
    min-height:64px;
    padding:6px;
    gap:5px;
    background:#111827;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    box-shadow:0 10px 32px rgba(0,0,0,.28);
  }

  .mobile-action {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-height:52px;
    color:#fff;
    text-decoration:none;
    border-radius:11px;
    font-size:.74rem;
    line-height:1.1;
  }

  .mobile-action span {
    font-size:1.15rem;
  }

  .mobile-action strong {
    font-weight:800;
  }

  .mobile-action-primary {
    background:#d22b1f;
  }

  .mobile-action:active {
    transform:scale(.97);
  }
}


/* =========================================================
   XXCELL MOBILE UI REFRESH — PHASE 1B
   Strong visual hero treatment
   ========================================================= */

@media (max-width:768px) {

header.hero {
background:#0f172a !important;
margin:12px 12px 24px !important;
border-radius:22px !important;
overflow:hidden !important;
box-shadow:0 12px 34px rgba(15,23,42,.18) !important;
}

header.hero .hero-photo {
margin:0 !important;
width:100% !important;
height:300px !important;
max-height:300px !important;
border-radius:0 !important;
}

header.hero .hero-photo img {
border-radius:0 !important;
}

header.hero .hero-text {
padding:22px 18px 24px !important;
background:#0f172a !important;
}

header.hero h1 {
color:#fff !important;
font-size:clamp(2rem,9vw,2.7rem) !important;
line-height:1.01 !important;
}

header.hero h1 b {
color:#ef3123 !important;
}

header.hero .hero-lead {
color:#cbd5e1 !important;
}

.mobile-dispatch-status {
background:rgba(34,197,94,.10) !important;
border-color:rgba(74,222,128,.45) !important;
color:#86efac !important;
}

header.hero .hero-cta .btn-red {
background:#e52b20 !important;
border-color:#e52b20 !important;
color:#fff !important;
box-shadow:0 7px 20px rgba(229,43,32,.25) !important;
}

header.hero .hero-cta .btn-line {
background:#fff !important;
border:2px solid #fff !important;
color:#111827 !important;
}

header.hero .hero-points .hp {
background:#172033 !important;
border-color:#334155 !important;
color:#fff !important;
box-shadow:none !important;
}

.mobile-action-bar {
top:auto !important;
bottom:max(8px, env(safe-area-inset-bottom)) !important;
}

}


/* XXCELL MOBILE UI — PHASE 1C POLISH */
@media (max-width:768px) {

  body {
    padding-bottom:74px !important;
  }

  .mobile-action-bar {
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    min-height:62px !important;
    padding:5px 10px max(5px, env(safe-area-inset-bottom)) !important;
    border-radius:16px 16px 0 0 !important;
    box-shadow:0 -5px 22px rgba(0,0,0,.18) !important;
  }

  .mobile-action {
    min-height:48px !important;
    font-size:.70rem !important;
    gap:2px !important;
  }

  .mobile-action span {
    font-size:.95rem !important;
  }

  .mobile-action-primary {
    max-width:125px;
    width:100%;
    justify-self:center;
  }

  .mobile-nav-call::after {
    content:"CALL";
    font-family:Arial,sans-serif;
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.04em;
  }

  .mobile-nav-call {
    width:46px;
    height:42px;
  }

}


/* XXCELL MOBILE UI — BALANCE BOTTOM ACTION BAR */
@media (max-width:768px) {

  .mobile-action-bar {
    grid-template-columns:repeat(3,1fr) !important;
    align-items:stretch !important;
  }

  .mobile-action {
    width:100% !important;
    min-height:54px !important;
    padding:6px 4px !important;
  }

  .mobile-action-primary {
    max-width:none !important;
    width:100% !important;
    justify-self:stretch !important;
  }

}
/* XXCELL MOBILE UI — FINAL BOTTOM BAR ALIGNMENT */
@media (max-width:768px) {
.mobile-action-bar{
height:72px !important;
min-height:72px !important;
max-height:72px !important;
padding:6px 8px !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
align-items:stretch !important;
}

.mobile-action{
height:60px !important;
min-height:60px !important;
max-height:60px !important;
padding:4px !important;
margin:0 !important;
align-self:center !important;
justify-self:stretch !important;
justify-content:center !important;
}

.mobile-action-primary{
width:100% !important;
max-width:none !important;
height:60px !important;
margin:0 !important;
}

.mobile-action span,
.mobile-action strong{
margin:0 !important;
line-height:1.05 !important;
}
}

/* XXCELL MOBILE UI — BOTTOM BAR LABEL CONSISTENCY */
@media (max-width:768px) {
  .mobile-action span {
    display:block !important;
    height:18px !important;
    line-height:18px !important;
    font-size:1rem !important;
  }

  .mobile-action strong {
    display:block !important;
    height:18px !important;
    line-height:18px !important;
    font-size:.78rem !important;
  }
}

/* XXCELL MOBILE UI — SIMPLE ONE ROW BOTTOM BAR */
@media (max-width:768px) {

.mobile-action-bar {
display:flex !important;
flex-direction:row !important;
align-items:center !important;
justify-content:space-between !important;
height:66px !important;
min-height:66px !important;
max-height:66px !important;
padding:6px 8px calc(6px + env(safe-area-inset-bottom)) !important;
left:0 !important;
right:0 !important;
bottom:0 !important;
border-radius:14px 14px 0 0 !important;
}

.mobile-action {
flex:1 1 0 !important;
width:auto !important;
height:54px !important;
min-height:54px !important;
max-height:54px !important;
margin:0 3px !important;
padding:4px !important;
display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
}

.mobile-action-primary {
flex:1 1 0 !important;
width:auto !important;
max-width:none !important;
justify-self:auto !important;
}

}

/* XXCELL MOBILE UI — LIGHT HERO BACKGROUND */
@media (max-width:768px) {

header.hero {
background:#ffffff !important;
box-shadow:0 8px 24px rgba(15,23,42,.08) !important;
}

header.hero .hero-text {
background:#ffffff !important;
}

header.hero h1 {
color:#111827 !important;
}

header.hero h1 b {
color:#e52b20 !important;
}

header.hero .hero-lead {
color:#6b7280 !important;
}

.mobile-dispatch-status {
background:#f0fdf4 !important;
border-color:#bbf7d0 !important;
color:#166534 !important;
}

header.hero .hero-cta .btn-line {
background:#ffffff !important;
border:2px solid #111827 !important;
color:#111827 !important;
}

header.hero .hero-points .hp {
background:#ffffff !important;
border-color:#e2e8f0 !important;
color:#111827 !important;
box-shadow:0 2px 8px rgba(15,23,42,.05) !important;
}

}

/* XXCELL HOMEPAGE SERVICES — EMOJI ICONS */
#homesvc .svccard h3{
  display:flex;
  align-items:center;
  gap:8px;
}

#homesvc .svccard h3::before{
  display:inline-block;
  width:1.25em;
  text-align:center;
  flex:0 0 1.25em;
  font-size:1.05em;
  line-height:1;
}

/* Top row */
#homesvc .svccard[href="/emergency-towing-bergen-county-nj/"] h3::before{content:"🚨";}
#homesvc .svccard[href="/flatbed-towing-bergen-county-nj/"] h3::before{content:"🚛";}
#homesvc .svccard[href="/roadside-assistance-bergen-county-nj/"] h3::before{content:"🛠️";}
#homesvc .svccard[href="/accident-recovery-bergen-county-nj/"] h3::before{content:"🚧";}
#homesvc .svccard[href="/luxury-exotic-vehicle-transport-bergen-county-nj/"] h3::before{content:"🏎️";}
#homesvc .svccard[href="/jump-start-service-bergen-county-nj/"] h3::before{content:"⚡";}

/* View all services */
#homesvc .svccard[href="/ev-tesla-towing-bergen-county-nj/"] h3::before{content:"🔋";}
#homesvc .svccard[href="/car-lockout-service-bergen-county-nj/"] h3::before{content:"🔓";}
#homesvc .svccard[href="/flat-tire-change-bergen-county-nj/"] h3::before{content:"🛞";}
#homesvc .svccard[href="/gas-delivery-bergen-county-nj/"] h3::before{content:"⛽";}
#homesvc .svccard[href="/winch-out-recovery-bergen-county-nj/"] h3::before{content:"🪝";}
#homesvc .svccard[href="/motorcycle-towing-bergen-county-nj/"] h3::before{content:"🏍️";}
#homesvc .svccard[href="/awd-vehicle-towing-bergen-county-nj/"] h3::before{content:"🚙";}
#homesvc .svccard[href="/long-distance-towing-bergen-county-nj/"] h3::before{content:"🛣️";}


/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — PHASE 1
Presentation only. Existing content and SEO remain unchanged.
========================================================= */

@media(max-width:768px){

body{
background:#f8fafc !important;
}

/* Compact mobile header */
body>nav{
min-height:62px !important;
height:62px !important;
padding:0 14px 0 16px !important;
background:#ffffff !important;
border-bottom:1px solid #e2e8f0 !important;
box-shadow:0 2px 10px rgba(15,23,42,.05) !important;
}

body>nav .logo{
font-size:1.18rem !important;
font-weight:800 !important;
}

.mobile-nav-call{
width:44px !important;
height:40px !important;
border-radius:9px !important;
background:#dc2626 !important;
box-shadow:none !important;
}

.hbg{
width:40px !important;
height:40px !important;
}

/* Hero card */
header.hero{
display:flex !important;
flex-direction:column !important;
margin:12px 12px 22px !important;
background:#ffffff !important;
border:1px solid #e2e8f0 !important;
border-radius:16px !important;
overflow:hidden !important;
box-shadow:0 7px 22px rgba(15,23,42,.07) !important;
}

/* Real XXCELL image remains unchanged */
header.hero .hero-photo{
order:1 !important;
width:100% !important;
height:235px !important;
min-height:235px !important;
max-height:235px !important;
margin:0 !important;
border-radius:0 !important;
background:#e2e8f0 !important;
}

header.hero .hero-photo img{
width:100% !important;
height:100% !important;
object-fit:cover !important;
border-radius:0 !important;
}

/* Existing hero copy */
header.hero .hero-text{
order:2 !important;
padding:18px 16px 18px !important;
background:#ffffff !important;
}

/* Existing availability text */
.mobile-dispatch-status{
display:inline-flex !important;
align-items:center !important;
width:auto !important;
max-width:100% !important;
margin:0 0 12px !important;
padding:7px 10px !important;
border:1px solid #bbf7d0 !important;
border-radius:999px !important;
background:#f0fdf4 !important;
color:#166534 !important;
font-size:.72rem !important;
font-weight:800 !important;
letter-spacing:.02em !important;
}

.mobile-dispatch-status span{
width:8px !important;
height:8px !important;
margin-right:7px !important;
background:#16a34a !important;
border-radius:50% !important;
box-shadow:0 0 0 3px rgba(22,163,74,.10) !important;
}

/* Existing H1 text stays exactly the same */
header.hero h1{
margin:0 !important;
font-size:clamp(1.95rem,8.5vw,2.55rem) !important;
line-height:1.04 !important;
letter-spacing:-.035em !important;
font-weight:800 !important;
color:#0f172a !important;
}

header.hero h1 b{
color:#dc2626 !important;
}

/* Existing paragraph stays exactly the same */
header.hero .hero-lead{
margin:14px 0 17px !important;
font-size:.98rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

/* Existing CTA links */
header.hero .hero-cta{
display:grid !important;
grid-template-columns:1fr !important;
gap:9px !important;
margin:0 0 15px !important;
}

header.hero .hero-cta .btn{
width:100% !important;
min-height:52px !important;
padding:12px 14px !important;
border-radius:9px !important;
font-size:.95rem !important;
font-weight:800 !important;
box-sizing:border-box !important;
}

header.hero .hero-cta .btn-red{
background:#dc2626 !important;
border-color:#dc2626 !important;
color:#ffffff !important;
box-shadow:0 5px 14px rgba(220,38,38,.18) !important;
}

header.hero .hero-cta .btn-line{
background:#ffffff !important;
border:2px solid #0f172a !important;
color:#0f172a !important;
box-shadow:none !important;
}

/* Existing three proof points */
header.hero .hero-points{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:7px !important;
margin:0 !important;
}

header.hero .hero-points .hp{
min-width:0 !important;
min-height:60px !important;
padding:8px 5px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:9px !important;
box-shadow:none !important;
color:#0f172a !important;
font-size:.68rem !important;
line-height:1.25 !important;
font-weight:750 !important;
}

/* Keep existing working bottom navigation */
.mobile-action-bar{
z-index:9999 !important;
}

}

/* XXCELL HOMEPAGE REVIEWS — MOBILE ALIGNMENT FIX */

.review-panel .rev-cta .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
width:100% !important;
box-sizing:border-box !important;
}

.review-author > span{
display:flex !important;
align-items:center !important;
gap:8px !important;
}

.review-author > span::before{
content:"" !important;
display:block !important;
width:20px !important;
height:20px !important;
min-width:20px !important;
background-image:url("/assets/google-review-icon.ico") !important;
background-position:center !important;
background-repeat:no-repeat !important;
background-size:20px 20px !important;
}

@media(max-width:600px){

.review-panel .rev-cta .btn{
min-height:64px !important;
padding:14px 18px !important;
margin:0 !important;
}

.review-author > span::before{
width:20px !important;
height:20px !important;
min-width:20px !important;
background-size:20px 20px !important;
}

}

/* XXCELL GOOGLE REVIEW ICON — ACTUAL IMAGE */
.review-author > span::before{
display:none !important;
content:none !important;
}

.google-review-mark{
display:block;
width:20px;
height:20px;
min-width:20px;
object-fit:contain;
}

/* XXCELL GOOGLE REVIEW CTA BADGES */
.review-panel .rev-cta .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
gap:10px !important;
}

.google-cta-mark{
display:block !important;
width:22px !important;
height:22px !important;
min-width:22px !important;
object-fit:contain !important;
}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — PHASE 2
Quick Assistance Selector
========================================================= */

.mobile-quick-assist{
display:none;
}

@media(max-width:768px){

.mobile-quick-assist{
display:block;
margin:0 12px 28px;
padding:16px;
background:#fff;
border:1px solid #dbe3ec;
border-radius:16px;
box-shadow:0 5px 18px rgba(15,23,42,.06);
}

.mobile-quick-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
margin-bottom:14px;
}

.mobile-quick-head>div{
display:flex;
align-items:center;
gap:8px;
min-width:0;
}

.mobile-quick-symbol{
color:#dc2626;
font-size:1.7rem;
font-weight:900;
line-height:1;
}

.mobile-quick-head strong{
font-size:1.05rem;
line-height:1.15;
font-weight:800;
color:#0f172a;
}

.mobile-quick-tap{
font-size:.63rem;
font-weight:800;
letter-spacing:.07em;
color:#64748b;
white-space:nowrap;
}

.mobile-quick-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:8px;
}

.mobile-quick-grid a{
min-height:96px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:8px;
padding:10px 5px;
background:#fff;
border:1px solid #dbe3ec;
border-radius:9px;
color:#0f172a;
text-decoration:none;
text-align:center;
box-shadow:0 1px 3px rgba(15,23,42,.03);
}

.mobile-quick-grid a:active{
transform:scale(.97);
border-color:#dc2626;
background:#fff7f7;
}

.mobile-quick-grid a span{
font-size:1.45rem;
line-height:1;
}

.mobile-quick-grid a strong{
font-size:.78rem;
line-height:1.15;
font-weight:800;
color:#0f172a;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — PHASE 3
Industrial service cards
Existing headings, descriptions and links remain unchanged.
========================================================= */

@media(max-width:768px){

#homesvc{
background:#f8fafc !important;
padding-top:4px !important;
}

#homesvc .wrap{
padding-left:12px !important;
padding-right:12px !important;
}

#homesvc .eyebrow{
color:#dc2626 !important;
font-size:.72rem !important;
font-weight:900 !important;
letter-spacing:.07em !important;
}

#homesvc h2{
font-size:1.9rem !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
margin-bottom:8px !important;
color:#0f172a !important;
}

#homesvc .lead{
font-size:.96rem !important;
line-height:1.5 !important;
color:#64748b !important;
margin-bottom:20px !important;
}

#homesvc .svcgrid{
display:grid !important;
grid-template-columns:1fr !important;
gap:12px !important;
}

#homesvc .svccard{
position:relative !important;
display:block !important;
min-height:220px !important;
padding:58px 18px 18px !important;
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:15px !important;
box-shadow:0 3px 10px rgba(15,23,42,.045) !important;
text-decoration:none !important;
overflow:hidden !important;
}

#homesvc .svccard:active{
transform:scale(.99);
border-color:#dc2626 !important;
}

#homesvc .svccard::before{
position:absolute;
left:18px;
top:16px;
display:inline-flex;
align-items:center;
min-height:26px;
padding:4px 9px;
border-radius:5px;
background:#f8fafc;
border:1px solid #e2e8f0;
color:#334155;
font-size:.68rem;
line-height:1;
font-weight:900;
letter-spacing:.02em;
}

#homesvc .svccard h3{
display:flex !important;
align-items:flex-start !important;
justify-content:space-between !important;
gap:14px !important;
margin:0 0 10px !important;
font-size:1.42rem !important;
line-height:1.14 !important;
font-weight:800 !important;
letter-spacing:-.02em !important;
color:#0f172a !important;
}

#homesvc .svccard h3::before{
order:2 !important;
flex:0 0 auto !important;
width:auto !important;
margin-left:auto !important;
font-size:1.55rem !important;
line-height:1 !important;
}

#homesvc .svccard p{
margin:0 !important;
padding-bottom:17px !important;
font-size:.98rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

#homesvc .svccard .go{
display:block !important;
margin-top:auto !important;
padding-top:14px !important;
border-top:1px solid #e2e8f0 !important;
color:#dc2626 !important;
font-size:.88rem !important;
line-height:1.2 !important;
font-weight:900 !important;
letter-spacing:.01em !important;
}

/* Safe UI labels — no invented business claims */

#homesvc .svccard[href="/emergency-towing-bergen-county-nj/"]::before{
content:"24/7 Dispatch";
background:#fff1f2;
border-color:#ffe4e6;
color:#dc2626;
}

#homesvc .svccard[href="/flatbed-towing-bergen-county-nj/"]::before{
content:"Flatbed Transport";
background:#0f172a;
border-color:#0f172a;
color:#fff;
}

#homesvc .svccard[href="/roadside-assistance-bergen-county-nj/"]::before{
content:"Roadside Help";
background:#f0fdf4;
border-color:#dcfce7;
color:#15803d;
}

#homesvc .svccard[href="/accident-recovery-bergen-county-nj/"]::before{
content:"Vehicle Recovery";
background:#fff1f2;
border-color:#ffe4e6;
color:#dc2626;
}

#homesvc .svccard[href="/luxury-exotic-vehicle-transport-bergen-county-nj/"]::before{
content:"Specialty Transport";
background:#fffbeb;
border-color:#fef3c7;
color:#b45309;
}

#homesvc .svccard[href="/jump-start-service-bergen-county-nj/"]::before{
content:"Battery Assistance";
}

#homesvc .svccard[href="/ev-tesla-towing-bergen-county-nj/"]::before{
content:"EV Transport";
}

#homesvc .svccard[href="/car-lockout-service-bergen-county-nj/"]::before{
content:"Vehicle Entry";
}

#homesvc .svccard[href="/flat-tire-change-bergen-county-nj/"]::before{
content:"Tire Service";
}

#homesvc .svccard[href="/gas-delivery-bergen-county-nj/"]::before{
content:"Fuel Delivery";
}

#homesvc .svccard[href="/winch-out-recovery-bergen-county-nj/"]::before{
content:"Recovery Service";
}

#homesvc .svccard[href="/motorcycle-towing-bergen-county-nj/"]::before{
content:"Motorcycle Transport";
}

#homesvc .svccard[href="/awd-vehicle-towing-bergen-county-nj/"]::before{
content:"AWD Transport";
}

#homesvc .svccard[href="/long-distance-towing-bergen-county-nj/"]::before{
content:"Long-Distance Transport";
}

/* View All Services control */

#homesvc .more-services{
margin-top:16px !important;
}

#homesvc .more-services summary{
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:10px !important;
padding:14px !important;
color:#0f172a !important;
box-shadow:0 2px 7px rgba(15,23,42,.035) !important;
}

}

/* XXCELL MOBILE HOMEPAGE — QUICK ASSIST INSIDE HERO */
@media(max-width:768px){

header.hero .mobile-quick-assist{
display:block !important;
margin:16px 0 0 !important;
padding:14px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:12px !important;
box-shadow:none !important;
}

header.hero .mobile-quick-grid a{
min-height:84px !important;
background:#ffffff !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — HOW IT WORKS TIMELINE
Presentation only. Existing content remains unchanged.
========================================================= */

@media(max-width:768px){

.proc-sec{
background:#f8fafc !important;
}

.proc-sec .wrap{
padding-left:18px !important;
padding-right:18px !important;
}

.proc-sec .eyebrow{
color:#dc2626 !important;
font-size:.72rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
}

.proc-sec h2{
font-size:1.95rem !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
color:#0f172a !important;
margin-bottom:10px !important;
}

.proc-sec .lead{
font-size:.98rem !important;
line-height:1.55 !important;
color:#64748b !important;
margin-bottom:26px !important;
}

/* Timeline container */
.proc-grid{
position:relative !important;
display:flex !important;
flex-direction:column !important;
gap:18px !important;
list-style:none !important;
margin:0 !important;
padding:0 0 0 58px !important;
}

/* Dashed vertical connector */
.proc-grid::before{
content:"";
position:absolute;
left:26px;
top:26px;
bottom:26px;
width:2px;
border-left:2px dashed #cbd5e1;
z-index:0;
}

/* Step card */
.proc-step{
position:relative !important;
display:block !important;
min-height:0 !important;
margin:0 !important;
padding:20px 18px 20px !important;
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:15px !important;
box-shadow:0 3px 10px rgba(15,23,42,.05) !important;
}

/* Number moves outside card */
.proc-step .proc-num{
position:absolute !important;
left:-54px !important;
top:18px !important;
z-index:2 !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:42px !important;
height:42px !important;
margin:0 !important;
padding:0 !important;
border-radius:14px !important;
background:#dc2626 !important;
color:#ffffff !important;
font-size:1rem !important;
font-weight:900 !important;
line-height:1 !important;
box-shadow:0 2px 6px rgba(220,38,38,.18) !important;
}

.proc-step h3{
margin:0 0 8px !important;
font-size:1.22rem !important;
line-height:1.2 !important;
font-weight:800 !important;
letter-spacing:-.015em !important;
color:#0f172a !important;
}

.proc-step p{
margin:0 !important;
font-size:.97rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

/* CTA beneath timeline */
.proc-sec > .wrap > p:last-child{
margin-top:22px !important;
}

.proc-sec > .wrap > p:last-child .btn{
width:100% !important;
min-height:52px !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
border-radius:9px !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — EQUIPMENT CARDS
Presentation only. Existing equipment content remains unchanged.
========================================================= */

@media(max-width:768px){

.fleet-sec{
background:#f8fafc !important;
padding:44px 0 !important;
}

.fleet-sec .wrap{
padding-left:18px !important;
padding-right:18px !important;
}

.fleet-sec .eyebrow{
margin-bottom:8px !important;
color:#dc2626 !important;
font-size:.72rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
}

.fleet-sec h2{
margin:0 0 12px !important;
font-size:1.95rem !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
font-weight:800 !important;
color:#0f172a !important;
}

.fleet-sec .lead{
margin:0 !important;
font-size:.98rem !important;
line-height:1.6 !important;
color:#64748b !important;
}

.fleet-grid{
display:grid !important;
grid-template-columns:1fr !important;
gap:12px !important;
margin-top:26px !important;
}

.fleet-grid > .fleet-item{
position:relative !important;
display:block !important;
width:100% !important;
min-height:0 !important;
padding:18px 18px 18px 56px !important;
margin:0 !important;
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:14px !important;
box-shadow:0 3px 10px rgba(15,23,42,.045) !important;
box-sizing:border-box !important;
}

/* Equipment icon */
.fleet-grid > .fleet-item::before{
position:absolute;
left:17px;
top:19px;
display:flex;
align-items:center;
justify-content:center;
width:26px;
height:26px;
color:#dc2626;
font-size:1.35rem;
line-height:1;
font-weight:900;
}

/* Individual icons */
.fleet-grid > .fleet-item:nth-child(1)::before{
content:"🚛";
}

.fleet-grid > .fleet-item:nth-child(2)::before{
content:"⚓";
}

.fleet-grid > .fleet-item:nth-child(3)::before{
content:"⭕";
}

.fleet-grid > .fleet-item:nth-child(4)::before{
content:"🛠️";
}

.fleet-grid > .fleet-item:nth-child(5)::before{
content:"⚠️";
}

.fleet-grid > .fleet-item:nth-child(6)::before{
content:"✓";
}

.fleet-item h3{
margin:0 0 8px !important;
font-size:1.18rem !important;
line-height:1.2 !important;
font-weight:800 !important;
letter-spacing:-.015em !important;
color:#0f172a !important;
}

.fleet-item p{
margin:0 !important;
font-size:.96rem !important;
line-height:1.58 !important;
color:#64748b !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — ABOUT SECTION
Presentation only. Existing About content remains unchanged.
========================================================= */

@media(max-width:768px){

#about{
background:#f8fafc !important;
padding:44px 0 !important;
}

#about .wrap{
padding-left:18px !important;
padding-right:18px !important;
}

/* Collapse old desktop grid */
#about .about-grid{
display:block !important;
}

/* Text becomes the white About card */
#about .about-grid > div:first-child{
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:16px !important;
padding:20px 18px !important;
box-shadow:0 4px 14px rgba(15,23,42,.05) !important;
}

#about .eyebrow{
margin:0 0 8px !important;
color:#dc2626 !important;
font-size:.72rem !important;
line-height:1.2 !important;
font-weight:900 !important;
letter-spacing:.08em !important;
text-transform:uppercase !important;
}

#about h2{
margin:0 0 18px !important;
font-size:1.9rem !important;
line-height:1.12 !important;
letter-spacing:-.03em !important;
font-weight:800 !important;
color:#0f172a !important;
}

/* Existing paragraphs */
#about .about-grid > div:first-child > p:not(.eyebrow){
margin:0 0 17px !important;
font-size:.98rem !important;
line-height:1.65 !important;
color:#64748b !important;
}

#about .about-grid > div:first-child > p strong{
color:#0f172a !important;
font-weight:800 !important;
}

/* Checklist */
#about .chk{
list-style:none !important;
margin:20px 0 0 !important;
padding:0 !important;
border-top:1px solid #e2e8f0 !important;
}

#about .chk li{
position:relative !important;
margin:0 !important;
padding:14px 4px 14px 34px !important;
border-bottom:1px solid #e2e8f0 !important;
font-size:.93rem !important;
line-height:1.45 !important;
color:#475569 !important;
}

#about .chk li::before{
content:"✓" !important;
position:absolute !important;
left:3px !important;
top:13px !important;
color:#dc2626 !important;
font-size:1.1rem !important;
font-weight:900 !important;
line-height:1 !important;
}

/* Real XXCELL image underneath the card */
#about .about-grid > img{
display:block !important;
width:100% !important;
height:230px !important;
margin:14px 0 0 !important;
object-fit:cover !important;
border:1px solid #dbe3ec !important;
border-radius:14px !important;
box-shadow:0 3px 10px rgba(15,23,42,.045) !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — SERVICE AREA
Presentation only. Town names and URLs remain unchanged.
========================================================= */

@media(max-width:768px){

.service-area-sec{
background:#f8fafc !important;
padding:42px 0 !important;
}

.service-area-sec .wrap{
padding-left:18px !important;
padding-right:18px !important;
}

.service-area-sec .eyebrow{
margin:0 0 7px !important;
color:#dc2626 !important;
font-size:.72rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
}

.service-area-sec h2{
margin:0 0 9px !important;
font-size:1.95rem !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
font-weight:800 !important;
color:#0f172a !important;
}

.service-area-sec .lead{
margin:0 0 20px !important;
font-size:.97rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

.service-area-sec .chips{
display:flex !important;
flex-wrap:wrap !important;
gap:8px !important;
margin:0 !important;
}

.service-area-sec .chip{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-height:38px !important;
padding:8px 12px !important;
margin:0 !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:7px !important;
box-shadow:0 2px 5px rgba(15,23,42,.035) !important;
color:#0f172a !important;
font-size:.83rem !important;
font-weight:800 !important;
text-decoration:none !important;
}

.service-area-sec .chip:active{
transform:scale(.97);
border-color:#dc2626 !important;
}

.service-area-sec .mapwrap{
margin-top:20px !important;
padding:7px !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:15px !important;
box-shadow:0 4px 14px rgba(15,23,42,.05) !important;
overflow:hidden !important;
}

.service-area-sec .mapwrap iframe{
display:block !important;
width:100% !important;
height:310px !important;
border:0 !important;
border-radius:10px !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — GOOGLE REVIEWS
Presentation only. Review text, links and schema remain unchanged.
========================================================= */

@media(max-width:768px){

.rev-sec{
background:#f8fafc !important;
padding:44px 0 !important;
}

.rev-sec .wrap{
padding-left:18px !important;
padding-right:18px !important;
}

.review-panel{
max-width:none !important;
margin:0 !important;
padding:20px 18px !important;
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:16px !important;
box-shadow:0 4px 14px rgba(15,23,42,.05) !important;
}

/* Section heading */
.review-panel > .eyebrow,
.review-panel > h2,
.review-intro{
text-align:left !important;
}

.review-panel > .eyebrow{
margin:0 0 7px !important;
color:#dc2626 !important;
font-size:.72rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
}

.review-panel > h2{
margin:0 0 10px !important;
font-size:1.95rem !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
font-weight:800 !important;
color:#0f172a !important;
}

.review-intro{
max-width:none !important;
margin:0 0 20px !important;
font-size:.96rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

.review-intro strong{
color:#0f172a !important;
}

/* Individual reviews */
.review-grid{
display:grid !important;
grid-template-columns:1fr !important;
gap:12px !important;
}

.review-card{
display:flex !important;
flex-direction:column !important;
min-height:0 !important;
padding:17px !important;
background:#f8fafc !important;
border:1px solid #dbe3ec !important;
border-radius:12px !important;
box-shadow:none !important;
color:#0f172a !important;
}

.review-card:active{
transform:scale(.995);
border-color:#dc2626 !important;
}

.review-card-stars{
margin:0 0 10px !important;
color:#f5b301 !important;
font-size:1rem !important;
letter-spacing:2px !important;
line-height:1 !important;
}

.review-card blockquote{
margin:0 !important;
font-size:.95rem !important;
line-height:1.6 !important;
color:#334155 !important;
}

/* Author row */
.review-author{
display:flex !important;
flex-direction:row !important;
align-items:center !important;
justify-content:space-between !important;
gap:12px !important;
margin-top:15px !important;
padding-top:12px !important;
border-top:1px solid #dbe3ec !important;
}

.review-author strong{
font-size:.88rem !important;
font-weight:800 !important;
color:#0f172a !important;
}

/* Disable old CSS-generated Google icon.
   We already use the real icon image in the HTML. */
.review-author > span::before{
display:none !important;
content:none !important;
}

.review-author > span{
display:flex !important;
align-items:center !important;
gap:6px !important;
font-size:.78rem !important;
color:#64748b !important;
white-space:nowrap !important;
}

.google-review-mark{
display:block !important;
width:18px !important;
height:18px !important;
min-width:18px !important;
object-fit:contain !important;
}

/* Review CTAs */
.review-panel .rev-cta{
display:grid !important;
grid-template-columns:1fr !important;
gap:10px !important;
margin-top:16px !important;
}

.review-panel .rev-cta .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
gap:9px !important;
width:100% !important;
min-height:54px !important;
margin:0 !important;
padding:12px 14px !important;
border-radius:9px !important;
font-size:.92rem !important;
font-weight:800 !important;
text-align:center !important;
}

.google-cta-mark{
display:block !important;
width:20px !important;
height:20px !important;
min-width:20px !important;
object-fit:contain !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — FAQ ACCORDION
Presentation only. Existing FAQ text and schema remain unchanged.
========================================================= */

@media(max-width:768px){

.faq-sec{
background:#f8fafc !important;
padding:44px 0 !important;
}

.faq-sec .wrap{
padding-left:18px !important;
padding-right:18px !important;
}

.faq-sec .eyebrow{
margin:0 0 7px !important;
color:#dc2626 !important;
font-size:.72rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
}

.faq-sec h2{
margin:0 0 9px !important;
font-size:1.95rem !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
font-weight:800 !important;
color:#0f172a !important;
}

.faq-sec .lead{
margin:0 0 20px !important;
font-size:.96rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

.faq-list{
display:grid !important;
gap:9px !important;
}

/* Individual FAQ cards */
.faq-sec details.faq-item{
margin:0 !important;
padding:0 !important;
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:12px !important;
box-shadow:0 2px 7px rgba(15,23,42,.035) !important;
overflow:hidden !important;
}

.faq-sec details.faq-item summary{
position:relative !important;
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
gap:16px !important;
min-height:62px !important;
padding:16px 48px 16px 16px !important;
cursor:pointer !important;
list-style:none !important;
font-size:1rem !important;
line-height:1.3 !important;
font-weight:800 !important;
color:#0f172a !important;
}

.faq-sec details.faq-item summary::-webkit-details-marker{
display:none !important;
}

.faq-sec details.faq-item summary::after{
content:"⌄";
position:absolute;
right:17px;
top:50%;
transform:translateY(-50%);
color:#64748b;
font-size:1.35rem;
font-weight:800;
line-height:1;
transition:transform .18s ease;
}

.faq-sec details.faq-item[open] summary::after{
transform:translateY(-50%) rotate(180deg);
}

.faq-sec details.faq-item[open] summary{
border-bottom:1px solid #e2e8f0 !important;
}

.faq-sec details.faq-item p{
margin:0 !important;
padding:14px 16px 17px !important;
max-width:none !important;
font-size:.94rem !important;
line-height:1.6 !important;
color:#64748b !important;
}

/* Call button below FAQs */
.faq-sec .wrap > p:last-child{
margin-top:18px !important;
}

.faq-sec .wrap > p:last-child .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:100% !important;
min-height:52px !important;
margin:0 !important;
border-radius:9px !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE REDESIGN — CONTACT / QUOTE
Presentation only. Existing content and links remain unchanged.
========================================================= */

@media(max-width:768px){

#contact{
background:#f8fafc !important;
padding:44px 0 54px !important;
}

#contact .wrap{
padding-left:18px !important;
padding-right:18px !important;
}

#contact .contact-grid{
display:grid !important;
grid-template-columns:1fr !important;
gap:14px !important;
}

/* Left information card */
#contact .contact-grid > div:first-child{
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:16px !important;
padding:20px 18px !important;
box-shadow:0 4px 14px rgba(15,23,42,.05) !important;
}

#contact .eyebrow{
margin:0 0 7px !important;
color:#dc2626 !important;
font-size:.72rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
}

#contact h2{
margin:0 0 10px !important;
font-size:1.95rem !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
font-weight:800 !important;
color:#0f172a !important;
}

#contact .contact-grid > div:first-child > p{
margin:0 0 18px !important;
font-size:.96rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

#contact .cline{
padding:13px 0 !important;
border-bottom:1px solid #e2e8f0 !important;
}

#contact .cline:last-child{
border-bottom:0 !important;
padding-bottom:0 !important;
}

#contact .cline h3{
margin:0 0 4px !important;
font-size:.72rem !important;
line-height:1.2 !important;
font-weight:900 !important;
letter-spacing:.05em !important;
text-transform:uppercase !important;
color:#64748b !important;
}

#contact .cline p,
#contact .cline a{
margin:0 !important;
font-size:1rem !important;
line-height:1.45 !important;
font-weight:800 !important;
color:#0f172a !important;
text-decoration:none !important;
}

/* Estimate card */
#contact .form{
margin:0 !important;
padding:20px 18px !important;
background:#ffffff !important;
border:1px solid #dbe3ec !important;
border-radius:16px !important;
box-shadow:0 4px 14px rgba(15,23,42,.05) !important;
}

#contact .form h3{
margin:0 0 10px !important;
font-size:1.4rem !important;
line-height:1.2 !important;
font-weight:800 !important;
color:#0f172a !important;
}

#contact .form > p{
font-size:.95rem !important;
line-height:1.6 !important;
color:#64748b !important;
}

#contact .form .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:100% !important;
min-height:52px !important;
margin:0 !important;
padding:12px 14px !important;
border-radius:9px !important;
font-size:.94rem !important;
font-weight:800 !important;
text-align:center !important;
box-sizing:border-box !important;
}

#contact .form .btn-red{
background:#dc2626 !important;
border-color:#dc2626 !important;
color:#ffffff !important;
box-shadow:0 4px 12px rgba(220,38,38,.16) !important;
}

#contact .form .btn-line{
background:#ffffff !important;
border:2px solid #0f172a !important;
color:#0f172a !important;
}

}

/* XXCELL MOBILE EQUIPMENT — GRID SPACING REPAIR */
@media(max-width:768px){

.fleet-sec .fleet-grid{
display:flex !important;
flex-direction:column !important;
gap:12px !important;
margin-top:24px !important;
}

.fleet-sec .fleet-grid > .fleet-item{
grid-column:auto !important;
grid-row:auto !important;
position:relative !important;
width:100% !important;
margin:0 !important;
align-self:stretch !important;
}

}

/* XXCELL MOBILE EQUIPMENT — COMPACT CARD SPACING */
@media(max-width:768px){

.fleet-sec .fleet-grid{
gap:10px !important;
}

.fleet-sec .fleet-grid > .fleet-item{
height:auto !important;
min-height:0 !important;
max-height:none !important;
padding:14px 14px 14px 50px !important;
margin:0 !important;
display:block !important;
}

.fleet-sec .fleet-grid > .fleet-item::before{
left:15px !important;
top:15px !important;
width:24px !important;
height:24px !important;
font-size:1.2rem !important;
}

.fleet-sec .fleet-item h3{
margin:0 0 5px !important;
padding:0 !important;
font-size:1.1rem !important;
line-height:1.18 !important;
}

.fleet-sec .fleet-item p{
margin:0 !important;
padding:0 !important;
font-size:.92rem !important;
line-height:1.45 !important;
}

}

/* XXCELL MOBILE EQUIPMENT — FINAL LAYOUT RESET */
@media(max-width:768px){

#fleet{
padding-top:38px !important;
padding-bottom:38px !important;
}

#fleet .fleet-grid{
display:flex !important;
flex-direction:column !important;
justify-content:flex-start !important;
align-items:stretch !important;
align-content:flex-start !important;
gap:10px !important;
row-gap:10px !important;
column-gap:0 !important;
height:auto !important;
min-height:0 !important;
max-height:none !important;
margin:22px 0 0 !important;
padding:0 !important;
}

#fleet .fleet-item{
position:relative !important;
inset:auto !important;
top:auto !important;
right:auto !important;
bottom:auto !important;
left:auto !important;
float:none !important;
clear:none !important;
flex:0 0 auto !important;
width:100% !important;
height:auto !important;
min-height:0 !important;
max-height:none !important;
margin:0 !important;
box-sizing:border-box !important;
}

#fleet .fleet-item + .fleet-item{
margin-top:0 !important;
}

#fleet + section,
#fleet + #about{
margin-top:0 !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE — FINAL HERO POLISH
Presentation only. Existing SEO/content remains unchanged.
========================================================= */

@media(max-width:768px){

header.hero{
display:flex !important;
flex-direction:column !important;
margin:10px 12px 24px !important;
background:#fff !important;
border:1px solid #e2e8f0 !important;
border-radius:16px !important;
overflow:hidden !important;
box-shadow:0 6px 20px rgba(15,23,42,.07) !important;
}

/* Real XXCELL hero image */
header.hero .hero-photo{
order:1 !important;
width:100% !important;
height:220px !important;
min-height:220px !important;
max-height:220px !important;
margin:0 !important;
}

header.hero .hero-photo img{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

/* Hero content */
header.hero .hero-text{
order:2 !important;
padding:16px !important;
background:#fff !important;
}

/* Availability badge */
header.hero .mobile-dispatch-status{
display:inline-flex !important;
align-items:center !important;
margin:0 0 11px !important;
padding:7px 10px !important;
background:#f0fdf4 !important;
border:1px solid #bbf7d0 !important;
border-radius:999px !important;
color:#166534 !important;
font-size:.70rem !important;
font-weight:850 !important;
}

/* Main heading */
header.hero h1{
margin:0 !important;
font-size:clamp(1.85rem,8vw,2.35rem) !important;
line-height:1.04 !important;
letter-spacing:-.035em !important;
font-weight:850 !important;
color:#0f172a !important;
}

header.hero h1 b{
color:#dc2626 !important;
}

/* Existing description */
header.hero .hero-lead{
margin:12px 0 15px !important;
font-size:.94rem !important;
line-height:1.52 !important;
color:#64748b !important;
}

/* Main actions */
header.hero .hero-cta{
display:grid !important;
grid-template-columns:1fr !important;
gap:8px !important;
margin:0 0 13px !important;
}

header.hero .hero-cta .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:100% !important;
min-height:50px !important;
padding:11px 13px !important;
margin:0 !important;
border-radius:9px !important;
font-size:.94rem !important;
font-weight:850 !important;
}

header.hero .hero-cta .btn-red{
background:#dc2626 !important;
border-color:#dc2626 !important;
color:#fff !important;
box-shadow:0 4px 12px rgba(220,38,38,.16) !important;
}

header.hero .hero-cta .btn-line{
background:#fff !important;
border:2px solid #0f172a !important;
color:#0f172a !important;
box-shadow:none !important;
}

/* Three proof cards */
header.hero .hero-points{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:6px !important;
margin:0 !important;
}

header.hero .hero-points .hp{
display:flex !important;
align-items:center !important;
justify-content:center !important;
min-width:0 !important;
min-height:55px !important;
padding:7px 4px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:8px !important;
box-shadow:none !important;
color:#0f172a !important;
font-size:.65rem !important;
line-height:1.22 !important;
font-weight:800 !important;
text-align:center !important;
}

/* Quick Assistance stays inside hero */
header.hero .mobile-quick-assist{
display:block !important;
margin:13px 0 0 !important;
padding:13px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:11px !important;
box-shadow:none !important;
}

header.hero .mobile-quick-head{
margin-bottom:11px !important;
}

header.hero .mobile-quick-head strong{
font-size:.96rem !important;
}

header.hero .mobile-quick-tap{
font-size:.59rem !important;
}

header.hero .mobile-quick-grid{
gap:6px !important;
}

header.hero .mobile-quick-grid a{
min-height:76px !important;
padding:8px 4px !important;
gap:5px !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:8px !important;
}

header.hero .mobile-quick-grid a span{
font-size:1.25rem !important;
}

header.hero .mobile-quick-grid a strong{
font-size:.72rem !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE — REAL JOBS GALLERY
Presentation only. Existing images/content/JS unchanged.
========================================================= */

@media(max-width:768px){

#work{
background:#0f172a !important;
padding:42px 0 44px !important;
}

#work .wrap{
width:auto !important;
max-width:none !important;
margin:0 12px !important;
padding:0 !important;
}

#work .eyebrow{
margin:0 0 8px !important;
color:#f87171 !important;
font-size:.72rem !important;
font-weight:850 !important;
letter-spacing:.12em !important;
}

#work h2{
margin:0 !important;
color:#ffffff !important;
font-size:1.85rem !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
}

#work > .wrap > .lead{
margin:10px 0 20px !important;
color:#cbd5e1 !important;
font-size:.94rem !important;
line-height:1.5 !important;
}

html body #home-gallery{
width:100% !important;
margin:0 !important;
padding:0 !important;
background:transparent !important;
border:0 !important;
box-shadow:none !important;
}

/* Main real-job photo */
html body #home-gallery .ev-gallery-main{
position:relative !important;
width:100% !important;
aspect-ratio:16 / 10 !important;
height:auto !important;
min-height:0 !important;
overflow:hidden !important;
background:#020617 !important;
border:1px solid #334155 !important;
border-radius:14px !important;
box-shadow:0 10px 28px rgba(0,0,0,.25) !important;
}

html body #home-gallery #home-main-image{
display:block !important;
position:absolute !important;
inset:0 !important;
width:100% !important;
height:100% !important;
margin:0 !important;
object-fit:cover !important;
border-radius:0 !important;
}

/* Dark fade behind caption */
html body #home-gallery .ev-gallery-main::after{
content:"" !important;
position:absolute !important;
left:0 !important;
right:0 !important;
bottom:0 !important;
height:44% !important;
background:linear-gradient(to top,rgba(2,6,23,.94),rgba(2,6,23,0)) !important;
pointer-events:none !important;
z-index:2 !important;
}

/* Previous / next controls */
html body #home-gallery .ev-gallery-prev,
html body #home-gallery .ev-gallery-next{
position:absolute !important;
top:50% !important;
transform:translateY(-50%) !important;
z-index:5 !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:42px !important;
height:42px !important;
padding:0 !important;
margin:0 !important;
background:rgba(15,23,42,.82) !important;
border:1px solid rgba(255,255,255,.24) !important;
border-radius:50% !important;
color:#fff !important;
font-size:1.25rem !important;
line-height:1 !important;
box-shadow:0 3px 10px rgba(0,0,0,.22) !important;
}

html body #home-gallery .ev-gallery-prev{
left:10px !important;
}

html body #home-gallery .ev-gallery-next{
right:10px !important;
}

/* 1 / 18 counter */
html body #home-gallery .ev-gallery-count{
position:absolute !important;
top:10px !important;
right:10px !important;
z-index:5 !important;
padding:6px 9px !important;
margin:0 !important;
background:rgba(15,23,42,.86) !important;
border:1px solid rgba(255,255,255,.18) !important;
border-radius:999px !important;
color:#fff !important;
font-size:.72rem !important;
font-weight:800 !important;
line-height:1 !important;
}

/* Existing caption */
html body #home-gallery .ev-gallery-caption{
position:absolute !important;
left:0 !important;
right:0 !important;
bottom:0 !important;
z-index:4 !important;
margin:0 !important;
padding:38px 54px 13px 14px !important;
background:transparent !important;
color:#fff !important;
font-size:.76rem !important;
font-weight:700 !important;
line-height:1.35 !important;
text-align:left !important;
}

/* Existing expand control */
html body #home-gallery .ev-gallery-expand{
position:absolute !important;
right:10px !important;
bottom:10px !important;
z-index:6 !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:34px !important;
height:34px !important;
padding:0 !important;
margin:0 !important;
background:rgba(255,255,255,.92) !important;
border:0 !important;
border-radius:8px !important;
color:#0f172a !important;
font-size:1rem !important;
}

/* Thumbnail film strip — about four visible at once */
html body #home-gallery .ev-gallery-thumbs{
display:flex !important;
flex-wrap:nowrap !important;
gap:8px !important;
width:100% !important;
margin:10px 0 0 !important;
padding:0 0 4px !important;
overflow-x:auto !important;
overflow-y:hidden !important;
scroll-snap-type:x proximity !important;
-webkit-overflow-scrolling:touch !important;
scrollbar-width:none !important;
}

html body #home-gallery .ev-gallery-thumbs::-webkit-scrollbar{
display:none !important;
}

html body #home-gallery button.ev-thumb{
display:block !important;
flex:0 0 calc((100% - 24px) / 4) !important;
width:auto !important;
height:auto !important;
aspect-ratio:4 / 3 !important;
margin:0 !important;
padding:2px !important;
overflow:hidden !important;
background:#1e293b !important;
border:2px solid transparent !important;
border-radius:8px !important;
scroll-snap-align:start !important;
box-sizing:border-box !important;
}

html body #home-gallery button.ev-thumb.active{
border-color:#dc2626 !important;
}

html body #home-gallery button.ev-thumb img{
display:block !important;
width:100% !important;
height:100% !important;
margin:0 !important;
object-fit:cover !important;
border-radius:5px !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE — FINAL FOOTER
Presentation only. Existing links/content remain unchanged.
========================================================= */

@media(max-width:768px){

footer{
background:#0f172a !important;
color:#94a3b8 !important;
padding:42px 16px 118px !important;
}

/* Main footer stack */
footer .ftop{
display:flex !important;
flex-direction:column !important;
gap:14px !important;
width:100% !important;
max-width:none !important;
margin:0 !important;
}

/* Brand block */
footer .ftop > div:first-child{
padding:0 2px 18px !important;
border-bottom:1px solid #273449 !important;
}

footer .flogo{
display:inline-block !important;
margin:0 0 12px !important;
color:#ffffff !important;
font-size:1.55rem !important;
font-weight:850 !important;
letter-spacing:-.025em !important;
text-decoration:none !important;
}

footer .flogo b{
color:#dc2626 !important;
}

footer .ftop > div:first-child p{
margin:0 !important;
color:#94a3b8 !important;
font-size:.90rem !important;
line-height:1.55 !important;
}

footer .ftop > div:first-child p + p{
margin-top:12px !important;
}

/* Existing phone number becomes prominent */
footer .ftop > div:first-child p + p a{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-height:46px !important;
margin-top:10px !important;
padding:10px 15px !important;
background:#dc2626 !important;
border:1px solid #dc2626 !important;
border-radius:9px !important;
color:#ffffff !important;
font-size:.94rem !important;
font-weight:850 !important;
line-height:1 !important;
text-decoration:none !important;
}

/* Footer navigation cards */
footer .fcol{
margin:0 !important;
padding:16px !important;
background:#111c2f !important;
border:1px solid #273449 !important;
border-radius:12px !important;
}

footer .fcol h3,
footer .fcol h4{
margin:0 0 12px !important;
color:#ffffff !important;
font-size:.78rem !important;
font-weight:850 !important;
line-height:1.2 !important;
letter-spacing:.09em !important;
text-transform:uppercase !important;
}

/* Two-column link layout */
footer .fcol ul{
display:grid !important;
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
gap:0 14px !important;
margin:0 !important;
padding:0 !important;
list-style:none !important;
}

footer .fcol li{
margin:0 !important;
padding:0 !important;
border-bottom:1px solid rgba(148,163,184,.10) !important;
}

footer .fcol li a{
display:block !important;
padding:9px 0 !important;
color:#cbd5e1 !important;
font-size:.80rem !important;
font-weight:600 !important;
line-height:1.3 !important;
text-decoration:none !important;
}

/* Guides are nested inside Service Areas in existing HTML */
footer .fcol .fcol{
margin-top:16px !important;
padding:15px 0 0 !important;
background:transparent !important;
border:0 !important;
border-top:1px solid #334155 !important;
border-radius:0 !important;
}

footer .fcol .fcol ul{
grid-template-columns:1fr !important;
}

/* Bottom legal / location strip */
footer .fbot{
display:block !important;
width:100% !important;
max-width:none !important;
margin:22px 0 0 !important;
padding:18px 2px 0 !important;
border-top:1px solid #273449 !important;
color:#64748b !important;
font-size:.72rem !important;
line-height:1.55 !important;
text-align:left !important;
}

footer .fbot p{
margin:0 !important;
}

footer .fbot p + p{
margin-top:7px !important;
}

footer .fbot a{
color:#cbd5e1 !important;
font-weight:700 !important;
text-decoration:none !important;
}

/* Sticky action bar remains above footer */
.mobile-action-bar{
z-index:9999 !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE — FOOTER FINAL POLISH
========================================================= */

@media(max-width:768px){

/* Give fixed bottom navigation proper clearance */
footer{
padding-top:34px !important;
padding-bottom:150px !important;
}

/* Slightly tighten brand area */
footer .ftop > div:first-child{
padding-bottom:14px !important;
}

footer .flogo{
margin-bottom:9px !important;
}

footer .ftop > div:first-child p{
line-height:1.48 !important;
}

footer .ftop > div:first-child p + p{
margin-top:9px !important;
}

/* Slightly tighter footer cards */
footer .fcol{
padding:14px !important;
}

footer .fcol h3,
footer .fcol h4{
margin-bottom:9px !important;
}

footer .fcol li a{
padding:7px 0 !important;
font-size:.78rem !important;
}

/* Make sure final legal area stays above sticky bar */
footer .fbot{
margin-top:18px !important;
padding-bottom:8px !important;
}

/* Bottom action bar remains fixed and separate */
.mobile-action-bar{
bottom:0 !important;
z-index:9999 !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE — CONTACT / QUOTE FINAL POLISH
========================================================= */

@media(max-width:768px){

#contact{
padding-top:34px !important;
padding-bottom:38px !important;
}

#contact .contact-grid{
gap:12px !important;
}

#contact .contact-grid > div,
#contact .form{
padding:24px 20px !important;
border-radius:14px !important;
}

/* Left information card */
#contact .eyebrow{
margin-bottom:10px !important;
font-size:.70rem !important;
letter-spacing:.11em !important;
}

#contact h2{
margin-bottom:10px !important;
font-size:2rem !important;
line-height:1.05 !important;
}

#contact .contact-grid > div:first-child > p{
margin-bottom:18px !important;
font-size:.94rem !important;
line-height:1.5 !important;
}

#contact .cline{
padding:13px 0 !important;
}

#contact .cline h3{
margin-bottom:4px !important;
font-size:.78rem !important;
letter-spacing:.06em !important;
}

#contact .cline p,
#contact .cline a{
font-size:.94rem !important;
line-height:1.35 !important;
}

/* Estimate card */
#contact .form h3{
margin-bottom:10px !important;
font-size:1.75rem !important;
line-height:1.08 !important;
}

#contact .form > p{
margin-bottom:18px !important;
font-size:.94rem !important;
line-height:1.5 !important;
}

#contact .form .btn{
min-height:52px !important;
margin:0 !important;
padding:11px 14px !important;
border-radius:9px !important;
font-size:.94rem !important;
font-weight:850 !important;
}

#contact .form .btn + .btn,
#contact .form p + p{
margin-top:9px !important;
}

#contact .form > p:last-child{
margin-top:14px !important;
margin-bottom:0 !important;
font-size:.82rem !important;
line-height:1.45 !important;
color:#64748b !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE — ESTIMATE CONVERSION CARD
========================================================= */

@media(max-width:768px){

#contact .form{
position:relative !important;
}

#contact .form h3{
font-size:1.72rem !important;
line-height:1.06 !important;
margin-bottom:10px !important;
}

#contact .form > p:first-of-type{
margin-bottom:16px !important;
font-size:.93rem !important;
line-height:1.48 !important;
color:#64748b !important;
}

#contact .form .btn-red{
box-shadow:0 6px 16px rgba(220,38,38,.16) !important;
}

/* Reassurance row under estimate button */
#contact .estimate-trust{
display:grid !important;
grid-template-columns:1fr !important;
gap:6px !important;
margin:10px 0 12px !important;
padding:10px 12px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:9px !important;
}

#contact .estimate-trust span{
position:relative !important;
padding-left:18px !important;
color:#475569 !important;
font-size:.76rem !important;
line-height:1.3 !important;
font-weight:750 !important;
}

#contact .estimate-trust span::before{
content:"✓" !important;
position:absolute !important;
left:0 !important;
top:0 !important;
color:#dc2626 !important;
font-weight:900 !important;
}

/* Secondary action */
#contact .form .btn-line{
margin-top:0 !important;
}

/* Final help note */
#contact .form .estimate-help{
margin:12px 0 0 !important;
font-size:.80rem !important;
line-height:1.4 !important;
color:#64748b !important;
}

}

/* =========================================================
XXCELL MOBILE HOMEPAGE — ESTIMATE CONVERSION CARD
========================================================= */

@media(max-width:768px){

#contact .form{
position:relative !important;
}

#contact .form h3{
font-size:1.72rem !important;
line-height:1.06 !important;
margin-bottom:10px !important;
}

#contact .form > p:first-of-type{
margin-bottom:16px !important;
font-size:.93rem !important;
line-height:1.48 !important;
color:#64748b !important;
}

#contact .form .btn-red{
box-shadow:0 6px 16px rgba(220,38,38,.16) !important;
}

/* Reassurance row under estimate button */
#contact .estimate-trust{
display:grid !important;
grid-template-columns:1fr !important;
gap:6px !important;
margin:10px 0 12px !important;
padding:10px 12px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:9px !important;
}

#contact .estimate-trust span{
position:relative !important;
padding-left:18px !important;
color:#475569 !important;
font-size:.76rem !important;
line-height:1.3 !important;
font-weight:750 !important;
}

#contact .estimate-trust span::before{
content:"✓" !important;
position:absolute !important;
left:0 !important;
top:0 !important;
color:#dc2626 !important;
font-weight:900 !important;
}

/* Secondary action */
#contact .form .btn-line{
margin-top:0 !important;
}

/* Final help note */
#contact .form .estimate-help{
margin:12px 0 0 !important;
font-size:.80rem !important;
line-height:1.4 !important;
color:#64748b !important;
}

}

/* XXCELL MOBILE FOOTER — FINAL BOTTOM SPACING */
@media(max-width:768px){
footer{
padding-bottom:96px !important;
}
}

/* XXCELL MOBILE FOOTER — FINAL TIGHT BOTTOM SPACING */
@media(max-width:768px){
footer{
padding-bottom:72px !important;
}
}

/* XXCELL MOBILE BOTTOM BAR — FINAL ICON CONTRAST */
@media(max-width:768px){

.mobile-action-bar .mobile-action span{
display:block !important;
color:#ffffff !important;
filter:none !important;
text-shadow:none !important;
}

.mobile-action-bar .mobile-action strong{
color:#ffffff !important;
}

.mobile-action-bar .mobile-action-primary{
background:#dc2626 !important;
color:#ffffff !important;
}

.mobile-action-bar .mobile-action-primary span,
.mobile-action-bar .mobile-action-primary strong{
color:#ffffff !important;
}

.mobile-action-bar .mobile-action span{
font-size:1.05rem !important;
line-height:1 !important;
}

.mobile-action-bar .mobile-action strong{
font-size:.78rem !important;
line-height:1.1 !important;
}

}

/* HOMEPAGE V60 - 3D REVIEW STARS */
.review-card-stars{
display:inline-block !important;
font-size:1.15rem !important;
letter-spacing:2px !important;
color:#f5b301 !important;
text-shadow:
0 1px 0 #fff3b0,
0 2px 0 #d89b00,
0 3px 5px rgba(0,0,0,.20);
transform-origin:center;
animation:reviewStarPulse 2.2s ease-in-out infinite;
}

@keyframes reviewStarPulse{
0%,100%{
transform:translateY(0) scale(1);
}
50%{
transform:translateY(-1px) scale(1.045);
}
}

@media (prefers-reduced-motion: reduce){
.review-card-stars{
animation:none !important;
}
}

/* HOMEPAGE V61 - REVIEW AUTHOR + STARS ORDER */
.review-card{
display:flex !important;
flex-direction:column !important;
}

.review-card .review-author{
order:1;
margin-top:0 !important;
margin-bottom:8px !important;
padding-top:0 !important;
border-top:0 !important;
}

.review-card .review-card-stars{
order:2;
margin:0 0 12px !important;
}

.review-card blockquote{
order:3;
}

/* HOMEPAGE V62 - GOOGLE HERO TRUST */
.hero-google-trust{
display:flex;
align-items:center;
gap:7px;
width:max-content;
max-width:100%;
margin:13px 0 15px;
color:#475569;
font-size:.88rem;
line-height:1.2;
text-decoration:none;
white-space:nowrap;
}

.hero-google-trust img{
display:block;
width:18px;
height:18px;
flex:0 0 auto;
}

.hero-google-stars{
color:#f5b301;
font-size:.84rem;
letter-spacing:1px;
}

.hero-google-trust strong{
color:#0f172a;
font-weight:800;
}

@media(max-width:768px){
.hero-google-trust{
justify-content:center;
margin:12px auto 14px;
font-size:.82rem;
gap:6px;
}
}

/* HOMEPAGE V63 - CLEAN GOOGLE TRUST */
.hero-google-trust{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:7px !important;
width:auto !important;
max-width:100% !important;
margin:12px 0 15px !important;
padding:8px 12px !important;
background:#ffffff !important;
border:1px solid #e2e8f0 !important;
border-radius:999px !important;
color:#475569 !important;
font-size:.84rem !important;
line-height:1 !important;
text-decoration:none !important;
white-space:nowrap !important;
}

.hero-google-stars{
color:#f5b301 !important;
font-size:.88rem !important;
letter-spacing:1px !important;
line-height:1 !important;
}

.hero-google-trust strong{
color:#0f172a !important;
font-weight:800 !important;
}

@media(max-width:768px){
.hero-google-trust{
display:flex !important;
width:max-content !important;
margin:12px auto 15px !important;
padding:9px 11px !important;
font-size:.80rem !important;
gap:6px !important;
}
}

/* HOMEPAGE V64 - CENTER GOOGLE TRUST ON DESKTOP */
@media(min-width:769px){
.hero-google-trust{
margin-left:auto !important;
margin-right:auto !important;
}
}

/* HOMEPAGE V65 - TRUE DESKTOP GOOGLE TRUST CENTER */
@media(min-width:769px){
.hero-google-trust{
display:flex !important;
width:max-content !important;
margin:12px auto 15px !important;
}
}

/* HOMEPAGE V66 - ALIGN GOOGLE TRUST WITH CTA GROUP */
@media(min-width:769px){
.hero-action-stack{
width:max-content;
max-width:100%;
}

.hero-action-stack .hero-google-trust{
margin:12px auto 15px !important;
}
}

@media(max-width:768px){
.hero-action-stack{
width:100%;
}
}

/* HOMEPAGE V67 - TRUE CTA + GOOGLE GROUP CENTER */
@media(min-width:769px){
.hero-action-stack{
display:flex !important;
flex-direction:column !important;
align-items:center !important;
width:max-content !important;
max-width:100% !important;
}

.hero-action-stack .hero-cta{
width:max-content !important;
}

.hero-action-stack .hero-google-trust{
width:max-content !important;
margin:12px auto 15px !important;
}
}

/* HOMEPAGE V68 - CENTER ENTIRE HERO ACTION GROUP */
@media(min-width:769px){
.hero-action-stack{
margin-left:auto !important;
margin-right:auto !important;
}
}

/* HOMEPAGE V69 - RESTORE CTA POSITION + KEEP GOOGLE BELOW */
@media(min-width:769px){

.hero-action-stack{
display:block !important;
width:100% !important;
max-width:none !important;
margin:0 !important;
}

.hero-action-stack .hero-cta{
width:auto !important;
}

.hero-action-stack .hero-google-trust{
display:flex !important;
width:max-content !important;
margin:12px auto 15px !important;
}

}

/* HOMEPAGE V70 - FINAL GOOGLE TRUST ALIGNMENT */
@media(min-width:769px){
.hero-action-stack .hero-google-trust{
transform:translateX(-28px) !important;
}
}

/* HOMEPAGE V71 - GOOGLE TRUST CLOSER TO CTA */
@media(min-width:769px){
.hero-action-stack .hero-google-trust{
margin-top:4px !important;
margin-bottom:13px !important;
}
}

/* HOMEPAGE V72 - GOOGLE TRUST INSIDE CTA GROUP */
@media(min-width:769px){
header.hero .hero-cta .hero-google-trust{
flex-basis:100% !important;
width:max-content !important;
margin:4px auto 0 !important;
transform:none !important;
}
}

@media(max-width:768px){
header.hero .hero-cta .hero-google-trust{
width:max-content !important;
margin:4px auto 0 !important;
transform:none !important;
}
}

/* HOMEPAGE V73 - CENTER GOOGLE PILL INSIDE CTA */
@media(min-width:769px){
header.hero .hero-cta .hero-google-trust{
flex:0 0 auto !important;
width:max-content !important;
margin:4px auto 0 !important;
}
}

/* HOMEPAGE V74 - NUDGE GOOGLE PILL SLIGHTLY LEFT ON DESKTOP */
@media(min-width:769px){
header.hero .hero-cta .hero-google-trust{
transform:translateX(-18px) !important;
}
}

/* HOMEPAGE V75 - NUDGE GOOGLE PILL FURTHER LEFT ON DESKTOP */
@media(min-width:769px){
header.hero .hero-cta .hero-google-trust{
transform:translateX(-30px) !important;
}
}

/* HOMEPAGE V76 - FINAL GOOGLE PILL LEFT NUDGE */
@media(min-width:769px){
header.hero .hero-cta .hero-google-trust{
transform:translateX(-38px) !important;
}
}

/* HOMEPAGE V77 - GOOGLE PILL FURTHER LEFT */
@media(min-width:769px){
header.hero .hero-cta .hero-google-trust{
transform:translateX(-44px) !important;
}
}

/* HOMEPAGE V78 - GOOGLE PILL FURTHER LEFT */
@media(min-width:769px){
header.hero .hero-cta .hero-google-trust{
transform:translateX(-50px) !important;
}
}

/* HOMEPAGE V79 - GOOGLE PILL FURTHER LEFT */
@media(min-width:769px){
header.hero .hero-cta .hero-google-trust{
transform:translateX(-56px) !important;
}
}

/* HOMEPAGE V80 - RESPONSIVE CTA + GOOGLE CENTER */
@media(min-width:769px){

header.hero .hero-cta{
display:grid !important;
grid-template-columns:1fr 1fr !important;
gap:12px !important;
align-items:center !important;
}

header.hero .hero-cta .btn{
width:100% !important;
}

header.hero .hero-cta .hero-google-trust{
grid-column:1 / -1 !important;
justify-self:center !important;
width:max-content !important;
margin:4px 0 0 !important;
transform:none !important;
}

}

/* HOMEPAGE V81 - CENTER DESKTOP HERO ACTIONS + TRUST ROW */
@media(min-width:769px){

header.hero .hero-cta{
display:grid !important;
grid-template-columns:1fr 1fr !important;
gap:12px !important;
width:min(100%,660px) !important;
margin:0 auto 14px !important;
}

header.hero .hero-cta .btn{
width:100% !important;
}

header.hero .hero-cta .hero-google-trust{
grid-column:1 / -1 !important;
justify-self:center !important;
width:max-content !important;
margin:4px 0 0 !important;
transform:none !important;
}

header.hero .hero-points{
width:min(100%,660px) !important;
margin:0 auto !important;
justify-content:center !important;
}

}

/* HOMEPAGE V82 - CENTER DESKTOP CTA ROW */
@media(min-width:769px){
header.hero .hero-cta{
transform:translateX(42px) !important;
}
}

/* HOMEPAGE V83 - FINAL DESKTOP HERO ALIGNMENT */
@media(min-width:769px){

header.hero .hero-cta{
display:grid !important;
grid-template-columns:280px 280px !important;
gap:16px !important;
width:max-content !important;
max-width:100% !important;
margin:0 auto 14px !important;
transform:none !important;
justify-content:center !important;
}

header.hero .hero-cta .btn{
width:280px !important;
max-width:280px !important;
}

header.hero .hero-cta .hero-google-trust{
grid-column:1 / -1 !important;
justify-self:center !important;
width:max-content !important;
margin:4px auto 0 !important;
transform:none !important;
}

header.hero .hero-points{
display:flex !important;
justify-content:center !important;
align-items:center !important;
gap:28px !important;
width:max-content !important;
max-width:100% !important;
margin:0 auto !important;
transform:none !important;
}

header.hero .hero-points .hp{
width:auto !important;
min-width:0 !important;
}

}

/* HOMEPAGE V84 - DESKTOP HERO VISUAL BALANCE */
@media(min-width:769px){
header.hero{
grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;
}

header.hero > .hero-text{
padding-left:6vw !important;
padding-right:3vw !important;
}
}

/* HOMEPAGE V85 - SYMMETRIC DESKTOP HERO CONTENT */
@media(min-width:769px){
header.hero > .hero-text{
padding-left:4vw !important;
padding-right:4vw !important;
}
}

/* HOMEPAGE V86 - ALIGN DESKTOP ACTIONS WITH HERO COPY */
@media(min-width:769px){

header.hero .hero-cta{
margin-left:0 !important;
margin-right:0 !important;
}

header.hero .hero-points{
margin-left:0 !important;
margin-right:0 !important;
}

}

/* HOMEPAGE V87 - SMALL DESKTOP HERO NUDGES */
@media(min-width:769px){

header.hero .hero-cta .btn-red{
transform:translateX(18px) !important;
}

header.hero .hero-cta .btn-line{
transform:translateX(24px) !important;
}

header.hero .hero-points{
transform:translateX(34px) !important;
}

}

/* HOMEPAGE V88 - RESET + TRUE CENTER DESKTOP HERO ACTIONS */
@media(min-width:769px){

header.hero .hero-cta{
display:grid !important;
grid-template-columns:280px 280px !important;
gap:16px !important;
width:576px !important;
max-width:100% !important;
margin:0 auto 14px !important;
transform:none !important;
justify-content:center !important;
}

header.hero .hero-cta .btn-red,
header.hero .hero-cta .btn-line{
width:280px !important;
max-width:280px !important;
margin:0 !important;
transform:none !important;
}

header.hero .hero-cta .hero-google-trust{
grid-column:1 / -1 !important;
justify-self:center !important;
margin:4px auto 0 !important;
transform:none !important;
}

header.hero .hero-points{
display:flex !important;
justify-content:center !important;
align-items:center !important;
gap:28px !important;
width:576px !important;
max-width:100% !important;
margin:0 auto !important;
transform:none !important;
}

}

/* HOMEPAGE V89 - CENTER DESKTOP BUTTON TEXT */
@media(min-width:769px){

header.hero .hero-cta .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
padding-left:0 !important;
padding-right:0 !important;
box-sizing:border-box !important;
}

}

/* HOMEPAGE V90 - SMALLER DESKTOP HERO BUTTONS */
@media(min-width:769px){

header.hero .hero-cta{
grid-template-columns:240px 240px !important;
width:496px !important;
}

header.hero .hero-cta .btn-red,
header.hero .hero-cta .btn-line{
width:240px !important;
max-width:240px !important;
min-height:50px !important;
}

}

/* HOMEPAGE V91 - SUBTLE DESKTOP CTA VIBRATION */
@media(min-width:769px){

@keyframes xxcell-cta-vibrate{
0%, 92%, 100% { transform:translateX(0); }
93% { transform:translateX(-2px); }
94% { transform:translateX(2px); }
95% { transform:translateX(-2px); }
96% { transform:translateX(2px); }
97% { transform:translateX(-1px); }
98% { transform:translateX(1px); }
99% { transform:translateX(0); }
}

header.hero .hero-cta .btn-red,
header.hero .hero-cta .btn-line{
animation:xxcell-cta-vibrate 6s ease-in-out infinite !important;
}

}

/* HOMEPAGE V92 - WORKING DESKTOP CTA VIBRATION */
@media(min-width:769px){

@keyframes xxcell-cta-shake{
0%, 88%, 100% { left:0; }
89% { left:-3px; }
90% { left:3px; }
91% { left:-3px; }
92% { left:3px; }
93% { left:-2px; }
94% { left:2px; }
95% { left:0; }
}

header.hero .hero-cta .btn-red,
header.hero .hero-cta .btn-line{
position:relative !important;
animation:xxcell-cta-shake 5s linear infinite !important;
}

}

/* HOMEPAGE V93 - SUBTLE CTA DEPTH PULSE */
@media(min-width:769px){

@keyframes xxcell-cta-depth{
0%, 100%{
transform:scale(1);
box-shadow:0 6px 16px rgba(15,23,42,.10);
}
50%{
transform:scale(1.025);
box-shadow:0 12px 28px rgba(15,23,42,.18);
}
}

header.hero .hero-cta .btn-red,
header.hero .hero-cta .btn-line{
animation:xxcell-cta-depth 3s ease-in-out infinite !important;
transform-origin:center center !important;
}

}

/* HOMEPAGE V94 - STRONGER RED CTA DEPTH */
@media(min-width:769px){

header.hero .hero-cta .btn-red{
box-shadow:
0 10px 22px rgba(127,29,29,.28),
0 3px 8px rgba(15,23,42,.16) !important;
}

header.hero .hero-cta .btn-line{
box-shadow:
0 10px 24px rgba(15,23,42,.14) !important;
}

}

/* HOMEPAGE V95 - DESKTOP ESTIMATE CARD CLEANUP */
@media(min-width:769px){

#contact .form{
padding:34px 36px !important;
border:1px solid #e2e8f0 !important;
border-radius:16px !important;
background:#fff !important;
box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
}

#contact .form h3{
margin:0 0 14px !important;
font-size:1.55rem !important;
line-height:1.2 !important;
}

#contact .form > p{
margin:0 0 18px !important;
line-height:1.55 !important;
}

#contact .form .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:100% !important;
max-width:330px !important;
min-height:52px !important;
margin:0 !important;
text-align:center !important;
box-sizing:border-box !important;
}

#contact .form > p:has(.btn){
margin:0 0 18px !important;
}

#contact .estimate-trust{
display:flex !important;
flex-wrap:wrap !important;
gap:8px 14px !important;
margin:0 0 18px !important;
font-size:.92rem !important;
color:#475569 !important;
}

#contact .estimate-trust span{
display:inline-flex !important;
align-items:center !important;
gap:6px !important;
}

#contact .estimate-trust span::before{
content:'✓';
color:#dc2626;
font-weight:900;
}

#contact .estimate-help{
margin:4px 0 0 !important;
font-size:.92rem !important;
color:#64748b !important;
}

}

/* =========================================================
HOMEPAGE V96 - DESKTOP HERO MATCHES MOBILE DESIGN LANGUAGE
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

header.hero{
display:grid !important;
grid-template-columns:minmax(0,1fr) minmax(360px,.9fr) !important;
width:min(1180px,calc(100% - 48px)) !important;
min-height:0 !important;
margin:24px auto 38px !important;
background:#fff !important;
border:1px solid #e2e8f0 !important;
border-radius:18px !important;
overflow:hidden !important;
box-shadow:0 8px 28px rgba(15,23,42,.08) !important;
}

/* Hero copy */
header.hero > .hero-text{
grid-column:1 !important;
grid-row:1 !important;
padding:38px 40px !important;
background:#fff !important;
justify-content:center !important;
}

/* Availability badge */
header.hero .mobile-dispatch-status{
display:inline-flex !important;
align-items:center !important;
width:max-content !important;
margin:0 0 14px !important;
padding:7px 11px !important;
background:#f0fdf4 !important;
border:1px solid #bbf7d0 !important;
border-radius:999px !important;
color:#166534 !important;
font-size:.76rem !important;
font-weight:850 !important;
}

/* Heading */
header.hero h1{
margin:0 !important;
font-size:clamp(2.5rem,4vw,4rem) !important;
line-height:1.03 !important;
letter-spacing:-.035em !important;
font-weight:850 !important;
color:#0f172a !important;
}

header.hero h1 b{
color:#dc2626 !important;
}

/* Description */
header.hero .hero-lead{
margin:16px 0 22px !important;
font-size:1rem !important;
line-height:1.6 !important;
color:#64748b !important;
}

/* CTA row */
header.hero .hero-cta{
display:grid !important;
grid-template-columns:1fr 1fr !important;
gap:10px !important;
width:100% !important;
max-width:none !important;
margin:0 0 14px !important;
transform:none !important;
}

header.hero .hero-cta .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:100% !important;
max-width:none !important;
min-height:52px !important;
padding:11px 14px !important;
margin:0 !important;
border-radius:9px !important;
font-size:.95rem !important;
font-weight:850 !important;
text-align:center !important;
transform:none !important;
animation:none !important;
box-sizing:border-box !important;
}

header.hero .hero-cta .btn-red{
background:#dc2626 !important;
border-color:#dc2626 !important;
color:#fff !important;
box-shadow:0 5px 16px rgba(220,38,38,.18) !important;
}

header.hero .hero-cta .btn-line{
background:#fff !important;
border:2px solid #0f172a !important;
color:#0f172a !important;
box-shadow:none !important;
}

/* Google trust */
header.hero .hero-cta .hero-google-trust{
grid-column:1 / -1 !important;
justify-self:center !important;
width:max-content !important;
margin:4px auto 0 !important;
transform:none !important;
}

/* Mobile-style proof cards */
header.hero .hero-points{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:8px !important;
width:100% !important;
max-width:none !important;
margin:0 !important;
transform:none !important;
}

header.hero .hero-points .hp{
display:flex !important;
align-items:center !important;
justify-content:center !important;
min-width:0 !important;
min-height:60px !important;
padding:8px 6px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:9px !important;
box-shadow:none !important;
color:#0f172a !important;
font-size:.74rem !important;
line-height:1.25 !important;
font-weight:800 !important;
text-align:center !important;
}

/* Quick Assistance - same visual style as mobile */
header.hero .mobile-quick-assist{
display:block !important;
margin:14px 0 0 !important;
padding:14px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:11px !important;
box-shadow:none !important;
}

header.hero .mobile-quick-head{
margin-bottom:11px !important;
}

header.hero .mobile-quick-head strong{
font-size:.96rem !important;
}

header.hero .mobile-quick-tap{
font-size:.59rem !important;
}

header.hero .mobile-quick-grid{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:7px !important;
}

header.hero .mobile-quick-grid a{
min-height:78px !important;
padding:9px 5px !important;
gap:5px !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:8px !important;
}

header.hero .mobile-quick-grid a span{
font-size:1.3rem !important;
}

header.hero .mobile-quick-grid a strong{
font-size:.74rem !important;
}

/* Hero image */
header.hero > #homepage-hero-photo{
grid-column:2 !important;
grid-row:1 !important;
order:0 !important;
width:100% !important;
height:100% !important;
min-height:100% !important;
max-height:none !important;
margin:0 !important;
align-self:stretch !important;
border-radius:0 !important;
}

header.hero > #homepage-hero-photo img{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
border-radius:0 !important;
}

}

/* =========================================================
HOMEPAGE V97 - DESKTOP SERVICES MATCH MOBILE DESIGN
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

#homesvc{
background:#f8fafc !important;
padding:64px 0 72px !important;
}

#homesvc .wrap{
width:min(1180px,calc(100% - 48px)) !important;
max-width:1180px !important;
margin:0 auto !important;
padding:0 !important;
}

#homesvc .eyebrow{
color:#dc2626 !important;
font-size:.76rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
margin-bottom:8px !important;
}

#homesvc h2{
font-size:clamp(2rem,3vw,2.7rem) !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
margin:0 0 10px !important;
color:#0f172a !important;
}

#homesvc .lead{
font-size:1rem !important;
line-height:1.55 !important;
color:#64748b !important;
margin:0 0 28px !important;
max-width:760px !important;
}

/* Three-column desktop grid */
#homesvc .svcgrid{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:16px !important;
}

/* Mobile-style service cards adapted for desktop */
#homesvc .svccard{
position:relative !important;
display:flex !important;
flex-direction:column !important;
min-height:230px !important;
padding:58px 20px 20px !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:15px !important;
box-shadow:0 4px 14px rgba(15,23,42,.05) !important;
text-decoration:none !important;
overflow:hidden !important;
transition:
transform .18s ease,
border-color .18s ease,
box-shadow .18s ease !important;
}

#homesvc .svccard:hover{
transform:translateY(-3px) !important;
border-color:#cbd5e1 !important;
box-shadow:0 10px 24px rgba(15,23,42,.09) !important;
}

/* Category pill */
#homesvc .svccard::before{
position:absolute !important;
left:20px !important;
top:16px !important;
display:inline-flex !important;
align-items:center !important;
min-height:26px !important;
padding:4px 9px !important;
border-radius:5px !important;
background:#f8fafc;
border:1px solid #e2e8f0;
color:#334155;
font-size:.68rem !important;
line-height:1 !important;
font-weight:900 !important;
letter-spacing:.02em !important;
}

/* Service title + icon */
#homesvc .svccard h3{
display:flex !important;
align-items:flex-start !important;
justify-content:space-between !important;
gap:14px !important;
margin:0 0 10px !important;
font-size:1.28rem !important;
line-height:1.16 !important;
font-weight:800 !important;
letter-spacing:-.02em !important;
color:#0f172a !important;
}

#homesvc .svccard h3::before{
order:2 !important;
flex:0 0 auto !important;
width:auto !important;
margin-left:auto !important;
font-size:1.45rem !important;
line-height:1 !important;
}

/* Description */
#homesvc .svccard p{
margin:0 !important;
padding-bottom:18px !important;
font-size:.94rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

/* Learn more footer */
#homesvc .svccard .go{
display:block !important;
margin-top:auto !important;
padding-top:14px !important;
border-top:1px solid #e2e8f0 !important;
color:#dc2626 !important;
font-size:.86rem !important;
line-height:1.2 !important;
font-weight:900 !important;
letter-spacing:.01em !important;
}

/* View All Services */
#homesvc .more-services{
margin-top:20px !important;
}

#homesvc .more-services summary{
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:10px !important;
padding:15px 18px !important;
color:#0f172a !important;
font-weight:800 !important;
box-shadow:0 3px 10px rgba(15,23,42,.04) !important;
}

}

/* =========================================================
HOMEPAGE V98 - DESKTOP EQUIPMENT + GALLERY MATCH MOBILE STYLE
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

/* Shared section shell */
#fleet,
#work{
background:#f8fafc !important;
padding:64px 0 72px !important;
}

#fleet .wrap,
#work .wrap{
width:min(1180px,calc(100% - 48px)) !important;
max-width:1180px !important;
margin:0 auto !important;
padding:0 !important;
}

#fleet .eyebrow,
#work .eyebrow{
color:#dc2626 !important;
font-size:.76rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
margin-bottom:8px !important;
}

#fleet h2,
#work h2{
font-size:clamp(2rem,3vw,2.7rem) !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
margin:0 0 10px !important;
color:#0f172a !important;
}

#fleet .lead,
#work .lead{
font-size:1rem !important;
line-height:1.55 !important;
color:#64748b !important;
margin:0 0 28px !important;
max-width:820px !important;
}

/* Equipment cards */
#fleet .fleet-grid{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:16px !important;
}

#fleet .fleet-item{
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:15px !important;
padding:22px !important;
box-shadow:0 4px 14px rgba(15,23,42,.05) !important;
min-height:190px !important;
}

#fleet .fleet-item h3{
margin:0 0 10px !important;
font-size:1.2rem !important;
line-height:1.2 !important;
font-weight:800 !important;
color:#0f172a !important;
}

#fleet .fleet-item p{
margin:0 !important;
font-size:.94rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

/* Gallery shell */
#work .ev-gallery{
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:18px !important;
padding:18px !important;
box-shadow:0 8px 26px rgba(15,23,42,.07) !important;
}

/* Main gallery image */
#work .ev-gallery-main{
position:relative !important;
overflow:hidden !important;
border-radius:14px !important;
background:#0f172a !important;
}

#work .ev-gallery-main img{
display:block !important;
width:100% !important;
height:auto !important;
aspect-ratio:16 / 9 !important;
object-fit:cover !important;
border-radius:14px !important;
}

/* Caption + count */
#work .ev-gallery-caption{
background:rgba(15,23,42,.82) !important;
color:#fff !important;
font-weight:700 !important;
}

#work .ev-gallery-count{
background:rgba(15,23,42,.82) !important;
color:#fff !important;
border-radius:999px !important;
}

/* Thumbnails */
#work .ev-gallery-thumbs{
display:grid !important;
grid-template-columns:repeat(6,minmax(0,1fr)) !important;
gap:10px !important;
margin-top:14px !important;
}

#work .ev-thumb{
padding:0 !important;
border:1px solid #dbe3ec !important;
border-radius:10px !important;
overflow:hidden !important;
background:#fff !important;
}

#work .ev-thumb img{
display:block !important;
width:100% !important;
aspect-ratio:4 / 3 !important;
object-fit:cover !important;
}

#work .ev-thumb.active{
border-color:#dc2626 !important;
box-shadow:0 0 0 2px rgba(220,38,38,.10) !important;
}

}

/* =========================================================
HOMEPAGE V99 - DESKTOP ABOUT SECTION MATCH MOBILE STYLE
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

#about{
background:#f8fafc !important;
padding:64px 0 72px !important;
}

#about .wrap{
width:min(1180px,calc(100% - 48px)) !important;
max-width:1180px !important;
margin:0 auto !important;
padding:0 !important;
}

#about .about-grid{
display:grid !important;
grid-template-columns:minmax(0,1fr) minmax(380px,.9fr) !important;
gap:28px !important;
align-items:stretch !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:18px !important;
padding:28px !important;
box-shadow:0 8px 26px rgba(15,23,42,.07) !important;
}

#about .eyebrow{
color:#dc2626 !important;
font-size:.76rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
margin-bottom:8px !important;
}

#about h2{
font-size:clamp(2rem,3vw,2.7rem) !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
margin:0 0 16px !important;
color:#0f172a !important;
}

#about .about-grid > div > p{
font-size:.98rem !important;
line-height:1.6 !important;
color:#64748b !important;
margin-bottom:14px !important;
}

#about .chk{
display:grid !important;
gap:10px !important;
margin-top:18px !important;
padding:0 !important;
list-style:none !important;
}

#about .chk li{
position:relative !important;
padding:12px 14px 12px 40px !important;
background:#f8fafc !important;
border:1px solid #e2e8f0 !important;
border-radius:10px !important;
font-size:.94rem !important;
line-height:1.35 !important;
font-weight:700 !important;
color:#0f172a !important;
}

#about .chk li::before{
content:'✓' !important;
position:absolute !important;
left:14px !important;
top:50% !important;
transform:translateY(-50%) !important;
color:#dc2626 !important;
font-weight:900 !important;
}

#about .about-grid > img{
display:block !important;
width:100% !important;
height:100% !important;
min-height:420px !important;
object-fit:cover !important;
object-position:center center !important;
border-radius:14px !important;
}

}

/* =========================================================
HOMEPAGE V101 - DESKTOP REVIEWS MATCH MOBILE STYLE
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

#reviews{
background:#f8fafc !important;
padding:64px 0 72px !important;
}

#reviews .wrap{
width:min(1180px,calc(100% - 48px)) !important;
max-width:1180px !important;
margin:0 auto !important;
padding:0 !important;
}

#reviews .review-panel{
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:18px !important;
padding:30px !important;
box-shadow:0 8px 26px rgba(15,23,42,.07) !important;
}

#reviews .eyebrow{
color:#dc2626 !important;
font-size:.76rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
margin-bottom:8px !important;
}

#reviews h2{
font-size:clamp(2rem,3vw,2.7rem) !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
margin:0 0 12px !important;
color:#0f172a !important;
}

#reviews .review-intro{
max-width:820px !important;
margin:0 0 26px !important;
font-size:1rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

#reviews .review-grid{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:16px !important;
}

#reviews .review-card{
display:flex !important;
flex-direction:column !important;
min-height:260px !important;
padding:22px !important;
background:#f8fafc !important;
border:1px solid #dbe3ec !important;
border-radius:15px !important;
box-shadow:0 4px 14px rgba(15,23,42,.04) !important;
text-decoration:none !important;
}

#reviews .review-card-stars{
order:1 !important;
margin:0 0 12px !important;
font-size:1.05rem !important;
letter-spacing:2px !important;
}

#reviews .review-card blockquote{
order:2 !important;
margin:0 0 20px !important;
font-size:.95rem !important;
line-height:1.6 !important;
color:#475569 !important;
}

#reviews .review-author{
order:3 !important;
margin-top:auto !important;
padding-top:14px !important;
border-top:1px solid #e2e8f0 !important;
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
gap:12px !important;
}

#reviews .review-author strong{
font-size:.94rem !important;
color:#0f172a !important;
}

#reviews .review-author span{
display:inline-flex !important;
align-items:center !important;
gap:6px !important;
font-size:.82rem !important;
color:#64748b !important;
}

#reviews .rev-cta{
display:flex !important;
justify-content:center !important;
gap:12px !important;
margin-top:24px !important;
}

#reviews .rev-cta .btn{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:8px !important;
min-width:230px !important;
min-height:50px !important;
border-radius:9px !important;
font-weight:850 !important;
}

}


/* =========================================================
HOMEPAGE V102 - DESKTOP CTA + FAQ MATCH MOBILE STYLE
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

/* Emergency CTA */
body > .cta{
width:min(1180px,calc(100% - 48px)) !important;
margin:0 auto 72px !important;
padding:34px 36px !important;
background:#0f172a !important;
border-radius:18px !important;
box-shadow:0 8px 26px rgba(15,23,42,.12) !important;
text-align:center !important;
}

body > .cta h2{
margin:0 0 10px !important;
font-size:clamp(2rem,3vw,2.6rem) !important;
line-height:1.08 !important;
color:#fff !important;
}

body > .cta p{
margin:0 0 18px !important;
font-size:1rem !important;
line-height:1.55 !important;
color:#cbd5e1 !important;
}

body > .cta .cta-call{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-width:240px !important;
min-height:52px !important;
padding:12px 18px !important;
background:#dc2626 !important;
border-radius:9px !important;
color:#fff !important;
font-weight:900 !important;
text-decoration:none !important;
box-shadow:0 5px 16px rgba(220,38,38,.22) !important;
}

/* FAQ */
#faq{
background:#f8fafc !important;
padding:64px 0 72px !important;
}

#faq .wrap{
width:min(1180px,calc(100% - 48px)) !important;
max-width:1180px !important;
margin:0 auto !important;
padding:28px !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:18px !important;
box-shadow:0 8px 26px rgba(15,23,42,.07) !important;
box-sizing:border-box !important;
}

#faq .eyebrow{
color:#dc2626 !important;
font-size:.76rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
margin-bottom:8px !important;
}

#faq h2{
font-size:clamp(2rem,3vw,2.7rem) !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
margin:0 0 10px !important;
color:#0f172a !important;
}

#faq .lead{
font-size:1rem !important;
line-height:1.55 !important;
color:#64748b !important;
margin:0 0 24px !important;
}

#faq .faq-list{
display:grid !important;
gap:10px !important;
}

#faq .faq-item{
background:#f8fafc !important;
border:1px solid #dbe3ec !important;
border-radius:11px !important;
overflow:hidden !important;
}

#faq .faq-item summary{
padding:16px 18px !important;
font-size:.96rem !important;
line-height:1.4 !important;
font-weight:850 !important;
color:#0f172a !important;
cursor:pointer !important;
}

#faq .faq-item p{
margin:0 !important;
padding:0 18px 18px !important;
font-size:.94rem !important;
line-height:1.6 !important;
color:#64748b !important;
}

#faq .wrap > p:last-child{
margin-top:24px !important;
}

#faq .wrap > p:last-child .btn{
min-width:230px !important;
min-height:50px !important;
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
border-radius:9px !important;
}

}

/* =========================================================
HOMEPAGE V103 - DESKTOP FOOTER MATCH REDESIGNED SITE
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

footer{
background:#0f172a !important;
color:#94a3b8 !important;
padding:56px 0 26px !important;
}

footer .ftop{
width:min(1180px,calc(100% - 48px)) !important;
max-width:1180px !important;
margin:0 auto 36px !important;
display:grid !important;
grid-template-columns:1.7fr 1fr 1fr 1.2fr !important;
gap:24px !important;
align-items:start !important;
}

/* Company block */
footer .ftop > div:first-child{
padding:22px !important;
background:#111c31 !important;
border:1px solid #22304a !important;
border-radius:14px !important;
}

footer .flogo{
display:block !important;
margin:0 0 12px !important;
font-size:1.45rem !important;
font-weight:900 !important;
color:#fff !important;
text-decoration:none !important;
}

footer .flogo b{
color:#dc2626 !important;
}

footer .ftop > div:first-child p{
margin:0 !important;
font-size:.9rem !important;
line-height:1.65 !important;
color:#94a3b8 !important;
}

footer .ftop > div:first-child p + p{
margin-top:14px !important;
padding-top:14px !important;
border-top:1px solid #22304a !important;
}

footer .ftop > div:first-child p + p a{
display:inline-block !important;
margin-top:4px !important;
color:#fff !important;
font-weight:850 !important;
font-size:1rem !important;
}

/* Link columns */
footer .fcol{
padding:20px !important;
background:#111c31 !important;
border:1px solid #22304a !important;
border-radius:14px !important;
}

footer .fcol h3,
footer .fcol h4{
margin:0 0 14px !important;
font-size:.78rem !important;
line-height:1.2 !important;
font-weight:900 !important;
letter-spacing:.08em !important;
text-transform:uppercase !important;
color:#fff !important;
}

footer .fcol ul{
list-style:none !important;
margin:0 !important;
padding:0 !important;
}

footer .fcol li{
margin:0 0 8px !important;
}

footer .fcol li:last-child{
margin-bottom:0 !important;
}

footer .fcol a{
color:#94a3b8 !important;
font-size:.88rem !important;
line-height:1.4 !important;
text-decoration:none !important;
transition:color .18s ease !important;
}

footer .fcol a:hover{
color:#fff !important;
}

/* Guides nested inside Service Areas */
footer .fcol .fcol{
margin-top:20px !important;
padding:18px 0 0 !important;
background:transparent !important;
border:0 !important;
border-top:1px solid #22304a !important;
border-radius:0 !important;
}

/* Bottom strip */
footer .fbot{
width:min(1180px,calc(100% - 48px)) !important;
max-width:1180px !important;
margin:0 auto !important;
padding-top:22px !important;
border-top:1px solid #22304a !important;
display:flex !important;
justify-content:space-between !important;
align-items:center !important;
gap:24px !important;
}

footer .fbot p{
margin:0 !important;
font-size:.78rem !important;
line-height:1.5 !important;
color:#64748b !important;
}

footer .fbot a{
color:#cbd5e1 !important;
text-decoration:none !important;
}

}

/* =========================================================
HOMEPAGE V100 - DESKTOP SERVICE AREA MATCH MOBILE STYLE
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

.service-area-sec{
background:#f8fafc !important;
padding:64px 0 72px !important;
}

.service-area-sec .wrap{
width:min(1180px,calc(100% - 48px)) !important;
max-width:1180px !important;
margin:0 auto !important;
padding:28px !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:18px !important;
box-shadow:0 8px 26px rgba(15,23,42,.07) !important;
box-sizing:border-box !important;
}

.service-area-sec .eyebrow{
color:#dc2626 !important;
font-size:.76rem !important;
font-weight:900 !important;
letter-spacing:.08em !important;
margin-bottom:8px !important;
}

.service-area-sec h2{
font-size:clamp(2rem,3vw,2.7rem) !important;
line-height:1.08 !important;
letter-spacing:-.03em !important;
margin:0 0 10px !important;
color:#0f172a !important;
}

.service-area-sec .lead{
font-size:1rem !important;
line-height:1.55 !important;
color:#64748b !important;
margin:0 0 24px !important;
}

.service-area-sec .chips{
display:flex !important;
flex-wrap:wrap !important;
gap:9px !important;
margin:0 0 26px !important;
}

.service-area-sec .chip{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-height:40px !important;
padding:9px 14px !important;
background:#f8fafc !important;
border:1px solid #dbe3ec !important;
border-radius:999px !important;
color:#0f172a !important;
font-size:.88rem !important;
font-weight:800 !important;
text-decoration:none !important;
}

.service-area-sec .mapwrap{
overflow:hidden !important;
border:1px solid #dbe3ec !important;
border-radius:14px !important;
box-shadow:0 4px 14px rgba(15,23,42,.05) !important;
background:#e2e8f0 !important;
}

.service-area-sec .mapwrap iframe{
display:block !important;
width:100% !important;
height:380px !important;
border:0 !important;
}

}

/* HOMEPAGE V105 - CENTER QUICK ASSIST + REMOVE LINK UNDERLINES */
@media(min-width:769px){

header.hero .mobile-quick-grid a{
display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
text-decoration:none !important;
}

header.hero .mobile-quick-grid a span,
header.hero .mobile-quick-grid a strong{
text-decoration:none !important;
}

}

/* HOMEPAGE V105 - CENTER QUICK ASSIST + REMOVE LINK UNDERLINES */
@media(min-width:769px){

header.hero .mobile-quick-grid a{
display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
text-decoration:none !important;
}

header.hero .mobile-quick-grid a span,
header.hero .mobile-quick-grid a strong{
text-decoration:none !important;
}

}

/* HOMEPAGE V106 - COMPACT DESKTOP HERO HEIGHT */
@media(min-width:769px){

header.hero > .hero-text{
padding:30px 34px !important;
}

header.hero > #homepage-hero-photo{
min-height:0 !important;
height:auto !important;
}

header.hero > #homepage-hero-photo img{
height:100% !important;
max-height:640px !important;
object-fit:cover !important;
}

header.hero .hero-lead{
margin:13px 0 18px !important;
}

header.hero .hero-points{
gap:7px !important;
}

header.hero .hero-points .hp{
min-height:52px !important;
padding:6px 5px !important;
}

header.hero .mobile-quick-assist{
margin-top:11px !important;
padding:11px !important;
}

header.hero .mobile-quick-head{
margin-bottom:8px !important;
}

header.hero .mobile-quick-grid{
gap:6px !important;
}

header.hero .mobile-quick-grid a{
min-height:64px !important;
padding:6px 4px !important;
}

header.hero .mobile-quick-grid a span{
font-size:1.15rem !important;
}

header.hero .mobile-quick-grid a strong{
font-size:.70rem !important;
}

}

/* HOMEPAGE V107 - COMPACT DESKTOP QUICK ASSISTANCE */
@media(min-width:769px){

header.hero .mobile-quick-assist{
margin-top:8px !important;
padding:9px !important;
}

header.hero .mobile-quick-head{
margin-bottom:6px !important;
}

header.hero .mobile-quick-head strong{
font-size:.88rem !important;
}

header.hero .mobile-quick-tap{
font-size:.54rem !important;
}

header.hero .mobile-quick-grid{
gap:5px !important;
}

header.hero .mobile-quick-grid a{
min-height:52px !important;
padding:4px 3px !important;
border-radius:7px !important;
}

header.hero .mobile-quick-grid a span{
font-size:1rem !important;
}

header.hero .mobile-quick-grid a strong{
font-size:.64rem !important;
line-height:1.1 !important;
}

header.hero .hero-points .hp{
min-height:46px !important;
}

}

/* HOMEPAGE V108 - SMALLER DESKTOP HERO IMAGE */
@media(min-width:769px){

header.hero{
grid-template-columns:minmax(0,1.12fr) minmax(320px,.78fr) !important;
}

header.hero > #homepage-hero-photo{
max-height:560px !important;
align-self:center !important;
}

header.hero > #homepage-hero-photo img{
height:560px !important;
max-height:560px !important;
object-fit:cover !important;
object-position:center center !important;
}

}

/* HOMEPAGE V109 - RESTORE HERO IMAGE + FIT DESKTOP SCREEN */
@media(min-width:769px){

header.hero{
grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr) !important;
align-items:stretch !important;
margin:18px auto 30px !important;
}

/* Keep left side compact */
header.hero > .hero-text{
padding:24px 28px !important;
}

/* Restore image column */
header.hero > #homepage-hero-photo{
position:relative !important;
height:auto !important;
min-height:0 !important;
max-height:none !important;
align-self:stretch !important;
overflow:hidden !important;
}

header.hero > #homepage-hero-photo img{
position:absolute !important;
inset:0 !important;
width:100% !important;
height:100% !important;
max-height:none !important;
object-fit:cover !important;
object-position:center center !important;
}

/* Keep lower hero elements compact */
header.hero .hero-points .hp{
min-height:44px !important;
}

header.hero .mobile-quick-assist{
margin-top:8px !important;
padding:9px !important;
}

header.hero .mobile-quick-grid a{
min-height:50px !important;
}

}

/* =========================================================
HOMEPAGE V110 - RESTRUCTURED RESPONSIVE HERO
Desktop: two-column top + full-width lower tools
Mobile: preserve stacked design
========================================================= */

@media(min-width:769px){

header.hero{
display:grid !important;
grid-template-columns:minmax(0,1fr) minmax(380px,.9fr) !important;
grid-template-rows:auto auto !important;
align-items:stretch !important;
width:min(1180px,calc(100% - 48px)) !important;
margin:18px auto 30px !important;
}

/* Top-left copy */
header.hero > .hero-text{
grid-column:1 !important;
grid-row:1 !important;
padding:30px 34px !important;
align-self:center !important;
}

/* Top-right image */
header.hero > #homepage-hero-photo{
grid-column:2 !important;
grid-row:1 !important;
position:relative !important;
min-height:430px !important;
height:100% !important;
max-height:500px !important;
align-self:stretch !important;
overflow:hidden !important;
}

header.hero > #homepage-hero-photo img{
position:absolute !important;
inset:0 !important;
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:center center !important;
}

/* Full-width lower area */
header.hero > .hero-lower{
grid-column:1 / -1 !important;
grid-row:2 !important;
padding:16px 24px 22px !important;
background:#fff !important;
border-top:1px solid #e2e8f0 !important;
}

/* Three trust cards */
header.hero .hero-lower .hero-points{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:10px !important;
width:100% !important;
margin:0 0 12px !important;
}

header.hero .hero-lower .hero-points .hp{
min-height:48px !important;
padding:8px 10px !important;
}

/* Quick Assistance full-width */
header.hero .hero-lower .mobile-quick-assist{
margin:0 !important;
padding:12px !important;
}

/* Six options across desktop */
header.hero .hero-lower .mobile-quick-grid{
display:grid !important;
grid-template-columns:repeat(6,minmax(0,1fr)) !important;
gap:8px !important;
}

header.hero .hero-lower .mobile-quick-grid a{
min-height:68px !important;
padding:8px 4px !important;
display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
text-decoration:none !important;
}

header.hero .hero-lower .mobile-quick-grid a span{
font-size:1.15rem !important;
}

header.hero .hero-lower .mobile-quick-grid a strong{
font-size:.68rem !important;
text-decoration:none !important;
}

}

/* Preserve original mobile visual order */
@media(max-width:768px){

header.hero > .hero-text{
order:2 !important;
padding-bottom:0 !important;
}

header.hero > #homepage-hero-photo{
order:1 !important;
}

header.hero > .hero-lower{
order:3 !important;
padding:0 16px 16px !important;
background:#fff !important;
}

}

/* =========================================================
HOMEPAGE V111 - NEW DESKTOP TOP BAR + NAVIGATION
Desktop only. Existing mobile navigation remains unchanged.
========================================================= */

.desktop-announcement{
display:none;
}

@media(min-width:769px){

/* Top status strip */
.desktop-announcement{
display:block !important;
background:#0b1120 !important;
border-bottom:1px solid #1e293b !important;
color:#cbd5e1 !important;
}

.desktop-announcement-inner{
width:min(1280px,calc(100% - 48px)) !important;
min-height:34px !important;
margin:0 auto !important;
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
gap:24px !important;
font-size:.74rem !important;
font-weight:600 !important;
}

.desktop-live{
display:inline-flex !important;
align-items:center !important;
gap:7px !important;
color:#86efac !important;
}

.desktop-live span{
width:7px !important;
height:7px !important;
border-radius:50% !important;
background:#4ade80 !important;
box-shadow:0 0 0 4px rgba(74,222,128,.10) !important;
}

.desktop-announcement-text{
color:#e2e8f0 !important;
}

.desktop-hours{
color:#cbd5e1 !important;
}

/* Main desktop header */
body > nav{
position:sticky !important;
top:0 !important;
z-index:5000 !important;
width:100% !important;
height:76px !important;
min-height:76px !important;
padding:0 max(24px,calc((100vw - 1280px)/2)) !important;
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
gap:28px !important;
background:rgba(255,255,255,.97) !important;
border-bottom:1px solid #e2e8f0 !important;
box-shadow:0 2px 10px rgba(15,23,42,.05) !important;
backdrop-filter:blur(10px) !important;
}

/* Brand */
body > nav .logo{
display:flex !important;
align-items:baseline !important;
gap:5px !important;
margin:0 !important;
font-size:1.55rem !important;
font-weight:900 !important;
letter-spacing:-.035em !important;
text-decoration:none !important;
color:#0f172a !important;
white-space:nowrap !important;
}

body > nav .logo b{
color:#dc2626 !important;
}

/* Navigation */
body > nav .navlinks{
display:flex !important;
align-items:center !important;
justify-content:flex-end !important;
gap:24px !important;
margin:0 !important;
padding:0 !important;
list-style:none !important;
}

body > nav .navlinks > li{
margin:0 !important;
}

body > nav .navlinks > li > a,
body > nav .navlinks .ddtoggle{
font-size:.84rem !important;
font-weight:700 !important;
color:#475569 !important;
text-decoration:none !important;
background:transparent !important;
border:0 !important;
padding:10px 0 !important;
white-space:nowrap !important;
}

body > nav .navlinks > li > a:hover,
body > nav .navlinks .ddtoggle:hover{
color:#dc2626 !important;
}

/* Quote link */
body > nav .navlinks > li > a[href="/towing-quote/"]{
padding:10px 14px !important;
background:#f1f5f9 !important;
border:1px solid #cbd5e1 !important;
border-radius:9px !important;
color:#334155 !important;
}

/* Phone CTA */
body > nav .navcall{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-height:42px !important;
padding:10px 17px !important;
background:#dc2626 !important;
border:1px solid #dc2626 !important;
border-radius:9px !important;
color:#fff !important;
font-size:.88rem !important;
font-weight:850 !important;
box-shadow:0 3px 8px rgba(220,38,38,.18) !important;
}

body > nav .navcall:hover{
background:#b91c1c !important;
color:#fff !important;
}

/* Keep mobile-only controls hidden on desktop */
body > nav .mobile-nav-call,
body > nav .hbg{
display:none !important;
}

}

/* =========================================================
HOMEPAGE V112 - NEW DESKTOP HERO
Matches supplied desktop direction.
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

/* Main hero shell */
header.hero{
display:grid !important;
grid-template-columns:minmax(0,1fr) minmax(420px,1fr) !important;
grid-template-rows:auto auto !important;
column-gap:48px !important;
row-gap:0 !important;

width:min(1280px,calc(100% - 48px)) !important;
max-width:1280px !important;
margin:0 auto !important;
padding:48px 0 44px !important;

background:#fff !important;
border:0 !important;
border-radius:0 !important;
box-shadow:none !important;
overflow:visible !important;
}

/* LEFT COPY */
header.hero > .hero-text{
grid-column:1 !important;
grid-row:1 !important;

display:flex !important;
flex-direction:column !important;
justify-content:center !important;

padding:0 !important;
background:#fff !important;
}

/* Dispatch badge */
header.hero .mobile-dispatch-status{
display:inline-flex !important;
align-items:center !important;
width:max-content !important;

margin:0 0 18px !important;
padding:7px 11px !important;

background:#fef2f2 !important;
border:1px solid #fecaca !important;
border-radius:7px !important;

color:#dc2626 !important;
font-size:.72rem !important;
font-weight:850 !important;
letter-spacing:.045em !important;
}

/* Main heading */
header.hero h1{
margin:0 !important;
max-width:690px !important;

font-size:clamp(2.8rem,4.4vw,4.2rem) !important;
line-height:1.05 !important;
letter-spacing:-.045em !important;
font-weight:900 !important;
color:#0f172a !important;
}

header.hero h1 b{
color:#dc2626 !important;
}

/* Description */
header.hero .hero-lead{
max-width:680px !important;
margin:20px 0 24px !important;

font-size:1.05rem !important;
line-height:1.65 !important;
color:#64748b !important;
}

/* CTA group */
header.hero .hero-cta{
display:grid !important;
grid-template-columns:1fr 1fr !important;
gap:12px !important;

width:100% !important;
max-width:590px !important;
margin:0 !important;
}

/* Buttons */
header.hero .hero-cta .btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;

width:100% !important;
max-width:none !important;
min-height:54px !important;

padding:13px 18px !important;
margin:0 !important;

border-radius:11px !important;

font-size:.96rem !important;
font-weight:850 !important;
text-align:center !important;

transform:none !important;
animation:none !important;
box-sizing:border-box !important;
}

header.hero .hero-cta .btn-red{
background:#dc2626 !important;
border:1px solid #dc2626 !important;
color:#fff !important;
box-shadow:0 6px 16px rgba(220,38,38,.20) !important;
}

header.hero .hero-cta .btn-line{
background:#0f172a !important;
border:1px solid #0f172a !important;
color:#fff !important;
box-shadow:none !important;
}

/* Google proof line */
header.hero .hero-cta .hero-google-trust{
grid-column:1 / -1 !important;

display:flex !important;
align-items:center !important;
justify-content:flex-start !important;

width:max-content !important;
margin:8px 0 0 !important;
padding:0 !important;

background:transparent !important;
border:0 !important;
border-radius:0 !important;

transform:none !important;
}

/* RIGHT IMAGE */
header.hero > #homepage-hero-photo{
grid-column:2 !important;
grid-row:1 !important;

position:relative !important;

width:100% !important;
height:470px !important;
min-height:470px !important;
max-height:470px !important;

align-self:center !important;
overflow:hidden !important;

background:#0f172a !important;
border:4px solid #fff !important;
border-radius:18px !important;
box-shadow:0 18px 42px rgba(15,23,42,.18) !important;
}

header.hero > #homepage-hero-photo img{
position:absolute !important;
inset:0 !important;

width:100% !important;
height:100% !important;

object-fit:cover !important;
object-position:center center !important;

border-radius:14px !important;
}

/* LOWER DESKTOP AREA */
header.hero > .hero-lower{
grid-column:1 / -1 !important;
grid-row:2 !important;

margin:34px 0 0 !important;
padding:28px 0 0 !important;

background:#f8fafc !important;
border-top:1px solid #e2e8f0 !important;
}

/* Trust row */
header.hero .hero-lower .hero-points{
display:grid !important;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:10px !important;

width:100% !important;
margin:0 0 24px !important;
}

header.hero .hero-lower .hero-points .hp{
display:flex !important;
align-items:center !important;
justify-content:center !important;

min-height:46px !important;

padding:9px 12px !important;

background:#fff !important;
border:1px solid #e2e8f0 !important;
border-radius:9px !important;

font-size:.78rem !important;
font-weight:800 !important;
color:#334155 !important;
}

/* Quick Assistance */
header.hero .hero-lower .mobile-quick-assist{
margin:0 !important;
padding:24px !important;

background:#f1f5f9 !important;
border:1px solid #e2e8f0 !important;
border-radius:14px !important;
}

header.hero .hero-lower .mobile-quick-head{
margin-bottom:16px !important;
}

header.hero .hero-lower .mobile-quick-head strong{
font-size:1rem !important;
}

header.hero .hero-lower .mobile-quick-grid{
display:grid !important;
grid-template-columns:repeat(6,minmax(0,1fr)) !important;
gap:12px !important;
}

header.hero .hero-lower .mobile-quick-grid a{
display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;

min-height:92px !important;
padding:14px 8px !important;

background:#fff !important;
border:1px solid #e2e8f0 !important;
border-radius:12px !important;

text-align:center !important;
text-decoration:none !important;

box-shadow:0 2px 6px rgba(15,23,42,.04) !important;

transition:
transform .18s ease,
border-color .18s ease,
box-shadow .18s ease !important;
}

header.hero .hero-lower .mobile-quick-grid a:hover{
transform:translateY(-2px) !important;
border-color:#dc2626 !important;
box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
}

header.hero .hero-lower .mobile-quick-grid a span{
font-size:1.5rem !important;
line-height:1 !important;
}

header.hero .hero-lower .mobile-quick-grid a strong{
font-size:.76rem !important;
line-height:1.2 !important;
font-weight:850 !important;
color:#0f172a !important;
text-decoration:none !important;
}

}

/* =========================================================
HOMEPAGE V113 - DESKTOP SECTION ORDER
Move Our Work above Our Towing Equipment.
Mobile HTML/order remains unchanged.
========================================================= */

@media(min-width:769px){

main{
display:flex !important;
flex-direction:column !important;
}

main > #homesvc{
order:1 !important;
}

main > #work{
order:2 !important;
}

main > #fleet{
order:3 !important;
}

main > #about{
order:4 !important;
}

main > .service-area-sec{
order:5 !important;
}

main > #reviews{
order:6 !important;
}

main > .cta{
order:7 !important;
}

main > #faq{
order:8 !important;
}

main > #contact{
order:9 !important;
}

}

/* =========================================================
HOMEPAGE V114 - FINAL DESKTOP SECTION ORDER
Mobile order remains unchanged.
========================================================= */

@media(min-width:769px){

main{
display:flex !important;
flex-direction:column !important;
}

main > #homesvc{
order:1 !important;
}

main > #work{
order:2 !important;
}

main > #process{
order:3 !important;
}

main > #fleet{
order:4 !important;
}

main > #about{
order:5 !important;
}

main > .service-area-sec{
order:6 !important;
}

main > #reviews{
order:7 !important;
}

main > .cta{
order:8 !important;
}

main > #faq{
order:9 !important;
}

main > #contact{
order:10 !important;
}

}

/* =========================================================
HOMEPAGE V115 - COMPACT 2-COLUMN DESKTOP FAQ
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

#faq .wrap{
max-width:1180px !important;
}

/* Two-column accordion layout */
#faq .faq-list{
display:grid !important;
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
gap:12px 14px !important;
align-items:start !important;
}

/* More compact closed rows */
#faq .faq-item{
margin:0 !important;
border-radius:10px !important;
}

#faq .faq-item summary{
min-height:56px !important;
padding:13px 16px !important;
display:flex !important;
align-items:center !important;
font-size:.9rem !important;
line-height:1.3 !important;
}

/* Expanded answer stays inside its own column */
#faq .faq-item p{
padding:0 16px 16px !important;
font-size:.9rem !important;
line-height:1.55 !important;
}

/* Keep final call button centered across both columns */
#faq .wrap > p:last-child{
grid-column:1 / -1 !important;
text-align:center !important;
margin-top:22px !important;
}

}

/* =========================================================
HOMEPAGE V116 - DESKTOP HOW IT WORKS MATCHES MOBILE STYLE
Desktop only. Mobile remains unchanged.
========================================================= */

@media(min-width:769px){

#process{
background:#f8fafc !important;
padding:64px 0 !important;
}

#process .wrap{
max-width:1180px !important;
}

#process .eyebrow,
#process > .wrap > h2,
#process > .wrap > .lead{
text-align:center !important;
}

#process > .wrap > .lead{
max-width:720px !important;
margin-left:auto !important;
margin-right:auto !important;
}

#process .proc-grid{
display:grid !important;
grid-template-columns:repeat(5,minmax(0,1fr)) !important;
gap:14px !important;
margin:32px 0 0 !important;
padding:0 !important;
list-style:none !important;
}

#process .proc-step{
position:relative !important;
min-height:205px !important;
padding:54px 18px 20px !important;
background:#fff !important;
border:1px solid #dbe3ec !important;
border-radius:15px !important;
box-shadow:0 3px 10px rgba(15,23,42,.05) !important;
text-align:left !important;
}

#process .proc-step .proc-num{
position:absolute !important;
top:16px !important;
left:18px !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:32px !important;
height:32px !important;
margin:0 !important;
border-radius:9px !important;
background:#dc2626 !important;
color:#fff !important;
font-size:.85rem !important;
font-weight:900 !important;
box-shadow:none !important;
}

#process .proc-step h3{
margin:0 0 9px !important;
font-size:1rem !important;
line-height:1.3 !important;
font-weight:800 !important;
color:#0f172a !important;
}

#process .proc-step p{
margin:0 !important;
font-size:.88rem !important;
line-height:1.55 !important;
color:#64748b !important;
}

#process > .wrap > p:last-child{
margin:26px 0 0 !important;
text-align:center !important;
}

#process > .wrap > p:last-child .btn{
display:inline-flex !important;
width:auto !important;
min-width:220px !important;
min-height:50px !important;
align-items:center !important;
justify-content:center !important;
border-radius:9px !important;
}

}
