/* Montserrat — обычный вертикальный шрифт (из Google Fonts) */

/* плавный переход между страницами (index ↔ privacy) */
@view-transition { navigation: auto; }
@keyframes pageFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ===== TOKENS ===== */
:root{
  --bg:#030710;
  --bg-2:#070d1f;
  --bg-3:#0e1730;
  --ink:#ffffff;
  --muted:#9aa0ad;
  --line:rgba(255,255,255,.08);
  --red:#ce1627;
  --red-2:#93131f;
  --gold:#947642;
  --gold-2:#c89f55;
  --radius:16px;
  --maxw:1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Onest',system-ui,sans-serif;
  letter-spacing:-.01em;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  animation:pageFadeIn .4s ease both;
}
@media (prefers-reduced-motion:reduce){body{animation:none}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

html{overflow-x:hidden}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:96px 0}
[hidden]{display:none!important}

/* ===== TYPO ===== */
.h2{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:clamp(28px,4vw,46px);
  line-height:1.05;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.eyebrow{
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:13px;
  font-weight:600;
  color:var(--gold-2);
  margin-bottom:14px;
}
.section__head{max-width:760px;margin:0 auto 56px;text-align:center}
.section__sub{color:var(--muted);margin-top:16px;font-size:18px}
.section__cta{margin-top:26px}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Montserrat',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:1px;font-size:15px;
  padding:14px 26px;border-radius:12px;border:1px solid transparent;
  cursor:pointer;transition:.25s ease;white-space:nowrap;
}
.btn--lg{padding:18px 38px;font-size:17px}
.btn--block{width:100%}
.btn--gold{
  background:linear-gradient(135deg,var(--red),var(--red-2));
  color:#fff;
  box-shadow:0 10px 30px -10px rgba(206,22,39,.65);
}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(206,22,39,.85)}
.btn--ghost{border-color:var(--line);color:var(--ink);background:rgba(255,255,255,.03)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}

/* ===== NAV ===== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:.3s ease;
  padding:18px 0;
}
.nav.is-scrolled{
  background:rgba(5,10,27,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 12px 30px -16px rgba(0,0,0,.8);
  padding:12px 0;
}
.nav__inner{display:flex;align-items:center;gap:24px}
.nav__brand{display:flex;align-items:center;gap:14px}
.nav__logo{transition:.2s ease}
.nav__logo:hover{opacity:.82;transform:scale(1.04)}
.nav__logo img{height:54px;width:auto;display:block}
.nav__brand-sep{width:1px;height:30px;background:var(--line)}
.nav__support{display:flex;align-items:center;gap:10px;transition:.2s}
.nav__support:hover{opacity:.85}
.nav__support-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.nav__support-txt span{
  font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);
}
.nav__support-txt strong{
  font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;
  text-transform:uppercase;color:var(--gold-2);white-space:nowrap;
}
.nav__support img{height:28px;width:auto;display:block}
.nav__menu{display:flex;gap:28px;margin-left:auto}
.nav__menu a{
  font-family:'Montserrat',sans-serif;text-transform:uppercase;
  font-size:14px;letter-spacing:1px;color:var(--muted);transition:.2s;
}
.nav__menu a:hover{color:var(--ink)}
.nav__cta{margin-left:8px}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav__burger span{width:24px;height:2px;background:var(--ink);transition:.3s}

/* ===== HERO ===== */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  background:url('assets/hero-arena.jpg') center/cover no-repeat;
  padding:120px 0 60px;
}
.hero__overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(120% 80% at 50% 0%,rgba(206,22,39,.32),transparent 58%),
    linear-gradient(180deg,rgba(3,7,16,.6) 0%,rgba(3,7,16,.68) 45%,rgba(7,13,31,.88) 78%,var(--bg-2) 100%);
}
.hero__inner{
  position:relative;z-index:2;width:100%;
  display:flex;flex-direction:column;gap:56px;
}
.hero__top{
  display:grid;grid-template-columns:minmax(300px,440px) 1fr;
  gap:24px;align-items:center;text-align:left;
}
.hero__emblem{display:flex;justify-content:flex-end;transform:translate(48px,-26px) rotate(-8deg)}
.hero__emblem img{
  width:100%;max-width:460px;
  filter:drop-shadow(0 34px 56px rgba(0,0,0,.65));
  animation:floaty 5s ease-in-out infinite;
}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero__content{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.hero__partners{margin-bottom:28px;font-size:13px;color:var(--muted)}
.hero__partners span{display:block;letter-spacing:2px;text-transform:uppercase;font-size:11px;opacity:.7;margin-bottom:10px}
.hero__partners-row{display:inline-flex;align-items:center;gap:12px}
.hero__partners-row .partner-logo{height:34px;width:auto}
.hero__partners strong{color:var(--ink);font-weight:600}

.footer__col .footer__partner{display:flex;align-items:flex-start;gap:14px;transition:.25s ease}
.footer__col .footer__partner:hover{opacity:.85;transform:translateY(-2px)}
/* оба лого — в общий слот 52×38, вписаны по левому краю: подписи выравниваются по одной вертикали */
.footer__partner img{flex:0 0 52px;width:52px;height:38px;object-fit:contain;object-position:left center}
.footer__partner p{margin:0;transition:color .2s}
.footer__col .footer__partner:hover p{color:var(--ink)}
.footer__partner--db{margin-top:18px}
/* Вираж — подпись мельче */
.footer__partner--virazh{margin-top:16px}
.footer__partner--virazh p{font-size:12px;line-height:1.5;color:var(--muted)}
.hero__kicker{
  font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:3px;
  color:var(--gold-2);font-size:13px;font-weight:600;margin:0 0 16px;
}
.hero__title{
  font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(44px,6.2vw,88px);line-height:.92;letter-spacing:1px;
  text-shadow:0 20px 60px rgba(0,0,0,.6);
}
.hero__title span{
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero__lead{margin:26px 0 0;max-width:600px;font-size:19px;color:#d7dae0}
.hero__meta{
  display:inline-flex;align-items:center;gap:28px;margin:6px 0 0;align-self:flex-start;
  padding:16px 30px;border:1px solid var(--line);border-radius:14px;
  background:rgba(255,255,255,.03);backdrop-filter:blur(6px);
}
.hero__meta-item{display:flex;flex-direction:column;text-align:left}
.hero__meta-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.hero__meta-value{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:600}
.hero__meta-sep{width:1px;height:34px;background:var(--line)}

/* Hero CTA above countdown */
.hero__cta-wrap{display:flex;justify-content:center;margin-top:8px}
/* Countdown */
.countdown-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:8px}
.countdown{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap}
.countdown__cell{
  min-width:120px;text-align:center;
}
.countdown__cell b{
  display:block;font-family:'Montserrat',sans-serif;font-size:clamp(64px,8vw,112px);
  font-weight:700;line-height:1;letter-spacing:1px;text-transform:uppercase;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:0 14px 40px rgba(0,0,0,.4);
}
.countdown__cell span{
  font-size:13px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);
  margin-top:10px;display:block;
}
.countdown__sep{
  font-family:'Montserrat',sans-serif;font-size:clamp(52px,6.5vw,92px);font-weight:700;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  opacity:.45;line-height:1;margin-top:-26px;
}

.hero__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:0}
.hero__scroll{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;
  color:var(--gold-2);display:block;transition:color .2s,transform .2s;
}
.hero__scroll:hover{color:var(--gold-2)}
.hero__scroll svg{width:34px;height:62px;display:block;animation:scrollArrow 1.8s ease infinite}
@keyframes scrollArrow{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(7px);opacity:1}}

