/* ГНМЦ · Концепт 4 — reveal, marquee, лічильники, параллакс */
[data-reveal]{
  opacity:0; transform:translateY(28px);
  transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);
  will-change:opacity, transform;
}
[data-reveal].is-revealed{ opacity:1; transform:none; }
[data-reveal-group] > *{ transition-delay: calc(var(--i, 0) * 90ms); }

@media (prefers-reduced-motion: reduce){
  [data-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }
}

.marquee{
  overflow:hidden; position:relative;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track{
  display:flex; align-items:center; gap:clamp(2.4rem, 5vw, 4rem); width:max-content;
  animation:marquee-scroll 34s linear infinite;
}
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes marquee-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.marquee-item{ height:52px; display:flex; align-items:center; filter:grayscale(1) opacity(.65); transition:filter var(--dur-m); }
.marquee-item:hover{ filter:grayscale(0) opacity(1); }
.marquee-item img{ height:100%; width:auto; object-fit:contain; }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } .marquee{ overflow-x:auto; } }

.hero-word{ display:inline-block; opacity:0; transform:translateY(.5em) rotateX(40deg); }

.iso-band{ position:relative; overflow:hidden; background:var(--grad-blue-deep); }
.iso-band-bg{
  position:absolute; inset:-10%; background-size:cover; background-position:center;
  opacity:.22; transform:scale(1.15); z-index:0;
}
.iso-band .container{ position:relative; z-index:1; }
.iso-badge-orbit{
  width:150px; height:150px; border-radius:50%; position:relative; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.iso-badge-orbit::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  border:2px dashed rgba(255,255,255,.35); animation:spin-slow 18s linear infinite;
}
.iso-badge-orbit img{ width:112px; height:112px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 8px rgba(255,255,255,.12); }
@keyframes spin-slow{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .iso-badge-orbit::before{ animation:none; } }

.shine-sweep{ position:relative; overflow:hidden; }
.shine-sweep::after{
  content:''; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
  animation:shine 3.2s ease-in-out infinite;
}
@keyframes shine{ 0%{ left:-60%; } 45%,100%{ left:130%; } }
@media (prefers-reduced-motion: reduce){ .shine-sweep::after{ display:none; } }

.skeleton{ background:linear-gradient(100deg, var(--grey-150) 30%, #f6f8fb 50%, var(--grey-150) 70%); background-size:200% 100%; animation:skeleton-move 1.4s ease-in-out infinite; border-radius:var(--radius-s); }
@keyframes skeleton-move{ from{ background-position:120% 0; } to{ background-position:-20% 0; } }

.reading-progress{ position:fixed; top:0; left:0; height:3px; width:0%; background:var(--yellow); z-index:1200; }
