/**
 * Shared page-title system.
 *
 * The event archive hero is the visual reference for every public page title.
 */
body :is(
  .hero,
  .association-hero,
  .inner-hero,
  .community-hero,
  .calendar-hero,
  .teamspeak-hero,
  .newsroom-hero__content,
  .legal-hero,
  .article-hero,
  .aze-single-hero,
  .page-header
) h1,
.content-page > .prose > h1,
.empty-state > h1 {
  max-width: 850px;
  font-family: var(--az-font-display);
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 700;
  line-height: .88;
  letter-spacing: .02em;
  text-transform: uppercase;
}

body :is(
  .hero,
  .association-hero,
  .inner-hero,
  .community-hero,
  .calendar-hero,
  .teamspeak-hero,
  .newsroom-hero__content
) h1 :is(span, strong) {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

body :is(
  .hero,
  .association-hero,
  .inner-hero,
  .community-hero,
  .calendar-hero,
  .teamspeak-hero,
  .newsroom-hero__content
) h1 strong {
  text-shadow: 0 4px 0 rgba(0, 0, 0, .2);
}

.inner-hero--games h1 :is(span, strong) {
  white-space: nowrap;
}

@media (max-width: 640px) {
  body :is(
    .hero,
    .association-hero,
    .inner-hero,
    .community-hero,
    .calendar-hero,
    .teamspeak-hero,
    .newsroom-hero__content,
    .legal-hero,
    .article-hero,
    .aze-single-hero,
    .page-header
  ) h1,
  .content-page > .prose > h1,
  .empty-state > h1 {
    max-width: 100%;
    overflow-wrap: normal;
    white-space: normal;
    font-size: clamp(1.95rem, 8.3vw, 2.2rem);
    line-height: .92;
  }

  body :is(
    .hero,
    .association-hero,
    .inner-hero,
    .community-hero,
    .calendar-hero,
    .teamspeak-hero,
    .newsroom-hero__content
  ) h1 :is(span, strong) {
    white-space: normal;
  }

  body .inner-hero--games h1 {
    font-size: clamp(1.7rem, 7.5vw, 2.2rem);
  }

  body .inner-hero--games h1 :is(span, strong) {
    white-space: nowrap;
  }
}
