/* ============================================================
   ДЕКОПЛИНТ — эффекты: aurora, noise, glow, progress, reveal.
   Светлая тема в стиле буклета.
   ============================================================ */

/* --- Aurora (очень лёгкие градиентные пятна) --- */
.aurora{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.aurora i{position:absolute;width:60vw;height:60vw;border-radius:50%;filter:blur(90px);opacity:.4;will-change:transform}
.aurora i:nth-child(1){top:-20vw;left:-10vw;background:radial-gradient(circle,rgba(91,155,255,.14),transparent 65%);animation:aur1 26s ease-in-out infinite alternate}
.aurora i:nth-child(2){top:10vh;right:-15vw;background:radial-gradient(circle,rgba(0,94,196,.10),transparent 65%);animation:aur2 32s ease-in-out infinite alternate}
.aurora i:nth-child(3){bottom:-25vw;left:25vw;background:radial-gradient(circle,rgba(201,138,75,.10),transparent 65%);animation:aur3 38s ease-in-out infinite alternate}
@keyframes aur1{to{transform:translate(12vw,10vh) scale(1.15)}}
@keyframes aur2{to{transform:translate(-14vw,12vh) scale(1.2)}}
@keyframes aur3{to{transform:translate(10vw,-12vh) scale(1.1)}}

/* --- Noise (очень лёгкое зерно) --- */
.noise{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* --- Glow (следует за курсором) --- */
.glow{position:fixed;top:0;left:0;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(91,155,255,.10),rgba(201,138,75,.05) 40%,transparent 70%);opacity:0;transition:opacity .4s;will-change:transform}
.glow.on{opacity:1}

/* --- Progress (полоса чтения) --- */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--brand);z-index:70;box-shadow:0 0 12px rgba(0,87,184,.4)}

/* --- Reveal (появление при скролле) --- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d,0)*1ms)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .aurora i,.marquee-track{animation:none}
  .glow{display:none}
}

/* --- Float (парящие бейджи hero) --- */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-float{animation:floaty 6s ease-in-out infinite}
.hf-2{animation-delay:1.4s}

/* --- Tilt-карточки (JS добавляет transform) --- */
.tilt{will-change:transform}

/* --- Scroll hint --- */
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase;z-index:2}
.scroll-hint .mouse{width:24px;height:38px;border:1.5px solid var(--line-2);border-radius:14px;position:relative;background:rgba(255,255,255,.6)}
.scroll-hint .mouse::after{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:3px;height:7px;border-radius:3px;background:var(--brand);animation:wheel 1.8s ease-in-out infinite}
@keyframes wheel{0%{opacity:1;top:7px}70%{opacity:0;top:18px}100%{opacity:0;top:7px}}
