/**
 * Site-wide micro-interactions: cards (hover lift), buttons (color transition).
 * Fast (0.2s–0.6s), subtle, consistent.
 */

/* Buttons: smooth color / shadow / lift */
.btn,
.btn-primary,
.btn-outline,
.btn-sm,
.gc-shared-cta {
  transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease,
    box-shadow 0.35s ease, transform 0.22s ease, filter 0.28s ease,
    opacity 0.25s ease;
}

/* Primary buttons — match nav CTA (solid purple, Inter, same scale) */
.btn-primary,
button.btn-primary,
a.btn.btn-primary,
.btn.btn-primary.quiz-next,
#result-cta.btn.btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.7rem 1.4rem !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;
  background: #454bdd !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: 0 8px 22px rgba(69, 75, 221, 0.35) !important;
}

@media (hover: hover) and (pointer: fine) {
  .btn-primary:hover,
  button.btn-primary:hover,
  a.btn.btn-primary:hover,
  .btn.btn-primary.quiz-next:hover,
  #result-cta.btn.btn-primary:hover {
    background: #3a41c4 !important;
    background-image: none !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(69, 75, 221, 0.42) !important;
  }
}

/* Touch: mirror hover lift/color on press */
@media (hover: none), (pointer: coarse) {
  .btn-primary:active,
  button.btn-primary:active,
  a.btn.btn-primary:active,
  .gc-shared-cta:active {
    background: #3a41c4 !important;
    transform: scale(0.98);
    box-shadow: 0 6px 16px rgba(69, 75, 221, 0.35) !important;
  }

  .hero-text-cta:active,
  .home-case-studies-all:active,
  .what-i-do-pill:active,
  .nav-link:active,
  .gc-shared-nav-link:active {
    opacity: 0.85;
  }
}

/* Cards: hover lift (shared feel; pages may add their own hover — this smooths motion) */
.cs-card,
.newsletter-card,
.built-card,
.col-card,
.system-card,
.why-work-card,
.who-card,
.beliefs-list li,
.founder-photo-wrap,
.em-benefit-card,
.em-card,
.founder-photo-wrap {
  transition: transform 0.28s ease, box-shadow 0.32s ease, border-color 0.25s ease,
    background-color 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
  .cs-card:hover,
  .newsletter-card:hover,
  .built-card:hover,
  .col-card:hover,
  .system-card:hover,
  .why-work-card:hover,
  .who-card:hover,
  .beliefs-list li:hover,
  .founder-photo-wrap:hover,
  .em-benefit-card:hover,
  .em-card:hover {
    transform: translateY(-4px);
  }
}

@media (hover: none), (pointer: coarse) {
  .cs-card:active,
  .system-card:active,
  .who-card:active,
  .why-work-row:active,
  .what-i-do-pill:active,
  .home-case-card:active {
    transform: scale(0.99);
    filter: brightness(1.06);
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .btn-primary,
  .btn-outline,
  .btn-sm,
  .gc-shared-cta,
  .cs-card,
  .newsletter-card,
  .built-card,
  .col-card,
  .system-card,
  .why-work-card,
  .who-card,
  .beliefs-list li,
  .founder-photo-wrap,
  .em-benefit-card,
  .em-card {
    transition: none;
  }

  .cs-card:hover,
  .newsletter-card:hover,
  .built-card:hover,
  .col-card:hover,
  .system-card:hover,
  .why-work-card:hover,
  .who-card:hover,
  .beliefs-list li:hover,
  .founder-photo-wrap:hover,
  .em-benefit-card:hover,
  .em-card:hover {
    transform: none;
  }
}
