/* ============================================================
   EDEN BUILDING & LANDSCAPING — FULL SITE DEMO
   Concept "The Full Site" — multi-page, conversion-first.
   Forest dark, leaf green, gold + emergency red. Built on the
   "Done Properly" (eden3) aesthetic, extended for a 25+ page site:
   dropdown nav, blog, suburb SEO pages, emergency theatre, chat.
   ============================================================ */

:root{
  --forest:#0b130e;
  --forest-2:#112016;
  --forest-3:#0e1a12;
  --leaf:#b9d35a;
  --leaf-hot:#cdea61;
  --gold:#c9a14a;
  --red:#e0352c;
  --red-hot:#ff5b4e;
  --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; overflow-x:hidden}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
::selection{background:var(--leaf); color:var(--forest)}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px}
.wrap-narrow{max-width:820px; margin:0 auto; padding:0 28px}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif; font-weight:480; line-height:1.1; letter-spacing:-.012em}
h1 em,h2 em,h3 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}
.js-anim .reveal[data-d="3"]{transition-delay:.3s}

/* ============ NAV with dropdowns ============ */
.nav{position:fixed; inset:14px 14px auto; z-index:60; transition:transform .45s cubic-bezier(.22,1,.36,1)}
.nav.hide{transform:translateY(-160%)}
.nav-inner{max-width:1180px; margin:0 auto; display:flex; align-items:center; gap:22px;
  padding:10px 14px 10px 18px; border-radius:999px;
  background:rgba(11,19,14,.66); 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:6px; margin-left:auto; font-size:.84rem; font-weight:550; align-items:center}
.nav-links > a, .nav-item > a{display:inline-flex; align-items:center; gap:.35em; text-decoration:none; color:var(--ink-soft); transition:color .25s; padding:.5em .7em; border-radius:999px}
.nav-links > a:hover, .nav-item > a:hover{color:var(--ink)}
.nav-links a.active{color:var(--leaf)}
.nav-item{position:relative}
.nav-item > a .chev{width:12px;height:12px;opacity:.6;transition:transform .25s}
.nav-item:hover > a .chev{transform:rotate(180deg)}
.dropdown{position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(8px);
  min-width:240px; background:rgba(11,19,14,.92); backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  border:1px solid var(--glass-line); border-radius:18px; padding:10px; opacity:0; visibility:hidden;
  transition:opacity .25s, transform .25s, visibility .25s; box-shadow:var(--shadow)}
.nav-item:hover .dropdown{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}
.dropdown a{display:flex; flex-direction:column; gap:2px; padding:10px 14px; border-radius:12px; color:var(--ink-soft); transition:background .2s, color .2s}
.dropdown a:hover{background:rgba(185,211,90,.1); color:var(--ink)}
.dropdown a strong{font-weight:600; font-size:.86rem; color:var(--ink)}
.dropdown a span{font-size:.72rem; color:var(--ink-faint)}
.nav-cta-group{display:flex; align-items:center; gap:8px}
@media(max-width:1040px){ .nav-links{display:none} .nav-cta-group{margin-left:auto} }
/* on phones the top bar = logo + burger only (Emergency + Free Quote live in the dock & drawer) */
@media(max-width:600px){
  .nav-inner{gap:10px; padding:8px 8px 8px 14px}
  .nav-cta-group .btn{display:none}
  .nav .logo img{height:36px}
}

