:root{--brand-green:#1f7a4d;--brand-green-dark:#155c39;--brand-amber:#e0a83d;--brand-sand:#f7f3e8;--ink:#1d1d1b;--muted:#5c5c54;--border:#e4ddca}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-body,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);color:var(--ink);background:var(--brand-sand);line-height:1.55}a{color:var(--brand-green-dark)}.site-header{background:var(--brand-green);color:#fff;padding:1rem 1.25rem}.site-header a{color:#fff;text-decoration:none}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-brand{font-weight:700}.site-nav-links{display:flex;gap:1.1rem}.site-nav-links a{font-size:.95rem;opacity:.92}.site-nav-links a:hover{opacity:1;text-decoration:underline}.container{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.hero{padding:2.5rem 0 1.5rem}.hero h1{font-size:2.1rem;margin:0 0 .5rem}.hero p{color:var(--muted);margin:0}.schedule-item{display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--border);background:#fff;border-radius:10px;padding:1rem 1.15rem;margin:.75rem 0}.schedule-thumb{flex:0 0 auto;width:clamp(60px,13vw,92px);aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.schedule-item-body{flex:1 1 auto;min-width:0}.schedule-item.is-live{border-color:var(--brand-green);border-left-width:4px;box-shadow:0 1px 6px rgba(31,122,77,.15)}.schedule-item.is-next{border-left:4px solid var(--brand-amber)}.schedule-item-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.schedule-item time{display:block;color:var(--brand-green-dark);font-weight:600;font-size:.9rem}.status-badge{font-size:.78rem;font-weight:700;border-radius:999px;padding:.12rem .6rem;letter-spacing:.01em}.status-badge.live{background:var(--brand-green);color:#fff}.status-badge.next{background:var(--brand-amber);color:#4a3306}.now-banner{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;background:#fff;border:1px solid var(--border);border-left:4px solid var(--brand-green);border-radius:10px;padding:.7rem 1rem;margin:.5rem 0 1rem}.now-banner-label{font-weight:700;color:var(--brand-green-dark)}.now-banner-label.next{color:#8a6212}.now-banner-body{color:var(--ink)}.schedule-item-title{font-size:1.05rem;margin:.25rem 0 .35rem}.schedule-item .meta{color:var(--muted);font-size:.9rem}.placeholder{border:1px dashed var(--border);border-radius:10px;padding:1.5rem;color:var(--muted);background:#fff}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.85rem;padding:1.5rem 1.25rem;text-align:center}.reg-badge{display:inline-block;margin-top:.5rem;font-size:.85rem;font-weight:600;color:var(--brand-green-dark);text-decoration:none}.reg-badge:hover{text-decoration:underline}.schedule-item-title .badge{margin-left:.5rem;vertical-align:middle;font-weight:400}.venue-group{margin:1.25rem 0}.venue-group-title{margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:2px solid var(--brand-amber);color:var(--brand-green-dark);font-size:1.1rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}.chip{font:inherit;font-size:.9rem;cursor:pointer;background:#fff;border:1px solid var(--border);border-radius:999px;padding:.3rem .9rem;color:var(--ink);transition:background .15s,color .15s,border-color .15s}.chip.active,.chip:hover{border-color:var(--brand-green)}.chip.active{background:var(--brand-green);color:#fff}.page h1{margin:0 0 1rem}.page :where(h2,h3){margin-top:1.6rem}.event-detail{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem}.event-hero{width:100%;height:auto;border-radius:8px;margin-bottom:1rem}.event-hero-fallback{display:flex;align-items:center;justify-content:center;height:200px;background:linear-gradient(135deg,var(--brand-green),var(--brand-amber))}.event-hero-fallback span{color:#fff;font-weight:700;font-size:1.4rem;letter-spacing:.02em;text-shadow:0 1px 3px rgba(0,0,0,.25)}.event-facts{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:0 0 .5rem}.event-facts time{color:var(--brand-green-dark);font-weight:600}.badge{background:var(--brand-sand);border:1px solid var(--border);border-radius:999px;padding:.15rem .7rem;font-size:.85rem}.event-summary{font-size:1.05rem}.event-content{margin-top:1rem}.register-section{margin-top:2rem}.reg-form{gap:1rem;max-width:560px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem}.field,.reg-form{display:flex;flex-direction:column}.field{gap:.35rem}.field>span{font-weight:600;font-size:.92rem}.field abbr{color:#c0392b;text-decoration:none}.field input,.field textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:#fff}.field input:focus,.field textarea:focus{outline:2px solid var(--brand-green);outline-offset:1px}.field-checkbox{flex-direction:row;align-items:flex-start;gap:.6rem}.field-checkbox input{margin-top:.2rem}.field-checkbox span{font-weight:400;font-size:.92rem}.btn-primary{font:inherit;font-weight:600;align-self:flex-start;background:var(--brand-green);color:#fff;border:none;border-radius:8px;padding:.65rem 1.4rem;cursor:pointer}.btn-primary:hover{background:var(--brand-green-dark)}.btn-primary:disabled{opacity:.6;cursor:progress}.btn-link{font:inherit;background:none;border:none;color:var(--brand-green-dark);cursor:pointer;padding:0;text-decoration:underline}.form-error{color:#c0392b;background:#fdecea;border:1px solid #f5c6c0;border-radius:8px;padding:.6rem .8rem;margin:0}.form-success{background:#fff;border:1px solid var(--brand-green);border-radius:12px;padding:1.25rem 1.5rem;max-width:560px}.form-success p{color:var(--muted)}.map-plan{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.map-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.map-legend-group{background:#fff;border:1px solid var(--border);border-left:4px solid var(--brand-green);border-radius:10px;padding:.85rem 1.1rem}.map-legend-group h2{margin:0 0 .5rem;font-size:1.05rem;color:var(--brand-green-dark)}.map-legend-group ul{margin:0;padding-left:1.1rem}.map-legend-group li{margin:.2rem 0}.map-point-label{font-weight:600}.map-point-note{color:var(--muted)}.not-found{text-align:center;padding:3rem 1rem}.not-found h1{font-size:4rem;margin:0;color:var(--brand-green)}.not-found p{color:var(--muted);margin:.5rem 0 1.5rem}.not-found .btn-primary{display:inline-block;text-decoration:none}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-top:1.5rem}.gallery-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}.gallery-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);transform:translateY(-2px)}.gallery-card-img{aspect-ratio:4/3;background:var(--brand-green);overflow:hidden}.gallery-card-img img{width:100%;height:100%;object-fit:cover;display:block}.gallery-card-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3rem}.gallery-card-body{padding:.85rem 1rem 1rem}.gallery-card-body h2{margin:0 0 .3rem;font-size:1.1rem;color:var(--brand-green-dark)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.85rem;gap:.85rem;margin-top:1.5rem}.photo-grid-item{margin:0}.photo-grid-item a{display:block;aspect-ratio:1/1;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.photo-grid-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.photo-grid-item a:hover img{transform:scale(1.04)}.photo-grid-item figcaption{margin-top:.35rem;font-size:.85rem;color:var(--muted)}