/* Трек 04 — Киберспорт и фиджитал (порт из DC) */

@keyframes hud-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.live-track + .live-track {
  margin-top: clamp(16px, 2vw, 28px);
}

.live-track--esports[data-stage='jury'] .live-track__hero {
  opacity: 0.9;
}

.live-track--esports[data-stage='nominees'] .live-track__hero {
  opacity: 0.86;
}

.live-track--esports[data-stage='final'] .live-track__hero {
  opacity: 0.92;
}

.live-track--esports {
  /* Кадр cyber-hero-wide 2.67:1 шире контейнера (2.2:1), поэтому запас по горизонтали
     есть всегда и панорамирование идёт через object-position ниже. Сдвиг трансформом
     убран: при scale 1.16 и shift -11% справа открывалась щель в 4.8% ширины.
     Наезд 1.14, а не базовый 1.04: широкий кадр почти не обрезается по вертикали,
     и на 1.04 фигура выходила 605 px против прежних 814 — читалось как «секция стала
     ниже». На 1.14 фигура 664 px, запас над головой 2.7% высоты контейнера (величина
     пропорциональная, не срежется на низких экранах). 1.18 оставляет 1%, 1.22 режет
     голову. */
  --esp-hero-img-scale: 1.14;
  --esp-hero-img-shift: 0%;
}

.live-track--esports .live-track__hero {
  overflow: hidden;
}

.live-track--esports .live-track__hero img {
  object-position: left center;
  filter: grayscale(1) brightness(var(--track-film-brightness, 0.82)) contrast(var(--track-film-contrast, 0.92));
  transform: scale(var(--esp-hero-img-scale)) translateX(var(--esp-hero-img-shift));
  transform-origin: center center;
}

.live-track--esports .live-track__grid {
  -webkit-mask-image: linear-gradient(270deg, transparent 28%, black 100%);
  mask-image: linear-gradient(270deg, transparent 28%, black 100%);
  opacity: 0.28;
}

.live-track--esports:not([data-stage='launch']) .esp-hud {
  display: none;
}

.esp-hud {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  font-family: 'IBM Plex Sans Condensed', sans-serif;
  color: #e8c36a;
  animation: hud-in 700ms ease both;
}

/* Кнопки «Старт» в HUD больше нет — правила .esp-hud__start удалены вместе
   с золотой рамкой, градиентом и миганием: элемента нет в разметке. */

.esp-hud__ruler {
  position: absolute;
  bottom: clamp(22px, 3.4vh, 40px);
  left: 50%;
  transform: translateX(-50%);
  width: min(560px, 46vw);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  opacity: 0.62;
  font: 500 10px/1 'IBM Plex Sans Condensed', sans-serif;
  /* HUD — служебный слой поверх кадра, а не акцент: держим его нейтральным. */
  color: rgba(244, 241, 234, 0.6);
}

.esp-hud__ruler-mark {
  width: 1px;
  height: 7px;
  background: rgba(244, 241, 234, 0.5);
}

.esp-hud__ruler-mark--lg {
  height: 10px;
  background: rgba(244, 241, 234, 0.7);
}

.esp-hud__ruler-s {
  font-weight: 700;
  font-size: 12px;
  color: rgba(244, 241, 234, 0.85);
}

/* Launch — правое выравнивание */
.live-track--esports .stage-view[data-stage-view='launch'] {
  position: relative;
}

.live-track--esports .stage-view[data-stage-view='jury'] {
  flex: 0 1 auto;
}

@media (min-width: 901px) {
  .live-track--esports .stage-view[data-stage-view='jury'] {
    flex: 1;
  }

  .live-track--esports .stage-view[data-stage-view='jury'] .esp-jury-bottom {
    margin-top: auto;
    padding-top: clamp(40px, 5vh, 72px);
  }
}

.esp-launch-top {
  display: flex;
  justify-content: flex-start;
}

/* Голова на всю ширину контента: служит containing block для .track-open,
   заголовок прижат вправо через text-align/width: fit-content */
.esp-launch-head {
  margin-top: clamp(-46px, -6vh, -30px);
  margin-left: 0;
  margin-right: clamp(32px, 3vw, 56px);
  max-width: none;
  padding-right: 0;
  text-align: right;
  box-sizing: border-box;
}

