
:root{--brand-red:#c12634;--brand-green:#007e60;--brand-green-dark:#006a52;--brand-navy:#072d74;--brand-navy-dark:#051f55;--logo-dark:#252525;--heading-dark:#0c141f;--teal-accent:#62c2be;--bg-mint-light:#f4fbf9;--bg-mint-medium:#e6f6f3;--text-body:#444;--text-muted:#666;--border:#e1e8eb}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-size:1rem;line-height:1.5;color:var(--text-body);background:#fff;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-navy);text-decoration:none;transition:color .2s}
a:hover{color:var(--brand-green)}
h1,h2,h3,h4{margin-block-start:.5rem;margin-block-end:1rem;font-family:inherit;line-height:1.2;color:var(--heading-dark);font-weight:700}
h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}
p{margin:0 0 1em}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;font-weight:600;font-size:.9375rem;border-radius:6px;transition:all .2s;text-decoration:none;border:none;cursor:pointer;white-space:nowrap;font-family:inherit}
.btn-green{background:var(--brand-green);color:#fff}
.btn-green:hover{background:var(--brand-green-dark);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,126,96,.25)}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:var(--brand-navy)}

.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1280px;margin:0 auto;gap:24px}
.logo img{height:44px;width:auto}
.main-nav{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.main-nav > li{position:relative}
.main-nav > li > a, .main-nav > li > span{display:block;padding:10px 14px;color:var(--logo-dark);font-weight:500;font-size:.9375rem;cursor:pointer;transition:color .2s}
.main-nav > li:hover > a, .main-nav > li:hover > span{color:var(--brand-green)}
.main-nav .has-submenu > span::after{content:" ▾";font-size:.625rem;color:#999;margin-left:2px}
.mega-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border-radius:8px;box-shadow:0 12px 36px rgba(0,0,0,.12);padding:24px;min-width:680px;z-index:200;grid-template-columns:repeat(2,1fr);gap:20px}
.main-nav li:hover .mega-menu, .main-nav li:focus-within .mega-menu{display:grid}
.mega-col h4{font-size:.6875rem;font-weight:700;color:var(--brand-navy);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.mega-col ul{list-style:none;padding:0;margin:0}
.mega-col a{display:block;padding:7px 10px;color:var(--logo-dark);font-size:.875rem;border-radius:4px;font-weight:400}
.mega-col a:hover{background:var(--bg-mint-light);color:var(--brand-green)}
.simple-dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;border-radius:8px;box-shadow:0 12px 36px rgba(0,0,0,.12);padding:8px 0;min-width:220px;z-index:200;list-style:none;margin:0}
.main-nav li:hover .simple-dropdown, .main-nav li:focus-within .simple-dropdown{display:block}
.simple-dropdown a{display:block;padding:10px 18px;color:var(--logo-dark);font-size:.875rem}
.simple-dropdown a:hover{background:var(--bg-mint-light);color:var(--brand-green)}
.header-cta{display:flex;align-items:center;gap:12px}
.header-cta .phone-mini{color:var(--brand-green);font-weight:700;font-size:.875rem;white-space:nowrap}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.mobile-toggle span{display:block;width:24px;height:2px;background:var(--logo-dark);margin:5px 0;transition:.3s}

.hero{background:linear-gradient(135deg,var(--brand-navy) 0%,var(--brand-navy-dark) 100%);color:#fff;padding:80px 0 60px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle, rgba(0,126,96,.15) 0%, transparent 70%);pointer-events:none}
.hero h1{color:#fff;margin:0 0 14px;font-size:2.5rem}
.hero .lead{font-size:1.0625rem;color:#d4dff5;max-width:780px;margin:0 auto 24px;line-height:1.55}
.breadcrumb{font-size:.8125rem;color:#a8b8d4;margin-top:18px}
.breadcrumb a{color:var(--teal-accent)}

section{padding:88px 0}
section.alt{background:var(--bg-mint-light)}
.section-head{text-align:center;max-width:780px;margin:0 auto 40px}
.section-head h2{margin-bottom:12px}
.section-head p{color:var(--text-muted)}
.kicker{font-size:.6875rem;color:var(--brand-navy);font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;display:inline-block}

/* Location cards (5-grid) */
.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:1180px;margin:0 auto}
.location-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:0;overflow:hidden;transition:all .25s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.location-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.1);border-color:var(--brand-green)}
.location-card .card-header{padding:24px 24px 12px;border-top:4px solid var(--brand-green)}
.location-card:nth-child(2) .card-header{border-top-color:var(--brand-red)}
.location-card:nth-child(3) .card-header{border-top-color:var(--brand-navy)}
.location-card:nth-child(4) .card-header{border-top-color:var(--teal-accent)}
.location-card:nth-child(5) .card-header{border-top-color:var(--brand-green)}
.location-card .state-label{font-size:.6875rem;color:var(--brand-red);font-weight:700;letter-spacing:2px;margin-bottom:8px}
.location-card h3{color:var(--heading-dark);font-size:1.375rem;margin:0 0 8px}
.location-card .industries{font-size:.8125rem;color:var(--text-muted);margin:0 0 16px;padding:0 24px;line-height:1.5}
.location-card .description{padding:0 24px;font-size:.9375rem;color:var(--text-body);margin:0 0 16px;line-height:1.55;flex-grow:1}
.location-card .card-footer{padding:0 24px 24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--bg-mint-light);margin-top:auto;padding-top:16px}
.location-card .phone{color:var(--brand-green);font-weight:700;font-size:1.0625rem}
.location-card .arrow{color:var(--brand-green);font-weight:700;font-size:1.125rem;transition:transform .2s}
.location-card:hover .arrow{transform:translateX(4px)}

/* Coverage stats (4-grid) */
.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;max-width:1100px;margin:0 auto}
.coverage-stat{text-align:center;padding:24px}
.coverage-stat strong{display:block;font-size:2rem;color:var(--brand-green);font-weight:800;line-height:1;margin-bottom:8px}
.coverage-stat:nth-child(2) strong{color:var(--brand-red)}
.coverage-stat:nth-child(3) strong{color:var(--brand-navy)}
.coverage-stat:nth-child(4) strong{color:var(--teal-accent)}
.coverage-stat span{font-size:.875rem;color:var(--text-muted);font-weight:500;display:block}
.coverage-stat .label{font-weight:700;color:var(--heading-dark);font-size:1rem;margin-bottom:4px}

