*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.6;color:#1a202c;background:#fff}:root{--accent:#15803d;--accent-2:#16a34a;--dark:#0b3d20;--light:#f2faf4;--border:#d7e8da;--muted:#5b6b61;--green:#16a34a;--red:#b91c1c}.container{max-width:1200px;margin:0 auto;padding:0 24px}.nav{background:var(--dark);color:#fff;padding:10px 16px;position:sticky;top:0;z-index:9999}.nav .container{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;min-width:0}.nav-logo{font-size:1rem;font-weight:700;color:#fff;text-decoration:none;display:flex;align-items:center;gap:8px}.nav-icon{background:var(--accent);color:#fff;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800}.nav-links{display:flex;gap:12px;list-style:none;align-items:center;flex-wrap:nowrap;flex:1;justify-content:flex-end;min-width:0}.nav-links a{white-space:nowrap}.nav-links a{color:#cbe8d3;text-decoration:none;font-size:.85rem;transition:color .2s;white-space:nowrap}.nav-links a:hover{color:#fff}.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:2px 6px;margin-left:auto}.nav-dropdown{position:relative}.nav-dropdown>a::after{content:"▾";margin-left:4px;font-size:.7rem;opacity:.7;color:#9fd8b0}.nav-dropdown-content{display:none;position:absolute;background:var(--dark);min-width:200px;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);padding:8px 0;z-index:200}.nav-dropdown:hover .nav-dropdown-content{display:block}.nav-dropdown-content a{display:block;padding:8px 16px;color:#cbe8d3!important;font-size:.9rem}.nav-dropdown-content a:hover{background:#14532d;color:#fff!important}.hero{background:linear-gradient(135deg,#0b3d20 0%,#15803d 62%,#2e9e50 100%);padding:60px 24px;text-align:center;color:#fff}.hero h2,.hero h3{text-align:center}.section{padding:56px 24px}.section-alt{background:var(--light)}.section h2{font-size:1.8rem;margin-bottom:24px;text-align:center}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:720px){.grid-2{grid-template-columns:1fr}}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;gap:16px;align-items:flex-start;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.card-icon{font-size:1.8rem;flex-shrink:0}.card h4{font-size:1.05rem;margin-bottom:6px}.card a{text-decoration:none}.card h3 a,.card h4 a{color:var(--dark);font-weight:600;text-decoration:none;transition:color .15s}.card h3 a:hover,.card h4 a:hover{color:var(--accent)}.card h4 a:hover{color:var(--accent)}.card p{color:var(--muted);font-size:.92rem}.cta-bar{background:var(--accent);color:#fff;padding:40px 24px;text-align:center}.cta-bar h2{font-size:1.6rem;margin-bottom:8px}.cta-bar p{font-size:1rem;margin-bottom:20px;opacity:.9}.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-white{background:#fff;color:var(--accent);padding:14px 28px;border-radius:999px;text-decoration:none;font-weight:600;font-size:1.05rem}.btn-outline{border:2px solid #fff;color:#fff;padding:14px 28px;border-radius:999px;text-decoration:none;font-weight:600;font-size:1.05rem}.content{max-width:800px;margin:0 auto;padding:40px 24px}.content img{max-width:100%;height:auto}.content h1{font-size:2rem;margin-bottom:16px;line-height:1.3}.content h2{font-size:1.4rem;margin:28px 0 12px}.content h3{font-size:1.15rem;margin:20px 0 8px}.content p{margin-bottom:14px;line-height:1.7}.content ul,.content ol{margin:12px 0 20px 24px}.content li{margin-bottom:8px;line-height:1.6}.content a{color:var(--accent)}.breadcrumb{padding:12px 24px;background:var(--light);font-size:.85rem;color:var(--muted)}.breadcrumb a{color:var(--accent);text-decoration:none}.footer{background:var(--dark);color:#cfe9d8;padding:40px 24px 24px}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;max-width:1100px;margin:0 auto}.footer h4{color:#fff;margin-bottom:12px;font-size:.95rem}.footer a{color:#9fd8b0;text-decoration:none;display:block;margin-bottom:6px;font-size:.9rem}.footer a:hover{color:#fff}.footer-bottom{text-align:center;padding-top:20px;margin-top:20px;border-top:1px solid #1d5c33;font-size:.8rem}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:768px){.watch-grid{grid-template-columns:1fr!important}}
@media(max-width:768px){
  .container{padding:0 16px}
  .nav{padding:8px 12px}
  .nav .container{flex-wrap:wrap;gap:8px}
  .nav-links{display:none;position:absolute;top:100%;left:auto;right:12px;width:auto;min-width:min(240px,84vw);max-width:88vw;background:var(--dark);flex-direction:column;padding:10px 12px;gap:2px;box-shadow:0 12px 32px rgba(0,0,0,.35);border-radius:12px;z-index:1000;max-height:calc(100vh - 70px);overflow-y:auto;text-align:left}.nav-links.show{display:flex}.nav-toggle{display:block}
  .nav-links a{font-size:.8rem;text-align:left}
  .nav-dropdown-content{position:fixed;display:none;min-width:200px;background:var(--dark);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.35);padding:8px 0;z-index:1001;max-height:calc(100vh - 70px);overflow-y:auto;text-align:left}
  .nav-dropdown:hover .nav-dropdown-content{display:block}
  .hero{padding:36px 16px}
  .hero h1{font-size:1.45rem!important;line-height:1.3}
  .hero p{font-size:1rem!important}
  .section{padding:36px 16px}
  .section h2{font-size:1.4rem}
  .grid-2,.grid-3{grid-template-columns:1fr!important;gap:14px}
  .card{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .card img{width:64px!important;height:64px!important}
  table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  video{width:100%!important}
  iframe{max-width:100%;height:auto}
  img{max-width:100%;height:auto}
  .faq-item,.compare-card,.blog-card,.svc-card{flex-direction:column!important}
  .content{max-width:100%!important;padding:20px 16px!important}
  .content h1{font-size:1.35rem!important}
  .content h2{font-size:1.2rem!important}
  .content h3{font-size:1.05rem!important}
  .content p,.content li{font-size:.95rem}
  form input,form textarea,form select{font-size:16px!important}
  .breadcrumb{font-size:.8rem;padding:10px 16px!important}
  .footer .container{flex-direction:column;gap:18px;padding:28px 16px}
  .footer h4{margin-top:6px}
  .section-alt .grid-2{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .hero h1{font-size:1.25rem!important}
  .hero p{font-size:.92rem!important}
  .nav-logo{font-size:.9rem}
  .nav-icon{width:28px;height:28px;font-size:.75rem}
  .section h2{font-size:1.25rem}
  .card h3{font-size:1rem}
  .content{padding:16px 12px!important}
}
.nav-brand{display:inline-block;color:#fff;font-weight:700;font-size:1.05rem;margin-right:18px;vertical-align:middle;text-decoration:none}.nav-phone-m{display:none!important}.nav-home-m{display:none}
@media(max-width:768px){.nav-brand{display:none!important}.nav-phone-m{display:inline-block!important;font-weight:700;font-size:1.05rem;color:#fff;text-decoration:none;margin-right:14px;vertical-align:middle}.nav-home-m{display:inline-block;color:#fff;font-weight:600;font-size:.95rem;text-decoration:none;margin-right:14px;vertical-align:middle}}

/* ---------- light green scale + page depth ---------- */
:root{--mint-50:#f7fdf9;--mint-100:#eff9f3;--mint-200:#ddf3e6;--mint-300:#c6ead4;--mint-400:#a5dcb9;--leaf:#22a34f}
body{background:var(--mint-50)}
.section-alt{background:linear-gradient(180deg,var(--mint-100) 0%,var(--mint-50) 100%)}
.breadcrumb{background:var(--mint-200);border-bottom:1px solid var(--mint-300)}
.content{padding-top:30px;padding-bottom:34px}

.split-2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px;align-items:start}
.split-2 > .rail{display:grid;gap:18px;align-content:start;position:sticky;top:86px}
@media(max-width:860px){.split-2 > .rail{position:static}}

@media(max-width:860px){.split-2{grid-template-columns:1fr}}

/* ---------- cards ---------- */
.card{background:#fff;border:1px solid var(--mint-200);border-radius:16px;
  box-shadow:0 2px 5px rgba(11,61,32,.06),0 16px 34px -20px rgba(11,61,32,.36);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
.card:hover{transform:translateY(-5px);border-color:var(--mint-400);
  box-shadow:0 2px 4px rgba(11,61,32,.06),0 22px 42px -18px rgba(11,61,32,.38);background:#fff}
.card img{border-radius:12px}
.card h3 a:hover{color:var(--accent-2)}

/* ---------- buttons ---------- */
.btn,.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;
  padding:11px 22px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;
  border:1px solid var(--accent);box-shadow:0 10px 20px -12px rgba(21,128,61,.95);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover,.pill:hover{background:var(--accent-2);transform:translateY(-2px);color:#fff;
  box-shadow:0 14px 26px -12px rgba(22,163,74,.95)}
.pill-soft{background:#fff;color:var(--accent);border:1px solid var(--mint-300);box-shadow:0 8px 18px -14px rgba(11,61,32,.6)}
.pill-soft:hover{background:var(--mint-100);color:var(--accent);border-color:var(--mint-400)}
.content p a,.content li a{font-weight:600;border-bottom:2px solid var(--mint-300);text-decoration:none}
.content p a:hover,.content li a:hover{border-bottom-color:var(--accent-2)}


/* ---------- form + inputs ---------- */
#quote-form input,#quote-form textarea,#quote-form select{border:1px solid var(--mint-300)!important;background:var(--mint-50);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
#quote-form input:focus,#quote-form textarea:focus{outline:0;border-color:var(--accent)!important;background:#fff;
  box-shadow:0 0 0 4px rgba(21,128,61,.14)}
#quote-form button[type=submit]{box-shadow:0 12px 24px -12px rgba(21,128,61,.9);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
#quote-form button[type=submit]:hover{background:var(--accent-2);transform:translateY(-2px)}
.split-2 > .card{position:sticky;top:86px}
@media(max-width:860px){.split-2 > .card{position:static}}
.nav{padding:12px 16px 10px}
.hero .btn-white,.hero .btn-outline{border-radius:999px!important}

.hero h1,.hs-copy h1{text-wrap:balance}
.content h1,.content h2{text-wrap:balance}
#quote-form input,#quote-form textarea,#quote-form select{border:1px solid #a9d9bd!important}
#quote-form label{color:#0b3d20;font-weight:600}
.nav .nav-cta,.nav a.nav-cta,.nav a[href='#quote'],.nav a[href='/quote']{border-radius:999px!important}


/* ---------- numbered steps, unified buttons ---------- */
.split-2 ol{counter-reset:step;list-style:none;padding-left:0;margin:0}
.split-2 ol li{counter-increment:step;position:relative;padding-left:38px;margin:0 0 12px;color:var(--muted);line-height:1.6}
.split-2 ol li:before{content:counter(step);position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;
  background:var(--mint-200);color:var(--dark);font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center}
#quote-form button[type=submit],#quote-form button{border-radius:999px!important}
.pill,#quote-form button,.nav-cta{border-radius:999px!important}
.nav{padding:14px 16px 10px}


@media(max-width:768px){
  .hs-cta{flex-direction:column;align-items:stretch;gap:10px;width:100%}
  .hs-cta a{width:100%;justify-content:center;display:inline-flex}
  .hero .hs-cta{padding-right:22px}
}

/* ---------- tables ---------- */
.content table,table{width:100%;border-collapse:separate;border-spacing:0;margin:20px 0 26px;background:#fff;
  border:1px solid var(--mint-200);border-radius:14px;overflow:hidden;
  box-shadow:0 2px 4px rgba(11,61,32,.04),0 16px 32px -26px rgba(11,61,32,.5)}
table th{background:var(--dark);color:#fff;text-align:left;font-weight:700;padding:13px 16px;font-size:.92rem;letter-spacing:.01em}
table td{padding:13px 16px;border-top:1px solid var(--mint-200);font-size:.95rem;vertical-align:top;line-height:1.55}
table tbody tr:nth-child(even){background:var(--mint-100)}
table tbody tr:hover{background:var(--mint-100)}
table td:first-child{font-weight:600;color:var(--dark)}
table td:last-child{white-space:nowrap;font-weight:600;color:var(--accent);text-align:right;font-variant-numeric:tabular-nums}
table th:last-child{text-align:right}
@media(max-width:720px){table td:last-child{white-space:normal}table th,table td{padding:10px 12px;font-size:.9rem}}

/* ---------- faq + breadcrumbs ---------- */
.content details,.faq details{background:#fff;border:1px solid var(--mint-200);border-radius:12px;
  box-shadow:0 8px 20px -18px rgba(11,61,32,.55);transition:box-shadow .2s ease,border-color .2s ease}
.content details:hover,.faq details:hover{border-color:var(--mint-400);box-shadow:0 12px 26px -18px rgba(11,61,32,.7)}

/* ---------- motion ---------- */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,.61,.36,1)}
  .reveal.in{opacity:1;transform:none}
  .hero h1{animation:heroRise .65s cubic-bezier(.22,.61,.36,1) both}
  .hero p{animation:heroRise .65s .08s cubic-bezier(.22,.61,.36,1) both}
  .hero .hs-cta,.hero .cta-btns{animation:heroRise .65s .16s cubic-bezier(.22,.61,.36,1) both}
  @keyframes heroRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  .cta-bar .btn-white,.cta-bar .btn-outline{transition:transform .18s ease,box-shadow .18s ease}
  .cta-bar .btn-white:hover,.cta-bar .btn-outline:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px rgba(0,0,0,.45)}
}

/* brand chip: white plate on the green bar, hanging slightly into the hero */
.nav-chip{display:inline-flex;align-items:center;height:44px;margin-right:16px;position:relative;z-index:60;flex:0 0 auto;text-decoration:none}
.nav-chip img{width:104px;height:76px;object-fit:contain;background:transparent;filter:drop-shadow(0 10px 16px rgba(0,0,0,.5));transform:translateY(10px);display:block}
@media(max-width:768px){.nav{padding:8px 12px}.nav-chip{height:38px;margin-right:10px}
.nav-chip img{width:84px;height:62px;transform:translateY(7px)}}

.nav-group-label{padding:10px 14px 4px;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:#9fd8b0;font-weight:700}
.nav-dropdown-content .card{padding:10px}
.hero-split{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(76vh,600px);overflow:hidden;background:#0b1220;color:#fff;isolation:isolate;text-align:left}
.hs-media{position:absolute;inset:0;z-index:0}
.hs-media img{width:100%;height:100%;object-fit:cover;object-position:64% 50%;display:block}
.hs-veil{position:absolute;top:0;left:0;bottom:0;width:60%;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,9,18,.64) 0%,rgba(4,9,18,.56) 34%,rgba(4,9,18,.36) 62%,rgba(4,9,18,.13) 86%,rgba(4,9,18,0) 100%);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);-webkit-mask-image:linear-gradient(90deg,#000 0 52%,rgba(0,0,0,.6) 76%,transparent 100%),linear-gradient(180deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,#000 0 52%,rgba(0,0,0,.6) 76%,transparent 100%),linear-gradient(180deg,transparent 0,#000 8%,#000 92%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.hs-copy{position:relative;z-index:2;grid-column:1;display:flex;flex-direction:column;justify-content:center;padding:60px clamp(22px,5vw,72px) 60px clamp(24px,calc((100vw - 1200px)/2 + 24px),220px);max-width:760px;text-align:left}
.hs-copy h1{margin:0 0 12px;font-size:clamp(1.6rem,3.4vw,2.5rem);color:#fff}
.hs-copy p{margin:0;color:#e6edf6;font-size:1.05rem;max-width:560px}
.hs-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn-white{background:#fff;color:var(--accent);padding:14px 28px;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.05rem}
.btn-outline{border:2px solid #fff;color:#fff;padding:14px 28px;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.05rem}
@media(max-width:768px){.hero-split{grid-template-columns:1fr;min-height:auto}.hs-copy{padding:44px 22px}.hs-veil{width:100%}}
