/* Plant'z World — main.css */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Fraunces:opsz,ital,wght@9..144,0,300..700;9..144,1,300..700&family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap");

:root{
  --cream:#f5f0e8;
  --sage-light:#dce5d4;
  --sage:#a8c0a0;
  --sage-deep:#7d9b76;
  --primary:#3d5a36;
  --foreground:#1f2a1c;
  --muted:#6a7565;
  --border:#d8d3c8;
  --card:#fbf8f2;
  --radius:1.25rem;
  --font-display:"Fraunces", Georgia, serif;
  --font-body:"Inter", system-ui, -apple-system, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--foreground);
  font-family:var(--font-body);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1;letter-spacing:-0.035em;margin:0}
p{margin:0}
em{font-style:italic;color:var(--sage-deep)}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
ul{margin:0;padding:0;list-style:none}

/* Layout */
.container{max-width:none;width:100%;margin:0 auto;padding:0 clamp(1rem,4vw,7rem)}
.container-wide{max-width:none;width:100%;margin:0 auto;padding:0 clamp(1rem,4vw,7rem)}
.section{padding:clamp(5rem,6vw,9rem) 0}
.section-lg{padding:clamp(7rem,8vw,12rem) 0}
.eyebrow,.section-label{
  font-size:12px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:#8ea184;
  font-weight:500;
  margin-bottom:22px;
  display:block;
}
.eyebrow-light{color:var(--sage-light)}
.text-balance{text-wrap:balance}
.center{text-align:center}

/* Motion */
.reveal{
  opacity:0;
  transform:translate3d(0,2.25rem,0) scale(.985);
  filter:blur(10px);
  transition:
    opacity .8s cubic-bezier(.22,1,.36,1),
    transform .9s cubic-bezier(.22,1,.36,1),
    filter .9s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform,filter;
}
.reveal.reveal-left{transform:translate3d(-2.5rem,1.5rem,0) scale(.985)}
.reveal.reveal-right{transform:translate3d(2.5rem,1.5rem,0) scale(.985)}
.reveal.reveal-soft{transform:translate3d(0,1.25rem,0) scale(.995)}
.reveal.revealed{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}
.hero-entrance{
  opacity:0;
  transform:translate3d(0,2rem,0);
  animation:heroRise 1s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes heroRise{
  from{opacity:0;transform:translate3d(0,2rem,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes drift{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-12px,0)}
}
@keyframes pulseGlow{
  0%,100%{opacity:.14;transform:scale(1)}
  50%{opacity:.24;transform:scale(1.06)}
}

/* Typography helpers */
.h-display{font-family:var(--font-display);font-weight:400;line-height:1;letter-spacing:-.04em}
.hero-title,.hero h1,.page-header h1{
  font-size:clamp(3.2rem,5vw,5.2rem);
  line-height:.95;
  letter-spacing:-.04em;
  max-width:11ch;
}
.section-title,.h2{
  font-size:clamp(48px,5vw,82px);
  line-height:.95;
  letter-spacing:-.045em;
  max-width:10ch;
}
.medium-title,.h3{
  font-size:clamp(36px,4vw,58px);
  line-height:1;
  letter-spacing:-.04em;
}
.card-title{
  font-size:clamp(28px,2.5vw,42px);
  line-height:1.1;
}
.section-heading-group{
  display:flex;
  flex-direction:column;
  gap:22px;
  margin-bottom:40px;
}
.section-description,.lead{
  max-width:680px;
  font-size:18px;
  line-height:1.75;
  color:#4d5a4f;
}
.practice .body h3,
.svc-card .body h3,
.media-panel__title,
.video-card__overlay h3,
.testimonials-slider__meta h3,
.gallery-overlay__title,
.media-strip__overlay span{
  font-size:clamp(28px,2.5vw,42px);
  line-height:1.1;
  letter-spacing:-.035em;
}
@media (max-width:900px){
  .hero-title,
  .hero h1,
  .page-header h1,
  .section-title,
  .h2{
    max-width:100%;
    font-size:2.5rem;
    line-height:1;
  }
  .medium-title,
  .h3{
    font-size:36px;
  }
  .card-title,
  .practice .body h3,
  .svc-card .body h3,
  .media-panel__title,
  .video-card__overlay h3,
  .testimonials-slider__meta h3,
  .gallery-overlay__title,
  .media-strip__overlay span{
    font-size:28px;
  }
}

/* Header */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;
}
.site-header.scrolled,.site-header.solid{
  background:rgba(245,240,232,.92);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(0,0,0,.05);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:1.1rem;padding-bottom:1.1rem}
.brand{font-family:var(--font-display);font-size:1.45rem;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.75rem}
.brand .dot{width:8px;height:8px;background:var(--sage-deep);border-radius:50%}
.brand .brand-logo{
  width:2.6rem;
  height:2.6rem;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  background:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
  flex-shrink:0;
}
.brand .brand-text{display:inline-block;line-height:1}
.nav{display:flex;align-items:center;gap:2rem}
.nav a{font-size:.875rem;letter-spacing:.02em;color:var(--foreground);opacity:.85;transition:color .2s}
.nav a:hover,.nav a.active{color:var(--sage-deep);opacity:1}
.site-header.transparent:not(.scrolled){background:transparent}
.site-header.transparent:not(.scrolled) .brand,
.site-header.transparent:not(.scrolled) .nav a{color:var(--cream)}
.site-header.transparent:not(.scrolled) .nav a:hover{color:#fff}
.site-header.transparent:not(.scrolled) .brand .brand-logo{
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;color:inherit;font-size:1.5rem;padding:.25rem}
@media (max-width:860px){
  .nav{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;
    background:var(--cream);padding:1rem 1.5rem 2rem;border-top:1px solid var(--border);
    transform:translateY(-130%);transition:transform .35s ease;}
  .nav.open{transform:translateY(0)}
  .nav a{padding:.75rem 0;width:100%;border-bottom:1px solid var(--border);font-size:1.1rem;color:var(--foreground)!important}
  .menu-toggle{display:inline-flex}
  .site-header.transparent:not(.scrolled){background:rgba(0,0,0,.15);backdrop-filter:blur(4px)}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:999px;font-size:.9rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .25s ease;white-space:nowrap}
.btn svg{width:1rem;height:1rem}
.btn-primary{background:var(--cream);color:var(--primary)}
.btn-primary:hover{background:var(--sage-light)}
.btn-outline{background:transparent;color:var(--cream);border-color:rgba(245,240,232,.55)}
.btn-outline:hover{background:rgba(245,240,232,.1)}
.btn-dark{background:var(--primary);color:var(--cream)}
.btn-dark:hover{background:var(--sage-deep)}
.btn:hover{transform:translateY(-2px)}
.link-underline{display:inline-flex;align-items:center;gap:.4rem;color:var(--primary);font-weight:500;border-bottom:1px solid var(--primary);padding-bottom:2px;transition:color .25s}
.link-underline:hover{color:var(--sage-deep);border-color:var(--sage-deep);transform:translateX(4px)}

/* Hero (homepage) */
.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}
.hero video,.hero .hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;transform-origin:center center}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.38),
    rgba(0,0,0,.22),
    rgba(0,0,0,.42)
  );
  z-index:1;
}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,16,10,.16),rgba(10,16,10,0) 45%,rgba(10,16,10,.18))}
.hero .hero-inner{
  position:relative;
  z-index:2;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:7rem 1.5rem 5rem;
  color:var(--cream);
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:760px;
  margin:0 auto;
  padding:0 24px;
  text-align:center;
  transform:translateY(-25px);
  animation:heroFade 1.2s ease;
}
.hero .kicker,
.hero-label{
  font-size:12px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
  margin-bottom:20px;
  opacity:.82;
}
.hero-title{
  font-size:clamp(52px,6vw,88px);
  line-height:1;
  letter-spacing:-.045em;
  color:#fff;
  margin:0 auto 24px;
  text-shadow:0 8px 40px rgba(0,0,0,.25);
  max-width:760px;
}
.hero .hero-cta,
.hero-actions{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:10px;
}
.hero .hero-tagline,
.hero-description{
  max-width:620px;
  margin:0 auto 34px;
  font-size:18px;
  line-height:1.7;
  color:rgba(255,255,255,.88);
}
.hero-btn-primary,
.hero-btn-secondary{
  padding:15px 30px;
  border-radius:999px;
  font-size:14px;
  letter-spacing:.04em;
  transition:all .3s ease;
}
.hero-btn-primary{
  background:#f7f1e8;
  color:#203322;
  border:1px solid transparent;
}
.hero-btn-primary:hover{
  transform:translateY(-2px);
  background:#fffaf2;
}
.hero-btn-secondary{
  border:1px solid rgba(255,255,255,.4);
  color:#fff;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.hero-btn-secondary:hover{
  background:rgba(255,255,255,.14);
  transform:translateY(-2px);
}
.site-header.transparent:not(.scrolled){
  background:rgba(8,12,8,.08);
  backdrop-filter:blur(6px);
}
.site-header.transparent:not(.scrolled) .nav a{
  color:rgba(255,255,255,.92);
}
.site-header.transparent:not(.scrolled) .brand{
  color:#fff;
}
.hero::before{
  content:"";
  position:absolute;
  right:-8vw;
  top:12vh;
  width:28vw;
  height:28vw;
  min-width:15rem;
  min-height:15rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(220,229,212,.28),rgba(220,229,212,0));
  filter:blur(20px);
  animation:pulseGlow 9s ease-in-out infinite;
  z-index:1;
}
@keyframes heroFade{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(-40px);
  }
}
@media (max-width:900px){
  .hero-title{
    font-size:clamp(44px,11vw,72px);
    line-height:1;
    max-width:100%;
  }
  .hero-description{
    font-size:16px;
  }
  .hero-content{
    text-align:center;
    transform:translateY(-20px);
    padding:0 24px;
  }
  .hero-actions{
    justify-content:center;
  }
}

/* Hero scroll indicator */
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;text-decoration:none;animation:drift 2.8s ease-in-out infinite}
.scroll-line{display:block;width:1px;height:3.5rem;background:rgba(245,240,232,.5);position:relative;overflow:hidden}
.scroll-line::after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--cream);animation:scrollDrop 1.8s ease-in-out infinite}
@keyframes scrollDrop{0%{top:-100%}60%{top:100%}100%{top:100%}}

/* Page header (non-home) */
.page-header{position:relative;padding:9.5rem 0 4rem;overflow:hidden;background:var(--sage-light)}
.page-header::before{content:"";position:absolute;inset:0;background-position:center;background-size:cover;opacity:.22}
.page-header::after{
  content:"";
  position:absolute;
  inset:auto -10% -18rem auto;
  width:26rem;
  height:26rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(168,192,160,.25),rgba(168,192,160,0) 72%);
  filter:blur(14px);
  pointer-events:none;
}
.page-header .container{position:relative;z-index:2}
.page-header .pg-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:end}
@media (min-width:960px){.page-header .pg-grid{grid-template-columns:1.1fr .9fr;gap:4rem}}
.page-header h1{font-size:clamp(3.2rem,5vw,5.2rem);max-width:11ch;line-height:.95;letter-spacing:-.04em}
.page-header .eyebrow{margin-bottom:1.25rem}
.page-header .lead{max-width:720px;margin-top:2rem}
.page-header .pg-image{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden}
.page-header .pg-image img{width:100%;height:100%;object-fit:cover;will-change:transform;transform-origin:center center}
.page-header .pg-image{
  border-radius:32px;
  box-shadow:0 22px 54px rgba(31,42,28,.14);
}
@media (min-width:960px){
  .page-header .pg-image{
    height:460px;
    aspect-ratio:auto;
  }
}
.page-header-parallax-bg{position:absolute;inset:-14% 0;background-size:cover;background-position:center;will-change:transform}
@media (max-width:1024px){
  .page-header h1{
    font-size:clamp(2.6rem,7vw,4rem);
    max-width:12ch;
  }
}

/* Services header refinement */
.services-header{
  background:#f4f1ea;
}
.services-header::before{
  opacity:.14;
}
.services-header .pg-grid{
  align-items:center;
}
.services-header__copy{
  max-width:40rem;
  padding:2rem 2.1rem;
  border:1px solid rgba(255,255,255,.34);
  border-radius:30px;
  background:rgba(244,241,234,.48);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 46px rgba(31,42,28,.08);
}
.services-header__copy .eyebrow{
  margin-bottom:1rem;
}
.services-header__copy .lead{
  color:rgba(31,42,28,.74);
}
.services-header__image{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:34px;
  box-shadow:0 30px 70px rgba(31,42,28,.16);
}
.services-header__image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(199,184,149,.08),rgba(199,184,149,.08));
  pointer-events:none;
}
.services-header__image img{
  filter:saturate(1.03) contrast(.98) brightness(.98);
}
@media (min-width:960px){
  .services-header .pg-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,.94fr);
    gap:4.75rem;
  }
  .services-header__image{
    justify-self:end;
    width:min(100%,38rem);
    height:clamp(24rem,38vw,31rem);
  }
}
@media (max-width:959px){
  .services-header{
    padding-bottom:4.25rem;
  }
  .services-header .pg-grid{
    gap:2rem;
    align-items:start;
  }
  .services-header__copy{
    padding:1.75rem 1.5rem;
    border-radius:26px;
  }
  .services-header__image{
    order:2;
    height:clamp(18rem,60vw,24rem);
    border-radius:28px;
  }
}
@media (max-width:640px){
  .services-header__copy{
    padding:1.4rem 1.2rem;
    border-radius:24px;
    backdrop-filter:blur(10px);
  }
  .services-header__image{
    height:19rem;
    border-radius:24px;
  }
}

