:root { --ink:#1b2a33; --paper:#f7f9f8; --band:#e6efec; --accent:#1f6f5c; --highlight:#f2b632; --line:#c9d6d1; }
@media (prefers-color-scheme: dark) {
  :root { --ink:#e8efec; --paper:#121b20; --band:#1a272d; --accent:#4fbf9f; --line:#2f4149; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 70px; }
body { margin:0; font-family:"Segoe UI",system-ui,sans-serif; line-height:1.6; background:var(--paper); color:var(--ink); }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; line-height:1.2; }
a { color:var(--accent); }
:focus-visible { outline:3px solid var(--highlight); outline-offset:2px; }

.site-header { position:sticky; top:0; z-index:10; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem 1.5rem; padding:.7rem 1.5rem; background:var(--paper); border-bottom:1px solid var(--line); }
.brand { font-family:Georgia,serif; font-weight:bold; font-size:1.2rem; text-decoration:none; color:var(--ink); }
nav { display:flex; align-items:center; gap:1.2rem; }
nav a { text-decoration:none; color:var(--ink); }
nav a:hover { text-decoration:underline; }
nav .nav-btn { background:var(--accent); color:#fff; padding:.4rem 1rem; border-radius:4px; }
nav .nav-btn:hover { text-decoration:none; opacity:.9; }

section { padding:4rem 1.5rem; max-width:1000px; margin:0 auto; }
section.band { max-width:none; background:var(--band); }
section.band > * { max-width:1000px; margin-left:auto; margin-right:auto; }
.narrow > * { max-width:680px; }
h2 { font-size:2rem; margin-top:0; }

.hero { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; height:460px; padding:0 1.5rem; max-width:none; background:#2b2f36; }
.half { position:absolute; top:0; height:100%; aspect-ratio:1 / 2; background:url("logo.png") no-repeat; background-size:auto 100%; opacity:.70; }
.half-left { left:0; background-position:right center; }
.half-right { right:0; background-position:left center; }
@media (max-width:800px) { .half { display:none; } }
.hero > * { max-width:760px; margin-left:auto; margin-right:auto; }
.hero h1 { font-size:clamp(2.2rem,6vw,3.8rem); margin-bottom:1rem; }
.hero p { font-size:1.2rem; }
.btn { display:inline-block; margin-top:1rem; padding:.8rem 1.5rem; background:#FFFFFF; color:#1b2a33; font-weight:600; text-decoration:none; border-radius:4px; }
.btn:hover { filter:brightness(1.08); }
.hero .btn { margin-left:max(0px, calc((100% - 760px) / 2)); background:#1b2a33; color:#fff; }

.events { list-style:none; padding:0; margin:0; }
.events li { display:flex; gap:1.2rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.date-box { flex:0 0 64px; height:max-content; text-align:center; background:var(--accent); color:#fff; border-radius:4px; padding:.4rem 0; line-height:1.1; }
.date-box strong { display:block; font-size:1.6rem; }
.events h3 { margin:0 0 .2rem; }
.events p { margin:0; }
.meta { font-size:.9rem; opacity:.8; }

.social { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 1.5rem; margin-bottom:1rem; }
.social a { font-weight:600; }
.page h1 { font-size:2.6rem; margin-top:0; }
.page h2 { font-size:1.5rem; margin-top:2.5rem; }
.page p { max-width:68ch; }
.brand img { display:block; height:80px; width:auto; }
.site-header { background:#000; border-bottom-color:#000; }
.hero-text { position:relative; z-index:1; text-align:center; max-width:560px; color:#fff; }
.hero-text h1 { font-size:clamp(2.2rem,6vw,3.8rem); margin:0 0 1rem; color:#f2c94c; }
.hero-text p { font-size:1.2rem; margin:0; }
nav a { color:#fff; }

footer { text-align:center; padding:2rem 1rem; border-top:1px solid var(--line); font-size:.9rem; }
@media (max-width:600px) { section { padding:3rem 1rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
