/* шрифты лежат на самом сайте (папка fonts): посетитель не обращается к серверам Google */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 800;font-display:swap;src:url(../fonts/montserrat-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 800;font-display:swap;src:url(../fonts/montserrat-latin.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:'Unbounded';font-style:normal;font-weight:600 900;font-display:swap;src:url(../fonts/unbounded-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600 900;font-display:swap;src:url(../fonts/unbounded-latin.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}
:root{
  --blue:#1E3BF5; --lime:#8BE33F; --ink:#0B1650;
  --bg:#F2F4FC; --surface:#FFFFFF; --text:#0B1650; --muted:#56628F; --line:#D8DDF3;
  --accent-text:#1E3BF5; --chip:#E7EBFB; --live:#157A41; --on-live:#FFFFFF; --past:#616B92; --warn:#B45309; --spot:rgba(30,59,245,.08);
  --shadow:0 1px 0 var(--line),0 14px 34px -20px rgba(11,22,80,.35);
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){color-scheme:dark;
    --bg:#08103A; --surface:#101A55; --text:#EEF1FF; --muted:#A7B1DD; --line:#243079;
    --accent-text:#8FA4FF; --chip:#1A2566; --live:#5BD68D; --on-live:#0B1650; --past:#7D87B8; --warn:#F2B35B; --spot:rgba(139,227,63,.11);
    --shadow:0 1px 0 var(--line),0 14px 34px -20px rgba(0,0,0,.6);}
}
:root[data-theme="dark"]{color-scheme:dark;
  --bg:#08103A; --surface:#101A55; --text:#EEF1FF; --muted:#A7B1DD; --line:#243079;
  --accent-text:#8FA4FF; --chip:#1A2566; --live:#5BD68D; --on-live:#0B1650; --past:#7D87B8; --warn:#F2B35B; --spot:rgba(139,227,63,.11);
  --shadow:0 1px 0 var(--line),0 14px 34px -20px rgba(0,0,0,.6);}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:500 16px/1.55 var(--body)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}
p{margin:0}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding-inline:20px}
.num{font-variant-numeric:tabular-nums}

/* шапка */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--blue);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.12)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:40px;width:auto;transition:transform .4s var(--ease)}
.brand:hover img{transform:rotate(-6deg) scale(1.05)}
.top nav{position:relative;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin-left:auto}
.top nav::-webkit-scrollbar{display:none}
.top nav a{position:relative;z-index:1;flex:none;text-decoration:none;font-weight:700;font-size:14px;padding:9px 14px;border-radius:999px;color:rgba(255,255,255,.85);white-space:nowrap;transition:color .25s}
.top nav a:hover{color:#fff}
.top nav a[aria-current="page"]{color:var(--ink)}
.top nav .ind{position:absolute;z-index:0;top:0;height:100%;border-radius:999px;background:var(--lime);transition:left .45s var(--ease),width .45s var(--ease);pointer-events:none}
@media (max-width:760px){
  .top .wrap{flex-wrap:wrap;gap:6px;padding-block:10px 8px}
  .top nav{margin-left:0;width:100%}
}

main{padding-block:0 72px;min-height:60vh}
.view{animation:viewIn .5s var(--ease) both}
@keyframes viewIn{from{opacity:.001;transform:translateY(14px)}}

/* появление при прокрутке */
.rv.pre{opacity:0;transform:translateY(24px)}
.rv{transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--rd,0s)}