.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 svg{width:1.05em; height:1.05em; flex:0 0 auto}
.btn-emergency svg{width:14px; height:14px}
.btn-emergency:hover{background:var(--red); color:#fff}
.btn-red{background:var(--red); color:#fff; box-shadow:0 16px 40px -14px rgba(224,53,44,.6)}
.btn-red:hover{transform:translateY(-2px); background:var(--red-hot)}
@keyframes emr{50%{box-shadow:0 0 0 7px rgba(224,53,44,.08)}}

/* mobile nav drawer */
.burger{display:none; width:42px; height:42px; border-radius:50%; border:1px solid var(--glass-line); background:var(--glass);
  align-items:center; justify-content:center; cursor:pointer; flex:0 0 auto}
.burger svg{width:20px; height:20px; color:var(--ink)}
.drawer{position:fixed; inset:0; z-index:70; background:rgba(8,13,9,.97); backdrop-filter:blur(20px);
  transform:translateX(100%); transition:transform .4s cubic-bezier(.22,1,.36,1); padding:80px 28px 40px; overflow-y:auto}
.drawer.open{transform:none}
.drawer-close{position:absolute; top:22px; right:22px; width:44px; height:44px; border-radius:50%; border:1px solid var(--glass-line);
  background:var(--glass); color:var(--ink); cursor:pointer; display:grid; place-items:center}
.drawer-close svg{width:22px; height:22px}
.drawer a{display:block; padding:14px 6px; font-family:'Fraunces',serif; font-size:1.4rem; border-bottom:1px solid var(--hair); color:var(--ink)}
.drawer a.sub{font-family:'Inter',sans-serif; font-size:.95rem; padding:10px 20px; color:var(--ink-soft); border-bottom:none}
.drawer .grp{font-size:.66rem; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--leaf); margin:22px 0 4px; padding:0 6px}
.drawer .btn{width:100%; justify-content:center; margin-top:18px}
@media(max-width:1040px){ .burger{display:flex} }

/* ============ HERO ============ */
.hero{position:relative; padding:160px 0 80px; overflow:hidden}
.hero .bg{position:absolute; inset:0; background:url('img/eden/leaf.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 rating chip */
.hero-rate{display:inline-flex; align-items:center; gap:.7em; margin-bottom:22px; padding:.5em 1em .5em .6em;
  border-radius:999px; background:var(--glass); border:1px solid var(--glass-line); font-size:.82rem}
.hero-rate .stars{color:var(--gold); letter-spacing:.1em}
.hero-rate b{color:var(--ink); font-weight:700}
.hero-rate span{color:var(--ink-soft)}

/* hero quote form */
.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,.hero-form select{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,.hero-form select: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}

/* ============ COUNCIL MARQUEE BAND ============ */
.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 34s linear infinite}
.cb-track img{height:56px; width:auto; flex:0 0 auto; filter:grayscale(1) brightness(0) invert(1); opacity:.88}
.cb-badge{height:56px; min-width:56px; padding:0 14px; flex:0 0 auto; border-radius:12px; display:grid; place-items:center;
  background:rgba(241,236,223,.1); border:1px solid rgba(241,236,223,.2); color:rgba(241,236,223,.85);
  font-family:'Fraunces',serif; font-style:italic; font-size:1rem; white-space:nowrap}
@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} .cb-badge{height:42px} }

/* ============ SECTIONS ============ */
.section{padding:110px 0}
.sec-tight{padding-top:80px}
.pt0{padding-top:0}
.pt90{padding-top:90px}
.pb0{padding-bottom:0}
.sec-head{max-width:660px; margin-bottom:50px}
.sec-center{margin-inline:auto; text-align:center}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem); margin-bottom:14px}
.sec-head p{color:var(--ink-soft)}
.process{background:var(--forest-2); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
.m0{margin:0}
.ic14{width:14px; height:14px}
.ic15{width:15px; height:15px}

/* ============ PAGE HERO (interior pages) ============ */
.phero{position:relative; padding:170px 0 70px; overflow:hidden; border-bottom:1px solid var(--hair)}
.phero .bg{position:absolute; inset:0; background-position:center; background-size:cover; opacity:.9}
.phero .veil{position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,19,14,.82), rgba(11,19,14,.92))}
.phero .wrap{position:relative; max-width:880px}
.phero h1{font-size:clamp(2.2rem,4.6vw,3.4rem); margin-bottom:16px}
.phero p{color:var(--ink-soft); font-size:1.06rem; max-width:60ch}
.crumbs{font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:18px}
.crumbs a{color:var(--leaf)}
.crumbs span{margin:0 .5em; opacity:.5}

/* generic prose */
.prose{max-width:760px; margin:0 auto}
.prose p{margin-bottom:18px; color:var(--ink-soft)}
.prose h2{font-size:clamp(1.6rem,3vw,2.1rem); margin:42px 0 16px}
.prose h3{font-size:1.3rem; margin:32px 0 12px}
.prose ul,.prose ol{margin:0 0 18px 1.2em; color:var(--ink-soft)}
.prose li{margin-bottom:8px}
.prose strong{color:var(--ink)}
.prose a{color:var(--leaf); text-decoration:underline; text-underline-offset:3px}
.prose blockquote{border-left:3px solid var(--leaf); padding:6px 0 6px 22px; margin:24px 0; font-family:'Fraunces',serif;
  font-style:italic; font-size:1.2rem; color:var(--ink)}
