/* EDEN — CONCEPT 2 "THE GARDEN ROOM"
   Light editorial. Warm linen, botanical serif, gallery-like air.
   Forest used as accent ink, gold hairlines, big photography. */

:root{
  --paper:#f6f2e9;
  --paper-2:#efe9db;
  --forest:#13231a;
  --forest-deep:#0c1410;
  --leaf:#7e9c2f;
  --leaf-bright:#a8c92f;
  --gold:#a07a1e;
  --ink:#1d2a20;
  --ink-soft:#5b6657;
  --ink-faint:#949a8c;
  --hair:rgba(29,42,32,.14);
  --rad:26px;
  --shadow:0 30px 70px -30px rgba(19,35,26,.35);
}

*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,sans-serif; background:var(--paper); color:var(--ink);
  font-size:16.5px; line-height:1.7; -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:inherit}
::selection{background:var(--leaf-bright); color:var(--forest-deep)}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px}
h1,h2,h3{font-family:'Fraunces',Georgia,serif; font-weight:430; line-height:1.1; letter-spacing:-.012em}
h1 em,h2 em{font-style:italic; color:var(--leaf); font-weight:420}
.kicker{font-size:.68rem; font-weight:650; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin-bottom:18px}

.js-anim .reveal{opacity:0; transform:translateY(28px); transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1)}
.js-anim .reveal.in{opacity:1; transform:none}
.js-anim .reveal[data-d="1"]{transition-delay:.1s}
.js-anim .reveal[data-d="2"]{transition-delay:.2s}
.js-anim .reveal[data-d="3"]{transition-delay:.3s}

/* nav — paper glass */
.nav{position:fixed; inset:16px 16px auto; z-index:60; transition:transform .45s cubic-bezier(.22,1,.36,1)}
.nav.hide{transform:translateY(-140%)}
.nav-inner{max-width:1180px; margin:0 auto; display:flex; align-items:center; gap:26px;
  padding:11px 14px 11px 20px; border-radius:999px;
  background:rgba(246,242,233,.7); backdrop-filter:blur(26px) saturate(1.4); -webkit-backdrop-filter:blur(26px) saturate(1.4);
  border:1px solid rgba(255,255,255,.7); box-shadow:0 18px 48px -26px rgba(19,35,26,.45)}
.nav .logo img{height:44px; width:auto}
.nav-links{display:flex; gap:26px; margin-left:auto; font-size:.82rem; font-weight:550; letter-spacing:.04em}
.nav-links a{text-decoration:none; color:var(--ink-soft); transition:color .25s}
.nav-links a:hover{color:var(--ink)}
@media(max-width:880px){ .nav-links{display:none} .nav .cta{margin-left:auto} }

.btn{display:inline-flex; align-items:center; gap:.55em; padding:.9em 1.9em; border-radius:999px;
  font-weight:600; font-size:.92rem; letter-spacing:.02em; text-decoration:none; border:none; cursor:pointer;
  transition:transform .3s, background .3s, color .3s, box-shadow .3s}
.btn-forest{background:var(--forest); color:var(--paper)}
.btn-forest:hover{transform:translateY(-2px); background:#1c3325}
.btn-paper{background:rgba(255,255,255,.75); color:var(--ink); border:1px solid var(--hair);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px)}
.btn-paper:hover{background:#fff}
.btn-emergency{background:rgba(206,46,38,.1); color:#b3251e; border:1px solid rgba(206,46,38,.4);
  padding:.72em 1.4em; font-size:.84rem; animation:emr 3s ease-in-out infinite}
.btn-emergency svg{width:14px; height:14px}
.btn-emergency:hover{background:#ce2e26; color:#fff}
@keyframes emr{50%{box-shadow:0 0 0 7px rgba(206,46,38,.07)}}
@media(max-width:560px){ .btn-emergency span{display:none} .btn-emergency{padding:.72em .95em}
  .nav .cta{padding:.72em 1.2em; font-size:.84rem; white-space:nowrap} .nav-inner{gap:12px} .nav .logo img{height:38px} }

/* hero — editorial split */
.hero{padding:170px 0 90px; background:var(--paper)}
.hero-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center}
@media(max-width:880px){ .hero-grid{grid-template-columns:1fr; gap:44px} }
.hero h1{font-size:clamp(2.8rem,5.8vw,4.6rem); max-width:12ch}
.hero .lede{margin:26px 0 36px; max-width:46ch; font-size:1.1rem; color:var(--ink-soft); font-weight:380}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap}
.hero-img{position:relative}
.hero-img .main{border-radius:30px 120px 30px 30px; box-shadow:var(--shadow); aspect-ratio:4/5; object-fit:cover; width:100%}
.hero-img .stamp{position:absolute; left:-26px; bottom:34px; background:var(--forest); color:var(--paper);
  border-radius:18px; padding:18px 22px; box-shadow:var(--shadow); max-width:240px}