/* Farm making header refinement */
.farm-making-header{
  position:relative;
  display:flex;
  align-items:center;
  min-height:100vh;
  padding:0;
  background-image:
    linear-gradient(90deg, rgba(18,24,16,0.55) 0%, rgba(18,24,16,0.25) 35%, rgba(18,24,16,0.08) 100%),
    url("./assets/ourservice3.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#ebe4d6;
}
.farm-making-header::before{
  content:none;
}
.farm-making-header::after{
  content:none;
}
.farm-making-header .container{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:100vh;
  padding-top:0;
  padding-bottom:0;
}
.farm-making-header .pg-grid{
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  width:100%;
  min-height:auto;
}
.farm-making-header__content{
  max-width:700px;
  color:#f5f1ea;
}
.farm-making-header__content .eyebrow{
  color:rgba(232,237,226,.9);
  margin-bottom:1.35rem;
}
.farm-making-header__title{
  color:#f5f1ea;
  max-width:9ch;
  margin:0;
  font-size:clamp(4rem,6vw,6rem);
  line-height:.9;
  letter-spacing:-.05em;
  text-shadow:0 10px 30px rgba(0,0,0,.22);
}
.farm-making-header__title em{
  display:block;
  margin-top:.5rem;
  font-size:.72em;
  line-height:.95;
  color:#d9e6c9;
  font-style:italic;
  font-weight:400;
}
.farm-making-header__copy{
  max-width:560px;
  margin-top:2rem;
  color:rgba(255,255,255,.85);
  font-size:1.1rem;
  line-height:1.8;
}
.farm-making-header__cta{
  display:inline-flex;
  align-items:center;
  margin-top:2.5rem;
  padding:.9rem 1.45rem;
  border:1px solid rgba(245,240,232,.42);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#f9f5ed;
  font-size:.92rem;
  font-weight:500;
  letter-spacing:.02em;
  box-shadow:0 14px 32px rgba(10,18,10,.14);
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.farm-making-header__cta:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.12);
  border-color:rgba(245,240,232,.58);
}
@media (min-width:960px){
  .farm-making-header .container{
    min-height:100vh;
  }
}
@media (max-width:959px){
  .farm-making-header{
    min-height:44rem;
  }
  .farm-making-header .container{
    min-height:44rem;
    padding-top:4rem;
    padding-bottom:4rem;
  }
  .farm-making-header .pg-grid{
    min-height:auto;
    gap:2rem;
  }
  .farm-making-header__content{
    max-width:560px;
  }
  .farm-making-header__title{
    max-width:8.8ch;
    font-size:clamp(3.1rem,7vw,4.4rem);
    line-height:.92;
  }
  .farm-making-header__copy{
    margin-top:1.7rem;
    font-size:1.02rem;
  }
}
@media (max-width:640px){
  .farm-making-header{
    min-height:38rem;
  }
  .farm-making-header .container{
    min-height:38rem;
    padding-top:3.5rem;
    padding-bottom:3.5rem;
  }
  .farm-making-header__content{
    max-width:100%;
  }
  .farm-making-header__title{
    max-width:9ch;
    font-size:clamp(2.55rem,9vw,3.5rem);
    line-height:.94;
  }
  .farm-making-header__title em{
    margin-top:.4rem;
    font-size:.72em;
  }
  .farm-making-header__copy{
    margin-top:1.4rem;
    font-size:1rem;
  }
  .farm-making-header__cta{
    margin-top:2rem;
    padding:.82rem 1.2rem;
  }
}

/* Generic sections / grids */
.grid{display:grid;gap:1.5rem}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr 1fr}
@media (min-width:760px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
.split{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
@media (min-width:960px){.split{grid-template-columns:1fr 1fr;gap:4rem}.split.reverse > :first-child{order:2}}

.farm-approach-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
  align-items:center;
}
.farm-approach-copy,
.farm-approach-image-wrap{
  min-width:0;
}
.farm-approach-copy{
  max-width:40rem;
}
.farm-approach-image-wrap{
  order:-1;
  width:100%;
  max-height:620px;
  min-height:22rem;
  overflow:hidden;
  border-radius:28px;
  background:#ddd5c7;
  box-shadow:0 22px 50px rgba(31,42,28,.1);
}
.farm-approach-image-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
@media (min-width:960px){
  .farm-approach-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
    gap:5rem;
  }
  .farm-approach-image-wrap{
    order:0;
    justify-self:end;
    width:min(100%,560px);
    height:clamp(30rem,42vw,38.75rem);
  }
}
@media (max-width:959px){
  .farm-approach-image-wrap{
    min-height:26rem;
  }
}
@media (max-width:640px){
  .farm-approach-layout{
    gap:2rem;
  }
  .farm-approach-image-wrap{
    min-height:20rem;
    border-radius:24px;
  }
}

/* Stat strip */
.stat-strip{background:var(--primary);color:var(--cream)}
.stat-strip .container{padding-top:4rem;padding-bottom:4rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;justify-items:center;text-align:center}
@media (min-width:760px){.stat-strip .container{grid-template-columns:repeat(4,1fr)}}
.stat .n{font-family:var(--font-display);font-size:clamp(2.5rem,4.5vw,3.75rem);color:var(--cream)}
.stat .l{margin-top:.5rem;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(245,240,232,.7)}

/* Practice cards (alternating) */
.practice{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;overflow:hidden;transition:border-color .3s}
.practice:hover{border-color:var(--sage-deep)}
.practice .row{display:grid;grid-template-columns:1fr}
@media (min-width:860px){.practice .row{grid-template-columns:7fr 5fr}.practice.reverse .row > :first-child{order:2}}
.practice .img{overflow:hidden;aspect-ratio:16/10}
.practice .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease,filter .8s ease}
.practice:hover .img img{transform:scale(1.08);filter:saturate(1.05)}
.practice .body{padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:center}
@media (min-width:1100px){.practice .body{padding:4rem}}
.practice .body h3{font-size:clamp(28px,2.5vw,42px);line-height:1.1;letter-spacing:-.035em;margin-bottom:1rem}
.practice .body p{color:rgba(31,42,28,.72);margin-bottom:2rem;max-width:32rem}

/* Soft section */
.sage-band{background:rgba(220,229,212,.45);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* Card grid (services / offerings) */
.card-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media (min-width:720px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.card-grid{grid-template-columns:repeat(3,1fr)}}
.about-section{
  padding:110px 6vw;
  background:#f7f1e8;
  text-align:center;
}
.about-container{
  max-width:1050px;
  margin:0 auto;
}
.about-heading{
  font-size:clamp(48px,6vw,86px);
  line-height:1;
  letter-spacing:-.045em;
  margin:18px auto 28px;
}
.about-heading em{
  color:#7f9a73;
  font-style:italic;
}
.about-text{
  max-width:720px;
  margin:0 auto 38px;
  font-size:18px;
  line-height:1.75;
  color:#5f6b5c;
}
.what-we-do-section{
  padding:clamp(96px,7vw,160px) 0 clamp(72px,5vw,120px);
  background:#f7f1e8;
}
.what-we-do-header{
  max-width:100%;
  margin:0 auto 72px;
  text-align:center;
}
.what-we-do-header .eyebrow{
  text-align:center;
  margin-bottom:24px;
}
.what-we-do-header .section-label{
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#7f9478;
  display:block;
}
.what-we-do-header h2{
  max-width:100%;
  margin:0 auto;
  font-size:clamp(58px,5.8vw,88px);
  line-height:.92;
  letter-spacing:-.045em;
  color:#182317;
  font-family:"Playfair Display", Georgia, serif;
  font-weight:400;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  width:100%;
}
.what-we-do-header h2 span{
  display:block;
  white-space:normal;
}
.what-we-do-header p{
  max-width:min(920px, 72vw);
  margin:24px auto 0;
  font-size:20px;
  line-height:1.65;
  color:#5f6b5c;
}
.what-we-do-header .text-link,
.what-we-do-header a{
  display:inline-block;
  margin-top:28px;
  font-size:16px;
  color:#31532d;
  text-decoration:none;
  border-bottom:1px solid #31532d;
  padding-bottom:6px;
}
.what-we-do-header .text-link:hover,
.what-we-do-header a:hover{
  color:var(--sage-deep);
  border-color:var(--sage-deep);
}
.what-we-do-section .flow{
  width:100%;
  max-width:min(2200px, 100%);
  margin:72px auto 0;
}
@media (min-width:1500px){
  .what-we-do-header{
    margin-bottom:clamp(80px,5vw,128px);
  }
  .what-we-do-header h2{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    gap:.2em;
    font-size:112px;
    line-height:.9;
  }
  .what-we-do-header h2 span{
    display:inline;
  }
  .what-we-do-section .flow{
    margin-top:clamp(80px,5vw,128px);
  }
  .practice .row{
    grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);
  }
  .practice.reverse .row{
    grid-template-columns:minmax(420px,.85fr) minmax(0,1.15fr);
  }
  .practice .img{
    aspect-ratio:16/8.5;
  }
  .practice .body{
    padding:clamp(4rem,4vw,7rem);
  }
  .practice .body h3{
    font-size:56px;
  }
  .practice .body p{
    max-width:46rem;
    font-size:20px;
    line-height:1.65;
  }
}
@media (min-width:2200px){
  .what-we-do-header h2{
    font-size:132px;
  }
  .what-we-do-header p{
    font-size:24px;
    max-width:1100px;
  }
  .practice .body h3{
    font-size:68px;
  }
  .practice .body p{
    font-size:24px;
  }
}
@media (max-width:900px){
  .what-we-do-header{
    margin:0 auto 56px;
  }
  .what-we-do-header h2{
    font-size:clamp(42px,11vw,64px);
    width:auto;
  }
  .what-we-do-header h2 span{
    white-space:normal;
  }
  .what-we-do-header p{
    font-size:18px;
  }
}
.farm-models-section{
  padding-top:2.5rem;
  padding-bottom:5.25rem;
}
.farm-models-header{
  text-align:center;
  max-width:980px;
  margin:0 auto 70px;
  padding:100px 6vw 0;
}
.farm-models-header .section-label{
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#7f9478;
  margin-bottom:22px;
  display:block;
}
.farm-models-header h2{
  font-size:clamp(52px,6vw,84px);
  line-height:1;
  letter-spacing:-.05em;
  color:#182317;
  max-width:900px;
  margin:0 auto 26px;
  font-family:"Playfair Display", Georgia, serif;
  font-weight:400;
  text-align:center;
}
.farm-models-header p{
  max-width:760px;
  margin:0 auto;
  font-size:18px;
  line-height:1.7;
  color:#5f6b5c;
}
.core-scope-section{
  background:#3f6737;
  padding:100px 6vw;
}
.core-scope-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:start;
  max-width:1500px;
  margin:0 auto;
}
.core-scope-header{
  max-width:520px;
  position:sticky;
  top:120px;
}
.core-scope-header .section-label{
  font-size:12px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
  margin-bottom:20px;
  display:block;
}
.core-scope-header h2{
  font-size:clamp(52px,5vw,82px);
  line-height:.95;
  letter-spacing:-.05em;
  color:#f3f0e8;
  margin:0 0 24px;
  font-family:"Playfair Display", Georgia, serif;
  font-weight:400;
}
.core-scope-header p{
  font-size:18px;
  line-height:1.7;
  color:rgba(255,255,255,.78);
  margin:0;
}
.core-scope-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(260px,1fr));
  gap:40px 36px;
}
.media-showcase__intro{
  max-width:980px;
  margin:0 auto 56px;
}
.landscaping-media-header{
  text-align:center;
}
.landscaping-media-header .section-label{
  display:block;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#7f9478;
  margin-bottom:20px;
}
.landscaping-media-header h2{
  max-width:900px;
  margin:0 auto 24px;
  font-size:clamp(46px,5vw,78px);
  line-height:1;
  letter-spacing:-.04em;
  color:#182317;
  font-family:"Playfair Display", Georgia, serif;
  font-weight:400;
}
.landscaping-media-header p{
  max-width:760px;
  margin:0 auto;
  font-size:18px;
  line-height:1.7;
  color:#5f6b5c;
}
@media (max-width:959px){
  .landscaping-media-header h2{
    font-size:clamp(38px,10vw,58px);
  }
  .landscaping-media-header p{
    font-size:16px;
  }
  .core-scope-layout{
    grid-template-columns:1fr;
    gap:44px;
  }
  .core-scope-header{
    max-width:760px;
    position:static;
    text-align:center;
    margin:0 auto;
  }
  .core-scope-grid{
    grid-template-columns:1fr;
  }
}
.testimonials-section{
  padding:110px 0;
  background:#f7f1e8;
  overflow:visible;
}
.testimonials-section .container{
  max-width:none;
  width:100%;
  padding:0;
}
.testimonials-header{
  max-width:980px;
  margin:0 auto 48px;
  padding:0 24px;
  text-align:center;
}
.testimonials-header .section-label{
  margin-bottom:0;
}
.testimonials-header h2{
  max-width:820px;
  margin:16px auto 20px;
  font-size:clamp(3.2rem,5vw,5.4rem);
  line-height:1;
  letter-spacing:-.04em;
  font-family:"Playfair Display", Georgia, serif;
}
.testimonials-header p{
  max-width:720px;
  margin:0 auto;
  font-size:1.125rem;
  line-height:1.7;
  color:rgba(31,42,28,.78);
}
.testimonials-slider{
  position:relative;
  width:min(100%,1420px);
  max-width:1420px;
  margin:0 auto;
  overflow:hidden;
  padding:0 24px .5rem;
}
.testimonials-slider__viewport{
  overflow:hidden;
  margin:0;
  padding:.65rem 0 1rem;
  touch-action:pan-y;
}
.testimonials-slider__track{
  --card-gap:28px;
  --testimonial-scroll-distance:0px;
  --testimonial-scroll-duration:40000ms;
  --testimonial-start-offset:0px;
  display:flex;
  gap:var(--card-gap);
  align-items:stretch;
  width:max-content;
  animation:testimonialScroll var(--testimonial-scroll-duration) linear infinite;
  will-change:transform;
  backface-visibility:hidden;
}
.testimonials-slider:hover .testimonials-slider__track,
.testimonials-slider.is-paused .testimonials-slider__track{
  animation-play-state:paused;
}
.testimonials-slider.is-manual .testimonials-slider__track{
  animation:none;
}
@keyframes testimonialScroll{
  from{
    transform:translate3d(var(--testimonial-start-offset),0,0);
  }
  to{
    transform:translate3d(calc(var(--testimonial-start-offset) - var(--testimonial-scroll-distance)),0,0);
  }
}
.testimonials-slider__card{
  flex:0 0 390px;
  max-width:390px;
  min-width:390px;
  min-height:640px;
  display:flex;
  flex-direction:column;
  background:#fffaf2;
  border:1px solid rgba(45,70,45,.14);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.testimonials-slider__card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 80px rgba(0,0,0,.1);
  border-color:rgba(45,70,45,.2);
}
.testimonials-slider__image{
  position:relative;
  overflow:hidden;
  height:240px;
}
.testimonials-slider__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1.1s ease,filter .8s ease;
}
.testimonials-slider__card:hover .testimonials-slider__image img{
  transform:scale(1.08);
  filter:saturate(1.05);
}
.testimonials-slider__content{
  display:flex;
  flex-direction:column;
  flex:1;
  gap:1rem;
  padding:28px;
  justify-content:flex-start;
}
.testimonials-slider__client{
  display:flex;
  align-items:center;
  gap:.9rem;
}
.testimonials-slider__client-copy{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  min-width:0;
}
.testimonials-slider__client-photo{
  width:3.5rem;
  height:3.5rem;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  border:2px solid rgba(255,255,255,.8);
  box-shadow:0 12px 24px rgba(31,42,28,.12);
  flex-shrink:0;
}
.testimonials-slider__pill{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  padding:.45rem .76rem;
  border-radius:999px;
  background:rgba(220,229,212,.5);
  border:1px solid rgba(61,90,54,.1);
  color:var(--sage-deep);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.testimonials-slider__rating{
  color:#b3882a;
  font-size:.9rem;
  letter-spacing:.16em;
  line-height:1;
}
.testimonials-slider__quote{
  margin:0;
  font-family:"DM Sans", var(--font-body);
  font-size:1.125rem;
  line-height:1.7;
  color:#263b25;
}
.testimonials-slider__meta{
  margin-top:auto;
  padding-top:1.1rem;
  border-top:1px solid rgba(61,90,54,.1);
}
.testimonials-slider__meta h3{
  font-family:"DM Sans", var(--font-body);
  font-size:1rem;
  font-weight:700;
  margin-bottom:.18rem;
  color:#20351f;
}
.testimonials-slider__meta p{
  color:rgba(31,42,28,.72);
  margin-bottom:.35rem;
}
.testimonials-slider__meta span{
  color:#7d8c77;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.testimonials-slider__controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin-top:1.1rem;
}
.testimonials-slider__arrow{
  width:3rem;
  height:3rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(61,90,54,.12);
  background:rgba(251,248,242,.98);
  color:var(--primary);
  box-shadow:0 12px 30px rgba(31,42,28,.08);
  cursor:pointer;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.testimonials-slider__arrow:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:rgba(61,90,54,.2);
}
.testimonials-slider__dots{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1;
  flex-wrap:wrap;
  gap:.55rem;
}
.testimonials-slider__dot{
  width:.7rem;
  height:.7rem;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(61,90,54,.18);
  cursor:pointer;
  transition:transform .25s ease,background .25s ease;
}
.testimonials-slider__dot.is-active{
  background:var(--sage-deep);
  transform:scale(1.15);
}
@media (max-width:1000px){
  .testimonials-slider__card{
    flex-basis:360px;
    max-width:360px;
    min-width:360px;
  }
}
@media (max-width:768px){
  .testimonials-slider{
    padding:0 24px .5rem;
  }
  .testimonials-slider__track{
    --card-gap:20px;
    --testimonial-scroll-duration:26000ms;
  }
  .testimonials-slider__card{
    flex:0 0 82vw;
    max-width:82vw;
    min-width:82vw;
    min-height:auto;
  }
}
@media (max-width:719px){
  .testimonials-section{
    padding:80px 0;
  }
  .testimonials-section .container{
    padding:0 24px;
  }
  .testimonials-header{
    margin-bottom:40px;
  }
  .testimonials-header h2{
    max-width:10ch;
    font-size:clamp(2.7rem,11vw,4.2rem);
    margin:14px auto 16px;
  }
  .testimonials-header p{
    font-size:1rem;
  }
  .testimonials-slider__card{
    flex-basis:82vw;
    min-width:82vw;
  }
  .testimonials-slider__image{
    height:220px;
  }
  .testimonials-slider__controls{
    gap:.75rem;
  }
  .testimonials-slider__arrow{
    width:2.75rem;
    height:2.75rem;
  }
}
.tile{background:var(--card);border:1px solid var(--border);border-radius:1.25rem;padding:2rem;transition:border-color .3s,transform .35s ease,box-shadow .35s ease}
.tile:hover{border-color:var(--sage-deep);transform:translateY(-6px);box-shadow:0 18px 40px rgba(31,42,28,.08)}
.tile h3{font-size:1.4rem;margin-bottom:.5rem}
.tile p{color:rgba(31,42,28,.72);font-size:.92rem}

/* Landscaping disciplines */
.landscape-disciplines{
  position:relative;
  overflow:hidden;
}
.landscape-disciplines::before{
  content:"";
  position:absolute;
  top:-7rem;
  right:-6rem;
  width:18rem;
  height:18rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(168,192,160,.24),rgba(168,192,160,0) 70%);
  filter:blur(8px);
  pointer-events:none;
}
.landscape-disciplines__intro{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  align-items:end;
  margin-bottom:3rem;
  position:relative;
  z-index:1;
}
@media (min-width:960px){
  .landscape-disciplines__intro{
    grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);
    gap:3rem;
  }
}
.landscape-disciplines__intro h2{max-width:36rem}
.landscape-disciplines__lead{
  color:rgba(31,42,28,.72);
  max-width:30rem;
  font-size:1rem;
  line-height:1.75;
}
.landscape-disciplines__grid{
  position:relative;
  z-index:1;
  gap:1.4rem;
}
.discipline-tile{
  position:relative;
  min-height:8.5rem;
  padding:2rem 2rem 1.9rem;
  border-radius:1.5rem;
  background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(251,248,242,.96)),var(--card);
  box-shadow:0 10px 24px rgba(61,90,54,.05);
}
.discipline-tile::after{
  content:"";
  position:absolute;
  left:2rem;
  right:2rem;
  top:3.45rem;
  height:1px;
  background:linear-gradient(90deg,rgba(168,192,160,.5),rgba(168,192,160,0));
}
.discipline-tile__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.35rem;
  height:2.35rem;
  margin-bottom:1rem;
  border-radius:999px;
  background:rgba(168,192,160,.18);
  color:var(--sage-deep);
  font-size:.72rem;
  letter-spacing:.18em;
}
.discipline-tile h3{
  font-size:clamp(1.35rem,2.2vw,1.75rem);
  margin-bottom:.7rem;
  max-width:14ch;
}
.discipline-tile p{
  max-width:24ch;
  font-size:.96rem;
  line-height:1.65;
}

