/* === SMILE TALENT — ANIMATIONS PREMIUM === */

/* SCROLL REVEAL (remplace fade-once) */
.st-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.st-reveal.st-in {
  opacity: 1;
  transform: translateY(0);
}

/* CARDS STAGGER */
.st-card-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* CHIPS */
.st-chip-in {
  opacity: 1 !important;
  transform: scale(1) !important;
  transition: opacity 0.5s ease, 
              transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* TITLES */
.st-title-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* === HERO ANIMATIONS AU CHARGEMENT === */
.hero-chip {
  animation: st-chipPop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  animation-delay: 0.1s;
}
@keyframes st-chipPop {
  from { opacity: 0; transform: scale(0.7) translateY(12px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.hero-h1 {
  animation: st-heroTitle 1s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.2s;
}
@keyframes st-heroTitle {
  from { opacity: 0; transform: translateY(40px); filter: blur(8px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

.hero-desc {
  animation: st-fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.45s;
}

.hero-btns {
  animation: st-fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.6s;
}

@keyframes st-fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* KPIs: rebond décalé */
.kpi {
  animation: st-kpiPop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.kpi:nth-child(1) { animation-delay: 0.7s; }
.kpi:nth-child(2) { animation-delay: 0.85s; }
.kpi:nth-child(3) { animation-delay: 1.0s; }
.kpi:nth-child(4) { animation-delay: 1.15s; }

@keyframes st-kpiPop {
  from { opacity: 0; transform: translateY(20px) scale(0.85); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Nav */
nav {
  animation: st-navIn 0.6s ease both;
}
@keyframes st-navIn {
  from { opacity: 0; transform: translateY(-100%); }
  to { opacity: 1; transform: translateY(0); }
}

/* === HOVER MICRO-INTERACTIONS === */
.approche-card,
.douleur-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.35s ease,
              border-color 0.25s ease !important;
}
.approche-card:hover,
.douleur-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 24px 60px rgba(26, 26, 230, 0.1),
              0 8px 20px rgba(0, 0, 0, 0.04) !important;
}

.postes-card {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s ease,
              border-color 0.2s ease !important;
}
.postes-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.08) !important;
  border-color: #1A1AE6 !important;
}

/* CTA glow */
.btn-cta {
  transition: transform 0.2s ease, box-shadow 0.3s ease !important;
}
.btn-cta:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 40px rgba(26, 26, 230, 0.35),
              0 0 0 1px rgba(26, 26, 230, 0.15) !important;
}

/* === TYPOGRAPHIE SERRÉE === */
.s-title { letter-spacing: -0.03em !important; }
.hero-h1 { letter-spacing: -0.04em !important; }

/* === SCROLLBAR FINE === */
html { scrollbar-width: thin; scrollbar-color: rgba(26,26,230,.12) transparent; }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(26,26,230,.12); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(26,26,230,.25); }

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
