/* UI audit corrections and accessibility refinements */
.hero {
  overflow: visible !important;
}

.hero-stats {
  z-index: 8;
}

.hero + .section {
  position: relative;
  z-index: 1;
}

.journey-spacer {
  height: 210vh;
}

.nav-link:focus-visible,
.btn:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(123, 69, 219, .42) !important;
  outline-offset: 3px;
}

.contact-form label {
  color: #4f4f55;
  font-size: .75rem;
  font-weight: 800;
  margin: 0 0 7px 2px;
}

.field-required::after {
  color: var(--red);
  content: " *";
}

.form-help {
  color: #8a8a90;
  display: block;
  font-size: .72rem;
  margin: 6px 0 0 2px;
}

@media (max-width: 991px) {
  .journey-sticky {
    height: auto;
    min-height: 0;
    padding: 70px 0;
    position: relative;
  }

  .journey-spacer {
    display: none;
  }

  .journey-stage {
    gap: 35px;
    grid-template-columns: 1fr;
    text-align: left;
  }

  .journey-copy {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr 1fr;
    height: auto;
    order: 2;
  }

  .journey-step,
  .journey-step.active {
    background: #202023;
    border: 1px solid #353538;
    border-radius: 18px;
    display: block;
    inset: auto;
    opacity: 1;
    padding: 24px;
    pointer-events: auto;
    position: relative;
    transform: none;
  }

  .journey-step h3 {
    font-size: 1.35rem;
    letter-spacing: -.03em;
    margin: 12px 0;
  }

  .journey-step p {
    font-size: .9rem;
    margin: 0;
  }

  .journey-visual {
    height: 320px;
    order: 1;
    width: 300px;
  }

  .journey-visual img {
    height: 210px;
    width: 145px;
  }

  .ring-a {
    height: 250px;
    width: 250px;
  }

  .ring-b {
    height: 320px;
    width: 320px;
  }

  .journey-icon {
    font-size: 1.5rem;
    height: 55px;
    width: 55px;
  }

  .hero-stats {
    margin-bottom: -45px;
    transform: none;
  }
}

@media (max-width: 575px) {
  .journey-intro {
    padding: 85px 0 35px;
  }

  .journey-copy {
    grid-template-columns: 1fr;
  }

  .journey-sticky {
    padding: 50px 0;
  }

  .journey-visual {
    height: 280px;
  }

  .hero-stats {
    margin: 0 0 -35px;
  }

  .hero-stats strong {
    font-size: 1.4rem;
  }
}
