@import url('https://fonts.googleapis.com/css2?family=Lora:wght@600;700&family=Open+Sans:ital,wght@0,400;0,600;1,300&display=swap');
:root{--paper:#FDFBF8;--sand:#F5F0EC;--sage:#8A9A5B;--olive:#5A623F;--ink:#2C2C2C;--terra:#D27D68;--line:#E5E5E5}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 'Open Sans',sans-serif}
h1,h2,h3{font-family:Lora,serif;line-height:1.2;font-weight:600}
h1{font-size:clamp(42px,6vw,60px)}
h2{font-size:30px}
h3{font-size:22px}
a{color:var(--olive);text-decoration:none}
a:hover{color:var(--terra)}
header{position:sticky;top:0;z-index:20;background:rgba(253,251,248,.96);border-bottom:1px solid var(--line)}
.top{max-width:1200px;margin:auto;padding:1rem;display:flex;align-items:center;justify-content:space-between}
.logo{font:700 25px Lora;color:var(--olive)}
nav{display:flex;gap:1rem;flex-wrap:wrap;font-size:.92rem}
.menu{display:none}
.container{max-width:1200px;margin:auto;padding:4rem 1rem}
.hero{border-top:1px solid var(--terra);background:var(--sand)}
.hero-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero img{height:520px;max-height:80vh}
.split img{height:420px;max-height:60vh}
.eyebrow{color:var(--terra);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
.intro{font-style:italic;font-weight:300}
.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}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.5rem;box-shadow:0 4px 14px #E0E0E0;transition:.2s}
.card:hover{transform:translateY(-3px)}
.card img{height:220px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.stat strong{display:block;font:700 2.3rem Lora;color:var(--terra)}
.band,.dark,.callout,.cta{background:var(--olive);color:#fff}
.band h2,.band h3,.band p,.band li,.dark h2,.dark h3,.dark p,.dark li,.callout h2,.callout h3,.callout p,.callout li,.cta h2,.cta h3,.cta p,.cta li{color:#fff}
.dark .card,.dark .card *,.band .card,.band .card *,.callout .card,.callout .card *,.cta .card,.cta .card *{color:var(--ink)}
.dark table th,.dark table td,.band table th,.band table td,.callout table th,.callout table td,.cta table th,.cta table td,.dark blockquote,.band blockquote,.callout blockquote,.cta blockquote{color:var(--ink)}
.accent{background:var(--terra);color:#fff}
.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)}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:.8rem;border:1px solid var(--line);text-align:left}
blockquote{margin:0;padding:1.5rem;border-left:4px solid var(--terra);background:#fff;font-family:Lora;font-size:1.2rem}
.timeline{display:grid;gap:1rem}
.timeline div{padding:1rem 1.25rem;border-left:3px solid var(--sage);background:var(--sand)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery img{height:200px}
.toc{background:var(--sand);border-left:4px solid var(--sage)}
.btn{display:inline-block;background:var(--sage);color:#fff;padding:.7rem 1.1rem;border-radius:6px;font-weight:600}
.btn:hover{background:var(--olive);color:#fff}
.article-list{display:grid;gap:1rem}
.article-list article{display:grid;grid-template-columns:180px 1fr;gap:1.2rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.article-list img{height:130px}
.faq details{background:#fff;border-bottom:1px solid var(--line);padding:1rem}
.faq summary{font-weight:600;cursor:pointer}
footer{background:var(--olive);color:#fff}
footer .container{padding:3rem 1rem}
footer h3,footer p,footer a{color:#fff}
footer a{display:block;margin:.3rem 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.cookie-banner{display:none;position:fixed!important;bottom:0;left:0;right:0;z-index:9999;background:#fff;color:var(--ink);padding:1rem 1.25rem;border-top:1px solid #bbb;box-shadow:0 -4px 12px #0001;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9rem}
.cookie-banner.show{display:flex}
.cookie-banner p{margin:0;flex:1}
.cookie-banner button{padding:.5rem 1rem;border-radius:4px;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:#fff;font:inherit}
.cookie-banner button[data-cookie-reject]{background:transparent;color:var(--ink)}
img{width:100%;height:280px;max-height:60vh;object-fit:cover;display:block}
.legal h2{margin-top:2rem}
.form{display:grid;gap:1rem;max-width:700px}
.form input,.form textarea{padding:.8rem;border:1px solid var(--line);font:inherit}
.success{display:none;background:#e8f1dc;padding:1rem;border-left:4px solid var(--sage)}
@media(max-width:760px){.top{position:relative}
nav{display:none}
nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1rem;border-bottom:1px solid var(--line);gap:.75rem;z-index:30}
.menu{display:block}
.hero-grid,.split,.grid-2{grid-template-columns:1fr}
.grid-3,.gallery{grid-template-columns:1fr 1fr}
.stats{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr}
.article-list article{grid-template-columns:1fr}
.hero img{height:330px}
}
@media(max-width:600px){.cookie-banner{left:0;right:0;bottom:0;border-radius:0}
.grid-3,.gallery{grid-template-columns:1fr}
}