/* ===== ABOUT ===== */
.about{position:relative;overflow:hidden;min-height:960px;display:flex;align-items:center;
  background:var(--bg-2)}
/* фото Богдана во всю высоту секции, бликует в правый край,
   левый край растворяется под текст, мягкие фейды сверху/снизу */
.about__photo{
  position:absolute;bottom:0;right:max(8px,calc((100% - 1200px)/2 - 80px));
  height:100%;width:auto;max-width:none;z-index:0;
  pointer-events:none;object-fit:cover;object-position:center bottom;
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0,#000 20%),
    linear-gradient(180deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:
    linear-gradient(90deg,transparent 0,#000 20%),
    linear-gradient(180deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect;
}
/* лёгкое золотое свечение за фигурой */
.about::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(46% 44% at 74% 36%,rgba(200,159,85,.22),transparent 70%);
}
.about__grid{position:relative;z-index:1;display:block}
.about__text{max-width:640px}
.about__text p:not(.eyebrow){color:#c9cdd6;margin-top:18px;font-size:17px}
.about__text strong{color:var(--ink)}
.about__charity{
  margin-top:26px;padding:16px 20px;border-left:3px solid var(--gold);
  background:rgba(200,159,85,.07);border-radius:0 12px 12px 0;color:var(--ink)!important;
  display:flex;align-items:center;gap:12px;
}
.ic-heart{width:22px;height:22px;flex:none;fill:var(--gold-2)}
.about__media img{
  border-radius:var(--radius);border:1px solid var(--line);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.8);
}
/* фигуры-вырезки + красное свечение, как часть страницы (без рамки) */
.about__media--bare{position:relative}
.about__media--bare::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  inset:-12% -8% -6% -10%;
  background:radial-gradient(58% 56% at 52% 44%,rgba(206,22,39,.45),rgba(206,22,39,.12) 45%,transparent 72%);
  filter:blur(40px);
}
.about__media--bare img{position:relative;z-index:1;border:0;border-radius:0;box-shadow:none;width:100%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}
/* фото-вырезка с прозрачным фоном */
.about__media--cutout{display:flex;justify-content:center}
.about__media--cutout img{
  border:0;border-radius:0;box-shadow:none;
  width:auto;max-height:560px;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.5));
}

