/*
Theme Name: Eden Support Services
Theme URI: https://edensupportservice.com.au
Author: Eden Support Services
Author URI: https://edensupportservice.com.au
Description: Multi-page NDIS provider theme for Eden Support Services (Flagstone, QLD). Each service has its own indexable page, plus About, Residential Care, Contact and a Blog, with breadcrumbs and schema.org structured data built in for SEO.
Version: 3.23
License: Unlicense
Text Domain: eden-support
*/

:root{
  --olive-dark:#3f4f1c;
  --olive:#6b8e3d;
  --olive-mid:#8aa563;
  --olive-light:#dbe6c3;
  --cream:#faf7ee;
  --cream-deep:#f0ead4;
  --white:#ffffff;
  --ink:#2c2e1c;
  --ink-soft:#5c5f45;
  --gold:#b8934a;
  --border:#e6dfc4;
  --radius:22px;
  --shadow:0 20px 50px rgba(63,79,28,.14);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.7;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Fraunces','Georgia',serif;color:var(--olive-dark);margin:0 0 .4em;line-height:1.12;font-weight:600;}
p{margin:0 0 1em;color:var(--ink-soft);}
a{color:inherit;}
img{display:block;max-width:100%;}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
section{position:relative;}

/* decorative leaf blobs */
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;pointer-events:none;z-index:0;}

/* SIDE DOT NAV (home page only) */
.dotnav{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:14px;}
.dotnav a{width:10px;height:10px;border-radius:50%;background:var(--olive-light);border:2px solid var(--olive);display:block;transition:.25s;}
.dotnav a.active,.dotnav a:hover{background:var(--olive-dark);transform:scale(1.3);}
@media (max-width:900px){.dotnav{display:none;}}

