@font-face{font-family:'Golos Text';font-weight:400;src:url(../../../hero/fonts/GolosText-400-cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-weight:400;src:url(../../../hero/fonts/GolosText-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'Golos Text';font-weight:500;src:url(../../../hero/fonts/GolosText-600-cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-weight:500;src:url(../../../hero/fonts/GolosText-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'Golos Text';font-weight:600;src:url(../../../hero/fonts/GolosText-600-cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-weight:600;src:url(../../../hero/fonts/GolosText-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Anticva;src:url(../../../hero/fonts/anticva-regular.otf) format("opentype")}
@font-face{font-family:'IBM Plex Mono';font-weight:400;src:url(../../../hero/fonts/IBMPlexMono-400-normal-cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Mono';font-weight:400;src:url(../../../hero/fonts/IBMPlexMono-400-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
/* GSR · Знак из частиц — 3D. Шрифты стенда: /lab/hero/fonts/ */
:root{
  --bg0:#0A0810; --bg1:#120C1E;
  --ink:#EDEAF2; --dim:rgba(237,234,242,.64); --faint:rgba(237,234,242,.40); --hair:rgba(237,234,242,.10);
  --bordo:#A61F45; --violet:#8B7CF6; --lav:#C9BCF2;
  --sans:'Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --serif:'Anticva',Georgia,'Times New Roman',serif;
  --ease:cubic-bezier(.16,.84,.26,1);
  --gutter:52px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg0)}
html.is-intro,html.is-intro body{overflow:hidden;height:100%}
body{background:var(--bg0);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}
a{-webkit-tap-highlight-color:transparent}

/* навигация */
.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:26px var(--gutter);opacity:0;transform:translateY(-6px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
body.is-ready .nav{opacity:1;transform:none}
.nav__logo{display:block;width:28px;height:28px}
.nav__logo img{display:block;width:28px;height:28px}
.nav__links{display:flex;gap:30px}
.nav__links a{color:var(--dim);text-decoration:none;font-size:14px;letter-spacing:.01em;transition:color .2s}
.nav__links a:hover{color:var(--ink)}

/* сцена: 200vh, канвас липнет на первый экран */
.stage{position:relative;height:200vh}
.stage__sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--bg0)}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}

/* hero-текст: слева внизу, уезжает вместе со скроллом */
.hero{position:absolute;top:0;left:0;right:0;height:100vh;pointer-events:none;z-index:2}
.hero__text{position:absolute;left:var(--gutter);bottom:9vh;max-width:640px;pointer-events:auto}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
h1{margin-top:18px;font-weight:600;font-size:clamp(2.6rem,5.4vw,4.8rem);line-height:1.02;letter-spacing:-.025em;color:var(--ink)}
h1 em{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.06em;letter-spacing:0;color:var(--lav)}
.sub{margin-top:22px;font-size:17px;line-height:1.5;color:var(--dim);max-width:460px}
.ctas{margin-top:34px;display:flex;align-items:center;gap:26px}
.btn{display:inline-flex;align-items:center;height:50px;padding:0 26px;border-radius:999px;background:var(--bordo);color:#fff;
  text-decoration:none;font-weight:500;font-size:15px;transition:transform .25s var(--ease),background .25s}
.btn:hover{transform:translateY(-2px);background:#B8254F}
.link{color:var(--dim);text-decoration:none;font-size:15px;font-weight:500;transition:color .2s}
.link:hover{color:var(--ink)}

/* появление текста (4.6 с) */
.ln{opacity:0;transform:translateY(14px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
body.is-ready .ln{opacity:1;transform:none}
body.is-ready .ln:nth-child(2){transition-delay:.09s}
body.is-ready .ln:nth-child(3){transition-delay:.18s}
body.is-ready .ln:nth-child(4){transition-delay:.27s}
body.is-instant .ln,body.is-instant .nav{transition:none}

/* плашка следующего блока: выезжает поверх, низ прозрачный — лента видна */
.plate{position:absolute;top:100vh;left:0;right:0;height:100vh;z-index:3;padding:13vh var(--gutter) 0;
  background:linear-gradient(180deg,rgba(10,8,16,.97) 0%,rgba(10,8,16,.94) 40%,rgba(10,8,16,.35) 58%,rgba(10,8,16,0) 72%)}
.plate__inner{max-width:720px}
.plate__hair{height:1px;width:100%;background:var(--hair);margin-bottom:28px}
.plate h2{margin-top:16px;font-weight:600;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.08;letter-spacing:-.02em}
.plate .lead{margin-top:18px;font-size:17px;line-height:1.55;color:var(--dim);max-width:560px}

.after{position:relative;z-index:4;min-height:100vh;background:var(--bg0);padding:18vh var(--gutter);border-top:1px solid var(--hair)}
.after p{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}

@media (max-width:760px){
  :root{--gutter:22px}
  .nav{padding:18px var(--gutter)}
  .nav__links{display:none}
  .hero__text{right:var(--gutter);bottom:56px;max-width:none}
  h1{font-size:clamp(2.2rem,10.5vw,3.2rem)}
  .sub{font-size:15px;margin-top:16px}
  .ctas{margin-top:26px;gap:18px}
  .btn{height:46px;padding:0 22px;font-size:14px}
  .plate{padding-top:11vh}
  .after{padding:14vh var(--gutter)}
}
@media (prefers-reduced-motion:reduce){
  .ln,.nav{transition:none}
}
