/* EDEN — CONCEPT 3 "DONE PROPERLY"
   Conversion-first funnel. Forest dark, loud leaf green, quote form in the
   hero, proof up top, process steps, emergency strip. Direct + confident. */

:root{
  --forest:#0b130e;
  --forest-2:#112016;
  --leaf:#b9d35a;
  --leaf-hot:#cdea61;
  --gold:#c9a14a;
  --red:#e0352c;
  --ink:#f1ecdf;
  --ink-soft:rgba(241,236,223,.62);
  --ink-faint:rgba(241,236,223,.38);
  --hair:rgba(241,236,223,.12);
  --glass:rgba(255,255,255,.05);
  --glass-line:rgba(255,255,255,.13);
  --rad:22px;
  --shadow:0 30px 70px -28px rgba(0,0,0,.65);
}

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

.js-anim .reveal{opacity:0; transform:translateY(28px); transition:opacity .85s cubic-bezier(.22,1,.36,1), transform .85s 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}

/* nav */
.nav{position:fixed; inset:14px 14px 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:24px;
  padding:10px 14px 10px 18px; border-radius:999px;
  background:rgba(11,19,14,.6); backdrop-filter:blur(26px) saturate(1.4); -webkit-backdrop-filter:blur(26px) saturate(1.4);
  border:1px solid rgba(255,255,255,.1); box-shadow:0 18px 50px -24px rgba(0,0,0,.7)}
.nav .logo img{height:42px; width:auto}
.nav-links{display:flex; gap:24px; margin-left:auto; font-size:.82rem; font-weight:550}
.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:650; font-size:.93rem; text-decoration:none; border:none; cursor:pointer;
  transition:transform .3s, background .3s, color .3s, box-shadow .3s}
.btn-leaf{background:var(--leaf); color:#15200c; box-shadow:0 18px 44px -16px rgba(185,211,90,.5)}
.btn-leaf:hover{transform:translateY(-2px); background:var(--leaf-hot)}
.btn-ghost{background:rgba(255,255,255,.07); color:var(--ink); border:1px solid rgba(255,255,255,.22)}
.btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-emergency{background:rgba(224,53,44,.16); color:#ff6b5e; border:1px solid rgba(224,53,44,.5);
  padding:.72em 1.4em; font-size:.84rem; animation:emr 2.8s ease-in-out infinite}
.btn-emergency svg{width:14px; height:14px}
.btn-emergency:hover{background:var(--red); color:#fff}
@keyframes emr{50%{box-shadow:0 0 0 7px rgba(224,53,44,.08)}}
@keyframes scroll{from{transform:translateX(0)} to{transform:translateX(-50%)}}

/* council band */
.council-band{position:relative; padding:60px 0; background:linear-gradient(135deg, rgba(11,19,14,.8), rgba(11,19,14,.9)); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); overflow:hidden}
.council-band::before{content:''; position:absolute; inset:0; background:url('img/eden/leaf.jpg') center/cover; opacity:.06; z-index:0}
.cb-veil{position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,19,14,.95), rgba(11,19,14,.85), rgba(11,19,14,.95)); z-index:0}
.cb-inner{position:relative; z-index:1; max-width:100%; overflow:hidden}
.cb-label{text-align:center; font-size:.72rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--leaf); margin-bottom:24px}
.cb-marquee{overflow:hidden; margin:0 -28px; padding:0 28px}
.cb-track{display:flex; gap:48px; align-items:center; animation:scroll 20s linear infinite; will-change:transform}
.cb-track img{height:56px; width:auto; opacity:.85; filter:grayscale(1) brightness(1.3); transition:opacity .3s, filter .3s}
.cb-track img:hover{opacity:1; filter:grayscale(.3) brightness(1.5)}
@media(max-width:760px){ .council-band{padding:44px 0} .cb-label{font-size:.65rem; margin-bottom:18px} .cb-track{gap:32px} .cb-track img{height:42px} }
@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:36px} }

