/* Light, practical presentation layer for the 2026 design review candidate. */
:root{
  --ink:#17301f;
  --forest:#173820;
  --deep:#23512d;
  --green:#2d6a3b;
  --mid:#3f7e4c;
  --bright:#4f8f5b;
  --sage:#a9c8af;
  --mist:#dce9de;
  --cream:#fbfaf6;
  --parchment:#f2f4ed;
  --warm:#e8eee5;
  --linen:#f5f7f2;
  --text:#27372c;
  --muted:#59685e;
  --soft:#728078;
  --white:#fff;
  --focus-ring:0 0 0 3px rgba(45,106,59,.28);
}

html{background:var(--cream)}
body{background:var(--cream);color:var(--text);font-size:16px;line-height:1.65}
h1,h2,h3,h4,.sec-h2,.inner-hero h1,.policy-body h2,.mob-link{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  letter-spacing:-.035em!important;
}
h1 em,h2 em,h3 em,h4 em,.sec-h2 em,.inner-hero h1 em{font-style:normal!important}
p,li,.sec-sub,.inner-hero-sub{font-weight:400!important}

.sec{padding-top:96px;padding-bottom:96px}
.sec-inner,.inner-hero-inner,.footer-inner{max-width:1180px}
.sec-h2{font-size:clamp(34px,4.3vw,58px)!important;line-height:1.06!important}
.sec-sub{font-size:17px!important;line-height:1.72!important;max-width:640px}
.sec-eyebrow-text,.eyebrow-text{letter-spacing:.16em!important}

.inner-hero{background:var(--forest);padding-top:140px;padding-bottom:78px}
.inner-hero::before{background:none}
.inner-hero h1{font-size:clamp(42px,5.4vw,68px)!important;max-width:850px}
.inner-hero-sub{font-size:17px!important;line-height:1.7!important;max-width:650px}
.inner-hero,.inner-hero *{--ink:#fff;--text:#fff;--muted:#d3ded4;--soft:#b8c6ba}

.nav-hamburger span{background:#fff!important}
.nav-link{font-weight:650;letter-spacing:.07em}
.nav-cta,.nav-mobile-btn,.btn{border-radius:2px!important;clip-path:none!important;letter-spacing:.07em!important}
.btn{min-height:46px;padding:13px 25px;font-size:12px}
.btn-primary{background:var(--green)!important;border:1px solid var(--green)!important;color:#fff!important}
.btn-primary:hover{background:#234f2d!important;border-color:#234f2d!important}

.card,.svc-card,.img-card,.ba-pair,.faq-item,.policy-nav,
article[aria-labelledby="mulch-case-title"]{
  border-radius:3px!important;
  border:1px solid #dfe6dc!important;
  box-shadow:0 12px 34px rgba(27,58,34,.08)!important;
}
.svc-card{background:#fff!important;cursor:default!important}
.svc-card:not(.svc-card-dk):hover{background:#fff!important}
.svc-card-dk{background:var(--forest)!important;border-color:var(--forest)!important}
.svc-card-dk:hover{background:var(--forest)!important}
.svc-card .svc-desc{font-size:15px!important;line-height:1.7!important}
.img-card img,.svc-photo img{transition:none!important}
.img-card:hover img,.svc-photo:hover img,.ba-fig:hover .ba-img{transform:none!important}

.faq-item{background:#fff!important;border-color:#dfe6dc!important}
.faq-item:hover{background:#f7f9f5!important;border-color:#b8cbb8!important}
.faq-q{color:var(--ink)!important;font-size:16px!important}
.faq-a{color:var(--muted)!important;font-size:15px!important;line-height:1.75!important}

section[style*="background:var(--forest)"],
#home,
.sec-dk{
  --ink:#fff;
  --text:#fff;
  --muted:#ced9cf;
  --soft:#aebcaf;
}
section[style*="background:var(--forest)"] h1,
section[style*="background:var(--forest)"] h2,
section[style*="background:var(--forest)"] h3,
section[style*="background:var(--forest)"] p,
section[style*="background:var(--forest)"] li{color:inherit}

.trust-bar{background:#214a2b;border:0}
.trust-item{color:rgba(255,255,255,.86)!important;font-weight:550}
.trust-div{background:rgba(255,255,255,.2)!important}

.policy-body h2,.policy-nav strong{color:var(--ink)!important}
.policy-body p,.policy-body li,.policy-nav a{color:var(--muted)!important}
.policy-body a{color:var(--green)!important}
.policy-body section{border-color:#dfe6dc!important}
.policy-nav{background:#fff!important}
.updated{background:#e6f0e5!important;color:#285e35!important;border-radius:2px!important}

[style*="font-size:14px"][style*="line-height:1.85"],
[style*="font-size:13.5px"][style*="line-height:1.8"]{
  font-size:16px!important;
  line-height:1.72!important;
}
[style*="background:var(--white)"]{border-color:#dfe6dc}

.footer-desc,.footer-link,.footer-copy,.footer-copy b,.footer-social,.footer-col-title{color:rgba(255,255,255,.73)!important}
.breadcrumbs{font-size:14px}

@media(max-width:800px){
  .sec{padding-top:68px!important;padding-bottom:68px!important}
  .inner-hero{padding-top:118px!important;padding-bottom:56px!important}
  .sec-h2{font-size:clamp(32px,9vw,44px)!important}
  .inner-hero h1{font-size:clamp(38px,11vw,54px)!important}
  .sec-sub,.inner-hero-sub{font-size:16px!important}
  .btn{width:100%;justify-content:center;text-align:center}
  #hero-grid{padding-bottom:64px!important;gap:32px!important}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

.featured-project-photo,.project-detail-photo{
  overflow:hidden;
  background:#fff;
  border:1px solid #dfe6dc;
  border-radius:3px;
  box-shadow:0 14px 38px rgba(27,58,34,.1);
}
.featured-project-photo figcaption,.project-detail-photo figcaption{
  padding:14px 16px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

/* Image-backed cards need their own dark-surface foreground system. */
#services .svc-card{
  background:#122016!important;
  border-color:rgba(255,255,255,.2)!important;
  box-shadow:0 12px 34px rgba(27,58,34,.16)!important;
}
#services .svc-card .svc-num,
#services .svc-card .svc-price-label{
  color:#d8e6da!important;
  opacity:1!important;
}
#services .svc-card .svc-title,
#services .svc-card .svc-price{
  color:#fff!important;
}
#services .svc-card .svc-desc{
  color:#f0f5f0!important;
}
#services .svc-card .svc-footer{
  border-color:rgba(255,255,255,.42)!important;
}
#services .svc-card .svc-arrow{
  position:relative;
  z-index:2;
  color:#17301f!important;
  background:#f4f8f4!important;
  border-color:#f4f8f4!important;
}
#services .svc-card .svc-arrow:hover,
#services .svc-card .svc-arrow:focus-visible{
  color:#fff!important;
  background:#2d6a3b!important;
  border-color:#9ac2a0!important;
}
.img-card .img-caption-eyebrow{
  color:#cfe5d2!important;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
}
.img-card .img-caption-title{
  color:#fff!important;
  text-shadow:0 1px 3px rgba(0,0,0,.8);
}
#gallery-detail-row [style*="color:var(--bright)"]{
  color:#cfe5d2!important;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
}

/* Seven services read as a deliberate 4 + 3 grid on wide screens. */
@media(min-width:1000px){
  #services .svc-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