.esp-launch-head .track-title {
  margin-left: auto;
  max-width: none;
  width: fit-content;
  padding-right: 0;
}

.esp-launch-head .track-thesis {
  margin-left: auto;
}

.esp-launch-bottom {
  position: absolute;
  right: clamp(32px, 3vw, 56px);
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(18px, 2.6vh, 32px);
  max-width: min(1060px, calc(100% - clamp(32px, 3vw, 56px)));
  padding-right: 0;
  box-sizing: border-box;
}

.esp-launch-thesis {
  margin: 0;
  max-width: 460px;
  text-align: right;
}

/* Дуэт лидеров — launch */
.esp-leaders-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 276px));
  justify-content: end;
  gap: clamp(12px, 1.2vw, 18px);
}

/* Jury — этап «Эксперты»: композиция «старта» (та же шапка esp-launch-head и
   те же карточки дуэта), добавляется только лента экспертов слева от лидеров
   (решение владельца 10.08.2026). Лента — общие классы .expert-rail /
   .rail-meter из styles/live-track-base.css, механика — initJuryRails()
   в scripts/live-track-runtime.js, ключ порядка esports-phygital-jury-order. */
.esp-jury-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: clamp(20px, 2.6vw, 44px);
}

.esp-rail-panel {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.esp-jury-bottom .esp-leaders-duo {
  flex: 0 0 auto;
}

/* Кнопка на картотеку трека: над лентой, у её левого края (13.08.2026).
   Подписи «Экспертный состав» здесь нет — у медицины она есть, у киберспорта
   владелец её снял. У .jury-cta по умолчанию отступ сверху — гасим: интервал
   до ленты даёт gap панели вместе с собственным margin-top ленты. Высота под
   кнопку берётся не из запаса этапа — панель ленты прижата к низу вместе с
   дуэтом лидеров, и пустота над ней это высота дуэта. Со стандартным отступом
   .jury-cta (18px) панель становилась выше дуэта, и экран трека вырастал
   на 21px. */
.esp-rail-panel > .jury-cta {
  align-self: flex-start;
  margin-top: 0;
}

/* Тёмное стекло — то же, что у карточек ленты и лидеров в блоке ≥721 ниже,
   но без порога по ширине: кнопка стоит на кадре трека на любом окне, и
   светлая подложка базового .jury-cta читалась на нём заплаткой. */
.live-track--esports .esp-rail-panel .jury-cta {
  border-color: var(--line-strong);
  background: var(--glass);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.live-track--esports .esp-rail-panel .jury-cta:is(:hover, :focus-visible) {
  border-color: rgba(232, 195, 106, 0.4);
  background: rgba(5, 6, 8, 0.72);
  color: var(--ink);
}

/* На телефоне кнопки нет: у медицины строка с той же кнопкой
   (.jury-panel__head) тоже скрыта на ≤720 в styles/live-track-base.css. */
@media (max-width: 720px) {
  .esp-rail-panel > .jury-cta {
    display: none;
  }
}

@media (max-width: 900px) {
  /* Узкое окно: лента встаёт над лидерами. Дуэт держится в ряд до 721
     (правило полосы в блоке ≤900 ниже), столбиком — только у пальца. */
  .esp-jury-bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }
}

/* Карточки лидеров этапа «Эксперты»: текст под фотографией, как у лидера
   медицины (Безуглов), ширина — та же, что у launch-дуэта (колонки задаёт
   .esp-leaders-duo). Кадр 0.785 из images/jury-variants/a/. */
.live-track--esports .leader-card--esp-jury {
  padding: 10px;
}

.live-track--esports .leader-card--esp-jury .leader-card__photo {
  width: 100%;
  height: auto;
  aspect-ratio: 420 / 535;
}

.live-track--esports .leader-card--esp-jury .leader-card__eyebrow {
  margin: 12px 0 4px;
}

.live-track--esports .leader-card--esp-jury .leader-card__name {
  margin-top: 0;
}

/* Тёмный glass, как у лидера и экспертов медицины (.live-track--jury-rail
   в styles/live-track-base.css) — карточкам лидеров, ленты и кнопкам шкалы.
   Мобильный ≤720 у карточек тёмный отдельно, как у медицины. */
@media (min-width: 721px) {
  .live-track--esports .leader-card--esp-jury,
  .live-track--esports .expert-rail > .expert-card,
  .live-track--esports .rail-meter > button {
    background: var(--glass);
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    border-color: var(--line-strong);
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }

  .live-track--esports .leader-card--esp-jury:is(:hover, :focus-visible),
  .live-track--esports .expert-rail > .expert-card:is(:hover, :focus-visible) {
    background: rgba(5, 6, 8, 0.72);
  }

  .live-track--esports .rail-meter > button:hover:not(:disabled) {
    background: rgba(5, 6, 8, 0.72);
    border-color: rgba(232, 195, 106, 0.4);
  }
}

/* Внешний вид унифицирован со спортивной карточкой (.sport-leader-card). */
.leader-card--esp-duo.leader-card--esp-launch {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: clamp(360px, 46vh, 470px);
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-xl);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(5, 5, 5, 0.78)),
    rgba(22, 25, 30, 0.5);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  clip-path: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    opacity 1.05s var(--slab-ease),
    transform 1.15s var(--slab-ease),
    filter 1s var(--slab-ease);
}

.leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible) {
  border-color: rgba(232, 195, 106, 0.68);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -1px 0 rgba(232, 195, 106, 0.22);
}

.leader-card--esp-duo.leader-card--esp-launch::before,
.leader-card--esp-duo.leader-card--esp-launch::after {
  display: none;
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: inherit;
  font-size: 28px;
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__photo img {
  object-position: center 16%;
  filter: grayscale(1) brightness(0.82) contrast(1.06);
}

.leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible) .leader-card__photo img {
  filter: none;
}

html.lpf-no-scanlines .live-track--esports .leader-card--esp-duo.leader-card--esp-launch .leader-card__photo::before {
  opacity: 0;
}

html.lpf-no-photo-fade .live-track--esports .leader-card--esp-duo.leader-card--esp-launch .leader-card__photo::after {
  opacity: 0;
}

html.lpf-no-body-fade .live-track--esports .leader-card--esp-duo.leader-card--esp-launch .leader-card__body::before {
  opacity: 0;
}

html.lpf-no-card-radial .live-track--esports .leader-card--esp-duo.leader-card--esp-launch {
  background: linear-gradient(180deg, rgba(13, 15, 16, 0.82), rgba(5, 6, 8, 0.72));
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__photo::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  height: auto;
  background: linear-gradient(180deg, transparent 20%, rgba(5, 5, 5, 0.36) 56%, rgba(5, 5, 5, 0.92) 100%);
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__photo::before {
  opacity: 0;
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__body {
  position: absolute;
  inset: 0;
  z-index: 3;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  padding: clamp(18px, 2vw, 26px);
  text-align: left;
  align-items: flex-start;
  background: none;
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__body::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: none;
  transition: opacity 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__name {
  margin-top: 12px;
  color: #f4f1ea;
  font: 700 clamp(26px, 2.7vw, 42px) / 0.96 'IBM Plex Sans Condensed', sans-serif;
  letter-spacing: -0.02em;
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__role {
  margin-top: 12px;
  max-width: none;
  color: rgba(244, 241, 234, 0.58);
  font: 400 13px/1.45 var(--font-body);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  min-height: 2.9em;
  transition: color 180ms ease;
}

.leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible) .leader-card__role {
  color: #f4f1ea;
}

/* Hover: цветное фото на duo launch */
.leader-card--esp-duo.leader-card--esp-launch {
  transition:
    border-color 280ms ease,
    box-shadow 320ms ease,
    opacity 1.05s var(--slab-ease),
    transform 1.15s var(--slab-ease),
    filter 1s var(--slab-ease);
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__photo img {
  transition:
    filter 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 520ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.leader-card--esp-duo.leader-card--esp-launch .leader-card__photo::before,
.leader-card--esp-duo.leader-card--esp-launch .leader-card__photo::after,
.leader-card--esp-duo.leader-card--esp-launch .leader-card__body::before {
  transition:
    opacity 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
    height 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (hover: hover) {
  html:not(.lph-mode-off).lph-mode-fade
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible),
  html:not(.lph-mode-off).lph-mode-rise
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible),
  html:not(.lph-mode-off).lph-mode-hud
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible) {
    border-color: rgba(232, 195, 106, 0.52);
    box-shadow:
      0 26px 58px rgba(0, 0, 0, 0.5),
      inset 0 0 0 1px rgba(255, 255, 255, 0.05),
      inset 0 -1px 0 rgba(232, 195, 106, 0.22);
  }

  html:not(.lph-mode-off).lph-mode-fade
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo
    img,
  html:not(.lph-mode-off).lph-mode-rise
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo
    img,
  html:not(.lph-mode-off).lph-mode-hud
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo
    img {
    filter:
      grayscale(0)
      contrast(var(--esp-duo-lpf-contrast, 1))
      brightness(1)
      sepia(var(--esp-duo-lpf-sepia, 0))
      saturate(1.04);
  }

  html:not(.lph-mode-off).lph-mode-fade
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo::before,
  html:not(.lph-mode-off).lph-mode-hud
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo::before,
  html:not(.lph-mode-off).lph-mode-rise
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo::before {
    opacity: 0;
  }

  html:not(.lph-mode-off).lph-mode-fade
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo::after {
    opacity: 0.42;
  }

  html:not(.lph-mode-off).lph-mode-fade
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__body::before {
    opacity: 0.58;
  }

  html:not(.lph-mode-off).lph-mode-rise
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo::after {
    height: 36%;
    opacity: 0.78;
  }

  html.lph-mode-rise
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch
    .leader-card__photo
    img {
    transform: scale(1.07);
    transform-origin: center 18%;
  }

  html.lph-mode-rise
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo
    img {
    transform: scale(1);
  }

  html.lph-mode-hud
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch
    .leader-card__photo
    img {
    transition: filter 340ms ease 130ms;
  }

  html.lph-mode-hud
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch
    .leader-card__photo::before {
    transition: opacity 160ms ease;
  }

  html.lph-mode-hud
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo::before {
    opacity: 0;
    transition-delay: 0ms;
  }

  html.lph-mode-hud
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch:is(:hover, :focus-visible)
    .leader-card__photo
    img {
    transition-delay: 90ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .leader-card--esp-duo.leader-card--esp-launch,
  .leader-card--esp-duo.leader-card--esp-launch .leader-card__photo img,
  .leader-card--esp-duo.leader-card--esp-launch .leader-card__photo::before,
  .leader-card--esp-duo.leader-card--esp-launch .leader-card__photo::after,
  .leader-card--esp-duo.leader-card--esp-launch .leader-card__body::before {
    transition: none;
  }

  html.lph-mode-rise
    .live-track--esports
    .leader-card--esp-duo.leader-card--esp-launch
    .leader-card__photo
    img {
    transform: none;
  }
}

.live-track--esports .leader-card--esp-launch:not(.leader-card--esp-duo) {
  grid-template-columns: minmax(0, 1fr) 188px;
  width: clamp(480px, 38vw, 590px);
  max-width: 590px;
  min-height: 248px;
  padding: 0;
  border-radius: var(--radius-lg);
  /* Карточка старта идёт без стекла и без золота в заливке — как у фитнеса:
     на этом этапе лидер держится кадром, а не подложкой. */
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgba(16, 18, 18, 0.9), rgba(7, 8, 10, 0.84));
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.56),
    inset 0 0 0 1px rgba(255, 255, 255, 0.035);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}

.leader-card--esp-launch:not(.leader-card--esp-duo)::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
}

.leader-card--esp-launch .leader-card__body {
  position: relative;
  z-index: 1;
  padding: 20px 22px;
  text-align: right;
  align-items: flex-end;
}

.leader-card--esp-launch .leader-card__name {
  margin-top: 16px;
}

.leader-card--esp-launch .leader-card__role {
  max-width: 280px;
}

.leader-card--esp-launch .leader-card__link {
  margin-top: auto;
  padding-top: 18px;
}

/* Подложка под портретом (видна, когда фото нет) — нейтральная, без золота. */
.leader-card--esp-launch .leader-card__photo {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(10, 10, 12, 0.62));
  color: rgba(244, 241, 234, 0.72);
  font: 700 40px/1 'IBM Plex Sans Condensed', sans-serif;
}