/* hero — headline + form card */
.hero{position:relative; padding:160px 0 80px; overflow:hidden}
.hero .bg{position:absolute; inset:0; background:url('img/eden/pavilion.jpg') center/cover}
.hero .veil{position:absolute; inset:0; background:linear-gradient(105deg, rgba(11,19,14,.97) 38%, rgba(11,19,14,.78) 70%, rgba(11,19,14,.55))}
.hero .wrap{position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center}
@media(max-width:920px){ .hero .wrap{grid-template-columns:1fr} }
.hero h1{font-size:clamp(2.5rem,5.6vw,4.2rem); max-width:14ch}
.hero .lede{margin:22px 0 28px; max-width:46ch; font-size:1.08rem; color:var(--ink-soft)}
.ticks{display:grid; gap:10px; margin-bottom:8px}
.tick{display:flex; gap:.7em; align-items:center; font-size:.95rem; font-weight:550}
.tick svg{width:16px; height:16px; color:var(--leaf); flex:0 0 auto}
.hero-form{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:26px;
  padding:30px; backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); box-shadow:var(--shadow)}
.hero-form .fhead{font-family:'Fraunces',serif; font-size:1.35rem; margin-bottom:4px}
.hero-form .fsub{font-size:.85rem; color:var(--ink-soft); margin-bottom:18px}
.hero-form label{display:block; font-size:.64rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 6px}
.hero-form input,.hero-form textarea{width:100%; margin-bottom:13px; padding:.75em 1em; border-radius:12px;
  border:1px solid rgba(255,255,255,.16); background:rgba(11,19,14,.55); color:var(--ink); font:inherit; font-size:.93rem}
.hero-form input::placeholder,.hero-form textarea::placeholder{color:rgba(241,236,223,.3)}
.hero-form input:focus,.hero-form textarea:focus{outline:2px solid var(--leaf); outline-offset:1px}
.seg{display:flex; background:rgba(11,19,14,.55); border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:4px; margin-bottom:13px}
.seg button{flex:1; border:none; background:transparent; color:var(--ink-soft); font:inherit; font-weight:600; font-size:.87rem; padding:.55em; border-radius:999px; cursor:pointer; transition:background .25s,color .25s}
.seg button.sel{background:var(--leaf); color:#15200c}
.hero-form .btn{width:100%; justify-content:center}
.hero-form .micro{font-size:.72rem; color:var(--ink-faint); text-align:center; margin-top:10px}
.thanks{text-align:center; padding:26px 6px}
.thanks .seal{width:50px; height:50px; margin:0 auto 16px; border-radius:50%; background:var(--leaf); color:#15200c; display:grid; place-items:center}
.thanks .seal svg{width:24px; height:24px}

/* stat strip */
.stats{border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); background:var(--forest-2)}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-top:34px; padding-bottom:34px}
@media(max-width:760px){ .stats .wrap{grid-template-columns:repeat(2,1fr)} }
.stat .n{font-family:'Fraunces',serif; font-style:italic; font-size:1.7rem; color:var(--leaf)}
.stat .t{font-size:.72rem; font-weight:650; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-faint); margin-top:4px}

/* work-first proof */
.section{padding:110px 0}
.sec-head{max-width:660px; margin-bottom:50px}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem); margin-bottom:14px}
.sec-head p{color:var(--ink-soft)}
.ba-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media(max-width:880px){ .ba-grid{grid-template-columns:1fr} }
.ba-card{border-radius:var(--rad); overflow:hidden; box-shadow:var(--shadow); position:relative; border:1px solid rgba(255,255,255,.1); background:var(--forest-2)}
.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:700; letter-spacing:.24em;
  text-transform:uppercase; color:var(--ink); background:rgba(11,19,14,.6); border:1px solid rgba(255,255,255,.22);
  padding:.6em 1.2em; border-radius:999px; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px)}
