/* Shared site styles for Xpress Auto Transport service pages */
:root{
  --navy:#00285B; --navy-deep:#001A3D; --navy-soft:#0F3A75;
  --green:#5DB91F; --green-bright:#6FCD2A; --green-deep:#3D7C14;
  --ink:#0B1322; --body:#3A4858; --muted:#566273;
  --line:#E2E8F0; --bg:#FFFFFF; --bg-soft:#F6F8FB;
  --shadow-sm: 0 1px 2px rgba(0,40,91,.06), 0 1px 3px rgba(0,40,91,.04);
  --shadow-md: 0 4px 14px rgba(0,40,91,.08), 0 2px 6px rgba(0,40,91,.05);
  --shadow-lg: 0 20px 50px rgba(0,40,91,.18), 0 8px 20px rgba(0,40,91,.08);
  --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:hidden}
body{
  margin:0; font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--body); background:var(--bg); line-height:1.7;
  -webkit-font-smoothing:antialiased; font-size:17.5px;
  overflow-x:hidden;
  width:100%;
  max-width:100vw;
}
/* Prevent ANY element from busting horizontal layout on mobile */
img, video, iframe{max-width:100%; height:auto}
table{max-width:100%; display:block; overflow-x:auto; -webkit-overflow-scrolling:touch}
@media (min-width:769px){
  table{display:table}
}
pre, code{max-width:100%; overflow-x:auto; word-wrap:break-word}
h1,h2,h3,h4{
  font-family:'Barlow Condensed','Inter',sans-serif; color:var(--ink);
  letter-spacing:-.01em; line-height:1.15; margin:0 0 .5em; font-weight:800;
}
h1{font-size:clamp(2.2rem,4.5vw,3.6rem); text-transform:uppercase}
h2{font-size:clamp(1.8rem,3.2vw,2.4rem); text-transform:uppercase}
h3{font-size:1.35rem; font-weight:700}
p{margin:0 0 1.1em}
a{color:var(--navy); text-decoration:none}
a:hover{color:var(--green-deep)}
.wrap{max-width:1220px; margin:0 auto; padding:0 24px}

/* Top utility bar */
.topbar{background:var(--navy-deep); color:#fff; font-size:.9rem; padding:9px 0}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap}
.topbar a{color:#fff}
.topbar .left{display:flex; gap:22px; align-items:center; flex-wrap:wrap}
.topbar .left span{display:inline-flex; gap:7px; align-items:center}
.topbar .left svg{width:14px;height:14px;stroke:var(--green-bright)}
.topbar .right{display:flex; gap:20px; align-items:center}
.topbar .right a{display:inline-flex; gap:6px; align-items:center; font-weight:600}

/* Header */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(10px);
  -webkit-backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(0,40,91,.08);
  box-shadow:0 2px 14px rgba(0,40,91,.06);
}
/* Green accent strip at top */
header.site::before{
  content:""; display:block; height:3px;
  background:linear-gradient(90deg, var(--navy) 0%, var(--green) 50%, var(--navy) 100%);
}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px; gap:18px; position:relative; flex-wrap:nowrap}
.logo{display:flex; align-items:center; flex-shrink:0; transition:transform .15s}
.logo:hover{transform:translateY(-1px)}
.logo img{height:64px; width:auto; display:block; max-width:none}
@media (max-width:1280px){
  .logo img{height:58px}
}
@media (max-width:1024px){
  .logo img{height:52px}
}
@media (max-width:768px){
  .logo img{height:48px}
}
@media (max-width:480px){
  .logo img{height:42px}
}
header.site .wrap{min-height:auto}