.leader-card--esp-launch:not(.leader-card--esp-duo) .leader-card__photo {
  z-index: 1;
  width: 188px;
  height: 248px;
  min-height: 248px;
  border-radius: 0 18px 18px 0;
  border-left: 1px solid rgba(232, 195, 106, 0.24);
}

.leader-card--esp-launch .leader-card__photo img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(1) brightness(0.82);
}

/* Столяров: в JPG есть запас над головой — якорим сверху */
.leader-card--esp-duo.leader-card--esp-launch[href*='stolyarov'] .leader-card__photo img,
.leader-card--vertical[href*='stolyarov'] .leader-card__photo img {
  object-position: center top !important;
}

.leader-card--esp-launch .leader-card__photo::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 7px);
  opacity: 0.36;
}

.leader-card--esp-launch:not(.leader-card--esp-duo) .leader-card__photo::after {
  content: 'CHARACTER HUD';
  position: absolute;
  z-index: 2;
  left: 14px;
  right: 14px;
  bottom: 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(232, 195, 106, 0.22);
  color: rgba(232, 195, 106, 0.62);
  font: 900 var(--text-2xs)/1 var(--font-ui);
  letter-spacing: 0.18em;
  text-align: center;
}

/* Nominees — табы + карточки */
.esp-nom-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-2xl);
  background: rgba(10, 10, 12, 0.55);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  padding: clamp(22px, 2.4vw, 34px);
}