.duo{display:grid; grid-template-columns:1.25fr 1fr; gap:16px; margin-top:16px}
@media(max-width:880px){ .duo{grid-template-columns:1fr} }
.duo img{border-radius:var(--rad); box-shadow:var(--shadow); width:100%; height:100%; object-fit:cover; aspect-ratio:16/10; border:1px solid rgba(255,255,255,.1)}

/* process steps */
.process{background:var(--forest-2); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media(max-width:880px){ .steps{grid-template-columns:1fr} }
.step{background:var(--glass); border:1px solid var(--glass-line); border-radius:var(--rad); padding:32px 28px; position:relative;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px)}
.step .num{font-family:'Fraunces',serif; font-style:italic; font-size:2.6rem; color:var(--leaf); opacity:.9; line-height:1}
.step h3{font-size:1.25rem; margin:14px 0 8px}
.step p{font-size:.93rem; color:var(--ink-soft)}

/* services compact chips */
.svc-chips{display:flex; flex-wrap:wrap; gap:12px}
.svc-chip{display:inline-flex; align-items:center; gap:.6em; padding:.85em 1.5em; border-radius:999px;
  background:var(--glass); border:1px solid var(--glass-line); font-weight:600; font-size:.93rem;
  transition:border-color .3s, background .3s}
.svc-chip:hover{border-color:rgba(185,211,90,.5); background:rgba(185,211,90,.08)}
.svc-chip svg{width:15px; height:15px; color:var(--leaf)}
.svc-foot{margin-top:30px; color:var(--ink-soft); font-size:.95rem; max-width:70ch}
.svc-foot strong{color:var(--ink)}

