/* c1 — reveal on scroll, hero wow-ефекти */

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
[data-reveal].in-view{opacity:1;transform:none}
[data-reveal="stagger"] > *{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
[data-reveal="stagger"].in-view > *{opacity:1;transform:none}
[data-reveal="stagger"].in-view > *:nth-child(1){transition-delay:.05s}
[data-reveal="stagger"].in-view > *:nth-child(2){transition-delay:.13s}
[data-reveal="stagger"].in-view > *:nth-child(3){transition-delay:.21s}
[data-reveal="stagger"].in-view > *:nth-child(4){transition-delay:.29s}
[data-reveal="stagger"].in-view > *:nth-child(5){transition-delay:.37s}
[data-reveal="stagger"].in-view > *:nth-child(6){transition-delay:.45s}

/* hero headline: gradient-wipe mask reveal */
.hero-title{
  background:linear-gradient(90deg,#fff 0%,#fff 50%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.25) 100%);
  background-size:220% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:hero-wipe 1.3s var(--ease-out) .25s forwards;
}
@keyframes hero-wipe{to{background-position:0 0}}
.hero-sub,.hero-cta{opacity:0;transform:translateY(16px);animation:hero-rise .8s var(--ease-out) forwards}
.hero-sub{animation-delay:.75s}
.hero-cta{animation-delay:.95s}
@keyframes hero-rise{to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  .hero-title{animation:none;background:none;color:#fff}
  .hero-sub,.hero-cta{animation:none;opacity:1;transform:none}
  [data-reveal],[data-reveal="stagger"]>*{opacity:1;transform:none}
}

/* reading progress bar (news-item) */
.read-progress{position:fixed;top:0;left:0;height:3.5px;width:0%;background:linear-gradient(90deg,var(--ochre),var(--blue));z-index:130;transition:width .1s linear}
