@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&family=Open+Sans:wght@400;600;700&display=swap');
:root{--bg:#F8F9FA;--soft:#EFF2F5;--ink:#212529;--teal:#007B8C;--teal-dark:#005f6b;--bronze:#B8860B;--line:#E0E4E8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 'Open Sans',sans-serif}h1,h2,h3,h4{font-family:Montserrat,sans-serif;line-height:1.2;margin:0 0 1rem;color:var(--ink)}h1{font-size:clamp(2.2rem,5vw,42px)}h2{font-size:30px}h3{font-size:21px}p{margin:0 0 1rem}.container{width:min(1200px - 2rem,calc(100% - 2rem));max-width:1200px;margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:#EFF2F5;border-bottom:1px solid var(--line)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font:700 22px Montserrat;color:var(--teal);text-decoration:none;letter-spacing:.04em}.nav-links{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.nav-links a,.site-footer a{color:inherit;text-decoration:none}.nav-links a:hover,.site-footer a:hover{color:var(--teal)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:.5rem;border-radius:5px}.hero{padding:5rem 0;background:var(--bg)}.hero-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero .eyebrow,.eyebrow{color:var(--bronze);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.hero p{font-size:1.15rem;max-width:650px}.hero img{height:auto;aspect-ratio:4/3;max-height:520px;object-fit:cover;border-radius:6px}.button{display:inline-block;background:var(--teal);color:#fff!important;border-radius:5px;padding:.75rem 1.1rem;text-decoration:none;font-weight:700;border:1px solid var(--teal)}.button:hover{background:var(--teal-dark)}section{padding:4rem 0}.soft{background:var(--soft)}.dark,.band,.sage-band,.cta,.accent{background:var(--ink);color:#fff}.accent,.cta{background:var(--teal)}.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.25rem}.card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:1.5rem;box-shadow:0 5px 18px rgba(33,37,41,.06);transition:.2s}.card:hover{transform:translateY(-3px);border-color:var(--teal)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}.stat{padding:1.25rem;border-right:1px solid rgba(255,255,255,.25)}.stat strong{display:block;font:700 2.2rem Montserrat;color:var(--bronze)}.split img{height:420px;max-height:60vh;border-radius:6px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery img{height:220px}.timeline{display:grid;gap:1rem}.timeline article{border-left:4px solid var(--bronze);padding:0 0 1rem 1.25rem}.article-list{display:grid;gap:1rem}.article-list article{display:grid;grid-template-columns:180px 1fr;gap:1rem;align-items:start}.article-list img{height:140px}.quote-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}blockquote{margin:0;padding:1.5rem;border-left:4px solid var(--bronze);background:#fff;font-style:italic}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid var(--line);padding:.9rem;text-align:left}th{background:var(--soft)}.section-head{max-width:780px;margin-bottom:2rem}.site-footer{background:var(--ink);color:#fff;padding:3rem 0 1rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.site-footer h3{color:#fff}.site-footer p,.site-footer li{color:#fff}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.copyright{border-top:1px solid #495057;margin-top:2rem;padding-top:1rem;font-size:.9rem}
img{width:100%;height:280px;max-height:60vh;object-fit:cover;display:block}@media(max-width:800px){.nav-links{display:none}.menu-toggle{display:block}.hero-grid,.split,.grid-2{grid-template-columns:1fr}.grid-3,.quote-wall,.gallery{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.stat{border-right:0}.footer-grid{grid-template-columns:1fr}.article-list article{grid-template-columns:1fr}.hero{padding:3rem 0}}@media(max-width:600px){
.contact-form{max-width:none}}
.contact-form{display:grid;gap:1rem;max-width:720px}.contact-form label{font-weight:700}.contact-form input,.contact-form textarea{width:100%;padding:.8rem;border:1px solid var(--line);border-radius:5px;font:inherit}.notice{padding:1rem 1.25rem;border-left:4px solid var(--bronze);background:#fff}.policy h2{margin-top:2rem}.policy ol{padding-left:1.5rem}.policy li{margin-bottom:1.4rem}

/* Dark utility resets */
.dark h2,.dark h3,.dark p,.dark li,.band h2,.band h3,.band p,.band li,.sage-band h2,.sage-band h3,.sage-band p,.sage-band li,.callout h2,.callout h3,.callout p,.callout li,.hero h2,.hero h3,.hero p,.hero li,.cta h2,.cta h3,.cta p,.cta li,.accent h2,.accent h3,.accent p,.accent li{color:#fff}.dark .card,.dark .card *,.band .card,.band .card *,.sage-band .card,.sage-band .card *,.callout .card,.callout .card *,.hero .card,.hero .card *,.cta .card,.cta .card *,.accent .card,.accent .card *{background:#fff;color:#212529}.dark table th,.dark table td,.band table th,.band table td,.sage-band table th,.sage-band table td,.callout table th,.callout table td,.hero table th,.hero table td,.cta table th,.cta table td,.accent table th,.accent table td{color:#212529;background:#fff}.dark blockquote,.band blockquote,.sage-band blockquote,.callout blockquote,.hero blockquote,.cta blockquote,.accent blockquote{color:#212529;background:#fff}
.cookie-banner{position:fixed!important;bottom:0;left:0;right:0;z-index:9999;background:#fff;color:#212529;padding:1rem 1.25rem;border-top:1px solid #E0E4E8;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 .75rem 0 0}.cookie-banner button{padding:.5rem 1rem;border-radius:4px;cursor:pointer;border:1px solid #212529;background:#212529;color:#fff;font:inherit}.cookie-banner button[data-cookie-reject]{background:transparent;color:#212529}.cookie-banner.hidden{display:none!important}@media(max-width:600px){
.cookie-banner{left:0;right:0;bottom:0}}