/* emergency strip */
.emr-strip{background:linear-gradient(100deg, #2a0f0c, #1c0c0a); border-top:1px solid rgba(224,53,44,.35); border-bottom:1px solid rgba(224,53,44,.35); padding:44px 0}
.emr-strip .wrap{display:flex; gap:26px; align-items:center; justify-content:space-between; flex-wrap:wrap}
.emr-strip h3{font-size:clamp(1.3rem,2.6vw,1.8rem)}
.emr-strip h3 em{color:#ff6b5e; font-style:italic}
.emr-strip p{color:rgba(241,236,223,.65); font-size:.95rem; max-width:52ch}
.emr-strip .btn{background:var(--red); color:#fff; box-shadow:0 16px 40px -14px rgba(224,53,44,.6); white-space:nowrap}
.emr-strip .btn:hover{transform:translateY(-2px); background:#f04438}

/* why quote row */
.whyrow{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center}
@media(max-width:880px){ .whyrow{grid-template-columns:1fr} }
.whyrow img{border-radius:var(--rad); box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover; width:100%; border:1px solid rgba(255,255,255,.1)}
.whyrow h2{font-size:clamp(1.9rem,3.6vw,2.7rem); margin-bottom:20px}
.whyrow p{color:var(--ink-soft); margin-bottom:14px}
.standard{margin-top:26px; display:flex; gap:10px; flex-wrap:wrap}
.std{font-family:'Fraunces',serif; font-style:italic; font-size:1rem; padding:.55em 1.3em; border-radius:999px;
  border:1px solid rgba(201,161,74,.45); color:var(--gold); background:rgba(201,161,74,.07)}

/* 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:22px 4px; font-family:'Fraunces',serif; font-size:1.1rem; font-weight:480}
.faq summary::-webkit-details-marker{display:none}
.faq summary .x{flex:0 0 auto; width:26px; height:26px; border-radius:50%; border:1px solid var(--glass-line);
  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(--leaf); color:#15200c; border-color:var(--leaf)}
.faq .a{padding:0 4px 24px; color:var(--ink-soft); max-width:64ch}

/* final CTA */
.final{background:var(--forest-2); border-top:1px solid var(--hair); text-align:center; padding:100px 0}
.final h2{font-size:clamp(2rem,4.2vw,3rem); margin-bottom:16px}
.final p{color:var(--ink-soft); max-width:52ch; margin:0 auto 30px}

/* CTA dock (mobile) */
.dock{position:fixed; left:14px; right:14px; bottom:14px; z-index:55; display:none; gap:10px;
  transform:translateY(160%); transition:transform .45s cubic-bezier(.22,1,.36,1)}
.dock.show{transform:none}
.dock .btn{flex:1; justify-content:center; padding:1em}
@media(max-width:680px){ .dock{display:flex} }

/* footer */
footer{background:#070d09; color:var(--ink-faint); padding:64px 0 46px; font-size:.9rem; border-top:1px solid var(--hair)}
footer .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:44px; margin-bottom:44px}
@media(max-width:760px){ footer .cols{grid-template-columns:1fr} }
footer .flogo{height:48px; width:auto; margin-bottom:18px}
footer .blurb{color:var(--ink-soft)}
footer h4{font-size:.66rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:16px}
footer ul{list-style:none}
footer li{margin-bottom:9px; display:flex; align-items:center; gap:.6em; color:var(--ink-soft)}
footer li svg{width:12px; height:12px; color:var(--leaf); flex:0 0 auto}
.foot-base{border-top:1px solid var(--hair); 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(241,236,223,.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(241,236,223,.4); text-decoration:none; opacity:.85; transition:opacity .3s}
.built-by b{color:rgba(241,236,223,.72); font-weight:700; letter-spacing:.22em}
.built-by:hover{opacity:1}

/* ============================================================
   v2 feedback additions — about/team, MVV, accreditations,
   per-service sections, councils, education & news, reviews
   ============================================================ */

/* photo placeholders */
.ph{width:100%; aspect-ratio:4/3; border-radius:var(--rad); background:var(--forest-2) center/cover no-repeat;
  border:1px solid rgba(255,255,255,.1)}
.ph-blank{display:grid; place-items:center; padding:20px; text-align:center;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 14px, rgba(255,255,255,.06) 14px 28px), var(--forest-2);
  border:1px dashed rgba(241,236,223,.25); color:var(--ink-faint);
  font-size:.7rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; line-height:1.7}
.ph-card{position:relative}
.ph-card figcaption{margin-top:12px; font-size:.72rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-faint)}
.ph-wide{margin-top:16px}
.ph-wide .ph{aspect-ratio:21/9}

/* team grid */
.team-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px}
.team-card .ph{aspect-ratio:3/4}
.team-card figcaption{margin-top:12px}
.team-card figcaption strong{display:block; font-family:'Fraunces',serif; font-weight:500; font-size:1.05rem}
.team-card figcaption span{font-size:.72rem; font-weight:650; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint)}
@media(max-width:980px){ .team-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:640px){ .team-grid{grid-template-columns:repeat(2,1fr)} .ph-wide .ph{aspect-ratio:16/10} }

/* mission / vision / values */
.mvv{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:40px}
.mvv-card{background:var(--glass); border:1px solid var(--glass-line); border-radius:var(--rad); padding:30px 28px;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px)}
.mvv-card h3{font-size:1.2rem; color:var(--leaf); font-style:italic; margin-bottom:10px}
.mvv-card p{font-size:.93rem; color:var(--ink-soft)}
@media(max-width:880px){ .mvv{grid-template-columns:1fr} }

/* why choose eden grid */
.why-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
.why{display:flex; gap:14px; align-items:flex-start; background:var(--glass); border:1px solid var(--glass-line);
  border-radius:var(--rad); padding:22px 24px}
.why svg{width:18px; height:18px; color:var(--leaf); flex:0 0 auto; margin-top:3px}
.why strong{display:block; font-family:'Fraunces',serif; font-weight:500; font-size:1.05rem; margin-bottom:4px}
.why p{font-size:.88rem; color:var(--ink-soft)}
.why-tight{margin-bottom:8px}
@media(max-width:760px){ .why-grid{grid-template-columns:1fr} }

/* accreditations row */
.accred{margin-top:40px; display:flex; flex-wrap:wrap; gap:12px; align-items:center}
.accred-label{font-size:.66rem; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-faint); margin-right:8px}
.accred-badge{padding:.9em 1.5em; border-radius:14px; border:1px dashed rgba(241,236,223,.25);
  background:rgba(255,255,255,.03); color:var(--ink-faint); font-size:.7rem; font-weight:650; letter-spacing:.18em; text-transform:uppercase}
