 
: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:#e4e2de}
.statement-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}
.statement-copy p:last-child{max-width:520px;color:rgba(228,226,222,.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:#e4e2de;position:relative;z-index:5}
.contact-copy{display:flex;flex-direction:column;justify-content:flex-end}
.contact-copy>p{max-width:560px;color:rgba(228,226,222,.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;}}

/* v13 improvements: accessibility, CTA, waiting list */
:root{--muted:#4d5750}
.skip-link{position:absolute;left:-999px;top:8px;z-index:50;background:var(--green);color:#e4e2de;padding:10px 14px}
.skip-link:focus{left:8px}
a:focus-visible{outline:3px solid #b9832f;outline-offset:3px}
img{height:auto}
.hero-photo img,.statement-photo img,.story-photo img,.productive-photo img,.gallery-grid img,.service img{height:100%}
.hero-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.button-dark{background:var(--green);color:#e4e2de;border-color:var(--green)}
.button-dark:hover{background:#2e4a3b}
.button:hover{background:rgba(255,255,255,.1)}
.credentials{list-style:none;padding:0;margin:40px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.credentials li{border:1px solid var(--green);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:500}
.nav-contact{background:var(--green);color:#e4e2de;border:0;padding:10px 14px}
.contact-note{color:rgba(228,226,222,.88);max-width:460px;margin-top:28px}
.contact-copy>p{color:rgba(228,226,222,.9)}
.enquiry-list{margin:0 0 10px;padding-left:20px;color:rgba(228,226,222,.9)}
.enquiry-list li{margin-bottom:6px}
.contact-details a{word-break:break-all}
@media (max-width:640px){
  h1{font-size:3.4rem}
  h2{font-size:2.6rem}
  .site-header{padding:0 5vw}
  .nav-contact{font-size:.62rem;padding:9px 11px}
  .hero-copy{padding:56px 6vw}
  .service-copy{padding:26px 22px 32px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* recent work */
.recent{padding:0 4vw 120px;background:var(--cream)}
.recent-grid{columns:4 260px;column-gap:12px}
.recent-grid figure{margin:0 0 12px;break-inside:avoid;overflow:hidden}
.recent-grid img{height:auto;aspect-ratio:auto}
@media (max-width:640px){.recent{padding:0 12px 80px}.recent-grid{columns:2 140px;column-gap:8px}.recent-grid figure{margin-bottom:8px}}
.portrait{margin-top:40px;max-width:440px;height:auto;border-radius:4px}
/* wildlife */
.wildlife{padding:110px 4vw;background:var(--green);color:#e4e2de;border-bottom:1px solid rgba(255,255,255,.15)}
.wildlife-copy{max-width:760px;margin-bottom:50px}
.wildlife-copy p:last-child{color:rgba(228,226,222,.88);margin-top:26px;max-width:560px}
.wildlife-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wildlife-grid figure{margin:0}
.wildlife-grid img{height:380px}
.wildlife-grid figcaption{font-size:.8rem;color:rgba(228,226,222,.85);margin-top:10px}
.hero-photo img{object-position:center center}
@media (max-width:640px){.wildlife{padding:80px 5vw}.wildlife-grid{grid-template-columns:1fr}.wildlife-grid img{height:300px}}
/* v15 artistic identity */
:root{--night:#1f1a14;--umber:#2b241b;--ochre:#d9b77a}
.wildlife{background:var(--umber)}
.wildlife .eyebrow,.editorial .eyebrow{color:var(--ochre)}
.wildlife-grid{grid-template-columns:repeat(4,1fr)}
.wildlife-grid img{height:440px}
.editorial{background:var(--night);color:#e4e2de;padding:110px 0 120px}
.editorial-head{padding:0 4vw 50px}
.editorial-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:340px;grid-auto-flow:row dense;gap:6px;padding:0 6px}
.editorial-grid figure{margin:0;overflow:hidden;grid-row:span 2}
.editorial-grid figure.wide{grid-column:span 2;grid-row:span 1}
.editorial-grid img{height:100%}
.recent{background:#f7f4ee;padding:110px 4vw 120px;border-top:1px solid var(--line)}
.recent-head{max-width:760px;margin-bottom:50px}
.recent-head p:last-child{color:var(--muted);margin-top:24px}
.story-photo.landscape img{object-position:center}
@media (max-width:960px){
  .wildlife-grid{grid-template-columns:1fr 1fr}
  .editorial-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}
}
@media (max-width:640px){
  .wildlife-grid img{height:320px}
  .editorial{padding:80px 0}
  .editorial-head{padding:0 5vw 34px}
  .editorial-grid{grid-auto-rows:200px;gap:4px;padding:0 4px}
  .recent{padding:80px 12px}
  .recent-head{padding:0 5vw}
}
.service img{height:410px}
@media (max-width:960px){.service img{height:100%;min-height:340px}}
@media (max-width:640px){.service img{height:380px;min-height:0}}
/* v16 about: balanced two-column */
.about{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:0;padding:0;align-items:stretch;background:var(--cream)}
.about-photo{position:relative;min-height:100%;overflow:hidden}
.about-photo .portrait{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;border-radius:0;object-fit:cover;object-position:center 20%}
.about-copy{max-width:none;padding:90px 7vw 90px 6vw;display:flex;flex-direction:column;justify-content:center}
.about-copy h2{margin-bottom:32px;max-width:640px}
.about-copy p{max-width:640px}
.about-copy p:last-child{margin-bottom:0}
@media (max-width:960px){
  .about{grid-template-columns:1fr;padding:0}
  .about-photo{min-height:0;height:min(110vw,520px)}
  .about-photo .portrait{object-position:center top}
  .about-copy{padding:60px 7vw 70px}
}
/* v17 unified split: every split section breaks at exactly 40% */
:root{--split:minmax(0,2fr) minmax(0,3fr)}
.hero,.about,.statement,.story{grid-template-columns:var(--split);gap:0;column-gap:0}
.hero-photo,.about-photo,.statement-photo,.story-photo{min-width:0}
.hero-copy,.about-copy,.statement-copy,.story-copy{min-width:0;padding-left:6vw;padding-right:6vw}
@media (max-width:960px){.hero,.about,.statement,.story{grid-template-columns:1fr}}
/* v18: hero/about reverted; adjacent splits exactly aligned or clearly different */
.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.about,.statement{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}
.story{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.hero-copy{padding:9vw 6vw 7vw}
.about-copy{padding:90px 7vw 90px 6vw}
@media (max-width:960px){.hero,.about,.statement,.story{grid-template-columns:1fr}.about-copy{padding:60px 7vw 70px}.hero-copy{padding:80px 7vw}}
@media (max-width:640px){.hero-copy{padding:56px 6vw}}
/* regular garden grid */
.recent-grid{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.recent-grid figure{margin:0;aspect-ratio:4/5;overflow:hidden}
.recent-grid img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recent-grid figure{margin:0}}
/* v19 laminate masonry: staggered tiles, columns flush top and bottom */
.recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;columns:auto}
.rcol{display:flex;flex-direction:column;gap:12px;aspect-ratio:1/4.8;min-width:0}
.rcol figure{flex:1 1 0;min-height:0;margin:0;aspect-ratio:auto;overflow:hidden}
.rcol img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rcol{gap:8px}}

/* seasonal: justified rows, no cropping */
.editorial-grid.seasonal-rows{display:flex;flex-direction:column;gap:6px;padding:0 6px}
.seasonal-rows .srow{display:flex;gap:6px}
.seasonal-rows figure{margin:0;overflow:hidden;min-width:0;grid-row:auto;grid-column:auto}
.seasonal-rows img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.seasonal-rows .srow{flex-wrap:wrap}.seasonal-rows figure{flex-basis:45%!important}}
/* birch smaller: shorter, narrower photo so the trunk is less dominant */
.story{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:540px}
.story-photo{min-height:540px}
@media (max-width:960px){.story{grid-template-columns:1fr}.story-photo{min-height:360px}}

/* text: dark grey instead of near-black */
body{color:#4a4a47}
/* tighten: no dividers, less dead space */
.service-grid{gap:6px;background:none;border:0}
.section-head{display:block;margin-bottom:28px}
.services,.gallery{padding:64px 4vw}
.about{padding:64px 6vw}
.productive{padding:64px 6vw}
.contact{padding:72px 7vw}
.wildlife{padding:64px 4vw}
.editorial{padding:56px 0 64px}
.recent{padding:56px 4vw 64px}
.hero{min-height:640px}.statement{min-height:560px}.story{min-height:540px}
.hero-copy,.statement-copy,.story-copy{padding:64px 6vw}
.about-copy{padding:56px 6vw}
.service-copy{padding-top:22px;padding-bottom:22px}
h2{margin-top:0}
@media (max-width:640px){.services,.gallery,.about,.productive,.wildlife,.recent{padding:44px 12px}.hero-copy,.statement-copy,.story-copy,.about-copy{padding:44px 6vw}}

.service-grid{gap:0}

.statement-copy p.lead-copy{color:rgba(228,226,222,.88)}

.services .section-head{text-align:center}
.services .section-head h2{margin-left:auto;margin-right:auto}

.editorial-head{text-align:center}
.editorial-head h2{margin-left:auto;margin-right:auto}
/* consistent 6px photo gaps */
.service-grid{gap:6px}
.wildlife-grid{gap:6px}
/* body paragraphs in the heading serif */
.about-copy p,.service-copy p,.story-copy p,.wildlife p,.recent-head p,.recent p{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.3rem;line-height:1.5}
.services{padding-top:36px}
.services .section-head{margin-bottom:36px}
/* frame around the whole site, matching the dark borders in the photo sections */
.hero-photo,.story-photo{border-left:14px solid var(--green);box-sizing:border-box}
.statement-photo{border-right:14px solid var(--green);box-sizing:border-box}
@media (max-width:640px){.hero-photo,.story-photo{border-left-width:8px}.statement-photo{border-right-width:8px}}
.editorial-head{padding-bottom:6px}.editorial-head h2{margin-bottom:0}
.wildlife{padding-bottom:6px;border-bottom:0}
.editorial{padding-top:0}
.editorial-head{padding-top:36px;padding-bottom:36px}.editorial-head h2{margin-top:0;margin-bottom:0}
.recent-head{max-width:none}.recent-head p{max-width:none}
@media (min-width:1000px){.recent-head p{white-space:nowrap}}
.wildlife-copy{max-width:none}.wildlife-copy p{max-width:none!important}
@media (min-width:1000px){.wildlife-copy p:last-child{white-space:nowrap}}