.esp-nom-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.esp-nom-tab {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.025);
  cursor: pointer;
  color: rgba(244, 241, 234, 0.62);
  font: 700 clamp(13px, 1.1vw, 16px) / 1 'IBM Plex Sans Condensed', sans-serif;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.esp-nom-tab[aria-selected='true'] {
  border-color: rgba(232, 195, 106, 0.6);
  background: rgba(232, 195, 106, 0.12);
  color: #f4f1ea;
}

.esp-nom-tab__idx {
  font: 300 16px/1 'IBM Plex Sans Condensed', sans-serif;
  color: rgba(244, 241, 234, 0.3);
}

.esp-nom-tab[aria-selected='true'] .esp-nom-tab__idx {
  color: #e8c36a;
}

.esp-nom-tab__count {
  color: rgba(244, 241, 234, 0.35);
  font: 900 var(--text-2xs)/1 var(--font-ui);
  letter-spacing: 0.12em;
}

.esp-nom-tab[aria-selected='true'] .esp-nom-tab__count {
  color: rgba(232, 195, 106, 0.85);
}

.esp-nom-grid {
  margin-top: clamp(20px, 2.4vh, 30px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: clamp(14px, 1.6vw, 22px);
  flex: 1;
  align-content: start;
}

.esp-nom-grid[hidden] {
  display: none !important;
}

.esp-nom-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.025);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition:
    border-color 180ms ease,
    background-color 180ms ease;
}

.esp-nom-card:hover {
  border-color: rgba(232, 195, 106, 0.45);
  background: rgba(232, 195, 106, 0.05);
}

.esp-nom-card__cover {
  width: 100%;
  height: clamp(150px, 15vh, 190px);
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(232, 195, 106, 0.08), rgba(10, 10, 12, 0.6));
  color: rgba(232, 195, 106, 0.45);
  font: 700 28px/1 'IBM Plex Sans Condensed', sans-serif;
}

.esp-nom-card__body {
  padding: clamp(16px, 1.6vw, 20px);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.esp-nom-card__meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e8c36a;
  font: 900 var(--text-2xs)/1 var(--font-ui);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}

.esp-nom-card__meta-dot {
  width: 3px;
  height: 3px;
  border-radius: var(--radius-pill);
  background: rgba(232, 195, 106, 0.6);
}

.esp-nom-card__name {
  margin-top: 12px;
  font: 700 clamp(18px, 1.5vw, 23px) / 1.02 'IBM Plex Sans Condensed', sans-serif;
  letter-spacing: -0.01em;
  color: #f4f1ea;
}

