:root{
  --primary:#115E59;--primary-dark:#0B4540;--primary-light:#14756E;
  --hero-deep:#042F2E;--hero-panel:#0C4A45;
  --accent:#F59E0B;--accent-dark:#D97706;--accent-text:#1a1000;
  --on-dark:#E6FFFA;--on-dark-muted:#9FD8CF;
  --text-base:#1e293b;--text-muted:#4a5568;--text-light:#718096;
  --bg-alt:#F4FAF9;--border:#DCEAE7;--radius:6px;--radius-lg:10px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.65;color:var(--text-base);background:#fff}
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}
a{text-decoration:none;color:var(--primary)}
img{max-width:100%;display:block;height:auto}
section{padding:3.5rem 0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--accent-text);padding:.5rem 1rem;z-index:999}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* top strip + header */
.top-strip{background:var(--accent);color:var(--accent-text);font-size:.85rem;font-weight:600;text-align:center;padding:.45rem 0}
.top-strip a{color:var(--accent-text);font-weight:800;text-decoration:underline}
.site-header{background:var(--hero-deep);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:400}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px;gap:1rem}
.logo{display:flex;align-items:center;gap:.6rem;min-width:0}
.logo-mark{width:38px;height:38px;border-radius:8px;background:var(--primary-light);color:var(--accent);font-weight:900;font-size:1.05rem;display:flex;align-items:center;justify-content:center;flex:none}
.logo-text{display:flex;flex-direction:column;min-width:0}
.logo-name{color:#fff;font-weight:800;font-size:1rem;line-height:1.15;white-space:nowrap}
.logo-sub{color:var(--on-dark-muted);font-size:.66rem;font-weight:600}
.nav-toggle{display:none;background:none;border:1.5px solid var(--on-dark-muted);color:var(--on-dark);border-radius:var(--radius);font-size:1.2rem;padding:.3rem .7rem;cursor:pointer;min-height:44px}
.main-nav{display:flex;gap:1.2rem;align-items:center}
.main-nav>.nav-item{color:var(--on-dark);font-size:.92rem;font-weight:600;padding:.5rem 0}
.main-nav>.nav-item:hover{color:var(--accent)}
.has-drop{position:relative}
.drop-btn{background:none;border:none;color:var(--on-dark);font-size:.92rem;font-weight:600;cursor:pointer;padding:.5rem 0;font-family:inherit;min-height:44px}
.drop-btn:hover{color:var(--accent)}
.dropdown{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 14px 34px rgba(4,47,46,.22);min-width:290px;padding:.5rem 0;z-index:500}
.has-drop.open .dropdown{display:block}
.dropdown a{display:block;padding:.5rem 1.1rem;color:var(--text-base);font-size:.9rem;font-weight:600}
.dropdown a:hover{background:var(--bg-alt);color:var(--primary)}
.dropdown .drop-all{border-top:1px solid var(--border);color:var(--primary);margin-top:.35rem;padding-top:.7rem}
.nav-phone{background:var(--accent);color:var(--accent-text)!important;font-weight:800;padding:.6rem 1.05rem;border-radius:var(--radius);font-size:.92rem;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.nav-phone:hover{background:var(--accent-dark);color:#fff!important}

/* buttons */
.btn-accent{background:var(--accent);color:var(--accent-text);font-weight:800;padding:.9rem 1.6rem;border-radius:var(--radius);font-size:1rem;display:inline-flex;align-items:center;min-height:44px}
.btn-accent:hover{background:var(--accent-dark);color:#fff}
.btn-ghost{border:1.5px solid var(--on-dark-muted);color:var(--on-dark);font-weight:700;padding:.9rem 1.5rem;border-radius:var(--radius);font-size:1rem;display:inline-flex;align-items:center;min-height:44px}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

/* hero (home + page) */
.hero,.page-hero{background:linear-gradient(160deg,var(--hero-deep) 0%,#06413C 55%,var(--primary-dark) 100%);color:#fff;padding:3rem 0 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center;padding-bottom:3rem}
.page-hero .container:not(.hero-grid){padding-bottom:2.6rem}
.page-hero .hero-copy{padding-bottom:0}
.eyebrow{color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem}
.crumbs{font-size:.8rem;color:var(--on-dark-muted);margin-bottom:1rem}
.crumbs a{color:var(--on-dark-muted);text-decoration:underline}
.crumbs span{color:var(--accent)}
.hero h1,.page-hero h1{font-size:clamp(1.65rem,4vw,2.55rem);font-weight:800;line-height:1.18;color:#fff}
.hero h1 em{font-style:italic;color:var(--accent)}
.hero .sub,.page-hero .sub{color:var(--on-dark-muted);margin:1rem 0 1.5rem;font-size:1.04rem;max-width:36rem}
.hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:1.6rem}
.stat-chips{display:flex;gap:.8rem;flex-wrap:wrap}
.chip{background:var(--hero-panel);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:.7rem 1.15rem;min-width:118px}
.chip b{display:block;color:var(--accent);font-size:1.25rem;font-weight:800;line-height:1.2}
.chip span{color:var(--on-dark-muted);font-size:.76rem;font-weight:600}
.hero-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12)}
.hero-media img{width:100%;height:100%;object-fit:cover}

/* trust bar */
.trust-bar{background:var(--primary-dark);border-top:1px solid rgba(255,255,255,.1)}
.trust-bar .container{display:flex;gap:1.6rem;flex-wrap:wrap;justify-content:center;padding-top:.8rem;padding-bottom:.8rem}
.trust-bar span{color:var(--on-dark);font-size:.85rem;font-weight:600}
.trust-bar span::before{content:"✓ ";color:var(--accent);font-weight:900}

/* sections */
.section-eyebrow{color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem}
h2.section-title{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800;color:#0f1f2e;margin-bottom:.7rem;line-height:1.25}
.section-lede{color:var(--text-muted);max-width:48rem;margin-bottom:1rem}
.alt-bg{background:var(--bg-alt)}
.prose-narrow{max-width:800px}
.prose-narrow h2{font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:800;color:#0f1f2e;margin:2.2rem 0 .8rem;line-height:1.3}
.prose-narrow h2:first-child{margin-top:0}
.prose-narrow h3{font-size:1.12rem;font-weight:800;color:var(--primary-dark);margin:1.7rem 0 .6rem}
.prose-narrow p{margin-bottom:1rem}
.prose-narrow ul,.prose-narrow ol{margin:0 0 1rem 1.4rem}
.prose-narrow li{margin-bottom:.4rem}
.prose-narrow table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem}
.prose-narrow th,.prose-narrow td{border:1px solid var(--border);padding:.6rem .75rem;text-align:left;vertical-align:top}
.prose-narrow th{background:var(--bg-alt);font-weight:800;color:var(--primary-dark)}
.table-wrap{overflow-x:auto}
.inline-fig{margin:1.5rem 0}
.inline-fig img{border-radius:var(--radius-lg)}
.inline-fig figcaption{font-size:.8rem;color:var(--text-light);margin-top:.45rem}
.page-body{padding:3.2rem 0 1rem}

/* service cards */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.1rem}
.service-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .15s,box-shadow .15s}
.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(17,94,89,.14)}
.service-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.service-card .body{padding:1.05rem 1.15rem 1.25rem}
.service-card h3{font-size:1.03rem;font-weight:800;color:var(--primary-dark);margin-bottom:.4rem}
.service-card p{font-size:.9rem;color:var(--text-muted)}
.view-all{margin-top:1.6rem;text-align:center}
.view-all a{color:var(--primary);font-weight:800;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* dark band */
.dark-band{background:var(--hero-deep);color:#fff}
.dark-band .section-title{color:#fff}
.dark-band .section-eyebrow{color:var(--accent)}
.dark-para{color:var(--on-dark-muted);max-width:50rem;margin-bottom:1rem}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem;margin-top:1.6rem}
.why-card{background:var(--hero-panel);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:1.3rem}
.why-card h3{color:var(--accent);font-size:1rem;font-weight:800;margin-bottom:.5rem}
.why-card p{color:var(--on-dark-muted);font-size:.9rem}
.band-cta{margin-top:2rem;text-align:center}
.dark-band.slim{padding:2.6rem 0}
.center{text-align:center}
.center .dark-para{margin-left:auto;margin-right:auto}

/* locations */
.loc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem 2rem}
.loc-cols ul{list-style:none;margin:0}
.loc-cols li{padding:.32rem 0;border-bottom:1px dashed var(--border);font-size:.92rem}
.loc-cols a{color:var(--text-base);font-weight:600}
.loc-cols a:hover{color:var(--primary)}
.loc-head{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:.4rem}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border);padding:1.15rem 0}
.faq-item h3{font-size:1.02rem;font-weight:800;color:var(--primary-dark);margin-bottom:.4rem}
.faq-item p{color:var(--text-muted);font-size:.94rem}

/* index grids */
.index-lede{margin-bottom:2rem}
.index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.index-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.index-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(17,94,89,.14)}
.index-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.idx-body{display:block;padding:.95rem 1.05rem 1.1rem}
.idx-title{display:block;font-weight:800;color:var(--primary-dark);font-size:.99rem;line-height:1.3}
.idx-text{display:block;color:var(--text-muted);font-size:.86rem;margin-top:.35rem;font-weight:400}
.idx-meta{display:block;color:var(--text-light);font-size:.76rem;margin-top:.5rem;font-weight:600}

