:root{
  --green-950:#06231a; --green-900:#0a3d2c; --green-800:#0e4d38; --green-700:#14604a;
  --lime:#b7e33c; --lime-dark:#8fbf1f; --cream:#faf8f1; --paper:#fffdf7; --ink:#152219; --muted:#5a6a5f;
  --line:#e3e7dc; --card:#ffffff; --tint:#eff5ea; --radius:18px;
  --shadow:0 10px 30px rgba(6,35,26,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;font-size:17px}
a{color:var(--green-800);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
/* top bar */
.topbar{background:var(--green-950);color:#cfe3d4;font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.topbar a{color:#eaf5ec;font-weight:600}
/* header */
.site-header{background:var(--green-900);position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(6,35,26,.25)}
.site-header .wrap{display:flex;align-items:center;gap:22px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;flex-shrink:0}
.brand:hover{text-decoration:none}
.brand img{width:46px;height:46px;border-radius:12px}
.brand .bname{font-size:24px;font-weight:800;letter-spacing:.2px;line-height:1.05;color:#fff}
.brand .bname span{color:var(--lime)}
.brand .bsub{font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:#a9c9b4;font-weight:700}
.mainnav{margin-left:auto;display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.mainnav a{color:#e7f2e9;font-weight:600;font-size:15.5px;padding:8px 11px;border-radius:10px}
.mainnav a:hover{background:rgba(255,255,255,.09);text-decoration:none}
.callbtn{background:var(--lime);color:var(--green-950)!important;font-weight:800;border-radius:999px;padding:11px 20px!important;box-shadow:0 6px 18px rgba(183,227,60,.35)}
.callbtn:hover{background:#c8ef63;text-decoration:none}
/* hero */
.hero{background:linear-gradient(135deg,var(--green-950),var(--green-800));color:#eef6ef;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;padding-top:52px;padding-bottom:52px;align-items:center}
.hero h1{font-size:42px;line-height:1.12;letter-spacing:-.5px;color:#fff;font-weight:800}
.hero .lede{margin-top:18px;font-size:18px;color:#d7e8da;max-width:56ch}
.hero .hero-cta{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{display:inline-block;background:var(--lime);color:var(--green-950);font-weight:800;padding:14px 26px;border-radius:999px;font-size:17px;box-shadow:0 8px 22px rgba(183,227,60,.35)}
.btn:hover{background:#c8ef63;text-decoration:none}
.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45);box-shadow:none}
.hero .micro{font-size:14px;color:#a9c9b4;margin-top:12px}
.hero figure{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.hero figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.pageband{background:linear-gradient(135deg,var(--green-950),var(--green-800));color:#eef6ef}
.pageband .wrap{padding-top:34px;padding-bottom:34px}
.pageband h1{font-size:34px;line-height:1.15;color:#fff;letter-spacing:-.4px;max-width:22ch}
.pageband .lede{margin-top:12px;color:#d7e8da;max-width:72ch;font-size:17.5px}
.crumbs{font-size:13.5px;color:#a9c9b4;margin-bottom:12px}
.crumbs a{color:#d7e8da}
/* content */
main .wrap{padding-top:36px;padding-bottom:10px}
.answerbox{background:var(--tint);border:1px solid var(--line);border-left:5px solid var(--lime-dark);border-radius:14px;padding:20px 22px;font-size:17.5px;margin-bottom:30px}
section.blk{margin:0 0 34px}
section.blk h2{font-size:27px;line-height:1.25;letter-spacing:-.3px;color:var(--green-950);margin-bottom:12px}
section.blk p{margin-bottom:14px;color:#26332a;max-width:78ch}
section.blk ul,section.blk ol{margin:0 0 16px 22px;color:#26332a}
section.blk li{margin-bottom:7px}
.qa{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:14px 0;box-shadow:var(--shadow)}
.qa .q{font-weight:800;color:var(--green-900);margin-bottom:6px}
.qa .q::before{content:"Q — ";color:var(--lime-dark)}
.qa .a{color:#33453a}
table.data{width:100%;border-collapse:collapse;background:var(--card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);margin:16px 0 8px;font-size:15.5px}
table.data caption{text-align:left;font-weight:800;color:var(--green-950);padding:12px 16px;background:var(--tint)}
table.data th{background:var(--green-900);color:#fff;text-align:left;padding:11px 14px;font-size:14.5px}
table.data td{padding:10px 14px;border-top:1px solid var(--line);vertical-align:top}
table.data tr td:first-child{font-weight:700;color:var(--green-950);white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0}
.stat{background:var(--green-900);color:#eaf5ec;border-radius:16px;padding:20px}
.stat .v{font-size:34px;font-weight:800;color:var(--lime);line-height:1}
.stat .l{margin-top:8px;font-size:14.5px;color:#cfe3d4}
.cases{display:grid;gap:14px;margin:16px 0}
.case{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow)}
.case .badge{display:inline-block;background:var(--green-900);color:var(--lime);font-size:11.5px;font-weight:800;letter-spacing:1.6px;padding:4px 10px;border-radius:999px;margin-bottom:10px}
.case p{margin:0}
.testis{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:16px 0}
.testi{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}
.testi .quote{font-size:16px;color:#2b3a30}
.testi .who{margin-top:12px;font-weight:800;color:var(--green-900);font-size:14.5px}
.faqs{margin:8px 0 30px}
.faqs details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 20px;margin-bottom:10px;box-shadow:var(--shadow)}
.faqs summary{font-weight:800;color:var(--green-950);cursor:pointer;font-size:16.5px}
.faqs details p{margin-top:9px;color:#33453a}
.related{background:var(--tint);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin:26px 0 36px}
.related h2{font-size:20px;color:var(--green-950);margin-bottom:10px}
.related ul{list-style:none;display:flex;flex-wrap:wrap;gap:9px}
.related a{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-weight:700;font-size:14.5px}
.related a:hover{border-color:var(--lime-dark);text-decoration:none}
.ctaband{background:linear-gradient(135deg,var(--green-950),var(--green-800));border-radius:20px;color:#eef6ef;padding:30px 32px;margin:10px 0 40px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.ctaband h2{color:#fff;font-size:25px;flex:1 1 340px;line-height:1.3}
.ctaband p{color:#cfe3d4;flex:1 1 100%;margin-top:-8px}
/* footer */
.site-footer{background:var(--green-950);color:#cfe3d4;margin-top:20px}
.site-footer .wrap{padding-top:42px;padding-bottom:0}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.site-footer h3{color:#fff;font-size:16px;margin-bottom:12px}
.site-footer a{color:#cfe3d4;display:block;padding:3.5px 0;font-size:15px}
.site-footer a:hover{color:var(--lime)}
.fbrand img{height:48px;width:auto;margin-bottom:12px}
.fbrand p{font-size:15px;max-width:36ch}
.fnap{font-size:15px;line-height:1.7}
.disc{border-top:1px solid rgba(255,255,255,.14);margin-top:32px;padding:16px 0 4px;font-size:13.5px;color:#9db8a6;max-width:95ch}
.copybar{border-top:1px solid rgba(255,255,255,.14);margin-top:10px;padding:14px 0 18px;font-size:13.5px;color:#9db8a6;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
/* sticky call pill */
.callpill{position:fixed;right:18px;bottom:18px;z-index:60;background:var(--lime);color:var(--green-950);font-weight:800;padding:13px 22px;border-radius:999px;box-shadow:0 10px 26px rgba(6,35,26,.35);font-size:16px}
.callpill:hover{text-decoration:none;background:#c8ef63}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;padding-top:36px;padding-bottom:36px}
  .hero h1{font-size:32px}
  .pageband h1{font-size:27px}
  .fgrid{grid-template-columns:1fr 1fr}
  .mainnav{display:none}
  .brand .bname{font-size:21px}
  body{font-size:16px}
  section.blk h2{font-size:23px}
}

/* --- homepage v2 components --- */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.uspband{background:var(--cream);margin-top:-34px;position:relative;z-index:3}
.uspgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.usp{background:#fff;border:1px solid var(--line);border-top:5px solid var(--lime);border-radius:16px;padding:20px;box-shadow:var(--shadow);animation:fadeUp .7s ease both}
.usp .ic{font-size:26px;line-height:1}
.usp h3{font-size:17.5px;color:var(--green-950);margin:10px 0 6px}
.usp p{font-size:14.5px;color:#43544a;line-height:1.5}
.svcgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0 6px}
.svc{display:block;background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 18px;box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease}
.svc:hover{transform:translateY(-3px);border-color:var(--lime-dark);text-decoration:none}
.svc .t{font-weight:800;color:var(--green-950);font-size:16px}
.svc .d{font-size:13.5px;color:#54645a;margin-top:4px;line-height:1.45}
.svc .go{color:var(--lime-dark);font-weight:800;font-size:13px;margin-top:8px;display:block}
.probgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:16px 0 6px}
figure.shot{margin:20px 0;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:#fff}
figure.shot img{width:100%;height:auto}
figure.shot figcaption{padding:12px 18px;font-size:14.5px;color:#43544a;background:#fff}
figure.shot figcaption b{color:var(--green-950)}
.infoband{background:var(--green-900);border-radius:20px;padding:28px 30px;margin:8px 0 36px;color:#eaf5ec}
.infoband h2{color:#fff;font-size:24px;margin-bottom:6px}
.infoband .sub{color:#cfe3d4;font-size:15px;margin-bottom:20px}
.clock{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px}
.step .t{font-size:26px;font-weight:800;color:var(--lime)}
.step .h{font-weight:800;color:#fff;margin:4px 0 5px;font-size:15.5px}
.step p{font-size:13.5px;color:#cfe3d4;line-height:1.5}
.locgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0 6px}
.midcta{margin:6px 0 30px}
@media (max-width:900px){.uspgrid,.svcgrid,.clock,.locgrid{grid-template-columns:1fr 1fr}.probgrid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.svc .t{display:block}
.svc .d{display:block}

/* testimonials band (homepage v4) */
.tband{background:linear-gradient(155deg,var(--green-800),var(--green-950));border-radius:22px;padding:30px 32px;margin-bottom:36px}
.tband h2{color:#fff!important}
.tband>p{color:#cfe3d4}
.testi2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}
.testi2 .card{background:#fff;border-radius:16px;padding:22px 24px;box-shadow:var(--shadow)}
.testi2 .qm{font-size:40px;line-height:.6;color:var(--lime-dark);font-weight:800;display:block;margin-bottom:10px}
.testi2 .quote{font-size:16.5px;color:#22352a;line-height:1.55}
.testi2 .who{margin-top:13px;font-weight:800;color:var(--green-900);font-size:14.5px}
.testi2 .who span{color:var(--lime-dark)}
@media (max-width:900px){.testi2{grid-template-columns:1fr}.tband{padding:24px 20px}}

section.tband p{color:#d7e8da}

/* v6: nav dropdowns, mobile menu, band CTA/photo, section tints, reveal */
.has-drop{position:relative}
.has-drop>a .car{font-size:11px;opacity:.75}
.drop{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:14px;box-shadow:0 18px 44px rgba(6,40,24,.30);padding:8px;min-width:264px;display:none;z-index:80}
.has-drop:hover .drop,.has-drop:focus-within .drop{display:block}
.drop a{display:block;color:var(--ink);font-weight:600;font-size:15px;padding:9px 12px;border-radius:9px;white-space:nowrap}
.drop a:hover{background:#eef6f0;color:var(--green-900);text-decoration:none}
.drop a.all{color:var(--green-800);border-top:1px solid #e3eee6;margin-top:5px;padding-top:11px}
.burger{display:none;margin-left:auto;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:21px;border-radius:11px;padding:7px 14px;cursor:pointer;line-height:1.2}
.mnav{display:none;background:var(--green-950);padding:6px 20px 20px;border-top:1px solid rgba(255,255,255,.12)}
.mnav.open{display:block}
.mnav a{display:block;color:#e7f2e9;font-weight:600;padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.07);font-size:16px}
.mnav a.sub{padding-left:20px;font-weight:500;font-size:15px;color:#cfe3d4}
.mnav .mgrp{display:block;color:var(--lime);font-weight:800;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;padding:15px 4px 2px}
.mnav .callbtn{margin-top:14px;text-align:center;border-bottom:none}
@media (max-width:900px){.burger{display:block}}
.band-cta{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.pageband .grid2{display:grid;grid-template-columns:1.12fr .88fr;gap:32px;align-items:center}
figure.bandshot{margin:0}
figure.bandshot img{width:100%;height:100%;max-height:330px;object-fit:cover;border-radius:18px;box-shadow:0 14px 34px rgba(0,0,0,.32);display:block}
@media (max-width:900px){.pageband .grid2{grid-template-columns:1fr}figure.bandshot img{max-height:230px}}
.blk.alt{background:#f0f7f2;border-radius:18px;padding:24px 26px}
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.js .rv.on{opacity:1;transform:none}

/* v7: band chips */
.bandchips{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.bandchips span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);color:#eaf5ec;font-size:13.5px;font-weight:700;padding:7px 13px;border-radius:999px}