.esp-nom-card__blurb {
  margin: 10px 0 0;
  color: rgba(244, 241, 234, 0.55);
  font: 400 13px/1.5 var(--font-body);
}

.esp-nom-card__link {
  margin-top: auto;
  padding-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e8c36a;
  font: 900 var(--text-2xs)/1 var(--font-ui);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}


/* Final — горизонтальные строки */
.esp-final-kicker {
  display: block;
  color: #e8c36a;
  font: 800 var(--text-xs)/1 var(--font-ui);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}

.esp-final-id {
  margin-top: 18px;
  display: flex;
  align-items: baseline;
  gap: clamp(14px, 1.8vw, 28px);
}

.esp-final-id__num {
  font: 800 clamp(48px, 7vw, 104px) / 0.82 'IBM Plex Sans Condensed', sans-serif;
  letter-spacing: -0.04em;
  background: linear-gradient(180deg, #f6e0a0, #bd8c34);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.esp-final-id__title {
  margin: 0;
  font: 700 clamp(30px, 4.4vw, 66px) / 0.9 'IBM Plex Sans Condensed', sans-serif;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  text-wrap: balance;
}

.esp-final-thesis {
  margin: 18px 0 0;
  max-width: 440px;
  color: rgba(244, 241, 234, 0.55);
  font: 500 clamp(13px, 1.1vw, 16px) / 1.5 Manrope, sans-serif;
}

.esp-winners-panel {
  position: relative;
  overflow: hidden;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.4vw, 18px);
  padding: clamp(20px, 2.4vw, 34px);
  border: 1px solid rgba(232, 195, 106, 0.32);
  border-radius: var(--radius-fluid);
  background: linear-gradient(155deg, rgba(28, 23, 12, 0.7) 0%, rgba(10, 10, 12, 0.62) 55%);
}

.esp-winner-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto clamp(120px, 12vw, 156px) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(16px, 2vw, 30px);
  padding: clamp(14px, 1.4vw, 20px);
  border: 1px solid rgba(232, 195, 106, 0.32);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(34, 28, 15, 0.62), rgba(12, 11, 9, 0.72));
}

.esp-winner-row__rank {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(54px, 5vw, 76px);
  font: 700 clamp(44px, 5vw, 78px) / 0.8 'IBM Plex Sans Condensed', sans-serif;
  letter-spacing: -0.04em;
  color: transparent;
  -webkit-text-stroke: 1.6px rgba(232, 195, 106, 0.7);
}

.esp-winner-row__photo {
  width: 100%;
  min-height: clamp(140px, 15vh, 180px);
  border-radius: var(--radius-md);
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(232, 195, 106, 0.1), rgba(10, 10, 12, 0.5));
  color: rgba(232, 195, 106, 0.5);
  font: 700 32px/1 'IBM Plex Sans Condensed', sans-serif;
  overflow: hidden;
}

.esp-winner-row__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.esp-winner-row__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(8px, 1vw, 14px) clamp(4px, 0.6vw, 10px);
}

.esp-winner-row__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #e8c36a;
  font: 900 var(--text-2xs)/1.4 var(--font-ui);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}

.esp-winner-row__name {
  margin-top: 12px;
  font: 700 var(--text-h2, clamp(28px, 2.7vw, 42px)) / 0.98 var(--font-display, 'IBM Plex Sans Condensed', sans-serif);
  color: #f6f2ea;
  letter-spacing: var(--ls-tight, -0.02em);
}

.esp-winner-row__desc {
  margin-top: 12px;
  max-width: 560px;
  color: rgba(244, 241, 234, 0.6);
  font: 400 14px/1.55 var(--font-body);
}

.esp-verdict-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  align-self: flex-start;
  margin-top: 16px;
  padding: 9px 16px;
  border: 1px solid rgba(232, 195, 106, 0.4);
  border-radius: var(--radius-pill);
  background: transparent;
  cursor: pointer;
  color: #e8c36a;
  font: 900 var(--text-2xs)/1 var(--font-ui);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  transition: background-color 180ms ease;
}

.esp-verdict-btn[aria-expanded='true'] {
  background: rgba(232, 195, 106, 0.14);
}

