.agenda-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.agenda-page { max-width: 68rem; min-height: 60vh; padding-block: var(--inset); }

.agenda-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-bottom: var(--inset);
}
.agenda-intro h1 {
  margin: .35rem 0 .6rem;
  font-size: var(--display-size);
  line-height: 1.04;
  letter-spacing: -.038em;
}
.agenda-intro > div > p:not(.eyebrow) { max-width: 38ch; margin: 0; font-size: clamp(1rem, 1.6vw, 1.18rem); }
.agenda-page h2 { margin: 0; font-size: var(--subhead-size); line-height: 1.2; letter-spacing: -.025em; }
.agenda-subscribe {
  padding: clamp(1rem, 2.4vw, 1.5rem);
  border: var(--thin-rule);
  border-inline-start: .3rem solid var(--blue);
  background: var(--white);
}
.agenda-subscribe p { margin: .5rem 0 .8rem; }
.agenda-subscribe label { display: block; margin-top: .85rem; font-weight: 650; }
.agenda-subscribe input {
  display: block;
  width: 100%;
  min-height: 2.75rem;
  margin-top: .25rem;
  padding: .35rem .55rem;
  border: var(--thin-rule);
  border-radius: 0;
  background: var(--paper);
  font-size: var(--caption-size);
}
.agenda-subscribe .agenda-subscribe-help { margin: .45rem 0 0; color: var(--muted); font-size: var(--caption-size); }

.agenda-upcoming, .agenda-post { padding-block: 1.25rem; border-top: var(--rule); }
.agenda-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .8rem; }
.agenda-filters a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .4rem .65rem;
  border: var(--thin-rule);
  background: var(--white);
  font-size: var(--caption-size);
  font-weight: 650;
  line-height: 1.25;
}
.agenda-filters a[aria-current="page"], .agenda-filters a:hover { background: var(--ink); color: var(--white); }
.agenda-timezone { margin: .65rem 0; color: var(--muted); font-size: var(--caption-size); }
.agenda-dates { margin: .65rem 0 0; padding: 0; list-style: none; border-top: var(--thin-rule); }
.agenda-date {
  display: grid;
  grid-template-columns: minmax(7rem, .8fr) minmax(0, 3fr);
  gap: .65rem 1.2rem;
  padding: .7rem .85rem;
  border-bottom: var(--thin-rule);
  background: var(--white);
}
.agenda-date-time { display: flex; flex-direction: column; align-items: flex-start; font-variant-numeric: tabular-nums; }
.agenda-date-time > time { font-weight: 700; }
.agenda-date-time > span { color: var(--muted); font-size: var(--caption-size); }
.agenda-date-category { margin: 0; color: var(--muted); font-size: var(--caption-size); }
.agenda-date-category::before {
  content: "";
  display: inline-block;
  width: .55rem;
  height: .55rem;
  margin-inline-end: .4rem;
  background: var(--blue);
}
.agenda-date[data-type="event"] .agenda-date-category::before { background: var(--red); }
.agenda-date[data-type="deadline"] .agenda-date-category::before { background: var(--yellow); }
.agenda-date h3 { margin: .1rem 0 0; font-size: 1.1rem; line-height: 1.35; overflow-wrap: anywhere; }
.agenda-date h3 a { text-decoration: underline; text-underline-offset: .2em; }
.agenda-date h3 a:hover { color: var(--blue); }
.agenda-post { margin-top: .65rem; }
.agenda-post p { max-width: 58ch; margin: .4rem 0 .55rem; }

@media (max-width: 49rem) {
  .agenda-intro { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 30rem) {
  .agenda-date { grid-template-columns: minmax(0, 1fr); gap: .2rem; padding-inline: .65rem; }
  .agenda-date-time { flex-direction: row; flex-wrap: wrap; align-items: baseline; column-gap: .55rem; }
}
