.events{gap:10px;margin:0;padding:0;list-style:none;display:grid}.events>li[hidden]{display:none}.events li{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px 16px;transition:box-shadow .15s,border-color .15s;display:grid}.events li:hover{box-shadow:var(--shadow-md);border-color:var(--brand-edge)}.events.cards{grid-template-columns:1fr;gap:14px}@media (width>=720px){.events.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1020px){.events.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.events.cards li{grid-template-columns:auto minmax(0,1fr);padding:16px}.events.cards .when{grid-column:2;justify-self:start}.events .cal{background:var(--brand-wash);border:1px solid var(--brand-edge);border-radius:var(--r-lg);flex-direction:column;justify-content:center;align-items:center;width:48px;padding:6px 0 7px;line-height:1;display:flex}.events .cal-m{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-size:10.5px;font-weight:700}.events .cal-d{color:var(--ink);margin-top:3px;font-size:20px;font-weight:700}.events .body{min-width:0}.events .kinds{flex-wrap:wrap;gap:5px;margin:0 0 6px;display:flex}.events .badge{border-radius:var(--r-full);background:var(--brand-wash);color:var(--brand-hover);padding:4px 8px;font-size:11px;font-weight:600;line-height:1}.events .b-kind{background:var(--surface-2);color:var(--ink-soft)}.events h3{letter-spacing:-.01em;font-size:15.5px;font-weight:600;line-height:1.35}.events h3 a{color:var(--heading)}.events h3 a:hover{color:var(--brand)}.events .ev-open{font:inherit;color:var(--heading);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.events .ev-open:hover{color:var(--brand);text-decoration:underline}.events .meta,.events .access{color:var(--ink-faint);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px;margin:4px 0 0;font-size:13px;display:flex}.events .meta>*{min-width:0}.events .meta .date{color:var(--ink-soft);font-weight:500}.events .meta .time{color:var(--ink-soft);font-weight:600}.events .meta .venue-fallback{color:var(--ink-faint)}.events .dot{color:var(--rule-strong)}.events .host{font-size:13px}.events .from{color:var(--ink-faint);margin:4px 0 0;font-size:13px}.events .from a{color:var(--ink-soft);font-weight:600}.events .from a:hover{color:var(--brand)}.events .access{margin-top:8px;font-size:12.5px}.events .access.is-open{color:var(--good)}.events .src{font-weight:600}.events .desc{color:var(--ink-soft);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;font-size:13.5px;display:-webkit-box;overflow:hidden}.events .when{align-self:center}@media (width<=560px){.events li{grid-template-columns:auto minmax(0,1fr)}.events .when{grid-column:2;justify-self:start;margin-top:6px}}.events.rows{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);gap:0;padding:0 20px;overflow:hidden}.events.rows li{border:0;border-bottom:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr);gap:18px;margin-bottom:-1px;padding:18px 0;position:relative}.events.rows li:hover{box-shadow:none;border-color:var(--rule)}.events.rows .cal{border-radius:var(--r-lg);border:0;width:52px;height:58px;padding:0}.events.rows .cal-m{font-size:11px}.events.rows .cal-d{color:var(--brand);margin-top:4px;font-size:22px}.events.rows h3{letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:23px}.events.rows h3 a:after,.events.rows h3 .ev-open:after{content:"";position:absolute;inset:0}.events.rows li:hover h3 a,.events.rows li:hover .ev-open{color:var(--brand)}.events.rows .meta{color:var(--ink-soft);margin-top:3px;font-size:15px;display:block}.events.rows .tags{color:var(--brand-hover);margin:4px 0 0;font-size:13px;font-weight:600}.events.rows .kinds{margin-bottom:5px}html.js .events.rows li[data-off],html.js .events.rows:not(.is-all) li[data-more]{display:none}@media (width<=767px){.events.rows{padding:0 16px}.events.rows li{gap:14px;padding:16px 0}.events.rows .cal{width:46px}.events.rows h3{font-size:16px;line-height:21px}.events.rows .meta{font-size:14px}}