/* Services available */
.services-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;max-width:1100px;margin:0 auto}
.service-mini{background:#fff;border:1px solid var(--border);border-radius:10px;padding:24px;text-decoration:none;color:inherit;transition:all .2s}
.service-mini:hover{border-color:var(--brand-green);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.05)}
.service-mini h4{font-size:1.0625rem;color:var(--heading-dark);margin:0 0 8px}
.service-mini p{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.5}

/* CTA + footer (shared) */
.cta-strip{background:linear-gradient(135deg,var(--brand-navy) 0%,var(--brand-navy-dark) 100%);color:#fff;padding:56px 0;text-align:center;position:relative;overflow:hidden}
.cta-strip::before{content:"";position:absolute;top:-50px;left:-50px;width:200px;height:200px;background:radial-gradient(circle, rgba(193,38,52,.15) 0%, transparent 70%)}
.cta-strip h2{color:#fff;margin-bottom:8px}
.cta-strip p{color:#d4dff5;margin-bottom:24px}
.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative}

.site-footer{background:#0a1929;color:#a8b8c8;padding:56px 0 24px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;margin-bottom:32px}
.footer-col h3.footer-heading{color:#fff;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:8px;font-size:.875rem}
.footer-col a{color:#a8b8c8}
.footer-col a:hover{color:var(--brand-green)}
.footer-social{display:flex;gap:10px;margin-top:8px}
.footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.06);display:inline-flex;align-items:center;justify-content:center;font-size:.8125rem;color:#a8b8c8;font-weight:600}
.footer-social a:hover{background:var(--brand-green);color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8125rem}
.footer-bottom a{color:#a8b8c8}

@media (max-width:980px){
  .main-nav, .header-cta .phone-mini{display:none}
  .main-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:8px;gap:0;border-bottom:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.08);margin:0;max-height:calc(100vh - 80px);overflow-y:auto}
  .main-nav.open > li{width:100%}
  .main-nav.open > li > a, .main-nav.open > li > span{padding:14px 16px;border-bottom:1px solid var(--bg-mint-light)}
  .mega-menu, .simple-dropdown{position:static;display:none;transform:none;box-shadow:none;background:var(--bg-mint-light);padding:8px 16px;min-width:0;grid-template-columns:1fr;border-radius:0}
  .main-nav.open li.show-sub .mega-menu{display:grid;grid-template-columns:1fr}
  .main-nav.open li.show-sub .simple-dropdown{display:block}
  .mobile-toggle{display:block}
  .hero h1{font-size:2rem}
  h1{font-size:2rem}h2{font-size:1.625rem}h3{font-size:1.375rem}
  section{padding:64px 0}
}
@media (max-width:480px){
  .hero{padding:60px 0 44px}
  .hero h1{font-size:1.75rem}
  .container{padding:0 16px}
}

/* === Blog teasers === */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1100px;margin:0 auto}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px;transition:all .2s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.blog-card .category{font-size:.6875rem;color:var(--brand-navy);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}
.blog-card h3{font-size:1.0625rem;color:var(--heading-dark);margin:0 0 12px;line-height:1.35}
.blog-card h3 a{color:inherit;text-decoration:none}
.blog-card h3 a:hover{color:var(--brand-green)}
.blog-card p{font-size:.875rem;color:var(--text-muted);margin:0 0 16px;flex-grow:1;line-height:1.55}
.blog-card .read-more{color:var(--brand-green);font-weight:600;font-size:.875rem;text-decoration:none}
.blog-card .read-more::after{content:" →"}

/* === Partners strip === */
.partners-strip{padding:48px 0;background:var(--bg-mint-light);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.partners-strip h3{text-align:center;font-size:.875rem;color:var(--brand-navy);text-transform:uppercase;letter-spacing:2px;font-weight:700;margin:0 0 24px}
.partners-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:48px}
.partners-grid img{height:50px;width:auto;transition:transform .2s}
.partners-grid img:hover{transform:translateY(-3px)}

/* === Location switcher pills === */
.location-switcher{padding:32px 0;background:var(--bg-mint-light);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.location-switcher .label{text-align:center;font-size:.6875rem;color:var(--brand-navy);font-weight:700;text-transform:uppercase;letter-spacing:2px;margin:0 0 14px}
.location-switcher .pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin:0 auto}
.location-switcher .pill{display:inline-flex;align-items:center;padding:8px 18px;background:#fff;color:var(--brand-navy);border:1px solid var(--border);border-radius:30px;font-weight:600;font-size:.875rem;transition:all .2s}
.location-switcher .pill:hover{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy);transform:translateY(-2px)}
.location-switcher .pill.current{background:var(--brand-green);color:#fff;border-color:var(--brand-green)}

/* === Inline link grid (sub-service pills) === */
.sublink-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;max-width:1100px;margin:0 auto}
.sublink{display:block;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--brand-navy);font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}
.sublink:hover{background:var(--bg-mint-light);border-color:var(--brand-green);color:var(--brand-green);transform:translateX(2px)}
.sublink::before{content:"›";color:var(--brand-green);margin-right:8px;font-weight:700}

/* Mobile header CTA - hide button on very small screens to prevent overflow */
@media (max-width:480px){
  .header-cta .btn{padding:8px 14px !important;font-size:.8125rem !important}
  .header-cta{gap:8px}
  .header-inner{padding:12px 12px;gap:8px}
  .logo img{height:38px}
}

/* Mobile-friendly footer tap targets */
@media (max-width:980px){
  .footer-col li{margin-bottom:4px}
  .footer-col li a{display:inline-block;padding:8px 0;min-height:44px;line-height:1.4}
}

/* === Alignment polish === */
/* Consistent section-head sizing */
.section-head{max-width:780px;margin:0 auto 40px}
.section-head p{font-size:1rem;color:var(--text-muted);line-height:1.55;margin:0}
.section-head h2{margin-bottom:10px;line-height:1.25}
/* Consistent feature card padding */
.feature-card{padding:24px 22px}
.feature-card h3{font-size:1.0625rem;margin:0 0 10px;line-height:1.3}
.feature-card p{margin:0;line-height:1.55;font-size:.9375rem}
/* Tighter related grid for better balance */
.related-grid{gap:18px}
/* CTA box typography */
.cta-strip h2, .post-cta-box h3{letter-spacing:-.01em}
/* Hero polish */
.hero{padding-top:80px;padding-bottom:64px}
.hero h1{letter-spacing:-.015em;line-height:1.15}
.hero .lead{margin-left:auto;margin-right:auto}
/* Buttons alignment */
.btn{font-size:.9375rem;letter-spacing:.01em}

/* Standardized kicker */
.kicker{font-size:.6875rem;color:var(--brand-navy);font-weight:700;letter-spacing:2px;text-transform:uppercase;display:inline-block;margin-bottom:8px}
.hero .kicker{color:var(--teal-accent)}
.cta-strip .kicker, .locations-strip .kicker{color:var(--teal-accent)}

/* Container polish */
.feature-grid, .post-services-grid, .related-grid, .further-reading-grid, .blog-grid, .sublink-grid{
  max-width:1100px;margin:0 auto
}
/* Larger gap on feature-grid for breathing room */
.feature-grid{gap:24px}
/* Consistent inner spacing */
.context-links .inner, .post-resources, .faq-list{max-width:920px;margin:0 auto}

/* Mobile menu Get Started CTA */
.mobile-cta-item{display:none}
@media (max-width:980px){
  .main-nav.open .mobile-cta-item{display:block;padding:12px 8px 8px;border-top:1px solid var(--border);margin-top:8px}
  .mobile-cta-link{display:block;background:var(--brand-green);color:#fff !important;text-align:center;padding:14px 24px !important;border-radius:6px;font-weight:600;font-size:1rem !important;text-decoration:none;border:none !important}
  .mobile-cta-link:hover{background:var(--brand-green-dark);color:#fff !important}
}

/* === Local numbers block === */
.local-numbers{background:var(--bg-mint-light)}
.local-numbers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:1100px;margin:0 auto}
.local-num-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--brand-green);border-radius:8px;padding:20px;text-align:center;transition:all .2s}
.local-num-card:nth-child(2){border-top-color:var(--brand-navy)}
.local-num-card:nth-child(3){border-top-color:var(--brand-red)}
.local-num-card:nth-child(4){border-top-color:var(--teal-accent)}
.local-num-card:nth-child(5){border-top-color:var(--brand-green-dark)}
.local-num-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06)}
.local-area{font-size:.625rem;color:var(--brand-navy);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}
.local-city{font-size:1.0625rem;color:var(--heading-dark);font-weight:700;margin-bottom:10px}
.local-city a{color:inherit;text-decoration:none}
.local-city a:hover{color:var(--brand-green)}
.local-tel{display:block;color:var(--brand-green);font-weight:700;font-size:1rem;text-decoration:none;padding:8px 0;margin:4px 0;border-radius:6px;transition:all .2s}
.local-tel:hover{background:var(--bg-mint-medium);color:var(--brand-green-dark)}
.local-meta{font-size:.75rem;color:var(--text-muted);line-height:1.4;margin-top:4px}
.toll-free-callout{margin-top:32px;text-align:center;padding:24px;background:#fff;border-radius:10px;max-width:580px;margin-left:auto;margin-right:auto;border:1px solid var(--border)}
.toll-free-callout span{display:block;margin-bottom:14px;color:var(--text-muted);font-size:.9375rem}
@media (max-width:640px){
  .local-numbers-grid{grid-template-columns:1fr 1fr;gap:10px}
  .local-num-card{padding:16px 12px}
  .local-city{font-size:.9375rem}
  .local-tel{font-size:.9375rem}
}
@media (max-width:380px){
  .local-numbers-grid{grid-template-columns:1fr}
}

/* === Mid-page CTA banner === */
.mid-cta{padding:48px 0;background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-dark) 100%);color:#fff;text-align:center}
.mid-cta h2{color:#fff;font-size:1.5rem;margin:0 0 8px}
.mid-cta p{color:rgba(255,255,255,.92);margin:0 0 20px;font-size:.9375rem}
.mid-cta .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:center}
.mid-cta .btn-white{background:#fff;color:var(--brand-green);padding:14px 28px;font-weight:700;border-radius:6px;text-decoration:none;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.mid-cta .btn-white:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.15);color:var(--brand-green-dark)}
.mid-cta .btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);padding:12px 26px;font-weight:600;border-radius:6px;text-decoration:none;transition:all .2s}
.mid-cta .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
@media (max-width:480px){
  .mid-cta{padding:40px 0}
  .mid-cta h2{font-size:1.25rem}
  .mid-cta .btn-white, .mid-cta .btn-ghost{width:100%;justify-content:center;text-align:center}
  .mid-cta .cta-row{flex-direction:column;gap:10px}
}

/* === Mobile hero centering (sitewide) === */
@media (max-width:980px){
  .hero-grid{text-align:center}
  .hero-content{text-align:center}
  .hero-content .lead, .hero-content p.lead{margin-left:auto;margin-right:auto}
  .hero-cta, .hero-cta-row, .hero-stats, .hero-buttons{justify-content:center;flex-wrap:wrap}
  .hero h1, .hero h2, .hero .lead, .hero p{text-align:center}
  .hero .breadcrumb, .hero .breadcrumbs{text-align:center;justify-content:center;display:flex;flex-wrap:wrap;gap:6px}
}
