/* ==========================================================================
   Animations — deliberate, restrained. One signature motif (power-flow
   dash animation, defined in style.css) plus supporting micro-interactions.
   ========================================================================== */

@keyframes fadeUp{
  from{ opacity:0; transform:translateY(18px); }
  to{ opacity:1; transform:translateY(0); }
}
@keyframes floatSlow{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}
@keyframes glowPulse{
  0%,100%{ opacity:.55; }
  50%{ opacity:1; }
}
@keyframes countUp{
  from{ opacity:0; }
  to{ opacity:1; }
}

.hero h1, .hero-lede, .hero-actions{
  animation:fadeUp .8s ease both;
}
.hero-lede{ animation-delay:.12s; }
.hero-actions{ animation-delay:.24s; }
.hero-visual{ animation:floatSlow 6s ease-in-out infinite; }

.flow-node.is-glow circle{ animation:glowPulse 2.4s ease-in-out infinite; }

.service-card, .value-card, .vm-card, .reason{
  transition:transform .35s ease, box-shadow .35s ease;
}

.icon-mark path, .icon-mark circle{ transition:stroke .3s ease; }
.service-card:hover .icon-mark path,
.service-card:hover .icon-mark circle{ stroke:var(--signal-green); }

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .flow-diagram .flow-path, .section-divider .flow-path{ stroke-dasharray:none; }
}

:root{--primary:#0B8F2F;--secondary:#39B54A;--accent:#0B5DB7;--navy:#0B2D6B;}
