/* Accessibility and small-screen corrections, kept last in the cascade. */

/* Preserve the visual glitch echoes without announcing each generated copy. */
.hero-text-glitch::before,
.hero-text-glitch::after {
  content: attr(data-text) / "";
}

/* Keep essential labels readable without changing the established hierarchy. */
.nav-links a {
  font-size: 0.75rem !important;
}

.hero-role-glitch {
  font-size: max(0.75rem, 0.9vw) !important;
}

.hero-services-glitch {
  font-size: max(0.72rem, 0.78vw) !important;
  letter-spacing: 0.11em !important;
}

/* White text needs a darker brand-red surface for sufficient contrast. */
.nav-links .nav-cta,
.submit-button,
.spotify-consent-prompt button,
.consent .text-button[data-consent="media"] {
  border-color: #ad2d1b !important;
  background: #ad2d1b !important;
  color: #fff !important;
}

.hero-action:hover,
.hero-action:focus-visible,
.gallery-more:hover,
.gallery-more:focus-visible,
.reference-arrow:hover,
.reference-arrow:focus-visible,
.video-arrow:hover,
.video-arrow:focus-visible {
  border-color: #ad2d1b !important;
  background: #ad2d1b !important;
  color: #fff !important;
}

@media (max-width: 760px) {
  .nav-links a,
  .nav-links .nav-cta {
    font-size: 0.875rem !important;
  }

  .hero-role-glitch {
    font-size: 0.78rem !important;
  }

  .hero-services-glitch {
    font-size: 0.72rem !important;
    line-height: 1.45 !important;
    letter-spacing: 0.08em !important;
  }

  .price-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .price-list article,
  .price-list article:last-child {
    grid-column: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .price-list h3,
  .price-list strong,
  .price-list p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 360px) {
  .hero-services-glitch {
    max-width: 29ch;
    margin-inline: auto;
  }

  .price-list strong {
    font-size: 1.3rem !important;
  }
}
