/* A feathered ribbon behind content, with a single specular band shared by
   every word on a heading row. The band moves across letters, not whole words. */
.kh-light-canvas { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 0; opacity: .24; pointer-events: none; }
[data-light-section] { position: relative; }
[data-light-section] > * { position: relative; z-index: 1; }
.kh-light-word, .kh-light-glyph { display: inline-block; }
.kh-light-word { position: relative; }
/* The actual letters always retain their ink. Only the decorative copy is
   clipped to a gradient; padding protects negative tracking and glyph overhang. */
.kh-light-shine { display: none; position: absolute; inset: 0; pointer-events: none; user-select: none; }
.kh-light-shine::before {
  content: attr(data-text); display: inline-block; white-space: pre;
  padding: .14em .12em; margin: -.14em -.12em;
  --shine-center: calc(var(--shine-x) + .12em);
}
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .kh-light-word.is-lit > .kh-light-shine { display: block; }
  .kh-light-word.is-lit > .kh-light-shine::before {
    background-image: linear-gradient(90deg,
      transparent calc(var(--shine-center) - var(--shine-width)),
      rgb(170 59 5 / var(--shine-strength)) calc(var(--shine-center) - var(--shine-width) * .78),
      rgb(246 103 13 / var(--shine-strength)) calc(var(--shine-center) - var(--shine-width) * .46),
      rgb(255 169 62 / var(--shine-strength)) calc(var(--shine-center) - var(--shine-width) * .22),
      rgb(255 240 179 / var(--shine-strength)) calc(var(--shine-center) - var(--shine-width) * .065),
      rgb(255 255 238 / var(--shine-strength)) var(--shine-center),
      rgb(255 215 121 / var(--shine-strength)) calc(var(--shine-center) + var(--shine-width) * .08),
      rgb(255 132 29 / var(--shine-strength)) calc(var(--shine-center) + var(--shine-width) * .3),
      rgb(205 72 5 / var(--shine-strength)) calc(var(--shine-center) + var(--shine-width) * .64),
      transparent calc(var(--shine-center) + var(--shine-width)));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 16px rgb(255 135 34 / var(--shine-glow));
  }
}
.motion-paused .kh-light-canvas, .experience-static .kh-light-canvas { display: none; }
:is(.motion-paused, .experience-static) .kh-light-shine { display: none !important; }
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
  .kh-light-canvas, .kh-light-word.is-lit > .kh-light-shine { display: none; }
}