/* общие */
.band{background:var(--blue);color:#fff;background-image:radial-gradient(90% 120% at 90% 0%,#4C66FF 0%,transparent 60%);position:relative;overflow:hidden}
.head{padding-block:48px 28px}
.eyebrow{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.band .eyebrow{color:#B6F27E}
.h-page{font-size:clamp(34px,6vw,60px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;margin-top:10px}
.lede{max-width:64ch;font-size:18px;color:var(--muted);margin-top:14px}
.band .lede{color:#D6DDFF}
.h-sec{font-size:22px;font-weight:800;margin-block:40px 16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:700 14px var(--body);border:1.5px solid var(--line);background:var(--surface);color:var(--text);padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.chip:hover{border-color:var(--accent-text)}
.chip:active{transform:scale(.96)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
:root[data-theme="dark"] .chip[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:var(--ink)}}
.btn{display:inline-flex;align-items:center;gap:8px;font:800 15px var(--display);text-decoration:none;padding:15px 24px;border-radius:999px;background:var(--lime);color:var(--ink);border:0;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(139,227,63,.8)}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.btn.ghost:hover{box-shadow:inset 0 0 0 2px #fff}
.btn .arr{transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.st{font:800 12px var(--display);letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:6px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.st.live{background:var(--live);color:var(--on-live)}
.st.live::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.8)}100%{box-shadow:0 0 0 7px rgba(255,255,255,0)}}
.st.soon{background:var(--chip);color:var(--accent-text)}
.st.past{color:var(--past);box-shadow:inset 0 0 0 1.5px var(--line)}
.more{display:inline-flex;gap:6px;margin-top:14px;font-weight:800;color:var(--accent-text);text-decoration:none}
.more:hover{text-decoration:underline}

/* главная */
.hero{padding-block:56px 40px;position:relative}
.hero h1{font-size:clamp(40px,8.4vw,92px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:1.02;margin-top:clamp(12px,1.6vw,20px)}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:block;animation:rise .9s var(--ease) both;animation-delay:var(--d)}
/* анимации первого экрана на Motion: класс m-on ставит скрипт, только если библиотека загрузилась и не включено «уменьшить движение» */
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.hero h1 .w>span{display:inline-block;will-change:transform}
.m-on .hero h1 .ln>span{animation:none}
.m-on .hero h1 .w>span{transform:translateY(110%)}
.m-on .hero .m-in{opacity:0}
.hero .cta .btn{will-change:transform}
.m-on .hero .btn:hover{transform:none}
.hero h1 .lime{color:var(--lime)}
@keyframes rise{from{transform:translateY(105%)}}
.hero .lede{font-size:clamp(17px,2.2vw,21px);margin-top:22px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.flight{position:absolute;right:-40px;top:30px;width:560px;height:260px;pointer-events:none;opacity:.9}
.flight svg{position:absolute;inset:0}
.flight path{fill:none;stroke:rgba(255,255,255,.35);stroke-width:2;stroke-dasharray:6 8}
.flight .pl{position:absolute;left:0;top:0;display:block;width:34px;height:20px;offset-path:path("M10 230 C 160 60, 360 250, 550 30");offset-rotate:auto;animation:fly 7s linear infinite;color:var(--lime)}
.flight .pl svg{position:static}
@keyframes fly{from{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}to{offset-distance:100%;opacity:0}}
@media (max-width:760px){.flight{opacity:.3;right:-220px;top:10px}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.2);margin-top:44px;border-radius:18px;overflow:hidden}
.stat{background:var(--blue);padding:20px 22px}
.stat b{display:block;font:900 clamp(28px,4.4vw,46px) var(--display);color:var(--lime)}
.stat span{font-weight:600;color:#D6DDFF;font-size:14px}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}}
.ticker{border-top:1px solid rgba(255,255,255,.18);overflow:hidden;white-space:nowrap;padding-block:14px;font:800 14px var(--display);letter-spacing:.06em;text-transform:uppercase;color:#D6DDFF}
.ticker .track{display:inline-flex;gap:28px;animation:marq 60s linear infinite;padding-left:28px}
.ticker .track span::after{content:"✈";margin-left:28px;color:var(--lime)}
@keyframes marq{to{transform:translateX(-50%)}}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media (max-width:860px){.grid2{grid-template-columns:1fr}}
.list{display:flex;flex-direction:column;border-top:1.5px solid var(--line)}
.li{display:grid;grid-template-columns:118px 1fr auto;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1.5px solid var(--line);text-decoration:none;transition:padding .25s var(--ease),background .25s}
a.li:hover{padding-inline:10px;background:var(--chip)}
.li .d{font-weight:800;font-size:13px;color:var(--muted)}
.li b{font-weight:700}
.li small{display:block;color:var(--muted);font-weight:600;font-size:13px}
@media (max-width:480px){.li{grid-template-columns:1fr auto}.li .d{grid-column:1/-1}}
.seasons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:760px){.seasons{grid-template-columns:1fr}}
.season{background:var(--surface);border-radius:18px;padding:22px;box-shadow:var(--shadow);text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:transform .35s var(--ease)}
.season:hover{transform:translateY(-4px)}
.season i{font-style:normal;font:800 12px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.season b{font:900 40px var(--display)}
.season span{color:var(--muted);font-weight:600;font-size:14px}
