@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;500;700&family=Lora:wght@600;700&display=swap');
:root{--cream:#FDFBF6;--sage:#EBF4EC;--ink:#333;--green:#6B8E7D;--line:#E0DCD4;--charcoal:#2B2B2B}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.7 Lato,Arial,sans-serif}h1,h2,h3{font-family:Lora,Georgia,serif;line-height:1.2;font-weight:600}h1{font-size:48px}h2{font-size:34px}h3{font-size:23px}a{color:var(--green);text-decoration:none}a:hover{color:#4f7162}img{width:100%;height:280px;object-fit:cover;display:block}.cookie-banner{display:none}.container{max-width:1200px;margin:auto;padding:0 24px}header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}.topbar{display:flex;justify-content:space-between;align-items:center;min-height:82px}.brand{font:700 28px Lora,serif;color:var(--charcoal)}nav{display:flex;gap:20px;align-items:center}nav a{font-size:15px;color:var(--ink)}.menu{display:none;background:none;border:0;font-size:28px}.hero{padding:90px 0;background:var(--cream)}.hero .hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--green);font-weight:700}.epigram{font:italic 22px/1.5 Lora,serif;color:#53665c;border-left:2px solid var(--green);padding-left:22px}.rule{height:1px;background:var(--line);margin-bottom:24px}section{padding:78px 0}.sage-band,.band{background:var(--sage)}.dark,.cta{background:var(--charcoal);color:#fff}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-2,.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:25px;transition:.2s}.card:hover{box-shadow:0 8px 20px #3331;transform:translateY(-3px)}.split img{height:420px;object-fit:cover}.hero img{height:420px;max-height:70vh}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{height:220px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.stat strong{display:block;font:700 42px Lora,serif;color:var(--green)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:15px;border:1px solid var(--line);text-align:left}blockquote{margin:0;padding:26px 30px;border-left:4px solid var(--green);background:#fff;font:italic 21px/1.5 Lora,serif}.timeline{display:grid;gap:18px}.timeline li{padding:18px 22px;background:#fff;border-left:3px solid var(--green);list-style:none}.button{display:inline-block;background:var(--green);color:#fff;padding:12px 20px;border-radius:4px;border:0;font:inherit;cursor:pointer}.button:hover{background:#4f7162;color:#fff}.tag{color:var(--green);font-size:13px;font-weight:700}.article-header{padding:70px 0 30px}.article-body{max-width:850px}.article-body h2{margin-top:50px}.article-body li{margin:8px 0}.callout{background:var(--sage);border-left:4px solid var(--green);padding:24px}.callout h2,.callout h3,.callout p{color:var(--ink)}.dark h2,.dark h3,.dark p,.dark li,.cta h2,.cta h3,.cta p{color:#fff}.dark .card,.dark .card *,.cta .card,.cta .card *{color:var(--ink)}.dark table th,.dark table td,.cta table th,.cta table td{color:var(--ink)}.dark blockquote,.cta blockquote{color:var(--ink)}.dark a,.cta a{color:#d7eadc}footer{background:var(--charcoal);color:#fff;padding:58px 0 28px}footer h3,footer p,footer li{color:#fff}footer ul{list-style:none;padding:0;margin:0}footer .footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:32px}footer a{color:#d7eadc;font-size:15px}.copyright{border-top:1px solid #ffffff33;margin-top:36px;padding-top:20px;font-size:14px}.cookie-banner{position:fixed!important;bottom:0;left:0;right:0;z-index:9999;background:#fff;color:#2c3e50;padding:1rem 1.25rem;border-top:1px solid rgba(0,0,0,.15);box-shadow:0 -4px 12px rgba(0,0,0,.08);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9rem}.cookie-banner p{margin:0;flex:1}.cookie-banner button{padding:.5rem 1rem;border-radius:4px;cursor:pointer;border:1px solid #2c3e50;background:#2c3e50;color:#fff;font:inherit;margin-right:.5rem}.cookie-banner button[data-cookie-reject]{background:transparent;color:#2c3e50}@media(max-width:800px){h1{font-size:38px}nav{display:none}.menu{display:block}.hero .hero-grid,.grid-2,.split{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr}footer .footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cookie-banner{left:0;right:0;bottom:0;max-width:none;border-radius:0}.container{padding:0 18px}section{padding:52px 0}}
.dark .callout,.dark .callout *,.cta .callout,.cta .callout *,.band .card,.band .card *,.sage-band .card,.sage-band .card *{color:var(--ink)}
.hero h1,.hero p{color:var(--ink)}
section:not(.dark):not(.cta) h2,section:not(.dark):not(.cta) h3,section:not(.dark):not(.cta) p,section:not(.dark):not(.cta) li{color:var(--ink)}
form{display:grid;gap:14px}input,textarea{font:inherit;padding:12px;border:1px solid var(--line);border-radius:4px;background:#fff}textarea{min-height:140px}
@media(max-width:600px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:600px){footer .footer-grid{grid-template-columns:1fr}}

/* editorial navigation */
.breadcrumb{font-size:14px;color:#65756c}.faq-item{border-bottom:1px solid var(--line);padding:20px 0}.faq-item h3{margin:0 0 8px}

.dark .card h2,.dark .card h3,.dark .card p,.dark .card li,.cta .card h2,.cta .card h3,.cta .card p,.cta .card li{color:var(--ink)}
.band h2,.band h3,.band p,.band li{color:var(--ink)}

@media(max-width:800px){.hero img{height:300px}.split img{height:300px}}

.footer-note{max-width:330px}

.hero .container{max-width:1200px}

ol,ul{padding-left:28px}

.article-body table{margin:26px 0}

.small{font-size:14px}

figure{margin:0}figcaption{font-size:14px;color:#65756c;padding-top:8px}

.contact-success{display:none;background:var(--sage);padding:16px;color:var(--ink)}

input:focus,textarea:focus{outline:2px solid var(--green);outline-offset:2px}

@media print{header,footer,.cookie-banner{display:none}body{font-size:14px}}

.dark .container > p,.cta .container > p{color:#fff}

hr{border:0;border-top:1px solid var(--line)}

.logo-mark{color:var(--green)}

.article-body blockquote{margin:30px 0}

.page-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.page-list a{padding:15px;background:#fff;border:1px solid var(--line)}
@media(max-width:600px){.page-list{grid-template-columns:1fr}}

/* ensure readable dark utility descendants */
.band h2,.band h3,.band p,.band li,.sage-band h2,.sage-band h3,.sage-band p,.sage-band li{color:var(--ink)}
.callout h2,.callout h3,.callout p,.callout li{color:var(--ink)}
.accent h2,.accent h3,.accent p,.accent li{color:#fff}
.accent .card,.accent .card *,.accent table th,.accent table td,.accent blockquote{color:var(--ink)}
.accent{background:var(--green);color:#fff}
.accent a{color:#fff}
.cta{color:#fff}

.article-body h1{font-size:46px}

@media(max-width:600px){.article-body h1{font-size:36px}}

.card img{margin:-25px -25px 20px;width:calc(100% + 50px);max-width:none}

.feature-image{height:250px}

@media(max-width:600px){.feature-image{height:220px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

nav a[aria-current="page"]{color:var(--green);font-weight:700}

.hero .epigram p{color:#53665c}

section + section{border-top:0}

@media(max-width:800px){.topbar{min-height:68px}}

.card h3{margin-top:0}

.cta .button{background:#d7eadc;color:#2b2b2b}

.dark .button{background:#d7eadc;color:#2b2b2b}

@media(max-width:600px){.cookie-banner p{flex-basis:100%}}
