:root {
  --ease-standard: cubic-bezier(0.32, 0.72, 0, 1); /* @kind other */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --ease-in: cubic-bezier(0.4, 0, 1, 1); /* @kind other */
  --ease-cinematic: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */

  --duration-instant: 90ms; /* @kind other */
  --duration-fast: 140ms; /* @kind other */
  --duration-base: 220ms; /* @kind other */
  --duration-slow: 420ms; /* @kind other */
  --duration-reveal: 900ms; /* @kind other */
  --duration-cinematic: 1200ms; /* @kind other */
  --stagger-step: 110ms; /* @kind other */

  --transition-control: color var(--duration-fast) var(--ease-standard),
    background-color var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard),
    box-shadow var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard); /* @kind other */

  --reveal-rise: 34px; /* @kind other */
  --reveal-scale: 0.985; /* @kind other */
  --parallax-depth: 40px; /* @kind other */
  --press-scale: 0.985; /* @kind other */
  --lift-y: -2px; /* @kind other */

  /* the signature: one striation fiber breathes a slow crimson glow */
  --stria-pulse-duration: 3200ms; /* @kind other */
  --stria-drift-duration: 14s; /* @kind other */
}

@keyframes stria-pulse {
  0%, 100% { opacity: 0.5; filter: drop-shadow(0 0 4px rgba(255, 53, 70, 0.3)); }
  50% { opacity: 1; filter: drop-shadow(0 0 12px rgba(255, 53, 70, 0.7)); }
}
