:root{--bg:#f0f0f0;--ink:#111;--muted:#444;--green:#00bb76;--green-dark:#00915c;--footer:#1d1d1d;--max:1200px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.15rem/1.65 "Jost",system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-dark)}a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:"Libre Baskerville",Georgia,serif;font-weight:700;line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.5vw,3.3rem)}h2{font-size:clamp(1.7rem,3.6vw,2.7rem)}h3{font-size:1.6rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px;z-index:9}
/* header */
header.site{padding:28px 0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{width:260px}
nav.main{display:flex;align-items:center;gap:28px}
nav.main>a,nav.main summary{color:var(--ink);text-decoration:none;cursor:pointer;font-size:1.1rem}
nav.main>a:hover,nav.main summary:hover,nav.main a[aria-current]{text-decoration:underline;text-underline-offset:5px}
nav.main details{position:relative}
nav.main summary{list-style:none}nav.main summary::-webkit-details-marker{display:none}
nav.main details .menu{position:absolute;top:2.2em;left:-16px;background:#fff;min-width:240px;padding:10px 0;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:5}
nav.main details .menu a{display:block;padding:8px 18px;color:var(--ink);text-decoration:none}
nav.main details .menu a:hover{background:var(--bg)}
.btn{display:inline-block;background:var(--green);color:#fff!important;font-family:"Libre Baskerville",Georgia,serif;font-weight:700;font-size:1rem;letter-spacing:.02em;padding:16px 28px;text-decoration:none!important;border:0;border-radius:0}
.btn:hover{background:var(--green-dark)}
#navtoggle,.burger{display:none}
@media (max-width:900px){
 .burger{display:block;cursor:pointer;font-size:2rem;line-height:1;user-select:none}
 nav.main{display:none;position:absolute;left:0;right:0;top:100px;background:var(--bg);flex-direction:column;align-items:flex-start;padding:16px 24px 28px;gap:14px;z-index:10;box-shadow:0 12px 20px rgba(0,0,0,.08)}
 #navtoggle:checked~nav.main{display:flex}
 header.site{position:relative}.logo img{width:200px}
 nav.main details .menu{position:static;box-shadow:none;background:transparent;padding:4px 0 0 14px}
}
/* content */
main{padding-bottom:72px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:48px 0}
@media (max-width:800px){.split{grid-template-columns:1fr;gap:28px;padding:24px 0}.split>img{max-height:340px!important;width:100%;object-fit:cover}}
.prose{max-width:820px}
.prose p{margin:0 0 1.1em}
.prose a{word-break:break-word}
.lead{font-size:1.3rem}
.arrow{font-family:"Libre Baskerville",Georgia,serif;font-weight:700;font-size:1.25rem;color:var(--ink);text-decoration:none}
.arrow:hover{text-decoration:underline}
section.band{padding:56px 0}
.note{background:#fff;border-left:4px solid var(--green);padding:14px 18px;margin:0 0 1.4em}
.event-card{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:center;background:#fff;padding:24px;margin:24px 0}
.event-card img{max-height:220px;width:auto;margin:0 auto}
@media (max-width:700px){.event-card{grid-template-columns:1fr}}
.event-card h3 a,.event-card h1 a{color:var(--ink);text-decoration:none}
.meta{list-style:none;padding:0;margin:0 0 1em;color:var(--muted);font-size:1rem}
.meta li{display:inline-block;margin-right:18px}
.resources li{margin-bottom:.6em}
.contact h2{font-size:clamp(1.3rem,2.6vw,1.9rem);margin:0 0 .7em;word-break:break-word}
.contact h2 a{color:var(--ink)}
/* footer */
footer.site{background:var(--footer);color:#fff;padding:64px 0 40px;font-size:1.05rem}
footer.site a{color:#fff}
footer.site .cols{display:grid;grid-template-columns:1.3fr 1fr;gap:56px}
@media (max-width:800px){footer.site .cols{grid-template-columns:1fr;gap:36px}}
footer.site h2{font-size:1.6rem}
footer.site .seals{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:18px}
footer.site .seals img{width:110px;height:auto}
footer.site .fine{margin-top:40px;border-top:1px solid #444;padding-top:20px;font-size:.95rem;color:#ccc}
.paypal{background:transparent;border:0;padding:0;cursor:pointer}
.cform{display:grid;gap:16px;max-width:560px}
.cform label{display:grid;gap:6px;font-weight:500;font-size:1rem}
.cform input,.cform select,.cform textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1px solid #bbb;background:#fff;border-radius:0;width:100%}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--green);border-color:var(--green)}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform button{justify-self:start;cursor:pointer}
.cform button[disabled]{opacity:.6;cursor:wait}
.cform .status{margin:0;font-size:1rem}
.cform .status.ok{color:var(--green-dark);font-weight:500}.cform .status.err{color:#b00020}
