:root{--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s40:40px;--s64:64px;--ink:#273d3a;--muted:#52635e;--paper:#fbfaf7;--sage:#e3eee5;--lavender:#eae5f2;--peach:#f5e5d9;--accent:#426952;--line:#cbd6ce;--white:#fff;--shadow:0 4px 24px #233d3510}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7}
h1,h2,h3,p{overflow-wrap:anywhere}
h1,h2,h3{line-height:1.15;letter-spacing:-.035em}
h1{font-size:clamp(2.35rem,5.5vw,4.6rem);margin:var(--s16) 0 var(--s24)}
h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 var(--s24)}
h3{font-size:1.4rem;margin:0 0 var(--s16)}
p{margin:0 0 var(--s24)}
a{color:var(--accent);text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
button,input,textarea{font:inherit}
button,a,input,textarea{touch-action:manipulation}
button{cursor:pointer}
:focus-visible{outline:3px solid #704493;outline-offset:4px}
[hidden]{display:none!important}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--s16)}
.skip{position:absolute;left:16px;top:8px;z-index:100;transform:translateY(-160%);padding:var(--s8) var(--s16);background:var(--white);color:var(--ink);border-radius:12px}
.skip:focus{transform:translateY(0)}
.site-header{height:52px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
.header-inner{height:100%;display:flex;align-items:center;gap:var(--s16)}
.brand{display:inline-flex;align-items:center;gap:var(--s8);color:var(--ink);font-size:15px;font-weight:750;text-decoration:none;white-space:nowrap;flex-shrink:0}
.brand svg{width:24px;height:24px;flex-shrink:0}
.menu-toggle{margin-left:auto;border:1px solid var(--line);border-radius:12px;padding:var(--s4) var(--s8);background:var(--white);color:var(--ink);font-size:14px;min-height:36px}
.site-nav{display:none}
.site-nav.is-open{display:flex;position:fixed;inset:52px 0 0;z-index:70;background:var(--paper);color:var(--ink);padding:var(--s24);flex-direction:column;align-items:flex-start;gap:var(--s24);overflow-y:auto}
.site-nav a{font-size:16px;color:var(--ink);overflow-wrap:anywhere;text-decoration:none}
.site-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.header-cta{display:none}
.button{display:inline-flex;justify-content:center;align-items:center;gap:var(--s8);padding:var(--s8) var(--s16);border:1px solid var(--accent);border-radius:100px;background:var(--accent);color:var(--white);text-decoration:none;font-weight:650;font-size:14px;min-height:44px}
.button:focus-visible{outline-color:#704493}
.button.secondary{background:var(--white);color:var(--ink);border-color:var(--line)}
main{padding:var(--s64) 0}
.hero{position:relative}
.eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:750;color:var(--accent);margin-bottom:var(--s16)}
.intro{max-width:780px;font-size:1.18rem;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s16);margin:var(--s24) 0 var(--s40)}
.lead{margin:var(--s40) 0 0}
.lead img{display:block;width:100%;height:auto;aspect-ratio:15/8;object-fit:cover;border-radius:24px;background:var(--sage);color:var(--ink);box-shadow:var(--shadow)}
figcaption{font-size:13px;color:var(--muted);margin-top:var(--s8)}
.section{margin-top:var(--s64)}
.section-heading{max-width:760px}
.event-list{display:grid;gap:var(--s40)}
.event{border-left:8px solid #9fbbac;padding:0 0 0 var(--s24)}
.event:nth-child(2){border-color:#b8a7c8}
.event:nth-child(3){border-color:#d9b49c}
.event:nth-child(4){border-color:#b5bf92}
.event:nth-child(5){border-color:#a2b7c9}
.event p{max-width:760px;margin-bottom:var(--s16)}
.event .eyebrow{margin-bottom:var(--s8)}
.event h3 a{color:var(--ink);text-decoration:none}
.event h3 a:hover{text-decoration:underline}
.facts{display:flex;flex-wrap:wrap;gap:var(--s12) var(--s24);margin-bottom:var(--s16);font-size:14px;color:var(--muted)}
.support{padding:var(--s24);border-radius:24px;background:var(--sage);color:var(--ink);box-shadow:var(--shadow)}
.support p:last-child{margin-bottom:0}
.article{max-width:820px;margin:0 auto}
.article section{margin-top:var(--s64)}
.article ul,.article ol{margin:0 0 var(--s24);padding-left:var(--s24)}
.article li{margin-bottom:var(--s8)}
.article .lead{margin-bottom:var(--s64)}
.backlink{display:inline-block;margin-bottom:var(--s24);font-size:14px}
.related{margin-top:var(--s64);padding-top:var(--s24);border-top:1px solid var(--line)}
.site-footer{border-top:1px solid var(--line);padding:var(--s40) 0;background:#edf1eb;color:var(--ink)}
.footer-grid{display:grid;gap:var(--s24)}
.footer-grid>*{min-width:0}
.site-footer p,.site-footer address{font-size:14px;margin:0 0 var(--s16);font-style:normal;overflow-wrap:anywhere}
.footer-links{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--s8) var(--s16)}
.footer-links a,.footer-links button{font-size:14px}
.text-button{border:0;background:transparent;color:var(--accent);padding:0;text-decoration:underline;text-underline-offset:.2em}
.independence{padding-top:var(--s24);border-top:1px solid var(--line);margin-top:var(--s24)!important}
.cookie-banner{position:fixed;z-index:90;bottom:0;left:0;right:0;padding:var(--s16);background:var(--white);color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -4px 24px #233d3512}
.cookie-inner{max-width:1168px;margin:0 auto;display:grid;gap:var(--s16)}
.cookie-copy p{font-size:14px;margin:0}
.cookie-actions{display:flex;flex-direction:column;gap:var(--s8)}
.cookie-actions button{width:100%}
.cookie-panel{grid-column:1/-1;padding:var(--s16);border-radius:16px;background:var(--sage);color:var(--ink)}
.cookie-panel p{font-size:14px;margin-bottom:var(--s16)}
.cookie-panel h2{font-size:1.25rem;margin-bottom:var(--s8)}
.contact-grid{display:grid;gap:var(--s40);margin-top:var(--s40)}
.contact-grid>*{min-width:0}
.contact-form{padding:var(--s24);border:1px solid var(--line);border-radius:24px;background:var(--white);color:var(--ink);box-shadow:var(--shadow)}
.field{margin-bottom:var(--s24)}
label{display:block;font-weight:650;margin-bottom:var(--s8)}
input,textarea{display:block;width:100%;min-width:0;border:1px solid #859b8e;border-radius:12px;padding:var(--s8) var(--s16);background:var(--white);color:var(--ink)}
textarea{min-height:180px;resize:vertical}
.is-invalid{border:2px solid #993c3c}
.form-note{font-size:14px;color:var(--muted)}
.form-status{margin-top:var(--s16);margin-bottom:0}
.static-map{position:relative;min-height:280px;display:flex;align-items:flex-end;padding:var(--s24);border:1px solid var(--line);border-radius:24px;background:linear-gradient(25deg,transparent 42%,#c4dcd9 42%,#c4dcd9 53%,transparent 53%),repeating-linear-gradient(90deg,transparent 0 60px,#fbfaf7 60px 72px),repeating-linear-gradient(0deg,#dce7da 0 48px,#fbfaf7 48px 60px);color:var(--ink)}
.map-label{padding:var(--s16);border-radius:16px;background:var(--white);color:var(--ink);box-shadow:var(--shadow)}
.map-label p{margin:0;font-size:14px}
.table-wrap{overflow-x:auto;margin-bottom:var(--s24)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;vertical-align:top;padding:var(--s16);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
th{background:var(--sage);color:var(--ink)}
@media(min-width:400px){.wrap{padding:0 var(--s24)}}
@media(min-width:480px){.cookie-actions{flex-direction:row;flex-wrap:wrap}.cookie-actions button{width:auto;flex:1 1 auto}}
@media(min-width:768px){.cookie-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center}.cookie-copy,.cookie-actions{min-width:0}.cookie-actions{justify-content:flex-end}.cookie-actions button{flex:0 1 auto}.footer-grid{grid-template-columns:1.2fr 1fr}.contact-grid{grid-template-columns:1.1fr 1fr}.support{padding:var(--s40)}}
@media(min-width:1024px){.site-header{height:64px}.menu-toggle{display:none}.site-nav{display:flex;align-items:center;justify-content:center;gap:var(--s16);flex:1;min-width:0}.site-nav a{font-size:13px;white-space:nowrap}.site-nav .mobile-cta{display:none}.header-cta{display:inline-flex;flex-shrink:0}.brand{flex-shrink:0;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}