/* LP hover / keyboard interaction enhancements.
   Motion applies only with a fine hover pointer; touch interactions retain their base styling. */

/* Visual changes are modest so the supplied PC/SP layouts remain unchanged. */
:where(
  .pc-header-cta,
  .sp-sticky-cta,
  .hero-primary-cta,
  .empathy-cta,
  .confidentiality-cta-button,
  .middle-cta-button,
  .final-cta-button,
  .main-multi-step-form .btn-primary,
  .main-multi-step-form .btn-secondary
) {
  transition: translate .28s ease, box-shadow .28s ease, filter .28s ease,
    background-color .28s ease, border-color .28s ease;
}

:where(
  .difficulty-card,
  .industry-value-card,
  .service-card,
  .fa-comparison-card,
  .pricing-item,
  .advisor-panel
) {
  transition: translate .32s ease, box-shadow .32s ease, border-color .32s ease;
}

:where(
  .industry-value-tabs a,
  .faq-accordion-item summary,
  .footer-links a,
  .fa-comparison-link,
  .main-multi-step-form .choice
) {
  transition: background-color .24s ease, border-color .24s ease,
    color .24s ease, box-shadow .24s ease, filter .24s ease;
}

/* Only link-like/interactive surfaces receive a pointer animation. */
@media (hover: hover) and (pointer: fine) {
  :is(
    .pc-header-cta,
    .sp-sticky-cta,
    .hero-primary-cta,
    .empathy-cta,
    .confidentiality-cta-button,
    .middle-cta-button,
    .final-cta-button,
    .main-multi-step-form .btn-primary:not(:disabled)
  ):hover {
    translate: 0 -3px;
    filter: brightness(1.06);
    box-shadow: 0 9px 20px rgba(9, 32, 67, .25);
  }

  :is(
    .pc-header-cta,
    .sp-sticky-cta,
    .hero-primary-cta,
    .empathy-cta,
    .confidentiality-cta-button,
    .middle-cta-button,
    .final-cta-button,
    .main-multi-step-form .btn-primary:not(:disabled)
  ):active {
    translate: 0 1px;
    filter: brightness(.98);
  }

  :is(.main-multi-step-form .btn-secondary):not(:disabled):hover {
    translate: 0 -2px;
    background-color: #f1f5fb;
    border-color: #9bafce;
  }

  /* Information cards are not links: no pointer cursor or misleading click effect. */
  :is(
    .difficulty-card,
    .industry-value-card,
    .service-card,
    .fa-comparison-card,
    .pricing-item,
    .advisor-panel
  ):hover {
    translate: 0 -3px;
    box-shadow: 0 12px 23px rgba(19, 43, 79, .17);
  }

  .industry-value-tabs a:not(.is-active):hover {
    filter: brightness(1.06);
    box-shadow: 0 4px 12px rgba(15, 45, 93, .16);
  }

  .faq-accordion-item summary:hover {
    filter: brightness(1.12);
  }

  .footer-links a:hover,
  .fa-comparison-link:hover {
    color: #efc76b;
    text-decoration-color: currentColor;
  }

  .main-multi-step-form .choice:not(:has(input:checked)):hover {
    background-color: #f3f6fc;
    border-color: #8da7d4;
  }
}

/* Tap/keyboard focus should never require hover to be recognized. */
:where(
  .pc-header-cta,
  .sp-sticky-cta,
  .hero-primary-cta,
  .empathy-cta,
  .confidentiality-cta-button,
  .middle-cta-button,
  .final-cta-button,
  .industry-value-tabs a,
  .fa-comparison-link,
  .footer-links a,
  .faq-accordion-item summary,
  .main-multi-step-form .btn-primary,
  .main-multi-step-form .btn-secondary
):focus-visible {
  outline: 3px solid #d9ab42;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  :where(
    .pc-header-cta, .sp-sticky-cta, .hero-primary-cta, .empathy-cta,
    .confidentiality-cta-button, .middle-cta-button, .final-cta-button,
    .main-multi-step-form .btn-primary, .main-multi-step-form .btn-secondary,
    .difficulty-card, .industry-value-card, .service-card, .fa-comparison-card,
    .pricing-item, .advisor-panel, .industry-value-tabs a,
    .faq-accordion-item summary, .footer-links a, .fa-comparison-link,
    .main-multi-step-form .choice
  ) {
    transition: none !important;
    translate: none !important;
  }
}
