/* ЛИГА ТАТУ 4.0 — стиль «Игра»: тёмно-синий космос, светящийся синий. Утверждено Ольгой 14.09.2026. */

:root {
  --space-0: #050A1F;
  --space-1: #0A1650;
  --space-2: #07102F;
  --panel: rgba(9, 18, 58, .72);
  --panel-solid: #0C1A4F;
  --line: rgba(110, 151, 255, .28);
  --blue: #104EF5;
  --blue-light: #6E97FF;
  --cyan: #3FE0FF;
  --text: #F2F5F9;
  --text-2: #C9D5F2;
  --text-3: #9FB0D6;
  --tbd-bg: rgba(242, 181, 58, .16);
  --tbd-ink: #FFD27A;

  --font-display: "Montserrat", "Arial Black", "Helvetica Neue", sans-serif;
  --font-body: "Onest", "Helvetica Neue", "Segoe UI", sans-serif;

  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 26px;
  --wrap: 1200px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; background: var(--space-0); }
body { margin: 0; font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--text); background: transparent; position: relative; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cyan); }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; border-radius: 6px; }
.ic { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding-inline: 40px; }

/* Все итоговые состояния видны без анимации; при «уменьшить движение» анимации просто не играют */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- Фон-космос на всю страницу ---------- */
.space {
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(1100px 620px at 78% 10%, rgba(16, 78, 245, .42), transparent 62%),
    radial-gradient(800px 600px at 5% 70%, rgba(63, 224, 255, .12), transparent 60%),
    linear-gradient(180deg, var(--space-0), var(--space-1) 55%, var(--space-2));
}
.stars, .stars::after {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 22%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 32% 68%, #cfe0ff 50%, transparent 51%),
    radial-gradient(2px 2px at 58% 14%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 72% 82%, #cfe0ff 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 88% 36%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 46% 44%, #9fbaff 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 22% 88%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 94% 64%, #fff 50%, transparent 51%);
  opacity: .8;
  animation: twinkle 4s ease-in-out infinite;
}
.stars::after { content: ""; transform: translate(9%, 13%) scale(1.2); animation-delay: 2s; }
@keyframes twinkle { 50% { opacity: .45; } }

/* ---------- Общие элементы ---------- */
.eyebrow { margin: 0 0 12px; font-weight: 600; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-3); }
.eyebrow--cyan { color: var(--cyan); }
.h2 { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: 48px; line-height: 1.05; text-transform: uppercase; letter-spacing: -0.01em; }
.tbd { display: inline-block; margin-top: 10px; padding: 3px 10px; border-radius: 999px; background: var(--tbd-bg); color: var(--tbd-ink); font-size: 12px; font-weight: 600; line-height: 1.5; }
.section { padding-block: 80px; }
.section--last { padding-bottom: 110px; }
.section__head { margin-bottom: 36px; }
.section__head--row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }

/* ---------- Кнопки ---------- */
.btn {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 60px; padding: 0 32px; border-radius: 16px; border: 0;
  font-family: var(--font-display); font-weight: 900; font-size: 15px; letter-spacing: .05em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: transform .12s ease, box-shadow .12s ease, border-color .15s ease, background-color .15s ease;
}
.btn--game {
  color: #fff;
  background: linear-gradient(180deg, #3D74FF, #104EF5 55%, #0A36B8);
  box-shadow: 0 7px 0 #06257F, 0 16px 36px rgba(16, 78, 245, .55), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.btn--game::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .5), transparent); transform: skewX(-20deg); animation: shine 3.4s ease-in-out infinite; }
@keyframes shine { 0%, 60% { left: -60%; } 100% { left: 130%; } }
.btn--game:hover { transform: translateY(-2px); color: #fff; }
.btn--game:active { transform: translateY(5px); box-shadow: 0 2px 0 #06257F, 0 8px 20px rgba(16, 78, 245, .45); }
.btn--outline { color: var(--text); background: rgba(255, 255, 255, .04); border: 1.5px solid rgba(201, 213, 242, .4); }
.btn--outline:hover { border-color: var(--text); color: var(--text); }
.btn--sm { min-height: 46px; padding: 0 20px; font-size: 13px; border-radius: 12px; box-shadow: 0 5px 0 #06257F, 0 10px 24px rgba(16, 78, 245, .45), inset 0 1px 0 rgba(255, 255, 255, .4); }
.btn__icon { width: 20px; height: 20px; }
/* Игла из логотипа внутри кнопки (вариант 8, выбран Ольгой 14.09.2026) */
.btn__needle { flex: none; width: 7px; height: 30px; margin-left: -4px; color: #fff; transition: transform .2s ease; }
.btn--sm .btn__needle { width: 5px; height: 22px; margin-left: -2px; }
.btn--outline .btn__needle { color: var(--cyan); }
.btn:hover .btn__needle { transform: translateY(3px); }

/* ---------- Шапка ---------- */
.topbar { position: sticky; top: 0; z-index: 20; background: rgba(5, 10, 31, .72); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.topbar__row { display: flex; align-items: center; gap: 32px; min-height: 78px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--text); text-decoration: none; font-family: var(--font-display); font-weight: 900; font-size: 16px; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
.brand b { color: var(--cyan); font-weight: 900; }
.brand__mark { width: 7px; height: 34px; color: var(--text); flex: none; }
.brand__mark--sm { width: 6px; height: 28px; }
.nav { display: flex; gap: 28px; margin-left: auto; }
.nav a { color: var(--text-2); text-decoration: none; font-size: 15px; transition: color .15s; }
.nav a:hover { color: #fff; }

/* ---------- Первый экран ---------- */
.hero { padding-block: 40px 32px; position: relative; overflow: hidden; }
.hero__grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 24px; align-items: center; min-height: 340px; }
.badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 12px; border-radius: 999px; background: rgba(16, 78, 245, .22); border: 1px solid rgba(110, 151, 255, .5); font-weight: 600; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; box-shadow: inset 0 0 24px rgba(16, 78, 245, .35); }
.pulse { width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); animation: pulse 1.8s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(63, 224, 255, .7); } 70% { box-shadow: 0 0 0 12px rgba(63, 224, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(63, 224, 255, 0); } }
.hero__title { margin: 18px 0 16px; font-family: var(--font-display); font-weight: 900; font-size: 44px; line-height: 1.08; text-transform: uppercase; letter-spacing: -0.005em; }
.glow {
  display: block;
  color: var(--blue-light);
  background: linear-gradient(90deg, #6E97FF, #3FE0FF 55%, #6E97FF);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 22px rgba(16, 78, 245, .85));
  animation: shimmer 6s linear infinite;
}
@keyframes shimmer { to { background-position: -200% 0; } }
.hero__lead { margin: 0 0 28px; max-width: 44ch; font-size: 18px; line-height: 1.5; color: var(--text-2); }
.hero__lead b { color: var(--text); font-weight: 600; }
.hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Таймер сезона — стеклянный виджет (выбрано Ольгой 14.09.2026) */
.timer-stage { position: relative; justify-self: end; width: 100%; max-width: 430px; padding: 24px 0; }
.orb { position: absolute; border-radius: 50%; pointer-events: none; }
.orb--blue { width: 230px; height: 230px; right: -60px; top: -20px; background: radial-gradient(circle at 35% 30%, #7FA6FF, #104EF5 55%, #0A2A9E 100%); box-shadow: 0 0 80px 10px rgba(16, 78, 245, .6); animation: orb-float 9s ease-in-out infinite; }
.orb--cyan { width: 110px; height: 110px; left: -34px; bottom: -6px; background: radial-gradient(circle at 35% 30%, #CFF8FF, #3FE0FF 55%, #0E8FB0 100%); box-shadow: 0 0 60px 6px rgba(63, 224, 255, .55); animation: orb-float 7s ease-in-out infinite reverse; }
@keyframes orb-float { 50% { transform: translateY(-12px); } }
.timer {
  position: relative; z-index: 1; padding: 14px 14px 18px; border-radius: 30px;
  background: linear-gradient(160deg, rgba(40, 60, 130, .38), rgba(8, 14, 44, .55));
  -webkit-backdrop-filter: blur(22px) saturate(1.4); backdrop-filter: blur(22px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, .22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 30px 60px -24px rgba(0, 0, 0, .7);
}
.timer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 18px 8px 8px; margin-bottom: 18px; border-radius: 999px; background: rgba(5, 10, 31, .78); }
.timer__icon { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .14); }
.timer__icon svg { width: 6px; height: 26px; color: #fff; }
.timer__label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.timer > :not(.timer__head) { margin-left: 12px; margin-right: 12px; }
.timer.is-live .timer__label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #FF4D5E; box-shadow: 0 0 8px #FF4D5E; animation: pulse-live 1.4s ease-in-out infinite; }
@keyframes pulse-live { 50% { opacity: .35; } }
.timer__title { margin: 0 0 16px; font-family: var(--font-display); font-weight: 900; font-size: 20px; line-height: 1.2; text-transform: uppercase; }
.timer__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.timer__row[hidden] { display: none; }
.timer__cell { padding: 12px 4px; border-radius: 16px; text-align: center; background: rgba(5, 10, 31, .55); border: 1px solid rgba(255, 255, 255, .14); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); }
.timer__cell b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 32px; line-height: 1; color: #fff; text-shadow: 0 0 14px rgba(16, 78, 245, .9); font-variant-numeric: tabular-nums; }
.timer__cell small { display: block; margin-top: 6px; font-size: 12px; font-weight: 600; color: var(--text-3); }
.timer__note { margin: 14px 0 18px; font-size: 15px; font-weight: 500; color: var(--text-2); }
.timer__steps { list-style: none; margin: 0; padding: 14px 16px 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; border-radius: 20px; background: rgba(5, 10, 31, .55); border: 1px solid rgba(255, 255, 255, .12); }
.timer__steps li { font-size: 12px; font-weight: 600; color: var(--text-3); }
.timer__steps span { display: block; height: 6px; margin-bottom: 8px; border-radius: 6px; background: rgba(130, 165, 255, .25); }
.timer__steps li.is-done span { background: rgba(130, 165, 255, .7); }
.timer__steps li.is-current { color: #fff; }
.timer__steps li.is-current span { background: linear-gradient(90deg, #104EF5, #3FE0FF); box-shadow: 0 0 10px rgba(63, 224, 255, .6); }


/* ---------- Карта уровней ---------- */
.levels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; position: relative; }
.levels::before { content: ""; position: absolute; left: 36px; right: 36px; top: 36px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, rgba(110, 151, 255, .45), var(--cyan)); box-shadow: 0 0 12px rgba(63, 224, 255, .5); }
.level { position: relative; display: flex; flex-direction: column; gap: 18px; }
.level__node {
  width: 72px; height: 72px; border-radius: 20px; display: grid; place-items: center; flex: none;
  font-family: var(--font-display); font-weight: 900; font-size: 26px; color: #fff;
  background: linear-gradient(180deg, #16296E, #0C1A4F); border: 2px solid rgba(110, 151, 255, .6);
  box-shadow: 0 6px 0 #050C2E, 0 0 0 6px rgba(5, 10, 31, .9);
}
.level > div { padding: 22px; border-radius: var(--radius-md); background: var(--panel); border: 1px solid var(--line); flex: 1; }
.level__title { margin: 0 0 6px; font-family: var(--font-display); font-weight: 900; font-size: 18px; text-transform: uppercase; letter-spacing: .01em; }
.level p { margin: 0; font-size: 15px; color: var(--text-2); }
.level--boss .level__node { background: linear-gradient(180deg, #3D74FF, #104EF5); border-color: var(--cyan); color: #fff; box-shadow: 0 6px 0 #06257F, 0 0 0 6px rgba(5, 10, 31, .9), 0 0 30px rgba(63, 224, 255, .7); }
.level--boss .level__node svg { width: 34px; height: 34px; }
.level--boss > div { border-color: rgba(63, 224, 255, .55); box-shadow: 0 0 34px -10px rgba(63, 224, 255, .5); }
.level__date { color: var(--cyan) !important; font-weight: 600; }

/* ---------- Что получает мастер ---------- */
.perks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.perk { padding: 30px; border-radius: var(--radius-md); background: var(--panel); border: 1px solid var(--line); transition: transform .25s var(--ease), border-color .25s; }
.perk:hover { transform: translateY(-4px); border-color: rgba(63, 224, 255, .55); }
.perk__icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; margin-bottom: 18px; color: var(--cyan); background: rgba(63, 224, 255, .1); border: 1px solid rgba(63, 224, 255, .35); }
.perk__icon svg { width: 26px; height: 26px; }
.perk__title { margin: 0 0 8px; font-family: var(--font-display); font-weight: 900; font-size: 20px; text-transform: uppercase; }
.perk p { margin: 0; color: var(--text-2); font-size: 16px; }

/* ---------- Номинации ---------- */
.tabs { display: flex; gap: 24px; padding: 0; background: none; border: 0; border-radius: 0; }
.tab { display: inline-flex; align-items: center; gap: 8px; min-height: 0; padding: 0 0 10px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--text-3); font: 600 15px/1 var(--font-body); cursor: pointer; transition: color .15s, border-color .15s; }
.tab__count { font-family: var(--font-display); font-weight: 900; font-size: 13px; padding: 0; border-radius: 0; background: none; color: inherit; }
.tab:hover { color: var(--text-2); }
.tab[aria-selected="true"] { color: #fff; border-bottom-color: var(--blue-light); }
.tab:focus-visible { outline: 2px solid var(--blue-light); outline-offset: 3px; }
.noms { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.noms li { padding: 18px 20px; border-radius: var(--radius-sm); background: var(--panel); border: 1px solid var(--line); font-weight: 600; font-size: 15px; line-height: 1.35; transition: transform .2s var(--ease), border-color .2s, box-shadow .2s; }
.noms li:hover { transform: translateY(-3px); border-color: rgba(63, 224, 255, .6); box-shadow: 0 0 24px -8px rgba(63, 224, 255, .6); }
.noms li .tbd { display: block; width: fit-content; }
.specials { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.special { position: relative; padding: 26px 22px; border-radius: var(--radius-md); background: linear-gradient(180deg, rgba(22, 41, 110, .85), rgba(9, 18, 58, .85)); border: 1px solid rgba(110, 151, 255, .45); text-align: center; display: flex; flex-direction: column; align-items: center; }
.special__icon { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 16px; color: #fff; background: radial-gradient(circle, rgba(63, 224, 255, .35), rgba(16, 78, 245, .35) 60%, transparent 70%); box-shadow: 0 0 26px rgba(63, 224, 255, .45); }
.special__icon svg { width: 30px; height: 30px; }
.special__title { margin: 0 0 8px; font-family: var(--font-display); font-weight: 900; font-size: 17px; line-height: 1.2; text-transform: uppercase; }
.special p { margin: 0; font-size: 14px; color: var(--text-2); }
.special--legend { border-color: var(--cyan); box-shadow: 0 0 40px -12px rgba(63, 224, 255, .7); }

/* ---------- Правила (спокойно) ---------- */
.rules { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.rule { display: flex; gap: 18px; padding: 24px 26px; border-radius: var(--radius-md); background: var(--panel); border: 1px solid var(--line); }
.rule__icon { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; flex: none; color: var(--blue-light); background: rgba(110, 151, 255, .12); }
.rule__icon svg { width: 22px; height: 22px; }
.rule__title { margin: 2px 0 6px; font-size: 17px; font-weight: 600; }
.rule p { margin: 0; font-size: 15px; color: var(--text-2); }

/* ---------- Жюри ---------- */
.jury { display: grid; grid-template-columns: 1.35fr 1fr; gap: 16px; }
.panel { padding: 32px; border-radius: var(--radius-lg); background: var(--panel); border: 1px solid var(--line); }
.chip { display: inline-block; margin-bottom: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(110, 151, 255, .16); color: var(--text); font-size: 13px; font-weight: 600; }
.chip--boss { background: rgba(63, 224, 255, .16); color: var(--cyan); }
.panel__title { margin: 0 0 10px; font-family: var(--font-display); font-weight: 900; font-size: 26px; text-transform: uppercase; }
.panel__text { margin: 0 0 16px; color: var(--text-2); }
.crit { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; }
.crit li { position: relative; padding-left: 20px; font-size: 15px; }
.crit li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px rgba(63, 224, 255, .8); }
.panel--boss { background: radial-gradient(circle at 80% 0%, rgba(63, 224, 255, .22), transparent 55%), linear-gradient(180deg, #16296E, #0C1A4F); border-color: rgba(63, 224, 255, .55); box-shadow: 0 0 44px -14px rgba(63, 224, 255, .6); }
.panel__date { margin: 18px 0 4px; font-family: var(--font-display); font-weight: 900; font-size: 58px; line-height: 1; color: #fff; text-shadow: 0 0 22px rgba(16, 78, 245, .95); }
.panel__days { margin: 0; font-size: 16px; font-weight: 600; color: var(--cyan); }

/* ---------- Анонс каталога мастеров ---------- */
.teaser { display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; align-items: center; padding: 44px; border-radius: var(--radius-lg); background: var(--panel); border: 1px dashed rgba(110, 151, 255, .5); }
.teaser__text p:not(.eyebrow) { margin: 16px 0 0; color: var(--text-2); max-width: 40ch; }
.teaser__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ghost { position: relative; padding: 12px; border-radius: var(--radius-md); background: rgba(22, 41, 110, .55); border: 1px solid var(--line); }
.ghost__img { display: block; aspect-ratio: 4 / 5; border-radius: 12px; background: linear-gradient(160deg, rgba(110, 151, 255, .25), rgba(5, 10, 31, .6)); margin-bottom: 12px; }
.ghost__line { display: block; height: 10px; border-radius: 6px; background: rgba(201, 213, 242, .22); margin-bottom: 8px; }
.ghost__line--short { width: 55%; }
.ghost__lock { position: absolute; left: 50%; top: 38%; width: 30px; height: 30px; transform: translate(-50%, -50%); color: var(--text-2); }

/* ---------- Партнёрам ---------- */

/* ---------- Рико ---------- */
.cta { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; padding: 48px 52px; border-radius: var(--radius-lg); background: radial-gradient(circle at 90% 50%, rgba(63, 224, 255, .25), transparent 55%), linear-gradient(135deg, #16296E, #0C1A4F); border: 1px solid rgba(63, 224, 255, .45); box-shadow: 0 0 60px -20px rgba(16, 78, 245, .8); }
.cta__lead { margin: 12px 0 0; color: var(--text-2); font-size: 18px; }

/* ---------- Подвал ---------- */
.footer { border-top: 1px solid var(--line); background: rgba(5, 10, 31, .6); }
.footer__row { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 90px; flex-wrap: wrap; }
.footer__links { display: flex; gap: 26px; }
.footer__links a { color: var(--text-2); text-decoration: none; font-size: 15px; }
.footer__links a:hover { color: #fff; }

/* ---------- Читаемость на тёмном фоне (правка 14.09.2026: текст сливался с фоном) ---------- */
:root {
  --panel: rgba(6, 12, 38, .92);
  --line: rgba(130, 165, 255, .4);
  --text-2: #DCE5F7;
  --text-3: #B7C6E6;
  --tbd-bg: rgba(242, 181, 58, .24);
}
.level p, .perk p, .rule p, .special p, .panel__text,
.crit li, .teaser__text p:not(.eyebrow), .cta__lead, .hero__lead, .noms li {
  font-weight: 500;
}
.level p, .rule p, .special p, .crit li { font-size: 16px; line-height: 1.55; }
.eyebrow { font-size: 14px; color: var(--text-3); }
.chip { background: rgba(130, 165, 255, .3); color: #fff; }
.chip--boss { background: rgba(63, 224, 255, .22); color: var(--cyan); }
.tbd { font-size: 13px; padding: 4px 11px; border: 1px solid rgba(255, 210, 122, .35); }
.level__date { font-size: 16px; }
.panel__days { font-size: 17px; }

/* ---------- Страховка для узких экранов до отдельной адаптации ---------- */
@media (max-width: 1100px) {
  .hero__grid { grid-template-columns: 1fr; min-height: 0; }
  .timer-stage { justify-self: start; }
  .hero__title { font-size: 40px; }
  .noms { grid-template-columns: repeat(2, 1fr); }
  .levels { grid-template-columns: repeat(2, 1fr); }
  .levels::before { display: none; }
  .specials { grid-template-columns: repeat(2, 1fr); }
  .perks { grid-template-columns: 1fr; }
  .jury, .rules, .teaser { grid-template-columns: 1fr; }
  .nav { display: none; }
}
@media (max-width: 640px) {
  .wrap { padding-inline: 16px; }
  .hero__title { font-size: 30px; }
  .h2 { font-size: 32px; }
  .noms, .levels, .specials, .crit, .teaser__cards { grid-template-columns: 1fr; }
  .timer__cell b { font-size: 26px; }
  .cta, .teaser, .panel { padding: 28px 22px; }
  .panel__date { font-size: 44px; }
}

/* ===================== Раскладка v2 (черновик, 14.09.2026) ===================== */
.section { padding-block: 64px; }

/* Номинации — компактные чипы */
.noms { display: flex; flex-wrap: wrap; gap: 10px; }
.noms li { padding: 11px 18px; border-radius: 999px; font-size: 15px; }
.noms li .tbd { display: inline-block; margin: 0 0 0 8px; }

/* Правила — раскрывающийся список (на компьютере всегда открыт) */
.rule { display: block; padding: 0; }
.rule > summary { list-style: none; display: flex; align-items: center; gap: 16px; padding: 22px 24px 10px; cursor: default; }
.rule > summary::-webkit-details-marker { display: none; }
.rule__title { margin: 0; }
.rule > p { margin: 0; padding: 0 24px 22px 86px; }

.dock { display: none; }

@media (max-width: 767px) {
  body { padding-bottom: 92px; }
  .section { padding-block: 44px; }
  .section__head { margin-bottom: 20px; }
  .h2 { font-size: 26px; }
  .eyebrow { font-size: 12px; margin-bottom: 8px; }
  .topbar .btn { display: none; }
  .topbar__row { min-height: 60px; }

  .hero { padding-block: 22px 12px; }
  .hero__grid { gap: 8px; }
  .hero__title { font-size: 30px; margin: 14px 0 12px; }
  .hero__lead { font-size: 15px; margin-bottom: 18px; }
  .hero__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .hero__actions .btn { min-height: 50px; padding: 0 10px; font-size: 12px; gap: 8px; }
  .hero__actions .btn__needle { height: 22px; width: 5px; }
  .timer-stage { max-width: none; padding: 14px 0 4px; }
  .orb--blue { width: 140px; height: 140px; right: -24px; top: -6px; }
  .orb--cyan { width: 70px; height: 70px; left: -14px; }
  .timer { padding: 10px 10px 14px; border-radius: 24px; }
  .timer__head { margin-bottom: 12px; }
  .timer__title { font-size: 16px; margin-bottom: 10px; }
  .timer__cell { padding: 8px 2px; border-radius: 12px; }
  .timer__cell b { font-size: 22px; }
  .timer__note { font-size: 13px; margin: 10px 0 12px; }

  .perks { grid-template-columns: 1fr; gap: 10px; }
  .perk { display: grid; grid-template-columns: 44px 1fr; gap: 2px 14px; padding: 16px; }
  .perk__icon { width: 44px; height: 44px; margin: 0; grid-row: span 2; }
  .perk__icon svg { width: 22px; height: 22px; }
  .perk__title { font-size: 15px; margin: 0; align-self: end; }
  .perk p { font-size: 14px; }

  .section__head--row { flex-direction: column; align-items: stretch; gap: 14px; }
  .tabs { display: flex; flex-direction: column; gap: 0; width: 100%; }
  .tab { justify-content: space-between; width: 100%; padding: 14px 4px 14px 14px; border-bottom: 1px solid rgba(130, 165, 255, .16); border-left: 2px solid transparent; font-size: 15px; }
  .tab:last-child { border-bottom: 0; }
  .tab[aria-selected="true"] { border-left-color: var(--blue-light); border-bottom-color: rgba(130, 165, 255, .16); }
  .tab__label { white-space: nowrap; }
  .tab__count { margin-left: auto; font-size: 13px; padding: 0; }
  .noms { gap: 8px; }
  .noms li { padding: 8px 12px; font-size: 13px; }
  .specials { grid-template-columns: 1fr 1fr; gap: 10px; }
  .special { padding: 16px 12px; }
  .special__icon { width: 46px; height: 46px; margin-bottom: 10px; }
  .special__icon svg { width: 22px; height: 22px; }
  .special__title { font-size: 14px; }
  .special p { font-size: 13px; }

  .levels { grid-template-columns: 1fr; gap: 0; }
  .levels::before { display: block; left: 23px; right: auto; top: 24px; bottom: 30px; width: 3px; height: auto; background: linear-gradient(180deg, rgba(110, 151, 255, .45), var(--cyan)); }
  .level { flex-direction: row; align-items: flex-start; gap: 14px; padding-bottom: 12px; }
  .level__node { width: 48px; height: 48px; border-radius: 14px; font-size: 18px; box-shadow: 0 4px 0 #050C2E, 0 0 0 5px rgba(5, 10, 31, .95); }
  .level--boss .level__node svg { width: 24px; height: 24px; }
  .level > div { padding: 12px 14px; }
  .level__title { font-size: 15px; }
  .level p { font-size: 14px; }

  .rules { grid-template-columns: 1fr; gap: 8px; }
  .rule > summary { padding: 12px 14px; cursor: pointer; gap: 12px; }
  .rule > summary::after { content: ""; flex: none; margin-left: auto; width: 9px; height: 9px; border: solid var(--text-3); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s ease; }
  .rule[open] > summary::after { transform: rotate(-135deg); }
  .rule__icon { width: 36px; height: 36px; border-radius: 11px; }
  .rule__icon svg { width: 18px; height: 18px; }
  .rule__title { font-size: 15px; }
  .rule > p { padding: 0 14px 14px 62px; font-size: 14px; }

  .jury { grid-template-columns: 1fr; gap: 10px; }
  .panel { padding: 20px; }
  .panel__title { font-size: 20px; }
  .crit { grid-template-columns: 1fr; }
  .panel__date { font-size: 38px; }

  .teaser { grid-template-columns: 1fr; gap: 18px; padding: 22px; }
  .teaser__cards { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .ghost { padding: 6px; }
  .ghost__lock { width: 20px; height: 20px; }
  .cta { padding: 22px; }
  .cta .btn { width: 100%; }

  .dock {
    display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 6px;
    position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 40; padding: 6px;
    border-radius: 22px; background: rgba(12, 22, 64, .5);
    -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, .2); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 14px 30px -12px rgba(0, 0, 0, .8);
  }
  .dock a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: 16px; background: rgba(5, 10, 31, .6); color: #fff; text-decoration: none; font-size: 13px; font-weight: 600; }
  .dock a.dock__main { background: linear-gradient(180deg, #3D74FF, #104EF5 55%, #0A36B8); font-family: var(--font-display); font-weight: 900; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
  .dock .btn__needle { width: 5px; height: 22px; margin: 0; }
}

/* ===================== Салатовые акценты (вариант А, выбран Ольгой 14.09.2026) ===================== */
:root { --lime: #C8F53A; --lime-ink: #0B0F26; }
.eyebrow { color: var(--lime); }
.timer__label { color: var(--lime); }
.timer__steps li.is-current span { background: var(--lime); box-shadow: 0 0 10px rgba(200, 245, 58, .6); }
.crit li::before { background: var(--lime); box-shadow: 0 0 8px rgba(200, 245, 58, .7); }
.level--boss .level__node { border-color: var(--lime); box-shadow: 0 6px 0 #06257F, 0 0 0 6px rgba(5, 10, 31, .9), 0 0 26px rgba(200, 245, 58, .55); }
.level__date { color: var(--lime) !important; }
.btn--outline .btn__needle { color: var(--lime); }
.panel__days { color: var(--lime); }

/* ===================== Компактнее на компьютере (Ольга 14.09.2026: «всё так крупно») ===================== */
@media (min-width: 768px) {
  body { font-size: 16px; }
  .eyebrow { font-size: 12px; margin-bottom: 10px; }
  .h2 { font-size: 36px; }
  .section { padding-block: 56px; }
  .section__head { margin-bottom: 28px; }

  .btn { min-height: 50px; padding: 0 24px; font-size: 13px; border-radius: 14px; gap: 9px; }
  .btn--game { box-shadow: 0 5px 0 #06257F, 0 12px 28px rgba(16, 78, 245, .5), inset 0 1px 0 rgba(255, 255, 255, .4); }
  .btn--sm { min-height: 40px; padding: 0 16px; font-size: 12px; border-radius: 11px; }
  .btn__needle { width: 6px; height: 24px; }
  .btn--sm .btn__needle { width: 4px; height: 18px; }

  .topbar__row { min-height: 64px; }
  .brand { font-size: 14px; }
  .brand__mark { height: 28px; width: 6px; }
  .nav a { font-size: 14px; }

  .hero { padding-block: 32px 28px; }
  .badge { font-size: 11px; padding: 6px 13px 6px 10px; }
  .hero__title { font-size: 38px; margin: 14px 0 14px; }
  .hero__lead { font-size: 16px; margin-bottom: 22px; }

  .timer-stage { max-width: 380px; padding: 18px 0; }
  .orb--blue { width: 190px; height: 190px; }
  .orb--cyan { width: 90px; height: 90px; }
  .timer__head { margin-bottom: 14px; padding: 6px 14px 6px 6px; }
  .timer__icon { width: 34px; height: 34px; }
  .timer__icon svg { height: 22px; }
  .timer__label { font-size: 12px; }
  .timer__title { font-size: 17px; margin-bottom: 12px; }
  .timer__cell { padding: 10px 4px; }
  .timer__cell b { font-size: 26px; }
  .timer__cell small { font-size: 11px; }
  .timer__note { font-size: 14px; margin: 12px 0 14px; }
  .timer__steps { padding: 12px 14px 10px; }
  .timer__steps li { font-size: 11px; }

  .perks { gap: 14px; }
  .perk { padding: 22px; }
  .perk__icon { width: 44px; height: 44px; border-radius: 13px; margin-bottom: 14px; }
  .perk__icon svg { width: 22px; height: 22px; }
  .perk__title { font-size: 17px; }
  .perk p { font-size: 15px; }

  .noms li { padding: 9px 15px; font-size: 14px; }
  .specials { gap: 12px; }
  .special { padding: 20px 16px; }
  .special__icon { width: 52px; height: 52px; margin-bottom: 12px; }
  .special__icon svg { width: 24px; height: 24px; }
  .special__title { font-size: 15px; }
  .special p { font-size: 13px; }

  .levels { gap: 14px; }
  .levels::before { top: 28px; left: 28px; right: 28px; }
  .level { gap: 14px; }
  .level__node { width: 56px; height: 56px; border-radius: 16px; font-size: 20px; }
  .level--boss .level__node svg { width: 26px; height: 26px; }
  .level > div { padding: 18px; }
  .level__title { font-size: 16px; }
  .level p { font-size: 15px; }

  .rules { gap: 12px; }
  .rule > summary { padding: 18px 20px 8px; gap: 14px; }
  .rule__icon { width: 40px; height: 40px; border-radius: 12px; }
  .rule__icon svg { width: 20px; height: 20px; }
  .rule__title { font-size: 16px; }
  .rule > p { font-size: 15px; padding: 0 20px 18px 74px; }

  .jury { gap: 14px; }
  .panel { padding: 26px; }
  .panel__title { font-size: 22px; }
  .crit li { font-size: 15px; }
  .panel__date { font-size: 46px; }
  .panel__days { font-size: 15px; }

  .teaser { padding: 34px; gap: 32px; }
  .cta { padding: 36px 40px; }
  .cta__lead { font-size: 16px; }
  .footer__row { min-height: 72px; }
}

/* ===== Заголовки блоков: вариант Б (15.09.2026) — две строки, акцентное слово салатовым ===== */
.h2 { line-height: .98; letter-spacing: -.02em; }
.h2 .acc { display: block; color: var(--lime); }
@media (min-width: 768px) { .h2 { font-size: 46px; } }
@media (max-width: 767px) { .h2 { font-size: 30px; } }

/* ===== «Что получает мастер»: Награда и Статус крупно сверху, три карточки ниже (15.09.2026) ===== */
@media (min-width: 768px) {
  .perks { grid-template-columns: repeat(6, 1fr); }
  .perk { grid-column: span 2; }
  .perk--big { grid-column: span 3; }
  .perk--big .perk__title { color: var(--lime); }
}

/* ===== Меню сайта: вариант А (Лига, Задание №7.1, 15.09.2026) ===== */
.nav--full, .menu-btn { display: none; }
.topbar { position: sticky; }
.topbar__cab { margin-left: 0; }

.menu-btn { align-items: center; gap: 10px; margin-left: auto; height: 42px; padding: 0 16px 0 14px; border-radius: 12px; background: rgba(255, 255, 255, .06); border: 1px solid var(--line); color: #fff; font: 600 14px/1 var(--font-body, "Onest"), sans-serif; cursor: pointer; }
.menu-btn:hover, .menu-btn[aria-expanded="true"] { border-color: var(--lime); }
.burger { display: grid; gap: 4px; width: 18px; }
.burger i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
.menu-btn[aria-expanded="true"] .burger i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-btn[aria-expanded="true"] .burger i:nth-child(2) { opacity: 0; }
.menu-btn[aria-expanded="true"] .burger i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.mega { position: absolute; left: 0; right: 0; top: 100%; background: rgba(5, 10, 31, .96); border-bottom: 1px solid var(--line); box-shadow: 0 30px 60px rgba(0, 0, 0, .5); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.mega[hidden] { display: none; }
.mega__inner { display: grid; grid-template-columns: 2fr 1fr; gap: 20px 28px; padding-block: 26px 28px; }
.mega__title { margin: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--lime); }
.mega__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.mega__grid--one { grid-template-columns: 1fr; }
.mega__tile { display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start; padding: 14px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); color: var(--text); text-decoration: none; transition: border-color .15s, transform .15s; }
.mega__tile:hover { border-color: var(--lime); transform: translateY(-2px); }
.mega__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: rgba(16, 78, 245, .18); color: var(--cyan); }
.mega__icon svg { width: 20px; height: 20px; }
.mega__text { display: grid; gap: 3px; }
.mega__text b { font-size: 15px; font-weight: 600; color: #fff; }
.mega__text small { font-size: 13px; color: var(--text-2); line-height: 1.35; }
.mega__soon { justify-self: start; margin-top: 4px; padding: 3px 8px; border-radius: 999px; font-style: normal; font-size: 11px; font-weight: 600; color: #0B0F26; background: #F5C04A; }
.mega__actions { grid-column: 1 / -1; display: flex; gap: 12px; flex-wrap: wrap; }

@media (min-width: 1100px) {
  .nav--full { display: flex; gap: 22px; margin-left: auto; }
  .nav--full a { font-size: 14px; white-space: nowrap; }
  .topbar__row { gap: 22px; }
}
@media (max-width: 1099px) {
  .menu-btn { display: inline-flex; }
}
@media (max-width: 767px) {
  .menu-btn { height: 40px; padding: 0 12px; }
  .menu-btn__label { display: none; }
  .mega { position: absolute; top: 100%; height: calc(100vh - 60px); height: calc(100dvh - 60px); overflow-y: auto; padding-bottom: 90px; }
  .mega__inner { grid-template-columns: 1fr; padding-block: 18px 24px; }
  .mega__grid { grid-template-columns: 1fr; gap: 8px; }
  .mega__tile { padding: 12px; }
  .mega__actions .btn { flex: 1 1 100%; justify-content: center; }
  .mega-open body { overflow: hidden; }
  .dock button.dock__menu { display: flex; align-items: center; justify-content: center; min-height: 50px; border-radius: 16px; background: rgba(5, 10, 31, .6); color: #fff; border: 0; font: 600 13px/1 var(--font-body); cursor: pointer; }
}

/* ===== Первый экран упрощён (Лига, Задание №10.3, 17.09.2026) — mobile-first =====
   Главный акцент — оффер и CTA. Справа второй уровень: компактный анонс вебинара и таймер строкой. */
.hero__side { display: grid; gap: 10px; align-content: center; }

.hero-webinar {
  position: relative; z-index: 1; display: grid; gap: 2px; padding: 12px 16px; border-radius: 18px;
  background: linear-gradient(160deg, rgba(40, 60, 130, .34), rgba(8, 14, 44, .55));
  -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3);
  border: 1px solid rgba(200, 245, 58, .32);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}
.hero-webinar__tag { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--blue-light); }
.hero-webinar__line { margin: 2px 0 0; font-family: var(--font-display); font-weight: 900; font-size: 18px; line-height: 1.2; text-transform: uppercase; color: #fff; }
.hero-webinar__line b { color: var(--blue-light); font-weight: 900; }
.hero-webinar__topic { margin: 0; font-size: 14px; font-weight: 500; color: var(--text-2); }

/* Таймер строкой: те же элементы и скрипт */
.timer--strip {
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px;
  padding: 10px 12px 10px 16px; border-radius: 18px;
}
.timer--strip > :not(.timer__head) { margin-left: 0; margin-right: 0; }
.timer--strip .timer__head { grid-column: 1; margin: 0; padding: 0; background: none; justify-content: flex-start; }
.timer--strip .timer__icon { display: none; }
.timer--strip .timer__label { font-size: 11px; letter-spacing: .14em; }
.timer--strip .timer__title { grid-column: 1; margin: 0; font-size: 13px; line-height: 1.25; }
.timer--strip .timer__row { grid-column: 2; grid-row: 1 / span 2; display: flex; gap: 4px; }
.timer--strip .timer__row[hidden] { display: none; }
.timer--strip .timer__cell { min-width: 42px; padding: 5px 4px; border-radius: 10px; }
.timer--strip .timer__cell b { font-size: 18px; }
.timer--strip .timer__cell small { margin-top: 2px; font-size: 9px; }
.timer--strip .timer__note { display: none; }
.timer--strip .timer__steps { display: none; }

@media (min-width: 768px) {
  .hero-webinar { padding: 14px 18px; }
  .hero-webinar__line { font-size: 20px; }
  .timer--strip { padding-left: 18px; } /* текст на одной линии с анонсом вебинара */
  .timer--strip .timer__title { font-size: 14px; }
  .timer--strip .timer__note { display: block; grid-column: 1 / -1; margin: 6px 0 0; font-size: 12px; line-height: 1.4; }
  .hero__side .orb--blue { width: 150px; height: 150px; right: -40px; top: -30px; }
  .hero__side .orb--cyan { width: 64px; height: 64px; left: -22px; bottom: -10px; }
}


/* ===== «31 номинация»: подсказка категорий, «Особые» = 3 номинации, статусы Лиги отдельно (Лига, Задание №12.2, 17.09.2026) — mobile-first =====
   Страниц номинаций пока нет: названия — не кнопки, без стрелок и эффекта наведения. */
.nom-hint { list-style: none; margin: 0; padding: 12px 14px; display: grid; gap: 4px; border-radius: 14px; background: rgba(5, 10, 31, .45); border: 1px solid var(--line); font-size: 14px; line-height: 1.45; color: var(--text-2); }
.nom-hint b { color: #fff; font-weight: 600; }
.nom-tabs { margin-bottom: 16px; }
.nom-more { margin: 28px 0 0; }

/* Названия номинаций — спокойные метки, не кнопки */
.noms--list li:hover { transform: none; border-color: var(--line); box-shadow: none; }
.noms--list li .tbd { font-size: 11px; padding: 2px 8px; }

/* «Особые»: 3 номинации, ICON — главный акцент */
.snoms { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.snom { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 16px; border: 1px solid rgba(63, 224, 255, .35); background: var(--panel); }
.snom__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: var(--cyan); background: rgba(63, 224, 255, .1); border: 1px solid rgba(63, 224, 255, .3); }
.snom__icon svg { width: 20px; height: 20px; }
.snom__body { display: grid; gap: 4px; min-width: 0; }
.snom__title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; font-family: var(--font-display); font-weight: 900; font-size: 16px; line-height: 1.2; text-transform: uppercase; color: #fff; }
.snom__text { margin: 0; font-size: 14px; line-height: 1.4; color: var(--text-2); }
.snom__date { margin: 0; font-size: 13px; font-weight: 600; color: var(--cyan); }
.snom .tbd { justify-self: start; margin: 2px 0 0; font-size: 11px; padding: 2px 8px; white-space: normal; }
.snom--icon {
  border-color: rgba(200, 245, 58, .55);
  background: radial-gradient(circle at 100% 0%, rgba(200, 245, 58, .18), transparent 60%), linear-gradient(160deg, rgba(40, 60, 130, .4), rgba(8, 14, 44, .75));
  box-shadow: 0 0 36px -14px rgba(200, 245, 58, .6);
}
.snom--icon .snom__icon { color: var(--lime); background: rgba(200, 245, 58, .12); border-color: rgba(200, 245, 58, .4); }
.snom--icon .snom__title { font-size: 20px; }
.snom__price { padding: 3px 10px; border-radius: 999px; font-family: var(--font-display); font-size: 14px; letter-spacing: .02em; color: #0B0F26; background: var(--lime); }

/* «2 статуса сезона» — отдельный премиальный блок вне счётчика номинаций */
.season-statuses {
  position: relative; margin-top: 28px; padding: 20px; border-radius: var(--radius-lg); overflow: hidden;
  background: radial-gradient(circle at 100% 100%, rgba(63, 224, 255, .1), transparent 55%), linear-gradient(160deg, rgba(20, 24, 40, .92), rgba(6, 8, 16, .96));
  -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); /* то же матовое стекло, что у других премиальных панелей (таймер, «Награда и статус») — было плоской заливкой */
  border: 1px solid rgba(110, 151, 255, .18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 48px -22px rgba(16, 78, 245, .35);
}
.season-statuses__title { margin: 0 0 16px; font-family: var(--font-display); font-weight: 900; font-size: 22px; line-height: 1.1; text-transform: uppercase; color: #fff; }
.season-statuses__title .acc { color: var(--blue-light); }
.season-statuses__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.status-card {
  display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 4px 14px; padding: 16px; border-radius: 18px;
  background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(5, 10, 31, .35));
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .18);
}
.status-card__icon { grid-row: span 2; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; color: #04070F; background: linear-gradient(145deg, #B8D0FF, var(--blue-light)); box-shadow: 0 0 24px -4px rgba(16, 78, 245, .5); }
.status-card--star .status-card__icon { background: linear-gradient(145deg, #B8F4FF, var(--cyan)); box-shadow: 0 0 24px -4px rgba(63, 224, 255, .7); }
.status-card__icon svg { width: 26px; height: 26px; }
.status-card__name { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: 20px; line-height: 1.15; text-transform: uppercase; color: #fff; }
.status-card__awards { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.status-card__awards li { padding: 4px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #fff; background: rgba(5, 10, 31, .55); border: 1px solid rgba(110, 151, 255, .4); }
.status-card--star .status-card__awards li { border-color: rgba(63, 224, 255, .5); }

@media (min-width: 768px) {
  .nom-hint { padding: 12px 16px; }
  .snoms { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); }
  .snom { flex-direction: column; padding: 18px; }
  .season-statuses { padding: 28px; }
  .season-statuses__title { font-size: 28px; margin-bottom: 20px; }
  .season-statuses__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .status-card { padding: 22px; grid-template-columns: 64px minmax(0, 1fr); gap: 6px 18px; }
  .status-card__icon { width: 64px; height: 64px; border-radius: 20px; }
  .status-card__icon svg { width: 30px; height: 30px; }
  .status-card__name { font-size: 24px; }
  .status-card__awards li { font-size: 14px; padding: 5px 12px; }
}
@media (min-width: 1100px) {
  .nom-hint { max-width: 420px; }
}

/* ===== Этапы сезона: дорожка с датами и подсветкой текущего этапа (Лига, Задание №13.1, 17.09.2026) — mobile-first =====
   Телефон — вертикальная дорожка; от 1100px — горизонтальная, линия только между узлами (без хвоста после финала). */
.stages { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.stage { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: start; }
.stage:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 44px; bottom: -12px; width: 2px; background: rgba(110, 151, 255, .35); }
.stage.is-done:not(:last-child)::after { background: var(--cyan); box-shadow: 0 0 8px rgba(63, 224, 255, .6); }
.stage__dot {
  position: relative; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px;
  font-family: var(--font-display); font-weight: 900; font-size: 18px; color: #fff; background: #0C1A4F; border: 1px solid var(--line);
  box-shadow: 0 0 0 5px rgba(5, 10, 31, .95);
}
.stage__dot svg { width: 22px; height: 22px; }
.stage__card { padding: 14px 16px; border-radius: 16px; background: var(--panel); border: 1px solid var(--line); }
.stage__date { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 4px; font-family: var(--font-display); font-weight: 900; font-size: 18px; line-height: 1.2; color: var(--blue-light); }
.stage__title { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: 15px; line-height: 1.25; text-transform: uppercase; color: #fff; }
.stage__steps { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 6px; font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--text-2); }
.stage__steps li { display: inline-flex; align-items: center; gap: 6px; }
.stage__steps li + li::before { content: "→"; color: var(--text-3); }
.stage__badge { padding: 2px 8px; border-radius: 999px; font-family: var(--font-body); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #04070F; background: var(--blue-light); }
.stage__badge[hidden] { display: none; }

/* Состояния: текущий — лайм со свечением; следующий (когда текущего нет) — мягкий акцент; прошедшие — тише */
.stage.is-current .stage__dot { color: #04070F; background: var(--blue-light); border-color: var(--blue-light); box-shadow: 0 0 0 5px rgba(5, 10, 31, .95), 0 0 24px rgba(16, 78, 245, .55); }
.stage.is-current .stage__card { border-color: rgba(110, 151, 255, .55); box-shadow: 0 0 36px -14px rgba(16, 78, 245, .5); }
.stage.is-next .stage__card { border-color: rgba(110, 151, 255, .3); }
.stage.is-next .stage__badge { color: var(--blue-light); background: transparent; border: 1px solid rgba(110, 151, 255, .45); }
.stage.is-done .stage__dot { color: var(--cyan); background: rgba(63, 224, 255, .12); border-color: rgba(63, 224, 255, .5); }
.stage.is-done .stage__card { opacity: .72; }
.stage--final:not(.is-current) .stage__dot { background: linear-gradient(180deg, #3D74FF, #104EF5); border-color: var(--cyan); }

/* Отдельный маршрут: ICON и Бест дей — сразу к Высокому жюри */
.stages-branch { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 16px 0 0; padding: 12px 14px; border-radius: 16px; border: 1px dashed rgba(63, 224, 255, .45); background: rgba(5, 10, 31, .45); font-size: 14px; line-height: 1.4; color: var(--text-2); }
.stages-branch b { color: #fff; font-weight: 600; }
.stages-branch__icon { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; color: var(--cyan); background: rgba(63, 224, 255, .1); border: 1px solid rgba(63, 224, 255, .3); }
.stages-branch__icon svg { width: 18px; height: 18px; }
.stages-branch__list { flex: 1 1 240px; list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.stages-branch__day { font-weight: 700; color: var(--cyan); white-space: nowrap; }
.stages-branch__list .stage__badge { margin-left: 4px; vertical-align: 1px; }
.stages-branch.is-current { border-style: solid; border-color: rgba(110, 151, 255, .55); }
.stages-branch.is-done { opacity: .72; }

@media (min-width: 1100px) {
  .stages { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: start; }
  .stage { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .stage:not(:last-child)::after { left: 56px; right: -16px; top: 27px; bottom: auto; width: auto; height: 2px; }
  .stage__dot { width: 56px; height: 56px; border-radius: 16px; font-size: 20px; }
  .stage__dot svg { width: 26px; height: 26px; }
  .stage__card { padding: 18px 20px; } /* высота по содержимому: без пустых растянутых карточек */
  .stage__date { font-size: 22px; }
  .stage__title { font-size: 16px; }
  .stages-branch { margin-top: 20px; padding: 14px 18px; font-size: 15px; }
}

/* ===== «Главное перед подачей»: компактный список правил без раскрывашек (Лига, Задание №14.1, 17.09.2026) — mobile-first ===== */
.rules-brief { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.rules-brief li { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); }
.rules-brief__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: var(--blue-light); background: rgba(110, 151, 255, .1); border: 1px solid rgba(110, 151, 255, .3); }
.rules-brief__icon svg { width: 20px; height: 20px; }
.rules-brief p { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.4; color: #fff; }
@media (min-width: 768px) {
  .rules-brief { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .rules-brief li { padding: 14px 18px; }
  .rules-brief p { font-size: 16px; }
}

/* ===== Первый этап судейства (Лига, Задание №15.1, 17.09.2026) — mobile-first. Публично 4 критерия ===== */
.judge-facts { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.judge-facts li { display: grid; align-content: start; gap: 2px; padding: 12px 14px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); }
.judge-facts b { font-family: var(--font-display); font-weight: 900; font-size: 17px; line-height: 1.15; text-transform: uppercase; color: #fff; }
.judge-facts span { font-size: 13px; line-height: 1.35; color: var(--text-2); }
.judge-facts__date { border-color: rgba(110, 151, 255, .45) !important; }
.judge-facts__date b { color: var(--blue-light); }
.judge-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.judge-card { padding: 16px; border-radius: var(--radius-md); background: var(--panel); border: 1px solid var(--line); }
.judge-card__title { margin: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-3); }
.judge-crit { list-style: none; counter-reset: judge; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.judge-crit li { counter-increment: judge; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(5, 10, 31, .45); border: 1px solid var(--line); font-size: 14px; font-weight: 600; line-height: 1.3; color: #fff; }
.judge-crit li::before { content: counter(judge); flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; font-family: var(--font-display); font-weight: 900; font-size: 13px; color: var(--blue-light); background: rgba(110, 151, 255, .14); }
.judge-decisions { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.judge-decisions li { padding: 6px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.3; border: 1px solid var(--line); color: #fff; }
.judge-decisions__pass { border-color: rgba(110, 151, 255, .5) !important; color: var(--blue-light) !important; }
.judge-decisions__fail { color: var(--text-2) !important; }
.judge-decisions__move { border-color: rgba(63, 224, 255, .55) !important; color: var(--cyan) !important; }
.judge-card p { margin: 0 0 6px; font-size: 14px; line-height: 1.45; color: var(--text-2); }
.judge-card p:last-child { margin-bottom: 0; }
.judge-next { margin: 12px 0 0; padding: 12px 16px; border-radius: 14px; border: 1px dashed rgba(63, 224, 255, .45); background: rgba(5, 10, 31, .45); font-size: 15px; line-height: 1.4; color: var(--text-2); }
.judge-next b { color: #fff; font-weight: 600; }
.judge-next span { color: var(--cyan); }
@media (min-width: 768px) {
  .judge-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
  .judge-facts li { padding: 14px 18px; }
  .judge-facts b { font-size: 19px; }
  .judge-grid { gap: 16px; }
  .judge-card { padding: 22px 24px; }
  .judge-crit li { font-size: 15px; }
  .judge-card p { font-size: 15px; }
  .judge-next { margin-top: 16px; padding: 14px 20px; font-size: 16px; }
}
@media (max-width: 419px) {
  .judge-crit { grid-template-columns: minmax(0, 1fr); } /* узкий телефон: слово «оригинальность» не помещается в половину ширины */
}
@media (min-width: 1100px) {
  .judge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } /* карточки рядом только там, где критериям хватает ширины */
}
@media (max-width: 767px) {
  /* Телефон: тот же блок компактнее — факты одной панелью, критерии и решения плотными метками (Лига, Задание №15.1) */
  #jury .section__head { margin-bottom: 14px; }
  .judge-facts { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 10px; padding: 12px 14px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); }
  .judge-facts li { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 0 6px; padding: 0; border: 0; border-radius: 0; background: none; }
  .judge-facts__date { flex-basis: 100%; }
  .judge-facts b { font-size: 15px; }
  .judge-facts span { font-size: 13px; }
  .judge-grid { gap: 10px; }
  .judge-card { padding: 12px 14px; }
  .judge-card__title { margin-bottom: 8px; }
  .judge-crit { display: flex; flex-wrap: wrap; gap: 6px; }
  .judge-crit li { gap: 6px; padding: 5px 10px 5px 5px; border-radius: 10px; font-size: 13px; }
  .judge-crit li::before { width: 22px; height: 22px; border-radius: 6px; font-size: 12px; }
  .judge-decisions { gap: 6px; margin-bottom: 8px; }
  .judge-decisions li { padding: 4px 10px; font-size: 13px; }
  .judge-card p { margin-bottom: 4px; font-size: 13px; }
  .judge-next { margin-top: 10px; padding: 10px 14px; font-size: 14px; }
}

/* ===================== ВИЗУАЛЬНЫЙ РИТМ v2 (визуальная разгрузка, 17.09.2026) =====================
   Принцип: объём, свечение и рамки остаются только на акцентах — кнопки, таймер, анонс вебинара,
   ICON, статусы сезона, Рико. Средние блоки переходят на открытый текст, тонкие линии и воздух.
   Тексты, даты, порядок секций и разметка не меняются — только визуальный слой. */

/* --- 1. Иерархия типографики: первый экран остаётся крупнее заголовков секций --- */
.hero__title { font-size: 32px; }
.h2 { font-size: 28px; }
@media (min-width: 768px) {
  .hero__title { font-size: 48px; }
  .h2 { font-size: 42px; }
}
@media (min-width: 1100px) {
  .hero__title { font-size: 58px; }
  .h2 { font-size: 48px; }
}
/* Надпись над заголовком — короткая линия вместо ещё одной плашки */
.eyebrow { display: flex; align-items: center; gap: 10px; letter-spacing: .18em; }
.eyebrow::before { content: ""; flex: none; width: 20px; height: 1px; background: currentColor; opacity: .65; }

/* --- 2. Ритм секций: плотные и воздушные блоки чередуются --- */
#why { padding-block: 32px 46px; }
#nominations { padding-block: 44px; }
#levels { padding-block: 52px; }
#rules { padding-block: 40px; }
#jury { padding-block: 44px 52px; }
#masters { padding-block: 48px; }
#partners { padding-block: 48px; }
/* Две тонкие линии на страницу — вместо рамок вокруг блоков */
#rules > .wrap, #masters > .wrap { padding-top: 40px; border-top: 1px solid rgba(130, 165, 255, .14); }
@media (min-width: 768px) {
  .hero { padding-block: 36px 34px; }
  #why { padding-block: 56px 76px; }
  #nominations { padding-block: 68px; }
  #levels { padding-block: 84px; }
  #rules { padding-block: 64px; }
  #jury { padding-block: 64px 84px; }
  #masters { padding-block: 84px; }
  #partners { padding-block: 76px; }
  #rules > .wrap, #masters > .wrap { padding-top: 64px; }
  .section__head { margin-bottom: 34px; }
}

/* --- 5. Номинации: модульность остаётся, рамок меньше --- */
.nom-hint { padding: 2px 0 2px 16px; border: 0; border-left: 1px solid rgba(130, 165, 255, .2); border-radius: 0; background: none; }
.nom-tabs { margin-bottom: 22px; }
.noms--list li { background: none; border-color: rgba(130, 165, 255, .22); }
.noms--list li:hover { border-color: rgba(130, 165, 255, .22); }
.season-statuses { margin-top: 40px; }
@media (min-width: 768px) {
  .season-statuses { margin-top: 52px; }
}

/* --- 6. Этапы сезона: маршрут читается линией и датами, а не коробками --- */
.stage__card { padding: 0; background: none; border: 0; border-radius: 0; }
.stage.is-current .stage__card,
.stage.is-next .stage__card { border: 0; box-shadow: none; }
.stage.is-done .stage__card { opacity: .62; }
.stage:not(:last-child)::after { width: 1.5px; background: linear-gradient(180deg, rgba(130, 165, 255, .45), rgba(130, 165, 255, .12)); }
.stage.is-done:not(:last-child)::after { background: rgba(63, 224, 255, .5); box-shadow: none; }
.stages { gap: 22px; }
.stages-branch { margin: 22px 0 0; padding: 18px 0 0; border: 0; border-top: 1px solid rgba(63, 224, 255, .22); border-radius: 0; background: none; }
.stages-branch.is-current { border-top-color: rgba(110, 151, 255, .4); }
.stages-branch__icon { width: 28px; height: 28px; border: 0; background: none; border-radius: 0; }
.stages-branch__icon svg { width: 20px; height: 20px; }
@media (min-width: 1100px) {
  .stages { gap: 26px; }
  .stage:not(:last-child)::after { right: -26px; height: 1.5px; width: auto; background: linear-gradient(90deg, rgba(130, 165, 255, .45), rgba(130, 165, 255, .12)); }
  .stages-branch { margin-top: 28px; padding-top: 20px; }
}

/* --- 7. «Главное перед подачей»: ясный короткий список, без карточек --- */
.rules-brief li { padding: 14px 0; background: none; border: 0; border-top: 1px solid rgba(130, 165, 255, .16); border-radius: 0; }
.rules-brief__icon { width: 26px; height: 26px; border: 0; background: none; border-radius: 0; }
.rules-brief__icon svg { width: 22px; height: 22px; }
@media (min-width: 768px) {
  .rules-brief { column-gap: 56px; row-gap: 0; }
  .rules-brief li { padding: 18px 0; }
}

/* --- 8. Первый этап судейства: информационный блок, а не тяжёлые панели --- */
.judge-facts { padding: 16px 0; background: none; border: 0; border-block: 1px solid rgba(130, 165, 255, .13); border-radius: 0; }
.judge-facts li { padding: 0; background: none; border: 0; border-radius: 0; }
.judge-facts__date { border: 0 !important; }
.judge-card { padding: 0; background: none; border: 0; }
.judge-crit li { padding: 6px 0; background: none; border: 0; border-radius: 0; }
.judge-crit li::before { width: auto; height: auto; background: none; border-radius: 0; font-size: 14px; }
.judge-decisions li { border-color: rgba(130, 165, 255, .28); }
.judge-next { padding: 14px 0 0; background: none; border: 0; border-top: 1px solid rgba(63, 224, 255, .22); border-radius: 0; }
@media (min-width: 768px) {
  .judge-facts { display: flex; gap: 0; margin-bottom: 26px; padding: 20px 0; }
  .judge-facts li { flex: 1 1 0; min-width: 0; padding: 0 22px; }
  .judge-facts li:first-child { padding-left: 0; }
  .judge-facts li + li { border-left: 1px solid rgba(130, 165, 255, .13) !important; }
  .judge-crit li { padding: 8px 0; }
  .judge-next { margin-top: 26px; padding: 16px 0 0; }
}
@media (max-width: 767px) {
  .judge-facts { gap: 8px 18px; padding: 14px 0; }
  .judge-grid { gap: 22px; }
}
@media (min-width: 1100px) {
  .judge-grid { gap: 56px; }
  .judge-card + .judge-card { padding-left: 56px; border-left: 1px solid rgba(130, 165, 255, .16); }
}

/* --- 9. Мастера и партнёрам: открытые блоки, объём только у кнопки --- */
.teaser { padding: 0; background: none; border: 0; border-radius: 0; }
@media (min-width: 768px) {
  .teaser { gap: 48px; }
}

/* --- 10. Микроанимации: мягкое появление при прокрутке; без поддержки или при «уменьшить движение» всё видно сразу --- */
@keyframes rhythm-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes rhythm-line-y { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes rhythm-line-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .section__head,
    .nom-hint, .snom, .season-statuses, .stage, .stages-branch,
    .rules-brief li, .judge-facts, .judge-card, .judge-next, .teaser, .partners, .cta {
      animation: rhythm-up linear both;
      animation-timeline: view();
      animation-range: entry 4% entry 46%;
    }
    .stage:not(:last-child)::after {
      transform-origin: top center;
      animation: rhythm-line-y linear both;
      animation-timeline: view();
      animation-range: entry 10% entry 60%;
    }
    @media (min-width: 1100px) {
      .stage:not(:last-child)::after { transform-origin: left center; animation-name: rhythm-line-x; }
    }
  }
}

/* ===================== ВИЗУАЛЬНЫЙ РИТМ v2.1: глубина без карточек (17.09.2026) =====================
   Ритм v2 выше сохранён. Здесь только глубина: мягкие фоновые зоны на всю страницу,
   ослабленная масса контуров у номинаций и два крупных фоновых числа.
   Новых элементов разметки, плашек и контейнеров не добавляется. */

/* --- 1. Три мягкие зоны + лёгкое затемнение середины. Слой на всю высоту страницы, без границ --- */
body::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(1200px 900px at 4% 14%, rgba(63, 224, 255, .13), transparent 60%),
    radial-gradient(1100px 1100px at 98% 40%, rgba(200, 245, 58, .07), transparent 58%),
    radial-gradient(1400px 1100px at 10% 82%, rgba(16, 78, 245, .28), transparent 64%),
    linear-gradient(180deg, transparent 6%, rgba(3, 7, 24, .46) 44%, transparent 80%);
}

/* --- 2. Номинации: те же чипы, но масса контуров тише --- */
.noms--list li,
.noms--list li:hover { background: rgba(255, 255, 255, .03); border-color: rgba(130, 165, 255, .13); }
.nom-hint { border-left-color: rgba(130, 165, 255, .16); }

/* --- 3. Два крупных фоновых числа на всю страницу (только на широких экранах) --- */
@media (min-width: 1100px) {
  #levels .section__head, #jury .section__head { position: relative; }
  #levels .section__head > *, #jury .section__head > * { position: relative; z-index: 1; }
  #levels .section__head::after, #jury .section__head::after {
    position: absolute; right: 0; top: 50%; transform: translateY(-50%); z-index: 0;
    font-family: var(--font-display); font-weight: 900; font-size: 180px; line-height: .78;
    letter-spacing: -.045em; color: rgba(214, 228, 255, .05); pointer-events: none; user-select: none;
  }
  #levels .section__head::after { content: "2026"; }
  #jury .section__head::after { content: "4.0"; }
}

/* ===== FAQ: 5 вопросов раскрывающимися строками (Лига, Задание №17, 18.09.2026) — mobile-first =====
   Без карточек и фонов: только тонкие разделители, как в ритме v2.1. */
#faq { padding-block: 44px; }
.faq { display: grid; border-top: 1px solid rgba(130, 165, 255, .16); }
.faq__item { border-bottom: 1px solid rgba(130, 165, 255, .16); }
.faq__q { display: flex; align-items: center; gap: 14px; padding: 15px 0; list-style: none; cursor: pointer; font-size: 16px; font-weight: 600; line-height: 1.35; color: #fff; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after { content: ""; flex: none; margin-left: auto; width: 9px; height: 9px; border: solid var(--text-3); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s ease, border-color .2s ease; }
.faq__q:hover { color: var(--blue-light); }
.faq__q:hover::after { border-color: var(--blue-light); }
.faq__item[open] .faq__q::after { transform: rotate(-135deg); border-color: var(--blue-light); }
.faq__a { margin: 0 0 16px; padding-right: 26px; max-width: 72ch; font-size: 15px; font-weight: 500; line-height: 1.55; color: var(--text-2); }
@media (min-width: 768px) {
  #faq { padding-block: 64px 76px; }
  .faq__q { padding: 19px 0; font-size: 18px; }
  .faq__a { margin-bottom: 20px; padding-right: 60px; font-size: 16px; }
}

/* FAQ на компьютере компактнее: меньше воздуха вокруг блока и внутри строк. Телефон не меняется (Лига, Задание №17.1, 18.09.2026) */
@media (min-width: 768px) {
  #faq { padding-block: 40px 44px; }
  #faq .section__head { margin-bottom: 18px; }
  .faq__q { padding: 14px 0; font-size: 17px; }
  .faq__a { margin-bottom: 14px; font-size: 15px; }
}

/* ===== Высокое жюри — финал (Лига, Задание №18, 18.09.2026) =====
   Та же инфо-полоса, что у фактов первого этапа (.judge-facts), без карточек. Блок продолжает судейство — сверху меньше воздуха. */
#final { padding-block: 12px 44px; }
@media (min-width: 768px) {
  #final { padding-block: 16px 64px; }
  #final .section__head { margin-bottom: 22px; }
  .final-rules { margin-bottom: 0; }
}
/* Планшет 768–1099: пять фактов финала не помещаются в строку — переносим, как на телефоне, без разделителей */
@media (min-width: 768px) and (max-width: 1099px) {
  .final-rules { flex-wrap: wrap; gap: 12px 28px; }
  .final-rules li { flex: 0 1 auto; padding: 0; }
  .final-rules li + li { border-left: 0 !important; }
  .final-rules .judge-facts__date { flex-basis: 100%; }
}

/* ===== Титульный спонсор (Лига, Задание №19, 18.09.2026) — mobile-first =====
   Отдельный премиальный блок: чёрный логотип без перекраски на светлой стеклянной плашке. Не карточка партнёров. */
#title-sponsor { padding-block: 40px 48px; }
.sponsor { display: grid; justify-items: center; gap: 20px; text-align: center; }
.sponsor__plate {
  display: grid; place-items: center; width: 100%; max-width: 144px; padding: 18px; border-radius: 22px;
  background: linear-gradient(160deg, rgba(255, 255, 255, .94), rgba(226, 233, 246, .86));
  -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2);
  border: 1px solid rgba(255, 255, 255, .75);
  box-shadow: inset 0 1px 0 #fff, 0 26px 60px -26px rgba(0, 0, 0, .75), 0 0 70px -22px rgba(110, 151, 255, .55);
}
.sponsor__logo { display: block; width: 100%; max-width: 108px; height: auto; }
.sponsor__title { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: 20px; line-height: 1.15; text-transform: uppercase; letter-spacing: .01em; color: #fff; }
.sponsor__note { margin: 8px 0 0; font-size: 15px; font-weight: 500; color: var(--text-3); }
@media (min-width: 768px) {
  #title-sponsor { padding-block: 56px 64px; }
  .sponsor { grid-template-columns: auto minmax(0, 1fr); justify-items: start; align-items: center; gap: 28px; text-align: left; }
  .sponsor__plate { max-width: 184px; padding: 24px; border-radius: 24px; }
  .sponsor__logo { max-width: 136px; }
  .sponsor__title { font-size: 26px; }
  .sponsor__note { font-size: 16px; }
}
.sponsor__title { text-wrap: balance; } /* ровный перенос: «Титульный спонсор / Лиги Тату 4.0» */
/* Планшет 768–1099: плашка уже, чтобы заголовку хватало места */
@media (min-width: 768px) and (max-width: 1099px) {
  .sponsor { gap: 36px; }
  .sponsor__title { font-size: 22px; }
}

/* ===== «Мастера Лиги» в стиле ритма v2.1 (Лига, Задание №20, 18.09.2026) — mobile-first =====
   Данных о мастерах нет: остаются три заглушки каталога, но без тяжёлых карточек — мягкие силуэты с глубиной. */
.teaser__cards { gap: 10px; }
.ghost { padding: 0; background: none; border: 0; border-radius: 16px; }
.ghost__img {
  margin-bottom: 10px; border-radius: 16px; border: 1px solid rgba(130, 165, 255, .16);
  background: radial-gradient(120% 90% at 30% 15%, rgba(110, 151, 255, .30), transparent 60%), linear-gradient(165deg, rgba(22, 41, 110, .7), rgba(5, 10, 31, .6));
}
.ghost__line { height: 7px; margin-bottom: 7px; background: rgba(201, 213, 242, .14); }
.ghost__lock { top: 40%; width: 22px; height: 22px; color: rgba(220, 229, 247, .65); }
@media (min-width: 768px) {
  .teaser__cards { gap: 18px; }
  .ghost:nth-child(2) { transform: translateY(-22px); } /* лёгкая лесенка вместо ровного ряда коробок */
  .ghost__lock { width: 28px; height: 28px; }
}

/* ===== «Партнёрам» в стиле ритма v2.1 (Лига, Задание №21, 18.09.2026) — mobile-first =====
   Тот же текст и та же кнопка: заголовок с кнопкой слева, три пункта — открытым списком на тонких линиях. */

/* ===== «Этапы сезона» (Программа и этапы) в стиле ритма v2.1 (Лига, Задание №22, 18.09.2026) — mobile-first =====
   Даты, тексты и логика дорожки не меняются. Узлы — круглые и лёгкие, маршрут читается линией и датами. */
.stage__dot { border-radius: 50%; font-size: 16px; background: rgba(12, 26, 79, .85); border-color: rgba(130, 165, 255, .35); box-shadow: 0 0 0 5px rgba(5, 10, 31, .9); }
.stage__card { padding-top: 9px; }
.stage__title { letter-spacing: .02em; }
.stage__steps { margin-top: 8px; color: var(--text-3); }
.stages-branch b { color: #fff; }
@media (min-width: 1100px) {
  .stage__card { padding-top: 0; }
  .stage__dot { font-size: 18px; }
}

/* ===== Подвал — финальная открытая полоса (План №6, шаг 6.7) — mobile-first =====
   Сохраняет бренд и ссылки, но завершает страницу тонкими линиями и безопасным отступом над нижней навигацией. */
.footer {
  position: relative;
  border-top-color: rgba(130, 165, 255, .18);
  background: linear-gradient(180deg, rgba(5, 10, 31, .08), rgba(5, 10, 31, .78));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}
.footer__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  min-height: 0;
  padding-block: 28px; /* место под нижнюю панель телефона уже даёт body { padding-bottom: 92px } — второй запас не нужен */
}
.footer .brand { font-size: 14px; }
.footer__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  width: 100%;
  border-top: 1px solid rgba(130, 165, 255, .16);
}
.footer__links a {
  display: flex;
  align-items: center;
  min-height: 46px;
  border-bottom: 1px solid rgba(130, 165, 255, .16);
  color: var(--text-3);
  font-size: 14px;
}
.footer__links a:nth-child(3) { grid-column: 1 / -1; }
.footer__links a:hover { color: var(--cyan); }
@media (min-width: 768px) {
  .footer__row {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 32px;
    padding-block: 28px;
  }
  .footer .brand { font-size: 16px; }
  .footer__links {
    display: flex;
    justify-content: flex-end;
    gap: 26px;
    width: auto;
    margin-left: auto;
    border-top: 0;
  }
  .footer__links a {
    min-height: 0;
    border-bottom: 0;
    color: var(--text-2);
    font-size: 15px;
  }
}

/* ===== Обложка первого экрана — пересобрана (Лига, Задание №18, 21.09.2026) =====
   Картинки hero-desktop.png / hero-mobile.png показаны целиком, без обрезки и растяжения; высота обложки = пропорция картинки
   (1440px → 576px). Размеры — только px, % и vw (без cqw: единицы контейнера поддерживаются не всеми браузерами).
   Компьютер (от 1100px): заголовок и кнопка слева, вебинар и три факта справа столбцом до 260px, лягушка и вода свободны.
   Телефон и планшет: вертикальная обложка, текст сверху; вебинар и факты — сразу после неё, перед таймером. */
.hero--cover { padding-block: 0 20px; }
.cover { position: relative; max-width: 1983px; margin: 0 auto; }
.cover__stage { position: relative; background: #F2F5F9; }
.cover__img { display: block; width: 100%; height: auto; }
.cover__text { position: absolute; z-index: 1; color: #121212; }
.cover__title { margin: 0; font-family: var(--font-display); font-weight: 900; line-height: 1.05; text-transform: uppercase; letter-spacing: -0.005em; color: #121212; }
.cover__title span { color: #104EF5; }
.cover__lead { margin: 0; font-weight: 600; line-height: 1.3; color: #121212; }
.cover__lead .nw { white-space: nowrap; }
.cover__season { margin: 0; font-weight: 600; line-height: 1.3; color: #104EF5; }

/* тёмное стекло: на светлой обложке лаймовые подписи иначе теряются */
.cover__webinar, .cover__facts li {
  background: linear-gradient(160deg, rgba(20, 34, 92, .92), rgba(6, 10, 34, .94));
  border: 1px solid rgba(200, 245, 58, .28);
  box-shadow: 0 8px 24px rgba(6, 10, 34, .3), inset 0 1px 0 rgba(255, 255, 255, .16);
}
.cover__webinar { padding: 8px 12px; border-radius: 14px; gap: 0; }
.cover__webinar .hero-webinar__tag { font-size: 10px; }
.cover__webinar .hero-webinar__line { margin-top: 1px; font-size: 15px; }
.cover__webinar .hero-webinar__topic { font-size: 13px; color: #DCE4FA; }
.cover__facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cover__facts li { display: flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; color: #fff; font-weight: 600; font-size: 12.5px; line-height: 1.25; }
.cover__fact-mark { flex: none; font-family: var(--font-display); font-weight: 900; font-size: 15px; line-height: 1; color: var(--lime); }
.cover__fact-mark--icon { display: grid; place-items: center; height: 16px; }
.cover__fact-mark--icon svg { width: 15px; height: 15px; color: var(--lime); }

/* телефон и планшет: обложка вертикальная, текст сверху по центру; блоки — после картинки */
.cover__text { top: 2.6%; left: 6%; right: 6%; display: grid; justify-items: center; text-align: center; gap: 6px; }
.cover__title { font-size: min(7.4vw, 41px); }
.cover__lead, .cover__season { font-size: min(3.8vw, 21px); }
.cover__cta { margin-top: 8px; min-height: 44px; padding-inline: 16px; font-size: min(3.4vw, 15px); white-space: nowrap; }
.cover__extra { display: grid; gap: 8px; padding: 10px 16px 0; }
@media (min-width: 641px) and (max-width: 899px) {
  .hero--cover { padding-top: 16px; }
  .cover { max-width: 560px; }
  .cover__stage { border-radius: 24px; overflow: hidden; }
  .cover__text { gap: 8px; }
  .cover__title { font-size: 41px; }
  .cover__lead, .cover__season { font-size: 21px; }
  .cover__cta { font-size: 15px; }
  .cover__extra { padding-inline: 0; }
}

/* компьютер: горизонтальная обложка, текст слева, столбец справа */
@media (min-width: 900px) {
  .cover__text { top: 50%; transform: translateY(-50%); left: 4.5%; right: auto; width: 25%; justify-items: start; text-align: left; gap: 8px; }
  .cover__title { font-size: clamp(24px, 2.5vw, 36px); }
  .cover__lead, .cover__season { font-size: 16px; }
  .cover__cta { margin-top: 6px; min-height: 44px; padding-inline: 18px; font-size: 14px; }
  .cover__extra { position: absolute; z-index: 1; right: 4.5%; top: 50%; transform: translateY(-50%); width: min(260px, 18%); min-width: 200px; padding: 0; display: grid; gap: 8px; }
  .cover__facts { flex-direction: column; flex-wrap: nowrap; gap: 5px; }
  .cover__facts li { border-radius: 10px; padding: 5px 10px; font-size: 13px; }
}

/* плашка таймера под обложкой (скрипт таймера не менялся) */
.hero__under { padding-top: 16px; }
.hero--cover .timer-stage { max-width: 620px; justify-self: center; margin-inline: auto; padding: 0; }
.hero--cover .hero__side { grid-template-columns: 1fr; }
@media (min-width: 768px) { .hero--cover .hero__side .orb { display: none; } }

/* ===== Вебинар крупнее (Лига, Задание №19, шаг 16 из 16, 21.09.2026) — только компьютер, только карточка вебинара =====
   Ширина 317px на 1440 (22vw, не больше 320, не меньше 210), выше примерно в 1,5 раза; дата и КАСИМ крупнее. Три факта — прежнего размера. */
@media (min-width: 900px) {
  .cover__extra { width: clamp(210px, 22vw, 320px); min-width: 0; }
  .cover__webinar { padding: 14px 18px 16px; border-radius: 16px; gap: 3px; }
  .cover__webinar .hero-webinar__tag { font-size: 12px; }
  .cover__webinar .hero-webinar__line { margin-top: 4px; font-size: clamp(15px, 1.4vw, 21px); white-space: nowrap; }
  .cover__webinar .hero-webinar__topic { margin-top: 2px; font-size: 15px; }
  .cover__facts { width: min(260px, 18vw); justify-self: end; }
}

/* ===== Телефон: обрезана пустая белая часть под водой (Лига, Задание №20, шаг 16 из 16, 21.09.2026) — только до 1099px =====
   Рамка обложки 390:530 (на 390px — 530px высотой, на 360px — 489px). Картинка hero-mobile.png не меняется: показывается сверху,
   срезается только нижняя пустая белая часть; лягушка, вода, верхний текст и кнопка остаются. Вебинар идёт сразу после воды. */
@media (max-width: 899px) {
  .cover__stage { aspect-ratio: 390 / 530; }
  .cover__img { height: 100%; object-fit: cover; object-position: center top; }
  .cover__text { top: 3.4%; }
}

/* ===== Правая промо-зона на компьютере (Лига, Задание №21, шаг 16 из 16, 21.09.2026) — только от 1100px =====
   Единая зона шириной 360px на 1440 (25vw, не больше 360, не меньше 240): вебинар на всю ширину (~140px), под ним факты на всю ширину.
   Между ними — скрытый контейнер .cover__photos под будущие фотографии. */
@media (min-width: 900px) {
  .cover__extra { width: clamp(240px, 25vw, 360px); right: 4%; top: 44%; gap: 8px; }
  .cover__webinar { display: flex; flex-direction: column; justify-content: center; min-height: 140px; padding: 18px 22px; border-radius: 18px; gap: 4px; }
  .cover__webinar .hero-webinar__tag { font-size: 13px; }
  .cover__webinar .hero-webinar__line { margin-top: 2px; font-size: clamp(15px, 1.6vw, 23px); }
  .cover__webinar .hero-webinar__topic { font-size: 16px; }
  .cover__facts { width: 100%; justify-self: stretch; gap: 6px; }
  .cover__facts li { padding: 7px 12px; font-size: 14px; }
  .cover__photos:not([hidden]) { display: grid; }
}

/* ===== Адаптация компьютерной раскладки к ширине окна (Лига, Задание №23, 21.09.2026) =====
   Раньше до 1100px включалась вертикальная обложка. Теперь компьютерная раскладка работает от 900px и плавно сжимается:
   на узком окне меньше шрифты, отступы и кнопка, чтобы текст слева и зона справа не заходили на лягушку. */
@media (min-width: 900px) and (max-width: 1199px) {
  .cover__text { width: 27%; gap: 6px; }
  .cover__lead, .cover__season { font-size: clamp(12px, 1.35vw, 16px); }
  .cover__cta { min-height: 40px; padding-inline: 12px; font-size: 12px; }
  .cover__webinar { min-height: 0; padding: 12px 14px; gap: 2px; }
  .cover__webinar .hero-webinar__tag { font-size: 11px; }
  .cover__webinar .hero-webinar__line { font-size: clamp(14px, 1.45vw, 18px); }
  .cover__webinar .hero-webinar__topic { font-size: 13px; }
  .cover__facts li { padding: 5px 10px; font-size: 12px; }
}

/* ===== Кабинет на телефоне: путь в кабинет виден без раскрытия меню (шапка, до 767px) ===== */
@media (max-width: 767px) {
  .topbar__row { gap: 10px; }
  .topbar .btn.topbar__cab { display: inline-flex; flex: none; order: 1; margin-left: auto; min-height: 40px; padding: 0 12px; font-size: 12px; white-space: nowrap; border-radius: 12px; color: #fff; background: rgba(255, 255, 255, .06); border: 1px solid var(--line); box-shadow: none; }
  .topbar .btn.topbar__cab .btn__needle { width: 4px; height: 18px; }
  .menu-btn { flex: none; order: 2; margin-left: 0; }
}
@media (max-width: 360px) {
  .brand { font-size: 13px; gap: 8px; }
  .topbar .btn.topbar__cab { padding: 0 10px; }
  .topbar .btn.topbar__cab .btn__needle { display: none; }
}

/* ===== Партнёрам: карточки преимуществ и главная кнопка (24.09.2026) =====
   Заменяет прежние наслоённые правила .partners* (панель → «без рамок» → строки-разделители в четырёх местах файла).
   Смысл, тексты и ссылка те же; цен, охватов, гарантий и условий нет. Анимация появления (rhythm-up) остаётся на .partners. */
.partners { display: grid; gap: 22px; }
.partners__head { max-width: 720px; }
.partners__lead { margin: 14px 0 0; font-size: 17px; line-height: 1.5; color: var(--text-2); }
.partner-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.partner-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: start; padding: 16px; border-radius: var(--radius-md); background: var(--panel); border: 1px solid var(--line); }
.partner-card__icon { grid-row: 1 / span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: var(--lime); background: rgba(200, 245, 58, .1); border: 1px solid rgba(200, 245, 58, .35); }
.partner-card__icon svg { width: 22px; height: 22px; }
.partner-card b { align-self: end; font-size: 16px; font-weight: 600; line-height: 1.3; color: #fff; }
.partner-card > span:last-child { font-size: 15px; line-height: 1.45; color: var(--text-2); }
.partners__cta { display: grid; }
@media (min-width: 768px) {
  .partners { gap: 28px; }
  .partner-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .partner-card { grid-template-columns: minmax(0, 1fr); row-gap: 6px; padding: 24px; }
  .partner-card__icon { grid-row: auto; margin-bottom: 10px; }
  .partner-card b { font-size: 18px; }
  .partner-card > span:last-child { font-size: 16px; }
  .partners__cta .btn { justify-self: start; }
}
@media (min-width: 1100px) {
  .partners { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "head cta" "cards cards"; column-gap: 48px; align-items: end; }
  .partners__head { grid-area: head; }
  .partners__cta { grid-area: cta; }
  .partner-cards { grid-area: cards; }
}

/* ===== Ритм фона и глубина (Лига, 25.09.2026) — только фоны секций и отступ #final =====
   Три уровня: 1) основной тёмный космос (.space, без изменений); 2) синяя зона — мягкая полоса с растворяющимися краями;
   3) локальная цветная подсветка важного блока. Границ и рамок нет, карточки, кнопки и заголовки не тронуты. */
:root {
  --zone-blue: rgba(16, 48, 150, .30);
  --zone-blue-soft: rgba(16, 48, 150, .18);
  --zone-fade: 96px; /* высота растворения краёв синей зоны */
}

/* 1. Переход от светлой обложки к тёмной части: низ обложки плавно темнеет, под ней — голубоватый отсвет */
.cover__stage::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 0; pointer-events: none;
  height: clamp(72px, 16%, 150px);
  background: linear-gradient(180deg, rgba(7, 16, 47, 0) 0%, rgba(20, 52, 150, .30) 38%, rgba(9, 20, 62, .82) 76%, #07102F 100%);
}
/* 2–3. Синие зоны и локальные подсветки. Порядок: тёмный → синяя → тёмный → синяя → тёмный, соседи не совпадают */
#why {
  background:
    radial-gradient(520px 340px at 26% 62%, rgba(200, 245, 58, .07), transparent 70%),
    radial-gradient(680px 420px at 30% 58%, rgba(63, 224, 255, .12), transparent 72%),
    linear-gradient(180deg, transparent 0, var(--zone-blue) var(--zone-fade), var(--zone-blue) calc(100% - var(--zone-fade)), transparent 100%);
}
#levels,
#rules,
#jury,
#final,
#faq {
  background: linear-gradient(180deg, #050710 0%, #04050C 100%);
}
#levels .eyebrow, #rules .eyebrow, #jury .eyebrow, #final .eyebrow, #faq .eyebrow { color: var(--text-3); }
#levels .h2 .acc, #rules .h2 .acc, #jury .h2 .acc, #final .h2 .acc, #faq .h2 .acc { color: var(--blue-light); }
#season-statuses-section,
#title-sponsor {
  background: linear-gradient(180deg, #050710 0%, #04050C 100%);
}

/* 4. Высокое жюри: воздух над блоком — отделяет от «Как оценивают работы» */
#final { padding-block: 44px 44px; }
@media (min-width: 768px) {
  #final { padding-block: 56px 64px; }
}

/* ===== Блок #why «Что получает мастер»: асимметричная сетка (Лига, 25.09.2026) =====
   Одна главная карточка «Награда и статус» и три преимущества разного масштаба. Без рамок: объём даёт свет (синий, cyan, лайм) и
   многослойные тени низкой прозрачности. Карточки не кликабельные — hover нет. Анимация появления — только opacity и transform. */
.bento { display: grid; gap: 12px; }
.bento__main, .bento__perk {
  position: relative; border-radius: 24px; color: #fff;
  background: linear-gradient(165deg, rgba(8, 14, 42, .94), rgba(3, 6, 20, .96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 1px 2px rgba(3, 6, 20, .5), 0 10px 24px -8px rgba(3, 6, 20, .55), 0 24px 48px -20px rgba(16, 78, 245, .22);
}
.bento__label { margin: 0 0 14px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-3); }
.bento__label--lime { color: var(--lime); }
.bento__icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; color: var(--cyan); background: rgba(63, 224, 255, .1); }
.bento__icon svg { width: 22px; height: 22px; }
.bento__icon--lime { color: var(--lime); background: rgba(200, 245, 58, .1); }
.bento__icon--lg { width: 52px; height: 52px; border-radius: 16px; }
.bento__icon--lg svg { width: 28px; height: 28px; }
.bento__kicker { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--lime); }
.bento__text { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.4; color: #fff; }
.bento__note { margin: 0; font-size: 15px; font-weight: 600; color: var(--lime); }

/* главная карточка */
.bento__main {
  display: flex; flex-direction: column; gap: 22px; padding: 24px 22px; overflow: hidden;
  background:
    radial-gradient(420px 300px at 100% 0, rgba(200, 245, 58, .13), transparent 70%),
    radial-gradient(520px 380px at 0 100%, rgba(16, 78, 245, .34), transparent 70%),
    radial-gradient(300px 220px at 60% 100%, rgba(63, 224, 255, .12), transparent 70%),
    linear-gradient(165deg, rgba(8, 14, 42, .94), rgba(3, 6, 20, .96));
}
.bento__main .bento__label { margin: 0; }
.bento__award { display: grid; gap: 10px; justify-items: start; }
.bento__big { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: 28px; line-height: 1.08; text-transform: uppercase; color: #fff; }
.bento__status { display: grid; gap: 10px; justify-items: start; }
.bento__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bento__chips li { padding: 7px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #fff; background: rgba(200, 245, 58, .08); box-shadow: inset 0 0 0 1px rgba(200, 245, 58, .3); }
.bento__cert { margin: auto 0 0; font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--text-2); }

/* правая колонка: подпись + три преимущества разного масштаба */
.bento__side { display: flex; flex-direction: column; }
.bento__side .bento__label { margin: 8px 0 14px; }
.bento__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; flex: 1; }
.bento__perk { display: grid; align-content: start; gap: 8px; padding: 20px; overflow: hidden; }
.bento__perk--blue { background: radial-gradient(260px 200px at 100% 0, rgba(16, 78, 245, .34), transparent 72%), linear-gradient(165deg, rgba(8, 14, 42, .94), rgba(3, 6, 20, .96)); }
.bento__perk--cyan { background: radial-gradient(260px 200px at 0 100%, rgba(63, 224, 255, .18), transparent 72%), linear-gradient(165deg, rgba(8, 14, 42, .94), rgba(3, 6, 20, .96)); }
.bento__perk--wide { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 16px; padding: 24px 22px; background: radial-gradient(380px 220px at 100% 50%, rgba(200, 245, 58, .1), transparent 72%), radial-gradient(300px 200px at 0 0, rgba(16, 78, 245, .2), transparent 72%), linear-gradient(165deg, rgba(8, 14, 42, .94), rgba(3, 6, 20, .96)); }
.bento__perk--wide .bento__text { font-size: 18px; }
.bento__perk--wide div { display: grid; gap: 4px; }

/* ===== #why: монохромная иерархия публичной главной — лайм убран, акцент выборочно кобальтовый ===== */
#why .eyebrow { color: var(--text-3); }
#why .h2 .acc { color: var(--blue-light); }
#why .bento__main { background: radial-gradient(420px 300px at 100% 0, rgba(110, 151, 255, .12), transparent 70%), radial-gradient(520px 380px at 0 100%, rgba(16, 78, 245, .34), transparent 70%), radial-gradient(300px 220px at 60% 100%, rgba(63, 224, 255, .12), transparent 70%), linear-gradient(165deg, rgba(8, 14, 42, .94), rgba(3, 6, 20, .96)); }
#why .bento__label--lime { color: var(--text-3); }
#why .bento__icon--lime { color: var(--blue-light); background: rgba(110, 151, 255, .12); }
#why .bento__kicker { color: var(--text-3); }
#why .bento__note { color: var(--text-3); }
#why .bento__chips li { background: rgba(110, 151, 255, .08); box-shadow: inset 0 0 0 1px rgba(110, 151, 255, .3); }
#why .bento__perk--wide { background: radial-gradient(380px 220px at 100% 50%, rgba(110, 151, 255, .12), transparent 72%), radial-gradient(300px 200px at 0 0, rgba(16, 78, 245, .2), transparent 72%), linear-gradient(165deg, rgba(8, 14, 42, .94), rgba(3, 6, 20, .96)); }

/* ===== #nominations: та же цветовая система, что #why — лайм убран, акцент выборочно кобальтовый ===== */
#nominations .eyebrow { color: var(--text-3); }
#nominations .h2 .acc { color: var(--blue-light); }

@media (min-width: 768px) {
  .bento__main { padding: 30px 32px; gap: 26px; }
  .bento__main .bento__award, .bento__main .bento__status { max-width: none; }
  .bento__big { font-size: 34px; }
  .bento__perks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bento__perk--wide { grid-column: 1 / -1; }
  .bento__perk { padding: 24px; }
  .bento__text { font-size: 17px; }
  .bento__perk--wide .bento__text { font-size: 20px; }
}
/* планшет: главная карточка на всю ширину, награда и статусы рядом */
@media (min-width: 768px) and (max-width: 1099px) {
  .bento__main { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
  .bento__main .bento__label, .bento__cert { grid-column: 1 / -1; }
}
/* компьютер: главная слева и выше, справа две компактные сверху и одна широкая снизу */
@media (min-width: 1100px) {
  .bento { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
  .bento__main { padding: 32px 36px; gap: 22px; }
  .bento__big { font-size: 40px; }
  .bento__note { font-size: 16px; }
  .bento__chips li { font-size: 15px; }
  .bento__cert { font-size: 16px; }
  .bento__perks { gap: 16px; grid-template-rows: 1.2fr 1fr; }
  .bento__perk:not(.bento__perk--wide) .bento__text { font-size: 18px; }
  .bento__perk--wide { padding: 28px 30px; align-content: center; }
}

/* мягкое появление: только opacity и transform */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .bento__main, .bento__perk { animation: rhythm-up linear both; animation-timeline: view(); animation-range: entry 4% entry 46%; }
  }
}

/* ===== Сцена Лиги (26.09.2026): редакционная раскладка мастера. Только transform и opacity; без transition: all ===== */
.lstage__kicker { margin: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-3); }
.lstage__kicker span { color: var(--blue-light); }
.lstage__lead { margin: 12px 0 0; max-width: 46ch; font-size: 16px; line-height: 1.45; color: var(--text-2); }

/* активный мастер: имя, затем один общий слайдер фотографий (работы → обложка) */
.mstage { display: flex; flex-direction: column; gap: 14px; }
.mstage__name { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 34px; line-height: 1.04; letter-spacing: -.01em; color: #fff; overflow-wrap: anywhere; }
.mstage__sub { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 20px; margin-top: 8px; }
.mstage__city { margin: 0; font-size: 16px; color: var(--text-2); }
.mstage__profile { position: relative; display: inline-flex; align-items: center; gap: 8px; padding-bottom: 4px; border-bottom: 1px solid rgba(255, 255, 255, .3); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #fff; text-decoration: none; }
.mstage__profile::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--blue-light); transform: scaleX(0); transform-origin: left center; transition: transform .25s ease; }
.mstage__profile svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.mstage__profile:hover::after { transform: scaleX(1); }
.mstage__profile:hover svg { transform: translate(2px, -2px); }
.mstage__profile:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.mstage__profile:active { transform: translateY(1px); }
.mstage[hidden], .mstage__city[hidden], .mstage__sub[hidden], .mstage__profile[hidden] { display: none; }

.mslider { width: 100%; }
.mslider { --sw: 84%; --gap: 10px; }
.mslider__view { overflow: hidden; touch-action: pan-y; }
.mslider__track { display: flex; gap: var(--gap); transform: translate3d(calc(var(--si, 0) * -1 * (var(--sw) + var(--gap))), 0, 0); transition: transform .45s cubic-bezier(.2, .7, .2, 1); will-change: transform; }
.mslide { position: relative; flex: 0 0 var(--sw); min-width: 0; aspect-ratio: 1 / 1; display: block; padding: 0; border: 0; border-radius: 6px; overflow: hidden; background: #0B0F16; opacity: .7; transition: opacity .4s ease; }
.mslide[aria-hidden="false"] { opacity: 1; }
button.mslide { cursor: zoom-in; }
.mslide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mslide--cover img { object-fit: contain; }
button.mslide:focus-visible { outline: 2px solid var(--cyan); outline-offset: -3px; }
.mslider__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
.mslider__pos { display: flex; align-items: center; gap: 14px; }
.mslider__dots { display: flex; gap: 6px; }
.mslider__dots span { width: 18px; height: 2px; background: var(--blue-light); opacity: .25; transition: opacity .25s ease; }
.mslider__dots span.is-on { opacity: 1; }
.mslider__count { margin: 0; font-size: 12px; font-weight: 500; letter-spacing: .06em; font-variant-numeric: tabular-nums; color: var(--text-3); }
.mslider__arrows { display: flex; gap: 2px; }
.mslider__arrow { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: var(--text); opacity: .7; cursor: pointer; transition: transform .18s ease, opacity .18s ease; }
.mslider__arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.mslider__arrow:hover { opacity: 1; }
.mslider__arrow:first-child:hover { transform: translateX(-3px); }
.mslider__arrow:last-child:hover { transform: translateX(3px); }
.mslider__arrow[aria-disabled="true"] { opacity: .22; cursor: default; }
.mslider__arrow[aria-disabled="true"]:hover { transform: none; }
.mslider__arrow:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; border-radius: 4px; opacity: 1; }
.mslider__arrow:active { transform: scale(.94); }

/* превью мастеров */


/* просмотр работы */
.lstage-lb { touch-action: pan-y pinch-zoom; position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; background: rgba(2, 4, 10, .95); opacity: 0; visibility: hidden; transition: opacity .25s ease; }
.lstage-lb.is-open { opacity: 1; visibility: visible; }
.lstage-lb__img { display: block; max-width: 92vw; max-height: 86vh; object-fit: contain; }
.lstage-lb__close { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; opacity: .75; transition: transform .18s ease, opacity .18s ease; }
.lstage-lb__close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.lstage-lb__close:hover { opacity: 1; }
.lstage-lb__close:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; border-radius: 4px; opacity: 1; }
.lstage-lb__close:active { transform: scale(.94); }
html.lstage-lb-open { overflow: hidden; }

@media (min-width: 768px) {
}
/* компьютер: слева имя, справа один большой слайдер фотографий */
@media (min-width: 900px) {
  .mstage { display: grid; grid-template-columns: 24% 1fr; column-gap: 0; align-items: start; }
  .mstage__info { padding: 4px 12px 0 0; }
  .mstage__name { font-size: clamp(30px, 2.8vw, 40px); overflow-wrap: break-word; }
  .mstage__sub { display: grid; gap: 22px; margin-top: 18px; justify-items: start; }
  .mslider { --sw: 560px; --gap: 12px; justify-self: start; width: min(100%, 660px); }
}
/* лента мастеров на главной: карточки «обложка + имя» — ссылки на master.html, горизонтальная прокрутка.
   Телефон: одновременно ~3 карточки и край следующей; компьютер: ширина карточки ограничена, число видимых зависит от ширины окна. */
.lstrip { --tg: 12px; padding: 14px 0 16px; border-block: 1px solid rgba(255, 255, 255, .07); }
.lstrip__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.lstrip__title { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 20px; line-height: 1.1; letter-spacing: -.005em; text-transform: uppercase; color: #fff; }
.lstrip .lstage__all { margin: 0; }
.lstrip .lstage__all[hidden], .lstrip .mthumbs[hidden] { display: none; }
/* пустое состояние: записей из канала ещё нет — текст и ссылка на канал вместо ряда обложек */
.lstrip__empty { margin: 0; max-width: 60ch; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.lstrip__empty b { color: var(--blue-light); font-weight: 600; }
.lstrip__empty a, .plist__empty a { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, .45); }
.lstrip__empty a:hover, .plist__empty a:hover { text-decoration-color: var(--lime); }
.lstrip__empty[hidden] { display: none; }
.mthumbs { display: flex; gap: var(--tg); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain; padding: 4px 2px 2px; margin: 0 -2px; touch-action: pan-x pan-y; }
.mthumbs::-webkit-scrollbar { display: none; }
/* карточка мастера (главная и «Все участники»): под обложкой сразу имя, город, ссылка на соцсеть и кнопка «Смотреть работы» */
.mcard { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; height: 100%; color: #fff; }
.mcard__open { display: block; width: 100%; border-radius: 4px; text-decoration: none; }
.mcard__open img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 4px; background: #0B0F16; outline: 1px solid transparent; outline-offset: 2px; transition: transform .25s ease; }
.mcard__open:hover img { outline-color: var(--blue-light); transform: translateY(-2px); }
.mcard__open:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.mcard__name { margin: 6px 0 0; width: 100%; font-size: 14px; font-weight: 700; line-height: 1.25; color: #fff; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.mcard__city { margin: 0; width: 100%; font-size: 13px; line-height: 1.3; color: var(--text-2); overflow-wrap: anywhere; }
.mcard__soc { display: inline-flex; align-items: center; max-width: 100%; min-height: 36px; font-size: 13px; font-weight: 600; color: var(--blue-light); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(120, 160, 255, .5); }
.mcard__soc:hover { color: #fff; text-decoration-color: var(--lime); }
.mcard__soc:focus-visible, .mcard__more:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 4px; }
.mcard__soc { margin-bottom: 2px; }
.mcard__soc-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcard__more { display: inline-flex; align-items: center; min-height: 40px; margin-top: auto; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .34); border-radius: 6px; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.mcard__more:hover { border-color: var(--blue-light); }
.mcard__more:active { transform: translateY(1px); }
.mthumb { flex: 0 0 calc((100% - var(--tg)) / 1.9); scroll-snap-align: start; }
@media (min-width: 900px) {
  .lstrip { --tg: 16px; }
  .lstrip__title { font-size: 24px; }
  .mthumb { flex: 0 0 clamp(170px, 15vw, 210px); }
}
@media (prefers-reduced-motion: reduce) {
  .mthumb, .mslider__track, .mslide, .mslider__dots span, .mslider__arrow, .lstage__cta svg, .mstage__profile::after, .mstage__profile svg, .mthumb, .mthumb::before, .lstage__arrow, .lstage-lb, .lstage-lb__close { transition: none !important; }
}

/* ===== Сцена Лиги: ссылка «Все участники» и раздел participants.html (26.09.2026) ===== */
.lstage__all { display: inline-flex; align-items: center; gap: 8px; justify-self: start; margin-top: 4px; padding-bottom: 3px; border-bottom: 1px solid rgba(255, 255, 255, .45); color: #fff; text-decoration: none; font-size: 14px; font-weight: 600; letter-spacing: .04em; }
.lstage__all svg { width: 14px; height: 14px; fill: none; stroke: var(--lime); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.lstage__all:hover { border-bottom-color: var(--lime); }
.lstage__all:hover svg { transform: translate(2px, -2px); }
.lstage__all:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.lstage__all:active { transform: translateY(1px); }
@media (min-width: 900px) { .lstage__all { grid-column: 1; } }

/* ===== «Все участники» и карточка мастера: графитовый фон, лайм убран, акцент выборочно кобальтовый ===== */
.page-mono .space { background: linear-gradient(180deg, #050710 0%, #04050C 100%); }
.page-mono .lstage__all svg { stroke: var(--blue-light); }
.page-mono .lstage__all:hover { border-bottom-color: var(--blue-light); }

.plist { padding-block: 40px 72px; min-height: calc(100vh - 160px); }
.plist__back { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 4px; color: var(--text); text-decoration: none; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.plist__back svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.plist__back:hover svg { transform: translateX(-3px); }
.plist__back:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 4px; }
.plist__grid { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
.plist__grid > li { min-width: 0; }
.plist__empty { margin: 32px 0 0; color: var(--text-2); font-size: 16px; }
.plist__more { display: grid; justify-items: start; gap: 10px; margin-top: 32px; }
.plist__morebtn { min-height: 46px; padding: 0 22px; border: 1px solid rgba(255, 255, 255, .34); border-radius: 6px; background: transparent; color: #fff; font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: transform .15s ease; }
.plist__morebtn:hover { border-color: var(--blue-light); }
.plist__morebtn:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.plist__morebtn:active { transform: translateY(1px); }
.plist__morebtn[hidden] { display: none; }
.plist__status { margin: 0; font-size: 12px; color: var(--text-3); }
@media (min-width: 600px) { .plist__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .plist__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px 20px; } .plist { padding-block: 64px 96px; } }
@media (prefers-reduced-motion: reduce) { .lstage__all svg, .plist__back svg, .mcard__open img, .plist__morebtn { transition: none !important; } }

/* блок «Соцсети мастера» на странице мастера: только явно указанная ссылка */
.msocial { margin-top: 28px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .1); }
.msocial[hidden] { display: none; }
.msocial__title { margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-3); }
.msocial__list { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.msocial__link { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 3px; border-bottom: 1px solid rgba(255, 255, 255, .45); color: #fff; text-decoration: none; font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.msocial__link svg { flex: none; width: 14px; height: 14px; fill: none; stroke: var(--blue-light); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.msocial__link:hover { border-bottom-color: var(--blue-light); }
.msocial__link:hover svg { transform: translate(2px, -2px); }
.msocial__link:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.msocial__link:active { transform: translateY(1px); }
@media (min-width: 900px) { .msocial { margin-left: 24%; } }
@media (prefers-reduced-motion: reduce) { .msocial__link svg { transition: none !important; } }

/* ===== Первый экран: журнал о тату (26.09.2026), перекрашен в графитово-кобальтовое стекло (27.09.2026) =====
   Глубокий почти чёрный фон с синим подтоном, графитовые полупрозрачные панели, кобальт вместо лайма, приглушённые
   слои лягушки и воды за стеклом (макет g8, Ольга 27.09.2026). Затрагивает только hero, шапку, нижнюю панель
   телефона и компактную Сцену Лиги под hero. Таймер, его скрипт и окно тарифов не менялись. */
.topbar { background: #060812; -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.topbar .btn--outline { box-shadow: none; }
.topbar .btn--game { background: linear-gradient(180deg, #2A5CFF, #104EF5 60%, #0C3BC4); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 18px -8px rgba(16, 78, 245, .6); border-radius: 6px; transition: transform .15s ease, box-shadow .15s ease; }
.topbar .btn--game::after { display: none; }
.topbar .btn--game:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), 0 10px 22px -8px rgba(16, 78, 245, .75); }
.topbar .btn--game:active { transform: translateY(1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 10px -6px rgba(16, 78, 245, .6); }
.topbar .btn--game:focus-visible { outline: 2px solid var(--blue-light); outline-offset: 3px; }

.hero-mag { --hm-line: var(--line); --hm-panel: rgba(18, 24, 40, .44); --hm-panel-2: rgba(14, 19, 32, .56); --hm-sheen: linear-gradient(155deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .02) 46%, rgba(255, 255, 255, 0)); position: relative; isolation: isolate; padding: 0; overflow: visible; background: linear-gradient(180deg, #060812 0, #05070F calc(100% - 96px), transparent 100%); }
.hero-mag::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 50% 68% at 94% 6%, rgba(16, 78, 245, .22), transparent 72%); }
.hero-mag__grid { display: grid; gap: 26px; padding-block: 26px 8px; }
.hero-mag__mainwrap, .hero-mag__mkwrap { position: relative; }
.hero-mag__art { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; pointer-events: none; -webkit-mask-image: linear-gradient(100deg, transparent 0, transparent 42%, rgba(0, 0, 0, .5) 62%, #000 84%); mask-image: linear-gradient(100deg, transparent 0, transparent 42%, rgba(0, 0, 0, .5) 62%, #000 84%); }
.hero-mag__art img { position: absolute; display: block; max-width: none; }
.hero-mag__art-water { right: -14%; top: 50%; width: 92%; height: auto; transform: translateY(-46%) scaleX(-1); opacity: .5; }
.hero-mag__art-frog { right: -8%; top: 50%; width: 66%; height: auto; transform: translateY(-40%); opacity: .58; }
.hero-mag__mkwrap .hero-mag__art { -webkit-mask-image: linear-gradient(100deg, transparent 0, transparent 30%, rgba(0, 0, 0, .32) 58%, rgba(0, 0, 0, .5) 100%); mask-image: linear-gradient(100deg, transparent 0, transparent 30%, rgba(0, 0, 0, .32) 58%, rgba(0, 0, 0, .5) 100%); }
.hero-mag__mkwrap .hero-mag__art-water { right: -22%; top: 50%; bottom: auto; width: 110%; transform: translateY(-46%) scaleX(-1); opacity: .26; }
.hero-mag__main { position: relative; z-index: 1; padding: 22px 24px; border-radius: 22px; background: var(--hm-sheen), var(--hm-panel); -webkit-backdrop-filter: blur(14px) saturate(1.2) brightness(1.08); backdrop-filter: blur(14px) saturate(1.2) brightness(1.08); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), inset 0 -1px 0 rgba(0, 0, 0, .35), 0 0 0 1px rgba(110, 151, 255, .12); }
.hero-mag__partner { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.hero-mag__partner-mark { display: block; flex: none; width: 56px; height: 56px; border-radius: 50%; filter: brightness(0) invert(1); }
.hero-mag__partner-text { display: grid; gap: 3px; margin: 0; min-width: 0; font-family: var(--font-body); }
.hero-mag__partner-text b { display: block; font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-3); }
.hero-mag__partner-text span { display: block; font-size: 15px; font-weight: 700; color: var(--text); }
.hero-mag__eyebrow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 16px; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--blue-light); }
.hero-mag__eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--blue-light); }
.hero-mag__eyebrow-year { font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--text-3); }
.hero-mag__title { display: flex; flex-direction: column; margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(54px, 17vw, 76px); line-height: .9; letter-spacing: -.02em; text-transform: uppercase; color: #F4F5F7; }
.hero-mag__title span { color: #2A5CFF; }
.hero-mag__lead { margin: 20px 0 0; font-size: 17px; line-height: 1.45; color: var(--text-2); }
.hero-mag__lead .nw { white-space: nowrap; }
.hero-mag__cta { margin-top: 24px; min-height: 56px; padding: 0 26px; border-radius: 6px; color: #fff; background: linear-gradient(180deg, #2A5CFF, #104EF5 60%, #0C3BC4); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 10px 22px -10px rgba(16, 78, 245, .65); font-family: var(--font-display); font-weight: 900; font-size: 14px; letter-spacing: .06em; transition: transform .15s ease, box-shadow .15s ease; }
.hero-mag__cta::after { display: none; }
.hero-mag__cta:hover { transform: translateY(-1px); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), 0 14px 26px -10px rgba(16, 78, 245, .8); }
.hero-mag__cta:active { transform: translateY(1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 6px 14px -8px rgba(16, 78, 245, .6); }
.hero-mag__cta:focus-visible { outline: 2px solid var(--blue-light); outline-offset: 3px; }
.hero-mag__side { display: grid; gap: 12px; align-content: end; }
.hero-mag__mkwrap { border-radius: 20px; }
.hero-mag__webinar { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: center; gap: 3px 12px; padding: 14px 16px; border-radius: 20px; background: var(--hm-sheen), var(--hm-panel-2); -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .35), 0 0 0 1px rgba(110, 151, 255, .1); }
.hero-mag__webinar > :not(.hero-mag__buy) { grid-column: 1; }
.hero-mag__buy { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; width: auto; padding: 0 0 2px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .4); border-radius: 0; background: none; color: #fff; font-family: var(--font-display); font-weight: 900; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; white-space: nowrap; cursor: pointer; transition: border-color .15s ease; }
.hero-mag__buy svg { width: 12px; height: 12px; flex: none; fill: none; stroke: var(--blue-light); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.hero-mag__buy:hover { border-bottom-color: var(--blue-light); }
.hero-mag__buy:hover svg { transform: translate(2px, -2px); }
.hero-mag__buy:active { transform: translateY(1px); }
.hero-mag__buy:focus-visible { outline: 2px solid var(--blue-light); outline-offset: 3px; }
.hero-mag__webinar .hero-webinar__line { font-size: 20px; }
.hero-mag__webinar .hero-webinar__topic { font-size: 14px; }
.hero-mag__facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--hm-line); }
.hero-mag__facts li { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 8px 0 12px; border-left: 1px solid var(--hm-line); font-size: 13px; line-height: 1.3; font-weight: 500; color: var(--text); }
.hero-mag__facts li:first-child { padding-left: 0; border-left: 0; }
.hero-mag__facts li > a { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; color: inherit; text-decoration: none; }
.hero-mag__facts li > a:hover .hero-mag__mark, .hero-mag__facts li > a:focus-visible .hero-mag__mark { color: var(--cyan); }
.hero-mag__mark { font-family: var(--font-display); font-weight: 900; font-size: 26px; line-height: 1; color: var(--blue-light); }
.hero-mag__mark--icon svg { display: block; width: 26px; height: 26px; color: var(--blue-light); }
.hero-mag .hero__under { padding-top: 6px; }
.hero-mag__timer-after { padding-block: 4px 30px; }
.hero-mag__timer { max-width: none; padding: 0; }
.hero-mag__timer .timer--strip { padding: 14px 0 18px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.hero-mag__timer .timer--strip .timer__cell { min-width: 40px; padding: 4px 6px; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none; }
.hero-mag__timer .timer--strip .timer__cell:first-child { border-left: 0; }
.hero-mag__timer .timer--strip .timer__cell b { font-size: 20px; color: #F4F5F7; }
.hero-mag__timer .timer__label { color: var(--blue-light); }
.hero-mag__timer .timer__steps li.is-current span { background: var(--blue-light); box-shadow: 0 0 10px rgba(110, 151, 255, .6); }
@media (min-width: 900px) {
  .hero-mag__grid { grid-template-columns: minmax(0, 1fr) clamp(340px, 34vw, 460px); column-gap: 56px; align-items: stretch; padding-block: 26px 14px; }
  .hero-mag__mainwrap { grid-column: 1; display: flex; }
  .hero-mag__main { padding: 24px 40px; border-radius: 26px; width: 100%; }
  .hero-mag__partner { margin-bottom: 10px; }
  .hero-mag__partner-mark { width: 46px; height: 46px; }
  .hero-mag__eyebrow { margin-bottom: 8px; }
  .hero-mag__title { font-size: clamp(70px, 8.6vw, 124px); }
  .hero-mag__lead { font-size: 18px; margin-top: 12px; }
  .hero-mag__cta { margin-top: 16px; }
  .hero-mag__side { grid-template-rows: auto 1fr; align-content: stretch; padding-top: 0; gap: 8px; }
  .hero-mag__webinar { gap: 4px; padding: 16px 24px 14px; border-radius: 22px; }
  .hero-mag__buy { margin-top: 10px; font-size: 13px; }
  .hero-mag__webinar .hero-webinar__line { font-size: clamp(24px, 2vw, 30px); line-height: 1.05; }
  .hero-mag__webinar .hero-webinar__topic { font-size: 18px; line-height: 1.2; }
  .hero-mag__facts { grid-template-columns: 1fr; grid-auto-rows: 1fr; border-top: 0; }
  .hero-mag__facts li { flex-direction: row; align-items: center; gap: 16px; padding: 9px 0; border-left: 0; border-top: 1px solid var(--hm-line); font-size: 16px; }
  .hero-mag__facts li:first-child { padding-left: 0; }
  .hero-mag__facts li > a { flex-direction: row; align-items: center; gap: 16px; }
  .hero-mag__mark { min-width: 52px; font-size: clamp(28px, 2.4vw, 36px); }
  .hero-mag__mark--icon svg { width: clamp(26px, 2.2vw, 34px); height: clamp(26px, 2.2vw, 34px); }
}
@media (max-width: 767px) {
  .hero-mag__grid { gap: 4px; }
  .hero-mag__mainwrap { border-radius: 22px; }
  .hero-mag__main { padding: 8px 16px 4px; border-radius: 22px; }
  .hero-mag__partner { margin-bottom: 4px; }
  .hero-mag__partner-mark { width: 34px; height: 34px; }
  .hero-mag__partner-text b { font-size: 9.5px; }
  .hero-mag__partner-text span { font-size: 13px; }
  .hero-mag__eyebrow { margin: 0 0 4px; }
  .hero-mag__lead { margin-top: 6px; }
  .hero-mag__cta { margin-top: 10px; }
  .hero-mag__art { -webkit-mask-image: radial-gradient(140% 140% at 100% 0%, #000 0, #000 42%, transparent 76%); mask-image: radial-gradient(140% 140% at 100% 0%, #000 0, #000 42%, transparent 76%); }
  .hero-mag__art-water { right: 0; bottom: auto; top: 0; width: 58%; opacity: .35; }
  .hero-mag__art-frog { right: -2%; bottom: auto; top: 2%; width: 40%; opacity: .35; }
  .hero-mag__mkwrap .hero-mag__art { display: none; }
  .hero-mag__side { gap: 2px; }
  .hero-mag__webinar { padding: 4px 10px; border-radius: 18px; }
  .hero-mag__webinar .hero-webinar__line { font-size: 17px; }
  .hero-mag__facts li { padding-top: 8px; }
  .hero-mag .hero__under { padding-top: 2px; }
  .hero-mag__timer-after { margin-top: 74px; padding-block: 4px 20px; }
  .hero-mag__timer .timer--strip { padding: 10px 0 12px; }
  .hero-mag__timer .timer--strip .timer__cell b { font-size: 18px; }
  .hero-mag__eyebrow { gap: 6px; font-size: 11px; letter-spacing: .12em; }
  .hero-mag__eyebrow::before { width: 16px; }
  .hero-mag__eyebrow-year { font-size: 11px; }
  .dock { background: #0A0D14; -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid rgba(255, 255, 255, .1); border-radius: 14px; box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .8); }
  .dock a { border-radius: 10px; background: #0F131C; }
  .dock a.dock__main { background: linear-gradient(180deg, #2A5CFF, #104EF5 60%, #0C3BC4); box-shadow: none; }
  .dock a.dock__main:focus-visible { outline: 2px solid var(--blue-light); outline-offset: 2px; }
}


/* ===== Стоимость: видимый раздел #price (28.09.2026, чистка визуала — вытянутые карточки, 28.09.2026) =====
   Чистый глубокий navy-фон, без мутных пятен. Карточка — ровная тёмная заливка, тонкая кобальтовая кромка и небольшой
   локальный блик (::after) в углу — не квадрат, а вытянутая плашка. Desktop: имя+состав слева, цена справа, во всю ширину
   колонки (группы 3/2/4). Mobile: один аккуратный вертикальный блок (имя → состав → строка цены), без свайпа и без вида таблицы.
   is-feature (полный пакет) — свет заметно сильнее. Без лайма и золота. */
#price { position: relative; isolation: isolate; background: linear-gradient(180deg, #050710 0%, #04050C 100%); }
#price .eyebrow { color: var(--blue-light); }
#price .h2 .acc { color: var(--blue-light); }
.price-groups { position: relative; z-index: 1; display: grid; gap: 34px; min-width: 0; }
.price-group { min-width: 0; }
.price-group__title { margin: 0 0 14px; font-family: var(--font-display); font-weight: 800; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.price-row { --cols: 2; display: grid; grid-template-columns: repeat(auto-fit, minmax(max(300px, calc((100% - (var(--cols) - 1) * 12px) / var(--cols))), 1fr)); gap: 12px; }
.price-card {
  position: relative; min-width: 0; padding: 20px 22px; border-radius: 16px; overflow: hidden;
  display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: center; column-gap: 18px; row-gap: 4px;
  background: #090C16;
  box-shadow: inset 0 0 0 1px rgba(46, 130, 255, .42), 0 0 18px -6px rgba(20, 100, 255, .6);
}
.price-card::after { content: ""; position: absolute; top: -30%; left: -20%; width: 60%; height: 80%; z-index: 0; pointer-events: none; background: radial-gradient(closest-side, rgba(70, 150, 255, .22), transparent 75%); }
.price-card.is-feature { box-shadow: inset 0 0 0 1.5px rgba(90, 175, 255, .9), 0 0 30px -6px rgba(30, 120, 255, .9); }
.price-card.is-feature::after { background: radial-gradient(closest-side, rgba(90, 175, 255, .34), transparent 75%); }
.price-card__name { position: relative; z-index: 1; grid-column: 1; grid-row: 1; margin: 0; font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--text); }
.price-card__sub { position: relative; z-index: 1; grid-column: 1; grid-row: 2; margin: 0; font-size: 12.5px; font-weight: 500; line-height: 1.3; color: var(--text-3); min-height: 1em; }
.price-card__price { position: relative; z-index: 1; grid-column: 2; grid-row: 1 / 3; display: grid; justify-items: end; gap: 2px; }
.price-card__old { font-size: 12.5px; font-weight: 500; color: var(--text-3); text-decoration-thickness: 1px; }
.price-card__amount { font-family: var(--font-display); font-weight: 900; font-size: 23px; line-height: 1; letter-spacing: -.01em; color: #fff; }
.price-card.is-feature .price-card__amount { color: var(--blue-light); }
.price-note { position: relative; z-index: 1; margin: 26px 0 0; font-size: 13px; line-height: 1.45; color: var(--text-3); }
.price-cta { position: relative; z-index: 1; display: grid; margin-top: 20px; }
@media (min-width: 768px) { .price-cta .btn { justify-self: start; } }
@media (max-width: 767px) {
  .price-groups { gap: 22px; }
  .price-row { display: flex; flex-direction: column; gap: 10px; }
  .price-card {
    grid-template-columns: 1fr; grid-template-rows: none; row-gap: 0; column-gap: 0;
    display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
    width: 100%; padding: 18px 18px 16px; border-radius: 14px;
  }
  .price-card__name { grid-column: auto; grid-row: auto; font-size: 16px; }
  .price-card__sub { grid-column: auto; grid-row: auto; font-size: 13px; }
  .price-card__price { grid-column: auto; grid-row: auto; justify-items: start; display: flex; align-items: baseline; gap: 10px; margin-top: 2px; }
  .price-card__amount { font-size: 22px; }
}

/* ===== Таймер на 320px: колонка «название» (min-content слова «РЕГИСТРАЦИИ» ≈108px) + строка из 4 ячеек (176px) давали 296px при 288px доступных ===== */
@media (max-width: 340px) {
  .timer--strip { column-gap: 8px; }
  .timer--strip .timer__row { gap: 2px; }
  .hero-mag__timer .timer--strip .timer__cell { min-width: 36px; padding-inline: 4px; }
}

/* ===== Единая система карточек (Лига, 28.09.2026): тёмно-синее полупрозрачное стекло, тонкая светло-голубая кромка, близкое свечение #0001FE =====
   Материал по референсу нравки.jpg (измерено: кромка ≈ #A3B8ED, заливка плиток ≈ #09243F…#11253D, фон ≈ #05172B). Меняется только «кожа»: фон, кромка и тени.
   Сетка, размеры, текст и данные не тронуты; сплошных синих заливок и больших световых облаков нет (свечение — до 16px от края).
   Плоские текстовые блоки (этапы, жюри, правила, FAQ) остаются открытыми списками — система применена к их узлам, плиткам и заглушкам. */
:root {
  --cg-bg: linear-gradient(155deg, rgba(58, 89, 140, .30) 0%, rgba(14, 34, 68, .58) 40%, rgba(8, 20, 42, .68) 100%);
  --cg-rim: rgba(163, 184, 237, .55);
  --cg-edge: 0 0 0 1px var(--cg-rim);
  --cg-blik: inset 0 1px 0 rgba(205, 220, 255, .38), inset 0 18px 20px -18px rgba(170, 195, 255, .3);
  --cg-glow: 0 0 5px rgba(0, 1, 254, .5), 0 0 16px -3px rgba(0, 1, 254, .55);
  --cg-drop: 0 18px 30px -24px rgba(0, 0, 0, .9);
  --cg-blur: blur(12px) saturate(1.15);
}

/* Первый экран: стекло и блюр прежние (за панелью видна графика), меняются кромка, блик и свет */
.hero-mag__main, .hero-mag__webinar {
  box-shadow: var(--cg-blik), inset 0 -1px 0 rgba(0, 0, 0, .35), var(--cg-edge), var(--cg-glow);
}

/* «Что получает мастер»: стекло вместо синих градиентов и облаков */
.bento__main, #why .bento__main,
.bento__perk, .bento__perk--blue, .bento__perk--cyan, .bento__perk--wide, #why .bento__perk--wide {
  background: var(--cg-bg);
  -webkit-backdrop-filter: var(--cg-blur); backdrop-filter: var(--cg-blur);
  box-shadow: var(--cg-blik), var(--cg-edge), var(--cg-glow), var(--cg-drop);
}

/* Тарифы: облако в углу заменено ровным бликом сверху; полный пакет — та же кромка, но ярче и с чуть более сильным светом */
.price-card, .price-card.is-feature {
  background: var(--cg-bg);
  -webkit-backdrop-filter: var(--cg-blur); backdrop-filter: var(--cg-blur);
  box-shadow: var(--cg-blik), var(--cg-edge), var(--cg-glow);
}
.price-card.is-feature { box-shadow: var(--cg-blik), 0 0 0 1px rgba(205, 220, 255, .85), 0 0 6px rgba(0, 1, 254, .6), 0 0 20px -2px rgba(0, 1, 254, .7); }
.price-card::after, .price-card.is-feature::after {
  top: 0; left: 0; width: 100%; height: 40px;
  background: linear-gradient(180deg, rgba(150, 170, 255, .10), rgba(150, 170, 255, 0));
}

/* Плитки статусов и особых номинаций: у них своя рамка, меняем цвет рамки */
.status-card, .snom, .snom--icon {
  background: var(--cg-bg);
  border-color: var(--cg-rim);
  -webkit-backdrop-filter: var(--cg-blur); backdrop-filter: var(--cg-blur);
  box-shadow: var(--cg-blik), var(--cg-glow);
}

/* Этапы: узлы дорожки — те же карточки в малом размере; подложка непрозрачная, чтобы линия дорожки не просвечивала сквозь стекло;
   свет стоит выше маски-кольца, чтобы прилегать к узлу; текущий узел ярче кромкой и светом, но без сплошной заливки */
.stage__dot, .stage.is-current .stage__dot, .stage.is-done .stage__dot, .stage--final:not(.is-current) .stage__dot {
  color: #fff;
  background: var(--cg-bg), #0a1630;
  border-color: var(--cg-rim);
  box-shadow: 0 0 5px rgba(0, 1, 254, .6), 0 0 12px -1px rgba(0, 1, 254, .55), var(--cg-blik), 0 0 0 5px rgba(5, 10, 31, .9);
}
.stage.is-done .stage__dot { color: var(--cyan); border-color: rgba(163, 184, 237, .32); }
.stage.is-current .stage__dot { border-color: rgba(205, 220, 255, .95); box-shadow: 0 0 6px rgba(0, 1, 254, .7), 0 0 16px -1px rgba(0, 1, 254, .85), var(--cg-blik), 0 0 0 5px rgba(5, 10, 31, .9); }

/* Жюри: заглушки будущих фото — карточки той же системы (размеры и сетка прежние) */
.ghost__img {
  background: var(--cg-bg);
  border-color: var(--cg-rim);
  box-shadow: var(--cg-blik), var(--cg-glow);
}

/* Панель «2 статуса сезона» — та же система (внешняя панель: кромка мягче, чем у плиток внутри; блюр у неё уже есть) */
.season-statuses {
  background: var(--cg-bg);
  border-color: rgba(163, 184, 237, .4);
  box-shadow: var(--cg-blik), var(--cg-glow);
}

/* ===== Жюри (Лига, задача 5, 16.10.2026): Высокое жюри сеткой, судьи первого этапа лентой, окно судьи со всеми фото поста =====
   Шрифты не крупнее Сцены: заголовки как у «Сцены Лиги» (.lstrip__title), имена как у карточки мастера (.mcard__name).
   Карточек в разметке нет: их рисует jury.js из GET /api/stage?kind=…; пока судей нет — заглушка «Состав объявляем». */
.jroster__title { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 20px; line-height: 1.1; letter-spacing: -.005em; text-transform: uppercase; color: #fff; }
.jroster__date { font-weight: 800; color: var(--lime); white-space: nowrap; }
.jgroup + .jgroup { margin-top: 22px; }
.jpage > .h2 + .jgroup { margin-top: 26px; }
.jgroup .lstrip__head { flex-wrap: wrap; row-gap: 6px; }
.jhead__tools { display: inline-flex; align-items: center; gap: 14px; }
.jhead__tools [hidden], .jgrid[hidden], .jstrip[hidden], .jempty[hidden], .jarrow[hidden] { display: none !important; }
.jgrid { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 8px; }
.jgrid > li, .jstrip > li { min-width: 0; }
.jstrip { list-style: none; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain; margin: 10px -2px 0; padding: 4px 2px 2px; touch-action: pan-x pan-y; }
.jstrip::-webkit-scrollbar { display: none; }
.jstrip > li { flex: 0 0 clamp(96px, 28vw, 150px); scroll-snap-align: start; }
.jtile { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; min-width: 0; padding: 0; border: 0; border-radius: 4px; background: none; color: #fff; font: inherit; text-align: left; cursor: pointer; }
.jtile__img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 4px; background: #0B0F16; outline: 1px solid transparent; outline-offset: 2px; transition: transform .25s ease; }
.jtile:hover .jtile__img { outline-color: var(--blue-light); transform: translateY(-2px); }
.jtile:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.jtile__name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; width: 100%; overflow: hidden; font-size: 12px; font-weight: 700; line-height: 1.25; color: #fff; overflow-wrap: anywhere; }
.jarrow { display: none; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid rgba(255, 255, 255, .3); border-radius: 6px; background: transparent; color: #fff; cursor: pointer; transition: border-color .18s ease; }
.jarrow svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.jarrow:hover { border-color: var(--blue-light); }
.jarrow:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .jarrow { display: grid; } }

/* заглушка «Состав объявляем»: те же квадраты, что у плиток, и одна строка текста */
.jempty { margin: 10px 0 0; display: grid; gap: 10px; }
.jempty__ghosts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.jempty__ghosts li { aspect-ratio: 1 / 1; border-radius: 4px; background: var(--cg-bg); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik), var(--cg-glow); }
.jempty__ghosts li:nth-child(n + 4) { display: none; }
.jempty__text { margin: 0; font-size: 14px; line-height: 1.5; color: var(--text-2); }

/* окно судьи */
.jmodal { position: fixed; inset: 0; z-index: 70; display: grid; place-items: center; background: rgba(2, 4, 10, .92); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s; }
.jmodal.is-open { opacity: 1; visibility: visible; }
.jmodal__sheet { position: relative; width: 100%; height: 100%; overflow-y: auto; overscroll-behavior: contain; background: #070B1C; }
.jmodal__close { position: absolute; top: 10px; right: 10px; z-index: 3; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgba(2, 4, 10, .68); color: #fff; cursor: pointer; transition: transform .18s ease; }
.jmodal__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.jmodal__close:hover { transform: scale(1.06); }
.jmodal__close:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.jview { background: #0B0F16; }
.jview__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
.jview__track::-webkit-scrollbar { display: none; }
.jview__slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: center; scroll-snap-stop: always; aspect-ratio: 1 / 1; display: grid; place-items: center; }
.jview__slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.jview__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 12px 4px 16px; background: #070B1C; }
.jview__pos { display: flex; align-items: center; gap: 14px; }
.jview__dots { display: flex; gap: 6px; }
.jview__dots span { width: 18px; height: 2px; background: var(--blue-light); opacity: .25; transition: opacity .25s ease; }
.jview__dots span.is-on { opacity: 1; }
.jview__count { margin: 0; font-size: 12px; font-weight: 500; letter-spacing: .06em; font-variant-numeric: tabular-nums; color: var(--text-3); }
.jview__arrows { display: flex; gap: 2px; }
.jview__arrow { display: none; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: var(--text); opacity: .75; cursor: pointer; transition: opacity .18s ease; }
.jview__arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.jview__arrow:hover { opacity: 1; }
.jview__arrow[aria-disabled="true"] { opacity: .22; cursor: default; }
.jview__arrow:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; border-radius: 4px; opacity: 1; }
@media (hover: hover) and (pointer: fine) { .jview__arrow { display: grid; } }
.jmodal.is-single .jview__bar { display: none; }
.jinfo { padding: 14px 16px 28px; }
.jinfo__name { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 22px; line-height: 1.1; letter-spacing: -.005em; color: #fff; overflow-wrap: anywhere; }
.jinfo__city { margin: 6px 0 0; font-size: 14px; line-height: 1.4; color: var(--text-2); }
.jinfo__regalia { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.jinfo__regalia li { padding-left: 10px; border-left: 2px solid rgba(110, 151, 255, .5); font-size: 14px; line-height: 1.45; color: var(--text); overflow-wrap: anywhere; }
.jinfo__soc { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 16px; }
.jinfo__link { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding-bottom: 2px; border-bottom: 1px solid rgba(255, 255, 255, .45); color: #fff; text-decoration: none; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.jinfo__link svg { flex: none; width: 14px; height: 14px; fill: none; stroke: var(--blue-light); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.jinfo__link:hover { border-bottom-color: var(--blue-light); }
.jinfo__link:hover svg { transform: translate(2px, -2px); }
.jinfo__link:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.jinfo [hidden] { display: none; }
html.jmodal-open { overflow: hidden; }

@media (min-width: 768px) {
  .jroster__title { font-size: 24px; }
  .jtile__name { font-size: 14px; }
  .jstrip { gap: 16px; }
  .jstrip > li { flex-basis: 150px; }
}
@media (min-width: 900px) {
  .jgrid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px 14px; }
  .jempty__ghosts { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
  .jempty__ghosts li:nth-child(n + 4) { display: block; }
  .jempty__ghosts li:nth-child(n + 7) { display: none; }
  .jmodal__sheet { width: min(980px, 94vw); height: auto; max-height: 90vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; border: 1px solid rgba(110, 151, 255, .32); border-radius: 16px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .8); }
  .jinfo { padding: 28px 28px 32px; align-self: stretch; overflow-y: auto; }
  .jinfo__name { font-size: 24px; }
}
@media (min-width: 1280px) {
  .jgrid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .jempty__ghosts { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .jempty__ghosts li:nth-child(n + 7) { display: block; }
}
@media (prefers-reduced-motion: reduce) { .jtile__img, .jmodal, .jmodal__close, .jinfo__link svg, .jview__dots span, .jarrow { transition: none !important; } .jview__track { scroll-behavior: auto; } }

/* ===== Дизайн №2 (Лига, 16.10.2026): вариант 2 «Компактный» на всю главную, выбран Ольгой. Только главная: атрибут data-base="2" стоит у <html> в index.html, остальные страницы не затронуты. =====
   Было: шапка 61, «ЛИГА ТАТУ» 66 px, нижняя панель 64, страница 9509 px на 390; стало: шапка ~49, «ЛИГА ТАТУ» 34 px в одну строку, панель ~42, страница короче на ~20%.
   Размеры — переменными --b-… (телефон до 767px, компьютер от 768px); стиль «Игра» и цвета не менялись. Вебинар Касима: плашка на первом экране → блок #webinar. Призы: блок #prizes. */
html[data-base="2"] {
  --b-fs-body: 15px; --b-fs-h2: 21px; --b-fs-eyebrow: 10.5px; --b-sec-pad: 28px; --b-head-mb: 12px; --b-px: 14px; --b-radius: 12px;
  --b-card-pad: 12px; --b-fs-ct: 14px; --b-fs-tx: 13px; --b-btn-h: 42px; --b-btn-fs: 12px;
  --b-top-h: 48px; --b-brand-fs: 13px; --b-mark-h: 24px; --b-menu-h: 34px; --b-menu-fs: 11.5px; --b-nav-fs: 12.5px;
  --b-hero-title: 34px; --b-hero-lead: 13px; --b-hero-pad: 8px; --b-hero-cta-h: 42px; --b-hero-cap: 11.5px; --b-partner-logo: 26px; --b-hero-eyebrow: 9.5px; --b-hero-main-pad: 10px 12px;
  --b-web-pad: 7px 10px; --b-web-line: 14px; --b-web-topic: 12px;
  --b-mark-fs: 18px; --b-fact-fs: 11.5px; --b-fact-pad: 6px;
  --b-timer-b: 15px; --b-timer-cell: 33px; --b-timer-small: 8px;
  --b-dock-h: 34px; --b-dock-fs: 11.5px; --b-dock-pad: 3px; --b-dock-inset: 6px; --b-dock-bottom: 6px; --b-dock-radius: 11px;
  --b-th-n: 3.2; --b-th-gaps: 3; --b-th-gap: 8px; --b-name-fs: 11.5px; --b-city-fs: 10.5px; --b-meta-fs: 10px; --b-lstrip-title: 15px;
  --b-jg-cols: 4; --b-jg-gap: 8px 6px; --b-jname-fs: 11px; --b-sponsor: 130px;
}
@media (min-width: 768px) {
  html[data-base="2"] {
    --b-fs-body: 15px; --b-fs-h2: 30px; --b-sec-pad: 48px; --b-head-mb: 20px; --b-px: 28px; --b-card-pad: 16px; --b-fs-ct: 15px; --b-fs-tx: 14px; --b-btn-h: 44px;
    --b-top-h: 52px; --b-brand-fs: 14px; --b-mark-h: 26px; --b-nav-fs: 12.5px;
    --b-hero-title: 68px; --b-hero-lead: 16px; --b-hero-pad: 14px; --b-hero-cta-h: 44px; --b-hero-cap: 12.5px; --b-partner-logo: 36px; --b-hero-main-pad: 18px 28px;
    --b-web-pad: 10px 16px; --b-web-line: 18px; --b-web-topic: 14px; --b-mark-fs: 24px; --b-fact-fs: 14px; --b-timer-b: 18px; --b-timer-cell: 40px;
    --b-th-n: 9; --b-th-gaps: 8; --b-th-gap: 12px; --b-name-fs: 12.5px; --b-city-fs: 11.5px; --b-meta-fs: 11px; --b-lstrip-title: 18px;
    --b-jg-cols: 9; --b-jg-gap: 14px 12px; --b-jname-fs: 12.5px; --b-sponsor: 170px;
  }
}

/* --- общее: текст, заголовки, секции --- */
html[data-base] body { font-size: var(--b-fs-body); line-height: 1.5; }
html[data-base] .wrap { padding-inline: var(--b-px); }
html[data-base] .h2 { font-size: var(--b-fs-h2); line-height: 1; }
html[data-base] .eyebrow { font-size: var(--b-fs-eyebrow); margin-bottom: 6px; letter-spacing: .14em; }
html[data-base] .section { padding-block: var(--b-sec-pad); }
html[data-base] .section__head { margin-bottom: var(--b-head-mb); }
html[data-base] .btn { font-size: var(--b-btn-fs); }

/* --- шапка: ниже, логотип и кнопка меню меньше --- */
html[data-base] .topbar__row { min-height: var(--b-top-h); gap: 14px; }
html[data-base] .brand { font-size: var(--b-brand-fs); gap: 8px; }
html[data-base] .brand__mark { width: calc(var(--b-mark-h) * .21); height: var(--b-mark-h); }
html[data-base] .menu-btn { height: var(--b-menu-h); padding: 0 11px 0 10px; gap: 7px; font-size: var(--b-menu-fs); border-radius: 10px; }
html[data-base] .burger { width: 14px; gap: 3px; }
html[data-base] .burger i { height: 1.5px; }
html[data-base] .nav a { font-size: var(--b-nav-fs); }
html[data-base] .topbar .btn--sm { min-height: 34px; padding: 0 14px; font-size: 11.5px; border-radius: 10px; box-shadow: 0 3px 0 #06257F, 0 6px 14px rgba(16, 78, 245, .35); }
html[data-base] .topbar .btn--sm .btn__needle { height: 16px; }
html[data-base] .mega__tile { padding: 9px 11px; }
html[data-base] .mega__text b { font-size: 13px; }
html[data-base] .mega__text small { font-size: 11px; }

/* --- первый экран: «ЛИГА ТАТУ» вдвое меньше и одной строкой, кнопка и подпись компактнее --- */
html[data-base] .hero-mag__grid { padding-block: var(--b-hero-pad) 4px; gap: 6px; }
html[data-base] .hero-mag__main { padding: var(--b-hero-main-pad); border-radius: calc(var(--b-radius) + 4px); }
html[data-base] .hero-mag__partner { margin-bottom: 6px; gap: 8px; }
html[data-base] .hero-mag__partner-mark { width: var(--b-partner-logo); height: var(--b-partner-logo); }
html[data-base] .hero-mag__partner-text b { font-size: 9px; letter-spacing: .12em; }
html[data-base] .hero-mag__partner-text span { font-size: 12px; }
html[data-base] .hero-mag__eyebrow { margin: 0 0 4px; font-size: var(--b-hero-eyebrow); letter-spacing: .12em; gap: 6px; }
html[data-base] .hero-mag__eyebrow::before { width: 14px; }
html[data-base] .hero-mag__eyebrow-year { font-size: var(--b-hero-eyebrow); }
html[data-base] .hero-mag__title { font-size: var(--b-hero-title); line-height: .95; letter-spacing: -.015em; }
html[data-base] .hero-mag__lead { margin-top: 6px; font-size: var(--b-hero-lead); line-height: 1.3; }
html[data-base] .hero-mag__cta { margin-top: 10px; min-height: var(--b-hero-cta-h); padding: 0 18px; font-size: var(--b-btn-fs); border-radius: 10px; gap: 8px; }
html[data-base] .hero-mag__cta .btn__needle { width: 5px; height: 18px; }
html[data-base] .hero-mag__soon { margin: 8px 0 0 !important; font-size: var(--b-hero-cap) !important; line-height: 1.3 !important; font-weight: 500 !important; }

/* --- вебинар: компактная плашка в две строки; «Смотреть тарифы» убрана (тарифы — в меню и в разделе «Стоимость») --- */
html[data-base] .hero-mag__webinar { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 0; align-items: center; padding: var(--b-web-pad); border-radius: calc(var(--b-radius) + 2px); }
html[data-base] .hero-mag__webinar .hero-webinar__tag { grid-row: 1 / span 2; grid-column: 1; align-self: center; padding: 3px 7px; border: 1px solid rgba(110, 151, 255, .45); border-radius: 6px; font-size: 9.5px; letter-spacing: .1em; }
html[data-base] .hero-mag__webinar .hero-webinar__line { grid-column: 2; margin: 0; font-size: var(--b-web-line); line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[data-base] .hero-mag__webinar .hero-webinar__topic { grid-column: 2; margin: 0; font-size: var(--b-web-topic); line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[data-base] .hero-mag__buy { display: none; }
html[data-base] .hero-mag__side { gap: 6px; }
html[data-base] .hero-mag .hero__under { padding-top: 0; }

/* --- плитки с цифрами: «32 номинации» и таймер --- */
html[data-base] .hero-mag__facts li { padding: var(--b-fact-pad) 8px 0 10px; gap: 3px; font-size: var(--b-fact-fs); line-height: 1.25; }
html[data-base] .hero-mag__facts li:first-child { padding-left: 0; }
html[data-base] .hero-mag__mark { font-size: var(--b-mark-fs); min-width: 0; }
html[data-base] .hero-mag__mark--icon svg { width: var(--b-mark-fs); height: var(--b-mark-fs); }
html[data-base] .hero-mag__timer-after { margin-top: 4px; padding-block: 2px 8px; }
html[data-base] .hero-mag__timer .timer--strip { padding: 8px 0 8px; }
html[data-base] .hero-mag__timer .timer--strip .timer__cell { min-width: var(--b-timer-cell); padding: 3px 3px; }
html[data-base] .hero-mag__timer .timer--strip .timer__cell b { font-size: var(--b-timer-b); }
html[data-base] .hero-mag__timer .timer--strip .timer__cell small { font-size: var(--b-timer-small); margin-top: 1px; }
html[data-base] .timer--strip .timer__label { font-size: 9.5px; }
html[data-base] .timer--strip .timer__title { font-size: 12px; }
html[data-base] .judge-facts li { padding: 8px 10px; border-radius: var(--b-radius); }
html[data-base] .judge-facts b { font-size: var(--b-fs-ct); }
html[data-base] .judge-facts span { font-size: 11.5px; }

/* --- Сцена: лента меньше, не меньше двух карточек целиком на 390; имя в одну строку; карточка одна нажимаемая --- */
html[data-base] .lstrip { padding: 8px 0 10px; }
html[data-base] .lstrip__head { margin-bottom: 6px; }
html[data-base] .lstrip__title, html[data-base] .jroster__title { font-size: var(--b-lstrip-title); }
html[data-base] .lstage__all { font-size: 12px; padding-bottom: 2px; }
html[data-base] .mthumbs { gap: var(--b-th-gap); padding-top: 2px; }
html[data-base] .mthumb { flex: 0 0 calc((100% - var(--b-th-gaps) * var(--b-th-gap)) / var(--b-th-n)); position: relative; gap: 2px; }
html[data-base] .mcard__name { margin-top: 4px; font-size: var(--b-name-fs); font-weight: 600; line-height: 1.2; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: unset; }
html[data-base] .mcard__city { font-size: var(--b-city-fs); line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[data-base] .mcard__soc, html[data-base] .mcard__more { display: none; }
html[data-base] .mcard--one .mcard__open::after { content: ""; position: absolute; inset: 0; border-radius: 4px; }
html[data-base] .mcard__meta { display: block; width: 100%; margin: 1px 0 0; font-size: var(--b-meta-fs); line-height: 1.2; font-weight: 600; color: var(--blue-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[data-base] .mcard--one:hover .mcard__meta { color: #fff; }

/* --- жюри: квадраты меньше, имя не капсом и в одну строку, лента --- */
html[data-base] .jgroup + .jgroup { margin-top: 12px; }
html[data-base] .jgrid { grid-template-columns: repeat(var(--b-jg-cols), minmax(0, 1fr)); gap: var(--b-jg-gap); margin-top: 6px; }
html[data-base] .jstrip { gap: var(--b-th-gap); margin-top: 6px; }
html[data-base] .jstrip > li { flex: 0 0 calc((100% - var(--b-th-gaps) * var(--b-th-gap)) / var(--b-th-n)); }
html[data-base] .jtile { gap: 4px; }
html[data-base] .jtile__name { display: block; font-size: var(--b-jname-fs); font-weight: 600; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: unset; }
/* пустое Высокое жюри: одна плашка вместо пустых квадратов */
html[data-base] .jempty { margin: 6px 0 0; display: block; }
html[data-base] .jempty__ghosts { display: none; }
html[data-base] .jempty__text, html[data-base] p.jempty__text { margin: 6px 0 0; padding: 9px 14px; border-radius: var(--b-radius); background: var(--cg-bg); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik); font-size: var(--b-fs-tx); line-height: 1.3; color: var(--text-2); }
html[data-base] .jempty .jempty__text { margin: 0; }
html[data-base] .jmodal__sheet .jinfo__name { font-size: calc(var(--b-fs-ct) + 5px); }

/* --- разделы ниже: карточки, плитки, списки --- */
html[data-base] .bento { gap: 8px; }
html[data-base] .bento__main, html[data-base] .bento__perk { padding: var(--b-card-pad); border-radius: var(--b-radius); }
html[data-base] .bento__big { font-size: calc(var(--b-fs-ct) + 5px); line-height: 1.1; }
html[data-base] .bento__text { font-size: var(--b-fs-tx); line-height: 1.35; }
html[data-base] .bento__kicker, html[data-base] .bento__label { font-size: 10.5px; }
html[data-base] .bento__label { margin-bottom: 8px; }
html[data-base] .bento__note, html[data-base] .bento__cert { font-size: calc(var(--b-fs-tx) - 1px); }
html[data-base] .bento__icon { width: 30px; height: 30px; border-radius: 9px; }
html[data-base] .bento__icon--lg { width: 38px; height: 38px; }
html[data-base] .bento__chips li { font-size: 11.5px; padding: 4px 9px; }
html[data-base] .noms li { padding: 6px 11px; font-size: calc(var(--b-fs-tx) - .5px); }
html[data-base] .tab { font-size: var(--b-fs-tx); }
html[data-base] .nom-hint { font-size: 12px; }
html[data-base] .stage__card { padding-top: 4px; }
html[data-base] .stage__title { font-size: var(--b-fs-ct); }
html[data-base] .stage__date { font-size: calc(var(--b-fs-tx) + 1px); }
html[data-base] .stage__steps, html[data-base] .stage__card p { font-size: var(--b-fs-tx); }
html[data-base] .price-groups { gap: 16px; }
html[data-base] .price-row { gap: 8px; }
html[data-base] .price-group__title { margin-bottom: 8px; font-size: 12px; }
html[data-base] .price-card { padding: calc(var(--b-card-pad) - 2px) var(--b-card-pad); border-radius: var(--b-radius); }
html[data-base] .price-card__name { font-size: var(--b-fs-ct); }
html[data-base] .price-card__sub, html[data-base] .price-card__old { font-size: 11.5px; }
html[data-base] .price-card__amount { font-size: calc(var(--b-fs-ct) + 6px); }
html[data-base] .price-note { margin-top: 14px; font-size: 11.5px; }
html[data-base] .rules-brief li { padding: 9px 0; gap: 10px; font-size: var(--b-fs-tx); }
html[data-base] .rules-brief__icon { transform: scale(.85); }
html[data-base] .judge-card { padding: var(--b-card-pad); }
html[data-base] .judge-card__title { font-size: var(--b-fs-ct); }
html[data-base] .judge-next { font-size: var(--b-fs-tx); }
html[data-base] .status-card { padding: var(--b-card-pad); border-radius: var(--b-radius); }
html[data-base] .status-card__name { font-size: var(--b-fs-ct); }
html[data-base] .status-card__awards li { font-size: calc(var(--b-fs-tx) - .5px); padding: 6px 10px; }
html[data-base] .season-statuses { padding: var(--b-card-pad); }
html[data-base] .season-statuses__title { font-size: var(--b-fs-ct); }
html[data-base] .sponsor__logo { width: var(--b-sponsor); height: var(--b-sponsor); }
html[data-base] .sponsor__title { font-size: var(--b-fs-ct); }
html[data-base] .faq__q { font-size: var(--b-fs-tx); padding: 11px 0; gap: 10px; }
html[data-base] .faq__a { font-size: calc(var(--b-fs-tx) - .5px); margin-bottom: 10px; line-height: 1.45; }
html[data-base] .footer__row { min-height: 52px; font-size: 12px; }
html[data-base] .footer__links a { font-size: 12.5px; }

/* --- нижняя панель на телефоне: ниже и тоньше --- */
@media (max-width: 767px) {
  html[data-base] body { padding-bottom: calc(var(--b-dock-h) + 2 * var(--b-dock-pad) + var(--b-dock-bottom) + 10px); }
  html[data-base] .dock { left: var(--b-dock-inset); right: var(--b-dock-inset); bottom: var(--b-dock-bottom); padding: var(--b-dock-pad); gap: 4px; border-radius: var(--b-dock-radius); }
  html[data-base] .dock a, html[data-base] .dock button.dock__menu { min-height: var(--b-dock-h); gap: 6px; border-radius: calc(var(--b-dock-radius) - 3px); font-size: var(--b-dock-fs); line-height: 1; }
  html[data-base] .dock a.dock__main { font-size: calc(var(--b-dock-fs) - .5px); }
  html[data-base] .dock .btn__needle { width: 4px; height: 16px; }
  /* стрелки ленты жюри нужны только мыши; на телефоне лента листается пальцем */
  html[data-base] .jarrow { display: none !important; }
  /* «ЛИГА ТАТУ» на телефоне одной строкой */
  html[data-base] .hero-mag__title { flex-direction: row; flex-wrap: nowrap; column-gap: .22em; align-items: baseline; }
  html[data-base] .hero-mag__main { padding: var(--b-hero-main-pad); }
  html[data-base] .hero-mag__facts li > a { gap: 2px; }
}
@media (min-width: 768px) {
  html[data-base] .hero-mag__title { flex-direction: row; flex-wrap: nowrap; column-gap: .22em; }
}
@media (min-width: 900px) {
  html[data-base] .hero-mag__grid { padding-block: var(--b-hero-pad) 8px; }
  html[data-base] .hero-mag__main { padding: var(--b-hero-main-pad); }
  html[data-base] .hero-mag__title { font-size: var(--b-hero-title); }
  html[data-base] .hero-mag__webinar { padding: var(--b-web-pad); }
  html[data-base] .hero-mag__facts li { padding: 7px 0; font-size: var(--b-fact-fs); gap: 12px; }
  html[data-base] .hero-mag__mark { min-width: 42px; }
  html[data-base] .hero-mag__facts { grid-auto-rows: auto; }
  html[data-base] .hero-mag__side { align-content: start; grid-template-rows: auto auto; }
}

/* --- вебинар Касима: размеры --- */
html[data-base="2"] { --w-photo: 64px; --w-n: 22px; --w-fs: 13px; --w-gap: 8px; --w-reel-gap: 6px; --w-name: 15px; --w-reel-r: 8px; }
@media (min-width: 768px) {
    html[data-base="2"] { --w-photo: 80px; --w-n: 24px; --w-fs: 14px; --w-gap: 10px; --w-reel-gap: 10px; --w-name: 17px; }
}

/* --- короткая плашка на первом экране: вся плашка — ссылка на блок вебинара --- */
html[data-base] a.hero-mag__webinar { grid-template-columns: auto minmax(0, 1fr) auto; text-decoration: none; color: inherit; cursor: pointer; }
html[data-base] .hero-webinar__go { grid-row: 1 / span 2; grid-column: 3; width: 16px; height: 16px; fill: none; stroke: var(--lime); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
html[data-base] a.hero-mag__webinar:hover .hero-webinar__go { transform: translateX(3px); }
html[data-base] a.hero-mag__webinar:focus-visible { outline: 2px solid var(--blue-light); outline-offset: 3px; }

/* --- блок вебинара --- */
html[data-base] .wbn { padding-block: var(--b-sec-pad); }
html[data-base] .wbn__head { margin-bottom: var(--b-head-mb); }
html[data-base] .wbn__date { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; }
html[data-base] .wbn__tag { padding: 2px 7px; border: 1px solid rgba(110, 151, 255, .45); border-radius: 6px; font-size: 9.5px; letter-spacing: .1em; color: var(--blue-light); }
html[data-base] .wbn__date::before { display: none; }
html[data-base] .wbn__grid { display: grid; gap: var(--b-card-pad); }
html[data-base] .wbn__side { display: grid; gap: var(--b-card-pad); min-width: 0; }
html[data-base] .wbn__who { display: flex; align-items: center; gap: 12px; padding: var(--b-card-pad); border-radius: var(--b-radius); background: var(--cg-bg); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik), var(--cg-glow); }
html[data-base] .wbn__photo { flex: none; width: var(--w-photo); height: var(--w-photo); border-radius: 50%; object-fit: cover; object-position: 50% 22%; border: 2px solid var(--cg-rim); background: #0B0F16; }
html[data-base] .wbn__whotext { min-width: 0; }
html[data-base] .wbn__name { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: var(--w-name); line-height: 1.15; color: #fff; }
html[data-base] .wbn__meta { margin: 2px 0 0; font-size: var(--b-fs-tx); line-height: 1.3; color: var(--text-2); }
html[data-base] .wbn__meta a { color: var(--blue-light); text-decoration: none; font-weight: 600; }
html[data-base] .wbn__meta a:hover { color: #fff; }
html[data-base] .wbn__stat { margin: 2px 0 0; font-size: var(--b-fs-tx); line-height: 1.3; color: var(--text-2); }
html[data-base] .wbn__stat b { font-family: var(--font-display); font-weight: 900; color: var(--lime); }
html[data-base] .wbn__reels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--w-reel-gap); }
html[data-base] .wbn__reels li { min-width: 0; aspect-ratio: 9 / 16; overflow: hidden; border-radius: var(--w-reel-r); border: 1px solid var(--cg-rim); background: #0B0F16; box-shadow: var(--cg-glow); }
html[data-base] .wbn__reels img { display: block; width: 100%; height: 100%; object-fit: cover; }
html[data-base] .wbn__main { display: grid; gap: var(--b-card-pad); align-content: start; min-width: 0; }
html[data-base] .wbn__list { list-style: none; margin: 0; padding: 0; display: grid; }
html[data-base] .wbn__list li { display: grid; grid-template-columns: var(--w-n) minmax(0, 1fr); gap: var(--w-gap); align-items: start; padding: var(--w-gap) 0; border-top: 1px solid rgba(130, 165, 255, .16); }
html[data-base] .wbn__list li:first-child { border-top: 0; padding-top: 0; }
html[data-base] .wbn__n { display: grid; place-items: center; width: var(--w-n); height: var(--w-n); border-radius: 50%; border: 1px solid var(--cg-rim); background: var(--cg-bg); font-family: var(--font-display); font-weight: 900; font-size: calc(var(--w-n) * .5); color: var(--lime); }
html[data-base] .wbn__list p { margin: 0; font-size: var(--w-fs); line-height: 1.4; color: var(--text-2); }
html[data-base] .wbn__list b { color: #fff; font-weight: 700; }
html[data-base] .wbn__cta { width: 100%; min-height: var(--b-btn-h); padding: 0 18px; font-size: var(--b-btn-fs); border-radius: 10px; }
html[data-base] .wbn__cta .btn__needle { width: 5px; height: 18px; }
@media (min-width: 768px) {
  html[data-base] .wbn__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: calc(var(--b-card-pad) * 2); align-items: start; }
  html[data-base] .wbn__cta { width: auto; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) { html[data-base] .hero-webinar__go { transition: none; } }

/* --- вебинар: одна фраза, пять заголовков (описания по кнопке), плашки формата, две кнопки --- */
html[data-base] .wbn__hook { margin: 0; padding-left: 12px; border-left: 3px solid var(--lime); font-family: var(--font-display); font-weight: 800; font-size: calc(var(--b-fs-ct) + 1px); line-height: 1.25; color: #fff; }
html[data-base] .wbn__list li { align-items: center; }
html[data-base] .wbn__topic { min-width: 0; }
html[data-base] .wbn__list b { display: block; font-size: var(--w-fs); line-height: 1.3; }
html[data-base] .wbn__list .wbn__more { margin: 3px 0 0; font-size: calc(var(--w-fs) - 1px); line-height: 1.4; color: var(--text-2); }
html[data-base] .wbn--js:not(.wbn--open) .wbn__more { display: none; }
html[data-base] .wbn__chips { list-style: none; margin: 0; padding: 0; display: none; flex-wrap: wrap; gap: 8px; }
html[data-base] .wbn--js:not(.wbn--open) .wbn__chips { display: flex; }
html[data-base] .wbn__chips svg { flex: none; width: 16px; height: 16px; color: var(--cyan); fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
html[data-base] .wbn__chips li { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border-radius: 999px; border: 1px solid var(--cg-rim); background: var(--cg-bg); font-size: var(--b-fs-tx); line-height: 1.2; color: var(--text); white-space: nowrap; }
html[data-base] .wbn__actions { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-base] .wbn__actions .btn { flex: 1 1 150px; width: auto; min-height: var(--b-btn-h); padding: 0 14px; font-size: var(--b-btn-fs); border-radius: 10px; justify-content: center; }
html[data-base] .wbn__intro { display: grid; gap: 12px; }
html[data-base] .wbn__intro p { margin: 0; font-size: var(--b-fs-tx); line-height: 1.45; color: var(--text-2); }
html[data-base] .wbn__sub { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: var(--b-fs-eyebrow); letter-spacing: .14em; text-transform: uppercase; color: var(--lime); }
html[data-base] .wbn__practice { display: grid; gap: 10px; }
html[data-base] .wbn__cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
html[data-base] .wbn__cards li { display: flex; align-items: flex-start; gap: 10px; padding: var(--b-card-pad); border-radius: var(--b-radius); background: var(--cg-bg); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik), var(--cg-glow); }
html[data-base] .wbn__ic { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--cyan); background: rgba(63, 224, 255, .1); }
html[data-base] .wbn__ic svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html[data-base] .wbn__cards b { display: block; font-family: var(--font-display); font-weight: 800; font-size: var(--b-fs-ct); line-height: 1.2; color: #fff; }
html[data-base] .wbn__cards p { margin: 3px 0 0; font-size: var(--b-fs-tx); line-height: 1.4; color: var(--text-2); }
html[data-base] .wbn__toggle { cursor: pointer; font-family: inherit; }
html[data-base] .wbn__toggle[hidden] { display: none; }
@media (min-width: 768px) {
  html[data-base] .wbn__actions .btn { flex: 0 0 auto; padding: 0 22px; }
  html[data-base] .wbn__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* --- переход по якорю: заголовок блока не прячется под шапку (отступ сверху = высота шапки + запас); нижняя панель страницу уже учитывает (padding-bottom у body) --- */
html[data-base] { scroll-padding-top: calc(var(--b-top-h) + 14px); }

/* --- Призы · 2 розыгрыша (Лига, Дизайн №2; текст — пост канала @tattoo_liga «ДВА РОЗЫГРЫША. ОДНА ЦЕЛЬ») --- */
html[data-base] .prizes__title .prizes__acc { color: var(--lime); white-space: nowrap; }
html[data-base] .prizes__top { display: grid; grid-template-columns: minmax(0, 36%) minmax(0, 1fr); grid-template-areas: "img lead" "cards cards"; gap: 12px; align-items: start; }
html[data-base] .prizes__img { grid-area: img; }
html[data-base] .prizes__lead { grid-area: lead; }
html[data-base] .prizes__cards { grid-area: cards; }
html[data-base] .prizes__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--b-radius); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik), var(--cg-glow); background: #0B0F16; }
html[data-base] .prizes__intro { margin: 0; font-size: var(--b-fs-tx); line-height: 1.4; color: var(--text-2); }
html[data-base] .prizes__terms { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
html[data-base] .prizes__terms li { display: grid; grid-template-columns: 2.4em minmax(0, 1fr); gap: 6px; align-items: baseline; font-size: var(--b-fs-tx); line-height: 1.35; color: var(--text); }
html[data-base] .prizes__terms b { font-family: var(--font-display); font-weight: 900; color: var(--lime); }
html[data-base] .prizes__cards { display: grid; gap: 8px; }
html[data-base] .prize { border-radius: var(--b-radius); background: var(--cg-bg); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik), var(--cg-glow); }
html[data-base] .prize--gold { border-color: rgba(200, 245, 58, .55); }
html[data-base] .prize > summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 10px var(--b-card-pad); cursor: pointer; }
html[data-base] .prize > summary::-webkit-details-marker { display: none; }
html[data-base] .prize > summary::after { content: ""; flex: none; margin-left: auto; width: 8px; height: 8px; border: solid var(--text-3); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s ease; }
html[data-base] .prize[open] > summary::after { transform: rotate(-135deg); }
html[data-base] .prize__icon { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--lime); background: rgba(200, 245, 58, .1); }
html[data-base] .prize__icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
html[data-base] .prize__text { min-width: 0; }
html[data-base] .prize__name, html[data-base] .prize__for { display: block; }
html[data-base] .prize__name { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: var(--b-fs-ct); line-height: 1.15; color: #fff; }
html[data-base] .prize__for { margin: 1px 0 0; font-size: 11.5px; line-height: 1.25; color: var(--text-3); }
html[data-base] .prize__list { list-style: none; margin: 0; padding: 0 var(--b-card-pad) 10px; display: grid; }
html[data-base] .prize__list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0 10px; padding: 7px 0; border-top: 1px solid rgba(130, 165, 255, .16); font-size: var(--b-fs-tx); line-height: 1.35; color: #fff; }
html[data-base] .prize__list li > span { font-weight: 600; }
html[data-base] .prize__list li > em { font-style: normal; font-size: calc(var(--b-fs-tx) - .5px); color: var(--lime); white-space: nowrap; }
html[data-base] .prize__list li > small { flex-basis: 100%; margin-top: 1px; font-size: 11.5px; line-height: 1.35; color: var(--text-2); }
html[data-base] .prizes__live { display: flex; align-items: flex-start; gap: 8px; margin: var(--b-card-pad) 0 10px; font-size: var(--b-fs-tx); line-height: 1.4; color: var(--text-2); }
html[data-base] .prizes__live svg { flex: none; width: 18px; height: 18px; margin-top: 1px; color: var(--cyan); }
html[data-base] .prizes__cta { width: 100%; min-height: var(--b-btn-h); padding: 0 18px; font-size: var(--b-btn-fs); border-radius: 10px; }
html[data-base] .prizes__cta .btn__needle { width: 5px; height: 18px; }
@media (min-width: 768px) {
  html[data-base] .prizes__top { grid-template-columns: 220px minmax(0, 1fr); grid-template-areas: "img lead" "cards cards"; gap: 16px 24px; }
  html[data-base] .prizes__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 12px; }
  html[data-base] .prize > summary { cursor: default; pointer-events: none; }
  html[data-base] .prize > summary::after { display: none; }
  html[data-base] .prizes__cta { width: auto; }
}
@media (min-width: 1024px) {
  html[data-base] .prizes__top { grid-template-columns: var(--p-img-w, 300px) minmax(0, 1fr); grid-template-areas: "img lead" "img cards"; }
  html[data-base] .prizes__img { align-self: stretch; height: 100%; min-height: 0; aspect-ratio: auto; object-position: 50% 50%; }
}
/* на узком компьютере (1024–1199) текст карточек переносится и колонка выше — картинку делаем шире, чтобы обрезка по бокам осталась малой */
@media (min-width: 1024px) and (max-width: 1199px) { html[data-base] .prizes__top { --p-img-w: 356px; } }
@media (prefers-reduced-motion: reduce) { html[data-base] .prize > summary::after { transition: none; } }

/* ===== Дизайн №2в (Лига, 16.10.2026): блок вебинара Касима целиком на первом экране (справа от «ЛИГА ТАТУ», на телефоне сразу под ней),
   нижнего блока вебинара больше нет (якорь #webinar ведёт сюда); «ЛИГА ТАТУ» заметно меньше; призы на компьютере крупнее. ===== */
html[data-base="2"] { --b-hero-title: 25px; }
@media (min-width: 768px) { html[data-base="2"] { --b-hero-title: 42px; } }

/* правая колонка первого экрана — карточка вебинара (стекло как у карточки слева) */
html[data-base] .hero-mag__side { display: block; align-content: normal; padding: 0; min-width: 0; }
html[data-base] .wbn--hero { position: relative; z-index: 1; padding: 12px; border-radius: calc(var(--b-radius) + 4px); background: var(--hm-sheen), var(--hm-panel); -webkit-backdrop-filter: blur(14px) saturate(1.2) brightness(1.08); backdrop-filter: blur(14px) saturate(1.2) brightness(1.08); box-shadow: var(--cg-blik), inset 0 -1px 0 rgba(0, 0, 0, .35), var(--cg-edge), var(--cg-glow); }
html[data-base] .wbn--hero.wbn { padding-block: 12px; }
html[data-base] .wbn--hero .wbn__head { margin-bottom: 8px; }
html[data-base] .wbn--hero .wbn__date { margin: 0 0 4px; }
html[data-base] .wbn--hero .h2 { font-size: 19px; line-height: 1.05; letter-spacing: -.01em; }
html[data-base] .wbn--hero .h2 .acc { display: inline; }
html[data-base] .wbn--hero .wbn__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
html[data-base] .wbn--hero .wbn__side { gap: 8px; }
html[data-base] .wbn--hero .wbn__who { padding: 8px 10px; gap: 10px; }
html[data-base] .wbn--hero .wbn__photo { width: 44px; height: 44px; }
html[data-base] .wbn--hero .wbn__name { font-size: 14px; }
html[data-base] .wbn--hero .wbn__meta, html[data-base] .wbn--hero .wbn__stat { margin: 1px 0 0; font-size: 12px; }
html[data-base] .wbn--hero .wbn__reels { gap: 6px; }
html[data-base] .wbn--hero .wbn__reels li { aspect-ratio: 4 / 5; }
html[data-base] .wbn--hero .wbn__reels img { object-position: 50% 100%; }
html[data-base] .wbn--hero .wbn__main { gap: 8px; }
html[data-base] .wbn--hero .wbn__hook { font-size: 13px; line-height: 1.25; padding-left: 10px; }
html[data-base] .wbn--hero .wbn__list li { padding: 5px 0; gap: 8px; }
html[data-base] .wbn--hero .wbn__list b { font-size: 12.5px; line-height: 1.25; }
html[data-base] .wbn--hero .wbn__list .wbn__more { font-size: 12px; }
html[data-base] .wbn--hero .wbn__chips li { padding: 4px 9px; font-size: 11.5px; }
html[data-base] .wbn--hero .wbn__actions { gap: 8px; }
html[data-base] .wbn--hero .wbn__actions .btn { min-height: 38px; font-size: 11.5px; }
@media (min-width: 900px) {
  html[data-base] .hero-mag__grid { grid-template-columns: minmax(0, 1fr) clamp(440px, 36vw, 540px); column-gap: 28px; align-items: start; }
  html[data-base] .hero-mag__mainwrap { align-self: stretch; }
  html[data-base] .hero-mag__main { display: flex; flex-direction: column; justify-content: center; }
  html[data-base] .wbn--hero { padding: 14px 16px; }
  html[data-base] .wbn--hero .h2 { font-size: 24px; }
  html[data-base] .wbn--hero .wbn__who { padding: 8px 12px; }
  html[data-base] .wbn--hero .wbn__photo { width: 48px; height: 48px; }
  html[data-base] .wbn--hero .wbn__name { font-size: 15px; }
  html[data-base] .wbn--hero .wbn__hook { font-size: 14px; }
  html[data-base] .wbn--hero .wbn__list b { font-size: 13px; }
  html[data-base] .wbn--hero .wbn__actions .btn { flex: 1 1 0; min-height: 40px; padding: 0 12px; }
}
@media (min-width: 900px) {
  /* слева стеклянная карточка прежняя, но с меньшим размытием: за заголовком читается картинка сезона (как и раньше, приглушённая) */
  html[data-base] .hero-mag__cta { align-self: flex-start; }
  html[data-base] .hero-mag__main { -webkit-backdrop-filter: blur(5px) saturate(1.15); backdrop-filter: blur(5px) saturate(1.15); padding-inline: 32px; }
  html[data-base] .hero-mag__art-water { right: -6%; width: 86%; opacity: .5; }
  html[data-base] .hero-mag__art-frog { right: 0; width: 54%; opacity: .32; transform: translateY(-46%); }
  html[data-base] .wbn--hero .wbn__reels li { aspect-ratio: 1 / 1; }
}

/* Призы на компьютере (№2в): текст вступления и карточек крупнее; список в карточках растягивается на всю высоту — внизу золотой карточки нет пустоты (без поддержки flex у <details> остаётся прежний вид) */
@media (min-width: 768px) {
  html[data-base] .prizes__intro { font-size: 16px; line-height: 1.5; }
  html[data-base] .prizes__terms { margin-top: 14px; gap: 8px; }
  html[data-base] .prizes__terms li { grid-template-columns: 2.6em minmax(0, 1fr); font-size: 16px; line-height: 1.4; }
  html[data-base] .prize { display: flex; flex-direction: column; }
  html[data-base] .prize > summary { gap: 12px; padding: 14px 18px 10px; }
  html[data-base] .prize__icon { width: 36px; height: 36px; border-radius: 10px; }
  html[data-base] .prize__icon svg { width: 19px; height: 19px; }
  html[data-base] .prize__name { font-size: 20px; line-height: 1.15; }
  html[data-base] .prize__for { margin-top: 3px; font-size: 13.5px; }
  html[data-base] .prize__list { flex: 1 1 auto; grid-auto-rows: 1fr; padding: 0 18px 12px; }
  html[data-base] .prize__list li { align-items: center; align-content: center; padding: 9px 0; font-size: 16px; line-height: 1.35; }
  html[data-base] .prize__list li > em { font-size: 15px; }
  html[data-base] .prize__list li > small { font-size: 13.5px; line-height: 1.4; margin-top: 3px; }
  html[data-base] .prizes__live { font-size: 15px; margin-top: 18px; }
}
@media (min-width: 1200px) {
  html[data-base] .prizes__intro { font-size: 17px; }
  html[data-base] .prizes__terms li { font-size: 17px; }
  html[data-base] .prize__name { font-size: 21px; }
  html[data-base] .prize__list li { font-size: 17px; padding: 10px 0; }
  html[data-base] .prize__list li > em { font-size: 16px; }
}
/* Призы №2в, уточнение: растяжка списка через ::details-content (Chrome 131+, Safari 18.4+); в старых браузерах золотая карточка добирает высоту отступами строк; картинка шире, чтобы почти не обрезалась */
@media (min-width: 768px) {
  html[data-base] .prize::details-content { flex: 1 1 auto; display: flex; flex-direction: column; }
  html[data-base] .prize--gold .prize__list li { padding-block: 22px; }
}
@media (min-width: 1024px) {
  /* вступление и условия — во всю ширину сверху (условия тремя плашками в ряд), под ними картинка и две карточки: картинка по высоте карточек почти без обрезки */
  html[data-base] .prizes__top { grid-template-columns: var(--p-img-w, 340px) minmax(0, 1fr); grid-template-areas: "lead lead" "img cards"; gap: 16px 24px; }
  html[data-base] .prizes__terms { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
  html[data-base] .prizes__terms li { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--cg-rim); background: var(--cg-bg); font-size: 15px; line-height: 1.3; }
  html[data-base] .prizes__terms b { font-size: 22px; line-height: 1; }
}
@media (min-width: 1200px) { html[data-base] .prizes__top { --p-img-w: 380px; } html[data-base] .prizes__terms li { font-size: 16px; } }
/* Вебинар раскрыт (№2в): левая карточка не растягивается на всю высоту, а остаётся под шапкой при прокрутке */
@media (min-width: 900px) {
  html[data-base] .hero-mag__grid:has(.wbn--open) .hero-mag__mainwrap { align-self: start; position: sticky; top: calc(var(--b-top-h) + 14px); }
}

/* ===== Дизайн №2д (Лига, 16.10.2026): порядок блоков и приоритеты. Тексты Ольги прежние; Робокасса и 031 не затронуты. ===== */

/* 1. Первый экран на компьютере: карточка «ЛИГА» — по высоте содержимого, текст и кнопка сверху, пустоты нет; справа вебинар; под ними короткая плашка призов */
@media (min-width: 900px) {
  html[data-base] .hero-mag__mainwrap { align-self: start; }
  html[data-base] .hero-mag__main { justify-content: flex-start; }
}
/* таймер сезона — в левой колонке под карточкой «ЛИГА» (заполняет место рядом с высоким вебинаром); на телефоне идёт после вебинара */
html[data-base] .hero-mag__timercell { min-width: 0; }
@media (min-width: 900px) {
  html[data-base] .hero-mag__grid { grid-template-rows: auto 1fr; }
  html[data-base] .hero-mag__mainwrap { grid-column: 1; grid-row: 1; }
  html[data-base] .hero-mag__side { grid-column: 2; grid-row: 1 / span 2; }
  html[data-base] .hero-mag__timercell { grid-column: 1; grid-row: 2; align-self: start; }
}
html[data-base] .hero-mag__prizesrow { padding-block: 2px 8px; }
html[data-base] .hero-prizes { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border-radius: calc(var(--b-radius) + 2px); background: var(--hm-sheen), var(--hm-panel); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik); text-decoration: none; color: inherit; }
html[data-base] .hero-prizes:focus-visible { outline: 2px solid var(--blue-light); outline-offset: 3px; }
html[data-base] .hero-prizes__icon { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: var(--lime); background: rgba(200, 245, 58, .1); }
html[data-base] .hero-prizes__icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html[data-base] .hero-prizes__text { min-width: 0; font-family: var(--font-display); font-weight: 800; font-size: var(--b-fs-ct); line-height: 1.2; color: #fff; }
html[data-base] .hero-prizes__go { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: var(--b-fs-tx); font-weight: 600; color: var(--lime); }
html[data-base] .hero-prizes__go svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
html[data-base] .hero-prizes:hover .hero-prizes__go svg { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { html[data-base] .hero-prizes__go svg { transition: none; } }

/* 3. «Участвовать» в конце блоков (на телефоне ещё и закреплённая нижняя панель) */
html[data-base] .sec-cta { display: flex; margin-top: 14px; }
html[data-base] .sec-cta .btn { width: 100%; min-height: var(--b-btn-h); padding: 0 22px; font-size: var(--b-btn-fs); border-radius: 10px; }
html[data-base] .sec-cta .btn .btn__needle { width: 5px; height: 18px; }
@media (min-width: 768px) { html[data-base] .sec-cta .btn { width: auto; } }
html[data-base] .lstrip .sec-cta { margin-top: 10px; }

/* 4. Тарифы: карточка в одну строку (название и пояснение слева, цена справа), цена не крупнее заголовка блока, без лишней высоты */
html[data-base] .price-groups { gap: 12px; }
html[data-base] .price-group__title { margin: 0 0 6px; font-size: 11.5px; }
html[data-base] .price-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
html[data-base] .price-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; column-gap: 12px; row-gap: 0; width: auto; padding: 8px 12px; min-height: 0; border-radius: 10px; }
html[data-base] .price-card__name { grid-column: 1; grid-row: 1; font-size: 13.5px; line-height: 1.2; }
html[data-base] .price-card__sub { grid-column: 1; grid-row: 2; font-size: 11px; line-height: 1.25; min-height: 0; }
html[data-base] .price-card__sub:empty { display: none; }
html[data-base] .price-card__price { grid-column: 2; grid-row: 1 / span 2; display: flex; align-items: baseline; justify-items: normal; gap: 6px; margin: 0; }
html[data-base] .price-card__old { font-size: 11px; }
html[data-base] .price-card__amount { font-size: calc(var(--b-fs-ct) + 2px); }
html[data-base] .price-note { margin-top: 10px; }
html[data-base] .price-cta { margin-top: 12px; }
@media (min-width: 768px) {
  html[data-base] .price-row { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 8px; }
  html[data-base] .price-card { padding: 9px 14px; }
  html[data-base] .price-card__name { font-size: 14px; }
  html[data-base] .price-card__sub { font-size: 11.5px; }
}
@media (min-width: 768px) and (max-width: 1023px) { html[data-base] .price-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 5. «Что получает мастер»: плитки 2–3 колонки (иконка и короткая строка), ровные по высоте, без пустых коробок */
html[data-base] .gains { display: grid; gap: 8px; }
html[data-base] .gains__label { margin: 6px 0 0; font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-3); }
html[data-base] .gains__label:first-child { margin-top: 0; }
html[data-base] .gains__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: stretch; }
html[data-base] .gain { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px; border-radius: var(--b-radius); background: var(--cg-bg); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik); }
html[data-base] .gain--wide { grid-column: 1 / -1; }
html[data-base] .gain__icon { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--blue-light); background: rgba(110, 151, 255, .12); }
html[data-base] .gain__icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html[data-base] .gain__body { min-width: 0; display: grid; gap: 2px; }
html[data-base] .gain__title { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: var(--b-fs-ct); line-height: 1.2; color: #fff; }
html[data-base] .gain__note, html[data-base] .gain__text { margin: 0; font-size: var(--b-fs-tx); line-height: 1.3; color: var(--text-2); }
html[data-base] .gain__text { color: #fff; font-weight: 600; }
html[data-base] .gain__kicker { margin: 0; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); }
html[data-base] .gain__chips { list-style: none; margin: 3px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
html[data-base] .gain__chips li { padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; color: #fff; background: rgba(110, 151, 255, .08); box-shadow: inset 0 0 0 1px rgba(110, 151, 255, .3); }
@media (max-width: 767px) {
  html[data-base] .gain { gap: 8px; padding: 9px 10px; }
  html[data-base] .gain__icon { width: 30px; height: 30px; border-radius: 9px; }
  html[data-base] .gain__icon svg { width: 16px; height: 16px; }
}
@media (min-width: 768px) {
  html[data-base] .gains { gap: 10px; }
  html[data-base] .gains__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  html[data-base] .gain--wide { grid-column: auto; }
  html[data-base] .gain { padding: 12px 14px; }
}

/* 5б. «2 статуса сезона»: компактная карточка, награды — короткими строками с точкой (без «таблеток»), два столбца ровной высоты */
html[data-base] #season-statuses-section .season-statuses { margin-top: 0; }
html[data-base] .season-statuses { padding: 12px; }
html[data-base] .season-statuses__title { margin-bottom: 8px; }
html[data-base] .season-statuses__grid { gap: 8px; }
html[data-base] .status-card { grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 6px 10px; padding: 10px 12px; border-radius: var(--b-radius); align-content: start; }
html[data-base] .status-card__icon { grid-row: 1; width: 38px; height: 38px; border-radius: 11px; }
html[data-base] .status-card__icon svg { width: 20px; height: 20px; }
html[data-base] .status-card__name { grid-column: 2; font-size: calc(var(--b-fs-ct) + 1px); }
html[data-base] .status-card__awards { grid-column: 1 / -1; display: grid; gap: 4px; margin: 2px 0 0; }
html[data-base] .status-card__awards li { position: relative; padding: 0 0 0 14px; border: 0; border-radius: 0; background: none; font-size: var(--b-fs-tx); font-weight: 500; line-height: 1.35; color: var(--text-2); }
html[data-base] .status-card__awards li::before { content: ""; position: absolute; left: 1px; top: .5em; width: 6px; height: 6px; border-radius: 50%; background: var(--lime); }
html[data-base] .status-card--star .status-card__awards li::before { background: var(--cyan); }
@media (min-width: 768px) {
  html[data-base] .season-statuses { padding: 16px; }
  html[data-base] .season-statuses__title { font-size: calc(var(--b-fs-ct) + 3px); margin-bottom: 10px; }
  html[data-base] .season-statuses__grid { gap: 12px; }
  html[data-base] .status-card { grid-template-columns: 44px minmax(0, 1fr); padding: 14px 16px; }
  html[data-base] .status-card__icon { width: 44px; height: 44px; }
  html[data-base] .status-card__name { font-size: calc(var(--b-fs-ct) + 3px); }
  html[data-base] .status-card__awards li { font-size: 14px; }
}

/* 6. Логотип титульного спонсора: без белого квадрата — круглая светлая подложка по форме круглого знака (чёрный знак без перекраски),
   знак вписан целиком (object-fit: contain, пропорции 1:1 не меняются), размер плавно растёт с шириной экрана: 390 → 768 → 1440 */
html[data-base] .sponsor__plate { width: clamp(104px, 18vw, 168px); max-width: none; aspect-ratio: 1 / 1; padding: clamp(6px, 1.1vw, 10px); border-radius: 50%; box-sizing: border-box; }
html[data-base] .sponsor__logo { width: 100%; max-width: none; height: 100%; object-fit: contain; }
@media (min-width: 768px) { html[data-base] .sponsor__plate { max-width: none; padding: clamp(6px, 1.1vw, 10px); border-radius: 50%; } html[data-base] .sponsor__logo { max-width: none; } }

/* ===== Дизайн №2д, правка 1 (Лига, 16.10.2026, по скринам Ольги). Тексты прежние. ===== */

/* 1. Левая колонка первого экрана на компьютере: таймер и мини-блок розыгрыша заполняют высоту вебинара справа;
   узкая плашка «2 розыгрыша призов» под первым экраном остаётся только на телефоне и планшете */
html[data-base] .hero-mag__leftlow { min-width: 0; }
html[data-base] .prizemini { display: none; }
@media (min-width: 900px) {
  html[data-base] .hero-mag__prizesrow { display: none; }
  html[data-base] .hero-mag__leftlow { grid-column: 1; grid-row: 2; align-self: stretch; display: flex; flex-direction: column; gap: 10px; }
  html[data-base] .hero-mag__leftlow .hero-mag__timercell { align-self: stretch; }
  html[data-base] .prizemini { display: grid; flex: 1 1 auto; min-height: 200px; max-height: 340px; grid-template-columns: clamp(150px, 36%, 210px) minmax(0, 1fr); gap: 16px; padding: 12px; border-radius: calc(var(--b-radius) + 4px); background: var(--hm-sheen), var(--hm-panel); border: 1px solid var(--cg-rim); box-shadow: var(--cg-blik); }
  html[data-base] .prizemini__img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 10px; border: 1px solid var(--cg-rim); background: #0B0F16; }
  html[data-base] .prizemini__body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
  html[data-base] .prizemini__title { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: calc(var(--b-fs-ct) + 3px); line-height: 1.15; color: #fff; }
  html[data-base] .prizemini__terms { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
  html[data-base] .prizemini__terms li { display: grid; grid-template-columns: 2.4em minmax(0, 1fr); gap: 6px; align-items: baseline; font-size: calc(var(--b-fs-ct) + 2px); line-height: 1.3; color: var(--text); }
  html[data-base] .prizemini__terms b { font-family: var(--font-display); font-weight: 900; color: var(--lime); }
  html[data-base] .prizemini__btn { margin-top: auto; align-self: flex-start; min-height: var(--b-btn-h); padding: 0 22px; font-size: var(--b-btn-fs); border-radius: 10px; }
}

/* на узком компьютере (900–999 px) левая колонка всего 376–440 px: мини-блок без картинки, только строки 3+/5+/10+ и кнопка */
@media (min-width: 900px) and (max-width: 999px) {
  html[data-base] .prizemini { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  html[data-base] .prizemini__img { display: none; }
}

/* 2. «Этапы сезона» сразу после призов: мелко, одна строка из 4 шагов с датами; большого «2026» на фоне нет */
html[data-base] #levels, html[data-base] #jury, html[data-base] #final { padding-block: 16px 12px; }
html[data-base] #levels .section__head::after, html[data-base] #jury .section__head::after { content: none; display: none; }
html[data-base] #levels .section__head { margin-bottom: 8px; }
html[data-base] #levels .stages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; align-items: start; }
html[data-base] #levels .stage { grid-template-columns: minmax(0, 1fr); gap: 5px; align-items: start; }
html[data-base] #levels .stage:not(:last-child)::after { display: none; }
html[data-base] #levels .stage__dot { width: 26px; height: 26px; border-radius: 8px; font-size: 12px; box-shadow: 0 0 0 3px rgba(5, 10, 31, .95); }
html[data-base] #levels .stage__dot svg { width: 15px; height: 15px; }
html[data-base] #levels .stage__date { margin: 0 0 1px; gap: 6px; font-size: 12.5px; }
html[data-base] #levels .stage__title { font-size: 11.5px; }
html[data-base] #levels .stage__steps { margin: 3px 0 0; gap: 1px 4px; font-size: 11px; }
html[data-base] #levels .stages-branch { margin-top: 8px; padding-top: 8px; gap: 4px 10px; font-size: 12.5px; }
html[data-base] #levels .stages-branch__icon { width: 20px; height: 20px; }
html[data-base] #levels .stages-branch__icon svg { width: 16px; height: 16px; }
@media (min-width: 768px) {
  html[data-base] #levels .section__head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 12px; }
  html[data-base] #levels .section__head .eyebrow { margin: 0; }
  html[data-base] #levels .section__head .h2 { font-size: calc(var(--b-fs-ct) + 4px); }
  html[data-base] #levels .section__head .h2 .acc { display: inline; }
  html[data-base] #levels .stages { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  html[data-base] #levels .stage:not(:last-child)::after { display: block; left: 34px; right: -14px; top: 12px; bottom: auto; width: auto; height: 1.5px; }
  html[data-base] #levels .stage__date { font-size: 13.5px; }
  html[data-base] #levels .stage__title { font-size: 12px; }
}

/* 5. «Как оценивают» и «Высокое жюри (финал)» на компьютере: заголовок и цифры в одной строке, без пустых полей справа и без «4.0» на фоне */
@media (min-width: 768px) {
  html[data-base] #jury .wrap { display: grid; grid-template-columns: minmax(200px, 27%) minmax(0, 1fr); column-gap: 24px; align-items: center; }
  html[data-base] #jury .section__head, html[data-base] #final .section__head { margin: 0; }
  html[data-base] #jury .section__head .h2, html[data-base] #final .section__head .h2 { font-size: calc(var(--b-fs-ct) + 6px); }
  html[data-base] #jury .section__head .h2 .acc, html[data-base] #final .section__head .h2 .acc { display: inline; }
  html[data-base] #jury .judge-facts, html[data-base] #final .judge-facts { margin: 0; padding: 0; border: 0; }
  html[data-base] #jury .judge-facts { grid-column: 2; }
  html[data-base] #jury .judge-facts li, html[data-base] #final .judge-facts li { padding-block: 0; padding-inline: 18px; }
  html[data-base] #jury .judge-facts li:first-child, html[data-base] #final .judge-facts li:first-child { padding-left: 0; }
  html[data-base] #jury .judge-facts b, html[data-base] #final .judge-facts b { font-size: var(--b-fs-ct); }
  html[data-base] #jury .judge-grid { grid-column: 1 / -1; margin-top: 12px; gap: 12px; }
  html[data-base] #jury .judge-card { padding: 12px 16px; }
  html[data-base] #jury .judge-next { grid-column: 1; margin: 10px 0 0; align-self: center; }
  html[data-base] #final .wrap { display: grid; grid-template-columns: minmax(180px, 24%) minmax(0, 1fr) auto; column-gap: 30px; align-items: center; }
  html[data-base] #final .judge-facts { min-width: 0; }
  html[data-base] #final .judge-facts li { padding-inline: 12px; }
  html[data-base] #final .judge-facts b { font-size: 13.5px; white-space: nowrap; }
  html[data-base] #final .judge-facts span { font-size: 12px; }
  html[data-base] #final .sec-cta { margin: 0; }
  html[data-base] #final .sec-cta .btn { min-height: 38px; padding: 0 16px; }
}

/* Фото жюри и Сцены, пока не загрузились: мягкая полоса «загрузка» вместо почти чёрного квадрата, который выглядел как сломанная картинка (Лига, №2д) */
html[data-base] .jtile__img, html[data-base] .mcard__open img { background: linear-gradient(110deg, #101a3c 8%, #1c2c63 18%, #101a3c 33%); background-size: 200% 100%; animation: ph-load 1.4s linear infinite; }
@keyframes ph-load { to { background-position-x: -200%; } }
@media (prefers-reduced-motion: reduce) { html[data-base] .jtile__img, html[data-base] .mcard__open img { animation: none; background: #16224d; } }

/* ===== Дизайн №3 (Лига, 18.10.2026): страницы «Все участники», «Все судьи», «Мастер», «Оферта» в стиле новой главной (вариант 2 «Компактный»).
   Только вид: тексты, ссылки и данные прежние. Всё под html[data-base] — главная этим блоком не меняется (там свои правила выше). ===== */

/* --- общее для внутренних страниц: ниже поля, заголовок и вводная компактнее, кнопка «Участвовать» в конце, нижняя панель из двух кнопок --- */
html[data-base] .plist { padding-block: 16px 32px; min-height: calc(100vh - 150px); }
@media (min-width: 768px) { html[data-base] .plist { padding-block: 28px 48px; } }
html[data-base] .plist > .lstage__kicker { margin-bottom: 6px; font-size: var(--b-fs-eyebrow); letter-spacing: .14em; }
html[data-base] .plist > .h2 { margin: 0; }
html[data-base] .plist .lstage__lead { margin-top: 6px; max-width: none; font-size: var(--b-fs-tx); line-height: 1.35; }
html[data-base] .plist > .sec-cta { margin-top: 22px; }
html[data-base] .plist__back { min-height: 34px; font-size: 11.5px; letter-spacing: .1em; }
html[data-base] .plist__back svg { width: 15px; height: 15px; }
html[data-base] .dock--two { grid-template-columns: 1.5fr 1fr; }
html[data-base] :is(.plist, .doc) ~ .footer .footer__row { min-height: 64px; padding-block: 8px; gap: 14px; }

/* --- «Все участники»: плотная сетка превью 240 px (3 колонки на телефоне, 4/6/9 шире), карточка одна нажимаемая, как на главной --- */
html[data-base] .plist__grid { margin-top: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px var(--b-th-gap); }
html[data-base] .plist__grid > li { position: relative; }
html[data-base] .plist__grid .mcard { height: auto; }
@media (min-width: 600px) { html[data-base] .plist__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px var(--b-th-gap); } }
@media (min-width: 768px) { html[data-base] .plist__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 1100px) { html[data-base] .plist__grid { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 18px var(--b-th-gap); } }
html[data-base] .plist__more { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 18px; }
html[data-base] .plist__morebtn { min-height: var(--b-btn-h); padding: 0 20px; border: 1.5px solid rgba(201, 213, 242, .4); border-radius: 10px; background: rgba(255, 255, 255, .04); font-family: var(--font-display); font-weight: 900; font-size: var(--b-btn-fs); letter-spacing: .05em; }
html[data-base] .plist__morebtn:hover { border-color: var(--text); }
html[data-base] .plist__status { font-size: var(--b-fs-tx); }
html[data-base] .plist__empty { margin-top: 18px; font-size: var(--b-fs-tx); }

/* --- «Все судьи»: две группы плиток (4 колонки на телефоне, 9 на компьютере — сетка .jgrid задана выше общим правилом), заголовки групп компактнее --- */
html[data-base] .jpage > .h2 + .jgroup { margin-top: 14px; }
html[data-base] .jpage .jroster__title { font-size: calc(var(--b-lstrip-title) + 2px); }
html[data-base] .jpage .jgroup .lstrip__head { margin-bottom: 0; }
html[data-base] .jpage .jgrid { margin-top: 10px; }
html[data-base] .jpage .jgroup + .jgroup { margin-top: 22px; }

/* --- «Мастер»: имя по словам (не рвётся посреди слова), колонка шире, фото меньше, под ним кнопка «Участвовать» --- */
html[data-base] .mstage { gap: 10px; }
html[data-base] .mstage__name { font-size: 24px; line-height: 1.08; overflow-wrap: break-word; hyphens: manual; }
html[data-base] .mstage__sub { margin-top: 6px; gap: 4px 16px; }
html[data-base] .mstage__city { font-size: var(--b-fs-ct); }
html[data-base] .mstage__profile { font-size: 11.5px; }
html[data-base] .mslider { --sw: 82%; --gap: 8px; }
html[data-base] .mslider__bar { margin-top: 4px; }
html[data-base] .msocial { margin-top: 16px; padding-top: 12px; }
html[data-base] .msocial__title { font-size: 10.5px; margin-bottom: 8px; }
html[data-base] .msocial__link { font-size: var(--b-fs-ct); }
@media (min-width: 900px) {
  html[data-base] .mstage { grid-template-columns: 30% 1fr; column-gap: 0; }
  html[data-base] .mstage__info { padding: 2px 16px 0 0; }
  html[data-base] .mstage__name { font-size: clamp(24px, 2.1vw, 30px); }
  html[data-base] .mstage__sub { margin-top: 12px; gap: 14px; }
  html[data-base] .mslider { --sw: 460px; --gap: 10px; width: min(100%, 560px); }
  html[data-base] .msocial { margin-left: 30%; }
  html[data-base] .master > .sec-cta { margin-left: 30%; }
}

/* --- «Оферта»: тот же фон, шапка и подвал, что у остальных страниц; текст документа не менялся — только размеры и отступы (длинный текст без стекла) --- */
html[data-base] .doc { max-width: 52rem; margin: 0 auto; padding: 18px var(--b-px) 36px; color: var(--text-2); font-size: var(--b-fs-body); line-height: 1.55; }
html[data-base] .doc h1 { margin: 0 0 6px; font: 800 var(--b-fs-h2)/1.1 var(--font-display); letter-spacing: -.005em; color: #fff; }
html[data-base] .doc h2 { margin: 22px 0 8px; padding-top: 12px; border-top: 1px solid var(--line); font: 800 calc(var(--b-fs-ct) + 2px)/1.25 var(--font-display); color: #fff; }
html[data-base] .doc p { margin: .5em 0; }
html[data-base] .doc .sub { margin-top: 0; color: var(--text-3); font-size: var(--b-fs-tx); }
html[data-base] .doc .lead { color: var(--text-2); }
html[data-base] .doc a { color: var(--cyan); overflow-wrap: anywhere; }
html[data-base] .doc p[id]:target, html[data-base] .doc h2:target { background: rgba(63, 224, 255, .12); border-radius: 8px; outline: 2px solid rgba(63, 224, 255, .35); }
@media (min-width: 768px) {
  html[data-base] .doc { padding-top: 28px; padding-bottom: 56px; }
  html[data-base] .doc h1 { font-size: 30px; }
  html[data-base] .doc h2 { margin-top: 28px; font-size: 19px; }
}
@media print {
  html[data-base] body.page-doc { background: #fff; color: #000; padding-bottom: 0; }
  html[data-base] body.page-doc .space, html[data-base] body.page-doc .topbar, html[data-base] body.page-doc .dock, html[data-base] body.page-doc .footer { display: none; }
  html[data-base] .doc, html[data-base] .doc h1, html[data-base] .doc h2, html[data-base] .doc p, html[data-base] .doc a { color: #000; }
  html[data-base] .doc h2 { border-color: #999; }
}

/* ===== Задание №11 (Лига, 18.10.2026): срок оплаты ICON и тарифов — строка «Срок оплаты» в разделе «Стоимость» ===== */
.price-deadline { position: relative; z-index: 1; margin: 16px 0 0; font-size: 14px; line-height: 1.45; color: var(--text); }
.price-deadline b { font-weight: 700; }
.price-deadline b.acc { color: var(--lime); }
html[data-base] .price-deadline { margin-top: 12px; font-size: var(--b-fs-ct); }