/* ===== STATS ===== */
.stats{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:48px 0}
.stats__item{text-align:center}
.stats__item b{
  display:block;font-family:'Montserrat',sans-serif;font-size:clamp(26px,3vw,40px);
  font-weight:700;color:var(--gold-2);line-height:1.1;
}
.stats__item span{color:var(--muted);font-size:14px;margin-top:8px;display:block}

/* ===== PLAYERS (состав, 32) ===== */
.players{position:relative;background:#050a1b;overflow:hidden}
/* фон секции — слегка заблюренная ледовая арена под тёмной вуалью */
.players__bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    /* фейд краёв ровно в цвет соседних секций (#050a1b) — без стыка */
    linear-gradient(180deg,#050a1b 0,rgba(5,10,27,0) 240px,rgba(5,10,27,0) calc(100% - 240px),#050a1b 100%),
    linear-gradient(180deg,rgba(5,10,27,.82),rgba(5,10,27,.9)),
    url('assets/players-arena.jpg') center/cover no-repeat;
}
.players .container{position:relative;z-index:1;max-width:1320px}
/* горизонтальный скролл: 2 ряда карточек, прокрутка по горизонтали */
.players__grid{
  display:grid;
  /* 12 карточек: переносим по рядам и центрируем, без горизонтального скролла */
  grid-template-columns:repeat(auto-fit,192px);
  justify-content:center;
  gap:28px 18px;
  max-width:1254px;              /* до 6 карточек в ряд */
  margin-inline:auto;
  padding:0 0 8px;
}
.players__grid::-webkit-scrollbar{width:0;height:0;display:none}  /* скрыть (WebKit) */
/* стрелки прокрутки ленты игроков — скрыты, пока игроков мало и переключать нечего */
.players .container{position:relative}
.players__nav{display:none;justify-content:flex-end;gap:10px;margin:-28px 0 22px;z-index:2;
  width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);padding-right:40px}
.players__arrow{
  width:46px;height:42px;border-radius:12px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04);border:1px solid rgba(200,159,85,.45);
  color:var(--gold-2);transition:.25s ease;
}
.players__arrow:hover{background:rgba(200,159,85,.14);border-color:var(--gold)}
.players__arrow svg{width:20px;height:20px}

/* ===== гексагональные карточки игроков ===== */
.player{scroll-snap-align:start}
.player{
  position:relative;display:flex;flex-direction:column;align-items:center;
  background:none;border:0;box-shadow:none;
  text-decoration:none;color:inherit;transition:transform .3s ease;
}
/* гексагон: золотая обводка (золотой фон) + тёмная внутренняя вставка */
.player__photo{
  position:relative;width:100%;aspect-ratio:162/200;
  -webkit-clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);
  clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);
  background:linear-gradient(160deg,var(--gold-2),var(--gold) 55%,#8a6c34);
}
.player__photo::before{
  content:"";position:absolute;inset:2px;z-index:0;pointer-events:none;
  -webkit-clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);
  clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);
  background:radial-gradient(125% 100% at 50% 14%,#1a2748 0%,#0b1124 60%,#070c1a 100%);
}
.player__photo img{
  position:absolute;left:50%;bottom:2px;transform:translateX(-50%);z-index:1;
  width:calc(100% - 4px);height:calc(100% - 4px);
  -webkit-clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);
  clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);
  object-fit:cover;object-position:center bottom;
}
/* имя: имя сверху мельче, фамилия крупнее */
.player h3{
  width:100%;
  margin-top:18px;font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:17px;text-transform:uppercase;line-height:1.16;letter-spacing:.4px;
  text-align:center;color:#fff;overflow-wrap:break-word;
}
/* бейдж с номером игрока внизу карточки (вместо лого клуба) */
.player[data-num]::after{
  content:attr(data-num);margin-top:12px;
  min-width:42px;height:42px;padding:0 7px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Saira Condensed','Montserrat',sans-serif;font-weight:800;
  font-size:24px;line-height:1;color:#0a1124;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  box-shadow:0 6px 16px -4px rgba(0,0,0,.6);
}

/* выделенная карточка (Богдан) — такой же контур как у остальных, имя золотым */
.player--featured h3{color:var(--gold-2);text-shadow:0 0 16px rgba(200,159,85,.6)}
.players__note{text-align:center;color:var(--muted);font-size:12px;opacity:.7;margin-top:32px}
.players__cta{display:flex;justify-content:center;margin-top:32px}

/* ===== ТРЕНЕРЫ ===== */
/* фон стыкуется с .players (#050a1b) сверху и с .broadcast (var(--bg)) снизу — без «ступеньки» */
.coaches{background:linear-gradient(180deg,#050a1b,var(--bg))}
.coaches .container{max-width:1320px}
.coaches__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,192px);
  justify-content:center;
  gap:28px 18px;
  max-width:1254px;
  margin-inline:auto;
  padding:0 0 8px;
}
.coaches__grid:empty{display:none}
/* должность под именем тренера */
.player__role{
  margin:8px 0 0;text-align:center;font-size:12px;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--gold-2);opacity:.9;
}
.coaches__soon{text-align:center;color:var(--muted);font-size:14px;opacity:.75;margin:8px 0 0}