/* Service detail card with image */
.svc-card{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s,transform .35s ease,box-shadow .35s ease}
.svc-card:hover{border-color:var(--sage-deep);transform:translateY(-6px);box-shadow:0 18px 40px rgba(31,42,28,.08)}
.svc-card .img{aspect-ratio:4/3;overflow:hidden}
.svc-card .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease,filter .8s ease}
.svc-card:hover .img img{transform:scale(1.08);filter:saturate(1.05)}
.svc-card .body{padding:2rem;display:flex;flex-direction:column;flex:1}
.svc-card .body h3{font-size:clamp(28px,2.5vw,42px);line-height:1.1;letter-spacing:-.035em;margin-bottom:.6rem}
.svc-card .num{font-family:ui-monospace,monospace;font-size:.75rem;color:var(--muted)}

/* Process steps */
.process{display:grid;gap:2rem}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;border-top:1px solid var(--border);padding-top:2rem}
.step .num{font-family:var(--font-display);font-size:2.5rem;color:var(--sage-deep);line-height:1}
.step h3{font-size:1.4rem;margin-bottom:.5rem}
.step p{color:rgba(31,42,28,.72)}

/* Editorial landscape process (landscaping page) */
.landscape-process{
  background:#f4f1ea;
  padding:7.5rem 0;
}
.landscape-process__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:3rem;
  align-items:stretch;
}
.landscape-process__media,
.landscape-process__content{
  min-width:0;
}
.landscape-process__image-frame{
  position:relative;
  height:100%;
  min-height:34rem;
  overflow:hidden;
  border-radius:28px;
  background:#ddd5c7;
}
.landscape-process__image-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.landscape-process__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:2.25rem 0;
}
.landscape-process__header{
  max-width:36rem;
  margin-bottom:2.5rem;
}
.landscape-process__eyebrow{
  display:block;
  margin-bottom:1rem;
  color:#82916f;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.landscape-process__title{
  font-family:var(--font-display);
  font-size:clamp(3rem,5vw,5.2rem);
  line-height:.94;
  letter-spacing:-.05em;
  color:#1f261a;
  margin:0;
  max-width:8ch;
}
.landscape-process__intro{
  margin-top:1.35rem;
  max-width:32rem;
  color:rgba(31,42,28,.72);
  font-size:1.03rem;
  line-height:1.9;
}
.landscape-process__steps{
  margin:0;
  padding:0;
  list-style:none;
}
.landscape-process__step{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1.4rem 2rem;
  align-items:start;
  padding:1.9rem 0 2.1rem;
  border-top:1px solid rgba(125,155,118,.22);
}
.landscape-process__step:last-child{
  border-bottom:1px solid rgba(125,155,118,.22);
}
.landscape-process__number{
  font-family:var(--font-display);
  font-size:clamp(2.6rem,4vw,4rem);
  line-height:.9;
  letter-spacing:-.05em;
  color:#87967a;
}
.landscape-process__step-body h3{
  font-family:var(--font-display);
  font-size:clamp(1.55rem,2.3vw,2.15rem);
  line-height:1.05;
  letter-spacing:-.03em;
  color:#1f261a;
  margin:0 0 .7rem;
}
.landscape-process__step-body p{
  max-width:31rem;
  color:rgba(31,42,28,.7);
  font-size:1rem;
  line-height:1.85;
}
@media (min-width:960px){
  .landscape-process{
    padding:8.5rem 0;
  }
  .landscape-process__grid{
    grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
    gap:4.5rem;
  }
  .landscape-process__image-frame{
    min-height:48rem;
  }
}
@media (max-width:959px){
  .landscape-process{
    padding:6rem 0;
  }
  .landscape-process__grid{
    gap:2.5rem;
  }
  .landscape-process__image-frame{
    min-height:28rem;
  }
  .landscape-process__content{
    padding:0;
  }
}
@media (max-width:640px){
  .landscape-process{
    padding:4.75rem 0;
  }
  .landscape-process__image-frame{
    min-height:22rem;
    border-radius:22px;
  }
  .landscape-process__header{
    margin-bottom:2rem;
  }
  .landscape-process__step{
    grid-template-columns:1fr;
    gap:.9rem;
    padding:1.5rem 0 1.7rem;
  }
  .landscape-process__title{
    max-width:100%;
  }
  .landscape-process__intro,
  .landscape-process__step-body p{
    font-size:.98rem;
    line-height:1.8;
  }
}

/* Pillars dark */
.pillars{display:grid;grid-template-columns:1fr;gap:2.5rem 2.5rem}
@media (min-width:720px){.pillars{grid-template-columns:1fr 1fr}}
@media (min-width:1020px){.pillars{grid-template-columns:repeat(4,1fr)}}
.pillar{border-top:1px solid rgba(245,240,232,.22);padding-top:1.5rem;color:var(--cream)}
.pillar .num{font-family:ui-monospace,monospace;font-size:.78rem;color:var(--sage-light);margin-bottom:.5rem}
.pillar h3{color:var(--cream);font-size:1.4rem;margin-bottom:.6rem}
.pillar p{color:rgba(245,240,232,.78);font-size:.9rem}
.interior-use-case-hero{
  padding:120px 48px 90px;
}
.interior-use-case-hero .container{
  padding-left:0;
  padding-right:0;
}
.service-hero-header,
.use-case-header{
  max-width:760px;
  margin-bottom:72px;
}
.service-hero-header h2,
.use-case-header h2{
  font-size:clamp(64px,6vw,92px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:400;
  max-width:700px;
  margin:0;
}
.service-hero-header p,
.use-case-header p{
  max-width:620px;
}
.use-case-grid,
.feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:48px;
  align-items:start;
}
.use-case-card h3,
.feature-card h3{
  font-size:clamp(28px,2vw,40px);
  line-height:1;
  margin-bottom:18px;
}
.use-case-card p,
.feature-card p{
  font-size:20px;
  line-height:1.6;
  color:rgba(255,255,255,.82);
}
@media (max-width:900px){
  .service-hero-header h2,
  .use-case-header h2{
    font-size:52px;
    line-height:.96;
  }
  .use-case-grid,
  .feature-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
}

/* Big stats blocks */
.bigstats{display:grid;grid-template-columns:1fr;gap:2rem;text-align:center}
@media (min-width:760px){.bigstats{grid-template-columns:repeat(3,1fr)}}
.bigstat{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:3rem 2rem}
.bigstat .n{font-family:var(--font-display);font-size:clamp(3rem,5vw,4.5rem);color:var(--sage-deep)}
.bigstat .l{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(31,42,28,.7);margin-top:.5rem}

/* Quote */
.fullquote{position:relative;height:70vh;min-height:480px;overflow:hidden}
.fullquote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;transform-origin:center center}
.fullquote .overlay{position:absolute;inset:0;background:rgba(61,90,54,.6)}
.fullquote .inner{position:relative;height:100%;display:grid;place-items:center;text-align:center;padding:0 1.5rem;color:var(--cream)}
.fullquote .inner blockquote{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,3.5rem);max-width:60rem;line-height:1.15}

