/* Targeted accessibility corrections for the current production output. */
.services > .section-heading .section-tag {
  color: #216bea;
}

.service-card.card-sky > p {
  color: #596a80;
}

.clients-footer,
.form-head p,
.contact-form label > span {
  color: #68758a;
}

.clients-pagination button,
.contact-form > small {
  color: #657286;
}

.steps article > p {
  color: #657286;
}

.site-footer-bottom {
  color: rgba(255, 255, 255, 0.62);
}

.footer-bottom-legal a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

/* Keep the existing movement without briefly reducing readable text contrast. */
.motion-ready .steps article {
  opacity: 1;
}

@keyframes processStepIn {
  0% {
    opacity: 1;
    background: transparent;
    transform: translateY(16px);
  }

  52% {
    opacity: 1;
    background: rgb(36 111 242 / 5.5%);
  }

  100% {
    opacity: 1;
    background: transparent;
    transform: translateY(0);
  }
}

/* Keep the existing legal desktop/tablet scale after the bundled base rules. */
@media (width >= 1101px) {
  .legal-page-hero {
    padding: clamp(54px, 3.5vw, 68px) max(4vw, 50vw - 840px) clamp(62px, 4vw, 78px);
  }

  .legal-page-hero h1 {
    letter-spacing: -0.068em;
    max-width: 1120px;
    margin: clamp(28px, 2vw, 36px) 0;
    font-size: clamp(64px, 5.15vw, 96px);
    line-height: 0.89;
  }
}

@media (width >= 641px) and (width <= 1100px) {
  .legal-page-hero {
    padding: 72px 5vw 76px;
  }

  .legal-page-hero h1 {
    letter-spacing: -0.064em;
    max-width: 980px;
    margin: 32px 0 28px;
    font-size: clamp(50px, 7.4vw, 76px);
    line-height: 0.9;
  }
}

@media (width <= 640px) {
  .legal-page-hero .service-accent-heading__line {
    overflow-wrap: anywhere;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