.prose figure{margin:28px 0}
.prose figure img{border-radius:var(--rad); border:1px solid var(--glass-line); box-shadow:var(--shadow)}
.prose figcaption{font-size:.78rem; color:var(--ink-faint); margin-top:8px; text-align:center}

/* ============ STEPS / WHY / CARDS (shared with eden3) ============ */
.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)}
.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}

.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} }

.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} }

/* ============ SERVICE GRID (homepage + hub) ============ */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
@media(max-width:920px){ .svc-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){ .svc-grid{grid-template-columns:1fr} }
.svc-card{display:block; border-radius:var(--rad); overflow:hidden; background:var(--glass); border:1px solid var(--glass-line);
  transition:transform .4s cubic-bezier(.22,1,.36,1), border-color .4s; position:relative}
.svc-card:hover{transform:translateY(-5px); border-color:rgba(185,211,90,.45)}
.svc-card .pic{aspect-ratio:16/11; overflow:hidden}
.svc-card .pic img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.22,1,.36,1)}
.svc-card:hover .pic img{transform:scale(1.06)}
.svc-card .body{padding:24px 24px 26px}
.svc-card .body h3{font-size:1.3rem; margin-bottom:8px}
.svc-card .body p{font-size:.9rem; color:var(--ink-soft); margin-bottom:14px}
.svc-card .more{display:inline-flex; align-items:center; gap:.4em; font-size:.78rem; font-weight:650; color:var(--leaf)}
.svc-card .more svg{width:1em; height:1em; transition:transform .3s}
.svc-card:hover .more svg{transform:translateX(4px)}

/* per-service top (intro + photo) */
.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-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}
.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} }
.svc-cta{margin-top:34px; display:flex; align-items:center; gap:22px; flex-wrap:wrap}

/* ============ 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}

/* ============ TEAM ============ */
.team-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px}
.team-card{background:var(--glass); border:1px solid var(--glass-line); border-radius:var(--rad); overflow:hidden; padding:0}
.team-card .ph{aspect-ratio:3/4}
.team-card figcaption{padding:16px}
.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)}
.team-card figcaption p{font-size:.82rem; color:var(--ink-soft); margin-top:8px; line-height:1.5}
@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{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}

/* ============ ACCREDITATIONS ============ */
.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-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-label{width:100%} .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} }

/* ============ STANDARD pills / whyrow ============ */
.whyrow{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center}
@media(max-width:880px){ .whyrow{grid-template-columns:1fr} }
.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)}

/* ============ WORK / GALLERY ============ */
.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)}
.duo{display:grid; grid-template-columns:1.25fr 1fr; gap:16px; margin-top:16px}
.duo-flip{grid-template-columns:1fr 1.25fr}
@media(max-width:880px){ .duo, .duo-flip{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)}
.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} }

/* textured bands */
.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))}
.ph-img-tree{background-image:url('img/eden/tree-trunk.jpg')}

.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} }

/* ============ EMERGENCY STRIP (shared) ============ */
.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}

/* ============ COUNCIL / LOCATIONS GRID ============ */
.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)}
.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 a{color:var(--ink-soft); transition:color .2s}
.council li a:hover{color:var(--leaf)}
.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} }

/* suburb cards (locations index) */
.sub-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media(max-width:900px){ .sub-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){ .sub-grid{grid-template-columns:1fr} }
.sub-card{display:block; border-radius:var(--rad); overflow:hidden; background:var(--glass); border:1px solid var(--glass-line);
  transition:transform .4s, border-color .4s; position:relative}
