/* One-time scroll reveals: progressive enhancement, never a content gate. */
.heading-line{display:block}
@media(prefers-reduced-motion:no-preference){
  .scroll-reveal-pending{opacity:0;translate:0 12px}
  .scroll-reveal-pending.scroll-reveal-visible{opacity:1;translate:0 0;transition:opacity 650ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),translate 650ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
  .heading-reveal.scroll-reveal-pending{translate:0 6px;clip-path:inset(0 0 100% 0)}
  .heading-reveal.scroll-reveal-pending.scroll-reveal-visible{translate:0 0;clip-path:inset(-6px -6px -6px -6px);transition:clip-path 800ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),opacity 650ms ease var(--reveal-delay,0ms),translate 800ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
  .heading-slide.scroll-reveal-pending,.heading-slide.scroll-reveal-pending.scroll-reveal-visible{opacity:1;translate:none;transition:none;--heading-distance:20px}
  .heading-slide.scroll-reveal-pending .heading-line{opacity:0;translate:calc(-1 * var(--heading-distance)) 0}
  .heading-slide.scroll-reveal-pending .heading-line--right{translate:var(--heading-distance) 0}
  .heading-slide.scroll-reveal-visible .heading-line{opacity:1;translate:0 0;transition:opacity 700ms ease var(--reveal-delay,0ms),translate 800ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
  .heading-slide.scroll-reveal-visible .heading-line--right{transition-delay:calc(var(--reveal-delay,0ms) + 90ms)}
}
@media(max-width:700px){.scroll-reveal-pending:not(.heading-reveal):not(.heading-slide){--reveal-delay:0ms!important;translate:0 8px}.heading-slide.scroll-reveal-pending{--heading-distance:12px}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .scroll-reveal-pending{opacity:1;translate:none;clip-path:none;transition:none}
  .heading-line{opacity:1;translate:none;transition:none}
}
@media print{.scroll-reveal-pending{opacity:1;translate:none;clip-path:none;transition:none}}