/* TOPBAR */
.topbar{background:var(--olive-dark);color:#f4f1e2;font-size:.82rem;padding:8px 0;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.topbar a{color:#f4f1e2;text-decoration:none;font-weight:600;}
.topbar .sep{opacity:.5;margin:0 10px;}

header.site{background:rgba(250,247,238,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand img{height:52px;width:auto;object-fit:contain;}
.brand-text{font-family:'Fraunces',serif;font-weight:600;font-size:1.25rem;color:var(--olive-dark);}
nav.links{display:flex;gap:26px;}
nav.links a{font-weight:700;font-size:.93rem;text-decoration:none;color:var(--ink-soft);position:relative;padding:4px 0;}
nav.links a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--olive);transition:.25s;}
nav.links a:hover::after,nav.links a.current::after{width:100%;}
nav.links a:hover,nav.links a.current{color:var(--olive-dark);}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:999px;font-weight:800;font-size:.9rem;text-decoration:none;transition:.2s;border:2px solid transparent;white-space:nowrap;}
.btn-primary{background:var(--olive-dark);color:#fff;}
.btn-primary:hover{background:var(--olive);transform:translateY(-2px);}
.btn-outline{border-color:var(--olive-dark);color:var(--olive-dark);}
.btn-outline:hover{background:var(--olive-dark);color:#fff;}
.btn-light{background:#fff;color:var(--olive-dark);}
.mobile-toggle{display:none;background:none;border:none;font-size:1.7rem;color:var(--olive-dark);cursor:pointer;}
#mobileMenu{display:none;flex-direction:column;background:var(--white);border-top:1px solid var(--border);padding:8px 32px 18px;}
#mobileMenu.open{display:flex;}
#mobileMenu a{padding:12px 2px;text-decoration:none;color:var(--ink);font-weight:700;border-bottom:1px solid var(--border);}
@media (max-width:940px){ nav.links,.nav-cta{display:none;} .mobile-toggle{display:block;} }

/* HERO (home) */
.hero{padding:70px 0 0;overflow:hidden;}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-bottom:60px;}
.hero h1{font-size:3.2rem;max-width:600px;}
.hero h1 em{font-style:normal;color:var(--olive);}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.tiny-badge{background:var(--olive-light);color:var(--olive-dark);font-weight:800;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;border-radius:999px;}
.hero-actions{display:flex;gap:16px;margin-top:30px;flex-wrap:wrap;}
.hero-visual{position:relative;}
.hero-visual .frame{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(1.4deg);position:relative;z-index:2;}
.hero-visual .frame img{width:100%;}
.float-card{position:absolute;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:16px 20px;z-index:3;display:flex;align-items:center;gap:12px;font-weight:800;font-size:.85rem;color:var(--olive-dark);}
.float-card.c1{bottom:-22px;left:-30px;}
.float-card.c2{top:-20px;right:-24px;}
.float-card .dot{width:34px;height:34px;border-radius:10px;background:var(--olive-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;}
@media (max-width:940px){.hero-inner{grid-template-columns:1fr;} .hero h1{font-size:2.2rem;} .float-card{display:none;}}

.marquee-strip{background:var(--olive-dark);padding:16px 0;overflow:hidden;white-space:nowrap;}
.marquee-track{display:inline-flex;gap:60px;animation:scroll 26s linear infinite;}
.marquee-track span{color:#f4f1e2;font-weight:800;font-size:.9rem;letter-spacing:.03em;text-transform:uppercase;opacity:.9;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* INNER PAGE HERO (About / Residential Care / Contact / Service / Blog) */
.page-hero{padding:56px 0 46px;background:var(--cream-deep);border-bottom:1px solid var(--border);}
.page-hero h1{font-size:2.5rem;max-width:760px;margin-bottom:.3em;}
.page-hero p.lede{font-size:1.08rem;max-width:680px;color:var(--ink-soft);margin:0;}
.page-hero .kicker{margin-bottom:12px;}

/* BREADCRUMBS */
.breadcrumbs{font-size:.82rem;font-weight:700;color:var(--ink-soft);margin-bottom:14px;}
.breadcrumbs a{color:var(--olive-dark);text-decoration:none;}
.breadcrumbs a:hover{text-decoration:underline;}
.breadcrumbs .sep{margin:0 6px;color:var(--olive-mid);}

/* ABOUT split */
.about{padding:110px 0;}
.about-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center;}
.about-photo{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);}
.kicker{display:inline-block;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.78rem;color:var(--gold);margin-bottom:14px;}
.about h2{font-size:2.4rem;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;}
.stat-box{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px;text-align:center;}
.stat-box b{display:block;font-family:'Fraunces',serif;font-size:1.6rem;color:var(--olive-dark);}
.stat-box span{font-size:.78rem;font-weight:700;color:var(--ink-soft);}
@media (max-width:940px){.about-inner{grid-template-columns:1fr;}}

/* SERVICES zig-zag (kept for single-service page) */
.services{padding:110px 0;background:var(--white);}
.section-head{max-width:700px;margin:0 auto 60px;text-align:center;}
.section-head h2{font-size:2.4rem;}
.zigzag{display:grid;gap:70px;}
.zrow{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.zrow.rev .z-copy{order:2;}
.z-num{font-family:'Fraunces',serif;font-size:4.2rem;color:var(--olive-light);font-weight:700;line-height:1;margin-bottom:6px;}
.z-copy h2,.z-copy h3{font-size:1.7rem;}
.z-copy ul{margin:16px 0 0;padding-left:20px;color:var(--ink-soft);}
.z-copy ul li{margin-bottom:8px;}
.z-visual{border-radius:24px;background:var(--cream-deep);border:1px solid var(--border);padding:40px;display:flex;align-items:center;justify-content:center;min-height:220px;}
.z-visual .icon-huge{font-size:5rem;}
.z-visual.has-photo{padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.z-visual.has-photo img{width:100%;height:100%;min-height:260px;object-fit:contain;}
@media (max-width:900px){.zrow,.zrow.rev .z-copy{grid-template-columns:1fr;order:0;}}

/* SERVICE CARD GRID (home teaser + archive) */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:26px 22px;text-decoration:none;display:block;transition:.2s;box-shadow:0 1px 0 rgba(0,0,0,0);}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--olive-mid);}
.service-card .sc-num{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--olive-light);margin-bottom:8px;}
.service-card h3{font-size:1.15rem;margin-bottom:8px;}
.service-card p{font-size:.9rem;margin-bottom:0;}
.service-card .sc-more{display:inline-block;margin-top:12px;font-weight:800;font-size:.82rem;color:var(--olive-dark);}
@media (max-width:1080px){.service-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.service-grid{grid-template-columns:1fr;}}