@media(max-width:560px){ .accred-label{width:100%} .accred-badge{flex:1 1 40%; text-align:center} }

/* per-service sections */
.svc-sec{padding:90px 0; border-top:1px solid var(--hair)}
.svc-alt{background:var(--forest-2)}
.svc-head{max-width:760px; margin-bottom:40px}
.svc-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem); margin-bottom:14px}
.svc-head p{color:var(--ink-soft); font-size:.97rem}
.steps-mini{margin-bottom:34px}
.steps-mini .step{padding:26px 24px}
.steps-mini .step .num{font-size:2.1rem}
.steps-mini .step h3{font-size:1.12rem; margin:10px 0 6px}
.steps-mini .step p{font-size:.88rem}
.svc-faq{max-width:780px}
.svc-faq .faq summary{font-size:1rem; padding:18px 4px}
.svc-faq .faq .a{font-size:.92rem; padding-bottom:20px}
.svc-cta{margin-top:34px; display:flex; align-items:center; gap:22px; flex-wrap:wrap}
.areas-note{color:var(--ink-soft); font-size:.93rem}
@media(max-width:640px){ .svc-sec{padding:70px 0} .svc-cta .btn{width:100%; justify-content:center} }

/* locations by council */
.council-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.council{background:var(--glass); border:1px solid var(--glass-line); border-radius:var(--rad); padding:22px;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px)}
.c-head{display:flex; align-items:center; gap:12px; margin-bottom:14px; min-height:44px}
.c-head img{width:42px; height:42px; object-fit:contain; border-radius:10px; background:rgba(241,236,223,.92); padding:4px; flex:0 0 auto}
.c-head h3{font-size:.98rem; line-height:1.25}
.c-badge{width:42px; height:42px; flex:0 0 auto; border-radius:10px; display:grid; place-items:center;
  background:rgba(185,211,90,.12); border:1px solid rgba(185,211,90,.35); color:var(--leaf);
  font-family:'Fraunces',serif; font-style:italic; font-size:.95rem}
.council ul{list-style:none}
.council li{display:flex; justify-content:space-between; gap:10px; font-size:.88rem; color:var(--ink-soft);
  padding:6px 0; border-bottom:1px solid rgba(241,236,223,.07)}
.council li:last-child{border-bottom:none}
.council li span{color:var(--ink-faint); font-size:.78rem; white-space:nowrap}
@media(max-width:1080px){ .council-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:820px){ .council-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:540px){ .council-grid{grid-template-columns:1fr} }

/* education & news */
.news-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.news-card{background:var(--glass); border:1px solid var(--glass-line); border-radius:var(--rad); overflow:hidden;
  display:flex; flex-direction:column; transition:border-color .3s, transform .3s}
.news-card:hover{border-color:rgba(185,211,90,.4); transform:translateY(-3px)}
.news-card .ph{border-radius:0; border:none; aspect-ratio:16/10}
.news-card .ph-blank{border-bottom:1px dashed rgba(241,236,223,.25)}
.nc-body{padding:22px 22px 26px}
.nc-tag{display:inline-block; font-size:.62rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
  color:var(--leaf); margin-bottom:10px}
.nc-body h3{font-size:1.12rem; margin-bottom:8px}
.nc-body p{font-size:.87rem; color:var(--ink-soft)}
@media(max-width:1000px){ .news-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){ .news-grid{grid-template-columns:1fr} }

