/* ============================================================
   FLICKER.CSS — Neon / fluorescent light flicker effect
   Ongwacho Cherop Associates & Advocates
============================================================ */

/* Base flicker — opacity only */
.flicker-text {
  animation: flickerOpacity 5s step-end infinite;
}

@keyframes flickerOpacity {
  0%,100%{ opacity: 1; }
  3%     { opacity: 0.75; }
  6%     { opacity: 1; }
  28%    { opacity: 1; }
  30%    { opacity: 0.5; }
  31%    { opacity: 1; }
  55%    { opacity: 1; }
  57%    { opacity: 0.85; }
  59%    { opacity: 1; }
  80%    { opacity: 1; }
  82%    { opacity: 0.4; }
  83%    { opacity: 1; }
  93%    { opacity: 1; }
  95%    { opacity: 0.7; }
  97%    { opacity: 1; }
}

/* Glow flicker */
.flicker-text--glow {
  animation: flickerGlow 5s step-end infinite;
}

@keyframes flickerGlow {
  0%,100%{
    opacity: 1;
    text-shadow:
      0 0 6px  var(--flicker-glow-near,  rgba(201,169,97,0.9)),
      0 0 20px var(--flicker-glow-mid,   rgba(201,169,97,0.55)),
      0 0 50px var(--flicker-glow-far,   rgba(201,169,97,0.28)),
      0 0 90px var(--flicker-glow-bloom, rgba(201,169,97,0.10));
  }
  3%     { opacity: 0.6; text-shadow: none; }
  6%     { opacity: 1; text-shadow: 0 0 6px var(--flicker-glow-near); }
  30%    { opacity: 0.4; text-shadow: none; }
  31%    { opacity: 1; }
  57%    { opacity: 0.75; text-shadow: none; }
  59%    { opacity: 1; }
}

/* Subtle pulse */
.flicker-text--subtle {
  animation: flickerSubtle 4s ease-in-out infinite;
}
@keyframes flickerSubtle {
  0%,100% { opacity: 1; }
  50%      { opacity: 0.82; }
}

/* Colour presets */
.flicker-glow--gold {
  --flicker-glow-near:  rgba(201,169,97,0.95);
  --flicker-glow-mid:   rgba(201,169,97,0.6);
  --flicker-glow-far:   rgba(201,169,97,0.3);
  --flicker-glow-bloom: rgba(201,169,97,0.12);
}
.flicker-glow--teal {
  --flicker-glow-near:  rgba(100,220,200,0.95);
  --flicker-glow-mid:   rgba(100,220,200,0.55);
  --flicker-glow-far:   rgba(100,220,200,0.28);
  --flicker-glow-bloom: rgba(100,220,200,0.10);
}
.flicker-glow--terracotta {
  --flicker-glow-near:  rgba(220,110,80,0.95);
  --flicker-glow-mid:   rgba(220,110,80,0.55);
  --flicker-glow-far:   rgba(220,110,80,0.28);
  --flicker-glow-bloom: rgba(220,110,80,0.10);
}
.flicker-glow--white {
  --flicker-glow-near:  rgba(255,255,255,0.95);
  --flicker-glow-mid:   rgba(255,255,255,0.55);
  --flicker-glow-far:   rgba(255,255,255,0.28);
  --flicker-glow-bloom: rgba(255,255,255,0.10);
}

/* Letter spans (injected by flicker.js) */
.flicker-text [data-char] {
  display: inline-block;
}