/**
 * Dedicated Next Meeting page.
 *
 * Meeting calculations remain in includes/meeting-schedule.php. This file is
 * deliberately presentation-only so future schedule changes never require a
 * layout edit.
 */
.meeting-page-hero {
  min-height:31rem;
  padding:clamp(3.5rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:minmax(9rem,12rem) minmax(0,.9fr) minmax(19rem,1fr);
  gap:clamp(1.5rem,4vw,4rem);
  align-items:center;
  background:#f4f0e8
}
.meeting-page-date {
  min-height:18rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#e54b38;
  color:#fff;
  box-shadow:1rem 1rem 0 #f2b84b
}
.meeting-page-date span,
.meeting-page-date small {
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.22em
}
.meeting-page-date strong {
  font:500 clamp(5rem,9vw,8rem)/.9 "Oswald",sans-serif
}
.meeting-page-hero h1 {
  max-width:56rem;
  margin:1.25rem 0;
  font:500 clamp(3.25rem,7vw,7.25rem)/.86 "Oswald",sans-serif;
  letter-spacing:-.04em;
  text-transform:uppercase
}
.meeting-recurrence {
  margin:0;
  color:#173f78;
  font:600 clamp(1.35rem,2.6vw,2.2rem)/1.15 "Oswald",sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase
}
.meeting-page-intro {
  max-width:46rem;
  color:#616a78;
  font-size:1.05rem;
  line-height:1.75
}
.meeting-page-photo {
  display:block;
  color:inherit
}
.meeting-page-photo figure {
  position:relative;
  min-height:24rem;
  margin:0;
  overflow:hidden;
  background:#101b33;
  box-shadow:.8rem .8rem 0 #f2b84b
}
.meeting-page-photo img {
  width:100%;
  height:24rem;
  display:block;
  object-fit:cover;
  transition:transform .35s ease
}
.meeting-page-photo figcaption {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  padding:1rem 1.15rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  background:rgba(16,27,51,.92);
  color:#fff;
  font-size:.72rem;
  font-weight:700
}
.meeting-page-photo figcaption strong {
  color:#f2b84b;
  text-transform:uppercase
}
.meeting-page-photo:hover img,
.meeting-page-photo:focus-visible img {
  transform:scale(1.025)
}
.meeting-page-photo:focus-visible {
  outline:3px solid #173f78;
  outline-offset:.35rem
}
.meeting-page-details {
  padding:clamp(4rem,8vw,7.5rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:1fr 1.15fr .95fr;
  gap:clamp(2rem,5vw,5rem)
}
.meeting-page-details>div+div {
  padding-left:clamp(1.5rem,3vw,3rem);
  border-left:1px solid #d9d5cc
}
.section-kicker {
  color:#e54b38;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase
}
.meeting-page-details h2 {
  margin:.85rem 0;
  font:500 clamp(1.85rem,3vw,2.85rem)/1 "Oswald",sans-serif;
  text-transform:uppercase
}
.meeting-page-details p {
  color:#657080;
  line-height:1.7
}
.meeting-page-actions {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.75rem
}
.meeting-page-actions .button {
  width:100%
}
.button-calendar {
  border-color:#173f78;
  background:#173f78
}
.meeting-page-actions>p {
  margin:.35rem 0 0;
  font-size:.76rem
}
.meeting-page-welcome {
  padding:clamp(4rem,8vw,7.5rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  background:#101b33;
  color:#fff
}
.meeting-page-welcome h2 {
  max-width:60rem;
  margin:1.25rem 0 3rem;
  font:500 clamp(3rem,6vw,6rem)/.9 "Oswald",sans-serif;
  letter-spacing:-.035em;
  text-transform:uppercase
}
.meeting-page-notes {
  margin-bottom:2.5rem;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.2)
}
.meeting-page-notes article {
  padding:2rem 2rem 2rem 0;
  border-bottom:1px solid rgba(255,255,255,.2)
}
.meeting-page-notes article+article {
  padding-left:2rem;
  border-left:1px solid rgba(255,255,255,.2)
}
.meeting-page-notes strong {
  color:#f2b84b;
  font:500 1.5rem "Oswald",sans-serif
}
.meeting-page-notes h3 {
  margin:.65rem 0;
  font:500 1.6rem "Oswald",sans-serif;
  text-transform:uppercase
}
.meeting-page-notes p {
  color:#c6d0df;
  line-height:1.7
}
@media(max-width:70rem) {
  .meeting-page-hero {
    grid-template-columns:minmax(9rem,12rem) minmax(0,1fr)
  }
  .meeting-page-photo {
    grid-column:1 / -1
  }
  .meeting-page-photo figure,
  .meeting-page-photo img {
    height:28rem
  }
}
@media(max-width:56.25rem) {
  .meeting-page-details,
  .meeting-page-notes {
    grid-template-columns:1fr
  }
  .meeting-page-details>div+div,
  .meeting-page-notes article+article {
    padding-left:0;
    border-left:0
  }
}
@media(max-width:42.5rem) {
  .meeting-page-hero {
    grid-template-columns:1fr;
    padding-left:1.25rem;
    padding-right:1.25rem
  }
  .meeting-page-date {
    width:min(100%,15rem);
    min-height:12rem
  }
  .meeting-page-photo {
    grid-column:auto
  }
  .meeting-page-photo figure,
  .meeting-page-photo img {
    height:20rem;
    min-height:20rem
  }
  .meeting-page-photo figcaption {
    flex-direction:column;
    gap:.35rem
  }
  .meeting-page-details,
  .meeting-page-welcome {
    padding-left:1.25rem;
    padding-right:1.25rem
  }
}