/* reviews band */
.rev-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.rev-card{background:var(--glass); border:1px solid var(--glass-line); border-radius:var(--rad); padding:30px 28px;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px)}
.rev-stars{color:var(--gold); letter-spacing:.2em; font-size:.95rem; margin-bottom:14px}
.rev-card blockquote{font-family:'Fraunces',serif; font-style:italic; font-size:1.05rem; line-height:1.5; margin-bottom:16px}
.rev-card figcaption{font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint)}
.rev-note{margin-top:24px; font-size:.74rem; color:rgba(241,236,223,.32)}
@media(max-width:880px){ .rev-grid{grid-template-columns:1fr} }

/* ============================================================
   v3 old-site infusion — leaf hero, council marquee band,
   textured story/work bands, bark divider, footer enquiries
   ============================================================ */

/* utilities (replace former inline styles) */
.pt0{padding-top:0}
.pt90{padding-top:90px}
.m0{margin:0}
.ic14{width:14px; height:14px}
.ic15{width:15px; height:15px}
.sec-center{margin-inline:auto; text-align:center}
.sec-tight{padding-top:80px}
.duo-flip{grid-template-columns:1fr 1.25fr}
@media(max-width:880px){ .duo-flip{grid-template-columns:1fr} }

/* hero = the leaf macro with water droplets (old-site signature) */
.hero .bg{background-image:url('img/eden/leaf.jpg')}

/* photo classes (replace former inline background-image styles) */
.ph-img-tree{background-image:url('img/eden/tree-trunk.jpg')}
.ph-img-leaf2{background-image:url('img/eden/pavilion-3.jpg')}
.ph-img-foliage{background-image:url('img/eden/foliage.jpg')}
.ph-img-mulch{background-image:url('img/eden/tex-mulch.jpg')}

/* council marquee band over the leaf image */
.council-band{position:relative; overflow:hidden; padding:46px 0 50px;
  background:url('img/eden/leaf.jpg') center/cover no-repeat var(--forest);
  border-bottom:1px solid var(--hair)}
.cb-veil{position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,19,14,.86), rgba(11,19,14,.74))}
.cb-inner{position:relative}
.cb-label{text-align:center; font-size:.7rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:26px}
.cb-marquee{overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)}
.cb-track{display:flex; align-items:center; gap:72px; width:max-content; padding-right:72px;
  animation:cb-scroll 32s linear infinite}
.cb-track img{height:56px; width:auto; flex:0 0 auto; filter:grayscale(1) brightness(0) invert(1); opacity:.88}
@keyframes cb-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){ .cb-track{animation:none; width:auto; flex-wrap:wrap; justify-content:center} }
@media(max-width:640px){ .council-band{padding:36px 0 40px} .cb-track{gap:44px; padding-right:44px} .cb-track img{height:42px} }

/* textured full-bleed bands (story / work) */
.tex-band{position:relative}
.tex-band::before{content:""; position:absolute; inset:0; background-position:center; background-size:cover; background-repeat:no-repeat}
.tex-band::after{content:""; position:absolute; inset:0}
.tex-band > .wrap{position:relative; z-index:1}
.tex-sunset::before{background-image:url('img/eden/sunset.jpg')}
.tex-sunset::after{background:linear-gradient(180deg, rgba(11,19,14,.9), rgba(20,16,8,.78) 55%, rgba(11,19,14,.94))}
.tex-soil::before{background-image:url('img/eden/soil-2.jpg')}
.tex-soil::after{background:linear-gradient(180deg, rgba(11,19,14,.93), rgba(16,12,8,.86) 50%, rgba(11,19,14,.95))}

/* bark texture divider */
.bark-band{position:relative; overflow:hidden; padding:90px 0;
  background:url('img/eden/tex-bark.jpg') center/cover no-repeat var(--forest-2);
  border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
.bb-veil{position:absolute; inset:0; background:rgba(11,19,14,.72)}
.bb-quote{position:relative; text-align:center; font-family:'Fraunces',Georgia,serif; font-weight:480;
  font-size:clamp(1.6rem,3.4vw,2.5rem); letter-spacing:-.012em; padding:0 28px}
.bb-quote em{font-style:italic; color:var(--leaf)}
@media(max-width:640px){ .bark-band{padding:64px 0} }

/* footer — direct enquiries + follow */
.enq{border-top:1px solid var(--hair); padding-top:36px; margin-bottom:40px}
.enq h4{margin-bottom:18px}
.enq-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:12px}
.enq-chip{display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:16px; text-decoration:none;
  background:var(--glass); border:1px solid var(--glass-line); transition:border-color .3s, background .3s}