/* Hero text - force white on dark backgrounds */
section.hero h1, .hero h1{color:#fff !important}
section.hero h2, .hero h2{color:#fff !important}
section.hero p, .hero p{color:#fff}
section.hero .accent, .hero .accent{color:var(--green-bright) !important}
.page-hero h1{color:#fff !important}
.page-hero p, .page-hero .lead{color:#fff}
.svc-hero h1{color:#fff !important}

/* Primary nav with animated underlines */
nav.primary{display:flex; gap:6px; align-items:center; flex-wrap:nowrap}
nav.primary > a, nav.primary > .has-mega > a{
  color:var(--navy); font-weight:600; font-size:.95rem;
  padding:10px 14px; white-space:nowrap; position:relative;
  border-radius:8px; transition:all .2s ease;
  display:inline-flex; align-items:center; gap:6px;
}
nav.primary > a::after, nav.primary > .has-mega > a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px;
  height:2.5px; background:var(--green-deep); border-radius:2px;
  transform:scaleX(0); transform-origin:left center;
  transition:transform .25s ease;
}
nav.primary > a:hover, nav.primary > .has-mega > a:hover{color:var(--navy); background:rgba(0,40,91,.04)}
nav.primary > a:hover::after, nav.primary > .has-mega > a:hover::after,
nav.primary > .has-mega:hover > a::after{transform:scaleX(1)}
.header-cta{display:flex; gap:12px; align-items:center; flex-shrink:0; flex-wrap:nowrap}
.header-cta .phone-cta{white-space:nowrap; font-size:1rem}

/* Mega menu */
.has-mega{position:static}
.has-mega > a::after{
  content:''; display:inline-block; width:6px; height:6px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); margin-left:6px; vertical-align:2px;
  transition:transform .2s ease;
}
.has-mega:hover > a::after{transform:rotate(225deg); vertical-align:-2px}
.mega-menu{
  position:absolute; left:0; right:0; top:100%;
  background:#fff; border-top:3px solid var(--green);
  box-shadow:0 16px 40px rgba(0,26,61,.18);
  padding:32px 0 28px; opacity:0; visibility:hidden;
  transform:translateY(-8px); transition:all .22s ease;
  z-index:90;
}
.has-mega:hover .mega-menu, .has-mega:focus-within .mega-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.mega-menu .wrap{
  max-width:1440px;
  display:grid; grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:8px 28px;
  align-items:stretch;
}
@media (max-width:1440px){
  .mega-menu .wrap{max-width:100%; padding:0 30px}
}
@media (max-width:1280px){
  .mega-menu .wrap{grid-template-columns:repeat(3, minmax(0, 1fr)); gap:28px 28px}
}
.mega-col{
  display:grid;
  grid-template-rows:auto 1fr;
  min-width:0;
}
.mega-col h5{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1rem;
  text-transform:uppercase; letter-spacing:.07em;
  color:var(--navy); margin:0 0 18px;
  padding-bottom:10px;
  border-bottom:2.5px solid var(--green);
  font-weight:800;
  line-height:1.2;
  height:38px;
  display:flex; align-items:flex-start;
  white-space:nowrap;
}
.mega-col ul{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:4px;
}
.mega-col li{margin:0}
.mega-col li a{
  color:var(--ink); font-weight:500; font-size:.92rem;
  display:block; padding:7px 0; line-height:1.3;
  transition:color .15s, padding-left .15s;
}
.mega-col li a:hover{color:var(--green-deep); padding-left:5px}
/* Phone links in body content */
.phone-link{color:var(--navy); font-weight:700; text-decoration:none; border-bottom:2px solid var(--green); transition:all .15s}
.phone-link:hover{color:var(--green-deep); border-bottom-color:var(--green-deep)}
/* Mobile services list - hidden on desktop, shown inside mobile menu only */
.mobile-services-list{display:none}
.header-cta{display:flex; gap:12px; align-items:center}
.phone-cta{
  display:inline-flex; align-items:center; gap:10px;
  color:var(--navy); font-weight:700; font-size:1.05rem;
  padding:10px 18px; border-radius:999px;
  background:rgba(93,185,31,.08);
  border:1.5px solid rgba(93,185,31,.25);
  text-decoration:none;
  transition:all .2s ease;
  white-space:nowrap;
}
.phone-cta:hover{
  background:rgba(93,185,31,.15);
  border-color:var(--green);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(61,124,20,.18);
}
.phone-cta svg{width:18px; height:18px; stroke:var(--green-deep); flex-shrink:0}
.header-cta .btn-primary{
  padding:13px 24px; font-size:.95rem;
  box-shadow:0 4px 14px rgba(61,124,20,.4);
  letter-spacing:.05em;
}
.header-cta .btn-primary:hover{
  box-shadow:0 8px 22px rgba(61,124,20,.45);
  transform:translateY(-2px);
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 24px; border-radius:var(--radius); font-weight:700; font-size:1rem;
  cursor:pointer; border:0; transition:transform .12s, box-shadow .15s, background .15s;
  text-transform:uppercase; letter-spacing:.03em; font-family:'Inter',sans-serif;
}
.btn-primary{background:var(--green-deep); color:#fff; box-shadow:0 4px 14px rgba(61,124,20,.35)}
.btn-primary:hover{background:#2D5F0E; transform:translateY(-1px); color:#fff}
.btn-outline{background:transparent; color:var(--navy); border:2px solid var(--navy)}
.btn-outline:hover{background:var(--navy); color:#fff}
.btn-lg{padding:17px 30px; font-size:1.05rem}
.menu-toggle{display:none; background:none; border:0; cursor:pointer; padding:6px}
.menu-toggle svg{width:30px;height:30px;stroke:var(--navy)}
.mobile-close{display:none}

/* Service Hero */
.svc-hero{
  position:relative;
  background:linear-gradient(135deg, rgba(0,26,61,.94) 0%, rgba(0,40,91,.86) 55%, rgba(15,58,117,.82) 100%), url('../assets/hero.jpg') center/cover no-repeat;
  color:#fff; padding:80px 0 90px; overflow:hidden;
}
.svc-hero::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(800px 400px at 80% 10%, rgba(93,185,31,.16), transparent 65%);
  pointer-events:none;
}
.svc-hero .wrap{position:relative; z-index:2; max-width:920px}
.svc-hero .breadcrumbs{
  font-size:.9rem; color:#fff; margin-bottom:18px;
  display:flex; gap:8px; flex-wrap:wrap; align-items:center;
}
.svc-hero .breadcrumbs a{color:#fff; opacity:.8}
.svc-hero .breadcrumbs a:hover{opacity:1; color:var(--green-bright)}
.svc-hero .breadcrumbs .sep{opacity:.5}
.svc-hero h1{color:#fff; margin-bottom:.4em}
.svc-hero .accent{color:var(--green-bright)}
.svc-hero p.lead{font-size:1.2rem; color:#fff; max-width:740px; margin:0 0 28px; line-height:1.6}
.svc-hero .actions{display:flex; gap:14px; flex-wrap:wrap}
.svc-hero .actions .btn-outline{color:#fff; border-color:#fff}
.svc-hero .actions .btn-outline:hover{background:#fff; color:var(--navy)}

/* Content area */
.svc-content{padding:72px 0}
.svc-content .wrap{max-width:1100px; display:grid; grid-template-columns:1fr 320px; gap:56px}
.svc-main h2{color:var(--navy); margin-top:1.5em; margin-bottom:.5em}
.svc-main h2:first-child{margin-top:0}
.svc-main h3{color:var(--navy); font-size:1.4rem; margin-top:1.4em; font-family:'Inter',sans-serif; text-transform:none; letter-spacing:0}
.svc-main p{font-size:1.05rem}
.svc-main ul{margin:0 0 1.4em; padding-left:0; list-style:none}
.svc-main ul li{
  padding:8px 0 8px 30px; position:relative; font-size:1.02rem;
}
.svc-main ul li::before{
  content:""; position:absolute; left:0; top:14px;
  width:18px; height:18px; border-radius:50%;
  background:rgba(93,185,31,.15);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A9618' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:12px; background-position:center; background-repeat:no-repeat;
}
.svc-main blockquote{
  margin:1.6em 0; padding:20px 24px;
  background:var(--bg-soft); border-left:4px solid var(--green);
  border-radius:0 10px 10px 0;
  font-size:1.05rem; color:var(--ink); font-style:italic;
}
.svc-main strong{color:var(--ink)}
.svc-main a{color:var(--green-deep); font-weight:600; border-bottom:1px solid rgba(74,150,24,.3)}
.svc-main a:hover{color:var(--navy); border-bottom-color:var(--navy)}

/* Sidebar */
.svc-sidebar{position:sticky; top:120px; align-self:start}
.svc-sidebar .card{
  background:var(--bg-soft); border:1px solid var(--line);
  border-radius:14px; padding:28px 24px; margin-bottom:20px;
}
.svc-sidebar .card.cta{
  background:linear-gradient(135deg, var(--navy-deep), var(--navy));
  color:#fff; border:0;
}
.svc-sidebar .card.cta h3{color:#fff; margin-bottom:8px}
.svc-sidebar .card.cta p{color:#fff; font-size:.98rem; margin-bottom:18px}
.svc-sidebar .card.cta .btn{width:100%}
.svc-sidebar .card.cta .phone{
  display:block; text-align:center; margin-top:14px; color:#fff;
  font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:1.4rem;
}
.svc-sidebar h3{
  color:var(--navy); font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase; font-size:1.2rem; margin-bottom:14px;
}
.svc-sidebar ul{list-style:none; padding:0; margin:0}
.svc-sidebar ul li{padding:8px 0; border-bottom:1px solid var(--line)}
.svc-sidebar ul li:last-child{border-bottom:0}
.svc-sidebar ul a{color:var(--ink); font-size:.96rem; display:flex; align-items:center; gap:8px}
.svc-sidebar ul a:hover{color:var(--green-deep)}
.svc-sidebar ul a::before{content:"→"; color:var(--green); font-weight:700}

.svc-sidebar .badge-list{display:flex; flex-direction:column; gap:10px}
.svc-sidebar .badge-item{
  display:flex; align-items:center; gap:10px;
  font-size:.94rem; color:var(--body); font-weight:600;
}
.svc-sidebar .badge-item svg{
  width:22px; height:22px; color:var(--green-deep); flex-shrink:0;
}

/* FAQ on service pages */
.svc-faq{background:var(--bg-soft); padding:72px 0}
.svc-faq .wrap{max-width:880px}
.svc-faq h2{color:var(--navy); text-align:center; margin-bottom:14px}
.svc-faq > .wrap > p{text-align:center; color:var(--muted); margin-bottom:40px; font-size:1.08rem}
details.faq-item{
  background:#fff; border:1px solid var(--line); border-radius:10px;
  margin-bottom:14px; transition:border-color .15s;
}
details.faq-item[open]{border-color:var(--green)}
details.faq-item summary{
  list-style:none; cursor:pointer; padding:22px 26px;
  font-weight:700; color:var(--ink); font-size:1.08rem;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{
  content:""; width:13px; height:13px;
  border-right:2.5px solid var(--navy); border-bottom:2.5px solid var(--navy);
  transform:rotate(45deg); transition:transform .2s; flex-shrink:0;
}
details.faq-item[open] summary::after{transform:rotate(-135deg); border-color:var(--green-deep)}
details.faq-item .answer{padding:0 26px 24px; color:var(--body); font-size:1.02rem}

/* Related Services strip */
.related{padding:72px 0}
.related h2{text-align:center; color:var(--navy); margin-bottom:14px}
.related > .wrap > p{text-align:center; color:var(--muted); margin-bottom:40px; font-size:1.08rem}
.related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.related-card{
  background:#fff; border:1px solid var(--line); border-radius:12px;
  padding:24px 22px; display:flex; gap:16px; align-items:flex-start;
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.related-card:hover{transform:translateY(-3px); border-color:var(--green); box-shadow:var(--shadow-md)}
.related-card .ric{
  width:44px; height:44px; border-radius:10px; background:#E8F0F8;
  flex-shrink:0; color:var(--navy);
  display:flex; align-items:center; justify-content:center;
}
.related-card .ric svg{width:24px; height:24px}
.related-card strong{display:block; color:var(--ink); font-size:1.02rem; margin-bottom:2px}
.related-card span{color:var(--muted); font-size:.9rem}

/* Final CTA */
.svc-cta{
  background:linear-gradient(135deg, var(--navy-deep), var(--navy));
  color:#fff; padding:64px 0; text-align:center;
  position:relative; overflow:hidden;
}
.svc-cta::before{
  content:""; position:absolute; right:-100px; top:-100px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(93,185,31,.22), transparent 70%);
}
.svc-cta .wrap{position:relative; z-index:1}
.svc-cta h2{color:#fff; margin-bottom:12px}
.svc-cta p{color:#fff; font-size:1.15rem; margin-bottom:24px}
.svc-cta .actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}
.svc-cta .btn-outline{color:#fff; border-color:#fff}
.svc-cta .btn-outline:hover{background:#fff; color:var(--navy)}

/* Footer */
footer{background:var(--navy-deep); color:#fff; padding:72px 0 0}
footer .grid{display:grid; grid-template-columns:1.8fr 1fr 1fr 1.1fr 1.4fr; gap:36px; padding-bottom:52px}
footer h4{color:#fff; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-size:1.15rem; letter-spacing:.06em; margin-bottom:18px}
footer .logo-foot{display:inline-block; margin-bottom:20px}
footer .logo-foot img{height:54px; display:block; width:auto}
/* Footer logo size fallback - catches inline-style footers across all 260 pages */
footer a[href="/"] img{max-height:54px; width:auto; display:block}
@media (max-width:768px){
  footer a[href="/"] img{max-height:48px}
  footer .logo-foot img{height:48px}
}
footer p, footer a{color:#fff; font-size:.98rem}
footer a:hover{color:var(--green-bright)}
/* Override .phone-link styling inside footer (was dark navy, now white) */
footer .phone-link{color:#fff !important; border-bottom-color:var(--green-bright) !important}
footer .phone-link:hover{color:var(--green-bright) !important}
/* Override .contact-line global styles (which set dark navy/body text) inside footer */
footer .contact-line{color:#fff !important; font-size:.98rem}
footer .contact-line a{color:#fff !important; text-decoration:none}
footer .contact-line a:hover{color:var(--green-bright) !important}
footer .contact-line span{color:#fff}
footer ul{list-style:none; padding:0; margin:0}
footer ul li{margin-bottom:10px}
footer .footer-locations{
  display:flex; flex-direction:column; gap:0;
}
footer .footer-locations li{margin-bottom:10px}
footer .footer-locations li:last-child{margin-top:6px}
footer .contact-line{display:flex; gap:11px; margin-bottom:12px; align-items:flex-start}
footer .contact-line svg{width:18px; height:18px; stroke:var(--green-bright); flex-shrink:0; margin-top:2px}
.legal{border-top:1px solid rgba(255,255,255,.15); padding:24px 0; font-size:.9rem; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}
.legal span{color:#fff}
.legal .links{display:flex; gap:22px}

/* Responsive */
@media (max-width:1100px){
  body{font-size:16.5px}
  .svc-content .wrap{grid-template-columns:1fr; gap:40px}
  .svc-sidebar{position:static}
  .related-grid{grid-template-columns:1fr}
  footer .grid{grid-template-columns:1fr 1fr; gap:36px}
  footer .grid > div:first-child{grid-column:1 / -1}
  nav.primary, .header-cta .btn-outline{display:none}
  .header-cta{gap:8px}
  .header-cta .phone-cta{
    display:inline-flex; gap:6px; align-items:center;
    font-size:.95rem; font-weight:700; color:var(--navy);
    padding:9px 16px; border-radius:999px;
    background:rgba(93,185,31,.08); border:1.5px solid rgba(93,185,31,.3);
  }
  .header-cta .phone-cta svg{width:16px; height:16px; stroke:var(--green-deep)}
  .header-cta .btn-primary{padding:11px 18px; font-size:.9rem}
  .menu-toggle{display:block; background:none; border:0; cursor:pointer; padding:8px; border-radius:6px; position:relative; z-index:201}
  .menu-toggle:hover{background:rgba(0,40,91,.06)}
  .menu-toggle svg{width:28px; height:28px; stroke:var(--navy)}
  /* Remove backdrop-filter on mobile - it creates stacking context that traps fixed menu */
  header.site{backdrop-filter:none; -webkit-backdrop-filter:none; background:#fff}
  nav.primary.open{
    display:flex; position:fixed; top:0; left:0; right:0; bottom:0;
    background:#fff; flex-direction:column; align-items:stretch;
    padding:24px 22px 32px; gap:0;
    box-shadow:var(--shadow-lg);
    overflow-y:auto; z-index:9999;
    width:100vw; max-width:100%;
  }
  nav.primary.open::before{
    content:'Menu'; display:block;
    font-family:'Barlow Condensed', sans-serif; font-size:1.3rem;
    text-transform:uppercase; color:var(--navy); font-weight:800;
    padding-bottom:14px; margin-bottom:16px;
    border-bottom:2px solid var(--green); letter-spacing:.05em;
  }
  nav.primary.open > a{
    display:block; padding:14px 4px; font-size:1.05rem; font-weight:600;
    color:var(--ink); border-bottom:1px solid var(--line);
    text-transform:none; width:100%;
  }
  nav.primary.open > a:hover{color:var(--green-deep)}
  nav.primary.open .has-mega{width:100%; border-bottom:1px solid var(--line)}
  nav.primary.open .has-mega > a{
    display:block; padding:14px 4px; font-size:1.05rem; font-weight:600;
    color:var(--ink); cursor:pointer;
  }
  nav.primary.open .has-mega > a::after{
    content:''; display:inline-block; float:right; margin-top:7px;
    width:8px; height:8px; border-right:2px solid var(--navy); border-bottom:2px solid var(--navy);
    transform:rotate(45deg); transition:transform .25s ease;
  }
  nav.primary.open .has-mega.expanded > a::after{transform:rotate(225deg); margin-top:11px}
  /* Hide the full mega menu on mobile, use curated mobile-services-list instead */
  nav.primary.open .mega-menu{display:none !important}
  nav.primary.open .mobile-services-list{
    display:none; list-style:none; padding:0; margin:0;
    max-height:0; overflow:hidden; transition:max-height .3s ease, padding .25s ease;
  }
  nav.primary.open .has-mega.expanded .mobile-services-list{
    display:block; max-height:1200px; padding:6px 0 14px;
  }
  nav.primary.open .mobile-services-list li{margin:0; list-style:none}
  nav.primary.open .mobile-services-list li a{
    display:block; padding:11px 0 11px 16px; font-size:.95rem;
    color:var(--body); border-left:2px solid transparent;
    transition:all .15s; line-height:1.3; white-space:normal;
    text-decoration:none; font-weight:500;
  }
  nav.primary.open .mobile-services-list li a:hover{
    color:var(--green-deep); border-left-color:var(--green); padding-left:18px;
  }
  nav.primary.open .mobile-services-list li.view-all{
    margin-top:8px; padding-top:8px; border-top:1px solid var(--line);
  }
  nav.primary.open .mobile-services-list li.view-all a{
    color:var(--green-deep); font-weight:700; text-transform:uppercase;
    font-size:.85rem; letter-spacing:.04em;
  }
  nav.primary.open .mobile-close{
    display:flex; position:absolute; top:18px; right:18px;
    width:38px; height:38px; align-items:center; justify-content:center;
    background:var(--bg-soft); border:0; border-radius:50%; cursor:pointer;
    font-size:1.4rem; color:var(--navy); padding:0; line-height:1;
  }
  nav.primary.open .mobile-close:hover{background:var(--line)}
  .topbar .left span:nth-child(n+3){display:none}
  .svc-hero{padding:56px 0 64px}
}
@media (max-width:560px){
  footer .grid{grid-template-columns:1fr}
  h1{font-size:1.9rem; line-height:1.18}
  header.site .wrap{gap:10px; padding-top:10px; padding-bottom:10px}
  .header-cta{gap:8px}
  .header-cta .btn-primary{display:none}
  .header-cta .phone-cta{padding:7px 10px; font-size:.88rem}
  .header-cta .phone-cta svg{width:14px; height:14px}
  .service-hero{padding:48px 0 56px}
  .service-layout{padding:48px 0}
  .related-grid{grid-template-columns:1fr !important}
}


/* ==========================================
   CITY PAGE STYLES
   ========================================== */

/* City page hero */
.page-hero{
  background:linear-gradient(135deg, rgba(0,26,61,.94) 0%, rgba(0,40,91,.86) 55%, rgba(15,58,117,.82) 100%), url('../assets/hero.jpg') center/cover no-repeat;
  color:#fff; padding:60px 0 70px; position:relative;
}
.page-hero .container{max-width:1220px; margin:0 auto; padding:0 24px}
.page-hero h1{color:#fff; margin:14px 0 12px; font-size:clamp(2rem, 4vw, 3.2rem)}
.page-hero .hero-lead{color:#fff; font-size:1.15rem; line-height:1.6; max-width:880px; margin-bottom:24px}

/* Breadcrumbs */
.breadcrumbs{font-size:.92rem; color:#fff; margin-bottom:8px}
.breadcrumbs a{color:#fff; text-decoration:none; border-bottom:1px solid transparent; transition:border .15s; opacity:.9}
.breadcrumbs a:hover{border-bottom-color:#fff; opacity:1}

/* Local info bar (already has embedded styles, but override for hero context) */
.page-hero .local-info-bar{
  background:rgba(255,255,255,.1); border-left:4px solid var(--green);
  padding:18px 22px; margin:20px 0 24px; border-radius:6px;
  display:grid; gap:8px; backdrop-filter:blur(4px);
  color:#fff;
}
.page-hero .local-info-bar strong{color:#fff}
.page-hero .local-info-bar a{color:var(--green-bright); font-weight:600; text-decoration:none}
.page-hero .local-info-bar a:hover{color:#fff}

/* Hero CTA buttons */
.hero-cta-row{display:flex; flex-wrap:wrap; gap:14px; margin-top:8px}
.hero-cta-row .btn-primary, .hero-cta-row a.btn-primary{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--green-deep); color:#fff; padding:14px 26px; border-radius:8px;
  font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.95rem;
  text-decoration:none; transition:transform .12s, background .15s;
  box-shadow:0 6px 18px rgba(61,124,20,.4);
}
.hero-cta-row .btn-primary:hover, .hero-cta-row a.btn-primary:hover{
  background:#2D5F0E; transform:translateY(-1px); color:#fff;
}
.hero-cta-row .btn-secondary, .hero-cta-row a.btn-secondary{
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; color:var(--navy); padding:14px 26px; border-radius:8px;
  font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.95rem;
  text-decoration:none; transition:transform .12s, background .15s;
  border:2px solid #fff;
}
.hero-cta-row .btn-secondary:hover, .hero-cta-row a.btn-secondary:hover{
  background:transparent; color:#fff; transform:translateY(-1px);
}

/* Main content + sidebar grid */
main.container, main.content-wrap, main.container.content-wrap{
  max-width:1220px; margin:0 auto; padding:50px 24px 60px;
}
.content-grid{
  display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start;
}
.main-content{min-width:0}
.main-content h2{
  font-size:clamp(1.5rem, 2.6vw, 1.95rem); color:var(--ink);
  margin-top:2em; margin-bottom:.6em; padding-top:8px;
}
.main-content h2:first-child{margin-top:0}
.main-content h3{font-size:1.25rem; color:var(--navy); margin-top:1.6em; margin-bottom:.5em}
.main-content p{color:var(--body); line-height:1.75; margin-bottom:1.1em}
.main-content ul{padding-left:1.3em; margin-bottom:1.3em}
.main-content ul li{margin-bottom:.5em; line-height:1.65}
.main-content a{color:var(--navy); font-weight:600; text-decoration:underline; text-decoration-color:rgba(0,40,91,.3); transition:color .15s, text-decoration-color .15s}
.main-content a:hover{color:var(--green-deep); text-decoration-color:var(--green-deep)}

/* Sidebar */
.sidebar{display:flex; flex-direction:column; gap:20px; position:sticky; top:120px}
.sidebar-card{
  background:var(--bg-soft); border:1px solid var(--line);
  border-radius:var(--radius); padding:22px 22px 24px;
}
.sidebar-card h3, .sidebar-card h4{
  font-family:'Barlow Condensed',sans-serif; color:var(--navy);
  font-size:1.1rem; text-transform:uppercase; letter-spacing:.05em;
  margin:0 0 14px; padding-bottom:10px; border-bottom:2px solid var(--green);
}
.sidebar-card.cta-card{background:var(--navy); color:#fff; border-color:var(--navy)}
.sidebar-card.cta-card h3, .sidebar-card.cta-card h4{color:#fff}
.sidebar-card.cta-card p{color:#fff; margin-bottom:14px}
.sidebar-cta, .sidebar-cta-alt{
  display:block; text-align:center; padding:13px 18px; border-radius:8px;
  font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.9rem;
  text-decoration:none; transition:transform .12s, background .15s;
}
.sidebar-cta{background:var(--green-deep); color:#fff; box-shadow:0 4px 12px rgba(61,124,20,.3)}
.sidebar-cta:hover{background:#2D5F0E; color:#fff; transform:translateY(-1px)}
.sidebar-cta-alt{background:var(--navy); color:#fff; margin-top:10px}
.sidebar-cta-alt:hover{background:var(--navy-deep); color:#fff; transform:translateY(-1px)}

/* Contact line in sidebar */
.contact-line{display:flex; align-items:center; gap:10px; padding:8px 0; font-size:.95rem; color:var(--body)}
.contact-line strong{color:var(--navy)}
.contact-line a{color:var(--navy); text-decoration:none; font-weight:600}
.contact-line a:hover{color:var(--green-deep)}

/* Link list in sidebar */
.link-list, .links{list-style:none; padding:0; margin:0}
.link-list li, .links li{padding:6px 0; border-bottom:1px solid var(--line)}
.link-list li:last-child, .links li:last-child{border-bottom:0}
.link-list a, .links a{color:var(--ink); font-weight:500; font-size:.92rem; text-decoration:none; display:block; transition:color .15s, padding-left .15s}
.link-list a:hover, .links a:hover{color:var(--green-deep); padding-left:4px}

/* Check list */
.check-list{list-style:none; padding:0; margin:0 0 1.3em}
.check-list li{padding:6px 0 6px 28px; position:relative; line-height:1.55}
.check-list li::before{
  content:''; position:absolute; left:0; top:11px;
  width:16px; height:16px;
  background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* FAQ section */
.faq-section{background:var(--bg-soft); padding:60px 0; border-top:1px solid var(--line)}
.faq-section .container{max-width:900px; margin:0 auto; padding:0 24px}
.faq-section > .container > h2{
  font-size:clamp(1.8rem,3vw,2.2rem); margin-bottom:30px; text-align:center;
}
.faq-item{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:22px 26px; margin-bottom:14px; box-shadow:var(--shadow-sm);
}
.faq-item h3{
  font-size:1.1rem; color:var(--navy); margin:0 0 10px; font-weight:700;
}
.faq-item p{margin:0; color:var(--body); line-height:1.65}

/* Mobile responsive for city pages */
@media (max-width:1100px){
  .content-grid{grid-template-columns:1fr; gap:40px}
  .sidebar{position:static}
}
@media (max-width:768px){
  .page-hero{padding:40px 0 50px}
  main.container, main.content-wrap, main.container.content-wrap{padding:30px 20px 40px}
  .hero-cta-row{flex-direction:column}
  .hero-cta-row a{width:100%}
}

/* ==========================================
   LOCATIONS PAGE STYLES (already in <style>)
   ========================================== */

/* ========================================
   Social Proof Notification (bottom-left popup)
   ======================================== */
.social-proof{
  position:fixed; bottom:24px; left:24px;
  z-index:90;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--green-deep);
  border-radius:12px;
  box-shadow:0 12px 32px rgba(0,40,91,.18);
  padding:14px 44px 14px 56px;
  max-width:340px;
  font-size:.9rem;
  line-height:1.4;
  opacity:0; visibility:hidden;
  transform:translateY(20px);
  transition:opacity .35s ease, transform .35s ease, visibility .35s;
  pointer-events:none;
}
.social-proof.show{
  opacity:1; visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.social-proof .sp-icon{
  position:absolute; left:14px; top:50%;
  transform:translateY(-50%);
  width:32px; height:32px; border-radius:50%;
  background:rgba(93,185,31,.12);
  display:flex; align-items:center; justify-content:center;
}
.social-proof .sp-icon svg{
  width:18px; height:18px; stroke:var(--green-deep); fill:none;
  stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}
.social-proof .sp-text{
  color:var(--ink); font-weight:500;
}
.social-proof .sp-text strong{color:var(--navy); font-weight:700}
.social-proof .sp-route{
  display:block; color:var(--green-deep); font-weight:700;
  font-size:.92rem; margin-top:2px;
}
.social-proof .sp-time{
  display:block; color:var(--muted); font-size:.78rem;
  margin-top:3px;
}
.social-proof .sp-close{
  position:absolute; top:8px; right:8px;
  width:24px; height:24px; border:0; background:transparent;
  cursor:pointer; padding:0; border-radius:6px;
  color:var(--muted); font-size:18px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s, color .15s;
}
.social-proof .sp-close:hover{background:var(--bg-soft); color:var(--ink)}
@media (max-width:520px){
  .social-proof{
    left:12px; right:12px; bottom:12px; max-width:none;
    padding:12px 40px 12px 52px;
  }
  .social-proof .sp-icon{left:12px; width:28px; height:28px}
}

/* ========================================
   Mobile Sticky Action Bar (Call + Quote)
   Always visible at bottom of screen on mobile
   ======================================== */
.mobile-action-bar{
  display:none;
}
@media (max-width:768px){
  .mobile-action-bar{
    display:grid;
    grid-template-columns:1fr 1fr;
    position:fixed;
    left:0; right:0; bottom:0;
    z-index:85;
    background:#fff;
    box-shadow:0 -4px 18px rgba(0,40,91,.15);
    border-top:1px solid var(--line);
    padding:env(safe-area-inset-bottom, 0) 0 0 0;
    /* Start hidden below screen, slide up when .visible is added by JS */
    transform:translateY(100%);
    transition:transform .35s cubic-bezier(.2,.8,.2,1);
    pointer-events:none;
  }
  .mobile-action-bar.visible{
    transform:translateY(0);
    pointer-events:auto;
  }
  .mobile-action-bar a{
    display:flex; align-items:center; justify-content:center;
    gap:8px;
    padding:16px 12px;
    font-family:'Barlow Condensed', sans-serif;
    font-weight:800;
    font-size:1.05rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    text-decoration:none;
    transition:background .15s ease, transform .1s ease;
  }
  .mobile-action-bar a:active{transform:scale(.97)}
  .mobile-action-bar .mab-call{
    color:#fff;
    background:var(--navy);
    border-right:1px solid rgba(255,255,255,.12);
  }
  .mobile-action-bar .mab-call:hover{background:#001a3d}
  .mobile-action-bar .mab-quote{
    color:#fff;
    background:var(--green-deep);
  }
  .mobile-action-bar .mab-quote:hover{background:#2D5F0E}
  .mobile-action-bar svg{
    width:18px; height:18px;
    stroke:#fff; fill:none;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex-shrink:0;
  }
  /* Pad bottom only when bar is visible, so initial view isn't pushed up */
  body.mab-shown{padding-bottom:64px}
  /* Social-proof popup raises above the action bar when it's visible */
  body.mab-shown .social-proof{bottom:78px}
}

/* ========================================
   State page sidebar (.svc-side + .side-card)
   ======================================== */
.svc-side{position:sticky; top:120px; align-self:start}
.side-card{
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px 22px;
  margin-bottom:20px;
}
.side-card:first-child{
  background:linear-gradient(135deg, var(--navy-deep), var(--navy));
  color:#fff;
  border-color:var(--navy);
}
.side-card:first-child h3{color:#fff; margin:0 0 10px; font-size:1.25rem}
.side-card:first-child p{color:#fff; font-size:.98rem; margin-bottom:18px; line-height:1.55}
.side-card:first-child small{
  display:block; color:#fff;
  opacity:.85; font-size:.85rem;
  margin-top:10px; text-align:center;
}
.side-card h3{
  color:var(--navy);
  font-family:'Barlow Condensed', sans-serif;
  font-weight:800; text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.2rem;
  margin:0 0 14px;
  line-height:1.25;
}
.side-card .btn-block{
  display:block !important;
  width:100%;
  text-align:center;
  margin:0 0 12px;
  padding:14px 20px;
  font-size:1rem;
}
.side-card .phone-side{
  display:block;
  text-align:center;
  color:#fff !important;
  font-weight:800;
  font-size:1.15rem;
  font-family:'Barlow Condensed', sans-serif;
  letter-spacing:.04em;
  padding:10px 0;
  text-decoration:none;
  border:2px solid rgba(255,255,255,.4);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  transition:background .15s ease, border-color .15s;
}
.side-card .phone-side:hover{
  background:rgba(255,255,255,.18);
  border-color:#fff;
}
.side-list{list-style:none; padding:0; margin:0}
.side-list li{
  padding:8px 0;
  color:var(--body);
  font-size:.95rem;
  border-bottom:1px solid var(--line);
  line-height:1.4;
}
.side-list li:last-child{border-bottom:0}

@media (max-width:1024px){
  .svc-side{position:static}
}
@media (max-width:768px){
  .svc-content .wrap{grid-template-columns:1fr; gap:40px}
}

/* ========================================
   Services Index Page (/service/)
   ======================================== */
.services-category{padding:48px 0; background:#fff}
.services-category:nth-child(even){background:var(--bg-soft)}
.services-cat-header{text-align:center; max-width:760px; margin:0 auto 40px}
.services-cat-header h2{
  color:var(--navy);
  font-family:'Barlow Condensed', sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:clamp(1.7rem, 3vw, 2.3rem);
  margin:0 0 12px;
  position:relative;
  padding-bottom:14px;
}
.services-cat-header h2::after{
  content:""; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:60px; height:3px; background:var(--green); border-radius:2px;
}
.services-cat-header p{
  font-size:1.05rem; color:var(--muted); line-height:1.6;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(290px, 1fr));
  gap:20px;
  max-width:1200px;
  margin:0 auto;
}
.service-card{
  display:flex; flex-direction:column;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px 22px 18px;
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s;
  position:relative;
  overflow:hidden;
}
.service-card::before{
  content:""; position:absolute; top:0; left:0; right:0;
  height:3px; background:var(--green);
  transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.service-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
  border-color:var(--green-bright);
}
.service-card:hover::before{transform:scaleX(1)}
.service-card h3{
  color:var(--navy);
  font-family:'Barlow Condensed', sans-serif;
  font-weight:800;
  text-transform:uppercase;
  font-size:1.15rem;
  letter-spacing:.03em;
  margin:0 0 10px;
  line-height:1.25;
}
.service-card p{
  font-size:.95rem;
  color:var(--body);
  line-height:1.55;
  margin:0 0 14px;
  flex-grow:1;
}
.service-card .service-link{
  color:var(--green-deep);
  font-weight:700;
  font-size:.92rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-family:'Barlow Condensed', sans-serif;
}
.service-card:hover .service-link{color:var(--navy)}

@media (max-width:768px){
  .services-category{padding:36px 0}
  .services-cat-header{margin-bottom:28px}
  .services-grid{grid-template-columns:1fr; gap:14px}
  .service-card{padding:18px}
}

/* ========================================
   City Page: Local Office Info Card
   (Replaces old in-hero local-info-bar)
   ======================================== */
.local-office-section{
  padding:28px 0 32px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.local-office-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow-sm);
  padding:22px 22px;
  position:relative;
  overflow:hidden;
}
.local-office-card::before{
  content:""; position:absolute; top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg, var(--navy) 0%, var(--green) 50%, var(--navy) 100%);
}
.loc-card-header{text-align:center; margin-bottom:20px}
.loc-card-header h2{
  color:var(--navy);
  font-family:'Barlow Condensed', sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.3rem !important;
  margin:0 0 6px !important;
  line-height:1.2;
}
.loc-card-subtitle{
  color:var(--muted);
  font-size:.88rem;
  margin:0;
  line-height:1.45;
}
.loc-card-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}
.loc-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  background:var(--bg-soft);
  border-radius:8px;
  border:1px solid var(--line);
  transition:border-color .15s, transform .15s;
}
.loc-item:hover{
  border-color:var(--green-bright);
  transform:translateY(-1px);
}
.loc-icon{
  flex-shrink:0;
  width:26px; height:26px;
  border-radius:6px;
  background:linear-gradient(135deg, var(--navy), var(--navy-soft));
  display:flex; align-items:center; justify-content:center;
  color:#fff;
}
.loc-icon svg{width:13px; height:13px; stroke:#fff; stroke-width:2.2}
.loc-content{flex:1; min-width:0}
.loc-label{
  font-family:'Barlow Condensed', sans-serif;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
  margin-bottom:2px;
}
.loc-value{
  color:var(--ink);
  font-weight:600;
  font-size:.9rem;
  line-height:1.4;
  margin-bottom:4px;
  word-wrap:break-word;
}
.loc-value .loc-phone{
  color:var(--navy);
  text-decoration:none;
  border-bottom:2px solid var(--green);
  transition:color .15s;
}
.loc-value .loc-phone:hover{color:var(--green-deep)}
.loc-link{
  display:inline-block;
  color:var(--green-deep);
  font-weight:700;
  font-size:.78rem;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-family:'Barlow Condensed', sans-serif;
}
.loc-link:hover{color:var(--navy)}

@media (max-width:900px){
  .loc-card-grid{grid-template-columns:1fr; gap:10px}
  .local-office-card{padding:18px 14px}
  .local-office-section{padding:22px 0 26px}
  .loc-card-header h2{font-size:1.15rem !important}
  .loc-card-subtitle{font-size:.85rem}
  .loc-card-header{margin-bottom:16px}
  .loc-item{padding:10px}
  .loc-icon{width:28px; height:28px; border-radius:8px}
  .loc-icon svg{width:14px; height:14px}
}

/* Hide the old local-info-bar from page-hero (now empty after relocation) */
.page-hero .local-info-bar{display:none !important}