/* CTA block */
.cta-block,
.cta-section,
.contact-banner,
.green-cta{
  background:var(--primary);
  color:var(--cream);
  border-radius:1.5rem;
  padding:64px 72px;
  position:relative;
  overflow:hidden;
}
.cta-block .row,
.cta-section,
.contact-banner,
.green-cta{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:32px;
  position:relative;
  z-index:1;
  text-align:center;
}
.cta-block .row > :first-child,
.cta-content{
  max-width:100%;
  width:100%;
}
.cta-block .row > :first-child .eyebrow,
.cta-content .eyebrow{
  margin-bottom:20px;
}
.cta-block h2,
.cta-content h2{
  font-size:clamp(42px,4.2vw,60px);
  line-height:.98;
  letter-spacing:-.04em;
  margin:0;
  max-width:100%;
  color:var(--cream);
  text-wrap:balance;
}
.cta-block .row > :last-child,
.cta-button{
  flex-shrink:0;
  display:flex !important;
  justify-content:center !important;
  width:100%;
}
.cta-block .blob{position:absolute;top:-5rem;right:-5rem;width:20rem;height:20rem;border-radius:50%;background:var(--sage);opacity:.18;filter:blur(60px);animation:pulseGlow 10s ease-in-out infinite}
@media (max-width:900px){
  .cta-block,
  .cta-section,
  .contact-banner,
  .green-cta{
    padding:56px 32px;
  }
  .cta-block .row,
  .cta-section,
  .contact-banner,
  .green-cta{
    gap:32px;
  }
  .cta-block h2,
  .cta-content h2{
    font-size:clamp(36px,8vw,52px);
  }
}

/* Gallery masonry */
.masonry{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media (min-width:760px){.masonry{grid-template-columns:repeat(3,1fr);grid-auto-rows:280px}}
.masonry figure{position:relative;overflow:hidden;border-radius:1.5rem;background:var(--card);margin:0;min-height:280px}
.masonry figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease,filter .8s ease;will-change:transform;transform-origin:center center}
.masonry figure:hover img{transform:scale(1.08);filter:saturate(1.05)}
.masonry .span-2{grid-column:span 2}
.masonry .row-2{grid-row:span 2}
.masonry figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.5rem;color:var(--cream);background:linear-gradient(to top,rgba(0,0,0,.7),transparent)}
.masonry figcaption .tag{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage-light);margin-bottom:.25rem}
.masonry figcaption .title{font-family:var(--font-display);font-size:1.45rem}

/* Tall promo (vertical/indoor) */
.promo-pair{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:960px){.promo-pair{grid-template-columns:1fr 1fr}}
.promo{position:relative;aspect-ratio:4/5;border-radius:1.5rem;overflow:hidden}
.promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s,filter .8s ease;will-change:transform;transform-origin:center center}
.promo:hover img{transform:scale(1.08);filter:saturate(1.06)}
.promo .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent)}
.promo .body{position:absolute;bottom:0;padding:2.5rem;color:var(--cream)}
.promo .body h3{font-size:clamp(1.75rem,2.5vw,2.5rem);margin-bottom:.75rem}
.promo .body p{color:rgba(245,240,232,.85);max-width:28rem;margin-bottom:1.25rem}

/* Services execution split */
.services-execution-section{
  align-items:center;
}
.services-execution-section__image-wrap,
.services-execution-section__content{
  min-width:0;
}
.services-execution-section__image-wrap{
  width:100%;
  max-height:32rem;
  aspect-ratio:5/4;
  overflow:hidden;
  border-radius:30px;
  box-shadow:0 22px 52px rgba(31,42,28,.1);
  background:#ddd5c7;
}
.services-execution-section__image-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.services-execution-section__content{
  max-width:38rem;
}
@media (min-width:960px){
  .services-execution-section{
    gap:4.5rem;
  }
  .services-execution-section__image-wrap{
    align-self:center;
    height:min(100%,30rem);
  }
}
@media (max-width:959px){
  .services-execution-section__image-wrap{
    aspect-ratio:4/3;
    max-height:28rem;
  }
}
@media (max-width:640px){
  .services-execution-section__image-wrap{
    border-radius:24px;
    max-height:22rem;
  }
}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media (min-width:960px){.contact-grid{grid-template-columns:5fr 7fr;gap:4rem}}
.info-list li{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}
.info-list .icon{width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(220,229,212,.7);display:grid;place-items:center;color:var(--sage-deep);flex-shrink:0;font-size:1rem}
.info-list .lbl{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}
.quote-card{background:rgba(220,229,212,.45);border-radius:1.5rem;padding:2rem;font-family:var(--font-display);font-style:italic;font-size:1.35rem;line-height:1.4;margin-top:2rem}
.form{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:2rem}
@media (min-width:760px){.form{padding:3rem}}
.form-row{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}
@media (min-width:680px){.form-row{grid-template-columns:1fr 1fr}}
.field label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.field input,.field select,.field textarea{
  width:100%;background:var(--cream);border:1px solid var(--border);
  border-radius:999px;padding:.85rem 1.25rem;outline:none;transition:border-color .2s;color:var(--foreground);
}
.field textarea{border-radius:1.25rem;resize:vertical;min-height:140px;line-height:1.5;font-family:inherit}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sage-deep)}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#b8442f;background:#fff7f2}
.form-status{min-height:1.35rem;margin:-.4rem 0 1.25rem;font-size:.92rem;color:var(--muted)}
.form-status.is-error{color:#b8442f}
.form-status.is-success{color:var(--sage-deep)}
.success{text-align:center;padding:3rem 1rem}
.success .check{width:3.5rem;height:3.5rem;border-radius:50%;background:var(--primary);color:var(--cream);display:grid;place-items:center;margin:0 auto 1.5rem;font-size:1.25rem}
.success h3{font-size:1.75rem;margin-bottom:.75rem}

.contact-map-section {
  padding: 100px 6vw;
  background: #f7f1e8;
}

.contact-map-header {
  max-width: 900px;
  margin: 0 auto 48px;
  text-align: center;
}

.contact-map-section .section-heading {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact-map-section p,
.contact-map-section .section-description {
  text-align: center;
  margin: 0 auto;
  max-width: 760px;
}

.contact-map-wrapper {
  max-width: 1400px;
  height: 520px;
  margin: 0 auto;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0,0,0,0.16);
  border: 1px solid rgba(45,70,45,0.15);
}

.contact-map-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

@media (max-width: 768px) {
  .contact-map-section {
    padding: 70px 24px;
  }

  .contact-map-wrapper {
    height: 360px;
    border-radius: 24px;
  }
}

/* Project media sections */
.project-media-hero{
  padding:100px 6vw 60px;
  text-align:center;
  max-width:1000px;
  margin:0 auto;
  display:block;
}
.project-media-copy{
  max-width:900px;
  margin:0 auto;
}
.project-media-copy .section-label{
  display:block;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#7f9478;
  margin-bottom:20px;
}
.project-media-copy h1{
  font-size:clamp(52px,6vw,86px);
  line-height:1;
  letter-spacing:-.04em;
  color:#182317;
  margin:0 auto 24px;
  max-width:850px;
  font-family:"Playfair Display", Georgia, serif;
  font-weight:400;
}
.project-media-copy p{
  max-width:720px;
  margin:0 auto;
  font-size:18px;
  line-height:1.7;
  color:#5f6b5c;
}
.project-media-side{
  display:none;
}
.project-media-header{
  text-align:center;
  max-width:760px;
  margin:0 auto 56px;
}
.project-media-header .eyebrow{
  margin-bottom:1rem;
}
.project-media-header h2{
  max-width:11ch;
  margin:0 auto;
  font-size:clamp(48px,5vw,76px);
  line-height:.95;
  letter-spacing:-.04em;
}
.project-media-header p{
  max-width:620px;
  margin:22px auto 0;
  font-size:18px;
  line-height:1.7;
  color:#60685f;
}
.interior-media-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:28px;
  align-items:stretch;
}
.video-card{
  height:100%;
}
.video-card .media-panel__frame{
  padding:0;
}
.video-card .media-panel__meta{
  padding:1.2rem .3rem .2rem;
}
.video-card video{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:28px;
  display:block;
}
.interior-side-image{
  height:100%;
  border-radius:32px;
  overflow:hidden;
}
.interior-side-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:32px;
}
.service-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:32px;
  display:block;
}
.service-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:72px;
}
.service-image-wrapper{
  height:720px;
  overflow:hidden;
  border-radius:32px;
}
.interior-offerings-section{
  padding-top:5rem;
}
.interior-offerings-section__intro,
.service-include-header{
  max-width:760px;
  margin:0 auto 64px;
  text-align:center;
}
.interior-offerings-section__intro .eyebrow{
  margin-bottom:1rem;
}
.interior-offerings-section__title,
.service-include-header h2{
  max-width:760px;
  margin:0 auto;
  font-size:clamp(56px,6vw,92px);
  line-height:.92;
  letter-spacing:-.045em;
  color:#1d271d;
  font-weight:400;
}
.interior-offerings-section .card-grid{
  gap:1.5rem;
  align-items:stretch;
}
.interior-offerings-section .svc-card{
  border-radius:1.75rem;
  box-shadow:0 18px 44px rgba(31,42,28,.08);
}
.interior-offerings-section .svc-card .img{
  aspect-ratio:5/4;
}
.interior-offerings-section .svc-card .body{
  padding:1.8rem;
}
.interior-offerings-section .svc-card .body h3{
  font-size:clamp(1.8rem,2.2vw,2.35rem);
}
.interior-offerings-section .svc-card .body p{
  color:rgba(31,42,28,.72);
  line-height:1.72;
}
.vertical-clients-intro,
.vertical-intro,
.service-intro,
.project-intro{
  text-align:center;
  max-width:900px;
  margin:0 auto 56px;
}
.vertical-clients-intro .eyebrow,
.vertical-intro .eyebrow,
.service-intro .eyebrow,
.project-intro .eyebrow{
  margin-bottom:1rem;
}
.vertical-clients-intro h2,
.vertical-intro h2,
.service-intro h2,
.project-intro h2{
  font-size:clamp(54px,5vw,82px);
  line-height:.95;
  letter-spacing:-.045em;
  max-width:780px;
  margin:0 auto;
}
.green-section-header,
.service-scope-header,
.use-case-header{
  max-width:780px;
  margin-bottom:72px;
}
.green-section-header h2,
.service-scope-header h2,
.use-case-header h2{
  font-size:clamp(58px,5.4vw,88px);
  line-height:.94;
  letter-spacing:-.045em;
  font-weight:400;
  max-width:780px;
  margin:0;
}
.vertical-project-media-header,
.project-media-header,
.media-section-header,
.gallery-header{
  text-align:center;
  max-width:820px;
  margin:0 auto 72px;
}
.project-media-header .eyebrow,
.media-section-header .eyebrow,
.gallery-header .eyebrow{
  margin-bottom:18px;
  letter-spacing:.24em;
}
.project-media-header h2,
.media-section-header h2,
.gallery-header h2{
  font-size:clamp(56px,5.5vw,88px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:400;
  max-width:760px;
  margin:0 auto;
}
.vertical-project-media-header{
  text-align:center;
}
.vertical-project-media-header h2{
  max-width:760px;
}
.farm-consulting-engagements-intro{
  max-width:760px;
  margin:0 auto 2rem;
  text-align:center;
}
.farm-consulting-engagements-intro .eyebrow{
  margin-bottom:.65rem;
}
.farm-consulting-engagements-intro h2{
  max-width:10ch;
  margin:0 auto;
}
.farm-consulting-engagements-grid{
  max-width:1120px;
  margin:10px auto 0;
  justify-content:center;
  gap:1rem !important;
}
.farm-consulting-engagements-grid .svc-card .body{
  padding:1.5rem 1.35rem 1.6rem !important;
}
.farm-consulting-engagements-grid .svc-card .body h3{
  margin-bottom:.9rem !important;
}
.farm-consulting-engagements-grid .svc-card .body p{
  max-width:16ch;
  margin:0 auto;
}
@media (min-width:1020px){
  .farm-consulting-engagements-grid{
    grid-template-columns:repeat(3,minmax(0,340px));
  }
}
.center-editorial-section{
  text-align:center;
  padding:88px 6vw 56px;
}
.center-editorial-section .eyebrow{
  font-size:13px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:#8a9b7b;
  margin-bottom:26px;
}
.center-editorial-section h2{
  font-size:clamp(58px,5vw,88px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:400;
  max-width:860px;
  margin:0 auto 70px;
  color:#142117;
}
.center-editorial-section .image-grid{
  margin-top:10px;
}
.media-showcase__grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:stretch}
@media (min-width:960px){.media-showcase__grid,.media-showcase__grid--reverse{grid-template-columns:repeat(2,minmax(0,1fr))}}
.media-showcase__grid--landscaping{align-items:center}
@media (min-width:960px){.media-showcase__grid--landscaping{gap:32px}}
@media (max-width:959px){
  .project-media-hero{
    padding:80px 24px 56px;
    text-align:center;
  }
  .project-media-copy h1{
    font-size:clamp(42px,12vw,64px);
  }
  .project-media-header{
    margin:0 auto 40px;
  }
  .project-media-header h2{
    max-width:100%;
    font-size:clamp(2.5rem,8vw,3.4rem);
  }
  .project-media-header p{
    font-size:1rem;
    margin-top:18px;
  }
  .interior-offerings-section{
    padding-top:4rem;
  }
  .interior-offerings-section__intro,
  .service-include-header{
    margin:0 auto 40px;
  }
  .interior-offerings-section__title,
  .service-include-header h2{
    max-width:100%;
    font-size:44px;
    line-height:1;
  }
  .interior-media-grid{
    grid-template-columns:1fr;
  }
  .video-card video{
    height:260px;
  }
  .interior-side-image{
    height:420px;
  }
}
@media (max-width:991px){
  .service-layout{
    grid-template-columns:1fr;
    gap:48px;
  }
  .service-image-wrapper{
    height:520px;
  }
}
@media (max-width:768px){
  .service-image-wrapper{
    height:420px;
  }
  .center-editorial-section{
    padding:80px 24px 50px;
  }
  .center-editorial-section h2{
    font-size:44px;
    line-height:1;
    max-width:100%;
  }
  .green-section-header h2,
  .service-scope-header h2,
  .use-case-header h2{
    font-size:44px;
    line-height:1;
  }
  .vertical-intro h2,
  .service-intro h2,
  .project-intro h2{
    font-size:42px;
    line-height:1;
  }
  .project-media-header h2,
  .media-section-header h2,
  .gallery-header h2{
    font-size:48px;
    line-height:.96;
  }
}
.media-panel{
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(251,248,242,.98));
  border:1px solid rgba(61,90,54,.1);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(31,42,28,.08);
  min-height:100%;
  transition:transform .4s ease,box-shadow .4s ease,border-color .3s ease;
}
.media-panel:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 56px rgba(31,42,28,.14);
  border-color:rgba(61,90,54,.18);
}
.media-panel__frame{position:relative;padding:1rem 1rem 0;flex:1;display:flex}
.media-panel__frame video{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:28px;
  background:#0f1610;
}
.media-panel__frame--full{
  padding:0;
  min-height:100%;
}
.media-panel__frame--full img{
  width:100%;
  height:100%;
  min-height:32rem;
  object-fit:cover;
  transition:transform 1.1s ease;
}
.media-panel:hover .media-panel__frame--full img{
  transform:scale(1.06);
}
.media-panel__visual-overlay{
  position:absolute;
  inset:auto 0 0 0;
  padding:1.35rem 1.45rem;
  color:var(--cream);
  background:linear-gradient(to top,rgba(8,12,8,.8),rgba(8,12,8,.04));
}
.media-panel__visual-overlay span{
  font-family:var(--font-display);
  font-size:clamp(1.3rem,2vw,1.8rem);
  line-height:1.08;
}
.media-panel__meta{padding:1.2rem 1.35rem 1.45rem}
.media-panel__tag{
  display:inline-flex;
  align-items:center;
  padding:.45rem .72rem;
  border-radius:999px;
  background:rgba(168,192,160,.18);
  color:var(--sage-deep);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.media-panel__title{font-size:clamp(28px,2.5vw,42px);line-height:1.1;letter-spacing:-.035em;margin:.95rem 0 .55rem}
.media-panel__copy{color:rgba(31,42,28,.72);max-width:38rem}
.media-panel--video .media-panel__frame{
  padding:1rem 1rem 0;
}
.media-panel--video .media-panel__meta{
  padding-top:1.15rem;
}
.farm-media-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  align-items:stretch;
}
.farm-media-card{
  height:100%;
}
.farm-media-card video{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
  display:block;
  border-radius:24px;
}
@media (min-width:901px){
  .farm-media-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:900px){
  .farm-media-grid{
    grid-template-columns:1fr;
  }
}
.media-strip{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:700px){.media-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.media-strip--quad{grid-template-columns:repeat(2,minmax(0,1fr))}}
.media-strip__card{
  position:relative;
  min-height:17rem;
  border-radius:1.55rem;
  overflow:hidden;
  background:var(--card);
  box-shadow:0 16px 36px rgba(31,42,28,.08);
}
.media-strip__card img{
  width:100%;
  height:100%;
  min-height:17rem;
  object-fit:cover;
  transition:transform 1s ease,filter .7s ease;
}
.media-strip__card:hover img{transform:scale(1.07);filter:saturate(1.06)}
.media-strip__overlay{
  position:absolute;
  inset:auto 0 0 0;
  padding:1.15rem 1.2rem;
  background:linear-gradient(to top,rgba(10,14,10,.78),rgba(10,14,10,.04));
  color:var(--cream);
}
.media-strip__overlay span{
  font-family:var(--font-display);
  font-size:1.25rem;
  line-height:1.08;
}
@media (max-width:959px){
  .media-panel__frame--full img{
    min-height:20rem;
  }
}