.enq-chip:hover{border-color:rgba(185,211,90,.45); background:rgba(185,211,90,.07)}
.enq-ic{width:34px; height:34px; flex:0 0 auto; border-radius:10px; display:grid; place-items:center;
  background:rgba(185,211,90,.12); border:1px solid rgba(185,211,90,.3); color:var(--leaf)}
.enq-ic svg{width:16px; height:16px}
.enq-body strong{display:block; font-size:.84rem; font-weight:650; color:var(--ink); line-height:1.3}
.enq-body span{display:block; font-size:.7rem; color:var(--ink-faint); line-height:1.4}
.follow{display:flex; align-items:center; gap:12px; margin-top:24px; flex-wrap:wrap}
.follow-label{font-size:.7rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-faint); margin-right:4px}
.soc{width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:var(--ink-soft);
  background:var(--glass); border:1px solid var(--glass-line); transition:color .3s, border-color .3s, background .3s}
.soc:hover{color:var(--leaf); border-color:rgba(185,211,90,.45); background:rgba(185,211,90,.07)}
.soc svg{width:16px; height:16px}
@media(max-width:1000px){ .enq-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:640px){ .enq-grid{grid-template-columns:1fr 1fr} .enq-chip{padding:12px 13px} .enq-body span{display:none} }

/* ============================================================
   v4 polish — real accreditation logo chips, per-service
   supporting photos
   ============================================================ */

/* accreditation chips — light glass so dark-ink logos read on the forest bg */
.accred-chip{display:inline-flex; align-items:center; justify-content:center; height:64px; padding:10px 18px;
  border-radius:14px; background:rgba(241,236,223,.92); border:1px solid rgba(255,255,255,.25);
  box-shadow:0 14px 34px -18px rgba(0,0,0,.55)}
.accred-chip img{height:40px; width:auto; max-width:150px; object-fit:contain}
.accred-vba{background:var(--glass); border:1px solid rgba(185,211,90,.4); color:var(--leaf);
  font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap}
@media(max-width:560px){
  .accred-chip{height:54px; padding:8px 14px; flex:1 1 40%}
  .accred-chip img{height:32px}
  .accred-vba{flex:1 1 100%; white-space:normal; text-align:center; line-height:1.5}
}

/* per-service supporting photo beside the intro */
.svc-top{display:grid; grid-template-columns:1.25fr .75fr; gap:44px; align-items:center; margin-bottom:40px}
.svc-top .svc-head{margin-bottom:0}
.svc-photo{position:relative}
.svc-photo img{width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:var(--rad);
  border:1px solid rgba(255,255,255,.12); box-shadow:var(--shadow)}
@media(max-width:880px){
  .svc-top{grid-template-columns:1fr; gap:26px}
  .svc-photo img{aspect-ratio:16/9}
}

/* locations photo strip (real project imagery under the council grid) */
.photo-band-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:34px}
.photo-band-grid img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px;
  border:1px solid rgba(255,255,255,.1); box-shadow:var(--shadow)}
@media(max-width:760px){
  .photo-band-grid{grid-template-columns:repeat(2,1fr); gap:10px; margin-top:26px}
}

/* v5 real photos */
.proof-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:16px}
.proof-grid img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--rad);
  border:1px solid rgba(255,255,255,.1); box-shadow:var(--shadow)}
@media(max-width:880px){
  .proof-grid{grid-template-columns:repeat(2,1fr); gap:10px; margin-top:10px}
}
