/* NOVA_PARALLAX v1 */
:root { --scrollTop: 0px; --nhParallaxEase: transform .75s cubic-bezier(.075,.5,0,1); }

.nh-parallax {
  position: relative;
  height: 100vh;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(circle at 25% 20%, rgba(99, 102, 241, 0.08), transparent 35%),
              radial-gradient(circle at 80% 10%, rgba(34, 197, 94, 0.07), transparent 32%),
              #050912;
  color: #e5e7eb;
}

.nh-parallax__layers { position: absolute; inset: 0; z-index: 0; }

.nh-layer {
  position: absolute;
  inset: -6vh -6vw;
  background: center / cover no-repeat;
  will-change: transform;
  transition: var(--nhParallaxEase);
  opacity: 0.95;
}

.nh-layer--back  { }
section.nh-parallax::before,
section.nh-parallax::after{
  content: none !important;
  background: none !important;
}
section.nh-parallax .nh-parallax__layers{
  display: none !important;
}
section.nh-parallax .nova-space,
section.nh-parallax .nova-fade,

/* NOVA_STARFIELD_LAYERING */
.nh-parallax.nova-cosmic{ position:relative; }
.nh-parallax.nova-cosmic .nh-parallax__layers{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.nh-parallax.nova-cosmic .nova-space{ position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden; display:block; opacity:1; }
.nh-parallax.nova-cosmic .nova-space canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.nh-parallax.nova-cosmic .nh-parallax__content{ position:relative; z-index:3; }
.nh-parallax.nova-cosmic .nova-fade,
.nh-parallax.nova-cosmic .nova-portal{ position:absolute; inset:0; z-index:1; pointer-events:none; }

/* NOVA_STARFIELD_V3 */
.nova-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 25% 25%, rgba(99,102,241,.22), transparent 45%),
    radial-gradient(circle at 80% 10%, rgba(34,197,94,.14), transparent 40%),
    radial-gradient(circle at 50% 80%, rgba(56,189,248,.10), transparent 45%),
    linear-gradient(180deg, #070a12 0%, #060812 40%, #04060d 100%);
  color:#e9eefb;
}
.nova-hero a{ color:inherit; }
.nova-hero::after{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(circle at 50% 40%, rgba(0,0,0,0), rgba(0,0,0,.38) 70%, rgba(0,0,0,.62) 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, rgba(0,0,0,0) 1px 2px);
  opacity:.55;
  mix-blend-mode: overlay;
  pointer-events:none;
  z-index:1;
}
.nova-starfield{
  position:absolute; inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
}
.nova-starfield canvas{
  position:absolute; inset:0;
  width:100%; height:100%;
  display:block;
}
.nova-hero > *{ position:relative; z-index:2; }

/* NOVA_HERO_GLASS_CARD */
.nova-hero .nova-hero-card{
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14);
  color: #e9eefb !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.nova-hero .nova-hero-card h1,
.nova-hero .nova-hero-card h2,
.nova-hero .nova-hero-card h3{
  color:#ffffff !important;
}
.nova-hero .nova-hero-card p,
.nova-hero .nova-hero-card li{
  color: rgba(233,238,251,.88) !important;
}
.nova-hero .nova-hero-card a{ color:#c7d2fe !important; }

/* NOVA_HERO_COSMOS_CENTER */
.nova-hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: clamp(24px, 6vh, 72px) 16px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.04), transparent 58%),
    radial-gradient(circle at 30% 20%, rgba(99,102,241,.07), transparent 62%),
    radial-gradient(circle at 80% 15%, rgba(34,197,94,.05), transparent 62%),
    linear-gradient(180deg, #060812 0%, #040611 55%, #03050c 100%);
  color:#eaf0ff;
}
.nova-hero-center{ width:100%; display:flex; justify-content:center; }
.nova-hero-card{
  width:min(560px, 92vw);
  padding: 34px 38px;
  border-radius: 18px;
  background: rgba(10,14,24,.58);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 26px 90px rgba(0,0,0,.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  text-align:center;
}
.nova-hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(233,240,255,.88);
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 14px;
}
.nova-hero-title{
  margin: 0 0 8px 0;
  font-size: clamp(44px, 6vw, 64px);
  letter-spacing: .2px;
  line-height: 1.05;
  color:#ffffff;
}
.nova-hero-sub{
  color: rgba(233,240,255,.72);
  font-size: 14px;
  margin-bottom: 18px;
}
.nova-hero-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 170px;
  padding: 12px 18px;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(99,102,241,1), rgba(34,197,94,1));
  color:#0b1020 !important;
  font-weight: 800;
  text-decoration:none !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
}
.nova-hero-cta:hover{ filter: brightness(1.05); transform: translateY(-1px); }
.nova-hero-cta:active{ transform: translateY(0px); }

