/* Homepage only: equal room for up to three uncropped promotional graphics. */
.home-events-feature { padding-block: 32px; }
.home-events-feature .home-events-header { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.home-events-feature .home-events-actions { flex-wrap: wrap; max-width: 310px; }
.home-events-feature .home-events-actions > span { flex-basis: 100%; text-align: right; }
.home-featured-events { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.home-featured-events[data-count="1"] { grid-template-columns: minmax(0, 380px); }
.home-featured-events[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 784px; }
.home-featured-events .home-event-card { display: flex; min-width: 0; flex-direction: column; gap: 0; padding: 0; border-top: 0; border-bottom: 1px solid var(--line); }
.home-event-art { display: grid; place-items: center; aspect-ratio: 1; width: 100%; margin: 0 !important; background: #f0eee9; border: 1px solid #e2dfd8; overflow: hidden; }
.home-event-art img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.home-event-art-fallback { padding: 30px; text-align: center; color: var(--navy); }
.home-event-art-fallback span { display: block; margin-bottom: 14px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-event-art-fallback strong { font: 700 clamp(27px, 3vw, 38px)/1.15 var(--font-serif); }
.home-event-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 18px 0 20px; }
.home-event-copy .home-event-label { color: var(--red); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.home-event-copy h3 { margin: 10px 0; font-size: clamp(23px, 2.2vw, 29px); line-height: 1.13; overflow-wrap: anywhere; }
.home-event-copy h3 a { margin: 0; font: inherit; }
.home-event-copy time { display: block; width: auto; height: auto; margin: 0 0 7px; background: none; color: var(--navy); font-size: 13px; font-weight: 800; }
.home-event-copy .home-event-place { line-height: 1.6; margin-bottom: 14px; }
.home-event-copy .home-event-details { margin-top: auto; padding-block: 9px; font-weight: 900; }
.home-event-card a:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }
.home-events-message { margin: 0; padding: 18px 0; color: var(--muted); line-height: 1.6; }
.home-events-message[hidden], .home-featured-events[hidden] { display: none; }
@media (max-width: 960px) {
  .home-events-feature .home-events-header { grid-template-columns: 1fr; }
  .home-events-feature .home-events-actions { max-width: none; justify-content: flex-start; }
  .home-events-feature .home-events-actions > span { text-align: left; }
  .home-featured-events { gap: 18px; }
}
@media (max-width: 700px) {
  .home-featured-events, .home-featured-events[data-count="1"], .home-featured-events[data-count="2"] { grid-template-columns: minmax(0, 1fr); max-width: 440px; margin-inline: auto; gap: 28px; }
  .home-event-copy h3 { font-size: 28px; }
  .home-events-feature .home-events-actions { display: flex; }
}
