 
:root{--cream:#f4f0e7;--cream2:#ebe6db;--green:#203329;--sage:#dbe0d4;--line:#c9cec4;--muted:#5e6961}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--green);font-family:Inter,Arial,sans-serif;line-height:1.6}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;min-height:80px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(244,240,231,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.brand{text-decoration:none;font-weight:600;letter-spacing:-.02em}
.brand span{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:1.25rem;margin-left:6px}
nav{display:flex;gap:28px;align-items:center}
nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:600}
.nav-contact{border-bottom:1px solid;padding-bottom:3px}
.eyebrow{margin:0 0 22px;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:600}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.035em;margin:0}
h1{font-size:clamp(4.5rem,8vw,8.5rem);line-height:.9}
h2{font-size:clamp(3rem,5.3vw,6.1rem);line-height:.96}
h3{font-size:2.3rem;line-height:1}
.hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px;border-bottom:1px solid var(--line)}
.hero-photo{min-height:760px;overflow:hidden}
.hero-photo img{object-position:center 72%}
.hero-copy{background:var(--sage);padding:9vw 6vw 7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-intro{font-family:"Cormorant Garamond",serif;font-size:clamp(1.65rem,2.5vw,2.35rem);line-height:1.28;max-width:560px;margin:40px 0 34px}
.text-link{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:600;border-bottom:1px solid;padding-bottom:5px}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:120px 9vw}
.about-copy{max-width:760px}
.about-copy p{margin-top:0;margin-bottom:22px}
.lead-copy{font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,2.5vw,2.65rem);line-height:1.35}
.statement{display:grid;grid-template-columns:.78fr 1.22fr;min-height:700px;background:var(--green);color:#fff}
.statement-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}
.statement-copy p:last-child{max-width:520px;color:rgba(255,255,255,.8);margin-top:30px}
.statement-photo{min-height:700px;overflow:hidden}
.services{padding:120px 4vw}
.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:end;margin-bottom:55px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.service{background:var(--cream);min-width:0}
.service img{height:410px}
.service-copy{padding:32px 30px 40px}
.service-copy span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:26px}
.service-copy h3{margin-bottom:15px}
.service-copy p{margin:0;color:var(--muted)}
.story{display:grid;grid-template-columns:1.05fr .95fr;min-height:720px;background:var(--cream2)}
.story-photo{min-height:720px;overflow:hidden}
.story-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}
.productive{padding:120px 7vw;background:#d8cbb2}
.productive-copy{max-width:840px;margin-bottom:55px}
.productive-copy p:last-child{max-width:600px;margin-top:28px}
.productive-photo{height:620px;overflow:hidden}
.gallery{padding:120px 4vw;background:var(--cream)}
.gallery-title-band{position:relative;z-index:5;background:var(--cream);padding:0 0 46px;min-height:165px}
.gallery-title-band h2,.gallery-title-band .eyebrow{position:relative;z-index:6}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:12px;position:relative;z-index:1}
.gallery-grid figure{margin:0;overflow:hidden}
.gallery-grid .g-wide{grid-column:span 2}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:120px 9vw;background:var(--green);color:#fff;position:relative;z-index:5}
.contact-copy{display:flex;flex-direction:column;justify-content:flex-end}
.contact-copy>p{max-width:560px;color:rgba(255,255,255,.8)}
.contact-details{display:flex;flex-wrap:wrap;gap:14px 28px;margin:35px 0}
.button{align-self:flex-start;display:inline-block;border:1px solid rgba(255,255,255,.85);padding:16px 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600}
footer{display:flex;justify-content:space-between;gap:20px;padding:28px 4vw;border-top:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
@media (max-width:960px){
  .hero,.about,.statement,.story,.contact{grid-template-columns:1fr}
  .hero-photo,.statement-photo,.story-photo{min-height:520px}
  .hero-copy,.statement-copy,.story-copy{padding:80px 7vw}
  .about,.contact{padding:90px 7vw}
  .section-head{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr}
  .service{display:grid;grid-template-columns:1fr 1fr}
  .service img{height:100%;min-height:340px}
  .productive-photo{height:500px}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-grid .g-wide{grid-column:span 1}
}
@media (max-width:640px){
  .site-header{min-height:70px}
  .brand span{display:none}
  nav a:not(.nav-contact){display:none}
  h1{font-size:4.15rem}
  h2{font-size:3.3rem}
  .hero-photo,.statement-photo,.story-photo{min-height:420px}
  .service{display:block}
  .service img{height:380px;min-height:0}
  .services{padding:80px 12px}
  .section-head{padding:0 5vw}
  .productive{padding:80px 12px}
  .productive-copy{padding:0 5vw}
  .productive-photo{height:420px}
  .gallery{padding:80px 12px}
  .gallery-title-band{padding:0 5vw 34px;min-height:135px}
  .gallery-grid{display:block}
  .gallery-grid figure{height:390px;margin-bottom:12px}
  footer{flex-direction:column}
}

/* v11 hero and uniqueness update */
.hero-photo img{
  object-position:center 58%;
}
.gallery-title-band{
  position:relative;
  z-index:10;
  background:var(--cream);
}
.gallery-grid{
  position:relative;
  z-index:1;
}

/* v12 gallery reflow: removed garden_detail and promoted adjacent foliage image */
.gallery-grid{grid-auto-flow:row dense;}
.gallery-grid figure{overflow:hidden;}
.gallery-grid .g-wide{grid-column:span 2;}
@media (max-width:960px){.gallery-grid .g-wide{grid-column:span 1;}}
