@keyframes pulse {
  0%, 100% { opacity: .85; }
  50%       { opacity: .3; }
}
@keyframes heroUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}
@keyframes heroFade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes revealIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .eyebrow-dot {
    animation: pulse 2s ease-in-out infinite;
  }
  .reveal {
    opacity: 0;
    transform: translateY(16px);
    transition:
      opacity  .5s cubic-bezier(.4, 0, .2, 1),
      transform .5s cubic-bezier(.4, 0, .2, 1);
  }
  .reveal.visible {
    opacity: 1;
    transform: none;
  }
  .rd1 { transition-delay: .08s; }
  .rd2 { transition-delay: .16s; }
  .rd3 { transition-delay: .24s; }
  .rd4 { transition-delay: .32s; }
  .rd5 { transition-delay: .40s; }
  .hero-cascade .hero-badge {
    opacity: 0;
    animation: heroFade .5s ease .05s forwards;
  }
  .hero-cascade .hero-h1 {
    opacity: 0;
    animation: heroUp .55s ease .10s forwards;
  }
  .hero-cascade .hero-h1-accent {
    opacity: 0;
    animation: heroUp .55s ease .18s forwards;
  }
  .hero-cascade .hero-sub {
    opacity: 0;
    animation: heroUp .5s ease .25s forwards;
  }
  .hero-cascade .hero-ctas {
    opacity: 0;
    animation: heroUp .5s ease .33s forwards;
  }
  .hero-cascade .hero-risk {
    opacity: 0;
    animation: heroFade .5s ease .40s forwards;
  }
  .hero-cascade .hero-proof {
    opacity: 0;
    animation: heroUp .5s ease .46s forwards;
  }
  .hero-cascade .hero-trust {
    opacity: 0;
    animation: heroFade .45s ease .54s forwards;
  }
  .brand-card,
  .why-card,
  .trust-pillar,
  .mvv-card,
  .future-card,
  .testimonial-card,
  .fact-chip,
  .contact-chip {
    transition:
      transform .2s ease,
      box-shadow .2s ease,
      border-color .2s ease;
  }
  .process-step:hover .step-circle {
    transform: scale(1.1);
    transition: transform .2s ease;
  }
  .faq-chevron {
    transition: transform .25s ease, color .2s ease;
  }
  .drawer-panel {
    transition: transform .3s ease;
  }
  .drawer-overlay {
    transition: opacity .3s ease;
  }
  .mobile-cta-bar {
    transition: transform .3s ease;
  }
  .faq-answer {
    transition: max-height .35s ease, padding .25s ease;
  }
  .step-dot {
    transition: background .3s ease;
  }
  .btn:active {
    transform: scale(.98);
    transition: transform .1s ease;
  }
  #navbar {
    transition: box-shadow .3s ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .hero-cascade .hero-badge,
  .hero-cascade .hero-h1,
  .hero-cascade .hero-h1-accent,
  .hero-cascade .hero-sub,
  .hero-cascade .hero-ctas,
  .hero-cascade .hero-risk,
  .hero-cascade .hero-proof,
  .hero-cascade .hero-trust {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }

  .eyebrow-dot {
    animation: none;
    opacity: .85;
  }

  .reveal.visible {
    opacity: 1;
    transform: none;
  }
  .drawer-panel    { transition: transform .1s ease; }
  .drawer-overlay  { transition: opacity .1s ease; }
  .mobile-cta-bar  { transition: transform .1s ease; }
}
