/* ---------- hero ---------- */
.hero{max-width:var(--content-max); margin:0 auto; padding:64px var(--gutter) 10px;}
.hero h1{font-size:clamp(30px, 5vw, 44px); line-height:1.14; overflow-wrap:break-word; max-width:var(--article-max); text-wrap:balance;}
.hero-note{margin:20px 0 0; font-size:18px; color:var(--ink-soft); max-width:var(--article-max);}
.hero-actions{display:flex; flex-wrap:wrap; gap:24px; margin-top:10px; font-family:var(--sans); font-size:15px;}
/* ---------- article ---------- */
main{max-width:var(--content-max); margin:0 auto; padding:8px var(--gutter) 24px;}
.btn{
  display:inline-block; font-family:var(--sans); font-size:15px; font-weight:500;
  text-decoration:underline; text-decoration-color:rgba(26,43,74,.32); text-underline-offset:3px;
  padding:0; border:none;
}
.btn:hover{text-decoration-color:currentColor;}
.btn-primary{color:var(--accent); font-weight:600;}
.btn-secondary{color:var(--ink-soft);}
section.block{max-width:var(--article-max); margin:64px 0 0;}
section.block:first-of-type{margin-top:12px;}
.block-head{margin-bottom:6px;}
.block h2{font-family:var(--sans); font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); opacity:.7; font-weight:400;}
/* ---------- event list ---------- */
.event-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
.event-card{
  display:block; text-decoration:none; color:inherit;
  border-top:1px solid var(--line);
  padding:26px 0;
  transition:opacity .12s;
}
.event-list li:last-child .event-card{border-bottom:1px solid var(--line);}
.event-card:hover{opacity:.68;}
.event-top{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.eyebrow{
  display:inline-block; font-family:var(--sans); font-weight:400; font-size:11px;
  text-transform:uppercase; letter-spacing:0.14em; color:var(--muted); opacity:.7;
}
.eyebrow--upcoming{color:var(--accent); opacity:.85;}
.eyebrow--past{color:var(--muted);}
.event-card h3{font-size:26px; margin-top:8px; font-weight:500;}
.event-when{margin-top:6px; font-size:15px; color:var(--muted); font-family:var(--sans); font-variant-numeric:tabular-nums;}
.event-card p{margin:12px 0 0; font-size:17px; color:var(--ink-soft); max-width:64ch;}
.event-cta{
  display:inline-block; margin-top:14px; font-family:var(--sans); font-weight:500; font-size:14px;
  color:var(--accent); text-decoration:underline; text-decoration-color:rgba(26,43,74,.32); text-underline-offset:3px;
}
.event-card:hover .event-cta{text-decoration-color:currentColor;}
/* Side by side, equal height (grid rows stretch); same width as the text above. */
.event-list--cols{display:grid; grid-template-columns:1fr 1fr; gap:0 32px;}
.event-list--cols li .event-card{height:100%; box-sizing:border-box; border-bottom:1px solid var(--line);}
.event-list--cols .event-card h3{font-family:var(--sans); font-size:inherit;}
.event-list--cols .event-card{display:flex; flex-direction:column;}
.event-list--cols .event-cta{margin-top:auto; padding-top:14px; align-self:flex-start;}
@media (max-width:820px){
  .event-list--cols{grid-template-columns:1fr;}
  .event-list--cols li:not(:last-child) .event-card{border-bottom:none;}
}
@media (max-width:820px){
  .hero{padding:44px var(--gutter) 8px;}
}
.brand{font-family:var(--sans);}
