:root{--color-bk:#0a0a0a;--color-wh:#fff;--color-yl:#fff65d;--color-g20:#e0e0e0;--color-g40:#9e9e9e;--color-g50:#616161;--space-s6:48px;--radius-r1:24px;--page-max-width:1440px;--event-card-scrim-strength:.94}body,.directory{font-family:Yellix,Helvetica Neue,Helvetica,Arial,sans-serif}body{background:#f5f5f5;color:var(--color-bk)}.directory{max-width:var(--page-max-width);margin:0 auto;overflow:hidden;border:1px solid var(--color-g20);border-radius:var(--radius-r1)}.directory__content{position:relative;z-index:1;background:#fff}@media(min-width:640px){.directory .r-hero__title{max-width:28ch}}.schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.schedule-navigation{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.schedule-navigation__button{min-height:44px;padding:10px 13px;border:1px solid var(--color-g20);border-radius:999px;background:#fff;color:var(--color-bk);font:600 14px/1 Yellix,Helvetica Neue,sans-serif;cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.schedule-navigation__button:hover{border-color:var(--color-bk)}.schedule-navigation__button:focus-visible{outline:3px solid var(--color-yl);outline-offset:2px}.schedule-navigation__button--active{border-color:var(--color-bk);background:var(--color-bk);color:#fff}.section-label{margin:0;color:var(--color-g50);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.event-list{padding:var(--space-s6);background:#fff}.month-group{margin-top:48px}.month-label{margin:0 0 20px;padding-bottom:6px;color:var(--color-bk);border-bottom:2px solid var(--color-bk);font-size:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.month-group.hidden,.event-card.hidden{display:none}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px}.event-card{position:relative;display:block;min-width:0;aspect-ratio:4 / 3;overflow:hidden;color:#fff;text-decoration:none;border-radius:18px;background:#1a1a1a;isolation:isolate}.event-card:after{position:absolute;z-index:1;inset:0;content:"";background:linear-gradient(180deg,#0a0a0a00 14%,rgb(10 10 10 / calc(var(--event-card-scrim-strength) * .12)) 28%,rgb(10 10 10 / calc(var(--event-card-scrim-strength) * .72)) 44%,rgb(10 10 10 / calc(var(--event-card-scrim-strength) * .96)) 58%,rgb(10 10 10 / calc(var(--event-card-scrim-strength) * .99)));pointer-events:none}.event-card__image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#1a1a1a;transition:transform .3s ease}.event-card--top-left .event-card__image{object-position:left top}.event-card--contain-artwork{background:#5295c2}.event-card--contain-artwork .event-card__image{object-fit:contain;background:#5295c2}.event-card__body{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:20px}.event-card__date{display:block;color:#fff;font-size:14px;font-weight:600;line-height:1.3}.event-card__status{display:inline-block;margin-left:8px;padding:3px 6px;border-radius:999px;background:var(--color-yl);color:#111;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.event-card__name{margin:8px 0 0;color:#fff;font-size:clamp(22px,2vw,30px);font-weight:600;letter-spacing:-.035em;line-height:1.08}.event-card__meta{margin:12px 0 0;color:#ffffffc7;font-size:16px;line-height:1.45}.event-card:hover .event-card__image{transform:scale(1.035)}.event-card:hover .event-card__name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.event-card--image-failed .event-card__image{display:none}@media(max-width:1023px){.event-list{padding-right:32px;padding-left:32px}.schedule-heading{align-items:flex-start;flex-direction:column}.schedule-navigation{justify-content:flex-start}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.directory{border-radius:0}.event-list{padding-right:24px;padding-left:24px}.schedule-navigation{gap:8px}.schedule-navigation__button{flex:0 0 auto}.event-grid{grid-template-columns:1fr;gap:24px}.event-card__body{padding:20px}.event-card__name{font-size:28px}}
