/* Self-hosted fonts (OFL, from @fontsource-variable/manrope and @fontsource/golos-text 5.3.0).
   Cyrillic, Latin and Latin Extended subsets (latin-ext carries the ruble sign U+20BD). Family names match the reference so the fallback stacks stay the same. */
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-display:swap;
  font-weight:200 800;
  src:url(../assets/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2-variations'),url(../assets/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-display:swap;
  font-weight:200 800;
  src:url(../assets/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations'),url(../assets/fonts/manrope-latin-wght-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-display:swap;
  font-weight:200 800;
  src:url(../assets/fonts/manrope-latin-ext-wght-normal.woff2) format('woff2-variations'),url(../assets/fonts/manrope-latin-ext-wght-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:400;src:url(../assets/fonts/golos-text-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:500;src:url(../assets/fonts/golos-text-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:600;src:url(../assets/fonts/golos-text-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:400;src:url(../assets/fonts/golos-text-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:500;src:url(../assets/fonts/golos-text-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:600;src:url(../assets/fonts/golos-text-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:400;src:url(../assets/fonts/golos-text-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:500;src:url(../assets/fonts/golos-text-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:600;src:url(../assets/fonts/golos-text-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* reset and typography */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--f-display);text-wrap:balance}
button,input,select{font:inherit;color:inherit}
/* the hidden attribute always wins over component display rules (the reference shows the hidden .inherit tag on "Старт") */
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
/* visually hidden, still read by screen readers */
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* skip link: visually hidden until focused, then shown above the sticky header */
.skip-link{position:absolute;left:16px;top:12px;z-index:100;padding:12px 18px;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--r);font:500 15px/1.2 var(--f-body);text-decoration:none;transform:translateY(-200%)}
.skip-link:focus{transform:none}
/* main receives focus from the skip link; no outline on the whole region */
main:focus{outline:none}

/* layout helpers */
.wrap{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.sec{padding-block:clamp(72px,10vw,128px)}
h2{font-weight:600;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.035em}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-2);max-width:52ch}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:54px;padding:0 30px;border-radius:var(--r);font:500 16px/1 var(--f-body);border:1.5px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .25s,color .25s,border-color .25s}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-sm{min-height:44px;padding:0 20px;font-size:15px}
.btn .arr{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.btn:hover .arr{transform:translateX(4px)}

/* shared animations */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes swap{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.swap{animation:swap .5s cubic-bezier(.16,1,.3,1) both}

/* responsive */
@media (max-width:560px){
  .btn{padding:0 22px}
  .btn-sm{padding:0 16px;font-size:14px}
}

/* reduced motion: keep this last so it overrides every animation and transition */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}