/* SINGLE SERVICE PAGE */
.service-single-hero{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:40px;background:var(--cream-deep);display:flex;align-items:center;justify-content:center;}
.service-single-hero img{width:auto;max-width:100%;max-height:600px;object-fit:contain;display:block;margin:0 auto;}
@media (max-width:700px){.service-single-hero img{max-height:420px;}}
.service-body{max-width:780px;}
.service-body h2{font-size:1.7rem;margin-top:1.4em;}
.service-body ul{padding-left:20px;}
.service-body ul li{margin-bottom:8px;color:var(--ink-soft);}
.service-cta-box{background:var(--olive-light);border-radius:20px;padding:28px;margin-top:40px;}
.service-cta-box h3{margin-bottom:10px;}
.related-services{margin-top:60px;padding-top:40px;border-top:1px solid var(--border);}
.related-services h2{font-size:1.5rem;margin-bottom:24px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:900px){.related-grid{grid-template-columns:1fr;}}

/* RESIDENTIAL CARE */
.oohc{background:radial-gradient(circle at 20% 20%, #547028, var(--olive-dark) 60%);color:#fff;padding:120px 0;position:relative;overflow:hidden;}
.oohc h2,.oohc h3,.oohc h4{color:#fff;}
.oohc .kicker{color:#e9dfa8;}
.oohc p{color:rgba(255,255,255,.9);}
.oohc-top{max-width:820px;margin:0 auto 56px;text-align:center;}
.oohc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:60px;}
.oohc-mini{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:22px 18px;text-align:center;}
.oohc-mini .ico{font-size:1.8rem;margin-bottom:10px;}
.oohc-mini h4{font-size:.95rem;margin-bottom:6px;}
.oohc-mini p{font-size:.82rem;color:rgba(255,255,255,.8);margin:0;}
.oohc-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
.oohc-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:30px;}
.oohc-panel ul{margin:0;padding-left:20px;}
.oohc-panel li{margin-bottom:12px;}
.oohc-note{margin-top:24px;padding:18px 22px;background:rgba(255,255,255,.12);border-left:4px solid var(--gold);border-radius:12px;font-size:.9rem;}
@media (max-width:960px){.oohc-cards{grid-template-columns:repeat(2,1fr);} .oohc-detail{grid-template-columns:1fr;}}
.oohc-photo{border-radius:24px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);margin:0 0 56px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.oohc-photo img{width:auto;max-width:100%;max-height:600px;object-fit:contain;display:block;margin:0 auto;}
@media (max-width:700px){.oohc-photo img{max-height:420px;}}

/* PROCESS timeline */
.process{padding:110px 0;background:var(--cream);}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.timeline::before{content:"";position:absolute;top:22px;left:12%;right:12%;height:2px;background:var(--olive-light);z-index:0;}
.tnode{position:relative;z-index:1;text-align:center;padding:0 14px;}
.tnode .circ{width:46px;height:46px;border-radius:50%;background:var(--white);border:3px solid var(--olive);color:var(--olive-dark);display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 18px;}
@media (max-width:900px){.timeline{grid-template-columns:1fr 1fr;gap:36px;}.timeline::before{display:none;}}

/* TRUST */
.trust{padding:60px 0;background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;}
.trust-chip{background:var(--cream-deep);border:1px solid var(--border);border-radius:14px;padding:16px 22px;font-weight:800;font-size:.88rem;color:var(--olive-dark);display:flex;align-items:center;gap:10px;}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card{background:var(--white);border:1px solid var(--border);border-radius:20px;overflow:hidden;text-decoration:none;display:block;transition:.2s;}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.blog-card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--cream-deep);}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover;}
.blog-card .bc-body{padding:20px;}
.blog-card .bc-date{font-size:.78rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;}
.blog-card h3{font-size:1.1rem;margin:.4em 0;}
.blog-card p{font-size:.88rem;margin:0;}
@media (max-width:1080px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr;}}

.single-post-body{max-width:760px;margin:0 auto;}
.single-post-body img{border-radius:16px;margin:1.2em 0;}
.single-post-body h2{font-size:1.6rem;margin-top:1.4em;}
.post-meta{font-size:.85rem;font-weight:700;color:var(--ink-soft);margin-bottom:30px;}
.pagination-nav{display:flex;justify-content:space-between;margin-top:50px;gap:16px;flex-wrap:wrap;}

