/* Final visual refinements from staging review. */

/* Footer */
.site-footer__brand { display: inline-flex; }
.site-footer__brand:hover { opacity: .9; transform: none !important; }
.site-footer__brand:focus-visible { outline-color: var(--white); }

/* Contact forms */
.contact-radio span { font-size: clamp(.95rem, 1.25vw, 1.08rem); line-height: 1.45; }

/* FAQ */
.faq-hero { padding-bottom: clamp(4.5rem, 8vw, 7rem); }
.faq-hero__count { display: none !important; }
.faq-section { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.faq-search { margin-top: 0; }
.faq-search__status:empty { display: none; }

/* Images should meet their frames without an inner gutter. */
.about-intro__media,
.home-contact__media { padding: 0; }
.about-intro__media img,
.home-contact__media img { border-radius: inherit; }

/* Keep About cards on the same visual and typographic language as standard cards. */
.about-audience-card {
  border: 1px solid var(--line);
  box-shadow: 0 3px 12px rgb(0 21 51 / .035);
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}
.about-audience-card h3 {
  font-size: 1.45rem;
  line-height: 1.22;
  letter-spacing: -.025em;
}
.about-audience-card:hover {
  transform: translateY(-5px);
  border-color: var(--link);
  box-shadow: 0 18px 34px rgb(0 21 51 / .13);
}

/* Homepage innovation journey */
.innovation-journey__canvas { min-height: clamp(1200px, 145vh, 1450px); }
.innovation-journey__path { stroke-width: 18; }
.innovation-journey.journey-enhanced .innovation-journey__checkpoint {
  opacity: 0 !important;
  pointer-events: none;
}
.innovation-journey__checkpoint-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.innovation-journey__checkpoint-dot {
  position: absolute;
  width: 22px;
  height: 22px;
  border: 4px solid var(--brand);
  border-radius: 50%;
  background: var(--white);
  opacity: 0;
  transform: translate(-50%, -50%) scale(.72);
  transition: opacity .28s ease, background-color .28s ease, transform .3s ease;
}
.innovation-journey__checkpoint-dot.is-active {
  background: var(--link);
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.innovation-journey__card {
  box-shadow: 0 12px 30px rgb(0 21 51 / .11);
  transition: opacity .48s ease, transform .48s cubic-bezier(.22, .72, .25, 1), box-shadow .32s ease, border-color .32s ease;
}
.innovation-journey.journey-enhanced .innovation-journey__card.is-active:hover {
  transform: translateY(-5px) scale(1);
  border-color: var(--link);
  box-shadow: 0 22px 42px rgb(0 21 51 / .17);
}

/* Homepage results */
.result-card__label { font-weight: 700; }
.result-card__value {
  justify-content: center;
  font-weight: 700;
  text-align: center;
}
.result-card__caption { text-align: center; }
.result-card__value.is-spinning .slot-digit__track {
  transition-duration: var(--slot-duration, 1.65s);
}

/* Blog pagination */
.blog-pagination { margin-top: 1rem; text-align: center; }
.blog-pagination .page-numbers { display: inline-block; margin: .2rem .25rem; }

@media (max-width: 820px) {
  .innovation-journey__path { stroke-width: 7; }
  .innovation-journey__canvas { gap: clamp(2.5rem, 8vw, 4rem); }
  .innovation-journey__checkpoint-dot {
    width: 11px;
    height: 11px;
    border-width: 2px;
  }
}

@media (max-width: 650px) {
  .faq-search { margin-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .innovation-journey__checkpoint-dot { transition: none; }
  .innovation-journey.journey-enhanced .innovation-journey__card.is-active:hover { transform: none; }
  .about-audience-card { transition: none; }
  .about-audience-card:hover { transform: none; }
}