.sub-card:hover{transform:translateY(-5px); border-color:rgba(185,211,90,.45)}
.sub-card .pic{aspect-ratio:16/10; overflow:hidden}
.sub-card .pic img{width:100%; height:100%; object-fit:cover; transition:transform .6s}
.sub-card:hover .pic img{transform:scale(1.06)}
.sub-card .body{padding:20px 22px 24px}
.sub-card .body h3{font-size:1.25rem; margin-bottom:6px}
.sub-card .body .reg{font-size:.66rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:8px}
.sub-card .body p{font-size:.86rem; color:var(--ink-soft); margin-bottom:12px}
.sub-card .more{display:inline-flex; align-items:center; gap:.4em; font-size:.76rem; font-weight:650; color:var(--leaf)}
.sub-card .more svg{width:1em; height:1em; transition:transform .3s}
.sub-card:hover .more svg{transform:translateX(4px)}

/* ============ BLOG ============ */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
@media(max-width:900px){ .blog-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){ .blog-grid{grid-template-columns:1fr} }
.post-card{display:flex; flex-direction:column; border-radius:var(--rad); overflow:hidden; background:var(--glass);
  border:1px solid var(--glass-line); transition:transform .4s, border-color .4s}
.post-card:hover{transform:translateY(-5px); border-color:rgba(185,211,90,.45)}
.post-card .pic{aspect-ratio:16/10; overflow:hidden}
.post-card .pic img{width:100%; height:100%; object-fit:cover; transition:transform .6s}
.post-card:hover .pic img{transform:scale(1.06)}
.post-card .body{padding:22px 22px 26px; display:flex; flex-direction:column; flex:1}
.post-card .cat{font-size:.62rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--leaf); margin-bottom:10px}
.post-card .body h3{font-size:1.18rem; margin-bottom:8px; line-height:1.25}
.post-card .body p{font-size:.86rem; color:var(--ink-soft); margin-bottom:14px; flex:1}
.post-card .meta{font-size:.72rem; color:var(--ink-faint)}
.feature-post{display:grid; grid-template-columns:1.1fr .9fr; gap:0; border-radius:var(--rad); overflow:hidden;
  background:var(--glass); border:1px solid var(--glass-line); margin-bottom:34px}
.feature-post .pic{min-height:320px; overflow:hidden}
.feature-post .pic img{width:100%; height:100%; object-fit:cover}
.feature-post .body{padding:42px; display:flex; flex-direction:column; justify-content:center}
.feature-post .body h2{font-size:clamp(1.5rem,3vw,2.1rem); margin:12px 0}
.feature-post .body p{color:var(--ink-soft); margin-bottom:18px}
@media(max-width:820px){ .feature-post{grid-template-columns:1fr} .feature-post .pic{min-height:220px} .feature-post .body{padding:28px} }

/* article */
.article-hero{position:relative; padding:170px 0 60px; overflow:hidden; border-bottom:1px solid var(--hair)}
.article-hero .bg{position:absolute; inset:0; background-position:center; background-size:cover; opacity:.5}
.article-hero .veil{position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,19,14,.7), rgba(11,19,14,.94))}
.article-hero .wrap{position:relative; max-width:820px}
.article-hero .cat{font-size:.66rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--leaf); margin-bottom:14px}
.article-hero h1{font-size:clamp(2rem,4.4vw,3.1rem); margin-bottom:18px; max-width:24ch}
.article-meta{font-size:.8rem; color:var(--ink-faint); display:flex; gap:18px; flex-wrap:wrap}
.article-body{padding:60px 0 90px}
.share-row{display:flex; align-items:center; gap:12px; margin:40px 0 0; padding-top:28px; border-top:1px solid var(--hair); flex-wrap:wrap}
.share-row .lbl{font-size:.7rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-faint)}
.tagchips{display:flex; gap:8px; flex-wrap:wrap}
.tagchip{font-size:.74rem; padding:.4em 1em; border-radius:999px; background:var(--glass); border:1px solid var(--glass-line); color:var(--ink-soft)}

/* author / related */
.author-box{display:flex; gap:16px; align-items:center; background:var(--glass); border:1px solid var(--glass-line);
  border-radius:var(--rad); padding:22px; margin-top:36px}
.author-box .av{width:54px; height:54px; border-radius:50%; flex:0 0 auto; background:rgba(185,211,90,.14);
  border:1px solid rgba(185,211,90,.35); display:grid; place-items:center; color:var(--leaf); font-family:'Fraunces',serif; font-style:italic; font-size:1.3rem}
