
:root{--ink:#172018;--muted:#61705f;--line:#dfe5d8;--soft:#f6f4ea;--sand:#d9b66a;--green:#2f5b37;--deep:#14351f;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;line-height:1.58}a{color:inherit}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 20px}.brand{font-weight:900;text-decoration:none;color:var(--deep);letter-spacing:-.02em}.menu{display:none}.navlinks{display:flex;align-items:center;gap:12px}.navlinks a,.dropbtn{font:inherit;font-weight:750;color:#2d3a2c;text-decoration:none;background:transparent;border:0;padding:10px 8px;cursor:pointer}.nav-phone{background:var(--deep)!important;color:#fff!important;border-radius:999px;padding:10px 14px!important}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;right:0;top:100%;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 20px 50px rgba(20,53,31,.15)}.dropdown:hover .dropdown-menu,.dropdown.open .dropdown-menu{display:grid}.dropdown-menu a{padding:10px;border-radius:10px}.dropdown-menu a:hover{background:var(--soft)}.phone-band{background:var(--deep);color:#fff;font-weight:750;padding:10px 0;text-align:center}.phone-band a{color:#fff;text-underline-offset:3px}.hero{background:radial-gradient(circle at top left,rgba(217,182,106,.35),transparent 35%),linear-gradient(135deg,#f8f4e8,#edf4e8);padding:clamp(48px,7vw,82px) 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);grid-template-areas:"copy quote" "photo quote";gap:24px 30px;align-items:start}.hero-copy{grid-area:copy}.hero-photo{grid-area:photo}.hero-quote{grid-area:quote;align-self:start;position:sticky;top:92px;max-width:none;margin:0}.hero-quote h2{font-size:1.35rem;margin:0 0 6px}.hero-quote .form-note{margin:0 0 10px}.hero-quote label{margin-top:9px}.hero-quote input,.hero-quote textarea{padding:11px}.hero-quote .btn{width:100%;margin-top:12px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:900;font-size:.78rem;margin:0 0 10px}h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.02;margin:0 0 16px;letter-spacing:-.045em}h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.1;margin:0 0 14px;letter-spacing:-.025em}h3{margin:0 0 8px}.lead{font-size:clamp(1.08rem,2vw,1.25rem);max-width:760px;color:#334233}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;background:var(--green);color:#fff;text-decoration:none;border:0;padding:13px 18px;font-weight:900;cursor:pointer}.btn.ghost{background:#fff;color:var(--deep);border:1px solid #c7d0bf}.hero-photo,.photo-grid figure,.quote-card,.note-card,.prose{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 20px 45px rgba(20,53,31,.1)}.hero-photo{margin:0}.hero-photo img,.photo-grid img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.hero-photo figcaption,.photo-grid figcaption{padding:12px 14px;color:var(--muted);font-size:.92rem}.trust-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px 20px}.trust-grid div{background:var(--soft);border-radius:18px;padding:14px}.trust-grid strong{display:block;color:var(--deep)}.trust-grid span{color:var(--muted);font-size:.94rem}.section{padding:clamp(42px,6vw,70px) 0}.soft{background:var(--soft)}.two{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.note-card{padding:22px}.note-card ul{margin:0;padding-left:20px}.note-card li{margin:8px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin:10px 0}.faq summary{font-weight:900;cursor:pointer}.quote-card{padding:24px;max-width:760px;margin:0 auto}.quote-card label{display:block;font-weight:850;margin-top:12px}.quote-card input,.quote-card textarea{width:100%;border:1px solid #cbd6c4;border-radius:14px;padding:13px;margin-top:6px;font:inherit}.form-note,.small{color:var(--muted)}.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.prose{padding:28px}.prose p{max-width:780px}footer{background:#111c13;color:#fff;padding:38px 0 84px}.foot{display:flex;justify-content:space-between;gap:24px}.foot a{display:inline-block;margin-left:14px;color:#fff}.mobile-cta{display:none}.form-wrap{scroll-margin-top:110px}@media(max-width:820px){.menu{display:inline-flex;border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 14px;font-weight:900}.navlinks{display:none;position:absolute;left:12px;right:12px;top:64px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;max-height:70vh;overflow-y:auto;box-shadow:0 20px 50px rgba(20,53,31,.18)}.navlinks.open{display:block}.dropdown{display:block}.dropdown:hover .dropdown-menu{display:none!important}.dropdown.open .dropdown-menu{display:grid!important;position:static;box-shadow:none;border-radius:12px;margin:4px 0}.navlinks a,.dropbtn{display:flex;width:100%;min-height:44px;align-items:center}.nav-phone{justify-content:center;margin-top:8px}.hero-grid,.two,.trust-grid,.photo-grid{grid-template-columns:1fr}.hero-grid{grid-template-areas:"copy" "quote" "photo"}.hero-quote{position:relative;top:auto}.hero-photo{margin-top:4px}.hero{padding-top:34px}.phone-band{font-size:.92rem}.mobile-cta{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;z-index:30;box-shadow:0 -12px 28px rgba(0,0,0,.18)}.mobile-cta a{background:var(--deep);color:#fff;text-align:center;text-decoration:none;font-weight:900;padding:13px 8px;min-height:48px}.mobile-cta a+ a{background:var(--green)}body{padding-bottom:48px}.foot{display:block}.foot a{margin:10px 12px 0 0}}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.note{background:#fff;border:1px solid rgba(24,39,47,.12);border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(24,39,47,.08)}.card h3,.note h3{margin-top:0}.checklist{padding-left:1.1rem}.checklist li{margin:.45rem 0}@media(max-width:820px){.cards{grid-template-columns:1fr}}

/* 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;
  }
}
