@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{color:#18251f;font-synthesis:none;--ink:#18251f;--muted:#68736c;--line:#d9d4ca;--orange:#e65f31;--green:#315d45;background:#f5f0e8;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{overflow:hidden}.topbar{border-bottom:1px solid var(--line);z-index:2;background:#f5f0e8e0;align-items:center;gap:60px;height:74px;padding:0 5.2vw;display:flex;position:relative}.brand{letter-spacing:-.7px;align-items:center;gap:10px;font-size:19px;font-weight:700;display:flex}.brand-mark{color:#f5f0e8;background:var(--ink);border-radius:50%;place-items:center;width:28px;height:28px;font-family:Georgia,serif;font-size:18px;display:grid}.brand-dot{color:var(--orange)}.main-nav{color:var(--muted);flex:1;gap:32px;font-size:13px;display:flex}.main-nav a:hover{color:var(--orange)}.admin-link{color:var(--green);background:0 0;border:0;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.menu-button{background:0 0;border:0;display:none}.hero{max-width:1200px;margin:0 auto;padding:92px 5.2vw 106px;display:flex;position:relative}.hero-copy{max-width:650px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:1.5px;color:var(--orange);font:500 11px DM Mono,monospace}.eyebrow{align-items:center;gap:10px;display:flex}.eyebrow-line{background:var(--orange);width:34px;height:1px}h1{letter-spacing:-5px;margin:28px 0;font:500 clamp(56px,8vw,110px)/.92 Fraunces,serif}.hero h1 em{color:var(--green);font-style:italic}.hero-intro{color:var(--muted);max-width:320px;margin-left:6px;font-size:16px;line-height:1.55}.hero-note{color:var(--orange);gap:10px;font-size:11px;line-height:1.3;display:flex;position:absolute;top:128px;right:16%}.hero-note strong{color:var(--ink);font-weight:600}.hero-stamp{color:var(--orange);border:1px solid var(--orange);border-radius:50%;place-items:center;width:60px;height:60px;font:500 13px/.8 DM Mono;display:grid;position:absolute;bottom:80px;right:5%;transform:rotate(-12deg)}.hero-stamp span{font-size:22px}.explorer{background:var(--green);color:#f7f4ed;padding:54px max(5.2vw,50vw - 600px)}.section-heading,.results-header{justify-content:space-between;align-items:end;display:flex}.section-heading h2,.results-header h2{letter-spacing:-.8px;margin:10px 0 0;font:500 33px Fraunces,serif}.location-label{color:#c9d5c8;align-items:center;gap:6px;font:12px DM Mono;display:flex}.search-row{gap:12px;margin:34px 0 18px;display:flex}.search-box{height:52px;color:var(--muted);background:#f7f4ed;border-radius:3px;flex:1;align-items:center;gap:11px;padding:0 17px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px}.search-box button{color:var(--muted);background:0 0;border:0;padding:0}.filter-toggle{display:none}.filter-bar{align-items:stretch;gap:10px;display:flex}.month-filter,.select-filter{border:1px solid #ffffff40;min-height:62px}.month-filter{justify-content:space-between;align-items:center;min-width:275px;padding:0 7px;display:flex}.month-filter button{color:#d5e0d3;background:0 0;border:0;padding:12px}.month-filter button:disabled{opacity:.3}.month-filter div{flex-direction:column;gap:4px;display:flex}.month-filter span,.select-filter span{color:#b7c8b9;text-transform:uppercase;letter-spacing:.5px;font:10px DM Mono}.month-filter strong{font-size:14px;font-weight:500}.select-filter{flex-direction:column;gap:5px;min-width:150px;padding:11px 15px;display:flex}.select-filter select{color:#fff;background:0 0;border:0;outline:0;font-size:14px}.select-filter option{color:var(--ink)}.free-pill{color:#cbdaca;border:1px solid #8cac91;border-radius:30px;align-self:center;margin-left:auto;padding:9px 14px;font:11px DM Mono}.results-section{max-width:1200px;margin:0 auto;padding:75px 5.2vw 110px}.results-header h2{font-family:DM Sans;font-size:28px;font-weight:600}.results-header h2 span{color:var(--muted);font-weight:400}.results-rule{background:var(--line);flex:1;height:1px;margin:0 0 13px 40px}.event-grid{grid-template-columns:repeat(3,1fr);gap:42px 22px;margin-top:36px;display:grid}.event-card{cursor:pointer;animation:.6s both rise;animation-delay:var(--delay)}.card-image-wrap{background:#d4d1c8;height:245px;position:relative;overflow:hidden}.card-image-wrap img,.modal-image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.event-card:hover img{transform:scale(1.045)}.free-badge{background:var(--orange);color:#fff;letter-spacing:.5px;padding:7px 9px;font:500 10px DM Mono;position:absolute;top:13px;left:13px}.card-arrow{color:#fff;background:#18251fb8;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:13px;right:13px}.card-content{padding-top:17px}.card-meta{color:var(--orange);text-transform:uppercase;letter-spacing:.5px;gap:10px;font:10px DM Mono;display:flex}.card-meta span+span{color:var(--muted)}.card-content h3{letter-spacing:-.3px;margin:10px 0 15px;font:500 23px/1.1 Fraunces,serif}.card-date,.card-place{color:var(--muted);align-items:center;gap:7px;margin-top:7px;font-size:12px;display:flex}.card-date{color:var(--ink);font-weight:600}.registration-note{color:var(--green);border-bottom:1px solid #a9bca9;margin-top:13px;font-size:11px;display:inline-block}.empty-state{text-align:center;border:1px dashed var(--line);color:var(--muted);margin-top:36px;padding:75px 20px}.empty-state h3{color:var(--ink);margin:13px 0 7px;font:500 25px Fraunces}.empty-state p{margin:0 0 20px;font-size:14px}.empty-state button{background:var(--green);color:#fff;border:0;padding:11px 17px}footer{background:var(--ink);color:#aeb9ae;align-items:center;gap:18px;padding:35px max(5.2vw,50vw - 600px);font-size:11px;display:flex}footer .footer-brand{color:#fff;align-items:center;gap:9px;font-size:15px;display:flex}.footer-brand .brand-mark{color:var(--ink);background:#f5f0e8;width:23px;height:23px;font-size:15px}footer p{flex:1;margin:0}.modal-backdrop{z-index:10;background:#0a160fad;place-items:center;padding:20px;animation:.2s fade;display:grid;position:fixed;inset:0}.event-modal,.admin-modal{background:#f7f4ed;width:min(700px,100%);max-height:92vh;position:relative;overflow:auto}.modal-close{color:#fff;z-index:1;background:#18251fcc;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:16px;right:16px}.modal-image{height:260px;display:block}.modal-body{padding:30px 36px 36px}.modal-body h2,.admin-heading h2{letter-spacing:-1px;margin:13px 0 15px;font:500 42px/1 Fraunces}.modal-description{color:var(--muted);max-width:580px;font-size:14px;line-height:1.6}.detail-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin:27px 0;padding:23px 0;display:grid}.detail-grid div{flex-direction:column;gap:7px;display:flex}.detail-grid span{color:var(--muted);text-transform:uppercase;font:10px DM Mono}.detail-grid strong{font-size:13px;line-height:1.45}.green-text{color:var(--green)}.modal-actions{align-items:center;gap:18px;display:flex}.primary-button{background:var(--orange);color:#fff;border:0;align-items:center;gap:8px;padding:13px 16px;font-size:12px;font-weight:700;display:inline-flex}.source-copy{color:var(--muted);font-size:11px}.source-copy strong{color:var(--ink)}.admin-modal{width:min(560px,100%);padding:40px}.admin-heading p{color:var(--muted);font-size:14px;line-height:1.5}.admin-form{gap:17px;margin-top:28px;display:grid}.admin-form label{color:var(--muted);text-transform:uppercase;gap:7px;font:11px DM Mono;display:grid}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--line);outline-color:var(--orange);color:var(--ink);text-transform:none;resize:vertical;background:#fff;padding:12px;font:14px DM Sans}.admin-form .primary-button{justify-content:center;margin-top:5px}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (width<=760px){.topbar{justify-content:space-between;gap:0;height:64px;padding:0 22px}.main-nav,.admin-link{display:none}.menu-button{display:block}.hero{padding:68px 22px 82px}.hero h1{letter-spacing:-3px}.hero-note{top:62px;right:24px}.hero-stamp{bottom:45px;right:26px}.explorer{padding:40px 22px}.section-heading{flex-direction:column;align-items:start;gap:12px}.section-heading h2{font-size:29px}.search-row{flex-wrap:wrap}.search-box{min-width:100%}.filter-toggle{color:#fff;background:0 0;border:1px solid #8da792;align-items:center;gap:7px;padding:10px 14px;display:flex}.filter-bar{flex-direction:column;display:none}.filter-bar.is-open{display:flex}.month-filter{min-width:100%}.free-pill{align-self:flex-start;margin:0}.results-section{padding:53px 22px 75px}.results-header{align-items:start}.results-rule{display:none}.results-header h2{font-size:25px}.event-grid{grid-template-columns:1fr;gap:38px}.card-image-wrap{height:225px}footer{flex-wrap:wrap;padding:28px 22px}footer p{flex-basis:100%;order:3}.modal-body{padding:26px 22px 28px}.modal-image{height:205px}.modal-body h2,.admin-heading h2{font-size:34px}.detail-grid{gap:20px 12px}.modal-actions{flex-direction:column;align-items:start}.admin-modal{padding:30px 22px}}.event-card:focus-visible,.menu-button:focus-visible,.filter-toggle:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.source-copy a{text-underline-offset:2px;text-decoration:underline}.skip-link{z-index:20;background:var(--ink);color:#fff;padding:12px 16px;font-size:13px;transition:transform .2s;position:fixed;top:12px;left:16px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:target{scroll-margin-top:84px}@media (width<=760px){.main-nav.is-open{border-bottom:1px solid var(--line);background:#f5f0e8;flex-direction:column;gap:16px;padding:18px 22px;display:flex;position:absolute;top:64px;left:0;right:0;box-shadow:0 10px 20px #18251f14}.menu-button{color:var(--ink);background:0 0;border:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