.author-box strong{display:block; font-family:'Fraunces',serif; font-weight:500; font-size:1.05rem}
.author-box span{font-size:.82rem; color:var(--ink-soft)}

/* ============ REVIEWS ============ */
.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:28px 26px;
  backdrop-filter:blur(16px); display:flex; flex-direction:column}
.rev-stars{color:var(--gold); letter-spacing:.2em; font-size:.95rem; margin-bottom:14px}
.rev-card blockquote{font-size:.95rem; line-height:1.6; margin-bottom:16px; color:var(--ink); flex:1}
.rev-card.feat blockquote{font-family:'Fraunces',serif; font-style:italic; font-size:1.1rem}
.rev-card figcaption{font-size:.78rem; color:var(--ink-faint); display:flex; align-items:center; gap:10px; margin-top:auto}
.rev-card .ava{width:34px; height:34px; border-radius:50%; flex:0 0 auto; background:rgba(185,211,90,.14);
  border:1px solid rgba(185,211,90,.3); color:var(--leaf); display:grid; place-items:center; font-weight:700; font-size:.8rem; font-family:'Inter'}
.rev-card figcaption b{color:var(--ink); font-weight:650; font-family:'Inter'}
.rev-card figcaption .gw{margin-left:auto; display:inline-flex; align-items:center; gap:5px; font-size:.66rem; color:var(--ink-faint)}
.rev-card figcaption .gw svg{width:14px; height:14px}
@media(max-width:880px){ .rev-grid{grid-template-columns:1fr} }
.rev-note{margin-top:24px; font-size:.74rem; color:rgba(241,236,223,.4); text-align:center}

/* google score banner */
.gscore{display:flex; align-items:center; justify-content:center; gap:26px; flex-wrap:wrap; padding:34px;
  background:var(--glass); border:1px solid var(--glass-line); border-radius:var(--rad); margin-bottom:44px}
.gscore .big{font-family:'Fraunces',serif; font-style:italic; font-size:3.2rem; color:var(--leaf); line-height:1}
.gscore .gstars{color:var(--gold); font-size:1.4rem; letter-spacing:.15em}
.gscore .glabel{font-size:.84rem; color:var(--ink-soft)}
.gscore .gdiv{width:1px; height:54px; background:var(--hair)}
.gscore .gbrand{display:flex; align-items:center; gap:8px; font-size:.9rem; color:var(--ink-soft)}
.gscore .gbrand svg{width:22px; height:22px}
@media(max-width:560px){ .gscore .gdiv{display:none} }

/* ============ FINAL CTA / FOOTER ============ */
.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}

.dock{position:fixed; left:10px; right:10px; bottom:10px; z-index:55; display:none; gap:10px;
  padding:9px; border-radius:999px; background:rgba(8,13,9,.92);
  backdrop-filter:blur(20px) saturate(1.3); -webkit-backdrop-filter:blur(20px) saturate(1.3);
  border:1px solid rgba(255,255,255,.12); box-shadow:0 18px 50px -16px rgba(0,0,0,.8);
  transform:translateY(180%); transition:transform .45s cubic-bezier(.22,1,.36,1)}
.dock.show{transform:none}
.dock .btn{flex:1; justify-content:center; padding:.95em; animation:none}
@media(max-width:680px){ .dock{display:flex} }

/* responsive two-column blocks (contact, suburb, careers apply) */
.two-col{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:start}
.two-col-even{grid-template-columns:1fr 1fr}
.two-col-wide{grid-template-columns:1.3fr .7fr}
@media(max-width:860px){ .two-col, .two-col-even, .two-col-wide{grid-template-columns:1fr; gap:32px} }

/* grid variants used on careers/suburb pages (collapse cleanly on mobile) */
.svc-grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){ .svc-grid.cols-2{grid-template-columns:1fr} }
.sub-grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){ .sub-grid.cols-4{grid-template-columns:repeat(2,1fr)} }
@media(max-width:520px){ .sub-grid.cols-4{grid-template-columns:1fr} }