.hero-img .stamp .n{font-family:'Fraunces',serif; font-style:italic; font-size:1.3rem; color:var(--leaf-bright)}
.hero-img .stamp .t{font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,242,233,.7); margin-top:4px}
@media(max-width:880px){ .hero-img .stamp{left:12px} }
.trustline{display:flex; gap:0; flex-wrap:wrap; margin-top:44px; border-top:1px solid var(--hair); padding-top:22px}
.trust{font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft);
  display:inline-flex; align-items:center; gap:.55em; padding-right:1.6em; margin-right:1.6em; border-right:1px solid var(--hair)}
.trust:last-child{border-right:none}
.trust svg{width:12px; height:12px; color:var(--leaf)}
@media(max-width:680px){ .trust{border-right:none} }

/* areas strip */
.areas{background:var(--paper-2); padding:48px 0 54px; overflow:hidden; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
.areas .label{text-align:center; font-size:.66rem; font-weight:650; letter-spacing:.34em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:32px}
.marquee{display:flex; width:max-content; animation:marq 38s linear infinite}
.marquee:hover{animation-play-state:paused}
.marquee .set{display:flex; align-items:center; gap:96px; padding-right:96px}
.marquee img{height:48px; width:auto; opacity:.55; filter:grayscale(1) brightness(.4); transition:opacity .3s}
.marquee img:hover{opacity:.9}
@keyframes marq{to{transform:translateX(-50%)}}

/* story — magazine spread */
.section{padding:120px 0}
.story-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:84px; align-items:center}
@media(max-width:880px){ .story-grid{grid-template-columns:1fr; gap:48px} }
.story h2{font-size:clamp(2rem,3.8vw,2.9rem); margin-bottom:26px}
.story p{color:var(--ink-soft); margin-bottom:18px; font-weight:380}
.story p strong{color:var(--ink); font-weight:580}
.dropcap::first-letter{font-family:'Fraunces',serif; font-size:3.4em; float:left; line-height:.82; padding:6px 10px 0 0; color:var(--leaf)}
.photo-stack{position:relative}
.photo-stack .main{border-radius:var(--rad); box-shadow:var(--shadow); aspect-ratio:4/5; object-fit:cover; width:100%}
.photo-stack .float{position:absolute; width:46%; left:-9%; bottom:-9%; border-radius:18px;
  border:8px solid var(--paper); box-shadow:var(--shadow); aspect-ratio:1/1.2; object-fit:cover}
@media(max-width:880px){ .photo-stack .float{left:0} }

/* quote band — green room */
.wallquote{position:relative; padding:140px 0; color:var(--paper); text-align:center; overflow:hidden; background:var(--forest-deep)}
.wallquote .bg{position:absolute; inset:0; background:url('img/eden/foliage.jpg') center/cover; opacity:.35}
.wallquote .veil{position:absolute; inset:0; background:radial-gradient(ellipse at center, rgba(12,20,16,.25), rgba(12,20,16,.85))}
.wallquote blockquote{position:relative; font-family:'Fraunces',serif; font-style:italic; font-weight:400;
  font-size:clamp(1.6rem,3.6vw,2.6rem); line-height:1.35; max-width:26ch; margin:0 auto}
.wallquote blockquote em{color:var(--leaf-bright)}
.wallquote cite{position:relative; display:block; margin-top:30px; font-style:normal; font-size:.68rem; font-weight:650; letter-spacing:.34em; text-transform:uppercase; color:rgba(246,242,233,.5)}

/* services — index list, editorial */
.svc-list{border-top:1px solid var(--hair)}
.svc-row{display:grid; grid-template-columns:64px 1.1fr 1.6fr auto; gap:28px; align-items:center;
  padding:30px 6px; border-bottom:1px solid var(--hair); transition:background .3s, padding .3s}