/* CONTACT */
.contact{padding:110px 0;}
.contact-card{background:linear-gradient(135deg,var(--olive-dark),var(--olive));border-radius:32px;padding:64px;color:#fff;position:relative;overflow:hidden;}
.contact-card h2{color:#fff;font-size:2.3rem;}
.contact-card p{color:rgba(255,255,255,.9);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;position:relative;z-index:1;}
.cinfo-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:18px;}
.cinfo-list li{display:flex;gap:14px;align-items:flex-start;}
.cinfo-list .ico{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.cinfo-list a{color:#fff;font-weight:800;text-decoration:none;}
form.enquiry{display:grid;gap:14px;background:rgba(255,255,255,.1);padding:26px;border-radius:20px;border:1px solid rgba(255,255,255,.25);}
form.enquiry label{font-size:.8rem;font-weight:800;color:rgba(255,255,255,.85);margin-bottom:4px;display:block;}
form.enquiry input,form.enquiry select,form.enquiry textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.95);color:var(--ink);font-family:inherit;font-size:.92rem;}
form.enquiry textarea{min-height:90px;resize:vertical;}
.hp-field{position:absolute !important;left:-9999px !important;top:auto;width:1px;height:1px;overflow:hidden;}
.enquiry-notice{grid-column:1/-1;padding:14px 18px;border-radius:12px;font-weight:700;font-size:.92rem;margin-bottom:14px;}
.enquiry-notice-success{background:rgba(255,255,255,.92);color:#2f4a2f;}
.enquiry-notice-error{background:#fff1ef;color:#8a2c1f;}
@media (max-width:940px){.contact-card{padding:38px 24px;}.contact-grid{grid-template-columns:1fr;}}

/* CONTACT PAGE (non-gradient variant, plain card on cream bg) */
.contact-page-card{background:var(--white);border:1px solid var(--border);}
.contact-page-card h2,.contact-page-card p{color:var(--ink-soft);}
.contact-page-card h2{color:var(--olive-dark);}
.contact-page-card .cinfo-list a{color:var(--olive-dark);}
.contact-page-card .ico{background:var(--olive-light);color:var(--olive-dark);}
.contact-page-card form.enquiry{background:var(--cream-deep);border-color:var(--border);}
.contact-page-card form.enquiry label{color:var(--ink-soft);}
.contact-page-card form.enquiry input,.contact-page-card form.enquiry select,.contact-page-card form.enquiry textarea{background:#fff;border-color:var(--border);}

/* 404 */
.error-404-wrap{padding:140px 0;text-align:center;}
.error-404-wrap h1{font-size:5rem;}

footer.site-footer{background:#2c3714;color:rgba(255,255,255,.8);padding:60px 0 26px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:40px;}
footer h4{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-family:'Manrope',sans-serif;font-weight:800;}
footer a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.9rem;}
footer a:hover{color:#fff;}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.footer-brand img{height:40px;width:auto;background:#fff;padding:6px 10px;border-radius:8px;}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:rgba(255,255,255,.55);}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;} .oohc-cards{grid-template-columns:1fr;}}

/* ===== v3.16 — Multicap-style homepage (Eden colours unchanged) ===== */
.btn-ghost{border-color:rgba(255,255,255,.85);color:#fff;}
.btn-ghost:hover{background:#fff;color:var(--olive-dark);}

/* Full-width video hero */
.vhero{position:relative;min-height:clamp(520px,82vh,780px);display:flex;align-items:center;overflow:hidden;background:var(--olive-dark);}
.vhero-media{position:absolute;inset:0;z-index:0;}
.vhero-video,.vhero-poster{width:100%;height:100%;object-fit:cover;display:block;}
.vhero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,46,28,.82) 0%,rgba(63,79,28,.6) 45%,rgba(63,79,28,.15) 100%);}
.vhero-content{position:relative;z-index:1;padding-top:80px;padding-bottom:80px;width:100%;}
.vhero-content .kicker{color:#e9dfa8;}
.vhero h1{color:#fff;font-size:3.4rem;max-width:680px;}
.vhero h1 em{font-style:normal;color:var(--olive-light);}
.vhero p{color:rgba(255,255,255,.92);font-size:1.12rem;max-width:560px;}
.vhero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.vhero-toggle{position:absolute;right:32px;bottom:28px;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:rgba(0,0,0,.25);color:#fff;font-size:.8rem;cursor:pointer;}
.vhero-toggle:hover{background:rgba(0,0,0,.45);}
@media (max-width:760px){.vhero h1{font-size:2.3rem;} .vhero-shade{background:rgba(44,46,28,.72);} .vhero-toggle{right:16px;bottom:16px;}}
@media (prefers-reduced-motion:reduce){.vhero-video{display:none;} .vhero-media{background:url('images/hero-video-poster.jpg') center/cover no-repeat;}}

/* Services photo grid */
.services{padding:100px 0;}
.photo-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.psc{background:var(--white);border:1px solid var(--border);border-radius:20px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:.2s;}
.psc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--olive-mid);}
.psc-img{position:relative;aspect-ratio:4/3;background:var(--cream-deep);overflow:hidden;}
.psc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.psc-body{padding:18px 20px 22px;}
.psc-body h3{font-size:1.12rem;margin-bottom:6px;}
.psc .sc-more{font-weight:800;font-size:.82rem;color:var(--olive-dark);}
@media (max-width:1080px){.photo-service-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.photo-service-grid{grid-template-columns:1fr;}}

/* Switch band */
.switch-band{background:var(--olive);color:#fff;padding:80px 0;}
.switch-band h2{color:#fff;font-size:2.3rem;}
.switch-band p{color:rgba(255,255,255,.92);max-width:560px;}
.switch-band .kicker{color:#f4ecc6;}
.switch-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;}
.switch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:900px){.switch-inner{grid-template-columns:1fr;}}

/* Our story */
.story{padding:100px 0;}
.story-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;}
.story-photo{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:var(--cream-deep);}
.story-photo img{width:100%;height:auto;max-height:560px;object-fit:contain;margin:0 auto;}
.story h2{font-size:2.4rem;}
@media (max-width:900px){.story-inner{grid-template-columns:1fr;}}

/* The Eden difference */
.difference{padding:100px 0;background:var(--cream-deep);}
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.diff-card{background:var(--white);border-radius:20px;padding:28px 24px;text-decoration:none;border:1px solid var(--border);transition:.2s;display:block;}
.diff-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.diff-card .ico{font-size:2rem;margin-bottom:12px;}
.diff-card h3{font-size:1.15rem;}
.diff-card p{font-size:.9rem;}
.diff-card .sc-more{font-weight:800;font-size:.82rem;color:var(--olive-dark);}
@media (max-width:1080px){.diff-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.diff-grid{grid-template-columns:1fr;}}
.loc-block{margin-top:56px;text-align:center;}
.loc-block h3{font-size:1.4rem;margin-bottom:18px;}
.loc-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.loc-pills a{padding:9px 18px;border-radius:999px;background:var(--white);border:1px solid var(--olive-mid);color:var(--olive-dark);font-weight:700;font-size:.86rem;text-decoration:none;transition:.2s;}
.loc-pills a:hover{background:var(--olive-dark);color:#fff;}

/* v3.17 — 7 services: centre the last row of cards */
.photo-service-grid{display:flex;flex-wrap:wrap;justify-content:center;}
.photo-service-grid .psc{flex:0 1 calc((100% - 66px)/4);}
@media (max-width:1080px){.photo-service-grid .psc{flex-basis:calc((100% - 22px)/2);}}
@media (max-width:560px){.photo-service-grid .psc{flex-basis:100%;}}

/* ===== v3.20 — contact on every page, referral, NDIS logo, mobile ===== */
.topbar .tb-contact a{white-space:nowrap;}
.mobile-ref{display:none;padding:9px 16px;font-size:.82rem;}
#mobileMenu .mm-ref{color:var(--olive-dark);font-weight:800;}

/* NDIS logo badge (homepage hero) */
.ndis-badge{display:inline-flex;margin-top:26px;background:#fff;border-radius:14px;padding:8px 14px;box-shadow:0 6px 20px rgba(0,0,0,.18);}
.ndis-badge img{height:56px;width:auto;display:block;}

/* Service / location CTA buttons side by side */
.service-cta-box .btn{margin:6px 8px 0 0;}

/* Contact + referral band on every page */
.cta-band{background:var(--olive-dark);color:#fff;padding:44px 0;}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.cta-band h2{color:#fff;font-size:1.7rem;margin-bottom:6px;}
.cta-band p{color:rgba(255,255,255,.85);margin:0;}
.cta-band-contact{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.cta-line{color:#fff;font-weight:800;text-decoration:none;font-size:1rem;display:inline-flex;gap:8px;align-items:center;}
.cta-line:hover{text-decoration:underline;}

/* Referral page + form */
.referral-section{padding:30px 0 90px;}
.referral-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start;}
.referral-card{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:34px;box-shadow:var(--shadow);scroll-margin-top:110px;}
.referral-card{position:relative;} .referral-card:target{outline:none;}
.referral-aside{background:var(--cream-deep);border-radius:24px;padding:30px;position:sticky;top:110px;}
.referral-aside h2{font-size:1.4rem;}
.referral-aside .cinfo-list a{color:var(--olive-dark);}
.referral-aside .cinfo-list .ico{background:var(--white);}
.referral-form fieldset{border:0;padding:0;margin:0 0 26px;}
.referral-form legend{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:600;color:var(--olive-dark);margin-bottom:12px;}
.rf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.rf-full{grid-column:1/-1;}
.referral-form label{font-size:.82rem;font-weight:800;color:var(--ink-soft);display:block;margin-bottom:5px;}
.referral-form input[type=text],.referral-form input[type=tel],.referral-form input[type=email],.referral-form select,.referral-form textarea{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit;font-size:16px;color:var(--ink);}
.referral-form input:focus,.referral-form select:focus,.referral-form textarea:focus{outline:2px solid var(--olive);outline-offset:1px;border-color:var(--olive);}
.referral-form textarea{min-height:110px;resize:vertical;}
.rf-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;}
.referral-form .rf-check{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:.92rem;color:var(--ink);margin:0;padding:8px 0;cursor:pointer;}
.rf-check input{width:20px;height:20px;flex:0 0 20px;margin-top:1px;accent-color:var(--olive-dark);}
.rf-consent{background:var(--cream);border:1px solid var(--border);border-radius:12px;padding:14px !important;margin-bottom:18px !important;}
.rf-hint{font-size:.85rem;color:var(--ink-soft);margin:6px 0 12px;}
.rf-hint a{color:var(--olive-dark);font-weight:800;}
.rf-submit{font-size:1rem;padding:15px 30px;}
.referral-section .enquiry-notice-success{background:var(--olive-light);}

/* Sticky Call / Email / Refer bar — phones & tablets, every page */
.mobile-actions{display:none;}
@media (max-width:940px){
  .mobile-ref{display:inline-flex;margin-left:auto;margin-right:10px;}
  .mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--olive-dark);box-shadow:0 -6px 20px rgba(0,0,0,.18);padding-bottom:env(safe-area-inset-bottom);}
  .mobile-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;color:#fff;text-decoration:none;font-weight:800;font-size:.8rem;border-right:1px solid rgba(255,255,255,.15);}
  .mobile-actions a:last-child{border-right:0;}
  .mobile-actions span{font-size:1.15rem;line-height:1;}
  .mobile-actions .ma-ref{background:var(--olive);}
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom));}
  .referral-layout{grid-template-columns:1fr;}
  .referral-aside{position:static;}
}
@media (max-width:700px){
  .topbar{padding:7px 0;}
  .topbar .wrap{justify-content:center;padding:0 16px;}
  .topbar .tb-tag{display:none;}
  .topbar .tb-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:.8rem;}
  .topbar .sep{display:none;}
  .wrap{padding:0 18px;}
  .brand-text{display:none;}
  .brand img{height:44px;}
  .nav{padding:10px 0;}
  .vhero{min-height:auto;}
  .vhero-content{padding-top:56px;padding-bottom:64px;}
  .vhero h1{font-size:2.05rem;}
  .vhero p{font-size:1rem;}
  .vhero-actions{flex-direction:column;align-items:stretch;}
  .vhero-actions .btn{justify-content:center;}
  .services,.story,.difference{padding:64px 0;}
  .section-head{margin-bottom:36px;}
  .section-head h2,.story h2,.switch-band h2{font-size:1.8rem;}
  .switch-band{padding:56px 0;}
  .switch-stats{gap:10px;}
  .switch-stats .stat-box{padding:14px 6px;}
  .cta-band{padding:36px 0;}
  .cta-band-contact{flex-direction:column;align-items:flex-start;gap:12px;width:100%;}
  .cta-band-contact .btn{width:100%;justify-content:center;}
  .referral-card{padding:22px 18px;border-radius:18px;}
  .rf-grid,.rf-checks{grid-template-columns:1fr;}
  .rf-submit{width:100%;justify-content:center;}
  .service-cta-box .btn{width:100%;justify-content:center;margin:8px 0 0;}
  .contact-card{border-radius:22px;}
  .loc-pills a{font-size:.8rem;padding:8px 14px;}
}
.referral-layout>*{min-width:0;}
.cinfo-list a,.cta-line,.topbar a{overflow-wrap:anywhere;}
@media (max-width:940px){.referral-layout{grid-template-columns:minmax(0,1fr);}}
@media (max-width:700px){.vhero-actions a[href="#services"],.vhero-actions a[href*="residential-care"]{display:none;}}
.referral-contact{padding:60px 0 90px;}
@media (max-width:700px){.referral-contact{padding:28px 0 60px;}}