footer{background:#070d09; color:var(--ink-faint); padding:64px 0 46px; font-size:.9rem; border-top:1px solid var(--hair)}
footer .fcols{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; margin-bottom:44px}
@media(max-width:900px){ footer .fcols{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ footer .fcols{grid-template-columns:1fr} }
footer .flogo{height:48px; width:auto; margin-bottom:18px}
footer .blurb{color:var(--ink-soft); max-width:34ch}
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; color:var(--ink-soft)}
footer li a{transition:color .2s} footer li a:hover{color:var(--leaf)}
.fcontact{display:flex; align-items:center; gap:.55em; margin-bottom:10px; color:var(--ink-soft)}
.fcontact svg{width:15px; height:15px; color:var(--leaf); flex:0 0 auto}
.follow{display:flex; align-items:center; gap:12px; margin-top:8px}
.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}
.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:74ch; 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}

/* ============ CHAT WIDGET (GHL-backed, Eden-branded launcher) ============ */
.chat-fab{position:fixed; right:18px; bottom:18px; z-index:80; display:flex; align-items:center; gap:10px;
  padding:12px 18px 12px 14px; border-radius:999px; border:none; cursor:pointer;
  background:var(--leaf); color:#15200c; font:inherit; font-weight:650; font-size:.9rem;
  box-shadow:0 18px 44px -14px rgba(185,211,90,.55); transition:transform .3s, box-shadow .3s}
.chat-fab:hover{transform:translateY(-2px) scale(1.02)}
.chat-fab svg{width:22px; height:22px}
.chat-fab .pulse{position:absolute; top:-3px; right:-3px; width:14px; height:14px; border-radius:50%;
  background:var(--red); border:2px solid var(--forest); animation:chatpulse 2s ease-in-out infinite}
@keyframes chatpulse{0%,100%{box-shadow:0 0 0 0 rgba(224,53,44,.5)} 50%{box-shadow:0 0 0 7px rgba(224,53,44,0)}}
.chat-panel{position:fixed; right:18px; bottom:18px; z-index:81; width:380px; max-width:calc(100vw - 36px);
  height:560px; max-height:calc(100vh - 36px); border-radius:22px; overflow:hidden;
  background:var(--forest-2); border:1px solid var(--glass-line); box-shadow:0 40px 90px -30px rgba(0,0,0,.8);
  display:flex; flex-direction:column; transform:translateY(20px) scale(.98); opacity:0; visibility:hidden;
  transition:transform .35s cubic-bezier(.22,1,.36,1), opacity .35s, visibility .35s}
.chat-panel.open{transform:none; opacity:1; visibility:visible}
.chat-head{display:flex; align-items:center; gap:12px; padding:16px 18px; background:linear-gradient(120deg,#0e1a12,#13241a);
  border-bottom:1px solid var(--hair)}
.chat-head .ava{width:40px; height:40px; border-radius:50%; flex:0 0 auto; background:var(--leaf); color:#15200c;
  display:grid; place-items:center; font-family:'Fraunces',serif; font-style:italic; font-weight:600; font-size:1.1rem}
.chat-head .who strong{display:block; font-size:.92rem; color:var(--ink); font-family:'Fraunces',serif; font-weight:500}
.chat-head .who span{font-size:.72rem; color:var(--leaf); display:flex; align-items:center; gap:5px}
.chat-head .who span::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--leaf); display:inline-block}
.chat-head .x{margin-left:auto; width:32px; height:32px; border-radius:50%; border:1px solid var(--glass-line);
  background:var(--glass); color:var(--ink); cursor:pointer; display:grid; place-items:center}
.chat-head .x svg{width:18px; height:18px}
/* conversational chat body */
.chat-log{flex:1; overflow-y:auto; padding:18px 16px; display:flex; flex-direction:column; gap:12px;
  background:radial-gradient(120% 80% at 50% 0%, rgba(185,211,90,.05), transparent 60%), var(--forest-2)}
.cmsg{display:flex; gap:9px; align-items:flex-end; max-width:88%}
.cmsg.me{align-self:flex-end}
.cmsg.bot{align-self:flex-start}
.cmsg .cava{width:26px; height:26px; border-radius:50%; flex:0 0 auto; background:var(--leaf); color:#15200c;
  display:grid; place-items:center; font-family:'Fraunces',serif; font-style:italic; font-weight:600; font-size:.8rem}
