:root{
  --black:#070907;
  --charcoal:#0d110f;
  --charcoal-2:#131815;
  --green:#76b82a;
  --green-dark:#4f8f14;
  --white:#f6f8f6;
  --muted:#b7c0b8;
  --line:rgba(255,255,255,.12);
  --shadow:0 20px 60px rgba(0,0,0,.28);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,system-ui,sans-serif;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(5,7,6,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);transition:.3s}
.site-header.scrolled{background:rgba(5,7,6,.95);box-shadow:0 12px 40px rgba(0,0,0,.25)}
.nav-wrap{min-height:78px;display:flex;align-items:center;
 justify-content:center;justify-content:space-between;gap:24px}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:255px;
}
.brand-mark{
  width:54px;
  height:54px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.brand-copy{
  display:flex;
  flex-direction:column;
  line-height:1;
}
.brand-name{
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:1.48rem;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:#fff;
  white-space:nowrap;
}
.brand-tagline{
  margin-top:7px;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:#d7ded8;
  white-space:nowrap;
}
.main-nav{display:flex;align-items:center;gap:28px;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.main-nav a{position:relative}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--green);transition:.25s}
.main-nav a:hover::after{right:0}
.nav-cta{background:var(--green);color:#071006;padding:12px 18px;border-radius:8px}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:white;margin:5px}
.hero{min-height:820px;display:grid;align-items:center;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.75) 45%,rgba(0,0,0,.38) 100%),
url('../assets/mulch-after-2.jpg') center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:220px;background:linear-gradient(transparent,var(--black))}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,rgba(118,184,42,.14),transparent 38%)}
.hero-content{position:relative;z-index:4;padding-top:150px;max-width:970px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.82rem;color:#fff}
.eyebrow.green{color:var(--green)}
h1,h2,h3{font-family:"Barlow Condensed",Inter,sans-serif;text-transform:uppercase;line-height:.95;margin:0}
h1{font-size:clamp(4rem,8.8vw,8rem);max-width:1000px;letter-spacing:-.025em}
h1 span{color:var(--green)}
h2{font-size:clamp(2.6rem,5vw,4.8rem);letter-spacing:-.02em}
h3{font-size:1.65rem}
.hero-copy{max-width:650px;font-size:1.18rem;color:#e8eee9;margin:24px 0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 24px;border-radius:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;cursor:pointer;transition:.25s}
.btn-primary{background:var(--green);color:#061006;box-shadow:0 14px 32px rgba(118,184,42,.2)}
.btn-primary:hover{transform:translateY(-2px);background:#8bd433}
.btn-secondary{border-color:rgba(255,255,255,.45);background:rgba(0,0,0,.25)}
.btn-secondary:hover{background:#fff;color:#000}
.hero-services{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-top:30px;max-width:900px;font-weight:700;text-transform:uppercase;font-size:.9rem}
.hero-services span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.hero-services span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}
.hero-vine{position:absolute;z-index:3;pointer-events:none}
.hero-vine-header{left:0;right:0;top:24px;width:100%;height:165px;opacity:.97;overflow:hidden}
.hero-vine-header svg{display:block;width:100%;height:100%}
.hero-vine-header .vine-thick{
  fill:none;
  stroke:url(#vineMainGrad);
  stroke-width:19;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-vine-header .vine-highlight{
  fill:none;
  stroke:url(#vineHiGrad);
  stroke-width:5;
  stroke-linecap:round;
  opacity:.9;
}
.hero-vine-header .leaf path:first-child{fill:url(#leafGrad);stroke:#244d18;stroke-width:3}
.hero-vine-header .leaf-vein{fill:none;stroke:#28511b;stroke-width:2.2;stroke-linecap:round}
.hero-vine-header .tendril{fill:none;stroke:#68ad37;stroke-width:6;stroke-linecap:round}
.trust-strip{position:relative;z-index:3;background:#0b0f0d;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid>div{padding:28px 24px;border-right:1px solid var(--line)}
.trust-grid>div:last-child{border-right:0}
.trust-grid strong{display:block;text-transform:uppercase;font-size:.95rem}
.trust-grid span{display:block;color:var(--muted);font-size:.86rem;margin-top:4px}
.section{padding:110px 0}
.section.light{background:#f4f6f3;color:#111}
.section.dark{background:linear-gradient(120deg,#070907,#121713)}
.section-heading{max-width:760px;margin:0 auto 48px;text-align:center}
.section-heading p:last-child{color:#5d675f;font-size:1.04rem}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-card{background:white;border:1px solid #dfe5df;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.08);transition:.3s}
.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(0,0,0,.15)}
.service-image{height:210px;background-size:cover;background-position:center}
.service-body{padding:24px}
.service-body h3{color:#111}
.service-body p{color:#606961;margin-bottom:0}
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.about-media{position:relative}
.about-media>img{border-radius:22px;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover}
.about-badge{position:absolute;right:-24px;bottom:-24px;background:var(--green);color:#071006;padding:18px 22px;border-radius:14px;display:flex;align-items:center;gap:12px;font-weight:900;text-transform:uppercase}
.about-badge img{width:46px;height:46px;object-fit:contain}
.about-copy p{color:#c8d0c9}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:28px 0 34px}
.check-grid span{display:flex;gap:10px;align-items:center;font-weight:700}
.check-grid span::before{content:"✓";color:var(--green);font-weight:900}
.comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.comparison-card{background:white;border:1px solid #dfe5df;border-radius:18px;padding:14px;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.comparison-card h3{margin:16px 8px 8px;color:#111}
.comparison{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:16/10;background:#ddd}
.comparison img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.after-wrap{position:absolute;inset:0;width:50%;overflow:hidden}
.after-wrap img{width:100vw;max-width:none}
.divider{position:absolute;top:0;bottom:0;left:50%;width:3px;background:white;box-shadow:0 0 0 1px rgba(0,0,0,.2);pointer-events:none}
.divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:white;color:#111;display:grid;place-items:center;font-weight:900}
.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.label{position:absolute;bottom:12px;padding:6px 10px;border-radius:6px;background:rgba(0,0,0,.75);color:#fff;text-transform:uppercase;font-size:.74rem;font-weight:800}
.before-label{left:12px}.after-label{right:12px}
.reviews{background:#0b0f0d}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{margin:0;background:#151b17;border:1px solid var(--line);padding:30px;border-radius:16px}
.stars{color:var(--green);letter-spacing:.18em}
.review p{color:#d9e0da;font-size:1rem}
.review-note{text-align:center;color:#809087;font-size:.8rem;margin-top:22px}
.contact-section{position:relative;padding:110px 0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.68)),url('../assets/mulch-after-1.jpg') center/cover fixed}
.contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.contact-copy h2{font-size:clamp(3.5rem,7vw,6.5rem)}
.contact-copy p{color:#d2d9d3}
.contact-links{display:flex;flex-direction:column;gap:8px;margin-top:26px;font-weight:800}
.contact-links a{color:var(--green);font-size:1.25rem}
.estimate-form{background:white;color:#111;border-radius:20px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:var(--shadow)}
.estimate-form label{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.estimate-form input,.estimate-form textarea,.estimate-form select{width:100%;margin-top:7px;border:1px solid #d9dfda;border-radius:9px;padding:13px;background:#f8faf8}
.full{grid-column:1/-1}
.form-note{font-size:.75rem;color:#647068;margin:0}
.site-footer{background:#050605;border-top:1px solid var(--line);padding:58px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:50px}
.footer-brand-lockup{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-bottom:22px;
}
.footer-brand-mark{
  width:90px;
  height:90px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  margin:0 auto 10px;
  display:block;
}
.footer-brand-copy{
 display:flex;
 flex-direction:column;
 align-items:center;
 text-align:center;
 line-height:1;
}
.footer-brand-name{
 font-family:"Barlow Condensed",Inter,sans-serif;
 font-size:.62rem;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
 color:#fff;
 white-space:nowrap;
 text-align:center;
 display:block;
}
.footer-brand-tagline{
 margin-top:8px;
 font-size:.62rem;
 font-weight:700;
 letter-spacing:.42em;
 text-transform:uppercase;
 color:#d5ddd6;
 white-space:nowrap;
 text-align:center;
 display:block;
}
.footer-brand p{
  text-align:center;
  max-width:390px;
  color:#bfc8c1;
}
.footer-grid h4{text-transform:uppercase;margin:0 0 16px;color:var(--green)}
.footer-grid a,.footer-grid span{display:block;color:#bfc8c1;margin:8px 0;font-size:.92rem}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:42px;padding-top:22px;color:#829087;font-size:.82rem}
.floating-call{position:fixed;right:20px;bottom:20px;z-index:40;background:var(--green);color:#071006;border-radius:999px;padding:14px 20px;font-weight:900;box-shadow:0 16px 40px rgba(0,0,0,.35);display:none}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media (max-width:1050px){
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .main-nav{gap:17px;font-size:.78rem}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .about-badge{right:16px}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .footer-grid>div:last-child{grid-column:2/4}
}
@media (max-width:760px){
  .container{width:min(100% - 28px,1180px)}
  .menu-toggle{display:block}
  .main-nav{position:absolute;top:78px;left:14px;right:14px;background:#0b0f0d;border:1px solid var(--line);border-radius:14px;padding:20px;display:none;flex-direction:column;align-items:stretch}
  .main-nav.open{display:flex}
  .brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:255px;
}
.brand-mark{
  width:54px;
  height:54px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.brand-copy{
  display:flex;
  flex-direction:column;
  line-height:1;
}
.brand-name{
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:1.48rem;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:#fff;
  white-space:nowrap;
}
.brand-tagline{
  margin-top:7px;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:#d7ded8;
  white-space:nowrap;
}
  .hero{min-height:760px;background-position:58% center}
  .hero-content{padding-top:150px}
  .hero-vine-header{top:28px;height:118px;opacity:.97}
  .hero-vine-header .vine-thick{stroke-width:22}
  .hero-vine-header .vine-highlight{stroke-width:5}
  h1{font-size:clamp(3.4rem,17vw,5.2rem)}
  .hero-services{gap:8px 14px;font-size:.76rem}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-grid>div{border-bottom:1px solid var(--line)}
  .section{padding:78px 0}
  .service-grid,.comparison-grid,.review-grid{grid-template-columns:1fr}
  .about-grid{gap:40px}
  .check-grid{grid-template-columns:1fr}
  .estimate-form{grid-template-columns:1fr}

  .footer-brand-lockup{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-bottom:22px;
}
  .footer-brand-mark{
  width:90px;
  height:90px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  margin:0 auto 10px;
  display:block;
}
  .footer-brand-name{
 font-family:"Barlow Condensed",Inter,sans-serif;
 font-size:.62rem;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
 color:#fff;
 white-space:nowrap;
 text-align:center;
 display:block;
}
  .footer-brand-tagline{
 margin-top:8px;
 font-size:.62rem;
 font-weight:700;
 letter-spacing:.42em;
 text-transform:uppercase;
 color:#d5ddd6;
 white-space:nowrap;
 text-align:center;
 display:block;
}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div:last-child{grid-column:auto}
  .footer-bottom{flex-direction:column;gap:10px}
  .floating-call{display:block}
}


/* Decorative side vines */
.side-vines{
  position:fixed;
  inset:0;
  z-index:6;
  pointer-events:none;
  overflow:hidden;
}
.side-vine{
  position:absolute;
  top:78px;
  bottom:0;
  width:112px;
  opacity:.52;
  will-change:transform;
  transition:opacity .3s ease;
}
.side-vine-left{left:0}
.side-vine-right{right:0}
.side-vine svg{width:100%;height:145%;display:block}
.side-stem{
  fill:none;
  stroke-width:13;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.side-stem-highlight{
  fill:none;
  stroke:#9ce45b;
  stroke-width:3.5;
  stroke-linecap:round;
  opacity:.6;
}
.side-leaf path:first-child{
  fill:url(#sideLeafLeft);
  stroke:#244d18;
  stroke-width:2.5;
}
.side-vine-right .side-leaf path:first-child{fill:url(#sideLeafRight)}
.leaf-line{
  fill:none;
  stroke:#28511b;
  stroke-width:2;
  stroke-linecap:round;
}
.side-tendril{
  fill:none;
  stroke:#67ad37;
  stroke-width:4.5;
  stroke-linecap:round;
}
.side-leaf{
  transform-box:fill-box;
  transform-origin:center;
  animation:leafSway 6.5s ease-in-out infinite alternate;
}
.side-vine .leaf-b{animation-delay:-1.2s}
.side-vine .leaf-c{animation-delay:-2.4s}
.side-vine .leaf-d{animation-delay:-3.1s}
.side-vine .leaf-e{animation-delay:-4.3s}
.side-vine .leaf-f{animation-delay:-5.1s}
.side-vine .leaf-g{animation-delay:-2.8s}

@keyframes leafSway{
  0%{rotate:-1.8deg}
  50%{rotate:1.2deg}
  100%{rotate:2.4deg}
}

@media (max-width:1320px){
  .side-vine{width:78px;opacity:.38}
}
@media (max-width:1100px){
  .side-vines{display:none}
}
@media (prefers-reduced-motion:reduce){
  .side-leaf{animation:none}
}

/* Day 2 homepage additions */
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-review{background:transparent;color:var(--green);border:1px solid var(--green);padding:11px 16px;border-radius:8px;font-weight:800;white-space:nowrap;transition:.25s}
.nav-review:hover{background:var(--green);color:#071006;transform:translateY(-2px)}
.gallery-cta{display:flex;justify-content:center;margin-top:36px}
.social-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.social-btn{display:inline-flex!important;align-items:center;justify-content:center;min-width:104px;margin:0!important;padding:10px 14px;border:1px solid rgba(118,184,42,.8);border-radius:8px;color:var(--green)!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em;transition:.25s}
.social-btn:hover{background:var(--green);color:#071006!important;transform:translateY(-2px)}
.gallery-main{min-height:calc(100vh - 140px);padding-top:78px;background:linear-gradient(135deg,#070907,#111713)}
.gallery-hero{padding:140px 0 110px}
.gallery-hero h1{font-size:clamp(4rem,10vw,8rem);color:#fff}
.gallery-hero p:not(.eyebrow){max-width:650px;color:#c8d0c9;font-size:1.08rem;margin:22px 0 30px}
@media (max-width:1050px){
  .nav-actions{width:100%;flex-direction:column;align-items:stretch}
  .nav-actions a{text-align:center}
}


/* Navbar alignment refinement */
@media (min-width:1051px){
  .nav-wrap{
    display:grid;
    grid-template-columns:minmax(270px,1fr) minmax(520px,auto) minmax(360px,1fr);
    align-items:center;
    column-gap:24px;
  }

  .brand{
    justify-self:start;
  }

  .main-nav{
    width:100%;
    display:grid;
    grid-template-columns:repeat(5,max-content);
    align-items:center;
    justify-content:center;
    gap:28px;
    white-space:nowrap;
  }

  .main-nav > a{
    white-space:nowrap;
  }

  .nav-actions{
    position:absolute;
    right:max(-6px,calc((100vw - 1180px)/2 - 30px));
    display:flex;
    align-items:center;
    gap:12px;
    white-space:nowrap;
  }

  .nav-cta,
  .nav-review{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 18px;
    white-space:nowrap;
    text-align:center;
    line-height:1;
  }
}


/* Compact review trust statement */
.reviews-trust{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin:34px auto 8px;
  text-align:center;
}
.trust-stars{
  color:#f2c94c;
  font-size:1.2rem;
  letter-spacing:.2em;
  line-height:1;
  text-shadow:0 0 12px rgba(242,201,76,.28);
}
.trust-copy{
  color:#fff;
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:clamp(1.35rem,2.2vw,2rem);
  font-weight:800;
  line-height:1.1;
  letter-spacing:.02em;
  text-transform:uppercase;
}
@media (max-width:760px){
  .reviews-trust{
    gap:10px;
    margin-top:28px;
  }
  .trust-stars{
    width:100%;
  }
}




/* Guaranteed animated reveal for review trust statement */
.reviews-trust-animate{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin:34px auto 8px;
  text-align:center;
}

.reviews-trust-animate .trust-stars,
.reviews-trust-animate .trust-copy{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.2,.8,.2,1),
    text-shadow .8s ease;
}

.reviews-trust-animate .trust-stars{
  color:#f2c94c;
  font-size:1.5rem;
  letter-spacing:.16em;
  line-height:1;
  text-shadow:0 0 0 rgba(242,201,76,0);
}

.reviews-trust-animate .trust-copy{
  color:#fff;
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:clamp(1.35rem,2.2vw,2rem);
  font-weight:800;
  line-height:1.1;
  letter-spacing:.02em;
  text-transform:uppercase;
  transition-delay:.18s;
}

.reviews-trust-animate.is-visible .trust-stars,
.reviews-trust-animate.is-visible .trust-copy{
  opacity:1;
  transform:translateY(0);
}

.reviews-trust-animate.is-visible .trust-stars{
  text-shadow:0 0 18px rgba(242,201,76,.5);
  animation:trustGlow 1.8s ease .8s 1;
}

@keyframes trustGlow{
  0%,100%{text-shadow:0 0 18px rgba(242,201,76,.5)}
  50%{text-shadow:0 0 30px rgba(242,201,76,.78)}
}

@media (max-width:760px){
  .reviews-trust-animate{
    gap:8px;
    margin-top:28px;
  }
  .reviews-trust-animate .trust-stars{
    width:100%;
  }
}


/* Gallery page */
.gallery-page{background:#070907}
.gallery-hero{
  position:relative;
  min-height:540px;
  display:flex;
  align-items:center;
  padding:150px 0 90px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.58)),
    url('../assets/mulch-after-2.jpg') center/cover no-repeat;
}
.gallery-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:160px;
  background:linear-gradient(transparent,#070907);
}
.gallery-hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 34%,rgba(118,184,42,.16),transparent 32%);
}
.gallery-hero-content{
  position:relative;
  z-index:2;
  max-width:880px;
}
.gallery-hero h1{
  font-size:clamp(4.6rem,9vw,8rem);
  max-width:900px;
}
.gallery-hero p:not(.eyebrow){
  max-width:680px;
  color:#d3dbd5;
  font-size:1.08rem;
  margin:22px 0 28px;
}
.gallery-filter{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.gallery-filter-btn{
  border:1px solid rgba(255,255,255,.28);
  background:rgba(8,12,9,.55);
  color:#fff;
  padding:11px 17px;
  border-radius:999px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  cursor:pointer;
  transition:.25s;
}
.gallery-filter-btn:hover,
.gallery-filter-btn.active{
  border-color:var(--green);
  background:var(--green);
  color:#071006;
  transform:translateY(-2px);
}
.gallery-showcase{
  padding:95px 0 110px;
  background:
    radial-gradient(circle at 10% 20%,rgba(118,184,42,.07),transparent 25%),
    #070907;
}
.gallery-section-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 42px;
}
.gallery-section-heading p:last-child{color:#aeb9b0}
.gallery-comparison-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.gallery-card-meta{
  padding:20px 8px 8px;
}
.gallery-card-meta h3{color:#111;margin-top:8px}
.gallery-card-meta p{color:#606961;margin-bottom:0}
.gallery-tag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#e8f3dc;
  color:#4b8519;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.gallery-more-heading{margin-top:95px}
.gallery-masonry{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:260px;
  gap:18px;
}
.gallery-tile{
  position:relative;
  overflow:hidden;
  border:0;
  border-radius:16px;
  padding:0;
  cursor:pointer;
  background:#101410;
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}
.gallery-tile.gallery-wide{grid-column:span 2}
.gallery-tile.gallery-tall{grid-row:span 2}
.gallery-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease,filter .4s ease;
}
.gallery-tile:hover img{
  transform:scale(1.055);
  filter:brightness(.8);
}
.gallery-overlay{
  position:absolute;
  inset:auto 0 0;
  padding:48px 20px 18px;
  text-align:left;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
  color:#fff;
  transform:translateY(8px);
  transition:.3s;
}
.gallery-tile:hover .gallery-overlay{transform:translateY(0)}
.gallery-overlay span{
  display:block;
  color:var(--green);
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.gallery-overlay strong{
  display:block;
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:1.55rem;
  text-transform:uppercase;
  line-height:1;
  margin-top:5px;
}
.gallery-video-panel{
  margin-top:65px;
  padding:32px 36px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(120deg,#111713,#0a0d0b);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.gallery-video-panel h2{font-size:clamp(2.8rem,5vw,4.6rem)}
.gallery-video-panel p:not(.eyebrow){color:#b9c4bb;margin-bottom:0;max-width:650px}
.gallery-cta-section{
  padding:0 0 110px;
  background:#070907;
}
.gallery-cta-box{
  border-radius:20px;
  padding:42px;
  background:
    linear-gradient(110deg,rgba(11,15,13,.97),rgba(11,15,13,.88)),
    url('../assets/mulch-after-1.jpg') center/cover no-repeat;
  border:1px solid rgba(118,184,42,.3);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.gallery-cta-box h2{font-size:clamp(2.8rem,5vw,4.8rem)}
.gallery-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.gallery-item.gallery-hidden{display:none}
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:30px;
  background:rgba(0,0,0,.92);
}
.gallery-lightbox.open{display:flex}
.gallery-lightbox img{
  max-width:min(1200px,92vw);
  max-height:88vh;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 30px 100px rgba(0,0,0,.5);
}
.gallery-lightbox-close{
  position:absolute;
  top:18px;
  right:24px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:3rem;
  cursor:pointer;
}
@media (max-width:1050px){
  .gallery-comparison-grid{grid-template-columns:1fr 1fr}
  .gallery-masonry{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .gallery-hero{min-height:500px;padding-top:130px}
  .gallery-hero h1{font-size:clamp(3.6rem,16vw,5rem)}
  .gallery-filter{gap:8px}
  .gallery-filter-btn{font-size:.72rem;padding:9px 12px}
  .gallery-showcase{padding:72px 0 84px}
  .gallery-comparison-grid{grid-template-columns:1fr}
  .gallery-masonry{grid-template-columns:1fr;grid-auto-rows:250px}
  .gallery-tile.gallery-wide{grid-column:auto}
  .gallery-tile.gallery-tall{grid-row:auto}
  .gallery-video-panel,
  .gallery-cta-box{
    flex-direction:column;
    align-items:flex-start;
    padding:28px;
  }
}




/* Pressure washing video preview card */
.gallery-video-card{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}

.facebook-reel-preview{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:#111;
}

.facebook-reel-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s ease, filter .35s ease;
}

.video-preview-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.48));
  color:#fff;
  transition:background .3s ease;
}

.video-play-button{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--green);
  color:#071006;
  font-size:1.7rem;
  padding-left:4px;
  box-shadow:0 12px 32px rgba(0,0,0,.34);
  transition:transform .3s ease, box-shadow .3s ease;
}

.video-preview-text{
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:1.4rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.facebook-reel-preview:hover img{
  transform:scale(1.045);
  filter:brightness(.78);
}

.facebook-reel-preview:hover .video-play-button{
  transform:scale(1.08);
  box-shadow:0 16px 38px rgba(0,0,0,.42);
}


/* Gallery video social buttons */
.gallery-video-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
@media (max-width:760px){
  .gallery-video-actions{
    width:100%;
  }
  .gallery-video-actions .btn{
    width:100%;
    text-align:center;
  }
}


/* Local SEO footer copy */
.seo-local-copy{
  width:min(1180px,calc(100% - 40px));
  margin:30px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.08);
}
.seo-local-copy p{
  max-width:980px;
  margin:0 auto;
  color:#93a099;
  font-size:.84rem;
  line-height:1.7;
  text-align:center;
}