.svc-row:hover{background:rgba(255,255,255,.5); padding-left:18px}
.svc-row .num{font-family:'Fraunces',serif; font-style:italic; font-size:1.2rem; color:var(--gold)}
.svc-row h3{font-size:1.4rem; font-weight:460}
.svc-row p{color:var(--ink-soft); font-size:.94rem; font-weight:380}
.svc-row .arrow{width:34px; height:34px; border-radius:50%; border:1px solid var(--hair); display:grid; place-items:center; color:var(--ink-soft); transition:background .3s,color .3s}
.svc-row:hover .arrow{background:var(--forest); color:var(--paper); border-color:var(--forest)}
.svc-row .arrow svg{width:15px; height:15px}
@media(max-width:760px){ .svc-row{grid-template-columns:44px 1fr; gap:12px} .svc-row p{grid-column:2} .svc-row .arrow{display:none} }
.svc-note{margin-top:44px; display:flex; gap:16px; align-items:flex-start; background:rgba(255,255,255,.6);
  border:1px solid var(--hair); border-radius:var(--rad); padding:28px 32px}
.svc-note .dot{flex:0 0 auto; width:9px; height:9px; border-radius:50%; background:var(--leaf); margin-top:9px; box-shadow:0 0 0 5px rgba(126,156,47,.18); animation:pulse 2.6s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(126,156,47,.05)}}
.svc-note p{font-size:.95rem; color:var(--ink-soft); font-weight:380}
.svc-note strong{color:var(--ink); font-weight:580}
.sec-head{max-width:660px; margin-bottom:56px}
.sec-head h2{font-size:clamp(2rem,3.8vw,2.9rem); margin-bottom:16px}
.sec-head p{color:var(--ink-soft); font-weight:380}

/* work — gallery wall */
.work{background:var(--paper-2); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
.work .ba-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media(max-width:880px){ .work .ba-grid{grid-template-columns:1fr} }
.ba-card{border-radius:var(--rad); overflow:hidden; box-shadow:var(--shadow); position:relative; background:#fff}
.ba-card img{width:100%; aspect-ratio:587/495; object-fit:cover; transition:transform .7s cubic-bezier(.22,1,.36,1)}
.ba-card:hover img{transform:scale(1.045)}
.ba-card figcaption{position:absolute; left:14px; bottom:14px; font-size:.66rem; font-weight:650; letter-spacing:.24em;
  text-transform:uppercase; color:var(--ink); background:rgba(246,242,233,.8); border:1px solid rgba(255,255,255,.8);
  padding:.6em 1.2em; border-radius:999px; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px)}
.work .duo{display:grid; grid-template-columns:1.25fr 1fr; gap:16px; margin-top:16px}
@media(max-width:880px){ .work .duo{grid-template-columns:1fr} }
.work .duo img{border-radius:var(--rad); box-shadow:var(--shadow); width:100%; height:100%; object-fit:cover; aspect-ratio:16/10}

/* why — linen letter */
.why{background:var(--paper)}
.why .letter{max-width:760px; margin:0 auto; background:#fff; border:1px solid var(--hair); border-radius:var(--rad);
  padding:64px 68px; box-shadow:var(--shadow); position:relative}
@media(max-width:680px){ .why .letter{padding:40px 28px} }
.why .letter::before{content:''; position:absolute; inset:10px; border:1px solid rgba(160,122,30,.25); border-radius:18px; pointer-events:none}
.why h2{font-size:clamp(1.9rem,3.6vw,2.6rem); margin-bottom:22px}
.why p{color:var(--ink-soft); margin-bottom:16px; font-weight:380}
.why .standard{margin-top:30px; display:flex; gap:10px; flex-wrap:wrap}
.std{font-family:'Fraunces',serif; font-style:italic; font-size:1.02rem; padding:.55em 1.4em; border-radius:999px;
  border:1px solid rgba(160,122,30,.4); color:var(--gold); background:rgba(160,122,30,.05)}

/* faq */
.faq-list{max-width:780px; margin:0 auto}
.faq{border-bottom:1px solid var(--hair)}
.faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; align-items:center;
  padding:24px 4px; font-family:'Fraunces',serif; font-size:1.14rem; font-weight:470}
.faq summary::-webkit-details-marker{display:none}
.faq summary .x{flex:0 0 auto; width:28px; height:28px; border-radius:50%; border:1px solid var(--hair);
  display:grid; place-items:center; font-size:1rem; font-weight:300; color:var(--ink-soft); transition:transform .3s, background .3s, color .3s}