.esp-verdict-btn__sign {
  font-size: 14px;
  line-height: 1;
  transition: transform 180ms ease;
}

.esp-verdict-btn[aria-expanded='true'] .esp-verdict-btn__sign {
  transform: rotate(45deg);
}

.esp-verdict-panel {
  overflow: hidden;
  width: 100%;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(232, 195, 106, 0.24);
  animation: fade-in 240ms ease both;
}

.esp-verdict-panel[hidden] {
  display: none !important;
}

.esp-verdict-panel__meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e8c36a;
  font: 900 var(--text-2xs)/1 var(--font-ui);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}

.esp-verdict-panel__quote {
  margin: 12px 0 0;
  max-width: 620px;
  color: rgba(244, 241, 234, 0.78);
  font: italic 400 var(--text-sm, 13px)/1.5 var(--font-body, Inter, sans-serif);
}

.esp-verdict-panel__link {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e8c36a;
  font: 900 var(--text-2xs)/1 var(--font-ui);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  text-decoration: none;
}

@media (max-width: 900px) {
  .esp-leaders-duo {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .live-track--esports .leader-card--esp-duo.leader-card--esp-launch {
    display: block;
    width: min(100%, 276px);
    height: clamp(312px, 92vw, 368px);
    min-height: 312px;
  }

  .live-track--esports .leader-card--esp-duo.leader-card--esp-launch .leader-card__photo {
    position: absolute;
    inset: 0;
    height: 100%;
    min-height: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: inherit;
  }

  .esp-winner-row {
    grid-template-columns: auto 1fr;
  }

  .esp-winner-row__photo {
    grid-column: 1 / -1;
    min-height: 140px;
  }

  .live-track--esports .leader-card--esp-launch {
    grid-template-columns: 1fr;
    width: 100%;
    min-height: 0;
    max-width: 100%;
    clip-path: none;
  }

  .leader-card--esp-launch .leader-card__body {
    order: 2;
    padding: 18px;
    text-align: left;
    align-items: flex-start;
  }

  .leader-card--esp-launch .leader-card__eyebrow {
    justify-content: flex-start;
    gap: 12px;
  }

  .leader-card--esp-launch .leader-card__eyebrow::after {
    margin-left: auto;
  }

  .leader-card--esp-launch .leader-card__photo {
    order: 1;
    width: 100%;
    height: 248px;
    min-height: 248px;
    border-left: 0;
    border-bottom: 1px solid rgba(232, 195, 106, 0.24);
    border-radius: 18px 18px 0 0;
  }

  .esp-launch-head {
    text-align: left;
  }

  .esp-launch-head .track-title {
    margin-left: 0;
  }

  .esp-launch-bottom {
    position: static;
    align-items: stretch;
    max-width: 100%;
    margin-top: auto;
    padding-top: clamp(26px, 4vh, 52px);
    padding-right: 0;
  }

  .esp-launch-thesis {
    max-width: none;
    text-align: left;
  }

  .leader-card--esp-duo.leader-card--esp-launch .leader-card__body {
    text-align: left;
    align-items: flex-start;
  }
}

/* Полоса 721–900: дуэт лидеров схлопывался в столбик, и секция вырастала до
   1029 при экране 900 — второй лидер уходил за край, правило «один трек —
   один экран» рвалось. Места на самом деле хватает: две карточки по 276px с
   зазором занимают около 572 при доступных ~812. Столбик оставляем мобильному
   (≤720), остальные правила блока ≤900 — геометрия карточки, шапка, низ —
   работают дальше. */
@media (min-width: 721px) and (max-width: 900px) {
  .esp-leaders-duo {
    grid-template-columns: repeat(2, minmax(0, 276px));
  }
}

@media (max-width: 560px) {
  .live-track--esports .leader-card--esp-duo.leader-card--esp-launch {
    width: 100%;
    height: clamp(294px, 101vw, 350px);
    min-height: 294px;
  }

  .live-track--esports .leader-card--esp-duo.leader-card--esp-launch .leader-card__photo {
    height: 100%;
    border-right: 0;
    border-bottom: 0;
    border-radius: inherit;
  }
}
