@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root{
  --green:#245c3a; --deep:#173d28; --sage:#dfe9dc; --cream:#f7f5ed;
  --gold:#c99a45; --ink:#1d2a22; --muted:#617067; --white:#fff;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65;background:#fff}
.container{width:min(1120px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e8eee8}
.nav{
  width:min(1120px,92%);
  margin:0 auto;
  height:115px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{display:flex;align-items:center;gap:10px;color:var(--deep);text-decoration:none;line-height:1.05}
.brand-mark{font-size:31px;color:var(--gold)}
.brand strong{display:block;font-size:18px;letter-spacing:-.02em}.brand small{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#718076;margin-top:3px}
nav{display:flex;gap:27px}nav a{color:#405046;text-decoration:none;font-size:14px;font-weight:600}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:12px 20px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.nav-cta{background:var(--green);color:white;font-size:14px}
.hero{position:relative;min-height:460px;display:flex;align-items:center;background-image:linear-gradient(rgba(15,55,35,.35),rgba(15,55,35,.35)),url('hero-lawn.png');background-size:cover;background-position:center;overflow:hidden}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#e6d5a9;margin-bottom:14px}
.eyebrow.dark{color:var(--green)}
h1,h2{font-family:"Playfair Display",Georgia,serif;line-height:1.08;margin:0 0 20px}
h1{font-size:clamp(52px,8vw,88px);max-width:760px;letter-spacing:-.04em}
h2{font-size:clamp(36px,5vw,56px);letter-spacing:-.03em;color:var(--deep)}
.hero-copy{font-size:21px;max-width:650px;color:#f2f5ef}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}
.hero h1{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.button.primary{background:var(--gold);color:#1f2d24}.button.secondary{background:transparent;color:white;border:1px solid rgba(255,255,255,.6)}
.button.light{background:white;color:var(--deep)}
.trust-row{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;color:#edf4eb}
.intro{background:var(--cream);padding:75px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.intro p{font-size:19px;color:var(--muted)}
.section{padding:100px 0}.section-heading{max-width:700px;margin-bottom:48px}.section-heading p{color:var(--muted);font-size:18px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:30px;border:1px solid #e2e9e2;border-radius:10px;background:white;box-shadow:0 8px 25px rgba(26,53,36,.04)}.card .card .icon{
  width:50px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:15px;
  color:var(--gold);
}

.card .icon svg{
  width:50px;
  height:50px;
  display:block;
  fill:none;
  stroke:var(--gold);
  stroke-width:2.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.card .icon svg *{
  stroke:var(--gold) !important;
}
.feature{background:var(--sage);padding:90px 0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-photo{min-height:500px;border-radius:12px;background:linear-gradient(160deg,#6e8b68,#315b3e 65%,#1b3927);box-shadow:20px 20px 0 rgba(201,154,69,.25)}.feature-copy p,.feature-copy li{color:#526259}.feature-copy ul{padding-left:20px}.feature-copy li{margin:9px 0}.text-link{color:var(--green);font-weight:700;text-decoration:none}
.soft{background:#fbfcfa}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-grid p{color:var(--muted);font-size:18px}
.area-box{border:1px solid #dfe8df;border-radius:14px;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.area-list{display:flex;flex-wrap:wrap;gap:10px;align-content:center}.area-list span{background:var(--cream);padding:10px 15px;border-radius:30px;color:var(--green);font-weight:600}
.cta-band{background:var(--green);color:white;padding:65px 0}.cta-content{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{color:white;max-width:720px;margin:0}
.contact{
  background:var(--cream);
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
}

.contact p{
  color:var(--muted);
  font-size:17px;
}

.phone{
  font-size:30px;
  font-weight:700;
  color:var(--green) !important;
  text-decoration:none !important;
}

.phone:hover{
  color:var(--gold) !important;
  text-decoration:underline !important;
}
small{font-size:13px!important}
form{background:white;padding:32px;border-radius:12px;box-shadow:0 12px 35px rgba(24,54,35,.07)}label{display:block;font-weight:700;font-size:13px;margin-bottom:16px;color:var(--deep)}input,select,textarea{width:100%;margin-top:6px;border:1px solid #d5ded6;border-radius:6px;padding:12px;font:inherit;color:var(--ink);background:#fff}textarea{resize:vertical}.form-note{font-size:11px!important;margin:12px 0 0}
footer{background:#142b1d;color:#cbd6cd;padding:25px 0}.footer{
  display:grid;
  grid-template-columns:1.2fr 1fr 1.2fr;
  align-items:center;
  gap:50px;
  font-size:13px;
}.footer a{color:white;text-decoration:none}.footer-brand strong{color:white}.footer-brand small{color:#9aaba0}
.footer-brand img{
  width:150px;
  height:auto;
  display:block;
}
.footer-links,
.footer-contact{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.footer-links a,
.footer-contact a{
  color:#cbd6cd;
  text-decoration:none;
}

.footer-links a:hover,
.footer-contact a:hover{
  color:var(--gold);
}
.footer-copyright {
  grid-column: 1 / -1;
  margin: 20px 0 0;
  padding-top: 15px;
  border-top: 1px solid rgba(255,255,255,.15);
  color: #9aa8ab;
  font-size: 12px;
  text-align: center;
}
@media (max-width: 800px) {
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    background: #fff;
  }

  body {
    padding-top: 130px;
  }

  .nav {
    height: auto;
    min-height: 70px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    padding: 8px 13px;
  }

  nav {
    display: flex;
    order: 3;
    width: 100%;
    justify-content: center;
    gap: 18px;
    padding: 6px 0 4px;
  }

  .hero {
    min-height: 620px;
  }

  .intro-grid,
  .feature-grid,
  .about-grid,
  .area-box,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .cards {
    grid-template-columns: 1fr 1fr;
  }

  .feature-photo {
    min-height: 330px;
  }

  .cta-content {
    display: block;
  }

  .cta-content .button {
    margin-top: 20px;
  }

  .footer {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (max-width: 520px) {
  .cards {
    grid-template-columns: 1fr;
  }

  .hero-content {
    padding: 80px 0;
  }

  .hero-copy {
    font-size: 18px;
  }

  .section {
    padding: 75px 0;
  }

  .area-box {
    padding: 30px;
  }

  .nav-cta {
    padding: 10px 13px;
  }
}
/* Call / Text popup */
.contact-choice {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(20, 43, 29, 0.65);
}

.contact-choice-box {
  position: relative;
  width: min(420px, 100%);
  padding: 32px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  text-align: center;
}

.contact-choice-box h3 {
  margin: 0 0 8px;
  color: var(--deep);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
}

.contact-choice-box p {
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 15px;
}

.contact-choice-close {
  position: absolute;
  top: 10px;
  right: 14px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.contact-choice-button {
  display: block;
  width: 100%;
  margin: 10px 0;
  padding: 13px 18px;
  border-radius: 7px;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
}

.contact-choice-button.call {
  background: var(--green);
  color: white;
}

.contact-choice-button.text {
  background: var(--gold);
  color: var(--ink);
}

.contact-choice-cancel {
  margin-top: 10px;
  padding: 10px 18px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.contact-choice-button:hover,
.contact-choice-cancel:hover {
  opacity: 0.85;
}

.contact-choice-close:hover {
  color: var(--green);
}