.faq[open] summary .x{transform:rotate(45deg); background:var(--forest); color:var(--paper); border-color:var(--forest)}
.faq .a{padding:0 4px 26px; color:var(--ink-soft); max-width:64ch; font-weight:380}

/* quote — forest card on paper */
.quote{background:var(--paper-2); border-top:1px solid var(--hair)}
.quote .qcard{background:var(--forest-deep); color:var(--paper); border-radius:34px; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr; box-shadow:var(--shadow); position:relative}
@media(max-width:880px){ .quote .qcard{grid-template-columns:1fr} }
.quote .qleft{padding:60px 56px; position:relative}
@media(max-width:680px){ .quote .qleft{padding:40px 28px} }
.quote .qleft .bgleaf{position:absolute; inset:0; background:url('img/eden/leaf.jpg') center/cover; opacity:.32}
.quote .qleft > *{position:relative}
.quote h2{font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:16px}
.quote h2 em{color:var(--leaf-bright)}
.quote .sub{color:rgba(246,242,233,.7); font-weight:380}
.quote .kicker{color:var(--leaf-bright)}
.qform{padding:48px 46px; background:rgba(255,255,255,.04); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px)}
@media(max-width:680px){ .qform{padding:36px 26px} }
.qform label{display:block; font-size:.66rem; font-weight:650; letter-spacing:.22em; text-transform:uppercase; color:rgba(246,242,233,.5); margin:0 0 7px}
.qform input,.qform textarea{width:100%; margin-bottom:15px; padding:.8em 1em; border-radius:13px;
  border:1px solid rgba(255,255,255,.16); background:rgba(12,20,16,.5); color:var(--paper); font:inherit; font-size:.94rem}
.qform input::placeholder,.qform textarea::placeholder{color:rgba(246,242,233,.3)}
.qform input:focus,.qform textarea:focus{outline:2px solid var(--leaf-bright); outline-offset:1px}
.seg{display:flex; background:rgba(12,20,16,.5); border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:4px; margin-bottom:15px}
.seg button{flex:1; border:none; background:transparent; color:rgba(246,242,233,.6); font:inherit; font-weight:600; font-size:.88rem; padding:.6em; border-radius:999px; cursor:pointer; transition:background .25s,color .25s}
.seg button.sel{background:var(--leaf-bright); color:var(--forest-deep)}
.qform .btn{width:100%; justify-content:center; background:var(--leaf-bright); color:var(--forest-deep)}
.qform .btn:hover{background:#b8d949}
.thanks{text-align:center; padding:30px 6px}
.thanks .seal{width:54px; height:54px; margin:0 auto 18px; border-radius:50%; background:var(--leaf-bright); color:var(--forest-deep); display:grid; place-items:center}
.thanks .seal svg{width:26px; height:26px}

/* footer */
footer{background:var(--forest-deep); color:rgba(246,242,233,.55); padding:70px 0 48px; font-size:.9rem}
footer .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; margin-bottom:46px}
@media(max-width:760px){ footer .cols{grid-template-columns:1fr} }
footer .flogo{height:50px; width:auto; margin-bottom:18px}
footer .blurb{color:rgba(246,242,233,.6); font-weight:380}
footer h4{font-size:.66rem; font-weight:650; letter-spacing:.3em; text-transform:uppercase; color:rgba(246,242,233,.35); margin-bottom:16px}
footer ul{list-style:none}
footer li{margin-bottom:10px; display:flex; align-items:center; gap:.6em}
footer li svg{width:12px; height:12px; color:var(--leaf-bright); flex:0 0 auto}
.foot-base{border-top:1px solid rgba(246,242,233,.12); padding-top:26px; display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; align-items:center; font-size:.78rem}
.disclaimer{font-size:.72rem; color:rgba(246,242,233,.28); max-width:64ch; margin-top:20px}
.built-by{display:inline-flex; align-items:center; gap:.55em; font-size:.7rem; font-weight:600; line-height:1;
  letter-spacing:.18em; text-transform:uppercase; color:rgba(246,242,233,.4); text-decoration:none; opacity:.85; transition:opacity .3s}
.built-by b{color:rgba(246,242,233,.72); font-weight:700; letter-spacing:.22em}
.built-by:hover{opacity:1}

/* ============================================================
   v2 feedback additions — team, MVV, accreditations, per-service
   sections (3-step process + FAQs), locations by council,
   education & news, reviews band. Same Garden Room system.
   ============================================================ */

