/* A single soft band per eligible section, with a finite tint in the existing
   heading. No duplicate typography, filters, glyph splitting or JS RAF. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .spectral-sweep-section{position:relative;overflow:clip}
 .spectral-sweep-section::after{content:'';position:absolute;right:-6vw;top:0;width:55vw;height:min(85vh,100%);z-index:2;pointer-events:none;opacity:0;background:linear-gradient(225deg,transparent 10%,rgba(234,204,254,.11) 35%,rgba(244,137,255,.17) 50%,rgba(234,204,254,.08) 65%,transparent 90%);mask-image:radial-gradient(ellipse closest-side,#000 20%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 20%,transparent 100%);transform:translate3d(90%,-70%,0)}
 .spectral-sweep-section.spectral-wave-host>:not(.spectral-wave){z-index:3}
 .spectral-sweep-running::after{animation:spectral-light-pass 1.5s cubic-bezier(.22,1,.36,1) both}
 @supports ((background-clip:text) or (-webkit-background-clip:text)){
  .spectral-sweep-tint{background-image:linear-gradient(225deg,var(--ink) 0%,var(--ink) 35%,#eaccfe 43%,#c955d7 49%,#d7a0ed 55%,var(--ink) 63%,var(--ink) 100%);background-size:350% 350%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:spectral-heading-pass 1.5s cubic-bezier(.22,1,.36,1) both}
 }
}
@keyframes spectral-light-pass{0%{opacity:0;transform:translate3d(90%,-70%,0)}15%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate3d(-210%,125%,0)}}
@keyframes spectral-heading-pass{0%{background-position:0% 100%}100%{background-position:100% 0%}}
@media(hover:none),(pointer:coarse),(max-width:650px),(prefers-reduced-motion:reduce){.spectral-sweep-section::after{display:none!important}.spectral-sweep-tint{animation:none!important;background:none!important;color:var(--ink);-webkit-text-fill-color:currentColor}}
