/* GO NET srl — Animations (GPU-only: opacity + transform) */

/* ── Intro Curtain ── */
.intro-curtain{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;
  background:#060910;
  transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);
}
.intro-curtain.is-leaving{
  opacity:0;transform:translateY(-100%);
  transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.22,1,.36,1);
}
.intro-curtain.is-hidden{display:none}

.intro-logo{
  width:180px;height:auto;opacity:0;transform:scale(.85);
  animation:introLogoIn .8s cubic-bezier(.22,1,.36,1) .2s forwards;
}
@keyframes introLogoIn{to{opacity:1;transform:scale(1)}}

.intro-line{
  width:0;height:2px;border-radius:1px;
  background:linear-gradient(90deg,#38bdf8,#818cf8,#a78bfa);
  animation:introLineGrow 1.2s cubic-bezier(.22,1,.36,1) .6s forwards;
}
@keyframes introLineGrow{to{width:120px}}

.intro-text{
  font-family:'Space Grotesk',system-ui,sans-serif;
  font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.35);opacity:0;
  animation:introTextIn .6s ease .9s forwards;
}
@keyframes introTextIn{to{opacity:1}}

@keyframes bounceDown{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(8px)}
}
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(32px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes gradientShift{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes glowPulse{
  0%,100%{box-shadow:0 2px 16px rgba(56,189,248,.2)}
  50%{box-shadow:0 4px 28px rgba(56,189,248,.3)}
}

/* Hero entrance */
.hero-anim-title{opacity:0;transform:translateY(50px);filter:blur(8px)}
.hero-anim-title.is-animated{animation:heroIn 1s cubic-bezier(.22,1,.36,1) forwards}
@keyframes heroIn{to{opacity:1;transform:translateY(0);filter:blur(0)}}

.hero-anim-text{opacity:0;transform:translateY(28px)}
.hero-anim-text.is-animated{animation:fadeInUp .8s cubic-bezier(.22,1,.36,1) .3s forwards}

.hero-anim-actions{opacity:0;transform:translateY(20px)}
.hero-anim-actions.is-animated{animation:fadeInUp .7s cubic-bezier(.22,1,.36,1) .55s forwards}

.hero-anim-scroll{opacity:0}
.hero-anim-scroll.is-animated{animation:fadeIn .6s ease 1.2s forwards}

/* Scroll reveal — only opacity + transform (GPU composited) */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

.reveal-left{opacity:0;transform:translateX(-36px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal-left.is-visible{opacity:1;transform:translateX(0)}

.reveal-right{opacity:0;transform:translateX(36px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal-right.is-visible{opacity:1;transform:translateX(0)}

.reveal-scale{opacity:0;transform:scale(.95);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal-scale.is-visible{opacity:1;transform:scale(1)}

/* Media: ALWAYS visible */
.media-reveal{opacity:1 !important;transform:none}

/* Stagger */
.reveal-stagger>.reveal:nth-child(1),.reveal-stagger>.reveal-scale:nth-child(1){transition-delay:0ms}
.reveal-stagger>.reveal:nth-child(2),.reveal-stagger>.reveal-scale:nth-child(2){transition-delay:80ms}
.reveal-stagger>.reveal:nth-child(3),.reveal-stagger>.reveal-scale:nth-child(3){transition-delay:160ms}
.reveal-stagger>.reveal:nth-child(4),.reveal-stagger>.reveal-scale:nth-child(4){transition-delay:240ms}
.reveal-stagger>.reveal:nth-child(5),.reveal-stagger>.reveal-scale:nth-child(5){transition-delay:320ms}
.reveal-stagger>.reveal:nth-child(6),.reveal-stagger>.reveal-scale:nth-child(6){transition-delay:400ms}

/* Nav stagger mobile */
@keyframes navSlideIn{
  from{opacity:0;transform:translateX(16px)}
  to{opacity:1;transform:translateX(0)}
}
.site-nav.is-open .nav-list a{animation:navSlideIn .35s cubic-bezier(.22,1,.36,1) both}
.site-nav.is-open .nav-list li:nth-child(1) a{animation-delay:.08s}
.site-nav.is-open .nav-list li:nth-child(2) a{animation-delay:.12s}
.site-nav.is-open .nav-list li:nth-child(3) a{animation-delay:.16s}
.site-nav.is-open .nav-list li:nth-child(4) a{animation-delay:.2s}
.site-nav.is-open .nav-list li:nth-child(5) a{animation-delay:.24s}
.site-nav.is-open .nav-list li:nth-child(6) a{animation-delay:.28s}
.site-nav.is-open .nav-list li:nth-child(7) a{animation-delay:.32s}
.site-nav.is-open .nav-list li:nth-child(8) a{animation-delay:.36s}

/* Gradient text */
.gradient-text{background:var(--g-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Glow button */
.btn-glow{animation:glowPulse 3s ease-in-out infinite}

/* Animated gradient bg */
.animated-gradient-bg{
  background:linear-gradient(-45deg,#060912,#1a1744,#0e1628,#0c1220);
  background-size:400% 400%;animation:gradientShift 14s ease infinite;
}

/* Header scroll */
.site-header.is-scrolled{box-shadow:0 1px 16px rgba(0,0,0,.35);background:rgba(6,9,16,.94)}
.site-header.is-scrolled::before{opacity:.25}

/* Active nav */
.site-nav a[aria-current="page"],.footer-links a[aria-current="page"]{color:var(--accent)}