/* services index rows are now anchor links */
a.svc-row{text-decoration:none}

/* team grid */
.team-block{margin-top:96px}
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.team-card{background:#fff; border:1px solid var(--hair); border-radius:var(--rad); overflow:hidden;
  box-shadow:0 18px 48px -34px rgba(19,35,26,.35)}
.team-card.wide{grid-column:span 2}
.team-card.full{grid-column:1/-1}
.tphoto{aspect-ratio:4/3; background:var(--paper-2); position:relative}
.tphoto.tall{aspect-ratio:21/9}
.tphoto.ph{display:grid; place-items:center; background:
  repeating-linear-gradient(-45deg, rgba(29,42,32,.035) 0 12px, transparent 12px 24px), var(--paper-2)}
.tphoto.ph span{font-size:.68rem; font-weight:650; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-faint); background:rgba(255,255,255,.75); border:1px solid var(--hair);
  border-radius:999px; padding:.7em 1.4em; text-align:center; max-width:85%}
.team-card figcaption{padding:16px 20px 18px}
.team-card figcaption strong{display:block; font-family:'Fraunces',Georgia,serif; font-weight:470; font-size:1.12rem; color:var(--ink)}
.team-card figcaption span{font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold)}
@media(max-width:880px){
  .team-grid{grid-template-columns:1fr 1fr}
  .team-card.wide{grid-column:1/-1}
}
@media(max-width:560px){
  .team-grid{grid-template-columns:1fr}
  .tphoto.tall{aspect-ratio:4/3}
}

/* mission · vision · values */
.mvv-sec{background:var(--paper-2); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
.mvv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.mvv-card{background:#fff; border:1px solid var(--hair); border-radius:var(--rad); padding:34px 32px;
  box-shadow:0 18px 48px -34px rgba(19,35,26,.3)}
.mvv-tag{display:inline-block; font-family:'Fraunces',serif; font-style:italic; font-size:1.05rem; color:var(--gold);
  border-bottom:1px solid rgba(160,122,30,.4); padding-bottom:6px; margin-bottom:16px}
.mvv-card p{color:var(--ink-soft); font-weight:380; font-size:.96rem}
@media(max-width:880px){ .mvv-grid{grid-template-columns:1fr} }

/* why choose eden */
.why-eden{margin-top:64px; display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start;
  background:#fff; border:1px solid var(--hair); border-radius:var(--rad); padding:54px 52px; box-shadow:var(--shadow)}
.why-eden h3{font-size:clamp(1.6rem,3vw,2.1rem); font-weight:450; margin-bottom:14px}
.why-eden h3 em{font-style:italic; color:var(--leaf)}
.we-sub{color:var(--ink-soft); font-weight:380; font-size:.95rem}
.we-list{list-style:none}
.we-list li{display:flex; gap:20px; padding:18px 0; border-bottom:1px solid var(--hair)}
.we-list li:last-child{border-bottom:none}
.we-n{font-family:'Fraunces',serif; font-style:italic; font-size:1.1rem; color:var(--gold); flex:0 0 36px}
.we-list strong{display:block; font-family:'Fraunces',serif; font-weight:480; font-size:1.08rem; margin-bottom:4px}
.we-list p{color:var(--ink-soft); font-size:.92rem; font-weight:380}
@media(max-width:880px){ .why-eden{grid-template-columns:1fr; gap:24px; padding:38px 28px} }

/* accreditations row */
.accreds{margin-top:56px; text-align:center}
.accreds .label{font-size:.66rem; font-weight:650; letter-spacing:.34em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:24px}
.accred-row{display:flex; gap:16px; flex-wrap:wrap; justify-content:center}
.accred.ph{display:inline-flex; align-items:center; justify-content:center; min-width:170px; height:64px;
  border:1px dashed rgba(29,42,32,.25); border-radius:16px; background:rgba(255,255,255,.55);
  font-size:.66rem; font-weight:650; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-faint)}
@media(max-width:560px){ .accred.ph{min-width:46%} }

/* per-service detail sections */
.svc-detail{border-top:1px solid var(--hair)}
.svc-detail.alt{background:var(--paper-2)}
.svcd-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; margin-bottom:64px}
.svcd-grid h2{font-size:clamp(2rem,3.8vw,2.9rem); margin-bottom:20px}
.svcd-grid p{color:var(--ink-soft); font-weight:380; margin-bottom:16px}
.svcd-grid p strong{color:var(--ink); font-weight:580}
.svcd-photo{position:relative}
.svcd-photo img{border-radius:var(--rad); box-shadow:var(--shadow); width:100%; aspect-ratio:4/3; object-fit:cover}
.svcd-photo figcaption{position:absolute; left:14px; bottom:14px; font-size:.66rem; font-weight:650; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink); background:rgba(246,242,233,.85); border:1px solid rgba(255,255,255,.8);
  padding:.6em 1.2em; border-radius:999px; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px)}