/* final CTA + footer */
.cta-band{background:linear-gradient(120deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;text-align:center;padding:3rem 0}
.cta-band h2{font-size:clamp(1.35rem,3vw,1.8rem);font-weight:800;margin-bottom:.5rem}
.cta-band p{color:var(--on-dark-muted);margin-bottom:1.4rem;max-width:44rem;margin-left:auto;margin-right:auto}
footer{background:var(--hero-deep);color:var(--on-dark-muted);padding:3rem 0 1.5rem;font-size:.88rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
footer h4{color:#fff;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.8rem}
footer a{color:var(--on-dark-muted);display:block;padding:.18rem 0}
footer a:hover{color:var(--accent)}
.foot-nap{margin-top:.8rem}
.foot-phone{color:var(--accent)!important;font-weight:800;font-size:1.05rem;margin-top:.3rem}
.foot-hours{font-size:.8rem;margin-top:.3rem}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.2rem;text-align:center;font-size:.8rem}
.foot-bottom a{display:inline;color:var(--accent)}

/* mobile sticky call */
.mobile-call{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--accent);color:var(--accent-text);font-weight:800;text-align:center;padding:.95rem;z-index:500;font-size:1.02rem}

@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .logo-name{font-size:.88rem;white-space:normal}
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--hero-deep);flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.4rem;gap:.4rem;border-bottom:2px solid var(--accent)}
  .main-nav.open{display:flex}
  .dropdown{position:static;transform:none;box-shadow:none;min-width:0;border:none;border-left:2px solid var(--primary-light);border-radius:0;background:transparent;padding-left:.6rem}
  .dropdown a{color:var(--on-dark)}
  .dropdown a:hover{background:transparent;color:var(--accent)}
  .dropdown .drop-all{color:var(--accent);border-top-color:rgba(255,255,255,.15)}
  .nav-phone{justify-content:center;margin-top:.5rem}
  .mobile-call{display:block}
  body{padding-bottom:52px}
}
@media(max-width:560px){
  .foot-grid{grid-template-columns:1fr}
  .trust-bar .container{gap:.7rem 1.2rem}
}

/* blog */
.blog-meta{color:var(--text-light);font-size:.82rem;margin-bottom:1.8rem}

/* pricing context block */
.pricing-cta{margin-top:1.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.pricing-cta .btn-accent{font-size:.92rem;padding:.7rem 1.3rem}

/* real logo image */
.logo-img{display:block;height:44px;width:auto;max-width:220px}
@media(max-width:480px){.logo-img{height:36px}}
