.home-page .home-main {
  display: block;
  width: min(100%, 80rem);
  margin-inline: auto;
  padding: clamp(4.5rem, 9vw, 8rem) clamp(1.5rem, 5vw, 4rem) 6rem;
}

.home-intro { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.home-intro p {
  margin: 0 0 1rem;
  color: #a3a3a3;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.home-intro h1 { max-width: 16ch; margin: 0; font-size: clamp(3rem, 6vw, 5.5rem); }

.featured-event {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.52fr);
  overflow: hidden;
  min-height: 27rem;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 0.75rem;
  color: #fff;
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease;
}
.featured-event:hover { border-color: rgba(255, 255, 255, 0.7); background: #151515; }
.featured-event:focus-visible { outline: 3px solid #22c55e; outline-offset: 4px; }
.featured-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(2rem, 5vw, 4rem); }
.featured-date { margin: 0 0 2rem; color: #a3a3a3; font-size: 0.875rem; }
.featured-date span, .featured-place span { padding-inline: 0.35rem; }
.featured-copy h2 {
  max-width: 15ch;
  margin: 0 0 1rem;
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(2.5rem, 4.2vw, 4rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.05;
}
.featured-place { margin: 0 0 2rem; color: #bdbdbd; }
.featured-action { display: inline-flex; gap: 0.75rem; align-items: center; margin-top: auto; border-bottom: 1px solid #fff; padding-bottom: 0.45rem; font-weight: 600; }
.featured-action span { font-size: 1.3rem; font-weight: 400; }
.featured-image { min-height: 100%; overflow: hidden; background: #0d3150; }
.featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.event-list { display: grid; gap: 1.5rem; }
.featured-event--compact { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.featured-event--compact .featured-copy h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.home-empty { margin: 0; color: #bdbdbd; font-size: 1.125rem; }
.home-page .site-footer { margin-top: 0; }

@media (max-width: 640px) {
  .home-page .home-main { padding: 4rem 1.5rem 5rem; }
  .home-intro h1 { max-width: 11ch; }
  .featured-event { display: flex; flex-direction: column-reverse; min-height: 0; }
  .featured-image { height: 15rem; min-height: 0; }
  .featured-copy { min-height: 20rem; padding: 1.5rem; }
  .featured-date { margin-bottom: 1.5rem; }
  .featured-copy h2 { font-size: 2.65rem; }
  .featured-event--compact .featured-copy { min-height: 0; }
  .featured-event--compact .featured-copy h2 { font-size: 2.1rem; }
  .featured-event--compact .featured-action { margin-top: 0; }
  .home-page .site-footer { padding-bottom: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .featured-event { transition: none; }
}