@media(max-width:880px){ .svcd-grid{grid-template-columns:1fr; gap:36px}
  .svcd-grid .svcd-photo{order:2} }

/* numbered 3-step process */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; counter-reset:step; margin-bottom:64px}
.steps.mtce-why{grid-template-columns:repeat(4,1fr)}
.step{background:rgba(255,255,255,.65); border:1px solid var(--hair); border-radius:var(--rad); padding:30px 28px; position:relative}
.svc-detail.alt .step{background:#fff}
.step-n{display:grid; place-items:center; width:42px; height:42px; border-radius:50%;
  background:var(--forest); color:var(--leaf-bright); font-family:'Fraunces',serif; font-style:italic;
  font-size:1.2rem; margin-bottom:18px}
.step h4{font-family:'Fraunces',serif; font-weight:480; font-size:1.18rem; margin-bottom:10px}
.step p{color:var(--ink-soft); font-size:.92rem; font-weight:380}
@media(max-width:880px){ .steps,.steps.mtce-why{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .steps,.steps.mtce-why{grid-template-columns:1fr} }

/* per-service FAQs — reuse .faq pattern, narrower band */
.svc-faqs{max-width:780px}
.svc-faqs .label{font-size:.66rem; font-weight:650; letter-spacing:.34em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:8px}
.svc-faqs .faq summary{font-size:1.05rem}

/* locations by council */
.locations{background:var(--paper-2); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
.council-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.council-card{background:#fff; border:1px solid var(--hair); border-radius:20px; padding:22px 22px 18px;
  box-shadow:0 14px 38px -30px rgba(19,35,26,.35)}
.council-head{display:flex; align-items:center; gap:12px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--hair)}
.council-logo{height:34px; width:auto; max-width:64px; object-fit:contain; filter:grayscale(1) brightness(.45); opacity:.8}
.council-badge{flex:0 0 auto; width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
  background:rgba(126,156,47,.14); border:1px solid rgba(126,156,47,.4);
  font-size:.66rem; font-weight:700; letter-spacing:.06em; color:var(--leaf)}
.council-head h4{font-family:'Fraunces',serif; font-weight:480; font-size:.98rem; line-height:1.25}
.council-card ul{list-style:none}
.council-card li{display:flex; justify-content:space-between; gap:10px; font-size:.88rem; color:var(--ink-soft);
  font-weight:420; padding:4px 0}
.council-card li span{color:var(--ink-faint); font-size:.76rem; letter-spacing:.04em}
@media(max-width:1024px){ .council-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:760px){ .council-grid{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .council-grid{grid-template-columns:1fr} }

/* education & news cards */
.news-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.news-card{background:#fff; border:1px solid var(--hair); border-radius:var(--rad); overflow:hidden;
  box-shadow:0 18px 48px -34px rgba(19,35,26,.3); display:flex; flex-direction:column}
.news-thumb{aspect-ratio:16/10; background-size:cover; background-position:center; position:relative}
.news-thumb::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(19,35,26,.05), rgba(19,35,26,.35))}
.news-tag{position:absolute; left:12px; top:12px; z-index:1; font-size:.62rem; font-weight:650; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink); background:rgba(246,242,233,.88); border:1px solid rgba(255,255,255,.8);
  padding:.55em 1.1em; border-radius:999px}
.news-card h4{font-family:'Fraunces',serif; font-weight:480; font-size:1.12rem; padding:18px 22px 0}
.news-card p{color:var(--ink-soft); font-size:.88rem; font-weight:380; padding:8px 22px 0; flex:1}
.news-soon{display:inline-block; margin:16px 22px 22px; align-self:flex-start; font-size:.66rem; font-weight:650;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold); border:1px dashed rgba(160,122,30,.45);
  border-radius:999px; padding:.55em 1.2em}
