
:root{--green:#1f6f4a;--green2:#45a36f;--dark:#102018;--ink:#122018;--muted:#5a675f;--cream:#f5f3e8;--line:#dce7dd;--card:#ffffff;--shadow:0 18px 50px rgba(16,32,24,.18)}*{box-sizing:border-box}body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fbfcf8;line-height:1.6}a{color:inherit}.wrap{width:min(1120px,92vw);margin:0 auto}.site-header{position:absolute;top:0;left:0;right:0;z-index:20}.hero-nav{width:min(1160px,94vw);margin:16px auto;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.55);box-shadow:0 8px 24px rgba(0,0,0,.12)}.brand{text-decoration:none;font-weight:900;color:var(--green);letter-spacing:-.02em}.nav-items{display:flex;align-items:center;gap:6px}.navhome,.drop-toggle,.nav-phone,.nav-cta{font:700 13px/1 Poppins,system-ui;text-decoration:none;border:0;background:transparent;padding:10px 11px;color:#24342b;cursor:pointer}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:8px 0;z-index:50}.dropdown:hover .dropdown-menu,.dropdown.open .dropdown-menu{display:block}.dropdown-menu a{display:block;text-decoration:none;padding:10px 14px;font-size:13px;color:#26382d;white-space:nowrap}.dropdown-menu a:hover{background:#edf6ef}.nav-phone{color:var(--green)}.nav-cta{background:var(--green);color:#fff}.hamburger{display:none;border:0;background:var(--green);color:#fff;font-size:22px;min-width:46px;min-height:46px}.photo-hero{min-height:720px;position:relative;display:grid;align-items:stretch;background:var(--dark);overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.62)}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,32,24,.92),rgba(16,32,24,.76) 46%,rgba(16,32,24,.32))}.hero-overlay{position:relative;z-index:2;width:min(1160px,94vw);margin:0 auto;padding:132px 0 58px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.72fr);gap:34px;align-items:center}.hero-copy{color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900;color:#baf3cf}.hero-copy h1{font-size:clamp(42px,7vw,76px);line-height:.95;margin:10px 0 20px;max-width:760px}.lead{font-size:clamp(18px,2.2vw,23px);max-width:720px;color:#e8f4ea}.hero-pills,.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.hero-pills span{border:1px solid rgba(255,255,255,.35);padding:8px 12px;background:rgba(255,255,255,.08);font-size:13px}.primary,.secondary,.quote-form button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;border:0;cursor:pointer}.primary,.quote-form button{background:var(--green2);color:#fff;padding:13px 18px}.secondary{background:#fff;color:var(--green);padding:13px 18px}.hero-card{background:rgba(255,255,255,.96);padding:20px;box-shadow:var(--shadow);border-top:6px solid var(--green2)}.hero-card h2{margin:0 0 12px;font-size:24px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-form label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#22342a}.quote-form input,.quote-form textarea{width:100%;border:1px solid #cfdcd1;background:#fff;color:#102018;padding:11px;font:15px Poppins,system-ui}.quote-form textarea{min-height:84px;resize:vertical}.quote-form .wide,.quote-form button,.quote-form .form-note{grid-column:1/-1}.quote-form button{min-height:48px;font-size:15px}.form-note{margin:0;color:#5a675f;font-size:12px}.hp{position:absolute;left:-10000px}.section{padding:70px 0}.section h2,.photo-band h2{font-size:clamp(30px,4vw,48px);line-height:1.05;margin:0 0 18px}.section p{font-size:17px;color:#334239}.section-intro{max-width:820px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.card{background:#fff;border:1px solid var(--line);padding:22px;box-shadow:0 8px 24px rgba(31,111,74,.08)}.card h3{margin:0 0 10px;font-size:21px;color:var(--green)}.photo-band{padding:70px 0;background:var(--cream)}.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.image-grid figure{margin:0;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(31,111,74,.08)}.image-grid img{width:100%;height:230px;object-fit:cover;display:block}.image-grid figcaption{padding:14px;font-size:14px;color:#405047}.faq details{background:#fff;border:1px solid var(--line);margin:12px 0;padding:16px}.faq summary{cursor:pointer;font-weight:900;color:var(--green);font-size:18px}.narrow{max-width:760px}.footer{background:var(--dark);color:#e6f4ea;padding:44px 0 72px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:24px}.footer a{display:block;color:#d6f2de;text-decoration:none;margin:6px 0}.sticky-cta{display:none}.site-header + main .section:first-child{padding-top:150px}@media(max-width:860px){.site-header{position:fixed}.hero-nav{margin:0;width:100%;border-radius:0}.hamburger{display:block}.nav-items{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.18);padding:8px;max-height:calc(100vh - 138px);overflow-y:auto;align-items:stretch;flex-direction:column}.nav-items.open{display:flex}.navhome,.drop-toggle,.nav-phone,.nav-cta{min-height:44px;width:100%;justify-content:flex-start;text-align:left}.dropdown:hover .dropdown-menu{display:none}.dropdown.open .dropdown-menu{display:block;position:static;box-shadow:none;border:1px solid var(--line);margin:0 0 8px}.photo-hero{min-height:auto}.hero-overlay{padding:112px 0 32px;grid-template-columns:1fr}.hero-copy h1{font-size:34px}.lead{font-size:17px;line-height:1.45}.hero-pills{display:none}.cta-row{margin:14px 0}.primary,.secondary{padding:11px 14px;font-size:14px}.hero-card{padding:16px}.quote-form{grid-template-columns:1fr}.card-grid,.image-grid,.footer-grid{grid-template-columns:1fr}.image-grid img{height:210px}.section{padding:48px 0}.sticky-cta{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;z-index:60}.sticky-cta a{background:var(--green);color:#fff;text-align:center;text-decoration:none;padding:14px;font-weight:900}.sticky-cta a:first-child{background:#153b29}.footer{padding-bottom:92px}}


.wl-phone-cta{background:#0f172a;color:#fff;padding:.7rem 0;font-weight:700}.wl-phone-cta .wrap{display:flex;gap:.5rem;align-items:center;justify-content:center;flex-wrap:wrap}.wl-phone-cta a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Portfolio above-fold form normalization — 2026-05-19
   Keeps the primary intake card in the first mobile viewport without changing lead routing. */
.hero .quote-card,
.hero form.quote-card,
.hero .compact-quote-form,
.hero .mini-quote {
  max-width: 100%;
}
.hero .quote-card h2,
.hero form.quote-card h2 {
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  line-height: 1.15;
  margin: 0 0 .45rem;
}
.hero .quote-card p,
.hero form.quote-card p,
.hero .form-note {
  margin-top: 0;
  margin-bottom: .7rem;
}
.hero .quote-card input,
.hero .quote-card textarea,
.hero .quote-card select,
.hero form.quote-card input,
.hero form.quote-card textarea,
.hero form.quote-card select {
  padding: .72rem .78rem;
  margin: .28rem 0 .62rem;
}
.hero .quote-card textarea,
.hero form.quote-card textarea {
  min-height: 4.5rem;
}
.hero .quote-card button,
.hero form.quote-card button {
  width: 100%;
}
.hero-form-media,
.hero-form-media.hero-inline-photo,
.hero-form-media.hero-photo {
  margin-top: .9rem;
}
@media (min-width: 900px) {
  .hero .quote-card,
  .hero form.quote-card {
    position: sticky;
    top: 88px;
  }
}
@media (max-width: 760px) {
  .hero {
    padding-top: 1.15rem;
    padding-bottom: 1.6rem;
  }
  .hero-grid {
    gap: 1rem;
  }
  .hero .pill,
  .hero .eyebrow {
    margin-bottom: .35rem;
  }
  .hero h1 {
    margin-top: .45rem;
    margin-bottom: .55rem;
  }
  .hero .lead {
    font-size: 1rem;
    line-height: 1.42;
    margin: .45rem 0 .7rem;
  }
  .hero .cta-row {
    margin-top: .65rem;
    margin-bottom: .2rem;
    gap: .55rem;
  }
  .hero .quote-card,
  .hero form.quote-card {
    padding: .95rem;
    border-radius: 16px;
  }
  .hero .quote-card label,
  .hero form.quote-card label {
    font-size: .86rem;
  }
  .hero .quote-card input,
  .hero .quote-card textarea,
  .hero .quote-card select,
  .hero form.quote-card input,
  .hero form.quote-card textarea,
  .hero form.quote-card select {
    padding: .62rem .68rem;
    margin: .18rem 0 .5rem;
  }
  .hero .quote-card textarea,
  .hero form.quote-card textarea {
    min-height: 3.75rem;
  }
  .hero-form-media.hero-inline-photo figcaption,
  .hero-form-media figcaption {
    display: none;
  }
  .hero-form-media img,
  .hero-inline-photo img,
  .hero-photo img {
    max-height: 180px;
    object-fit: cover;
  }
}

.brand-with-logo{display:flex!important;align-items:center!important;gap:.65rem!important}.brand-with-logo img{width:56px;height:56px;display:block;flex:0 0 56px}