.cbub{padding:10px 14px; border-radius:16px; font-size:.9rem; line-height:1.5}
.cmsg.bot .cbub{background:var(--glass); border:1px solid var(--glass-line); color:var(--ink); border-bottom-left-radius:5px}
.cmsg.me .cbub{background:var(--leaf); color:#15200c; font-weight:500; border-bottom-right-radius:5px}
.cbub a{color:inherit}
.cbub a.cbtn{display:inline-flex; align-items:center; gap:.5em; margin-top:2px; padding:.6em 1.2em; border-radius:999px;
  background:var(--red); color:#fff; font-weight:650; font-size:.85rem; text-decoration:none}
.cbub.typing{display:flex; gap:4px; padding:14px}
.cbub.typing i{width:6px; height:6px; border-radius:50%; background:var(--ink-soft); animation:ctype 1.2s infinite}
.cbub.typing i:nth-child(2){animation-delay:.2s} .cbub.typing i:nth-child(3){animation-delay:.4s}
@keyframes ctype{0%,60%,100%{opacity:.25; transform:translateY(0)} 30%{opacity:1; transform:translateY(-3px)}}
.cchips{display:flex; flex-wrap:wrap; gap:8px; align-self:flex-start; max-width:88%}
.cchip{padding:.5em 1em; border-radius:999px; background:rgba(185,211,90,.1); border:1px solid rgba(185,211,90,.4);
  color:var(--leaf); font:inherit; font-size:.82rem; font-weight:600; cursor:pointer; transition:background .2s}
.cchip:hover{background:rgba(185,211,90,.2)}
.chat-input{display:flex; gap:8px; padding:12px; background:var(--forest-3); border-top:1px solid var(--hair)}
.chat-input input{flex:1; padding:.7em 1em; border-radius:999px; border:1px solid var(--glass-line);
  background:rgba(11,19,14,.6); color:var(--ink); font:inherit; font-size:.9rem}
.chat-input input:focus{outline:2px solid var(--leaf); outline-offset:1px}
.chat-input button{width:42px; height:42px; flex:0 0 auto; border-radius:50%; border:none; background:var(--leaf);
  color:#15200c; cursor:pointer; display:grid; place-items:center; transition:background .2s, transform .2s}
.chat-input button:hover{background:var(--leaf-hot); transform:scale(1.05)}
.chat-input button svg{width:18px; height:18px}
@media(max-width:560px){ .chat-fab{right:14px; bottom:14px; padding:12px} .chat-fab .lbl{display:none}
  .chat-panel{right:8px; left:8px; bottom:8px; width:auto; height:calc(100vh - 16px)} }
body.dock-on .chat-fab{bottom:84px}

/* footer accreditation mini-row */
.facc{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:18px}
.facc img{height:30px; width:auto; background:rgba(241,236,223,.9); border-radius:8px; padding:4px}
.facc .v{font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--leaf);
  border:1px solid rgba(185,211,90,.4); border-radius:8px; padding:8px 10px}

/* ============================================================
   EMERGENCY PAGE — red theatre, dispatch flow animation
   ============================================================ */
.emr-page{--accent:var(--red)}
.emr-hero{position:relative; padding:180px 0 90px; overflow:hidden; border-bottom:1px solid rgba(224,53,44,.4)}
.emr-hero .bg{position:absolute; inset:0; background:url('img/eden/proj-trees-2.jpg') center/cover; opacity:.85}
.emr-hero .veil{position:absolute; inset:0; background:linear-gradient(120deg, rgba(26,8,6,.96) 30%, rgba(26,8,6,.7) 70%, rgba(40,12,9,.55))}
.emr-hero::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 20%, rgba(224,53,44,.22), transparent 55%); pointer-events:none}
.emr-hero .wrap{position:relative; max-width:900px}
.emr-pill{display:inline-flex; align-items:center; gap:.6em; padding:.5em 1.1em; border-radius:999px; margin-bottom:20px;
  background:rgba(224,53,44,.18); border:1px solid rgba(224,53,44,.55); color:#ff8079; font-size:.74rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; animation:emrpulse 1.8s ease-in-out infinite}
.emr-pill .dot{width:9px; height:9px; border-radius:50%; background:var(--red); animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:.25}}
@keyframes emrpulse{50%{box-shadow:0 0 0 8px rgba(224,53,44,.05)}}
.emr-hero h1{font-size:clamp(2.4rem,5.4vw,4rem); margin-bottom:18px; max-width:18ch}
.emr-hero h1 em{color:#ff6b5e; font-style:italic}
.emr-hero p{color:rgba(241,236,223,.78); font-size:1.1rem; max-width:54ch; margin-bottom:14px}
.emr-call{display:inline-flex; align-items:center; gap:.6em; margin-top:18px; padding:1.05em 2.2em; border-radius:999px;
  background:var(--red); color:#fff; font-weight:700; font-size:1.05rem; text-decoration:none; box-shadow:0 22px 50px -16px rgba(224,53,44,.7);
  animation:callthrob 2.4s ease-in-out infinite}
.emr-call svg{width:20px; height:20px}
.emr-call:hover{background:#f04438; transform:translateY(-2px)}
@keyframes callthrob{0%,100%{box-shadow:0 22px 50px -16px rgba(224,53,44,.7)} 50%{box-shadow:0 22px 50px -16px rgba(224,53,44,.7), 0 0 0 12px rgba(224,53,44,.06)}}
.emr-callnum{display:block; margin-top:14px; font-family:'Fraunces',serif; font-style:italic; font-size:1.5rem; color:#fff}
.emr-callnum a{color:#fff}

/* the call → qualify → dispatch → relief flow */
.flow{background:#140706; border-top:1px solid rgba(224,53,44,.3); border-bottom:1px solid rgba(224,53,44,.3)}
.flow .wrap{padding:90px 28px}
.flow-track{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; margin-top:50px}
.flow-track::before{content:""; position:absolute; top:38px; left:11%; right:11%; height:2px;
  background:linear-gradient(90deg, rgba(224,53,44,.2), rgba(224,53,44,.6), rgba(224,53,44,.2)); z-index:0}
.flow-track .line-fill{position:absolute; top:38px; left:11%; height:2px; width:0; background:#ff6b5e; z-index:1;
  box-shadow:0 0 12px #ff6b5e; transition:width 2.6s ease}
.flow-step{position:relative; z-index:2; text-align:center; padding:0 16px}
.flow-icon{width:76px; height:76px; margin:0 auto 20px; border-radius:50%; display:grid; place-items:center;
  background:#1c0a08; border:2px solid rgba(224,53,44,.4); color:#ff8079; transition:all .5s}
.flow-icon svg{width:32px; height:32px}
.flow-step.lit .flow-icon{background:var(--red); border-color:#ff6b5e; color:#fff; transform:scale(1.08); box-shadow:0 0 0 8px rgba(224,53,44,.12), 0 0 30px rgba(224,53,44,.5)}
.flow-step .fnum{font-size:.66rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#ff8079; margin-bottom:8px}
.flow-step h3{font-size:1.3rem; margin-bottom:8px}
.flow-step p{font-size:.9rem; color:rgba(241,236,223,.62)}
@media(max-width:780px){ .flow-track{grid-template-columns:1fr; gap:34px} .flow-track::before,.flow-track .line-fill{display:none}
  .flow-step{display:grid; grid-template-columns:76px 1fr; gap:18px; text-align:left; align-items:center}
  .flow-icon{margin:0} }

/* fee callout */
.fee-card{display:flex; align-items:center; gap:28px; flex-wrap:wrap; justify-content:space-between;
  background:rgba(224,53,44,.08); border:1px solid rgba(224,53,44,.45); border-radius:var(--rad); padding:34px 38px}
.fee-card .amt{font-family:'Fraunces',serif; font-style:italic; font-size:3.4rem; color:#ff6b5e; line-height:1}
.fee-card .lbl{font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#ff8079; margin-bottom:6px}
.fee-card p{color:rgba(241,236,223,.72); font-size:.95rem; max-width:48ch}
@media(max-width:640px){ .fee-card{padding:26px} .fee-card .amt{font-size:2.6rem} }

/* siren divider */
.siren{height:4px; background:repeating-linear-gradient(90deg, var(--red) 0 28px, #140706 28px 56px); animation:siren 1.4s linear infinite}
@keyframes siren{to{background-position:56px 0}}
