/* ===== Lingrow · Motion =========================================
   Calm, confident easing. Buttons glow on hover, cards lift a hair,
   entrances fade-up. Six named motions from the brand.
================================================================= */
:root {
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* @kind other */

  --dur-fast: 140ms; /* @kind other */
  --dur-base: 240ms; /* @kind other */
  --dur-slow: 420ms; /* @kind other */
  --dur-globe: 24s; /* @kind other */
  --dur-ticker: 30s; /* @kind other */
}

@media (prefers-reduced-motion: no-preference) {
  /* 1 · fade-up on scroll / entrance */
  @keyframes lg-fade-up {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  /* 2 · globe spin */
  @keyframes lg-globe-spin {
    to { transform: rotate(360deg); }
  }
  /* 3 · glow pulse (CTA idle shimmer) */
  @keyframes lg-glow-pulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(188,242,179,0.0); }
    50%     { box-shadow: 0 0 0 6px rgba(188,242,179,0.18); }
  }
  /* 4 · language ticker */
  @keyframes lg-ticker {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }
  /* 5 · card hover lift handled via transition (see components) */
  /* 6 · floating particles */
  @keyframes lg-float {
    0%,100% { transform: translateY(0) translateX(0); opacity: 0.7; }
    50%     { transform: translateY(-14px) translateX(6px); opacity: 1; }
  }
  /* live dot */
  @keyframes lg-live-pulse {
    0%,100% { opacity: 1; transform: scale(1); }
    50%     { opacity: 0.45; transform: scale(0.9); }
  }
}