/* Footer */
.site-footer{background:var(--primary);color:var(--cream);padding:5rem 0 2rem;margin-top:0}
.site-footer .container{display:grid;grid-template-columns:1fr;gap:3rem}
@media (min-width:760px){.site-footer .container{grid-template-columns:1.2fr .8fr .8fr .8fr 1fr}}
.site-footer h4{font-family:var(--font-display);font-size:1.1rem;color:var(--cream);margin-bottom:1rem;letter-spacing:.01em}
.site-footer a{color:rgba(245,240,232,.8);font-size:.92rem;display:block;padding:.3rem 0;transition:color .2s}
.site-footer a:hover{color:var(--cream)}
.site-footer .brand{color:var(--cream);font-size:1.6rem;margin-bottom:1rem}
.site-footer .brand .footer-brand-logo{
  width:3.15rem;
  height:3.15rem;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.site-footer .blurb{color:rgba(245,240,232,.75);max-width:24rem;font-size:.95rem}
.site-footer .legal{grid-column:1/-1;border-top:1px solid rgba(245,240,232,.15);padding-top:1.5rem;margin-top:2rem;display:flex;justify-content:center;text-align:center;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:rgba(245,240,232,.6)}
.footer-social{margin-top:28px}
.footer-social h4{font-size:18px;margin-bottom:14px;color:#f4efe4}
.social-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.site-footer .social-links a{
  width:42px;
  height:42px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  color:#f4efe4;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  text-decoration:none;
  transition:background .3s ease,color .3s ease,transform .3s ease,border-color .3s ease;
}
.site-footer .social-links a:hover{
  background:#f4efe4;
  color:#365f31;
  transform:translateY(-4px);
}
.social-links i{font-size:1.05rem}
.footer-map{display:flex;flex-direction:column;gap:18px}
.footer-map h4{font-size:28px;color:#f4efe4;margin:0}
.map-wrapper{
  width:100%;
  max-width:320px;
  height:220px;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
}
.map-wrapper iframe{
  width:100%;
  height:100%;
  border:0;
  filter:grayscale(0%) contrast(1.05);
}
.map-link{
  color:#d9e4cf;
  text-decoration:none;
  font-size:15px;
  width:fit-content;
  border-bottom:1px solid rgba(217,228,207,.4);
  padding-bottom:3px;
}
.map-link:hover{
  color:#ffffff;
  border-color:#ffffff;
}
@media (max-width:900px){
  .map-wrapper{
    max-width:100%;
    height:240px;
  }
}

img,
video,
.gallery-card img,
.media-card img,
.service-card img,
.project-card img,
.hero-image img,
.footer-map iframe {
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
}

/* Utility */
.bg-primary{background:var(--primary);color:var(--cream)}
.bg-primary h2{color:var(--cream)}
.text-cream{color:var(--cream)}
.muted{color:rgba(31,42,28,.72)}
.rounded-img{border-radius:1.5rem;overflow:hidden}
.rounded-img img{width:100%;height:100%;object-fit:cover;will-change:transform;transform-origin:center center}
.icon-svg{width:1.25rem;height:1.25rem;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.iconlg{width:1.5rem;height:1.5rem;color:var(--sage-deep)}
.flow > * + *{margin-top:1.5rem}
.list-arrow li{padding:.4rem 0;color:rgba(31,42,28,.82)}
.list-arrow li::before{content:"→ ";color:var(--sage-deep);font-weight:600;margin-right:.25rem}
.green-section h1,
.green-section h2,
.service-dark h1,
.service-dark h2,
.dark-section h1,
.dark-section h2,
.service-scope h1,
.service-scope h2,
.use-cases h1,
.use-cases h2 {
  font-size: clamp(48px, 4.6vw, 82px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  max-width: 900px !important;
}

.green-section,
.service-dark,
.dark-section,
.service-scope,
.use-cases {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}

@media (max-width: 768px) {
  .green-section h1,
  .green-section h2,
  .service-dark h1,
  .service-dark h2,
  .dark-section h1,
  .dark-section h2,
  .service-scope h1,
  .service-scope h2,
  .use-cases h1,
  .use-cases h2 {
    font-size: 42px !important;
    max-width: 100% !important;
  }
}

.bg-primary h1,
.bg-primary h2 {
  font-size: clamp(42px, 4vw, 68px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.04em !important;
  max-width: 16ch !important;
}

.bg-primary.section {
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}

@media (max-width: 768px) {
  .bg-primary h1,
  .bg-primary h2 {
    font-size: 38px !important;
    max-width: 100% !important;
    line-height: 1 !important;
  }
}

/* Large screen composition */
@media (min-width:1500px){
  .page-header h1,
  .hero-title,
  .hero h1{
    font-size:96px;
    max-width:14ch;
  }
  .section-title,
  .h2{
    font-size:96px;
    max-width:14ch;
  }
  .section-description,
  .lead{
    max-width:920px;
    font-size:20px;
  }
  .split,
  .contact-grid,
  .services-execution-section,
  .media-showcase__grid,
  .media-showcase__grid--reverse{
    gap:6rem;
  }
  .card-grid,
  .pillars,
  .promo-pair,
  .bigstats{
    gap:2rem;
  }
  .svc-card .body h3,
  .media-panel__title,
  .video-card__overlay h3,
  .gallery-overlay__title{
    font-size:46px;
  }
  .svc-card .body p,
  .pillar p,
  .media-panel__copy,
  .promo .body p{
    font-size:18px;
    line-height:1.65;
  }
  .green-section h1,
  .green-section h2,
  .service-dark h1,
  .service-dark h2,
  .dark-section h1,
  .dark-section h2,
  .service-scope h1,
  .service-scope h2,
  .use-cases h1,
  .use-cases h2{
    font-size:96px !important;
    max-width:16ch !important;
  }
  .bg-primary h1,
  .bg-primary h2{
    font-size:82px !important;
    max-width:24ch !important;
  }
  .cta-block h2,
  .cta-content h2{
    font-size:72px;
  }
}

@media (min-width:2200px){
  .container,
  .container-wide{
    padding-left:9rem;
    padding-right:9rem;
  }
  .page-header h1,
  .hero-title,
  .hero h1{
    font-size:118px;
  }
  .section-title,
  .h2{
    font-size:112px;
  }
  .section-description,
  .lead{
    font-size:24px;
    max-width:1100px;
  }
  .card-grid{
    gap:2.5rem;
  }
  .svc-card .body h3,
  .media-panel__title,
  .video-card__overlay h3,
  .gallery-overlay__title{
    font-size:56px;
  }
  .svc-card .body p,
  .pillar p,
  .media-panel__copy,
  .promo .body p{
    font-size:22px;
  }
  .green-section h1,
  .green-section h2,
  .service-dark h1,
  .service-dark h2,
  .dark-section h1,
  .dark-section h2,
  .service-scope h1,
  .service-scope h2,
  .use-cases h1,
  .use-cases h2{
    font-size:112px !important;
  }
  .bg-primary h1,
  .bg-primary h2{
    font-size:96px !important;
  }
  .cta-block h2,
  .cta-content h2{
    font-size:88px;
  }
}

/* Sitewide responsive composition overrides */
@media (min-width:1500px){
  :is(
    .about-container,
    .farm-making-header .container,
    .farm-models-section .container,
    .core-scope-section .container,
    .testimonials-section .container,
    .testimonials-header,
    .landscape-disciplines__intro,
    .landscape-hero__copy,
    .landscape-process__copy,
    .services-header__copy,
    .services-execution-section__content,
    .interior-use-case-hero .container,
    .interior-offerings-section .container,
    .center-editorial-section .container,
    .media-panel__content,
    .video-gallery-header,
    .project-media-header
  ){
    max-width:100% !important;
  }

  :is(
    .about-heading,
    .farm-making-header h1,
    .farm-models-section h2,
    .core-scope-section h2,
    .testimonials-header h2,
    .landscape-disciplines__intro h2,
    .landscape-hero__copy h1,
    .landscape-process__copy h2,
    .services-header__copy h1,
    .services-execution-section h2,
    .interior-use-case-hero h1,
    .interior-offerings-section h2,
    .center-editorial-section h2,
    .media-panel__title,
    .video-gallery-header h2,
    .project-media-header h2
  ){
    max-width:min(100%,18ch) !important;
    font-size:clamp(72px,5vw,112px) !important;
    line-height:.94 !important;
  }

  :is(
    .about-text,
    .farm-making-header p,
    .farm-models-section p,
    .core-scope-section p,
    .testimonials-header p,
    .landscape-disciplines__intro p,
    .landscape-hero__copy p,
    .landscape-process__copy p,
    .services-header__copy p,
    .services-execution-section p,
    .interior-use-case-hero p,
    .interior-offerings-section p,
    .center-editorial-section p,
    .media-panel__copy,
    .video-gallery-header p,
    .project-media-header p
  ){
    max-width:min(100%,1100px) !important;
    font-size:clamp(18px,1.1vw,24px) !important;
    line-height:1.65 !important;
  }

  :is(.split,.pg-grid,.farm-making-layout,.farm-approach-layout,.services-execution-section,.contact-grid,.media-showcase__grid){
    gap:clamp(5rem,5vw,8rem) !important;
  }

  :is(.rounded-img,.pg-image,.farm-approach-image-wrap,.services-execution-section__image-wrap,.media-panel__media){
    width:100% !important;
    max-width:none !important;
  }

  :is(.card-grid,.pillars,.bigstats,.promo-pair,.grid-2,.grid-3,.grid-4,.media-strip){
    width:100% !important;
    max-width:none !important;
  }

  .card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:clamp(1.5rem,1.5vw,2.5rem) !important;
  }

  .grid-2,
  .promo-pair{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .grid-3,
  .bigstats,
  .media-strip{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .grid-4,
  .pillars{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  :is(.svc-card,.pillar,.bigstat,.promo,.media-panel,.video-card,.tile,.step){
    min-height:auto;
  }
}

@media (min-width:2200px){
  :is(
    .about-heading,
    .farm-making-header h1,
    .farm-models-section h2,
    .core-scope-section h2,
    .testimonials-header h2,
    .landscape-disciplines__intro h2,
    .landscape-hero__copy h1,
    .landscape-process__copy h2,
    .services-header__copy h1,
    .services-execution-section h2,
    .interior-use-case-hero h1,
    .interior-offerings-section h2,
    .center-editorial-section h2,
    .media-panel__title,
    .video-gallery-header h2,
    .project-media-header h2
  ){
    max-width:min(100%,22ch) !important;
    font-size:clamp(96px,4.2vw,148px) !important;
  }

  :is(
    .about-text,
    .farm-making-header p,
    .farm-models-section p,
    .core-scope-section p,
    .testimonials-header p,
    .landscape-disciplines__intro p,
    .landscape-hero__copy p,
    .landscape-process__copy p,
    .services-header__copy p,
    .services-execution-section p,
    .interior-use-case-hero p,
    .interior-offerings-section p,
    .center-editorial-section p,
    .media-panel__copy,
    .video-gallery-header p,
    .project-media-header p
  ){
    max-width:1280px !important;
    font-size:24px !important;
  }
}

/* Farm core scope: keep this section readable on wide screens */
.core-scope-section{
  padding:clamp(90px,7vw,150px) 0 !important;
}

.core-scope-section .container{
  padding-left:clamp(2rem,5vw,7rem);
  padding-right:clamp(2rem,5vw,7rem);
}

.core-scope-layout{
  width:100%;
  max-width:none !important;
  display:grid;
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr) !important;
  gap:clamp(4rem,5vw,7rem) !important;
  align-items:start;
}

.core-scope-header{
  max-width:680px !important;
  position:static;
}

.core-scope-header h2{
  max-width:10ch !important;
  font-size:clamp(64px,4.6vw,94px) !important;
  line-height:.96 !important;
  letter-spacing:-.045em !important;
}

.core-scope-header p{
  max-width:620px !important;
  font-size:clamp(18px,1.05vw,21px) !important;
  line-height:1.65 !important;
}

.core-scope-grid{
  grid-template-columns:repeat(2,minmax(280px,1fr)) !important;
  gap:clamp(2.25rem,3vw,4rem) clamp(2rem,3vw,4.5rem) !important;
  align-items:start;
}

.core-scope-grid .pillar{
  padding-top:1.8rem;
}

.core-scope-grid .pillar h3{
  max-width:none !important;
  font-size:clamp(24px,1.35vw,34px) !important;
  line-height:1.05 !important;
  margin-bottom:1rem;
}

.core-scope-grid .pillar p{
  max-width:34rem !important;
  font-size:clamp(16px,1vw,20px) !important;
  line-height:1.65 !important;
}

@media (min-width:2200px){
  .core-scope-layout{
    grid-template-columns:minmax(460px,.75fr) minmax(0,1.25fr) !important;
  }

  .core-scope-header h2{
    font-size:108px !important;
  }

  .core-scope-header p{
    font-size:23px !important;
  }

  .core-scope-grid .pillar h3{
    font-size:38px !important;
  }

  .core-scope-grid .pillar p{
    font-size:22px !important;
  }
}

@media (max-width:959px){
  .core-scope-layout{
    grid-template-columns:1fr !important;
    gap:44px !important;
  }

  .core-scope-header{
    max-width:760px !important;
    text-align:center;
    margin:0 auto;
  }

  .core-scope-header h2{
    max-width:100% !important;
    font-size:clamp(42px,11vw,64px) !important;
  }

  .core-scope-grid{
    grid-template-columns:1fr !important;
  }
}

/* Client-ready premium visual system */
:root{
  --site-bg:#f6f1e9;
  --site-bg-soft:#fbf8f2;
  --site-green:#3d5a36;
  --site-green-deep:#263f25;
  --site-green-muted:#78906f;
  --site-text:#172516;
  --site-copy:#526150;
  --site-line:rgba(61,90,54,.14);
  --site-shadow:0 24px 70px rgba(31,42,28,.1);
  --site-radius:24px;
  --section-pad:clamp(78px,7vw,132px);
  --container-pad:clamp(20px,4.5vw,88px);
  --container-max:1680px;
}

body{
  background:var(--site-bg);
  color:var(--site-text);
}

.container,
.container-wide{
  width:min(100%,var(--container-max));
  max-width:var(--container-max);
  padding-left:var(--container-pad);
  padding-right:var(--container-pad);
}

.section,
.section-lg,
.farm-models-section,
.project-media-section,
.video-gallery-section,
.testimonials-section,
.interior-use-case-hero,
.media-showcase,
.contact-map-section{
  padding-top:var(--section-pad) !important;
  padding-bottom:var(--section-pad) !important;
}

.sage-band,
.about-section,
.what-we-do-section,
.farm-models-section,
.testimonials-section,
.gallery-section,
.video-gallery-section,
.contact-map-section,
.media-showcase,
.center-editorial-section,
.interior-offerings-section{
  background:var(--site-bg) !important;
}

.section-heading,
.section-heading-group,
.what-we-do-header,
.farm-models-header,
.testimonials-header,
.media-showcase__intro,
.project-media-header,
.video-gallery-header,
.gallery-section__intro,
.vertical-clients-intro,
.vertical-intro,
.contact-map-header,
.services-header__copy,
.gallery-hero__content,
.about-container,
.center-editorial-section .container,
.interior-offerings-section .container{
  width:min(100%,980px) !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.split .eyebrow,
.pg-grid .eyebrow,
.farm-approach-copy .eyebrow,
.services-execution-section__content .eyebrow{
  text-align:left;
}

.eyebrow,
.section-label,
.hero-label,
.kicker,
.gallery-overlay__eyebrow,
.video-card__tag,
.testimonials-slider__pill{
  font-family:var(--font-body);
  font-size:clamp(11px,.72vw,13px) !important;
  line-height:1.35;
  letter-spacing:.32em !important;
  text-transform:uppercase;
  font-weight:600;
  color:var(--site-green-muted);
}

.bg-primary .eyebrow,
.bg-primary .section-label,
.core-scope-section .section-label,
.cta-block .eyebrow,
.eyebrow-light{
  color:rgba(246,241,233,.74) !important;
}

h1,
h2,
h3,
.h-display,
.hero-title,
.page-header h1,
.section-title,
.h2,
.medium-title,
.h3,
.about-heading,
.what-we-do-header h2,
.farm-models-header h2,
.testimonials-header h2,
.project-media-header h2,
.video-gallery-header h2,
.gallery-hero__content h1,
.service-hero-header h2,
.use-case-header h2{
  font-family:var(--font-display) !important;
  font-weight:400 !important;
  letter-spacing:-.045em !important;
  color:var(--site-text);
  text-wrap:balance;
}

.hero-title,
.hero h1{
  max-width:12ch !important;
  font-size:clamp(58px,7vw,112px) !important;
  line-height:.9 !important;
}

.page-header h1,
.gallery-hero__content h1,
.farm-making-header__title{
  max-width:13ch !important;
  font-size:clamp(50px,6vw,92px) !important;
  line-height:.92 !important;
}

.section-title,
.h2,
.about-heading,
.what-we-do-header h2,
.farm-models-header h2,
.testimonials-header h2,
.project-media-header h2,
.video-gallery-header h2,
.gallery-section__intro h2,
.service-hero-header h2,
.use-case-header h2,
.center-editorial-section h2,
.interior-offerings-section h2,
.contact-map-header h2{
  max-width:12.5ch !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(46px,5.8vw,92px) !important;
  line-height:.94 !important;
}

.split h2,
.pg-grid h1,
.pg-grid h2,
.farm-approach-copy h2,
.services-execution-section__content h2{
  margin-left:0 !important;
  margin-right:0 !important;
}

p,
.lead,
.section-description,
.about-text,
.muted,
.what-we-do-header p,
.farm-models-header p,
.testimonials-header p,
.project-media-header p,
.video-gallery-header p,
.gallery-hero__content .lead,
.service-hero-header p,
.use-case-header p,
.contact-map-header p{
  font-family:var(--font-body);
  color:var(--site-copy);
}

.lead,
.section-description,
.about-text,
.what-we-do-header p,
.farm-models-header p,
.testimonials-header p,
.project-media-header p,
.video-gallery-header p,
.gallery-hero__content .lead,
.service-hero-header p,
.use-case-header p,
.contact-map-header p{
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(17px,1.25vw,21px) !important;
  line-height:1.75 !important;
}

.page-header{
  min-height:auto;
  padding:clamp(120px,10vw,190px) 0 clamp(76px,7vw,120px) !important;
  background-color:var(--site-bg) !important;
}

.page-header .pg-grid{
  gap:clamp(36px,5vw,84px) !important;
  align-items:center !important;
}

.pg-image,
.rounded-img,
.farm-approach-image-wrap,
.services-execution-section__image-wrap,
.media-panel__frame,
.gallery-hero__frame,
.promo,
.svc-card .img,
.practice .img{
  border-radius:var(--site-radius) !important;
  overflow:hidden;
  background:#e2dacd;
}

.pg-image img,
.rounded-img img,
.farm-approach-image-wrap img,
.services-execution-section__image-wrap img,
.media-panel__frame img,
.media-panel__frame video,
.gallery-hero__frame img,
.promo img,
.svc-card .img img,
.practice .img img,
.media-strip__card img,
.video-card video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

.card-grid,
.pillars,
.bigstats,
.promo-pair,
.media-strip,
.video-gallery-grid{
  gap:clamp(18px,2vw,32px) !important;
}

.svc-card,
.practice,
.media-panel,
.video-card,
.gallery-card,
.bigstat,
.form,
.quote-card{
  border:1px solid var(--site-line) !important;
  border-radius:var(--site-radius) !important;
  background:var(--site-bg-soft) !important;
  box-shadow:0 18px 48px rgba(31,42,28,.07) !important;
  overflow:hidden;
}

.svc-card .body,
.practice .body,
.media-panel__meta,
.video-card__body{
  padding:clamp(26px,3vw,48px) !important;
}

.svc-card .body h3,
.practice .body h3,
.media-panel__title,
.pillar h3,
.video-card__overlay h3,
.gallery-overlay__title{
  font-size:clamp(28px,2vw,42px) !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  max-width:16ch;
}

.svc-card .body p,
.practice .body p,
.media-panel__copy,
.video-card__body p,
.pillar p,
.promo .body p,
.list-arrow li{
  max-width:44rem !important;
  font-size:clamp(15px,1vw,18px) !important;
  line-height:1.72 !important;
}

.practice{
  background:transparent !important;
}

.practice .row{
  background:var(--site-bg-soft);
}

.what-we-do-section .flow{
  width:100%;
  max-width:var(--container-max) !important;
}

.practice .img{
  min-height:clamp(320px,32vw,560px);
  aspect-ratio:auto !important;
}

.bg-primary,
.core-scope-section,
.site-footer{
  background:var(--site-green) !important;
}

.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary .h-display,
.core-scope-section h2,
.core-scope-section h3,
.cta-block h2,
.site-footer h4{
  color:var(--cream) !important;
}

.bg-primary.section{
  padding-top:var(--section-pad) !important;
  padding-bottom:var(--section-pad) !important;
}

.pillars{
  align-items:start;
}

.pillar{
  padding-top:24px !important;
  border-top:1px solid rgba(246,241,233,.22) !important;
  box-shadow:none !important;
  background:transparent !important;
}

.pillar h3{
  margin-bottom:14px;
}

.pillar p{
  color:rgba(246,241,233,.78) !important;
}

.core-scope-layout{
  width:min(100%,var(--container-max));
  margin:0 auto;
}

.core-scope-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.cta-block{
  width:100%;
  border-radius:28px !important;
  padding:clamp(46px,6vw,86px) clamp(24px,6vw,96px) !important;
  background:linear-gradient(135deg,var(--site-green),var(--site-green-deep)) !important;
  box-shadow:var(--site-shadow);
}

.cta-block h2{
  max-width:18ch !important;
  font-size:clamp(38px,4.8vw,76px) !important;
  line-height:.96 !important;
}

.btn,
.farm-making-header__cta,
.link-underline,
.text-link,
.map-link{
  font-family:var(--font-body);
  font-weight:600;
}

.btn{
  min-height:48px;
  padding:.9rem 1.35rem;
  border-radius:999px;
  box-shadow:none;
}

.site-footer{
  padding:clamp(70px,7vw,110px) 0 36px;
}

.site-footer .container{
  gap:clamp(2rem,3vw,4rem);
}

.site-footer h4{
  font-family:var(--font-body) !important;
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
}

.site-footer a,
.site-footer span,
.site-footer .blurb{
  line-height:1.65;
}

.map-wrapper{
  border-radius:18px;
  overflow:hidden;
}

@media (min-width:1200px){
  .split,
  .services-execution-section,
  .contact-grid,
  .media-showcase__grid{
    gap:clamp(4rem,5vw,7rem) !important;
  }

  .card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .pillars{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .media-strip--quad{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media (min-width:1500px){
  :root{
    --container-max:1760px;
    --section-pad:clamp(96px,6vw,150px);
  }

  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2{
    font-size:clamp(70px,4.2vw,108px) !important;
  }

  .page-header h1,
  .gallery-hero__content h1,
  .farm-making-header__title{
    font-size:clamp(76px,4.6vw,112px) !important;
  }

  .hero-title,
  .hero h1{
    font-size:clamp(82px,5.4vw,128px) !important;
  }

  .lead,
  .section-description,
  .about-text,
  .what-we-do-header p,
  .farm-models-header p,
  .testimonials-header p,
  .project-media-header p,
  .video-gallery-header p,
  .gallery-hero__content .lead,
  .service-hero-header p,
  .use-case-header p,
  .contact-map-header p{
    font-size:clamp(18px,1vw,22px) !important;
  }

  .core-scope-header h2{
    font-size:clamp(68px,4vw,96px) !important;
    max-width:10ch !important;
  }
}

@media (min-width:2200px){
  :root{
    --container-max:1920px;
    --container-pad:clamp(80px,5vw,120px);
  }

  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2{
    font-size:112px !important;
  }

  .svc-card .body h3,
  .practice .body h3,
  .media-panel__title,
  .pillar h3{
    font-size:46px !important;
  }
}

@media (max-width:1024px){
  :root{
    --section-pad:clamp(64px,9vw,92px);
  }

  .page-header .pg-grid,
  .split,
  .services-execution-section,
  .contact-grid,
  .media-showcase__grid,
  .core-scope-layout{
    grid-template-columns:1fr !important;
  }

  .split .eyebrow,
  .pg-grid .eyebrow,
  .farm-approach-copy .eyebrow,
  .services-execution-section__content .eyebrow{
    text-align:center;
  }

  .split h2,
  .pg-grid h1,
  .pg-grid h2,
  .farm-approach-copy h2,
  .services-execution-section__content h2{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center;
  }

  .split p,
  .pg-grid p,
  .farm-approach-copy p,
  .services-execution-section__content p{
    text-align:center;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .core-scope-grid,
  .pillars,
  .card-grid,
  .promo-pair,
  .video-gallery-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media (max-width:720px){
  :root{
    --container-pad:20px;
    --section-pad:64px;
  }

  .hero-title,
  .hero h1,
  .page-header h1,
  .gallery-hero__content h1,
  .farm-making-header__title,
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .cta-block h2{
    max-width:100% !important;
    font-size:clamp(38px,11vw,56px) !important;
    line-height:.98 !important;
  }

  .lead,
  .section-description,
  .about-text,
  .what-we-do-header p,
  .farm-models-header p,
  .testimonials-header p,
  .project-media-header p,
  .video-gallery-header p,
  .gallery-hero__content .lead,
  .service-hero-header p,
  .use-case-header p,
  .contact-map-header p{
    font-size:16px !important;
    line-height:1.7 !important;
  }

  .core-scope-grid,
  .pillars,
  .card-grid,
  .promo-pair,
  .video-gallery-grid,
  .media-strip{
    grid-template-columns:1fr !important;
  }

  .practice .img,
  .pg-image,
  .rounded-img{
    min-height:260px;
  }

  .cta-block{
    border-radius:22px !important;
  }
}

/* No text cutoff safeguard */
html,
body{
  max-width:100% !important;
  overflow-x:hidden !important;
}

section{
  overflow-x:hidden;
}

h1,
h2,
h3,
h4,
p,
a,
span,
blockquote,
li{
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}

:is(
  .hero-title,
  .hero h1,
  .page-header h1,
  .farm-making-header__title,
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .core-scope-header h2,
  .cta-block h2,
  .svc-card .body h3,
  .practice .body h3,
  .pillar h3,
  .media-panel__title,
  .video-card__overlay h3,
  .gallery-overlay__title,
  .testimonials-slider__meta h3,
  .promo .body h3,
  .media-strip__overlay span
){
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
  width:auto !important;
  max-width:100% !important;
  display:block !important;
}

.hero-title,
.hero h1{
  font-size:clamp(2.2rem,6vw,5.5rem) !important;
  line-height:1 !important;
}

.page-header h1,
.farm-making-header__title{
  font-size:clamp(2rem,5vw,4.75rem) !important;
  line-height:1.02 !important;
}

:is(
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .core-scope-header h2
){
  font-size:clamp(2rem,4.6vw,4rem) !important;
  line-height:1.04 !important;
}

.cta-block h2{
  font-size:clamp(1.8rem,4vw,3.625rem) !important;
  line-height:1.04 !important;
}

:is(
  .svc-card .body h3,
  .practice .body h3,
  .pillar h3,
  .media-panel__title,
  .video-card__overlay h3,
  .gallery-overlay__title,
  .testimonials-slider__meta h3,
  .promo .body h3,
  .media-strip__overlay span
){
  font-size:clamp(1.35rem,2.2vw,2rem) !important;
  line-height:1.12 !important;
}

.container{
  width:min(calc(100% - 40px),1440px) !important;
  margin-inline:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

@media (max-width:768px){
  .container{
    width:min(calc(100% - 32px),1440px) !important;
  }

  .hero-title,
  .hero h1,
  .page-header h1,
  .farm-making-header__title,
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .core-scope-header h2{
    font-size:clamp(2.1rem,10vw,4rem) !important;
    line-height:1.06 !important;
  }
}

/* Single-line heading and balanced card refinement */
.container,
.container-wide,
.pg-grid,
.split,
.card-grid,
.pillars,
.media-showcase__grid,
.video-gallery-grid,
.media-strip,
.practice .row,
.svc-card,
.practice .body,
.media-panel,
.media-panel__meta,
.video-card,
.video-card__body,
.cta-block,
.cta-block .row{
  min-width:0 !important;
}

:is(
  .hero-title,
  .hero h1,
  .page-header h1,
  .farm-making-header__title,
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .core-scope-header h2,
  .cta-block h2
){
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
  line-height:.98 !important;
  letter-spacing:-.032em !important;
  margin-bottom:clamp(16px,2vw,24px) !important;
}

.what-we-do-header h2{
  display:block !important;
}

.what-we-do-header h2 span{
  display:inline !important;
  white-space:inherit !important;
}

.hero-title,
.hero h1{
  font-size:clamp(2rem,5.5vw,5.5rem) !important;
}

.page-header h1,
.farm-making-header__title{
  font-size:clamp(1.8rem,4.8vw,4.75rem) !important;
}

:is(
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .core-scope-header h2
){
  font-size:clamp(1.65rem,4.2vw,4rem) !important;
}

.cta-block h2{
  font-size:clamp(1.55rem,3.8vw,3.625rem) !important;
}

:is(
  .svc-card .body h3,
  .practice .body h3,
  .pillar h3,
  .media-panel__title,
  .video-card__overlay h3,
  .gallery-overlay__title,
  .testimonials-slider__meta h3,
  .promo .body h3,
  .media-strip__overlay span
){
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
  font-size:clamp(1.25rem,2.35vw,2rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.024em !important;
  margin-bottom:.7rem !important;
}

.svc-card,
.video-card,
.media-panel,
.practice .row{
  height:100% !important;
}

.svc-card .body,
.video-card__body,
.media-panel__meta,
.practice .body{
  display:flex !important;
  flex-direction:column !important;
}

.svc-card .body p,
.video-card__body p,
.media-panel__copy,
.practice .body p{
  flex:1 1 auto;
}

.video-gallery-grid,
.farm-media-grid,
.card-grid{
  align-items:stretch !important;
}

@media (max-width:1024px){
  :is(
    .hero-title,
    .hero h1,
    .page-header h1,
    .farm-making-header__title,
    .section-title,
    .h2,
    .about-heading,
    .what-we-do-header h2,
    .farm-models-header h2,
    .testimonials-header h2,
    .project-media-header h2,
    .video-gallery-header h2,
    .gallery-section__intro h2,
    .service-hero-header h2,
    .use-case-header h2,
    .center-editorial-section h2,
    .interior-offerings-section h2,
    .contact-map-header h2,
    .core-scope-header h2,
    .cta-block h2
  ){
    letter-spacing:-.024em !important;
  }
}

@media (max-width:720px){
  :is(
    .hero-title,
    .hero h1,
    .page-header h1,
    .farm-making-header__title,
    .section-title,
    .h2,
    .about-heading,
    .what-we-do-header h2,
    .farm-models-header h2,
    .testimonials-header h2,
    .project-media-header h2,
    .video-gallery-header h2,
    .gallery-section__intro h2,
    .service-hero-header h2,
    .use-case-header h2,
    .center-editorial-section h2,
    .interior-offerings-section h2,
    .contact-map-header h2,
    .core-scope-header h2,
    .cta-block h2
  ){
    font-size:clamp(1.35rem,8vw,2.25rem) !important;
    letter-spacing:-.018em !important;
  }

  :is(
    .svc-card .body h3,
    .practice .body h3,
    .pillar h3,
    .media-panel__title,
    .video-card__overlay h3,
    .gallery-overlay__title,
    .testimonials-slider__meta h3,
    .promo .body h3,
    .media-strip__overlay span
  ){
    font-size:clamp(1.15rem,6vw,1.55rem) !important;
    letter-spacing:-.018em !important;
  }
}

/* Media/card title correction */
.media-panel,
.video-card{
  display:flex !important;
  flex-direction:column !important;
}

.media-panel__frame,
.video-card__media{
  flex:0 0 auto !important;
  width:100% !important;
  padding:14px 14px 0 !important;
}

.media-panel__frame video,
.media-panel__frame img,
.video-card video,
.video-card img{
  border-radius:16px !important;
  aspect-ratio:16 / 9 !important;
  background:#101810 !important;
}

.media-panel__meta,
.video-card__body{
  padding:22px 26px 28px !important;
}

.media-panel__title,
.video-card__overlay h3,
.gallery-overlay__title{
  max-width:100% !important;
  font-size:clamp(24px,1.7vw,32px) !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
  margin:.8rem 0 .55rem !important;
  text-wrap:balance;
}

.video-card__overlay{
  padding:16px !important;
  background:linear-gradient(to top,rgba(8,14,8,.82),rgba(8,14,8,.08)) !important;
}

.video-card__tag,
.media-panel__tag{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  padding:.46rem .72rem !important;
  border-radius:999px !important;
  background:rgba(120,144,111,.13) !important;
  color:var(--pw-green-soft) !important;
  font-size:11px !important;
  letter-spacing:.24em !important;
  line-height:1.2 !important;
  white-space:nowrap;
}

.video-card__body p,
.media-panel__copy{
  max-width:58ch !important;
  font-size:16px !important;
  line-height:1.65 !important;
}

.video-gallery-grid,
.farm-media-grid{
  align-items:stretch !important;
}

.video-gallery-grid .video-card,
.farm-media-grid .media-panel{
  min-height:0 !important;
}

@media (min-width:1200px){
  .video-gallery-grid .video-card,
  .farm-media-grid .media-panel{
    min-height:520px !important;
  }
}

@media (max-width:720px){
  .media-panel__meta,
  .video-card__body{
    padding:20px !important;
  }

  .media-panel__title,
  .video-card__overlay h3,
  .gallery-overlay__title{
    font-size:26px !important;
  }
}

/* Production refinement: controlled premium system */
:root{
  --pw-cream:#f5f1ea;
  --pw-cream-2:#fbf8f2;
  --pw-green:#345630;
  --pw-green-dark:#203b22;
  --pw-green-soft:#78906f;
  --pw-text:#142414;
  --pw-copy:#4f604e;
  --pw-border:rgba(52,86,48,.16);
  --pw-radius:22px;
  --pw-shadow:0 18px 46px rgba(31,42,28,.08);
  --pw-container:1680px;
  --pw-pad:clamp(20px,3vw,72px);
  --pw-section:clamp(80px,6vw,110px);
}

body{
  background:var(--pw-cream) !important;
  color:var(--pw-text) !important;
}

.container,
.container-wide{
  width:min(100%,var(--pw-container)) !important;
  max-width:var(--pw-container) !important;
  padding-left:var(--pw-pad) !important;
  padding-right:var(--pw-pad) !important;
}

.section,
.section-lg,
.page-header,
.about-section,
.what-we-do-section,
.farm-models-section,
.testimonials-section,
.media-showcase,
.project-media-section,
.video-gallery-section,
.interior-use-case-hero,
.interior-offerings-section,
.center-editorial-section,
.contact-map-section,
.sage-band,
.bg-primary.section{
  padding-top:var(--pw-section) !important;
  padding-bottom:var(--pw-section) !important;
}

.site-header .container{
  padding-top:14px !important;
  padding-bottom:14px !important;
}

.site-header.scrolled,
.site-header.solid{
  background:rgba(245,241,234,.94) !important;
  border-bottom:1px solid rgba(52,86,48,.1);
  box-shadow:0 10px 34px rgba(31,42,28,.06) !important;
}

.brand{
  font-size:1.25rem !important;
}

.brand .brand-logo{
  width:2.35rem !important;
  height:2.35rem !important;
}

.nav{
  gap:clamp(1rem,1.8vw,1.75rem) !important;
}

.nav a{
  font-size:13px !important;
  letter-spacing:.06em !important;
  text-transform:uppercase;
}

.nav a:hover,
.nav a.active{
  color:var(--pw-green) !important;
}

.eyebrow,
.section-label,
.hero-label,
.kicker,
.video-card__tag,
.gallery-overlay__eyebrow,
.testimonials-slider__pill{
  font-family:var(--font-body) !important;
  font-size:12px !important;
  line-height:1.3 !important;
  letter-spacing:.3em !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  color:var(--pw-green-soft) !important;
  margin-bottom:18px !important;
}

.bg-primary .eyebrow,
.bg-primary .section-label,
.core-scope-section .section-label,
.cta-block .eyebrow,
.eyebrow-light{
  color:rgba(245,241,234,.74) !important;
}

h1,
h2,
h3,
.h-display,
.hero-title,
.page-header h1,
.section-title,
.h2,
.about-heading,
.what-we-do-header h2,
.farm-models-header h2,
.testimonials-header h2,
.project-media-header h2,
.video-gallery-header h2,
.gallery-section__intro h2,
.service-hero-header h2,
.use-case-header h2,
.center-editorial-section h2,
.interior-offerings-section h2,
.contact-map-header h2{
  font-family:var(--font-display) !important;
  font-weight:400 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}

.hero-title,
.hero h1{
  max-width:12ch !important;
  font-size:clamp(48px,6.2vw,88px) !important;
  line-height:.95 !important;
  color:var(--cream) !important;
}

.page-header h1,
.gallery-hero__content h1,
.farm-making-header__title{
  max-width:13ch !important;
  font-size:clamp(42px,5.2vw,76px) !important;
  line-height:.98 !important;
  color:var(--pw-text) !important;
}

.section-title,
.h2,
.about-heading,
.what-we-do-header h2,
.farm-models-header h2,
.testimonials-header h2,
.project-media-header h2,
.video-gallery-header h2,
.gallery-section__intro h2,
.service-hero-header h2,
.use-case-header h2,
.center-editorial-section h2,
.interior-offerings-section h2,
.contact-map-header h2{
  max-width:13ch !important;
  font-size:clamp(38px,4.4vw,64px) !important;
  line-height:1 !important;
  color:var(--pw-text) !important;
}

.svc-card .body h3,
.practice .body h3,
.pillar h3,
.media-panel__title,
.video-card__overlay h3,
.gallery-overlay__title,
.testimonials-slider__meta h3{
  max-width:18ch !important;
  font-size:clamp(24px,2.1vw,38px) !important;
  line-height:1.08 !important;
  letter-spacing:-.03em !important;
}

p,
.lead,
.section-description,
.about-text,
.muted,
.what-we-do-header p,
.farm-models-header p,
.testimonials-header p,
.project-media-header p,
.video-gallery-header p,
.gallery-hero__content .lead,
.service-hero-header p,
.use-case-header p,
.contact-map-header p{
  color:var(--pw-copy) !important;
  font-size:clamp(16px,1.15vw,19px) !important;
  line-height:1.65 !important;
}

.lead,
.section-description,
.about-text,
.what-we-do-header p,
.farm-models-header p,
.testimonials-header p,
.project-media-header p,
.video-gallery-header p,
.gallery-hero__content .lead,
.service-hero-header p,
.use-case-header p,
.contact-map-header p{
  max-width:720px !important;
}

.section-heading,
.section-heading-group,
.what-we-do-header,
.farm-models-header,
.testimonials-header,
.media-showcase__intro,
.project-media-header,
.video-gallery-header,
.gallery-section__intro,
.vertical-clients-intro,
.vertical-intro,
.contact-map-header,
.about-container,
.center-editorial-section .container,
.interior-offerings-section .container{
  width:min(100%,920px) !important;
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:clamp(36px,4vw,58px) !important;
  text-align:center !important;
}

.hero::after{
  background:linear-gradient(180deg,rgba(9,20,10,.5),rgba(9,20,10,.26) 42%,rgba(9,20,10,.58)) !important;
}

.hero .hero-inner{
  padding-top:clamp(120px,12vw,170px) !important;
  padding-bottom:clamp(80px,8vw,120px) !important;
}

.hero-content{
  max-width:820px !important;
}

.hero-description,
.hero-tagline{
  max-width:680px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  color:rgba(245,241,234,.86) !important;
}

.hero .hero-label,
.hero .kicker{
  color:#fff !important;
  font-size:clamp(16px,1.35vw,24px) !important;
  font-weight:700 !important;
  letter-spacing:.34em !important;
  opacity:1 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.24) !important;
}

.hero-actions,
.hero-cta{
  justify-content:center;
  gap:12px !important;
  flex-wrap:wrap;
}

.page-header{
  background-color:var(--pw-cream) !important;
}

.page-header[style*="background-image"]{
  position:relative;
}

.page-header[style*="background-image"]::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(245,241,234,.94),rgba(245,241,234,.78));
  pointer-events:none;
}

.page-header .container{
  position:relative;
  z-index:1;
}

.page-header .pg-grid,
.split,
.services-execution-section,
.contact-grid,
.media-showcase__grid,
.farm-approach-layout{
  gap:clamp(32px,4vw,64px) !important;
  align-items:center !important;
}

.split h2,
.pg-grid h1,
.pg-grid h2,
.farm-approach-copy h2,
.services-execution-section__content h2{
  margin-left:0 !important;
  margin-right:0 !important;
}

.pg-image,
.rounded-img,
.farm-approach-image-wrap,
.services-execution-section__image-wrap,
.media-panel__frame,
.gallery-hero__frame,
.svc-card .img,
.practice .img,
.promo,
.media-strip__card{
  border-radius:var(--pw-radius) !important;
  overflow:hidden !important;
  background:#e4dccc !important;
}

.pg-image,
.rounded-img,
.farm-approach-image-wrap,
.services-execution-section__image-wrap{
  min-height:auto !important;
  aspect-ratio:4 / 3 !important;
}

.svc-card .img{
  aspect-ratio:4 / 3 !important;
  min-height:auto !important;
}

.practice .img{
  aspect-ratio:16 / 10 !important;
  min-height:auto !important;
}

.media-panel__frame,
.video-card__media,
.video-card video{
  aspect-ratio:16 / 9 !important;
  min-height:auto !important;
}

.pg-image img,
.rounded-img img,
.farm-approach-image-wrap img,
.services-execution-section__image-wrap img,
.media-panel__frame img,
.media-panel__frame video,
.gallery-hero__frame img,
.svc-card .img img,
.practice .img img,
.promo img,
.media-strip__card img,
.video-card video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.card-grid,
.pillars,
.bigstats,
.promo-pair,
.media-strip,
.video-gallery-grid{
  gap:clamp(18px,2vw,28px) !important;
}

.svc-card,
.media-panel,
.video-card,
.gallery-card,
.bigstat,
.form,
.quote-card{
  display:flex;
  flex-direction:column;
  height:100%;
  border:1px solid var(--pw-border) !important;
  border-radius:var(--pw-radius) !important;
  background:var(--pw-cream-2) !important;
  box-shadow:0 12px 34px rgba(31,42,28,.055) !important;
}

.svc-card .body,
.practice .body,
.media-panel__meta,
.video-card__body{
  flex:1;
  padding:clamp(24px,2.5vw,38px) !important;
}

.svc-card .body p,
.practice .body p,
.media-panel__copy,
.video-card__body p,
.pillar p,
.promo .body p,
.list-arrow li{
  font-size:clamp(15px,1vw,17px) !important;
  line-height:1.65 !important;
}

.practice{
  box-shadow:none !important;
  border:0 !important;
  background:transparent !important;
  overflow:visible !important;
}

.practice .row{
  border:1px solid rgba(52,86,48,.18);
  border-radius:var(--pw-radius);
  overflow:hidden;
  background:var(--pw-cream-2);
  box-shadow:0 18px 44px rgba(31,42,28,.09);
}

.what-we-do-section .flow{
  display:grid;
  gap:clamp(30px,4vw,64px);
}

.what-we-do-section .flow > .practice + .practice{
  margin-top:0;
}

.bg-primary,
.core-scope-section,
.site-footer{
  background:var(--pw-green) !important;
}

.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary .h-display,
.core-scope-section h2,
.core-scope-section h3,
.cta-block h2,
.site-footer h4{
  color:var(--cream) !important;
}

.pillars{
  align-items:stretch !important;
}

.pillar{
  padding-top:20px !important;
  border-top:1px solid rgba(245,241,234,.2) !important;
  background:transparent !important;
  box-shadow:none !important;
}

.pillar p{
  color:rgba(245,241,234,.78) !important;
}

.core-scope-layout{
  width:min(100%,var(--pw-container)) !important;
  max-width:var(--pw-container) !important;
  grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr) !important;
}

.core-scope-header h2{
  max-width:11ch !important;
  font-size:clamp(42px,4vw,64px) !important;
}

.core-scope-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.core-scope-grid .pillar h3{
  font-size:clamp(22px,1.7vw,30px) !important;
}

.core-scope-grid .pillar p{
  font-size:clamp(15px,1vw,17px) !important;
}

.cta-block{
  display:grid;
  place-items:center;
  max-width:100% !important;
  border-radius:26px !important;
  padding:clamp(44px,5vw,72px) clamp(22px,5vw,72px) !important;
  background:linear-gradient(135deg,var(--pw-green),var(--pw-green-dark)) !important;
  box-shadow:0 18px 52px rgba(31,42,28,.13) !important;
}

.cta-block .row{
  max-width:820px;
  gap:24px !important;
}

.cta-block h2{
  max-width:720px !important;
  font-size:clamp(34px,4vw,58px) !important;
  line-height:1 !important;
}

.btn,
.farm-making-header__cta{
  min-height:46px;
  border-radius:999px !important;
  padding:.82rem 1.25rem !important;
  font-size:14px !important;
  font-weight:650 !important;
}

.btn-primary{
  background:var(--pw-cream) !important;
  color:var(--pw-green-dark) !important;
}

.btn-dark{
  background:var(--pw-green) !important;
  color:var(--pw-cream) !important;
}

.site-footer{
  padding-top:clamp(64px,6vw,92px) !important;
}

.site-footer .container{
  gap:clamp(24px,3vw,42px) !important;
}

.site-footer .blurb{
  max-width:24rem !important;
  color:rgba(245,241,234,.9) !important;
  font-size:1rem !important;
  line-height:1.75 !important;
}

.site-footer a,
.site-footer span{
  color:rgba(245,241,234,.86) !important;
}

.site-footer a:hover{
  color:#fff !important;
}

.footer-map,
.map-wrapper{
  max-width:100% !important;
}

.map-wrapper{
  height:220px !important;
  border-radius:16px !important;
}

@media (min-width:1200px){
  .card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .pillars{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .practice .row{
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
  }

  .practice.reverse .row > :first-child{
    order:2;
  }
}

@media (min-width:1500px){
  :root{
    --pw-container:1680px;
    --pw-section:110px;
  }
}

@media (max-width:1024px){
  :root{
    --pw-section:72px;
  }

  .page-header .pg-grid,
  .split,
  .services-execution-section,
  .contact-grid,
  .media-showcase__grid,
  .farm-approach-layout,
  .core-scope-layout{
    grid-template-columns:1fr !important;
  }

  .split h2,
  .pg-grid h1,
  .pg-grid h2,
  .farm-approach-copy h2,
  .services-execution-section__content h2,
  .split p,
  .pg-grid p,
  .farm-approach-copy p,
  .services-execution-section__content p,
  .split .eyebrow,
  .pg-grid .eyebrow,
  .farm-approach-copy .eyebrow,
  .services-execution-section__content .eyebrow{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .pillars,
  .card-grid,
  .promo-pair,
  .video-gallery-grid,
  .media-strip,
  .core-scope-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:720px){
  :root{
    --pw-pad:20px;
    --pw-section:52px;
  }

  .hero-title,
  .hero h1,
  .page-header h1,
  .gallery-hero__content h1,
  .farm-making-header__title,
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .cta-block h2,
  .core-scope-header h2{
    max-width:100% !important;
    font-size:clamp(34px,10vw,48px) !important;
    line-height:1.02 !important;
  }

  .lead,
  .section-description,
  .about-text,
  .what-we-do-header p,
  .farm-models-header p,
  .testimonials-header p,
  .project-media-header p,
  .video-gallery-header p,
  .gallery-hero__content .lead,
  .service-hero-header p,
  .use-case-header p,
  .contact-map-header p{
    font-size:16px !important;
  }

  .pillars,
  .card-grid,
  .promo-pair,
  .video-gallery-grid,
  .media-strip,
  .core-scope-grid{
    grid-template-columns:1fr !important;
  }

  .pg-image,
  .rounded-img,
  .farm-approach-image-wrap,
  .services-execution-section__image-wrap{
    aspect-ratio:4 / 3 !important;
  }

  .cta-block{
    padding:38px 20px !important;
  }
}

/* Final text visibility pass: no headings or card titles should be clipped. */
html,
body{
  max-width:100% !important;
  overflow-x:hidden !important;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

section{
  overflow-x:hidden;
}

.container,
.container-wide{
  width:min(calc(100% - 32px),var(--pw-container,1680px)) !important;
  max-width:var(--pw-container,1680px) !important;
  margin-inline:auto !important;
}

@media (min-width:1800px){
  :root{
    --pw-container:1840px;
  }
}

@media (min-width:2200px){
  :root{
    --pw-container:2160px;
  }
}

h1,
h2,
h3,
h4,
p,
a,
span,
li,
blockquote{
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}

:is(
  .hero-title,
  .hero h1,
  .page-header h1,
  .farm-making-header__title,
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .core-scope-header h2,
  .cta-block h2,
  .svc-card .body h3,
  .practice .body h3,
  .pillar h3,
  .media-panel__title,
  .video-card__overlay h3,
  .gallery-overlay__title,
  .testimonials-slider__meta h3,
  .promo .body h3,
  .media-strip__overlay span
){
  display:block !important;
  max-width:100% !important;
  width:auto !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
}

.hero-title,
.hero h1{
  font-size:clamp(2.2rem,6vw,5.5rem) !important;
  line-height:1 !important;
}

.page-header h1,
.farm-making-header__title{
  font-size:clamp(2rem,5vw,4.75rem) !important;
  line-height:1.02 !important;
}

:is(
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .core-scope-header h2
){
  font-size:clamp(2rem,4.6vw,4rem) !important;
  line-height:1.04 !important;
}

.cta-block h2{
  font-size:clamp(1.8rem,4vw,3.625rem) !important;
  line-height:1.04 !important;
}

:is(
  .svc-card .body h3,
  .practice .body h3,
  .pillar h3,
  .media-panel__title,
  .video-card__overlay h3,
  .gallery-overlay__title,
  .testimonials-slider__meta h3,
  .promo .body h3,
  .media-strip__overlay span
){
  font-size:clamp(1.35rem,2.2vw,2rem) !important;
  line-height:1.12 !important;
}

@media (max-width:768px){
  .container,
  .container-wide{
    width:min(calc(100% - 32px),var(--pw-container,1440px)) !important;
  }

  .hero-title,
  .hero h1,
  .page-header h1,
  .farm-making-header__title,
  .section-title,
  .h2,
  .about-heading,
  .what-we-do-header h2,
  .farm-models-header h2,
  .testimonials-header h2,
  .project-media-header h2,
  .video-gallery-header h2,
  .gallery-section__intro h2,
  .service-hero-header h2,
  .use-case-header h2,
  .center-editorial-section h2,
  .interior-offerings-section h2,
  .contact-map-header h2,
  .core-scope-header h2{
    font-size:clamp(2.1rem,10vw,4rem) !important;
    line-height:1.06 !important;
    letter-spacing:-.018em !important;
  }
}

.interior-offerings-section .interior-offerings-section__layout{
  width:min(100%,var(--pw-container,1680px)) !important;
  max-width:var(--pw-container,1680px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.interior-offerings-section .interior-offerings-section__intro{
  width:min(100%,920px) !important;
  max-width:920px !important;
  margin:0 auto clamp(36px,4vw,58px) !important;
  text-align:center !important;
}

.interior-offerings-section .card-grid{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
}

.interior-offerings-section .svc-card{
  width:100% !important;
}

@media (max-width:1024px){
  .interior-offerings-section .card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:720px){
  .interior-offerings-section .card-grid{
    grid-template-columns:1fr !important;
  }
}

.center-editorial-section .farm-consulting-engagements-layout{
  width:min(100%,var(--pw-container,1680px)) !important;
  max-width:var(--pw-container,1680px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.farm-consulting-engagements-intro{
  width:min(100%,920px) !important;
  max-width:920px !important;
  margin:0 auto clamp(36px,4vw,58px) !important;
  text-align:center !important;
}

.farm-consulting-engagements-grid{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
}

.farm-consulting-engagements-grid .svc-card{
  width:100% !important;
}

@media (max-width:1024px){
  .farm-consulting-engagements-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:720px){
  .farm-consulting-engagements-grid{
    grid-template-columns:1fr !important;
  }
}

.landscaping-offerings-layout{
  width:min(100%,var(--pw-container,1680px)) !important;
  max-width:var(--pw-container,1680px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.landscaping-offerings-intro{
  width:min(100%,920px) !important;
  max-width:920px !important;
  margin:0 auto clamp(36px,4vw,58px) !important;
  text-align:center !important;
}

.landscaping-offerings-grid{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;
}

.landscaping-offerings-grid .svc-card{
  width:100% !important;
}

@media (max-width:1200px){
  .landscaping-offerings-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:720px){
  .landscaping-offerings-grid{
    grid-template-columns:1fr !important;
  }
}
