@import url('https://fonts.googleapis.com/css2?family=Lora:wght@600;700&family=Open+Sans:wght@400;600;700&display=swap');
:root{--paper:#fdfdfd;--sand:#f8f7f4;--sage:#a3b899;--forest:#3c5940;--ink:#333;--line:#dfe6dc;--footer:#7f9c80}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 'Open Sans',sans-serif}a{color:var(--forest);text-decoration:none}a:hover{text-decoration:underline}
.container{width:min(1200px,calc(100% - 2rem));margin:0 auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(253,253,253,.98);border-bottom:1px solid var(--line)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font:700 28px 'Lora',serif;color:var(--forest);letter-spacing:.02em}
.nav{display:flex;gap:1.15rem;flex-wrap:wrap;justify-content:flex-end;font-size:.9rem}
.nav a{color:var(--ink)}h1,h2,h3{font-family:'Lora',serif;color:var(--forest);line-height:1.2}h1{font-size:clamp(2.3rem,5vw,3.5rem);margin:.4rem 0 1rem}h2{font-size:2rem;margin:0 0 1rem}h3{font-size:1.35rem;margin:.4rem 0 .7rem}
.eyebrow{color:var(--forest);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.hero{padding:4.5rem 0;background:var(--sand);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.hero-copy{border-top:1px solid var(--sage);padding-top:1rem}
.hero-quote{font-style:italic;font-size:1.1rem;margin:1.5rem 0}
.button{display:inline-block;background:var(--forest);color:#fff;border-radius:6px;padding:.7rem 1.15rem;font-weight:700;transition:.2s}
.button:hover{background:#29402d;text-decoration:none;transform:translateY(-1px)}section{padding:4rem 0}
.section-kicker{max-width:720px;margin-bottom:2rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.card{background:#fff;border:1px solid var(--line);padding:1.5rem;border-radius:4px;box-shadow:0 6px 20px rgba(60,89,64,.07)}
.sand{background:var(--sand)}
.band,.callout,.cta{background:var(--forest);color:#fff}
.band h2,.band h3,.band p,.band li,.callout h2,.callout h3,.callout p,.cta h2,.cta p{color:#fff}
.accent{border-top:4px solid var(--sage);background:#eef3eb}
.stats{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;text-align:center}
.stat{flex:1;min-width:150px}
.stat strong{display:block;font:700 2.7rem 'Lora',serif;color:var(--forest)}
.stat span{display:block}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.timeline .card{border-top:4px solid var(--sage)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery .tall{grid-row:span 2}
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.quote-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.quote-wall blockquote{margin:0;padding:1.5rem;border-left:3px solid var(--sage);background:#fff}
.faq{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.faq details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq summary{font-weight:700;color:var(--forest);cursor:pointer}
.toc{background:#eef3eb;padding:1.5rem;border-radius:4px}
.toc a{display:block;margin:.35rem 0}
.resource-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.resource-list .card{min-height:180px}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid var(--line);padding:.8rem;text-align:left;vertical-align:top}th{background:#eef3eb;color:var(--forest)}blockquote{font-family:'Lora',serif;font-size:1.25rem;color:var(--forest)}img{width:100%;height:280px;max-height:60vh;object-fit:cover;display:block;border-radius:4px;box-shadow:0 6px 18px rgba(51,51,51,.12)}
.hero img{height:430px;max-height:70vh}
.split img{height:420px;max-height:60vh}
.gallery img{height:220px}
.footer{background:var(--footer);color:#fff;padding:3rem 0}
.footer h3,.footer p,.footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:.35rem 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.4);margin-top:2rem;padding-top:1rem;font-size:.85rem}
.cookie-banner{position:fixed!important;bottom:0;left:0;right:0;z-index:9999;background:#fff;color:#333;padding:1rem 1.25rem;border-top:1px solid rgba(0,0,0,.15);box-shadow:0 -4px 12px rgba(0,0,0,.08);display:none;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9rem}
.cookie-banner.is-visible{display:flex}
.cookie-banner p{margin:0;flex:1}
.cookie-banner button{padding:.5rem 1rem;border-radius:4px;cursor:pointer;border:1px solid var(--forest);background:var(--forest);color:#fff;font:inherit}
.cookie-banner button[data-cookie-reject]{background:transparent;color:var(--forest)}
.form-grid{display:grid;gap:1rem;max-width:700px}
.form-grid label{font-weight:700;color:var(--forest)}
.form-grid input,.form-grid textarea{width:100%;padding:.8rem;border:1px solid var(--line);font:inherit}
.success{display:none;background:#eef3eb;padding:1rem;color:var(--forest)}@media(max-width:800px){.hero-grid,.split,.grid-2{grid-template-columns:1fr}
.grid-3,.articles,.quote-wall,.resource-list{grid-template-columns:1fr 1fr}
.timeline{grid-template-columns:1fr 1fr}
.gallery{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr 1fr}
.nav{gap:.6rem}}@media(max-width:560px){body{font-size:16px}
.header-inner{align-items:flex-start;padding:1rem 0;flex-direction:column}
.grid-3,.articles,.quote-wall,.resource-list,.faq,.timeline,.gallery,.footer-grid{grid-template-columns:1fr}
.hero{padding:3rem 0}
.cookie-banner{left:0;right:0;bottom:0;max-width:none;border-radius:0}}
.dark h2,.dark h3,.dark p,.dark li,.dark blockquote,.band h2,.band h3,.band p,.band li,.band blockquote,.callout h2,.callout h3,.callout p,.callout li,.callout blockquote,.cta h2,.cta h3,.cta p,.cta li,.cta blockquote,.accent h2,.accent h3,.accent p,.accent li{color:#fff}
.dark .card,.dark .card *,.dark table th,.dark table td,.dark blockquote,.band .card,.band .card *,.band table th,.band table td,.band blockquote,.callout .card,.callout .card *,.callout table th,.callout table td,.callout blockquote,.cta .card,.cta .card *,.cta table th,.cta table td,.cta blockquote{color:var(--ink)}
@media print{.site-header,.footer,.cookie-banner{display:none}}

.contact-form{margin-top:1rem}
.notice{border-left:4px solid var(--sage);padding:1rem 1.25rem;background:#eef3eb}
.legal h2{counter-increment:legal}
.legal{counter-reset:legal}
.legal h2:before{content:counter(legal) '. ';color:var(--sage)}
.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}

/* Dark utility safety */
.dark{background:var(--forest);color:#fff}
.band{background:var(--forest)}
.callout{background:var(--forest)}
.cta{background:var(--forest)}
.dark table th,.dark table td,.band table th,.band table td,.callout table th,.callout table td,.cta table th,.cta table td{background:#fff;color:var(--ink)}
.dark .card,.band .card,.callout .card,.cta .card{background:#fff}
/* Editorial pages */
.article-meta{color:var(--forest);font-size:.9rem;font-weight:700}
.lede{font-size:1.2rem;max-width:820px}
.article-body{max-width:860px}
.article-body p{margin:1rem 0}
.article-body ul{padding-left:1.4rem}
.article-body li{margin:.45rem 0}

/* Buttons remain readable */
.band .button,.callout .button,.cta .button{background:#fff;color:var(--forest)}

/* Form state */
.form-grid textarea{min-height:160px;resize:vertical}

/* Accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--sage);outline-offset:3px}

/* Footer links */
.footer a:hover{color:#fff;text-decoration:underline}

/* final responsive image safety */
@media(max-width:560px){img,.hero img,.split img,.gallery img{height:240px;max-height:55vh}
.hero img{height:300px}}

/* policy reading rhythm */
.legal p{max-width:900px}
.legal section{padding:2.5rem 0}
.legal h2{margin-top:0}

/* article tables */
.data-table{overflow-x:auto}

/* no decorative image stretching */
.feature-image{height:300px;max-height:55vh}

/* consistent buttons */
button.button{border:0;cursor:pointer;font:inherit}

/* editorial emphasis */
.dropcap:first-letter{font:700 3.6rem 'Lora',serif;color:var(--forest);float:left;line-height:.9;padding-right:.4rem}

/* page heading */
.page-head{padding:4rem 0 2rem;background:var(--sand)}
.page-head p{max-width:760px}

/* links in content */
.article-body a{text-decoration:underline}

/* cookie link */
.cookie-banner a{text-decoration:underline}

/* footer small print */
.footer small{color:#fff}

/* utility spacing */
.mt-2{margin-top:2rem}
.mb-2{margin-bottom:2rem}

/* preserve whitespace */
pre{white-space:pre-wrap}

/* no hidden content */
[hidden]{display:none!important}

/* End */
