:root{--green:#173f2a;--lime:#a7c957;--tan:#f5f0e7;--ink:#172019;--muted:#5f6b62;--white:#fff;--line:#e8dfd1}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--tan);line-height:1.6}a{color:inherit}.topbar{display:flex;justify-content:space-between;gap:1rem;background:var(--green);color:#fff;padding:.55rem clamp(1rem,4vw,4rem);font-size:.92rem}.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,4vw,4rem);background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.06);position:sticky;top:0;z-index:10}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.05}.brand strong{font-size:1.35rem;color:var(--green)}.brand span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.primary-nav ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}.primary-nav a{text-decoration:none;font-weight:700;color:var(--green)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:2rem;align-items:center;padding:clamp(3rem,7vw,7rem) clamp(1rem,5vw,5rem);background:linear-gradient(135deg,#f5f0e7 0%,#fff 48%,#e8f1d3 100%)}.hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.98;margin:.25rem 0 1rem;color:var(--green);letter-spacing:-.05em}.hero p{font-size:1.18rem;max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#6f8d38;font-weight:900;font-size:.82rem}.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:.9rem 1.15rem;border-radius:999px;font-weight:900;box-shadow:0 10px 22px rgba(23,63,42,.18)}.btn.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.hero-card,.content-card,.card,.cta-box{background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.5rem;box-shadow:0 18px 45px rgba(40,30,10,.08)}.hero-card{border-left:8px solid var(--lime)}.hero-card h2{margin-top:0;color:var(--green)}.trust{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}.trust span{background:#fff;text-align:center;padding:1rem;font-weight:900;color:var(--green)}.section{padding:clamp(3rem,6vw,5rem) clamp(1rem,5vw,5rem)}.section h2,.split h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;color:var(--green);letter-spacing:-.04em;margin:.25rem 0 1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.card h3{color:var(--green);font-size:1.35rem}.card a{font-weight:900;color:var(--green)}.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;padding:clamp(3rem,6vw,5rem) clamp(1rem,5vw,5rem);background:#fff}.checks li{margin:.55rem 0}.photo-placeholder{min-height:360px;border-radius:28px;background:linear-gradient(135deg,#d8e4bd,#f8f4ea);border:2px dashed #aab98a;display:grid;place-items:center;text-align:center;color:var(--green);font-weight:900;padding:2rem}.area{background:var(--green);color:#fff}.area h2,.area .eyebrow{color:#fff}.area .btn{background:#fff;color:var(--green)}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem 1.25rem;margin:.7rem 0}.faq summary{font-weight:900;color:var(--green);cursor:pointer}.page-main{padding:clamp(2rem,5vw,5rem);max-width:1040px;margin:auto}.content-card h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1;color:var(--green);letter-spacing:-.045em}.content-card h2{color:var(--green);font-size:2rem;line-height:1.1;margin-top:2rem}.content-card li{margin:.4rem 0}.cta-box{margin-top:2rem;background:#f8fbef}.site-footer{background:#102a1d;color:#e9f2e3;padding:3rem clamp(1rem,5vw,5rem) 1.5rem}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}.site-footer a{display:block;color:#fff;text-decoration:none;margin:.35rem 0}.site-footer h3,.site-footer h4{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.15);padding-top:1rem;margin-top:2rem;color:#b9c8bb}@media(max-width:820px){.topbar,.nav-wrap{align-items:flex-start}.primary-nav ul{display:grid;gap:.5rem}.hero,.split,.cards,.footer-grid{grid-template-columns:1fr}.trust{grid-template-columns:repeat(2,1fr)}.primary-nav{display:none}.primary-nav.open{display:block;position:absolute;left:1rem;right:1rem;top:74px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem}.menu-toggle{display:block;background:var(--green);color:#fff;border:0;border-radius:999px;padding:.65rem 1rem;font-weight:900}}

/* Review homepage enhancements */
.stars { letter-spacing: .08em; font-size: 1.15rem; margin-bottom: .75rem; color: inherit; }
.review-card-large .text-link { display:inline-block; margin-top: .6rem; font-weight: 800; }
.section-heading { max-width: 850px; margin-bottom: 1.25rem; }
.reviews-first .review-card p { font-size: 1.02rem; }
.review-card strong { display:block; margin-top: 1rem; font-size: .9rem; opacity: .85; }
.center-cta { text-align:center; margin-top: 1.25rem; }
.service-focus .lead { max-width: 760px; }
.micro-trust { margin-top: .85rem; font-size: .92rem; opacity: .88; font-weight: 700; }

/* Video hero rebuild */
.video-hero{position:relative;min-height:92vh;display:grid;place-items:center;overflow:hidden;background:#102a1d;color:#fff;text-align:center;padding:clamp(5rem,10vw,8rem) clamp(1rem,5vw,5rem)}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.video-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,20,13,.82),rgba(8,20,13,.45),rgba(8,20,13,.7));z-index:1}
.video-hero-content{position:relative;z-index:2;max-width:1040px;margin:auto}.video-hero h1{font-size:clamp(3.25rem,9vw,8rem);line-height:.88;letter-spacing:-.07em;margin:.2rem 0 1rem;color:#fff}.hero-subtitle{font-size:clamp(1.15rem,2.5vw,1.65rem);max-width:820px;margin:0 auto;color:#f4f5ef}.light{color:#d9f29b!important}.light-copy{color:#eef7e8}.hero-ctas{justify-content:center}.light-btn{background:#fff;color:#102a1d}.ghost-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55);color:#fff}.phone-btn{background:#a7c957;color:#102a1d}.trust-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(23,63,42,.18)}.trust-bar span{background:#fff;text-align:center;padding:1rem;font-weight:900;color:var(--green)}.review-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem;align-items:stretch}.review-score-card{background:var(--green);color:#fff;border-radius:28px;padding:2rem;box-shadow:0 18px 45px rgba(40,30,10,.08)}.review-score-card h3{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.05;margin:.5rem 0 1rem}.review-score-card .btn{background:#fff;color:var(--green)}.review-grid{display:grid;grid-template-columns:1fr;gap:1rem}.service-card{transition:transform .18s ease,box-shadow .18s ease}.service-card:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(40,30,10,.12)}.dark-split{background:#102a1d;color:#fff}.dark-split h2{color:#fff}.video-note{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:2rem;min-height:320px;display:flex;flex-direction:column;justify-content:center}.video-note h3{font-size:2rem;line-height:1.05;margin:0 0 .75rem;color:#fff}@media(max-width:820px){.video-hero{min-height:82vh;text-align:left;place-items:end start}.hero-ctas{justify-content:flex-start}.trust-bar,.review-feature{grid-template-columns:1fr}.video-hero h1{font-size:clamp(3rem,16vw,5.5rem)}}

/* ===== MOBILE NAV FIX (FINAL) ===== */
@media (max-width: 820px) {

  html, body {
    overflow-x: hidden;
  }

  .nav-wrap {
    position: relative;
    z-index: 1000;
  }

  .menu-toggle {
    display: block;
    background: var(--green);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: .65rem 1rem;
    font-weight: 900;
  }

  .primary-nav {
    display: none !important;
    position: fixed;
    top: 85px;
    left: 16px;
    right: 16px;
    width: auto;
    max-width: calc(100vw - 32px);
    background: #fff;
    border-radius: 18px;
    padding: 14px;
    box-shadow: 0 20px 40px rgba(0,0,0,.18);
    z-index: 99999;
    box-sizing: border-box;
  }

  .primary-nav.open {
    display: block !important;
  }

  .primary-nav ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
  }

  .primary-nav li {
    width: 100%;
  }

  .primary-nav a {
    display: block;
    width: 100%;
    padding: 14px;
    border-radius: 12px;
    background: #f5f0e7;
    text-align: center;
    font-weight: 800;
  }

  .primary-nav li:last-child a {
    background: var(--green);
    color: #fff;
    border-radius: 999px;
  }
}
