:root{--cream:#fff6df;--cream-soft:#fffdf5;--cream-dark:#f1dfbd;--ink:#2b241a;--ink-soft:#746853;--orange:#c96732;--orange-dark:#a9522d;--green:#687a58;--line:#2b241a1c;--line-strong:#2b241a33;--shadow:#2b241a0b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream-soft);min-height:100vh;color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}img{width:100%;display:block}p{text-wrap:pretty}.site-header{z-index:10;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);background:#fffdf5e0;justify-content:space-between;align-items:center;gap:1.5rem;padding:.95rem 2rem;display:flex;position:sticky;top:0}.brand,h1,h2,h3,.big-link,.event-image-placeholder{letter-spacing:-.055em;font-family:Shrikhand,Cooper Black,Cooper Black Swash,Georgia,serif;font-weight:400;line-height:.9}h1,h2,h3{text-wrap:balance;margin-top:0}h1{font-size:clamp(4rem,10vw,9rem)}h2{font-size:clamp(3.5rem,7.6vw,7.8rem)}h3{font-size:clamp(2.2rem,4vw,4.2rem)}.brand{max-width:22rem;color:var(--orange-dark);align-items:center;gap:.75rem;display:flex}.brand-logo{object-fit:contain;flex-shrink:0;width:52px;height:52px}.brand-text{font-size:clamp(1rem,1.8vw,1.45rem);line-height:.95;display:block}.nav{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;font-size:.72rem;font-weight:900;display:flex}.nav a{border-radius:999px;padding:.45rem .58rem;transition:color .2s,background .2s,transform .2s}.nav a:hover{color:var(--orange-dark);background:#c9673214;transform:translateY(-1px)}.section-label,.hero-kicker{width:fit-content;color:var(--orange);text-transform:uppercase;letter-spacing:.16em;background:0 0;margin-bottom:1rem;font-size:.82rem;font-weight:900;line-height:1;display:inline-flex}.event-meta{text-transform:uppercase;letter-spacing:.08em;color:var(--green);flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;font-size:.75rem;font-weight:900;display:flex}.event-meta span:not(:last-child):after{content:"·";margin-left:.45rem}.event-image-link{background:var(--cream-dark);display:block;overflow:hidden}.event-image-link:hover img{transform:scale(1.035)}.event-image-link img{object-fit:cover;filter:saturate(.92)contrast(.96)sepia(.08);height:100%;transition:transform .5s}.event-image-placeholder{background:linear-gradient(135deg, #fffdf5eb, #f1dfbdc7), var(--cream-dark);height:100%;min-height:260px;color:var(--orange-dark);text-align:center;justify-content:center;align-items:center;padding:2rem;font-size:clamp(2rem,4vw,4rem);display:flex}.text-link{color:var(--orange-dark);text-underline-offset:.2em;align-items:center;gap:.35rem;font-weight:900;text-decoration:underline .12em;display:inline-flex}.text-link:after{content:"→";transition:transform .2s}.text-link:hover{color:var(--orange)}.text-link:hover:after{transform:translate(3px)}.button-link{background:var(--ink);color:var(--cream);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1rem;font-size:.82rem;font-weight:900;transition:background .2s,transform .2s;display:inline-flex}.button-link:hover{background:var(--orange-dark);transform:translateY(-1px)}.empty-state{border:1px dashed var(--line-strong);color:var(--ink-soft);border-radius:1.7rem;padding:3rem;font-size:1.2rem;font-weight:600}.site-footer{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);justify-content:space-between;gap:1rem;padding:2rem;font-size:.78rem;font-weight:900;display:flex}.site-footer p{margin:0}.site-footer a:hover{color:var(--orange)}main,section{background-color:#0000}article,.empty-state{background-color:#fffdf5ad}@media (width<=820px){h1{font-size:clamp(3.6rem,17vw,7rem)}h2{font-size:clamp(3.2rem,15vw,6.5rem)}.site-header{flex-direction:column;align-items:flex-start;padding:1rem}.brand{max-width:none}.brand-logo{width:44px;height:44px}.nav{justify-content:flex-start;gap:.35rem;width:100%;font-size:.66rem}.nav a{padding:.38rem .48rem}}@media (width<=640px){.site-footer{flex-direction:column;padding:1rem}}
