/* Events share the main site's design system. */
.events-shell{width:100%;margin:0}
.events-intro{background:var(--dark-bg);color:var(--dark-ink);padding:140px 0 100px}
.events-intro .eyebrow-row{margin-bottom:44px}
.events-intro .idx{color:var(--dark-muted)}
.events-intro .ln{background:var(--dark-line)}
.events-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,5vw,72px);align-items:center}
.events-hero-copy .kicker{margin-bottom:20px}
.events-title{font-size:clamp(52px,6.2vw,86px);line-height:1.04;letter-spacing:-.045em}
.events-title span,.events-title sup{color:var(--accent)}
.events-title sup{font-size:.4em;vertical-align:super;margin-left:.05em}
.events-definition{margin:18px 0 32px;color:var(--dark-muted)}
.events-lead{font-size:15px;font-weight:700;color:var(--dark-ink);margin-bottom:14px}
.events-thanks{max-width:48ch;color:var(--dark-muted);margin-bottom:28px}
.events-release{border-top:1px solid var(--dark-line);padding-top:24px}
.events-release p{color:var(--dark-muted);margin-bottom:20px}
.events-hero-photo{margin:0}
.events-hero-photo picture{display:block}
.events-hero-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg)}
.events-hero-photo figcaption{padding-top:16px;color:var(--dark-muted);font-size:13px}
.events-upcoming{background:var(--bg)}
.events-upcoming .kicker{margin-bottom:20px}
.events-section-title{font-size:52px;line-height:1.06;max-width:19ch;margin-bottom:56px}
.events-list{border-top:1px solid var(--line)}
.event-card{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(36px,6vw,84px);padding:48px 0;border-bottom:1px solid var(--line)}
.event-date-group{align-self:start}
.event-date{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:20px}
.event-date__day{grid-column:1;grid-row:1/3;font-size:clamp(64px,7vw,96px);font-weight:700;line-height:.95;letter-spacing:-.06em;color:var(--accent)}
.event-date__month{grid-column:2;grid-row:1;font-size:15px;font-weight:700;line-height:1.4}
.event-date__year{grid-column:2;grid-row:2;font-size:13px;color:var(--muted);align-self:start;padding-top:4px}
.event-calendar{margin-top:24px}
.event-calendar p{font-size:13px;color:var(--muted);margin-bottom:10px}
.event-calendar__links{display:flex;flex-wrap:wrap;gap:8px 16px}
.event-calendar__links a{font-size:13px;font-weight:700;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;transition:color .2s}
.event-calendar__links a:hover{color:var(--accent);text-decoration-color:currentColor}
.event-calendar__links span{font-size:11px;color:var(--muted)}
.event-copy{max-width:70ch}
.event-copy .kicker{margin-bottom:12px;color:var(--muted)}
.event-title{font-size:28px;font-weight:700;line-height:1.2;margin-bottom:24px}
.event-copy p:not(.kicker){color:var(--ink-soft);line-height:1.65;margin-bottom:16px}
.event-copy p:last-child{margin-bottom:0}
.events-closing{background:var(--dark-bg);color:var(--dark-ink)}
.events-closing .wrap>p:first-child{color:var(--dark-muted);margin-bottom:20px}
.events-farewell{font-size:52px;font-weight:700;line-height:1.06;letter-spacing:-.03em;margin-bottom:32px}
.events-organizer{color:var(--dark-muted);margin:36px 0 0;font-size:13px}
.events-page a:focus-visible,.events-page button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
@media(max-width:900px){
  .events-intro{padding:116px 0 72px}
  .events-intro .eyebrow-row{margin-bottom:32px}
  .events-hero-grid{grid-template-columns:1fr;gap:40px}
  .events-hero-photo{max-width:640px}
  .events-hero-photo img{aspect-ratio:16/10}
  .event-card{grid-template-columns:180px minmax(0,1fr);gap:32px}
}
@media(max-width:600px){
  .events-intro{padding-top:104px}
  .events-title{font-size:52px}
  .events-section-title,.events-farewell{font-size:36px}
  .events-section-title{margin-bottom:36px}
  .event-card{grid-template-columns:1fr;gap:28px;padding:36px 0}
  .event-date{max-width:240px}
  .event-date__day{font-size:76px}
  .event-title{font-size:26px;margin-bottom:20px}
  .events-release .btn{max-width:100%;white-space:normal}
}