/* достижения Богдана + цитата */
/* заголовок «О Богдане» с олимпийской медалью слева */
.gold-text{
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--gold-2);
}
.about__title{display:flex;align-items:center;gap:16px}
.about__medal{height:92px;width:130px;object-fit:contain;flex:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}
.about__title .h2{margin:0}

.ach{list-style:none;display:flex;flex-direction:column;gap:16px;margin:26px 0 0}
.ach li{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:16px;
  color:#eef0f4;font-size:18px;font-weight:600;line-height:1.3}
.ach li b{color:var(--gold-2);font-weight:700}
.ach__ic{width:26px;height:26px;flex:none;color:var(--gold-2)}
/* реальные фото-награды повторяются по числу титулов: Гагарин ×2, Континент ×5 */
.ach__cups{display:inline-flex;align-items:flex-end;justify-content:center;gap:5px;min-height:62px}
.ach__cups img{height:60px;width:auto;object-fit:contain;
  filter:drop-shadow(0 4px 9px rgba(0,0,0,.55))}
.ach__cups--five img{height:54px}
.ach__cups--five{gap:3px}
.ach__medal-ic{height:64px !important;width:auto;filter:drop-shadow(0 4px 9px rgba(0,0,0,.55))}
.ach__cups--single{justify-content:center}
/* логотип ОКР — уже с белым кругом в самой картинке */
.ach__medal-ic--okr{
  height:74px !important;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));
}

