/* ============================================================
   BIMNovate · Micro-interaction keyframes
   Lives alongside tokens — referenced by components & JS.
   ============================================================ */

@keyframes rule-draw {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

@keyframes rise-fade {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0);    }
}

@keyframes image-reveal {
  from { clip-path: inset(100% 0 0 0); }
  to   { clip-path: inset(0); }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 var(--color-accent); }
  50%      { box-shadow: 0 0 0 6px rgba(103, 194, 197, 0); }
}

@keyframes ken-burns {
  from { transform: scale(1);    }
  to   { transform: scale(1.03); }
}

@keyframes border-draw {
  /* Animates a conic-gradient border around a CTA */
  from { --border-progress: 0; }
  to   { --border-progress: 1; }
}

@property --border-progress {
  syntax: '<number>';
  inherits: false;
  initial-value: 0;
}

@keyframes breathing {
  0%, 100% { box-shadow: 0 0 0 0    rgba(103, 194, 197, 0.4); }
  50%      { box-shadow: 0 0 0 8px  rgba(103, 194, 197, 0);   }
}
