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

:root{--forest:#173f2a;--forest-dark:#0d2b1b;--green:#2f6b45;--sage:#dbe7d8;--lime:#c9e865;--cream:#f5f3ea;--ink:#182019;--muted:#667069;--white:#fff;--shadow:0 18px 45px rgba(13,43,27,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:#fff;padding-bottom:0}
h1,h2,h3,h4,.navbar-brand{font-family:"Manrope",sans-serif;letter-spacing:-.035em}
h1{font-weight:800}
h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.08}
h3{font-weight:750}
p{color:var(--muted);line-height:1.75}
a{text-decoration:none}
.topbar{background:var(--forest-dark);color:#dbe7d8;font-size:.82rem;padding:.48rem 0}
.topbar a{color:#fff}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(23,63,42,.08);backdrop-filter:blur(14px)}
.navbar{padding:.75rem 0}
.navbar-brand{display:flex;align-items:center;color:var(--forest);gap:.7rem}
.navbar-brand img,.footer-brand img{width:50px;height:50px;object-fit:cover;border-radius:50%}
.navbar-brand span,.footer-brand span{display:flex;flex-direction:column;line-height:1}
.navbar-brand strong,.footer-brand strong{font-size:1.25rem}
.navbar-brand small,.footer-brand small{text-transform:uppercase;font-size:.65rem;letter-spacing:.16em;margin-top:.28rem}
.nav-link{font-weight:600;color:#35453a!important;padding:.75rem .85rem!important}
.nav-link.active,.nav-link:hover{color:var(--green)!important}
.btn{font-weight:700;border-radius:.35rem;padding:.78rem 1.25rem}
.btn-lg{padding:1rem 1.45rem}
.btn-brand{background:var(--forest);border-color:var(--forest);color:#fff}
.btn-brand:hover{background:var(--forest-dark);border-color:var(--forest-dark);color:#fff;transform:translateY(-1px)}
.btn-accent{background:var(--lime);border-color:var(--lime);color:var(--forest-dark)}
.btn-accent:hover{background:#ddf589;border-color:#ddf589;color:var(--forest-dark)}
.home-hero{position:relative;overflow:hidden;background:var(--forest-dark);color:white}
.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,35,21,.95) 0%,rgba(8,35,21,.78) 48%,rgba(8,35,21,.22) 100%),url('/hero-lawn.jpg') center/cover no-repeat;transform:scale(1.01)}
.min-vh-hero{min-height:720px}
.hero-copy{padding:5rem 0}
.hero-copy h1{font-size:clamp(3.1rem,7vw,6.6rem);line-height:.94;max-width:890px;margin:.8rem 0 1.5rem}
.hero-lead{color:#e2ebe4;font-size:1.2rem;max-width:700px;line-height:1.7}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;font-weight:800;color:var(--green);display:block;margin-bottom:1rem}
.hero-trust{display:flex;flex-wrap:wrap;gap:1.3rem;margin-top:2.5rem;color:#e2ebe4;font-size:.9rem}
.hero-trust i{color:var(--lime);margin-right:.45rem}
.intro-panel{padding:3.25rem 0;border-bottom:1px solid #e4e7e4}
.intro-panel h2{font-size:clamp(1.65rem,3vw,2.6rem)}
.text-link{font-weight:800;color:var(--forest)}
.text-link i{margin-left:.4rem}
.section-pad{padding:7rem 0}
.bg-cream{background:var(--cream)}
.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:3.25rem}
.section-heading>div{max-width:720px}.section-heading>p{max-width:430px;margin:0}
.service-card{position:relative;border:1px solid #dfe5df;padding:2rem;background:#fff;transition:.25s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.card-number{position:absolute;right:1.4rem;top:1.2rem;color:#b3bdb5;font-family:"Manrope";font-weight:800}
.service-icon{display:grid;place-items:center;width:58px;height:58px;background:var(--sage);color:var(--forest);font-size:1.5rem;border-radius:50%;margin-bottom:2rem}
.service-card h3{font-size:1.25rem}.service-card a{color:var(--forest);font-weight:800}
.image-stack{position:relative;padding:0 2rem 2rem 0}
.image-stack:before{content:"";position:absolute;inset:2rem 0 0 2rem;background:var(--forest)}
.main-img{position:relative;width:100%;height:620px;object-fit:cover;display:block}
.experience-badge{position:absolute;right:-1rem;bottom:4rem;background:var(--lime);color:var(--forest-dark);width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow)}
.experience-badge strong{font-family:"Manrope";font-size:1.6rem}.experience-badge span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.lead-copy{font-size:1.08rem}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;font-weight:700}
.check-grid i{color:var(--green);margin-right:.6rem}
.project-section{background:var(--forest-dark)}
.project-card{position:relative;margin:0;overflow:hidden;height:460px;background:#000}
.project-card img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:.4s ease}
.project-card:hover img{transform:scale(1.04);opacity:.68}
.project-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:2rem;color:white;background:linear-gradient(transparent,rgba(0,0,0,.76))}
.project-card small,.project-card strong{display:block}.project-card small{text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem}.project-card strong{font-family:"Manrope";font-size:1.25rem}
.area-tags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.area-tags span{background:var(--sage);color:var(--forest);padding:.65rem .9rem;border-radius:99px;font-weight:700;font-size:.88rem}
.accordion-item{border-color:#dce2dd}.accordion-button{font-weight:800;font-size:1.05rem;padding:1.4rem .25rem;background:white!important;color:var(--ink)!important;box-shadow:none!important}.accordion-body{padding:.2rem .25rem 1.5rem;color:var(--muted);line-height:1.75}
.estimate-form{background:white;padding:2.5rem;box-shadow:var(--shadow);border-top:5px solid var(--forest)}
.estimate-form label{font-weight:700;font-size:.85rem;margin-bottom:.45rem}.form-control,.form-select{border-radius:.25rem;border-color:#d7ddd8;padding:.85rem 1rem}.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .2rem rgba(47,107,69,.12)}
.contact-mini{display:flex;align-items:center;gap:1rem;margin-top:2rem}.contact-mini>i{font-size:1.5rem;width:54px;height:54px;display:grid;place-items:center;background:var(--sage);border-radius:50%;color:var(--forest)}.contact-mini small,.contact-mini a{display:block}.contact-mini a{font-size:1.15rem;font-weight:800;color:var(--forest)}
.cta-band{background:var(--green);color:white;padding:4rem 0}.cta-band h2{font-size:clamp(2rem,4vw,3.2rem)}.cta-band p{color:#dce9df}
.footer{background:#091f14;color:#c6d2c9;padding:5rem 0 1.5rem}.footer p{color:#9eaea3}.footer h3{color:white;font-size:1rem;text-transform:uppercase;letter-spacing:.1em}.footer-brand{display:flex;gap:.75rem;align-items:center;color:white}.footer-links li{margin:.75rem 0}.footer a{color:#c6d2c9}.footer a:hover{color:var(--lime)}.social-link{display:grid;width:42px;height:42px;border:1px solid #395044;place-items:center;border-radius:50%}.contact-list li{display:flex;gap:.7rem;margin:.9rem 0;align-items:flex-start}.contact-list i{color:var(--lime)}.footer-bottom{border-top:1px solid #294033;margin-top:4rem;padding-top:1.5rem;color:#718177;font-size:.85rem}
.page-hero{min-height:420px;background-position:center;background-size:cover;display:flex;align-items:center;color:white}.page-hero .container{padding-top:4rem;padding-bottom:4rem}.page-hero h1{font-size:clamp(3rem,7vw,5.4rem);max-width:850px}.page-hero p{font-size:1.12rem;color:#e1ebe4;max-width:700px}
.content-card{padding:2rem;border:1px solid #e0e5e1;background:white;height:100%}.content-card .service-icon{margin-bottom:1.5rem}
.check-list{list-style:none;padding:0;margin:1.5rem 0 0}.check-list li{margin:.75rem 0;color:var(--muted)}.check-list i{color:var(--green);font-weight:800;margin-right:.6rem}
.process-step{border-left:3px solid var(--sage);padding:0 0 2rem 2rem;position:relative}.process-step:before{content:"";position:absolute;left:-8px;top:0;width:13px;height:13px;background:var(--green);border-radius:50%}.process-step small{color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}.gallery-item{grid-column:span 6;position:relative;overflow:hidden;min-height:430px}.gallery-item:nth-child(3),.gallery-item:nth-child(4){grid-column:span 6}.gallery-item img{width:100%;height:100%;position:absolute;object-fit:cover;transition:.4s}.gallery-item:hover img{transform:scale(1.03)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:4rem 1.75rem 1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.78));color:white}.gallery-caption strong{font-size:1.25rem;display:block}
.contact-card{background:var(--forest);color:white;padding:2.2rem;height:100%}.contact-card p{color:#dce7df}.contact-method{display:flex;gap:1rem;padding:1.25rem 0;border-bottom:1px solid rgba(255,255,255,.14)}.contact-method i{font-size:1.35rem;color:var(--lime)}.contact-method small,.contact-method a,.contact-method span{display:block}.contact-method small{color:#a8b9ad;text-transform:uppercase;letter-spacing:.1em}.contact-method a,.contact-method span{color:white;font-weight:800;margin-top:.3rem}
.about-landscape{height:480px;object-fit:cover}
.mobile-action-bar{position:fixed;z-index:1050;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dbe2dc;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 -8px 24px rgba(0,0,0,.09)}.mobile-action-bar a{display:flex;flex-direction:column;align-items:center;padding:.62rem;color:var(--forest);font-size:.72rem;font-weight:800}.mobile-action-bar i{font-size:1.05rem}.mobile-action-bar a:last-child{background:var(--lime)}
@media(max-width:991px){body{padding-bottom:64px}.topbar .container span{display:none}.topbar .container{justify-content:center!important}.navbar-collapse{padding:1rem 0}.min-vh-hero{min-height:650px}.hero-image{background:linear-gradient(rgba(8,35,21,.78),rgba(8,35,21,.9)),url('/hero-lawn.jpg') center/cover}.hero-copy h1{font-size:clamp(3rem,12vw,5rem)}.section-pad{padding:5rem 0}.section-heading{display:block}.section-heading>p,.section-heading>.text-link{margin-top:1rem}.main-img{height:520px}.cta-band{text-align:center}.cta-band .d-flex{justify-content:center}.gallery-item{grid-column:span 12!important}}
@media(max-width:575px){.navbar-brand img{width:43px;height:43px}.navbar-brand strong{font-size:1.05rem}.hero-copy{padding:4rem 0}.hero-copy .btn{width:100%}.hero-trust{display:grid;gap:.65rem}.section-pad{padding:4rem 0}.service-card,.estimate-form{padding:1.5rem}.check-grid{grid-template-columns:1fr}.image-stack{padding:0 1rem 1rem 0}.main-img{height:410px}.experience-badge{width:120px;height:120px;right:-.3rem}.project-card{height:380px}.page-hero{min-height:360px}.gallery-item{min-height:360px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