@media(max-width:1024px){ .news-grid{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .news-grid{grid-template-columns:1fr} }

/* reviews band */
.reviews{background:var(--paper-2); border-top:1px solid var(--hair)}
.review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.review-card{background:#fff; border:1px solid var(--hair); border-radius:var(--rad); padding:34px 32px;
  box-shadow:0 18px 48px -34px rgba(19,35,26,.3); display:flex; flex-direction:column}
.review-card .stars{color:var(--gold); letter-spacing:.18em; font-size:.92rem; margin-bottom:16px}
.review-card blockquote{font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:1.06rem;
  line-height:1.5; color:var(--ink); flex:1}
.review-card figcaption{margin-top:22px; padding-top:16px; border-top:1px solid var(--hair)}
.review-card figcaption strong{display:block; font-weight:600; font-size:.92rem}
.review-card figcaption span{font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint)}
@media(max-width:880px){ .review-grid{grid-template-columns:1fr} }

/* ============================================================
   v3 old-site infusion — leaf hero, dark leaf council band,
   soil work band, sunset story band, bark divider, footer
   direct-enquiry chips + socials. Same Garden Room system.
   ============================================================ */

/* council band — leaf-droplet image break */
.areas-leaf{position:relative; background:var(--forest-deep); border-top:none; border-bottom:none; padding:64px 0 70px}
.al-bg{position:absolute; inset:0; background:url('img/eden/leaf.jpg') center/cover}
.al-veil{position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,20,16,.62), rgba(12,20,16,.72))}
.areas-leaf .label{position:relative; color:rgba(246,242,233,.75)}
.areas-leaf .marquee{position:relative}
.areas-leaf .marquee img{filter:brightness(0) invert(1); opacity:.85}
.areas-leaf .marquee img:hover{opacity:1}
@media(max-width:680px){ .areas-leaf{padding:48px 0 52px} .areas-leaf .marquee img{height:38px} .areas-leaf .marquee .set{gap:56px; padding-right:56px} }

/* story — warm sunset image band with framed letter card */
.story-sunset{position:relative; background:var(--forest-deep); overflow:hidden}
.ss-bg{position:absolute; inset:0; background:url('img/eden/sunset.jpg') center/cover}
.ss-veil{position:absolute; inset:0; background:linear-gradient(105deg, rgba(12,20,16,.66) 0%, rgba(12,20,16,.34) 55%, rgba(12,20,16,.55) 100%)}
.ss-wrap{position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center}
.ss-card{background:rgba(246,242,233,.94); border:1px solid rgba(255,255,255,.7); border-radius:var(--rad);
  padding:56px 54px; box-shadow:var(--shadow); position:relative}
.ss-card::before{content:''; position:absolute; inset:10px; border:1px solid rgba(160,122,30,.3); border-radius:18px; pointer-events:none}
.ss-card h2{font-size:clamp(1.9rem,3.6vw,2.7rem); margin-bottom:24px}
.ss-card p{color:var(--ink-soft); margin-bottom:16px; font-weight:380}
.ss-card p:last-child{margin-bottom:0}
.ss-card p strong{color:var(--ink); font-weight:580}
.ss-photo{position:relative}
.ss-photo img{border-radius:var(--rad); box-shadow:var(--shadow); width:100%; aspect-ratio:4/5; object-fit:cover;
  border:8px solid rgba(246,242,233,.85)}
.ss-photo figcaption{position:absolute; left:18px; bottom:18px; font-size:.66rem; font-weight:650; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink); background:rgba(246,242,233,.88); border:1px solid rgba(255,255,255,.8);
  padding:.6em 1.2em; border-radius:999px; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px)}
@media(max-width:880px){ .ss-wrap{grid-template-columns:1fr; gap:40px} .ss-card{padding:40px 28px} }
.team-sec{padding-top:110px}
.team-sec .team-block{margin-top:0}

/* work — soil/mulch dark image break */
.work-soil{position:relative; background:var(--forest-deep); border-top:none; border-bottom:none; overflow:hidden}
.ws-bg{position:absolute; inset:0; background:url('img/eden/soil-2.jpg') center/cover}
.ws-veil{position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,20,16,.78), rgba(12,20,16,.62) 50%, rgba(12,20,16,.8))}
.ws-wrap{position:relative}
.work-soil .sec-head h2{color:var(--paper)}
.work-soil .sec-head h2 em{color:var(--leaf-bright)}
.work-soil .sec-head p{color:rgba(246,242,233,.7)}
.work-soil .ba-card{box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}
.work-soil .duo img{box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}

