/* Event cards: shared rows keep titles, dates and venues aligned. */
.event-grid{gap:16px 20px;align-items:stretch}
.event-card{display:grid;grid-template-rows:auto 1fr auto auto;row-gap:18px;padding:26px;border-radius:16px;border-color:#34383e;background:linear-gradient(145deg,#181b20,#101215);box-shadow:0 8px 24px #0002;transition:border-color .18s ease,background-color .18s ease;min-width:0}
.event-card:hover,.event-card:focus-within{border-color:var(--lime)}
.event-card>.eyebrow{grid-row:1;align-self:start;justify-self:start;margin:0;padding:6px 10px;border:1px solid #c4ef492e;border-radius:6px;background:#c4ef4910;color:var(--lime);font-size:11px;line-height:1.5;letter-spacing:.08em}
.event-card>h3{grid-row:2;margin:0;font-size:22px;line-height:1.35;font-weight:700;letter-spacing:-.025em;align-self:start}
.event-card>h3 a{display:block;text-decoration:none}
.event-card>h3 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.event-card>h3 a:focus-visible{outline:2px solid var(--lime);outline-offset:5px;border-radius:3px}
.event-card>p:not(.eyebrow){position:relative;margin:0;padding-left:28px;font-size:14px;line-height:1.6;color:#b9c1cd}
.event-card>p:nth-of-type(2){grid-row:3;border-top:1px solid #ffffff14;padding-top:18px;color:#eef1f5;font-weight:550;font-variant-numeric:tabular-nums}
.event-card>p:nth-of-type(3){grid-row:4;align-self:start}
.event-card>p:not(.eyebrow)::before{content:"";position:absolute;left:0;top:3px;width:17px;height:17px;background:var(--lime);mask:center/contain no-repeat}
.event-card>p:nth-of-type(2)::before{top:21px;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18M8 15h2M14 15h2'/%3E%3C/svg%3E")}
.event-card>p:nth-of-type(3)::before{background:#8e9aa9;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
@supports(grid-template-rows:subgrid){.event-card{grid-template-rows:subgrid;grid-row:span 4;row-gap:18px}.event-grid{row-gap:18px}}
@media(max-width:1050px) and (min-width:701px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.event-grid{grid-template-columns:minmax(0,1fr)}.event-card{padding:22px;grid-template-rows:auto auto auto auto;grid-row:auto;row-gap:16px}.event-card>h3{font-size:21px}.event-card>p:nth-of-type(2){padding-top:16px}.event-card>p:nth-of-type(2)::before{top:19px}}
@media(prefers-reduced-motion:reduce){.event-card{transition:none}}

/* Shared time presentation and calendar, scoped to event listings. */
.event-timezone{font-size:13px;color:#a9b3c2;margin:14px 0 24px}.event-date,.event-time{display:block}.event-time{font-size:13px;font-weight:400;color:#a9b3c2;margin-top:6px}.event-views{display:flex;gap:4px;width:max-content;border:1px solid #363c43;border-radius:10px;padding:4px;background:#15181d}.event-views button{border:0;background:transparent;color:#bdc5d0;padding:12px 24px;border-radius:7px;font-family:inherit;font-weight:600;font-size:14px;line-height:1.3;cursor:pointer;min-height:44px}.event-views button[aria-pressed=true]{background:var(--lime);color:#111}
#events-calendar[hidden],#events-list-view[hidden],.event-views[hidden],#calendar-clear[hidden]{display:none!important}#events-calendar{display:grid;grid-template-columns:minmax(300px,440px) minmax(0,1fr);gap:28px;align-items:start}.calendar-panel{background:#15181d;border:1px solid #34383e;border-radius:16px;padding:24px;position:sticky;top:24px}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-nav h3{font-size:20px;text-transform:capitalize;margin:0;text-align:center}.calendar-nav button,#calendar-today,#calendar-clear{background:transparent;border:1px solid #3e4651;color:#eef1f5;border-radius:8px;min-width:44px;min-height:44px;padding:10px;font:inherit;cursor:pointer}.calendar-nav button{font-size:28px;line-height:1;padding:4px}#calendar-today{font-size:12px;margin:14px 0 8px;padding:8px 14px}.calendar-week,#calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{text-align:center;color:#a9b3c2;font-size:12px;margin:12px 0}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;width:100%;background:transparent;border:1px solid transparent;border-radius:8px;color:#eef1f5;font:inherit;font-size:14px;cursor:pointer;padding:5px 0}.calendar-day[aria-current=date]{background:#c4ef4915;border-color:#c4ef4950;font-weight:700}.calendar-day[aria-pressed=true]{background:var(--lime);color:#111;border-color:var(--lime)}.calendar-day:hover{border-color:var(--lime)}.calendar-count{display:block;background:#c4ef4920;color:var(--lime);border-radius:4px;font-size:10px;line-height:1.4;padding:1px 5px;font-weight:700}.calendar-day[aria-pressed=true] .calendar-count{background:#1112;color:#111}.calendar-help{font-size:12px;color:#a9b3c2;line-height:1.6;margin:18px 0 0}.calendar-results{min-width:0}.calendar-results>h3{margin:0 0 18px;font-size:20px}#calendar-clear{margin:0 0 18px;font-size:13px}#calendar-events{display:grid;gap:16px}#calendar-events .event-card{grid-row:auto;grid-template-rows:auto auto auto auto;row-gap:14px}.event-views button:focus-visible,#events-calendar button:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@media(max-width:800px){#events-calendar{grid-template-columns:1fr}.calendar-panel{position:static;max-width:520px;width:100%;padding:18px}.calendar-day{min-height:48px}.calendar-results>h3{font-size:18px}}