/* второстепенные достижения — маркированный список */
.ach--bullets{gap:9px;margin-top:16px}
.ach--bullets li{display:block;position:relative;padding-left:20px;
  color:#c4c8d2;font-size:15px;font-weight:400;line-height:1.45}
.ach--bullets li::before{content:"";position:absolute;left:3px;top:9px;
  width:6px;height:6px;border-radius:50%;background:var(--gold-2)}
.ach--bullets li.nowrap{white-space:nowrap}
.quote{
  margin-top:28px;padding:20px 24px;border-left:3px solid var(--gold-2);
  background:rgba(200,159,85,.06);border-radius:0 12px 12px 0;
  font-style:normal;font-size:17px;color:var(--ink);
}
.quote cite{display:block;margin-top:10px;font-style:normal;font-size:14px;color:var(--gold-2);font-weight:600}

/* ===== ТРАНСЛЯЦИИ ===== */
.broadcast{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 50%,var(--bg) 100%)}
.broadcast__row{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:30px 28px;max-width:1160px;margin:0 auto;
}
.bcaster{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:200px;min-height:120px;text-decoration:none;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
/* оптическая балансировка: одинаковая высота по типу лого (иконки крупнее словесных),
   ширина авто — иначе широкие логотипы «худеют», а квадратные раздуваются */
.bcaster img{height:40px;width:auto;max-width:200px;object-fit:contain;display:block}
.bcaster--khl img{height:58px}                 /* квадратный щит */
.bcaster img[src*="ok.png"]{height:46px}        /* Одноклассники — иконка+текст */
.bcaster img[src*="prosport"]{height:46px}      /* ВК Про Спорт — в две строки */
.bcaster img[src*="okko"]{height:44px}
.bcaster img[src*="kinopoisk"]{height:28px}     /* широкий словесный с иконкой */
.bcaster span{
  font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.5px;
  font-size:23px;font-weight:700;color:#eef0f4;transition:color .3s ease;text-align:center;
}
/* подписи скрыты, когда есть логотип; остаётся только для брендов без лого (Хоккей ТВ) */
.bcaster img + span{display:none}

/* мобильная авто-карусель логотипов (2 строки, в разные стороны) */
.broadcast__marquee{display:none;flex-direction:column;gap:22px;margin-top:8px}
.bmark-row{overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.bmark-track{display:flex;gap:40px;width:max-content;align-items:center;padding:0 20px}
.bmark{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:60px}
.bmark img{height:52px;width:auto;max-width:150px;object-fit:contain;display:block}
.bmark--text{font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;color:#eef0f4;font-size:20px;white-space:nowrap}
.bmark-row--l .bmark-track{animation:bmarqueeL 20s linear infinite}
.bmark-row--r .bmark-track{animation:bmarqueeR 24s linear infinite}
@keyframes bmarqueeL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bmarqueeR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.bcaster:hover{transform:translateY(-6px) scale(1.05);filter:drop-shadow(0 12px 24px rgba(0,0,0,.5))}
.bcaster:hover span{color:var(--gold-2)}
/* Триколор → белый логотип */
.bcaster--tricolor img{filter:brightness(0) invert(1)}
/* Хоккей ТВ — широкий горизонтальный лого */
.bcaster--hockeytv img{height:34px;width:auto}
.broadcast__note{
  text-align:center;margin-top:42px;color:var(--ink);font-size:18px;font-weight:500;
}
.broadcast__note b{color:var(--gold-2);font-weight:700}

/* спонсоры */
.sponsors{background:linear-gradient(180deg,var(--bg-2),var(--bg))}
.sponsors__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 48px}
.sponsors__row + .sponsors__label{margin-top:46px}
.sponsors__label{
  text-align:center;font-family:'Montserrat',sans-serif;text-transform:uppercase;
  letter-spacing:2px;font-size:13px;font-weight:600;color:var(--gold-2);
  margin:0 0 22px;opacity:.85;
}
/* каждый логотип — в общем боксе, высота задаётся оптически под тип лого */
.sponsor{
  display:flex;align-items:center;justify-content:center;
  width:220px;min-height:96px;padding:0;border-radius:14px;
  background:none;border:0;
  opacity:1;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.sponsor:hover{
  transform:translateY(-6px) scale(1.06);
}
.sponsor img{
  width:auto;height:56px;max-width:200px;object-fit:contain;display:block;
  transition:filter .4s ease;
}
/* главная строка — иконочные лого чуть крупнее словесных для оптического баланса */
.sponsors__row--main .sponsor img[src*="severstal-hc"]{height:78px}
.sponsors__row--main .sponsor--pao{width:300px}
.sponsors__row--main .sponsor--pao img{height:84px;max-width:280px}
.sponsors__row--main .sponsor--okr img{height:84px}
/* HENDERSON + Альфа-Банк + СОЮЗ — второй ряд, горизонтальные лого */
.sponsors__row--brands{margin-top:24px}
/* ширины боксов = как в верхнем ряду (220 / 300 / 220), чтобы колонки двух ярусов
   совпадали: Альфа-Банк встаёт ровно под «Северсталь», Henderson — под ХК, СОЮЗ — под ОКР */
.sponsors__row--brands .sponsor{width:220px;min-height:96px}
.sponsors__row--brands .sponsor--alfa{width:300px}
.sponsors__row--brands .sponsor--henderson img{height:32px;max-width:205px}
.sponsors__row--brands .sponsor--soyuz img{height:34px;max-width:190px}
/* Альфа-Банк: фирменный красный флаг; надпись занимает ~треть высоты знака,
   поэтому по высоте он крупнее словесных лого — оптически они получаются вровень.
   Белая монохромная версия лежит в assets/alfabank.png, если понадобится. */
.sponsors__row--brands .sponsor--alfa img{height:66px;max-width:185px}
/* инфопартнёры */
.sponsors__row--info .sponsor{min-height:80px}
.sponsors__row--info .sponsor img[src*="vk-video"]{height:44px}
.sponsors__row--info .sponsor img[src*="prosport"]{height:54px}
.sponsors__row--info .sponsor img[src*="ok.png"]{height:50px}
.sponsor:hover img{filter:drop-shadow(0 12px 26px rgba(0,0,0,.55))}
.sponsor span{display:none}
/* блок покупки билетов (Яндекс.Афиша) внутри карточки .info__form */
.info__buy{display:flex;flex-direction:column}
.info__buy .info__form-sub{margin:8px 0 22px}
.info__buy .btn{margin-top:2px}
.info__buy-note{margin-top:14px;font-size:13px;line-height:1.5;color:var(--muted)}
.sponsor__wm{
  display:flex;align-items:center;justify-content:center;height:54px;min-width:64px;padding:0 14px;
  border-radius:12px;background:linear-gradient(135deg,#0077ff,#0a5be0);
  font-family:'Montserrat',sans-serif;font-size:26px;color:#fff;letter-spacing:1px;
}

/* ===== PROGRAM (horizontal timeline) ===== */
.program{background:linear-gradient(180deg,var(--bg),var(--bg-2))}
.program .container{max-width:1560px}
.bento{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  grid-template-rows:repeat(5,184px);
  gap:18px;margin-top:48px;
  grid-template-areas:
    "ch p  p"
    "ch p  p"
    "ch p  p"
    "ch f  s"
    "ch sz o";
}
.btile--ch{grid-area:ch}
.btile--p{grid-area:p}
.btile--f{grid-area:f}
.btile--s{grid-area:s}
.btile--sz{grid-area:sz}
.btile--o{grid-area:o}
.btile--ch h3,.btile--p h3{font-size:30px}
.btile{
  position:relative;overflow:hidden;border-radius:18px;padding:24px;
  display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(135deg,#111a30,#0a1124);
  border:1px solid var(--line);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.btile:hover{transform:translateY(-6px);border-color:rgba(200,159,85,.85);
  box-shadow:0 24px 52px -20px rgba(0,0,0,.78),0 0 0 1px rgba(200,159,85,.4),0 0 46px -8px rgba(200,159,85,.4)}
.btile__ic{position:absolute;top:16px;right:18px;width:30px;height:30px;color:var(--gold-2);opacity:.5}
.btile__ic svg{width:100%;height:100%;fill:currentColor}
.btile h3{
  font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:25px;line-height:1.12;letter-spacing:.3px;color:var(--gold-2);
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
/* описание видно сразу */
.btile p{
  color:#e6e9f0;font-size:15px;line-height:1.45;max-width:42ch;margin-top:10px;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}

/* размеры плиток (сетка тесселируется в прямоугольник 4×6) */
.btile--big{grid-column:span 2;grid-row:span 2}
.btile--big h3{font-size:24px}
.btile--wide{grid-column:span 2}
.btile--tall{grid-row:span 2}

/* акценты */
.btile--tint{background:linear-gradient(135deg,#1a2748,#0e1730);border-color:rgba(200,159,85,.25)}
.btile--gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));border-color:transparent}
.btile--gold .btile__ic{color:#3a2c10;opacity:.7}
.btile--gold h3{color:#1a1205}
.btile--gold p{color:#3a2c10}
.btile--red{background:linear-gradient(135deg,#93131f,#3a0912);border-color:rgba(232,85,107,.4)}

/* фото-плитки: фоновое изображение + затемнение, текст и иконка поверх */
.btile--photo{border-color:rgba(200,159,85,.28)}
.btile__bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  transition:transform .5s ease;
}
.btile--photo::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(5,9,22,.42) 62%,rgba(5,9,22,.9) 100%);
  opacity:.72;transition:opacity .4s ease;
}
.btile--photo:hover::before{opacity:1}
.btile--photo:hover .btile__bg{transform:scale(1.06)}
.btile--photo>.btile__ic{z-index:2;opacity:.85;color:#fff}
.btile--photo>h3,.btile--photo>p{position:relative;z-index:2}
.btile--photo>p{color:#dfe3ec}

/* лого «Студия Союз» как заголовок плитки */
.btile__logo{margin:0}
.btile__logo img{height:42px;width:auto;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}

@media(max-width:860px){
  .bento{grid-template-areas:none;grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:220px}
  .btile--ch,.btile--p,.btile--f,.btile--s,.btile--sz,.btile--o{grid-area:auto}
  .btile--ch,.btile--p{grid-column:span 2}
  /* на тач-экранах ховера нет — описание показываем всегда */
  .btile p{max-height:160px;opacity:1;margin-top:10px}
  .btile--photo::before{opacity:1}
}
@media(max-width:620px){
  /* программа: горизонтальный скролл, высокие плитки */
  .bento{
    display:flex;grid-template:none;gap:14px;
    width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);
    padding:0 20px 14px;overflow-x:auto;scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .bento::-webkit-scrollbar{display:none}
  .btile{flex:0 0 76%;min-height:360px;scroll-snap-align:start;grid-area:auto}
  .btile--ch,.btile--p{grid-column:auto;flex-basis:82%}
  .btile p{max-height:160px;opacity:1;margin-top:10px}
  .btile--photo::before{opacity:1}
  /* трансляции: статичный ряд прячем, показываем авто-карусель */
  .broadcast__row{display:none}
  .broadcast__marquee{display:flex}
}

/* ===== INFO / FORM ===== */
.info{
  position:relative;overflow:hidden;padding:64px 0;
  background:
    linear-gradient(180deg,var(--bg-2) 0%,rgba(5,10,27,.82) 18%,rgba(5,10,27,.82) 82%,var(--bg) 100%),
    url('assets/tickets-bg.jpg') center/cover no-repeat;
}
.info .container{max-width:none;padding:0 13% 0 45%}
/* фото Богдана у левого края, край мягко уходит в фон секции */
.info__photo{
  position:absolute;left:max(24px,calc((100% - 1140px)/2));bottom:0;
  height:100%;width:auto;max-width:min(36%,500px);object-fit:contain;object-position:left bottom;
  z-index:0;pointer-events:none;
  -webkit-mask-image:
    linear-gradient(90deg,#000 56%,transparent 100%),
    linear-gradient(0deg,transparent 0,#000 16%);
  mask-image:
    linear-gradient(90deg,#000 56%,transparent 100%),
    linear-gradient(0deg,transparent 0,#000 16%);
  -webkit-mask-composite:source-in;mask-composite:intersect;
}
.info__grid{position:relative;z-index:1}
/* справа одна широкая вертикальная колонка: текст → блоки в ряд → форма */
.info__grid{display:flex;flex-direction:column;gap:18px;align-items:flex-end}
.info__grid>*{width:100%;max-width:760px}
.info__left p:not(.eyebrow){color:#c9cdd6;font-size:17px;margin-top:16px}
/* блоки Дата / Место / Билеты — в ряд */
.info__list{list-style:none;margin-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.info__list li{
  display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;padding:14px 14px;
  border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);
  font-size:14px;line-height:1.3;
}
.li-ic{width:24px;height:24px;flex:none;color:var(--gold)}
.info__list b{font-family:'Montserrat',sans-serif;text-transform:uppercase;color:var(--gold);letter-spacing:1px;font-weight:600;font-size:13px}

.info__form{
  padding:28px 30px;border-radius:var(--radius);
  background:linear-gradient(180deg,var(--bg-3),var(--bg-2));
  border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(0,0,0,.9);
}
.info__form h3{font-family:'Montserrat',sans-serif;font-size:24px;text-transform:uppercase}
.info__form-sub{color:var(--muted);margin:8px 0 18px;font-size:14px}
.field{position:relative;margin-bottom:12px}
.field input{
  width:100%;padding:18px 16px 8px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  color:var(--ink);font-size:16px;font-family:inherit;transition:.2s;
}
.field input:focus{outline:none;border-color:var(--gold)}
.field label{
  position:absolute;left:16px;top:15px;color:var(--muted);font-size:16px;
  pointer-events:none;transition:.18s ease;
}
.field input:focus + label,
.field input:not(:placeholder-shown) + label{top:7px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}
/* состояние ошибки */
.field.is-error input{border-color:#e8556b;background:rgba(232,85,107,.06)}
.field__err{display:none;color:#ff8497;font-size:12.5px;margin-top:6px;padding-left:2px}
.field.is-error .field__err{display:block}
.check__err{margin:-12px 0 16px}
.check.is-error ~ .check__err{display:block}

/* кастомный чекбокс */
.check{display:flex;gap:12px;align-items:flex-start;margin:8px 0 18px;color:var(--muted);font-size:13px;cursor:pointer;line-height:1.45}
.check input{position:absolute;opacity:0;width:0;height:0}
.check__box{
  flex:none;width:22px;height:22px;border-radius:7px;margin-top:1px;
  border:1.5px solid var(--line);background:rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;transition:.18s ease;color:#1a1306;
}
.check__box svg{width:15px;height:15px;opacity:0;transform:scale(.6);transition:.18s ease}
.check input:checked + .check__box{background:linear-gradient(135deg,var(--gold-2),var(--gold));border-color:var(--gold)}
.check input:checked + .check__box svg{opacity:1;transform:scale(1)}
.check input:focus-visible + .check__box{box-shadow:0 0 0 3px rgba(200,159,85,.3)}
.check.is-error .check__box{border-color:#e8556b}
.info__form-ok{margin-top:16px;color:#7bd88f;font-size:14px;text-align:center}

/* ===== FOOTER ===== */
.footer{background:var(--bg);padding:64px 0 28px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.footer__logo{width:100%;max-width:220px;height:auto;margin-bottom:18px}
.footer__brand p{color:var(--muted);font-size:14px}
.footer__social{display:flex;gap:12px;margin-top:18px}
.footer__col .footer__social a{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border:1px solid var(--line);border-radius:12px;
  color:var(--muted);transition:.25s ease;margin:0;
}
.footer__col .footer__social a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);background:rgba(200,159,85,.08)}
.footer__social svg{width:22px;height:22px;fill:currentColor;display:block}
.footer__col h4{font-family:'Montserrat',sans-serif;text-transform:uppercase;font-size:14px;letter-spacing:1px;margin-bottom:16px;color:var(--gold)}
.footer__col a,.footer__col p{display:block;color:var(--muted);font-size:14px;margin-bottom:8px;transition:.2s}
.footer__col a:hover{color:var(--ink)}
.footer__bottom{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);
  color:var(--muted);font-size:13px;
}
.footer__bottom a:hover{color:var(--ink)}
.footer__email{color:var(--gold-2);font-weight:600}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(30px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .hero__inner{gap:36px}
  .hero__top{grid-template-columns:1fr;gap:28px;text-align:center;justify-items:center}
  .hero__emblem{transform:rotate(-6deg)}
  .hero__emblem img{max-width:280px}
  .hero__content{align-items:center}
  .hero__meta{align-self:center}
  .countdown-wrap{align-items:center}
  .countdown{justify-content:center}
  .hero__lead{margin-left:auto;margin-right:auto}
  .info .container{padding:0 24px}
  .info__grid{gap:28px;align-items:stretch}
  .info__grid>*{max-width:none}
  .info__list{grid-template-columns:1fr}
  .info__photo{display:none}
  /* на узких экранах фото уходит наверх, текст под ним */
  .about{overflow:visible;min-height:auto;display:block}
  .about::after{display:none}
  .about__grid{max-width:none}
  .about__photo{
    position:relative;display:block;margin:0 auto 4px;
    width:auto;height:400px;max-width:100%;object-fit:contain;
    -webkit-mask-image:linear-gradient(180deg,#000 0,#000 82%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0,#000 82%,transparent 100%);
    -webkit-mask-composite:source-over;mask-composite:add;
  }
  .players__grid{grid-template-columns:repeat(auto-fit,168px);max-width:900px}
  .sponsors__row{grid-template-columns:repeat(2,1fr)}
  .sponsor{width:auto;min-height:84px}
  /* на узких экранах колоночная сетка не нужна — боксы по контенту */
  .sponsors__row--main .sponsor--pao,
  .sponsors__row--brands .sponsor,
  .sponsors__row--brands .sponsor--alfa{width:auto;min-height:84px}
  .sponsors__row--info .sponsor{min-height:70px}
  .program__row{grid-template-columns:repeat(3,1fr);gap:28px 18px}
  .program__row::before{display:none}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .section{padding:64px 0}
  .about__title{gap:12px}
  .about__medal{height:66px;width:88px}
  .ach li{font-size:16px;grid-template-columns:88px 1fr;gap:12px}
  .ach__cups img{height:40px}
  .ach__cups--five img{height:34px}
  .nav__menu{
    position:fixed;inset:0 0 0 auto;width:74%;max-width:320px;
    flex-direction:column;gap:0;background:var(--bg-2);
    padding:90px 28px;transform:translateX(100%);transition:.3s ease;
    border-left:1px solid var(--line);margin-left:0;
  }
  .nav__menu.is-open{transform:none}
  .nav__menu a{padding:16px 0;border-bottom:1px solid var(--line);font-size:17px}
  .nav__cta{display:none}
  .nav__support,.nav__brand-sep{display:none}
  .nav__burger{display:flex;margin-left:auto;z-index:60}
  .hero__meta{flex-direction:column;gap:14px}
  .hero__meta-sep{width:60px;height:1px}
  .countdown{gap:6px}
  .countdown__sep{display:none}
  .countdown__cell{min-width:0;flex:1;padding:12px 2px 10px}
  .countdown__cell b{font-size:clamp(32px,10vw,56px);letter-spacing:0}
  .countdown__cell span{font-size:11px;letter-spacing:1px;margin-top:6px}
  .players__grid{grid-template-columns:repeat(auto-fit,140px);gap:18px 12px;max-width:460px}
  .player h3{font-size:13px}
  .sponsors__row{grid-template-columns:1fr 1fr}
  .program__row{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr;gap:34px;text-align:center}
  .footer__brand{display:flex;flex-direction:column;align-items:center}
  .footer__logo{max-width:170px;margin-bottom:14px}
  .footer__social{justify-content:center}
  .footer__col a,.footer__col p{overflow-wrap:anywhere}
  .footer__col .footer__partner{justify-content:center}
  .footer__bottom{flex-direction:column;align-items:center;text-align:center;gap:10px}
}

/* ===== DOC PAGE (privacy) ===== */
.docbar{
  position:fixed;top:0;left:0;right:0;z-index:50;padding:14px 0;
  background:rgba(5,10,27,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
}
.docbar__inner{display:flex;align-items:center;gap:18px}
.docbar__logo img{height:34px;width:auto;display:block;transition:.2s}
.docbar__logo:hover img{opacity:.82}
.doc__back{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:34px;
  font-family:'Montserrat',sans-serif;text-transform:uppercase;
  letter-spacing:1px;font-size:14px;color:var(--muted);transition:.2s;
}
.doc__back:hover{color:var(--gold);transform:translateX(-3px)}
.doc__back svg{width:16px;height:16px;fill:none}

.doc{
  padding:140px 0 90px;
  background:
    radial-gradient(110% 55% at 50% 0%,rgba(206,22,39,.20),transparent 55%),
    linear-gradient(180deg,var(--bg),var(--bg-2));
}
.doc__head{text-align:center;max-width:780px;margin:0 auto 56px}
.doc__org{
  display:inline-flex;align-items:center;gap:14px;margin-bottom:30px;
  padding:12px 22px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);
}
.doc__org img{height:42px;width:auto}
.doc__org span{font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:1px;font-size:15px;text-align:left}
.doc h1{
  font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(26px,4vw,40px);line-height:1.1;letter-spacing:.5px;
}
.doc__sub{color:var(--muted);margin-top:14px;font-size:15px}
.doc__body{max-width:880px;margin:0 auto}
.doc__body h2{
  font-family:'Montserrat',sans-serif;font-weight:600;text-transform:uppercase;
  font-size:clamp(20px,2.4vw,26px);color:var(--gold-2);letter-spacing:.5px;
  margin:44px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line);
}
.doc__body h2:first-child{margin-top:0}
.doc__body p{color:#c9cdd6;margin:12px 0;line-height:1.75;font-size:16px}
.doc__body p b{color:var(--ink)}
.doc__body ul{margin:14px 0 14px 4px;list-style:none;display:flex;flex-direction:column;gap:9px}
.doc__body li{position:relative;padding-left:22px;color:#c9cdd6;line-height:1.6}
.doc__body li::before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:2px;background:var(--gold);transform:rotate(45deg)}
.doc__note{
  margin-top:40px;padding:20px 24px;border-left:3px solid var(--gold);
  background:rgba(200,159,85,.07);border-radius:0 12px 12px 0;color:var(--ink);
}
@media (max-width:720px){.doc{padding:96px 0 60px}}

.check a{color:var(--gold-2);text-decoration:underline;text-underline-offset:2px}
.check a:hover{color:var(--gold)}
