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

@keyframes hud-ecg-b {
  from {
    stroke-dashoffset: 560;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes hud-ecg-a {
  from {
    stroke-dashoffset: 520;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@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-layout {
    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);
}

/* Внешний вид унифицирован со спортивной карточкой (.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;
}

/* Jury — esports layout */
.esp-jury-bar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(14px, 2vw, 28px);
  width: 100%;
}

.esp-jury-bar__title-wrap {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.6vw, 20px);
  flex-wrap: wrap;
  justify-content: flex-end;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  padding: 16px clamp(18px, 2vw, 26px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(10, 10, 12, 0.62);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
}

.esp-jury-bar__title {
  font: 600 clamp(17px, 1.8vw, 26px) / 1 'IBM Plex Sans Condensed', sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.esp-jury-bar__num {
  color: #e8c36a;
  font: 800 clamp(22px, 2.4vw, 34px) / 1 'IBM Plex Sans Condensed', sans-serif;
}

.esp-jury-layout {
  flex: 0 1 auto;
  margin-top: clamp(48px, 8vh, 88px);
  display: grid;
  gap: clamp(16px, 2vw, 26px);
  align-items: start;
}

.esp-leaders-jury {
  display: grid;
  gap: clamp(14px, 1.8vw, 20px);
  height: fit-content;
  align-items: stretch;
}

.esp-leader-hud {
  display: block;
  margin-top: auto;
  padding-top: 14px;
  width: 100%;
  border-top: 1px solid rgba(232, 195, 106, 0.22);
}

.esp-leader-hud__ecg {
  display: block;
  width: 100%;
  height: 22px;
}

.esp-leader-hud__ecg--a polyline {
  animation: hud-ecg-a 2.5s linear infinite;
}

.esp-leader-hud__ecg--b polyline {
  animation: hud-ecg-b 1.85s linear infinite;
}

@media (min-width: 901px) {
  .esp-jury-layout {
    --esp-invited-card-w: minmax(160px, 200px);
    --esp-leader-card-w: clamp(260px, 19vw, 308px);
    grid-template-columns: 1fr auto;
    gap: clamp(24px, 3vw, 48px);
    align-items: end;
  }

  .live-track--esports .esp-jury-panel.jury-panel {
    align-self: end;
    text-align: left;
  }

  .live-track--esports .esp-jury-panel .panel-title {
    text-align: left;
  }

  .live-track--esports .esp-jury-panel .expert-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 200px));
    width: fit-content;
    max-width: 100%;
    align-content: start;
    align-items: stretch;
    grid-auto-rows: 1fr;
  }

  .live-track--esports .esp-jury-panel .expert-card {
    width: 100%;
    max-width: 200px;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .live-track--esports .esp-jury-panel .expert-card strong {
    min-height: calc(2 * 1.15 * 16px);
  }

  .live-track--esports .esp-jury-panel .expert-card > span:not(.expert-card__photo) {
    flex: 1 1 auto;
  }

  .live-track--esports .esp-jury-panel .expert-card__photo {
    height: 200px;
    max-height: 200px;
  }

  .live-track--esports .esp-leaders-jury {
    grid-template-columns: repeat(2, var(--esp-leader-card-w));
    gap: clamp(16px, 2vw, 24px);
    width: fit-content;
    max-width: 100%;
    justify-self: end;
    align-self: end;
  }

  .live-track--esports .esp-leaders-jury .leader-card--vertical {
    width: 100%;
    max-width: none;
    align-self: stretch;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: left;
  }

  .live-track--esports .esp-leaders-jury .leader-card--vertical .leader-card__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .live-track--esports .esp-leaders-jury .leader-card__name {
    font-size: clamp(28px, 2.35vw, 36px);
    line-height: 0.98;
    min-height: calc(2 * 0.98 * clamp(28px, 2.35vw, 36px));
  }

  .live-track--esports .esp-leaders-jury .leader-card__role {
    margin-top: 12px;
    max-width: none;
    min-height: calc(3 * 1.45 * 14px);
    font-size: 13px;
    line-height: 1.45;
  }

  .live-track--esports .esp-leaders-jury .leader-card--vertical .leader-card__photo {
    height: clamp(270px, 32vh, 330px);
  }

  .live-track--esports .esp-leaders-jury .leader-card--vertical .leader-card__rule {
    margin-left: 0;
  }
}

/* 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 (prefers-reduced-motion: reduce) {
  .esp-leader-hud__ecg polyline {
    animation: none !important;
  }
}

@media (max-width: 900px) {
  .esp-jury-layout {
    grid-template-columns: 1fr;
    margin-top: clamp(32px, 6vh, 56px);
  }

  .esp-jury-panel,
  .esp-leaders-jury {
    align-self: stretch;
  }

  .esp-leaders-jury {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .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;
  }
}

@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;
  }
}