/* NOVA_HERO_NOISE_VIGNETTE */
.nova-hero::after{
  content:"";
  position:absolute; inset:-2px;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(circle at 50% 40%, rgba(0,0,0,0) 0%, rgba(0,0,0,.38) 70%, rgba(0,0,0,.62) 100%),
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.035), rgba(255,255,255,0) 60%),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.025), rgba(255,255,255,0) 55%);
  opacity:.85;
}

/* NOVA_STARFIELD_FIX */
.nova-hero{position:relative;overflow:hidden;isolation:isolate;}
.nova-hero .nova-starfield{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:1;}
.nova-hero .nova-starfield canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.nova-hero .nova-hero-center{position:relative;z-index:2;}
.nova-hero::after{z-index:1;opacity:.55;}

/* NOVA_HEADER_SCROLL_REVEAL */
header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  transition: transform .45s ease, opacity .45s ease;
  will-change: transform, opacity;
}
html.nova-header-hidden header{
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}
html.nova-header-visible header{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce){
  header{ transition: none !important; }
}

/* NOVA_SCROLLBAR_FIX */
html, body{
  overflow-x: hidden !important;
}
body{
  height: auto !important;
  overflow-y: auto !important;
}

/* if nested scroll exists, disable in hero/container */
.nova-hero,
.nh-parallax,
.nh-parallax__content,
.nh-parallax__layers{
  overflow: visible !important;
}

/* hide internal scrollbars if any */
.nova-hero::-webkit-scrollbar,
.nh-parallax::-webkit-scrollbar,
.nh-parallax__content::-webkit-scrollbar{
  width: 0 !important;
  height: 0 !important;
}
.nova-hero,
.nh-parallax,
.nh-parallax__content{
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

/* === NOVA: HEADER GLASS / GLOW (BEGIN) === */

/* максимально безопасно: только самый верхний <header> */
:where(body > header){
  position: sticky; /* если у тебя уже fixed/absolute — этот пункт можешь удалить */
  top: 0;
  z-index: 9999;

  /* стекло */
  background: linear-gradient(90deg,
    rgba(13, 20, 44, .82),
    rgba(12, 18, 36, .72)
  );
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);

  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);

  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
}

/* тонкая “неоновая” линия снизу */
:where(body > header)::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg,
    rgba(99,102,241,.0),
    rgba(99,102,241,.55),
    rgba(16,185,129,.55),
    rgba(99,102,241,.0)
  );
  filter: blur(.25px);
  opacity: .85;
  pointer-events: none;
}

/* мягкая подсветка внутри шапки (еле заметный “туман”) */
:where(body > header)::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1200px 220px at 20% 0%,
      rgba(99,102,241,.18), transparent 55%),
    radial-gradient(900px 240px at 85% 0%,
      rgba(16,185,129,.14), transparent 60%);
  opacity: .7;
  pointer-events: none;
}

/* ссылки меню — плавный hover */
:where(body > header) a{
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
  border-radius: 12px;
}

:where(body > header) nav a:hover{
  background: rgba(255,255,255,.07);
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
  transform: translateY(-1px);
}

/* активная страница (если есть aria-current) */
:where(body > header) nav a[aria-current="page"]{
  background: rgba(255,255,255,.09);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}

/* кнопка “Войти” — чуть более “премиум” */
:where(body > header) .btn,
:where(body > header) .button,
:where(body > header) a.btn,
:where(body > header) a.button{
  box-shadow:
    0 10px 26px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,255,255,.10) inset;
}

:where(body > header) .btn:hover,
:where(body > header) .button:hover,
:where(body > header) a.btn:hover,
:where(body > header) a.button:hover{
  box-shadow:
    0 14px 34px rgba(0,0,0,.30),
    0 0 22px rgba(99,102,241,.18),
    0 0 0 1px rgba(255,255,255,.12) inset;
}

/* логотип — лёгкий glow */
:where(body > header) img{
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}

/* === NOVA: HEADER GLASS / GLOW (END) === */
