/* A real, page-specific weight; other reader headings stay at Regular. */
@font-face{font-family:"SF Pro Display";src:url("/assets/fonts/sf-pro-display-semibold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
/* Stacked event lists; one interaction target per row. */
.events-page{padding:48px 0 64px}
.events-intro{margin-bottom:32px}
.events-intro h1{font-size:48px;line-height:52px;letter-spacing:-1.6px}
.events-section+.events-section{margin-top:64px}
.events-section-title{margin-bottom:32px;font-size:32px;line-height:36px;letter-spacing:-.6px}
.events-list{display:grid;gap:16px;list-style:none;margin:0;padding:0}
.event-row{position:relative;isolation:isolate}
/* Independent optical rim: never fade or blur the row content / glass CTA. */
.event-row::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);opacity:.55;transition:opacity 400ms cubic-bezier(.22,1,.36,1)}
@supports (mask-composite:exclude) or (-webkit-mask-composite:xor){
 .event-row::after{border:0;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.07) 42%,rgba(255,255,255,.04) 72%,rgba(255,255,255,.2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
}
/* Quiet monochrome covers; upcoming interactions reveal color, archive stays muted. */
.event-visual{--event-grayscale:1;position:absolute;inset:0;z-index:-1;border-radius:var(--radius-sm);overflow:hidden;pointer-events:none;opacity:0;transition:opacity 400ms cubic-bezier(.22,1,.36,1)}
.event-visual[data-ready]{opacity:.4}
.event-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:grayscale(var(--event-grayscale));transition:filter 400ms cubic-bezier(.22,1,.36,1)}
/* Identical to story-card: the shared helper adapts this bottom-only ramp. */
.event-visual::after{content:'';position:absolute;inset:0;z-index:2;background:var(--cover-scrim,linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.88) 8%,rgba(0,0,0,.68) 18%,rgba(0,0,0,.42) 28%,rgba(0,0,0,.18) 37%,rgba(0,0,0,0) 44%))}
/* Archive photos never become current again: only a faint local light follows. */
#past-events .event-visual[data-ready]{--event-grayscale:1;opacity:.4}
#past-events .event-visual::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 220px 140px at var(--event-light-x,50%) var(--event-light-y,50%),rgba(255,255,255,.24) 0%,rgba(255,255,255,.14) 28%,rgba(255,255,255,.04) 60%,transparent 100%);opacity:0;transition:opacity 280ms ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (prefers-contrast:no-preference) and (forced-colors:none){
 #past-events .event-row[data-event-light] .event-visual[data-ready]::before{opacity:1;transition-duration:180ms}
 #past-events .event-row:has(.event-hit:not(:disabled)):hover::after{opacity:.55}
}
@media(prefers-reduced-transparency:reduce), (prefers-contrast:more), (forced-colors:active){
 #past-events .event-visual::before{display:none}
}
.event-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(144px,192px) 144px;gap:32px;align-items:end;align-content:end;min-height:max(208px,var(--event-cover-min-height,0px));padding:32px}
/* Reserve space for the corner metadata even when the title grows. */
.event-content:has(.event-capacity){padding-top:72px}
.event-capacity{position:absolute;top:24px;right:32px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 64px);padding:6px 10px;border:1px solid rgba(255,255,255,.14);border-top-color:rgba(255,255,255,.24);border-bottom-color:rgba(255,255,255,.08);border-radius:var(--radius-pill);background:var(--glass-tint);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--body);font-size:13px;line-height:18px;font-variant-numeric:tabular-nums;pointer-events:none}
.event-capacity>svg{flex:none}
.event-capacity-value{min-width:0;overflow-wrap:anywhere}
/* A narrow editorial measure makes short names stack without altering their text. */
.event-title{min-width:0;max-inline-size:9ch;font-size:40px;font-weight:600;font-synthesis:none;line-height:44px;letter-spacing:-1px;text-wrap:balance;overflow-wrap:anywhere}
.event-details{min-width:0;text-align:right}
.event-location{font-size:12px;line-height:18px;letter-spacing:.5px;text-transform:uppercase;color:var(--body);overflow-wrap:anywhere}
.event-date{margin-top:4px;color:var(--body);font-size:20px;line-height:28px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
/* Same glass material as story-category; keep the CTA's own type and hit size. */
.event-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:12px 16px;border:1px solid var(--glass-border);border-color:rgba(255,255,255,.5) rgba(255,255,255,.16) rgba(255,255,255,.22) rgba(255,255,255,.34);border-radius:var(--radius-pill);background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.02) 48%,rgba(255,255,255,.06)),var(--glass-tint);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(255,255,255,.04),0 2px 8px rgba(0,0,0,.14);color:var(--ink);font-size:14px;line-height:20px;white-space:nowrap;transition:border-color 180ms ease,box-shadow 180ms ease}
.event-action>svg{width:16px;height:16px;transition:transform 180ms ease}
.event-action.is-unavailable,.event-row:has(.event-hit:disabled) .event-action{color:var(--mute);border-color:var(--hairline);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.event-hit{position:absolute;inset:0;z-index:1;border:0;padding:0;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer}
.event-hit:disabled{cursor:default}
.event-hit:focus-visible{outline-offset:-8px}
.events-page:not([data-pointer-input]) .event-row:has(.event-hit:focus-visible)::after{opacity:1}
.events-page:not([data-pointer-input]) .event-row:has(.event-hit:focus-visible) .event-visual[data-ready]{--event-grayscale:0;opacity:1}
.events-page:not([data-pointer-input]) .event-row:has(.event-hit:focus-visible) .event-action{border-color:rgba(255,255,255,.66) rgba(255,255,255,.24) rgba(255,255,255,.3) rgba(255,255,255,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.06),0 2px 8px rgba(0,0,0,.2)}
@media(hover:hover) and (pointer:fine){
 .event-row:has(.event-hit:not(:disabled)):hover::after{opacity:1}
 .event-row:has(.event-hit:not(:disabled)):hover .event-visual[data-ready]{--event-grayscale:0;opacity:1}
 .event-row:has(.event-hit:not(:disabled)):hover .event-action{border-color:rgba(255,255,255,.66) rgba(255,255,255,.24) rgba(255,255,255,.3) rgba(255,255,255,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.06),0 2px 8px rgba(0,0,0,.2)}
 .event-row:has(.event-hit:not(:disabled)):hover .event-action>svg{transform:translateX(2px)}
}
@media(hover:none), (pointer:coarse){
 .event-row:has(.event-hit:not(:disabled):active)::after{opacity:1;transition:none}
 .event-row:has(.event-hit:not(:disabled):active) .event-visual[data-ready]{--event-grayscale:0;opacity:1;transition:none}
 .event-row:has(.event-hit:not(:disabled):active) .event-image{transition:none}
}
@media(prefers-reduced-transparency:reduce), (prefers-contrast:more){
 .event-capacity{background:var(--canvas-card);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:rgba(255,255,255,.5)}
 .event-row::after{padding:0;border:1px solid rgba(255,255,255,.5);background:none;-webkit-mask:none;mask:none;opacity:1}
 .event-action:not(.is-unavailable){background:var(--canvas-card);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:rgba(255,255,255,.5)!important;box-shadow:none!important}
}
@media(forced-colors:active){
 .event-capacity{background:Canvas;color:CanvasText;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:CanvasText}
 .event-row::after{padding:0;border:1px solid CanvasText;background:none;-webkit-mask:none;mask:none;opacity:1}
 .event-visual{display:none}
 .event-action{background:ButtonFace;color:ButtonText;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:ButtonText!important;box-shadow:none!important}
 .event-action.is-unavailable,.event-row:has(.event-hit:disabled) .event-action{color:GrayText;border-color:GrayText!important}
}
.events-empty{padding:32px 0;color:var(--mute);font-size:16px;line-height:26px}
.event-preview-dialog{width:min(440px,calc(100% - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:56px 32px 32px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:var(--canvas-card);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.4);overscroll-behavior:contain}
.event-preview-dialog::backdrop{background:rgba(0,0,0,.6)}
.event-preview-dialog h2{font-size:28px;line-height:34px;letter-spacing:-.5px}
.event-preview-dialog p{margin-top:16px;color:var(--body);font-size:16px;line-height:26px}
.event-preview-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--body)}
.event-preview-close:hover{background:rgba(255,255,255,.07);color:var(--ink)}
html:has(.event-preview-dialog[open]){overflow:hidden}
@media(max-width:1023px){
 .event-content{grid-template-columns:minmax(0,1fr) 144px 144px;gap:24px;min-height:max(192px,var(--event-cover-min-height,0px))}
 .event-title{font-size:36px;line-height:40px;letter-spacing:-.8px}
}
@media(max-width:767px){
 .events-page{padding:24px 0 32px}
 .events-intro{margin-bottom:24px}
 .events-intro h1{font-size:32px;line-height:36px;letter-spacing:-.9px}
 .events-section+.events-section{margin-top:48px}
 .events-section-title{font-size:26px;line-height:32px;letter-spacing:-.5px;margin-bottom:24px}
 .event-content{grid-template-columns:minmax(0,1fr) 136px;gap:24px 16px;min-height:max(224px,var(--event-cover-min-height,0px));padding:24px 16px}
 .event-content:has(.event-capacity){padding-top:64px}
 .event-capacity{top:16px;right:16px;max-width:calc(100% - 32px)}
 .event-title{grid-column:1/-1;font-size:32px;line-height:36px;letter-spacing:-.7px}
 .event-location{font-size:11px;line-height:18px;letter-spacing:.3px}
 .event-date{font-size:18px;line-height:24px}
 .event-action{padding-inline:12px;gap:8px}
 .event-preview-dialog{padding:56px 24px 24px}
}
@media(max-width:359px){
 .event-content{grid-template-columns:minmax(0,1fr) 128px;column-gap:8px}
}
