.page-body{grid-template-columns:260px 1fr;align-items:start;gap:2.5rem;max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem 5rem;display:grid}.sidebar{position:sticky;top:1.5rem}.events-main{min-width:0}.page-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.4rem;font-size:.72rem;font-weight:700}.page-title{color:var(--color-text);font-size:1.75rem;font-weight:700;font-family:var(--font-display);margin-bottom:1.5rem}.filter-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.25rem}.filter-type-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.type-pill{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .9rem;font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.4;transition:border-color .15s,color .15s,background .15s}.type-pill:hover{border-color:var(--color-accent);color:var(--color-accent)}.type-pill.active{background:var(--color-button);border-color:var(--color-accent);color:#fff}.loc-select{background:var(--color-bg);border:1px solid var(--color-border);width:100%;color:var(--color-text-muted);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238fa0cc' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border-radius:8px;padding:.5rem 2rem .5rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .15s,color .15s}.loc-select:focus{border-color:var(--color-accent);color:var(--color-text);outline:none}.calendar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:1.25rem}.cal-nav{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.cal-month{color:var(--color-text);font-size:1rem;font-weight:700}.cal-arrow{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .75rem;font-size:1rem;line-height:1;text-decoration:none;transition:border-color .15s,color .15s}.cal-arrow:hover{border-color:var(--color-accent);color:var(--color-accent)}.cal-arrow.disabled{opacity:.25;pointer-events:none}.cal-grid{border:1px solid var(--color-border);border-radius:8px;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.cal-grid>*{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.cal-dow{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:var(--color-surface-2);padding:.55rem 0;font-size:.65rem;font-weight:700}.cal-day{aspect-ratio:1;color:var(--color-text-muted);cursor:default;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.82rem;display:flex;position:relative}.cal-day.today{background:var(--color-surface-2);color:var(--color-text);font-weight:700}.cal-day.has-event{color:var(--color-text);cursor:pointer}.cal-day.has-event:hover{background:var(--color-surface-2)}.cal-day.past{opacity:.3}.event-dot{background:var(--color-button);border-radius:50%;flex-shrink:0;width:5px;height:5px}.event-list{flex-direction:column;gap:1rem;display:flex}.event-card{background:var(--color-surface);border:1px solid var(--color-border);color:inherit;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.5rem;scroll-margin-top:1.5rem;text-decoration:none;transition:border-color .15s;display:grid;overflow:hidden}.event-card:hover,.event-card.highlighted{border-color:var(--color-accent)}.event-title{color:var(--color-text);font-size:1.1rem;font-weight:700;font-family:var(--font-display);margin-bottom:.35rem}.event-meta{color:var(--color-text-muted);flex-direction:column;gap:.2rem;font-size:.82rem;display:flex}.event-badges{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.2rem .55rem;font-size:.68rem;font-weight:700}.badge-early{color:#8c4;background:#1a2a0a;border:1px solid #3a6a1a}.badge-full{color:#c44;background:#2a0a0a;border:1px solid #6a1a1a}.badge-spots{color:#48c;background:#0a1a2a;border:1px solid #1a3a6a}.badge-closing{color:#cc4;font-variant-numeric:tabular-nums;background:#2a2a0a;border:1px solid #6a6a1a}.card-right{flex-direction:column;align-items:stretch;gap:.6rem;min-width:110px;display:flex}.cap-bar-wrap{background:var(--color-surface-2);border-radius:999px;height:5px;overflow:hidden}.cap-bar-fill{border-radius:999px;height:100%;transition:width .3s}.cap-bar-fill.low{background:#4a6}.cap-bar-fill.mid{background:#f0a030}.cap-bar-fill.high{background:#c44}.cap-bar-fill.full{background:#822}.cap-bar-label{color:var(--color-text-muted);text-align:right;margin-top:.2rem;font-size:.7rem}.register-btn{background:var(--color-button);color:#fff;white-space:nowrap;cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.register-btn:hover{background:var(--color-button-hover);color:#fff}.register-btn.full{background:var(--color-surface-2);color:var(--color-text-muted);cursor:default}.register-btn.full:hover{background:var(--color-surface-2)}@media (width<=700px){.page-body{grid-template-columns:1fr;gap:1.25rem;padding:1.5rem 1rem 4rem}.sidebar{position:static}}.empty{text-align:center;color:var(--color-text-muted);padding:4rem 1rem}.empty h2{color:var(--color-text-muted);margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.empty p{font-size:.9rem}.empty a{color:var(--color-accent);text-decoration:none}.empty a:hover{text-decoration:underline}.share-cta{text-align:center;color:var(--color-text-muted);margin:2.5rem 0 .5rem;font-size:.9rem}.share-cta a{color:var(--color-accent);font-weight:600;text-decoration:none}.share-cta a:hover{text-decoration:underline}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-ui-style=editorial] .page-body{padding-top:3rem}[data-ui-style=editorial] .page-heading{font-size:.8rem}[data-ui-style=editorial] .page-title{font-size:2.25rem}[data-ui-style=editorial] .calendar{border-radius:10px}[data-ui-style=editorial] .cal-month{font-size:1.1rem}[data-ui-style=editorial] .cal-dow{font-size:.75rem}[data-ui-style=editorial] .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}[data-ui-style=editorial] .cal-day{font-size:.95rem;line-height:1.2}[data-ui-style=editorial] .filter-bar{background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:0;display:flex}[data-ui-style=editorial] .filter-type-row{margin-bottom:0}[data-ui-style=editorial] .type-pill{border-color:var(--color-border);background:var(--color-surface-2);min-height:44px;color:var(--color-text);padding:.5rem 1.1rem;font-size:1rem;line-height:1}[data-ui-style=editorial] .type-pill:hover{border-color:var(--color-text);color:var(--color-text)}[data-ui-style=editorial] .type-pill.active{background:var(--color-button);border-color:var(--color-button);color:#fff}[data-ui-style=editorial] .loc-select{background-color:var(--color-surface-2);width:auto;min-width:220px;min-height:44px;color:var(--color-text);border-radius:6px;padding:.5rem 2.25rem .5rem 1rem;font-size:1rem}[data-ui-style=editorial] .event-list{gap:1.25rem}.event-card--photo{border-radius:10px;flex-direction:column;align-items:stretch;gap:0;padding:0;display:flex;box-shadow:0 10px 30px #0007291f}.event-card__media{aspect-ratio:16/7;background:var(--brand-surface);position:relative}.event-card__media img{object-fit:cover;filter:grayscale()brightness(.7);width:100%;height:100%;position:absolute;inset:0}.event-card__date{min-width:3.4rem;color:var(--brand-bg);text-align:center;font-family:var(--font-display);background:#fff;border-radius:6px;padding:.35rem .55rem .3rem;line-height:1;position:absolute;top:.85rem;left:.85rem;box-shadow:0 4px 12px #00000040}.event-card__date span{letter-spacing:.04em;font-size:1rem;font-weight:700;display:block}.event-card__date strong{font-size:2.1rem;font-weight:800;display:block}.event-card__body{flex-direction:column;flex:1;padding:1.25rem 1.25rem 1.4rem;display:flex}.event-card--photo .event-title{margin-bottom:.85rem;font-size:1.45rem;line-height:1.08}.event-card__meta{color:var(--color-text-muted);gap:.45rem;margin-bottom:1.25rem;font-size:1rem;line-height:1.4;list-style:none;display:grid}.event-card__meta li{align-items:flex-start;gap:.6rem;display:flex}.event-card__meta svg{color:var(--color-text);flex-shrink:0;margin-top:1px}.event-card--photo .event-badges{margin:-.5rem 0 1rem}.event-card__cta{margin-top:auto}[data-ui-style=editorial] .register-btn{border-radius:6px;justify-content:center;align-items:center;gap:.55rem;min-height:48px;padding:.75rem 1.5rem;font-size:1.0625rem;font-weight:600;line-height:1.2;display:flex}[data-ui-style=editorial] .register-btn.full{color:#3b4466;background:#c9cfdc}@media (width>=900px){.event-card--photo{flex-direction:row}.event-card--photo .event-card__media{aspect-ratio:auto;flex:0 0 220px;min-height:180px}.event-card--photo .event-card__body{grid-template:"title cta""meta cta""badges cta"1fr/1fr 180px;align-items:center;gap:0 1.5rem;padding:1.5rem 1.75rem;display:grid}.event-card--photo .event-title{grid-area:title;align-self:end}.event-card--photo .event-card__meta{grid-area:meta;align-self:start;margin-bottom:0}.event-card--photo .event-badges{grid-area:badges;align-self:start;margin:.75rem 0 0}.event-card--photo .event-card__cta{grid-area:cta;margin-top:0}}[data-ui-style=editorial] .empty{border:1px dashed var(--color-border);background:var(--color-surface);border-radius:10px;padding:3rem 1.5rem}[data-ui-style=editorial] .empty h2{color:var(--color-text);font-size:1.75rem}[data-ui-style=editorial] .empty p,[data-ui-style=editorial] .share-cta{font-size:1rem}[data-content-theme=light] .badge-early{color:#1e6a3a;background:#e3f3e6;border-color:#8cc59a}[data-content-theme=light] .badge-full{color:#8a1f1f;background:#fbe6e6;border-color:#e0a3a3}[data-content-theme=light] .badge-spots{color:#1d4a8a;background:#e3ecfa;border-color:#9db6e0}[data-content-theme=light] .badge-closing{color:#6b4e00;background:#fff3d1;border-color:#e0bf5c}