/* bark texture divider band */
.bark-band{position:relative; background:var(--forest-deep); padding:88px 0; overflow:hidden; text-align:center}
.bb-bg{position:absolute; inset:0; background:url('img/eden/tex-bark.jpg') center/cover}
.bb-veil{position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,20,16,.6), rgba(12,20,16,.72))}
.bark-band .wrap{position:relative}
.bb-line{font-family:'Fraunces',serif; font-size:clamp(1.2rem,2.6vw,1.7rem); font-weight:420;
  letter-spacing:.04em; color:rgba(246,242,233,.85)}
.bb-line em{font-style:italic; color:var(--leaf-bright)}
@media(max-width:680px){ .bark-band{padding:60px 0} }

/* footer — direct enquiries + socials */
.enquiries{border-top:1px solid rgba(246,242,233,.12); padding:34px 0 8px; margin-bottom:30px}
.enq-grid{display:flex; gap:12px; flex-wrap:wrap}
.enq-chip{display:inline-flex; align-items:center; gap:.6em; padding:.7em 1.3em; border-radius:999px;
  border:1px solid rgba(246,242,233,.18); background:rgba(246,242,233,.05); color:rgba(246,242,233,.75);
  font-size:.8rem; font-weight:600; letter-spacing:.06em; text-decoration:none;
  transition:background .3s, color .3s, border-color .3s}
.enq-chip:hover{background:rgba(168,201,47,.14); border-color:rgba(168,201,47,.5); color:var(--paper)}
.enq-chip svg{width:14px; height:14px; color:var(--leaf-bright); flex:0 0 auto}
.follow{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:24px}
.follow-label{font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(246,242,233,.45)}
.soc{display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(246,242,233,.18); color:rgba(246,242,233,.65); transition:background .3s, color .3s, border-color .3s}
.soc:hover{background:rgba(168,201,47,.14); border-color:rgba(168,201,47,.5); color:var(--paper)}
.soc svg{width:17px; height:17px}
@media(max-width:560px){ .enq-grid{gap:8px} .enq-chip{padding:.6em 1em; font-size:.74rem} }

/* ============================================================
   v4 polish — accreditations, gallery strip, utility tokens
   ============================================================ */

/* real accreditation logos on linen cards */
.accred-card{display:inline-flex; align-items:center; justify-content:center; min-width:170px; height:84px; padding:0 26px;
  background:#fff; border:1px solid var(--hair); border-radius:16px; box-shadow:0 14px 34px -22px rgba(19,35,26,.25)}
.accred-card img{height:46px; width:auto; max-width:160px; object-fit:contain}
.accred-text{font-size:.74rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);
  background:var(--paper-2); text-align:center; line-height:1.5; max-width:220px}
@media(max-width:560px){
  .accred-card{min-width:46%; height:72px; padding:0 16px}
  .accred-card img{height:38px}
  .accred-text{font-size:.66rem}
}

/* editorial gallery strip */
.gal-strip{padding:64px 0; background:var(--paper-2); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
.gal-strip .label{text-align:center; font-size:.66rem; font-weight:650; letter-spacing:.34em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:30px}
.gal-row{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:stretch}
.gal-item{position:relative; margin:0}
.gal-item img{width:100%; height:100%; aspect-ratio:3/4; object-fit:cover; border-radius:18px; box-shadow:var(--shadow)}
.gal-item.tall img{aspect-ratio:3/4.6}
.gal-item figcaption{position:absolute; left:12px; bottom:12px; font-size:.62rem; font-weight:650; letter-spacing:.22em; text-transform:uppercase;
  color:var(--paper); background:rgba(19,35,26,.55); padding:.45em .9em; border-radius:999px; backdrop-filter:blur(6px)}
@media(max-width:760px){
  .gal-strip{padding:48px 0}
  .gal-row{grid-template-columns:repeat(2,1fr); gap:12px}
  .gal-item img, .gal-item.tall img{aspect-ratio:1/1}
}

/* utility tokens replacing inline styles */
.btn-gap{margin-top:8px}
.section.tight-top{padding-top:0}
.sec-head.center{margin-inline:auto; text-align:center}

/* news thumbnails — texture backgrounds as classes */
.th-linen{background-image:url('img/eden/tex-linen.jpg')}
.th-bark{background-image:url('img/eden/tex-bark.jpg')}
.th-clay{background-image:url('img/eden/tex-clay.jpg')}
.th-mulch{background-image:url('img/eden/tex-mulch.jpg')}
