/* ============================================================
   BEAUTY GAMES — тема «Гра в кальмара»
   ------------------------------------------------------------
   Шар поверх styles.css. Знімається одним рядком у <head>.
   Замінив собою pixel.css: піксельна графіка й прямі кути пішли,
   бо референс зовсім інший — чорне тло, гарячий рожевий, золото
   на кнопках і великі заокруглення. Замість сторонніх знаків
   ○ △ □ скрізь працює емблема Beauty Games.

   Три речі, які тримають стиль:
   1. Золото — тільки на головній дії. Якщо золотим стане все,
      воно перестане означати «натисни сюди».
   2. Емблема проєкту замість крапок у списках і на екрані входу.
   3. М'які рожеві ореоли навколо карток замість неонових рамок.
   ============================================================ */

:root{
  --ink:#08060C;
  --ink-2:#120B16;          /* тло карток */
  --ink-3:#1B1020;          /* тло вкладених блоків */

  --pink:#FF2E88;
  --pink-hot:#FF57A0;
  --pink-deep:#E6007E;
  --pink-soft:#FF8FC0;

  --gold-1:#F9E7BC;
  --gold-2:#E9C67E;
  --gold-3:#CFA453;
  --gold-ink:#2A1B06;

  --r-lg:26px;
  --r-md:18px;
  --r-sm:12px;
  --r-pill:999px;
  --r-btn:10px;

  --accent:#FF2E88;
  --accent-lt:#FF8FC0;
  --accent-rgb:255,46,136;

  --check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.6 8.4 3.6 3.6 7.2-7.6'/%3E%3C/svg%3E");
  /* Маркер списків — емблема Beauty Games. */
  --bg-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='282.88 122.06 153.76 160.69'%3E%3Cpath transform='matrix(1,0,0,-1,355.3672,197.2986)' d='M0 0 10.562-10.562H23.928L9.563-28.966-7.014-24.057V11.189L11.614 17.33 54.82-5.281 32.64-16.889 40.439 0ZM-58.827-64.757V-48.983L-24.783-31.885-24.816-14.468-34.497-6.841-24.811-3.054V18.703L-58.827 37.917V54.195L-1.423 24.153-17.576 18.828V-31.944L-3.879-36ZM-35.368-19.6-35.357-25.187-58.827-37.312V25.969L-35.373 12.342V4.157L-53.21-3.721ZM-70.302 73.151V-83.714L79.568-5.281Z' fill='%23000'/%3E%3C/svg%3E");
}

/* Сторінка партнерів — дзеркало головної: акценти золоті, а головна
   кнопка рожева. Інакше золото на золоті зливається в одну пляму. */
[data-page="partners"]{
  --accent:#E9C67E;
  --accent-lt:#F9E7BC;
  --accent-rgb:233,198,126;
  --pink:#E9C67E;
  --pink-soft:#F9E7BC;
}
[data-page="partners"] .btn-primary{
  background:linear-gradient(180deg,#FF57A0,#FF2E88 55%,#C2005F);
  color:#fff;
  box-shadow:0 10px 26px rgba(255,46,136,.3), inset 0 1px 0 rgba(255,255,255,.3);
}
[data-page="partners"] .btn-primary:hover{
  box-shadow:0 16px 34px rgba(255,46,136,.44), inset 0 1px 0 rgba(255,255,255,.35);
}
[data-page="partners"] .glow{color:#E9C67E;text-shadow:0 0 26px rgba(233,198,126,.5)}

html,body{background:var(--ink)}
.bg-grid{display:none}

/* Багато елементів мають display у класі, і він перебивав атрибут
   hidden — приховані кнопки й панелі лишалися на екрані. */
[hidden]{display:none!important}

/* Розсіяне рожеве світло замість сітки: у референсі тло не порожнє,
   але й не відволікає — просто кілька м'яких плям. */
.bg-mesh{
  background:
    radial-gradient(720px 520px at 12% 4%,  rgba(255,46,136,.20), transparent 60%),
    radial-gradient(620px 480px at 88% 22%, rgba(255,46,136,.13), transparent 62%),
    radial-gradient(760px 560px at 50% 96%, rgba(233,198,126,.07), transparent 64%);
}

/* ============================================================
   КУРСОРИ — лишаються білі з чорною обводкою
   ============================================================ */
html,body{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 16 16' shape-rendering='crispEdges'%3E%3Cpath fill='%23000000' d='M1 1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1H8v1h1v1h1v1h1v1h-1v1h-1v-1h-1v-1h-1v-1h-1v-1H5v1H4v1H3v1H2v-1H1z'/%3E%3Cpath fill='%23ffffff' d='M2 2h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1H7v1h1v1h1v1h1v1h-1v-1h-1v-1h-1v-1h-1v-1H4v1H3v1H2z'/%3E%3C/svg%3E") 2 2, auto;
}
a,button,.btn,.tile,.acc-btn,label,select,input[type=checkbox],.px-btn,
.table-tabs button,.sfx-btn,.nav-burger,.js-pick,.pnode,.pcard{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 16 16' shape-rendering='crispEdges'%3E%3Cpath fill='%23000000' d='M5 1h3v1h1v4h1V5h2v1h1v1h1v6h-1v2h-1v1H6v-1H5v-1H4v-2H3V9h2v1h1V2h-1z'/%3E%3Cpath fill='%23ffffff' d='M6 2h1v8h1V6h1v4h1V7h1v3h1V8h1v5h-1v2H7v-1H6v-1H5v-2H4v-1h1v1h1z'/%3E%3C/svg%3E") 6 1, pointer !important;
}

/* ============================================================
   КНОПКИ
   Золото — тільки головна дія. Друга кнопка — рожевий контур.
   ============================================================ */
/* Підпис кнопки — Arial, як у прикладі від клієнта: вона вже робила
   такі кнопки і впізнає саме цей набір. Літери розріджені, бо на
   зразку між ними помітні проміжки. */
.btn{
  border-radius:var(--r-btn);
  font-family:Arial,Helvetica,"Helvetica Neue",sans-serif;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;font-size:12.5px;
  padding:17px 32px;border:0;
  transition:transform .16s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-sm{font-size:11px;padding:13px 24px;letter-spacing:.14em}

.btn-primary{
  background:linear-gradient(180deg,var(--gold-1) 0%,var(--gold-2) 52%,var(--gold-3) 100%);
  color:var(--gold-ink);
  box-shadow:0 10px 26px rgba(233,198,126,.26), inset 0 1px 0 rgba(255,255,255,.75);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(233,198,126,.38), inset 0 1px 0 rgba(255,255,255,.85);
  filter:brightness(1.04);
}
.btn-primary:active{transform:translateY(0)}

.btn-ghost{
  background:transparent;color:var(--pink-soft);
  box-shadow:inset 0 0 0 2px rgba(255,46,136,.55);
}
.btn-ghost:hover{
  color:#fff;background:rgba(255,46,136,.14);
  box-shadow:inset 0 0 0 2px var(--pink), 0 10px 26px rgba(255,46,136,.22);
}

/* ============================================================
   ЗАГОЛОВКИ СЕКЦІЙ
   Надпис над заголовком — рожева пігулка з контуром, як у референсі.
   ============================================================ */
/* .sec-head — flex-колонка, і inline-block розтягувався на всю її
   ширину: плашка «Крок 3» виходила на пів екрана, а «Крок 2» поруч
   була нормальна, бо в неї свій клас. Фіксуємо по вмісту. */
.eyebrow{
  display:inline-flex;align-self:flex-start;width:auto;max-width:100%;
  padding:9px 20px;border-radius:var(--r-pill);
  background:rgba(255,46,136,.08);
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.5);
  color:var(--pink-soft);
  font-family:"Montserrat",sans-serif;font-weight:700;
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
}
.sec-rule{display:none}
.sec-head{gap:14px}
.h-lg,.h-xl,.h-md{letter-spacing:-.02em}
.glow{
  color:var(--pink);
  text-shadow:0 0 26px rgba(255,46,136,.55);
  -webkit-text-fill-color:currentColor;background:none;
}

/* ============================================================
   КАРТКИ
   Великий радіус і м'який ореол замість рамок-неонок.
   ============================================================ */
.glass,.glass-soft,.tcard,.tile,.stat,.award,.acc-item,.pack,.info,.person{
  border-radius:var(--r-lg);
}
.glass,.info,.pack,.award,.tcard,.tile{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 46px rgba(0,0,0,.55);
}
.glass-soft{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:none;
}
.bloom{
  border-color:rgba(255,46,136,.42);
  box-shadow:0 0 0 1px rgba(255,46,136,.22), 0 24px 60px rgba(255,46,136,.2);
}
.tile:hover,.tcard:hover{
  border-color:rgba(255,46,136,.45);
  box-shadow:0 26px 60px rgba(255,46,136,.18);
}

.pill{
  border-radius:var(--r-pill);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
}
.pill-accent{
  background:rgba(255,46,136,.14);
  border-color:rgba(255,46,136,.5);color:#fff;
}
.label{border-radius:var(--r-pill)}
.label-accent{background:rgba(255,46,136,.16);color:var(--pink-soft)}

/* ============================================================
   ІКОНКИ
   ============================================================ */
.icon{
  color:var(--pink-soft);filter:none;
  transition:transform .18s ease, color .18s ease;
}
.tile:hover .icon,.tcard:hover .icon{transform:translateY(-2px);color:#fff}
.icon-chip{
  border-radius:var(--r-md);
  background:rgba(255,46,136,.12);
  border:1px solid rgba(255,46,136,.4);
  box-shadow:0 0 0 1px rgba(255,46,136,.1), 0 10px 24px rgba(255,46,136,.14);
}

/* ============================================================
   МАРКЕРИ СПИСКІВ — емблема Beauty Games
   Замість крапок і сторонніх фігур скрізь стоїть наш знак.
   ============================================================ */
.pack ul li::before,.tcard ul li::before,.pstep-list li::before,
.acc-panel-in li::before,.bio-list li::before,.pcard-facts i::before{
  content:"";position:absolute;left:0;top:.34em;
  width:13px;height:13px;border-radius:0;transform:none;
  background:var(--pink);box-shadow:none;
  -webkit-mask:var(--bg-mark) center/contain no-repeat;
          mask:var(--bg-mark) center/contain no-repeat;
}
.acc-panel-in li{padding-left:24px}
.pcard-facts i::before{width:11px;height:11px;top:.32em}

/* ============================================================
   ШАПКА Й НАВІГАЦІЯ
   ============================================================ */
.nav-in{border-radius:var(--r-pill)}
.nav-links a{border-radius:var(--r-pill)}
.sfx-btn,.mobile-bar .tg{border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.16);box-shadow:none}

/* Кнопці «Меню» була задана ширина 42px, і підпис із неї вилазив.
   Задаємо розкладку явно, щоб нічого не лишилося від старих правил. */
.nav-burger{
  width:auto!important;height:auto!important;
  display:none;align-items:center;gap:8px;padding:9px 16px;
  flex:none;white-space:nowrap;border-radius:var(--r-pill);
  background:rgba(255,46,136,.12);border:1px solid rgba(255,46,136,.45);
}
@media (max-width:1080px){.nav-burger{display:inline-flex!important}}
/* У темній темі є правило .nav-burger span, яке робить смужкою
   16x1.6 будь-який span усередині кнопки — зокрема й підпис. */
.nav-burger .burger-txt{
  flex:none;white-space:nowrap;width:auto;height:auto;
  margin:0;background:none;border-radius:0;
  font-family:"Montserrat",sans-serif;font-weight:800;font-size:11.5px;
  letter-spacing:.12em;text-transform:uppercase;color:#fff;
}
.nav-burger .burger-lines{flex:none;width:16px;height:auto;background:none;margin:0}

/* ============================================================
   ВХІДНИЙ ЕКРАН
   ============================================================ */
.px-win{
  background:linear-gradient(180deg,#160D1B,#0B070E);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 40px 90px rgba(0,0,0,.75), 0 0 90px rgba(255,46,136,.14);
}
.px-win-bar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:rgba(255,46,136,.12);
  border-bottom:1px solid rgba(255,46,136,.28);padding:12px 18px;
}
.px-win-title{
  font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--pink-soft);
  letter-spacing:.18em;text-transform:uppercase;line-height:1;
}
.px-win-btns{display:flex;gap:6px}
.px-win-btns i{
  width:9px;height:9px;display:block;border-radius:50%;
  background:rgba(255,46,136,.5);
}
.px-win-body{padding:36px 28px 32px}

.px-btn{
  position:relative;
  font-family:"Montserrat",sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-ink);border:0;border-radius:var(--r-btn);
  background:linear-gradient(180deg,var(--gold-1) 0%,var(--gold-2) 52%,var(--gold-3) 100%);
  padding:16px 38px;
  box-shadow:0 12px 30px rgba(233,198,126,.3), inset 0 1px 0 rgba(255,255,255,.8);
  transition:transform .16s ease, box-shadow .2s ease, filter .2s ease;
}
.px-btn:hover{transform:translateY(-2px);filter:brightness(1.04);
  box-shadow:0 18px 40px rgba(233,198,126,.42), inset 0 1px 0 rgba(255,255,255,.9)}
.px-btn:active{transform:translateY(0)}
.px-btn-lg{font-size:12.5px;padding:19px 48px}

/* Заставка: логотип, смуга, рядок напрямків. Зникає сама. */
.preloader{
  position:fixed;inset:0;z-index:200;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0;padding:24px;
  transition:opacity .4s ease, visibility .4s ease;
}
.preloader.gone{opacity:0;visibility:hidden;pointer-events:none}
.pl-logo{
  width:min(240px,64%);height:auto;margin-bottom:30px;display:block;
  filter:drop-shadow(0 0 30px rgba(255,46,136,.35));
}
.pl-bar{
  width:min(280px,70vw);height:6px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.1);overflow:hidden;
}
.pl-bar-fill{
  display:block;height:100%;width:0;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--pink-deep),var(--pink-hot));
  box-shadow:0 0 18px rgba(255,46,136,.7);
  transition:width .18s ease;
}
.pl-pct{
  font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--pink-soft);
  margin-top:14px;letter-spacing:.08em;
}
.pl-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:26px}
.pl-meta span{
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--faint);
}
.pl-meta span + span::before{content:"· ";color:rgba(255,46,136,.6)}
@media (prefers-reduced-motion:reduce){.pl-bar-fill{transition:none}}

/* ============================================================
   ВИБІР ПЕРСОНАЖА
   ============================================================ */
.picker{
  width:100%;margin-top:6px;padding:26px;
  border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,46,136,.1),rgba(255,255,255,.03));
  border:1px solid rgba(255,46,136,.35);
  box-shadow:0 24px 60px rgba(255,46,136,.16);
}
.picker-head{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.picker-kicker{
  align-self:flex-start;padding:8px 18px;border-radius:var(--r-pill);
  background:rgba(255,46,136,.14);
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.55);
  font-family:"Montserrat",sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pink-soft);
}
.picker-title{
  font-family:"Montserrat",sans-serif;font-weight:900;font-size:clamp(20px,2.6vw,28px);
  text-transform:uppercase;color:var(--white);letter-spacing:-.02em;
}
.picker-sub{margin:0;font-size:14px;color:var(--muted);max-width:58ch}

.picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.chr{
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  padding:16px 10px;border-radius:var(--r-md);
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
  font-family:"Montserrat",sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--text);
  transition:transform .16s ease, box-shadow .2s ease, background .2s ease, border-color .2s;
}
.chr .icon{width:36px;height:36px;color:var(--pink-soft)}
.chr:hover{
  background:rgba(255,46,136,.12);border-color:rgba(255,46,136,.5);
  transform:translateY(-3px);box-shadow:0 16px 34px rgba(255,46,136,.2);
}
.chr.on{
  background:linear-gradient(180deg,rgba(255,46,136,.32),rgba(255,46,136,.16));
  border-color:var(--pink);color:#fff;
  box-shadow:0 0 0 1px rgba(255,46,136,.5), 0 18px 40px rgba(255,46,136,.3);
}
.chr.on .icon{color:#fff}

.picker-done{
  display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:18px;
  padding:14px 18px;border-radius:var(--r-md);
  background:rgba(255,46,136,.14);
  border:1px solid rgba(255,46,136,.45);
  font-size:14.5px;color:var(--text);
}
.picker-done b{color:#fff}
.picker-check{
  width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--pink);border:0;color:#fff;font-size:13px;font-weight:800;
}
.picker-done .btn{margin-left:auto}

/* ---------- звук: помітно на мобільному ---------- */
.sfx-row{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1)}
.sfx-row-label{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ============================================================
   ТЕСТ
   ============================================================ */
.quiz{padding:clamp(22px,3vw,32px);border-radius:var(--r-lg)}
.quiz-head{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.quiz-kicker{
  align-self:flex-start;padding:8px 18px;border-radius:var(--r-pill);
  background:rgba(255,46,136,.14);
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.55);
  font-family:"Montserrat",sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pink-soft);
}
.quiz-title{
  margin:0;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(19px,2.4vw,26px);line-height:1.2;color:var(--white);
  text-wrap:balance;max-width:26ch;letter-spacing:-.02em;
}
.quiz-sub{margin:0;font-size:14px;color:var(--muted)}
.quiz-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:9px}

.chk{
  display:flex;align-items:flex-start;gap:13px;padding:14px 16px;
  border-radius:var(--r-md);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  font-size:14px;color:var(--text);line-height:1.45;
  transition:background .18s, border-color .18s;
}
.chk:hover{background:rgba(255,46,136,.1);border-color:rgba(255,46,136,.4)}
.chk input{position:absolute;opacity:0;width:0;height:0}
.chk-box{
  flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.3);
  transition:background .16s, border-color .16s;
}
.chk-box svg{width:14px;height:14px;color:#fff;opacity:0;transform:scale(.6);
  transition:opacity .14s ease, transform .14s ease}
.chk input:focus-visible + .chk-box{outline:3px solid var(--pink);outline-offset:2px}
.chk input:checked + .chk-box{background:var(--pink);border-color:var(--pink)}
.chk input:checked + .chk-box svg{opacity:1;transform:scale(1)}
.chk:has(input:checked){background:rgba(255,46,136,.14);border-color:rgba(255,46,136,.5)}
.chk:has(input:checked) .chk-tx{color:#fff}

.quiz-result{
  display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-top:20px;
  padding:20px 22px;border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(255,46,136,.16),rgba(255,46,136,.06));
  border:1px solid rgba(255,46,136,.4);
  opacity:.6;transition:opacity .22s ease, border-color .22s ease;
}
.quiz-result.on{opacity:1;border-color:rgba(255,46,136,.75)}
.quiz-score{
  flex:none;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:44px;color:#fff;line-height:1;
  display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums;
}
.quiz-score s{font-size:14px;color:var(--muted);text-decoration:none;font-weight:600}
.quiz-out{flex:1;min-width:220px;display:flex;flex-direction:column;gap:7px}
.quiz-verdict{
  font-family:"Montserrat",sans-serif;font-weight:900;font-size:16px;
  letter-spacing:.01em;text-transform:uppercase;color:#fff;
}
.quiz-picked{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.quiz-picked b{color:#fff;font-weight:700}
.quiz-text{margin:0;font-size:14.5px;line-height:1.55;color:var(--text)}
.quiz-mods{
  margin:2px 0 0;font-family:"JetBrains Mono",monospace;font-size:11.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
}
.quiz-mods b{color:var(--pink-soft);font-weight:700}
.quiz-cta{margin-top:16px}

/* ============================================================
   ФОРМАТ — яскраві плашки
   ============================================================ */
.plates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.plate{
  position:relative;display:flex;flex-direction:column;gap:7px;
  padding:50px 22px 22px;border-radius:var(--r-lg);
  min-height:168px;justify-content:flex-end;overflow:hidden;border:0;
  box-shadow:0 20px 50px rgba(0,0,0,.5);
}
/* Номер стоїть угорі ліворуч, а не поруч із назвою: довгі назви
   на нього налазили. */
.plate-n{
  position:absolute;top:20px;left:22px;
  font-family:"JetBrains Mono",monospace;font-size:12.5px;font-weight:700;
  letter-spacing:.14em;line-height:1;opacity:.62;
}
.plate-n::before{content:"( "}
.plate-n::after{content:" )"}
.plate-w{
  font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(20px,2.6vw,28px);line-height:1.05;
  text-transform:uppercase;letter-spacing:-.02em;
}
.plate-s{font-size:13px;line-height:1.45;opacity:.88;max-width:30ch}

.plate-1{background:linear-gradient(150deg,#FF2E88,#C2005F);color:#fff;
  box-shadow:0 24px 60px rgba(255,46,136,.34)}
.plate-2{background:linear-gradient(150deg,#2A1230,#170C1D);color:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,46,136,.3)}
.plate-3{background:linear-gradient(150deg,var(--gold-1),var(--gold-3));color:var(--gold-ink);
  box-shadow:0 24px 60px rgba(233,198,126,.28)}
.plate-fin{
  grid-column:1/-1;min-height:0;color:#fff;
  background:linear-gradient(150deg,#1A0F20,#0C0710);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
  flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 20px;
  justify-content:flex-start;padding:20px 24px;
}
.plate-fin .plate-w{font-size:clamp(18px,2.2vw,23px)}
.plate-fin .plate-s{opacity:.66}
.plate-fin{padding-top:20px}
.plate-eq{
  margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:24px;
  color:var(--pink);font-weight:700;
}

/* ============================================================
   СЕЗОН У ЦИФРАХ
   ============================================================ */
.stats .stat{
  position:relative;display:flex;flex-direction:column;gap:3px;
  padding:26px 22px 22px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 46px rgba(0,0,0,.5);
  text-align:left;
}
.stats .stat::before{display:none}
.stats .stat .v{
  font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(42px,6vw,62px);line-height:.94;letter-spacing:-.04em;
  color:var(--pink);font-variant-numeric:tabular-nums;
  text-shadow:0 0 32px rgba(255,46,136,.4);
}
.stats .stat .u{
  font-family:"Montserrat",sans-serif;font-weight:800;font-size:13.5px;
  text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-top:6px;
}
.stats .stat .k{
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);line-height:1.5;
}
.stats .st-hi{
  background:linear-gradient(150deg,#FF2E88,#B80059);
  border-color:transparent;box-shadow:0 24px 60px rgba(255,46,136,.34);
}
.stats .st-hi .v{color:#fff;text-shadow:0 0 30px rgba(255,255,255,.35)}
.stats .st-hi .k{color:rgba(255,255,255,.8)}

/* ============================================================
   ШЛЯХ ПО ЕТАПАХ
   ============================================================ */
.path{
  padding:clamp(20px,2.8vw,30px);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,46,136,.3);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.path-map{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pnode{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;
  background:none;border:0;padding:0;text-align:center;
}
.pnode-n{
  width:46px;height:46px;display:grid;place-items:center;border-radius:50%;
  font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:700;
  color:var(--muted);background:rgba(255,255,255,.05);
  border:1.5px solid rgba(255,255,255,.16);
  transition:background .2s, color .2s, border-color .2s, transform .18s, box-shadow .2s;
}
.pnode-t{
  font-family:"Montserrat",sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  line-height:1.3;transition:color .2s;
}
.pnode:hover .pnode-n{border-color:rgba(255,46,136,.7);color:#fff}
.pnode.done .pnode-n{
  background:rgba(255,46,136,.24);border-color:rgba(255,46,136,.6);color:#fff;
}
.pnode.on .pnode-n{
  background:linear-gradient(180deg,var(--pink),#C2005F);
  border-color:var(--pink);color:#fff;transform:scale(1.1);
  box-shadow:0 0 0 4px rgba(255,46,136,.18), 0 12px 30px rgba(255,46,136,.4);
}
.pnode.on .pnode-t{color:#fff}

.path-track{position:relative;height:54px;margin:20px 6% 4px}
.path-line{
  position:absolute;left:0;right:0;bottom:0;height:10px;display:block;
  border-radius:var(--r-pill);background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.path-line i{
  display:block;height:100%;width:0;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--pink-deep),var(--pink-hot));
  box-shadow:0 0 22px rgba(255,46,136,.65);
  transition:width .3s ease;
}
/* Знаки гри під етапами — бігунка збирає їх дорогою. */
.path-heart{
  position:absolute;left:0;top:0;width:19px;height:19px;
  transform:translateX(-50%);
  color:rgba(255,255,255,.2);
  transition:color .22s ease, transform .22s ease, filter .22s ease;
}
.path-heart svg{width:100%;height:100%;display:block}
.path-heart.got{
  color:var(--pink);
  transform:translateX(-50%) translateY(-4px);
  filter:drop-shadow(0 0 10px rgba(255,46,136,.9));
}
/* Мітка «ви тут». Піксельна фігурка на телефоні читалася як пляма,
   тому тепер це кружечок із номером етапу — зрозуміло за будь-якого
   розміру. */
.path-runner{
  position:absolute;left:0;bottom:14px;z-index:2;
  width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#FF57A0,#C2005F);
  border:2px solid #fff;
  box-shadow:0 0 0 4px rgba(255,46,136,.2), 0 10px 24px rgba(255,46,136,.55);
  transition:left .3s ease;
  pointer-events:none;
  animation:meBob 1.8s ease-in-out infinite;
}
.path-runner b{
  font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;
  color:#fff;line-height:1;letter-spacing:.02em;
}
.path-runner::after{
  content:"";position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);
  border-left:6px solid transparent;border-right:6px solid transparent;
  border-top:8px solid #fff;
}
@keyframes meBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.path-runner{animation:none}}

.path-stage{margin-top:20px;min-height:230px}
.pstep{display:none}
.pstep.on{display:block;animation:pstepIn .26s ease both}
@keyframes pstepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pstep-dur{
  display:inline-block;padding:6px 16px;border-radius:var(--r-pill);
  font-family:"Montserrat",sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pink-soft);
  background:rgba(255,46,136,.14);
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.5);
}
.pstep-t{
  margin:12px 0 0;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(21px,3vw,30px);text-transform:uppercase;color:var(--white);
  letter-spacing:-.02em;
}
.pstep-body{
  display:grid;grid-template-columns:1.3fr .85fr;gap:22px;
  margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);
}
.pstep-k{
  display:block;font-family:"JetBrains Mono",monospace;font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;
}
.pstep-list{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.pstep-list li{
  position:relative;padding-left:26px;font-size:14.5px;line-height:1.5;color:var(--text);
}
.pstep-res{
  align-self:start;padding:18px;border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(255,46,136,.16),rgba(255,46,136,.05));
  border:1px solid rgba(255,46,136,.45);
}
.pstep-res p{margin:0;font-size:14.5px;line-height:1.5;color:#fff}
.pstep-res-k{
  display:block;font-family:"JetBrains Mono",monospace;font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--pink-soft);margin-bottom:8px;
}
.path-nav{
  display:flex;align-items:center;gap:14px;margin-top:20px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
}
.path-pos{
  font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin:0 auto;
}
.path-pos b{color:#fff;font-size:15px}
.path-nav .btn[disabled]{opacity:.3;pointer-events:none}

/* ============================================================
   МОДУЛІ ПРОГРАМИ
   ============================================================ */
.acc-bar{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  margin-bottom:16px;padding:14px 20px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,46,136,.3);
}
.acc-progress{
  font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);
}
.acc-progress b{color:#fff;font-size:14px}
.acc-track{
  flex:1;min-width:120px;height:8px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.1);display:block;overflow:hidden;border:0;padding:0;
}
.acc-track i{
  display:block;height:100%;width:0;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--pink-deep),var(--pink-hot));
  transition:width .3s ease;
}
.acc-bar .btn{flex:none}
.acc-item{transition:border-color .2s ease, background .2s ease}
.acc-btn:hover .tx{color:#fff}
.acc-item.open{border-color:rgba(255,46,136,.45);background:rgba(255,46,136,.05)}
.acc-btn .mi{
  border-radius:var(--r-pill);background:rgba(255,46,136,.16);
  color:var(--pink-soft);border:1px solid rgba(255,46,136,.4);
}

/* ============================================================
   АВТОРКА Й ВІДЕО
   ============================================================ */
.author{
  margin-top:24px;padding:28px;border-radius:var(--r-lg);
  display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:28px;align-items:center;
}
.vid-frame{
  position:relative;aspect-ratio:16/10;width:100%;border-radius:var(--r-md);
  background:#0E0810;border:1px solid rgba(255,46,136,.4);
  box-shadow:0 20px 50px rgba(255,46,136,.18);
  display:grid;place-items:center;overflow:hidden;
}
.vid-frame video{width:100%;height:100%;object-fit:cover;display:block}
.vid-poster{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 16%;filter:grayscale(.4) brightness(.5);
}
.vid-frame .vid-ph{position:relative;z-index:1}
.vid-ph{display:grid;place-items:center;gap:10px;text-align:center;padding:18px}
.vid-play{
  width:56px;height:56px;display:block;border-radius:50%;
  background:linear-gradient(180deg,var(--gold-1),var(--gold-3));
  box-shadow:0 10px 30px rgba(233,198,126,.4);
  clip-path:none;transform:none;position:relative;
}
.vid-play::after{
  content:"";position:absolute;left:53%;top:50%;transform:translate(-50%,-50%);
  border-left:16px solid var(--gold-ink);
  border-top:10px solid transparent;border-bottom:10px solid transparent;
}
.vid-note{
  font-family:"Montserrat",sans-serif;font-size:13px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:#fff;
}
.vid-sub{
  font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);
}

.prog-mark{
  display:inline-flex;align-items:center;gap:14px;
  padding:11px 20px 11px 16px;margin-bottom:16px;border-radius:var(--r-pill);
  background:rgba(255,46,136,.1);
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.45);
}
.prog-emblem{width:30px;height:30px;flex:none;color:var(--pink-soft)}
.prog-mark-tx{display:flex;flex-direction:column;line-height:1.15}
.prog-mark-tx b{
  font-family:"Montserrat",sans-serif;font-weight:900;font-size:13.5px;
  letter-spacing:.1em;text-transform:uppercase;color:#fff;
}
.prog-mark-tx span{
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pink-soft);
}

/* ============================================================
   YOUTUBE
   ============================================================ */
.yt{
  display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;
  padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);
  border:1px solid rgba(255,46,136,.32);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.yt-ic{
  width:76px;height:76px;flex:none;display:grid;place-items:center;border-radius:var(--r-md);
  background:rgba(255,46,136,.12);border:1px solid rgba(255,46,136,.4);
  box-shadow:0 12px 30px rgba(255,46,136,.16);
}
.yt-ic .icon{width:40px;height:40px;color:var(--pink-soft)}
.yt-tx .h-md{margin:10px 0 10px}
.yt-tx p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6;max-width:70ch}

/* ============================================================
   ЕКСПЕРТИ, СПІКЕРИ, ПАРТНЕРИ
   ============================================================ */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.pcard{
  display:flex;flex-direction:column;text-align:left;padding:0;
  border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 46px rgba(0,0,0,.5);
  transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease;
}
.pcard:hover{
  transform:translateY(-4px);border-color:rgba(255,46,136,.5);
  box-shadow:0 30px 70px rgba(255,46,136,.24);
}
.pcard:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.pcard-ph{display:block;aspect-ratio:4/5;overflow:hidden;background:#0E0810}
.pcard-ph img{
  width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;
  filter:grayscale(1) contrast(1.05);
  transition:filter .3s ease, transform .45s ease;
}
.pcard:hover .pcard-ph img{filter:none;transform:scale(1.04)}
.pcard-ph img.is-logo{object-fit:cover;object-position:center;filter:none}
.pcard:hover .pcard-ph img.is-logo{transform:none}
.pcard-body{display:flex;flex-direction:column;gap:7px;padding:18px 18px 20px;flex:1}
.pcard-tag{
  align-self:flex-start;padding:5px 14px;border-radius:var(--r-pill);
  font-family:"Montserrat",sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pink-soft);
  background:rgba(255,46,136,.14);
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.45);
}
.pcard-nm{
  font-family:"Montserrat",sans-serif;font-weight:900;font-size:17.5px;
  line-height:1.15;color:var(--white);letter-spacing:-.02em;
}
.pcard-rl{font-size:13.5px;line-height:1.4;color:var(--muted)}
.pcard-facts{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.pcard-facts i{
  position:relative;padding-left:20px;font-style:normal;
  font-size:12.5px;line-height:1.4;color:var(--text);
}
.pcard-more{
  margin-top:auto;padding-top:14px;
  font-family:"Montserrat",sans-serif;font-size:11px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pink);
}
.pcard-more::after{content:" →"}
.pgrid-logos{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.pgrid-logos .pcard-ph{aspect-ratio:16/10}

/* ---------- вікно з профілем ----------
   Біла картка з чорним текстом: на темному тлі сторінки вона читається
   як дорогий друкований профіль, а не як ще один блок сайту.
   Фото стоїть квадратом і кадрується, а не стискається — раніше
   портрет розтягувало по висоті вікна. */
.bio{position:fixed;inset:0;z-index:240;display:grid;place-items:center;padding:24px}
.bio-back{position:absolute;inset:0;background:rgba(5,2,8,.9);backdrop-filter:blur(4px)}
.bio-win{
  position:relative;
  display:grid;grid-template-columns:190px 1fr;gap:0 28px;align-content:start;
  width:min(880px,100%);max-height:min(88vh,820px);
  padding:34px;border-radius:var(--r-lg);overflow:hidden;
  background:#FFFFFF;border:0;
  box-shadow:0 50px 120px rgba(0,0,0,.75);
}
.bio-photo{
  grid-column:1;grid-row:1;
  width:190px;height:190px;flex:none;
  border-radius:20px;overflow:hidden;background:#EFE9F2;
}
.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.bio-photo img.is-logo{object-fit:contain;padding:14px;background:#fff}
.bio-tx{
  grid-column:2;grid-row:1;
  max-height:min(78vh,700px);overflow-y:auto;padding-right:6px;
}
.bio-x{
  position:absolute;top:16px;right:16px;z-index:2;
  width:36px;height:36px;display:grid;place-items:center;border-radius:50%;
  font-size:19px;line-height:1;color:#fff;border:0;
  background:#171220;
}
.bio-x:hover{background:var(--pink)}

.bio-tag{
  display:inline-block;padding:6px 15px;border-radius:var(--r-pill);
  font-family:"Montserrat",sans-serif;font-size:10px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;
  background:var(--pink);box-shadow:none;
}
.bio-nm{
  margin:14px 0 6px;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(23px,3vw,32px);line-height:1.06;color:#120D18;letter-spacing:-.025em;
}
.bio-rl{
  margin:0 0 18px;font-family:"Montserrat",sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:#C2005F;
}
.bio-lead{margin:0 0 16px;font-size:15.5px;line-height:1.62;color:#2A2331}
.bio-list{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:10px}
.bio-list li{
  position:relative;padding-left:26px;font-size:14.5px;line-height:1.55;color:#39303F;
}
.bio-list li::before{background:var(--pink)}
.bio-q{
  margin:0 0 18px;padding:16px 20px;border-radius:var(--r-md);
  background:#FDF0F6;border-left:3px solid var(--pink);
  font-size:15px;line-height:1.6;color:#2A2331;font-style:italic;
}
.bio-q::before{content:"«"}
.bio-q::after{content:"»"}
.bio-tail{margin:0 0 20px;font-size:14.5px;line-height:1.62;color:#6B6478}
.bio-ig{
  display:inline-block;padding:10px 20px;border-radius:var(--r-btn);
  font-family:"Montserrat",sans-serif;font-size:11px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;text-decoration:none;
  background:var(--pink);box-shadow:0 10px 24px rgba(255,46,136,.28);
}
.bio-ig:hover{background:#C2005F;color:#fff}
body.bio-open{overflow:hidden}

/* Тонка смужка прокрутки всередині білої картки. */
.bio-tx::-webkit-scrollbar{width:6px}
.bio-tx::-webkit-scrollbar-thumb{background:#E2D8E8;border-radius:999px}

/* ============================================================
   КОМАНДА СУПРОВОДУ
   ============================================================ */
.crew{margin-top:18px;padding:22px 24px;border-radius:var(--r-lg)}
.crew-k{
  display:block;font-family:"JetBrains Mono",monospace;font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;
}
.crew-list{display:flex;flex-wrap:wrap;gap:9px}
.crew-list span{
  display:inline-flex;align-items:baseline;gap:8px;
  padding:9px 16px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
  font-size:13px;color:var(--text);
}
.crew-list b{
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--pink-soft);font-weight:400;
}

/* ============================================================
   ТАЙМЕР І ФОРМА
   ============================================================ */
.cd-box,.cd .u{border-radius:var(--r-md)}
.fld input,.fld select,.fld textarea{border-radius:var(--r-md)}
.fld input:focus,.fld select:focus,.fld textarea:focus{
  border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,46,136,.18);
}
.form-box{border-radius:var(--r-lg)}

/* ============================================================
   МОБІЛЬНЕ
   ============================================================ */
@media (max-width:480px){
  .h-xl{font-size:28px;line-height:1.12}
}
@media (max-width:860px){
  .picker{padding:18px}
  .quiz-list{grid-template-columns:1fr}
  .quiz-cta{width:100%}
  .plates{grid-template-columns:1fr;gap:10px}
  .plate{min-height:0;padding:44px 20px 18px}
  .plate-n{top:16px;left:20px}
  .plate-fin{flex-direction:column;align-items:flex-start}
  .plate-eq{display:none}
  .author{grid-template-columns:1fr;padding:20px;gap:18px}
  .acc-bar{gap:10px;border-radius:var(--r-lg)}
  .acc-track{order:3;flex-basis:100%}
}
@media (max-width:760px){
  .timeline{grid-template-columns:1fr}
  .tl-chart{display:none}
  .path{padding:18px}
  .path-map{grid-template-columns:repeat(5,1fr);gap:4px}
  .path-track{margin:16px 5% 2px;height:48px}
  .pnode-n{width:36px;height:36px;font-size:12px}
  .pnode-t{display:none}
  .path-stage{min-height:0}
  .pstep-body{grid-template-columns:1fr;gap:16px}
  .path-nav{flex-wrap:wrap;gap:10px}
  .path-pos{order:-1;width:100%;text-align:center;margin:0}
  .path-nav .btn{flex:1}
  .yt{grid-template-columns:1fr;gap:16px}
  .yt-ic{width:60px;height:60px}
  .yt-ic .icon{width:32px;height:32px}
  .bio{padding:0;place-items:stretch}
  .bio-win{
    grid-template-columns:1fr;grid-auto-rows:min-content;
    width:100%;max-height:none;min-height:100%;
    border-radius:0;box-shadow:none;padding:22px 18px 40px;gap:0;
    align-content:start;overflow:auto;
  }
  /* Фото лишається квадратом і на телефоні — просто меншим. */
  .bio-photo{grid-column:1;grid-row:1;width:132px;height:132px;border-radius:18px}
  .bio-tx{grid-column:1;grid-row:2;max-height:none;overflow:visible;padding:16px 0 0}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:10px}
  .pcard-body{padding:13px 13px 15px;gap:6px}
  .pcard-nm{font-size:15px}
  .pcard-rl{font-size:12.5px}
  .pcard-facts i{font-size:11.5px;padding-left:18px}
  .pcard-more{font-size:9.5px;padding-top:12px;letter-spacing:.1em;white-space:nowrap}
  .pgrid-logos{grid-template-columns:repeat(2,1fr)}
  .path-runner{width:30px;height:30px;bottom:13px}
  .path-heart{width:16px;height:16px}
}

/* Терміни етапу поруч із номером — лишилися від старої схеми сезону. */
.tl-dur{
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--pink-soft);margin-left:10px;
}

/* ============================================================
   ХВОСТИ, ЯКІ ПОТРІБНО БУЛО ПЕРЕНЕСТИ З ПОПЕРЕДНЬОЇ ТЕМИ
   ============================================================ */
.nav-switch{border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.16);box-shadow:none}
.mobile-bar .tg{border-radius:var(--r-pill)}
.tl-step .badge{border-radius:var(--r-pill);border:1px solid rgba(255,46,136,.5)}
.pack .ribbon{border-radius:var(--r-pill);border:0;background:linear-gradient(180deg,var(--gold-1),var(--gold-3));color:var(--gold-ink)}
.cd-unit{border-radius:var(--r-md);border:1px solid rgba(255,46,136,.35)}
.form-success .ok{border-radius:50%;border:0;background:var(--pink)}
.form-aside .fact .b{border-radius:var(--r-md);border:1px solid rgba(255,46,136,.4)}
.sfx-hint{display:none}

/* Плашки першого екрана — з іконками, компактні. */
.hero .pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;font-size:12px;
}
.hero .pill .icon{width:17px;height:17px;color:var(--pink-soft);filter:none}

@media (max-width:860px){
  .picker-done .btn{margin-left:0;width:100%}
  /* підпис поруч із кнопкою звуку: саму іконку на телефоні не впізнають */
  .sfx-btn::after{
    content:"Звук";margin-left:8px;
    font-family:"Montserrat",sans-serif;font-size:11px;font-weight:800;
    letter-spacing:.1em;text-transform:uppercase;color:var(--text);
  }
  .sfx-btn{width:auto;padding:0 14px;gap:0;display:flex;align-items:center}
  .sfx-btn.on::after{color:#fff}
}

/* На 375px логотип + «Звук» + «Меню» не вміщались у шапку і «Меню»
   вилазило за край. Тиснемо відступи саме тут, не чіпаючи планшети. */
@media (max-width:480px){
  .nav-burger{padding:8px 12px;gap:6px}
  .nav-burger .burger-txt{font-size:10.5px;letter-spacing:.08em}
  .sfx-btn{padding:0 10px}
  .sfx-btn::after{margin-left:6px;font-size:10px;letter-spacing:.08em}
}

/* Світлова смуга під першим екраном була фіолетово-ціановою —
   у новій темі це рожеве й золоте світло. */
.trail{
  background:linear-gradient(90deg,transparent,rgba(255,46,136,.9) 16%,#fff 50%,rgba(233,198,126,.9) 84%,transparent);
  box-shadow:0 0 28px 8px rgba(255,46,136,.55), 0 0 76px 24px rgba(255,46,136,.22);
}
[data-page="partners"] .trail{
  background:linear-gradient(90deg,transparent,rgba(233,198,126,.9) 16%,#fff 50%,rgba(255,46,136,.85) 84%,transparent);
  box-shadow:0 0 28px 8px rgba(233,198,126,.5), 0 0 76px 24px rgba(255,46,136,.2);
}
[data-page="partners"] .pack .ribbon{
  background:linear-gradient(180deg,#FF57A0,#C2005F);color:#fff;
}

/* Перший екран лишається контекстом для позиціювання. */
.hero{position:relative;overflow:hidden}
.hero-inner{position:relative;z-index:1}

/* ============================================================
   ПЕРШИЙ ЕКРАН — плашки напрямків помітніші
   ============================================================ */
.hero-lede{font-size:clamp(16px,2vw,19px);max-width:34ch;color:var(--text)}
.hero .pills{gap:10px}
.hero .pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 20px;border-radius:var(--r-btn);
  font-family:"Montserrat",sans-serif;font-weight:800;font-size:12.5px;
  letter-spacing:.08em;text-transform:uppercase;color:#fff;
  background:linear-gradient(180deg,rgba(255,46,136,.24),rgba(255,46,136,.1));
  border:1px solid rgba(255,46,136,.6);
  box-shadow:0 12px 30px rgba(255,46,136,.2);
}
.hero .pill .icon{width:20px;height:20px;color:var(--pink-soft);filter:none}

/* ============================================================
   ЕКРАН ЗАВАНТАЖЕННЯ — логотип і рядок напрямків
   ============================================================ */
.pl-logo{
  width:min(240px,72%);height:auto;margin-bottom:26px;display:block;
  filter:drop-shadow(0 0 30px rgba(255,46,136,.35));
}
.pl-meta{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:20px;
}
.pl-meta span{
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--faint);
}
.pl-meta span + span::before{content:"· ";color:rgba(255,46,136,.6)}
.pl-start .pl-marks{margin-bottom:6px}
.pl-start .pl-marks svg{width:44px;height:44px}

/* ============================================================
   ВИБІР ПЕРСОНАЖА — рожеві плитки
   ============================================================ */
/* Плитка світла, обрана — рожева. Раніше всі були рожеві, а вибір
   позначався білою рамкою: людині з поганим зором різниці не видно. */
.chr{
  position:relative;gap:0;padding:0;overflow:hidden;
  border-radius:var(--r-md);
  background:#F4EFF6;
  border:2px solid rgba(255,255,255,.2);
  box-shadow:0 10px 26px rgba(0,0,0,.35);
}
/* Плитка персонажа квадратна: прямокутні виглядали як недороблені. */
.chr-ph{
  display:block;width:100%;aspect-ratio:1;position:relative;overflow:hidden;
  background:#F4EFF6;transition:background .2s ease;
}
.picker-grid{grid-template-columns:repeat(5,1fr)}
@media (max-width:900px){.picker-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:560px){.picker-grid{grid-template-columns:repeat(3,1fr);gap:8px}}
.chr-ph img{
  width:100%;height:100%;object-fit:cover;display:block;
  mix-blend-mode:luminosity;opacity:.85;
}
.chr-ph .icon{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:42%;height:42%;color:#C2005F;filter:none;
  transition:color .2s ease;
}
/* Підпис лежить на самій плитці, тому картка лишається квадратною:
   раніше текст додавав низ і плитки виходили прямокутними. */
.chr{position:relative}
.chr-nm{
  position:absolute;left:0;right:0;bottom:0;
  padding:20px 6px 9px;
  background:linear-gradient(180deg,rgba(244,239,246,0),rgba(244,239,246,.94) 46%);
  font-family:"Montserrat",sans-serif;font-size:10px;font-weight:800;
  letter-spacing:.02em;text-transform:uppercase;color:#2A1C33;line-height:1.2;
  overflow-wrap:anywhere;transition:color .2s ease, background .2s ease;
}
@media (max-width:560px){.chr-nm{font-size:9px;padding:18px 3px 8px}}
.chr:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(255,46,136,.3)}
.chr.on{
  border-color:#fff;
  box-shadow:0 0 0 3px rgba(255,46,136,.35), 0 22px 50px rgba(255,46,136,.5);
}
.chr.on .chr-ph{background:linear-gradient(160deg,#FF2E88,#C2005F)}
.chr.on .chr-ph .icon{color:#fff}
.chr.on .chr-nm{
  color:#fff;
  background:linear-gradient(180deg,rgba(194,0,95,0),rgba(150,0,73,.92) 46%);
}
.chr.on .chr-ph img{opacity:1;mix-blend-mode:normal}
/* Галочка на обраній плитці — щоб вибір читався й без кольору. */
.chr::after{
  content:"";position:absolute;right:7px;top:7px;width:20px;height:20px;
  border-radius:50%;background:var(--pink);
  opacity:0;transform:scale(.6);transition:opacity .16s ease, transform .16s ease;
  -webkit-mask:none;
}
.chr::before{
  content:"";position:absolute;right:12px;top:12px;z-index:2;
  width:10px;height:10px;background:#fff;
  -webkit-mask:var(--check) center/contain no-repeat;
          mask:var(--check) center/contain no-repeat;
  opacity:0;transform:scale(.6);transition:opacity .16s ease, transform .16s ease;
}
.chr.on::after,.chr.on::before{opacity:1;transform:scale(1)}

/* ============================================================
   КАТЕГОРІЇ ЧЕМПІОНАТУ — по три в ряд
   ============================================================ */
.tiles-3{grid-template-columns:repeat(3,1fr)!important}
@media (max-width:520px){
  .tiles-3{gap:8px}
  .tiles-3 .tile{padding:14px 8px}
  .tiles-3 .tile span{font-size:11px;line-height:1.25}
  .tiles-3 .icon{width:26px;height:26px}
}

/* ============================================================
   ПАРТНЕРИ БІЗНЕС-МОДУЛЯ
   Логотипи стоять поруч із програмою, бо саме її вони підсилюють.
   ============================================================ */
.bizpart{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  margin-bottom:18px;padding:18px 22px;border-radius:var(--r-lg);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(233,198,126,.35);
}
.bizpart-k{
  font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);max-width:22ch;line-height:1.5;
}
/* Логотипи вже обрізані по знаку у пропорції 16:10, тому просто
   вписуємо їх у колонки — так вони читаються, а не тиснуться в смужку. */
.bizpart-logos{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-width:220px}
.bizpart-logos img{
  width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;
  border-radius:var(--r-sm);background:#0E0810;
}
@media (max-width:620px){
  .bizpart{gap:14px;padding:16px 18px;flex-direction:column;align-items:stretch}
  .bizpart-k{max-width:none}
}

/* ============================================================
   ЗАСНОВНИЦІ
   Фото стоїть квадратом поруч з іменем, текст — колонкою під ним.
   ============================================================ */
.founders{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}
.founder{padding:clamp(20px,2.6vw,28px);border-radius:var(--r-lg)}
.founder-top{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.founder-ph{
  width:108px;height:108px;flex:none;border-radius:20px;overflow:hidden;background:#0E0810;
}
.founder-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;display:block}
.founder-id{min-width:0}
.founder-tag{
  display:inline-block;padding:5px 14px;border-radius:var(--r-pill);
  font-family:"Montserrat",sans-serif;font-size:10px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--pink);
}
.founder-nm{
  margin:10px 0 4px;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(20px,2.6vw,26px);line-height:1.1;color:var(--white);letter-spacing:-.025em;
}
.founder-rl{
  margin:0;font-family:"JetBrains Mono",monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pink-soft);
}
.founder p{margin:0 0 14px;font-size:14.5px;line-height:1.62;color:var(--text)}
.founder-sub{color:var(--muted)!important;margin-bottom:10px!important}
.founder-q{
  margin:0 0 16px;padding:16px 18px;border-radius:var(--r-md);
  background:rgba(255,46,136,.12);border-left:3px solid var(--pink);
  font-size:15px;line-height:1.6;color:#fff;font-style:italic;
}
.founder-q::before{content:"«"}
.founder-q::after{content:"»"}
.founder-list{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:9px}
.founder-list li{
  position:relative;padding-left:25px;font-size:14.5px;line-height:1.5;color:var(--text);
}
.founder-list li::before{
  content:"";position:absolute;left:0;top:.34em;width:13px;height:13px;
  background:var(--pink);
  -webkit-mask:var(--bg-mark) center/contain no-repeat;
          mask:var(--bg-mark) center/contain no-repeat;
}
.founder-todo{
  padding:16px 18px;border-radius:var(--r-md);
  background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.2);
  color:var(--muted)!important;font-size:14px!important;
}
.founder .vid-frame{margin-top:4px}

@media (max-width:900px){
  .founders{grid-template-columns:1fr}
}
@media (max-width:520px){
  .founder-top{gap:14px}
  .founder-ph{width:88px;height:88px;border-radius:16px}
}

/* ============================================================
   ТАЙМЕР — одне табло, як у референсі
   Три окремі коробки з підписами «годин / хвилин / секунд»
   читалися повільніше, ніж звичний 04:24:22.
   ============================================================ */
.countdown{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:24px 26px;border-radius:var(--r-lg);text-align:center;
  background:linear-gradient(180deg,#1A1220,#0C0810);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 20px 50px rgba(0,0,0,.55);
}
.cd-cap{
  font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--faint);
}
.cd-clock{
  display:flex;align-items:baseline;gap:2px;margin:0;
  font-family:"Montserrat",sans-serif;font-weight:800;
  font-size:clamp(38px,8vw,58px);line-height:1;color:#fff;
  letter-spacing:.02em;font-variant-numeric:tabular-nums;
  text-shadow:0 0 34px rgba(255,46,136,.45);
}
.cd-clock span{display:inline-block;min-width:1.7ch;text-align:center}
.cd-label{font-size:12.5px;color:var(--muted);max-width:36ch}
.cd-urgent{border-color:rgba(255,46,136,.5)!important}
.cd-urgent .cd-clock{animation:beat 1s ease-in-out infinite}

/* ============================================================
   МОДУЛІ — видно, що їх відкривають
   ============================================================ */
.acc-item .acc-btn::after{
  content:"Відкрити";
  position:absolute;right:56px;top:50%;transform:translateY(-50%);
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pink-soft);opacity:.7;
  transition:opacity .18s ease;
  pointer-events:none;
}
.acc-item.open .acc-btn::after{content:"Згорнути";opacity:.45}
.acc-btn{position:relative}
.acc-btn .ic{
  border:1px solid rgba(255,46,136,.5);border-radius:50%;
  background:rgba(255,46,136,.14);
}
@media (max-width:720px){
  .acc-item .acc-btn::after{display:none}
}

/* ============================================================
   ПАРТНЕРИ БІЗНЕС-МОДУЛЯ — акуратна плитка
   ============================================================ */
.bizpart{
  display:grid;grid-template-columns:1fr;gap:16px;
  margin-bottom:18px;padding:22px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(233,198,126,.09),rgba(255,255,255,.02));
  border:1px solid rgba(233,198,126,.32);
}
.bizpart-k{
  font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);
  max-width:none;line-height:1.5;text-align:center;
}
.bizpart-logos{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0;
}
.bizpart-logos img{
  width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;
  border-radius:var(--r-md);background:#0E0810;
  border:1px solid rgba(255,255,255,.08);
}
@media (max-width:620px){
  .bizpart{padding:18px}
  .bizpart-k{font-size:11.5px;letter-spacing:.12em}
}

/* ============================================================
   КРОК 3 — ДВА ФОРМАТИ УЧАСТІ
   ============================================================ */
.ways{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.way{
  display:flex;flex-direction:column;
  padding:clamp(22px,2.8vw,30px);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 18px 46px rgba(0,0,0,.5);
}
.way-hi{
  background:linear-gradient(180deg,rgba(255,46,136,.14),rgba(255,46,136,.04));
  border-color:rgba(255,46,136,.5);
  box-shadow:0 24px 60px rgba(255,46,136,.22);
}
.way-n{
  align-self:flex-start;padding:6px 16px;border-radius:var(--r-pill);
  font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--pink-soft);
  background:rgba(255,46,136,.14);
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.5);
}
.way-hi .way-n{background:var(--pink);color:#fff;box-shadow:none}
.way-t{
  margin:16px 0 8px;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(20px,2.6vw,27px);line-height:1.12;color:var(--white);letter-spacing:-.025em;
}
.way-s{margin:0 0 18px;font-size:14.5px;color:var(--muted)}
.way-list{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:10px}
.way-list li{
  position:relative;padding-left:26px;font-size:14.5px;line-height:1.5;color:var(--text);
}
.way-list li::before{
  content:"";position:absolute;left:0;top:.34em;width:13px;height:13px;
  background:var(--pink);
  -webkit-mask:var(--bg-mark) center/contain no-repeat;
          mask:var(--bg-mark) center/contain no-repeat;
}
.way-out{
  margin-top:auto;padding:16px 18px;border-radius:var(--r-md);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  font-size:14.5px;line-height:1.55;color:var(--text);
}
.way-out b{color:#fff}
.way-hi .way-out{background:rgba(255,46,136,.16);border-color:rgba(255,46,136,.4);color:#fff}

.newfmt{
  margin-top:18px;padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(233,198,126,.09),rgba(255,255,255,.02));
  border:1px solid rgba(233,198,126,.32);
}
.newfmt-k{
  display:block;font-family:"JetBrains Mono",monospace;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin-bottom:12px;
}
.newfmt-t{
  margin:0 0 14px;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(19px,2.5vw,26px);line-height:1.2;color:var(--white);
  letter-spacing:-.02em;text-wrap:balance;
}
.newfmt p{margin:0 0 12px;font-size:15px;line-height:1.62;color:var(--text)}
.newfmt p:last-child{margin:0;color:var(--gold-1)}

@media (max-width:860px){
  .ways{grid-template-columns:1fr}
}

/* ============================================================
   ІРИНА ВЕРБОВА
   ============================================================ */
.iryna{
  display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:28px;align-items:start;
  padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,46,136,.3);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.iryna-ph{border-radius:var(--r-md);overflow:hidden;background:#0E0810;aspect-ratio:4/5}
.iryna-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;display:block}
.iryna-tx p{margin:0 0 14px;font-size:15px;line-height:1.65;color:var(--text)}
.iryna-tx p b{color:#fff}
.iryna-q{
  margin:0 0 16px;padding:18px 20px;border-radius:var(--r-md);
  background:rgba(255,46,136,.12);border-left:3px solid var(--pink);
  font-size:15px;line-height:1.6;color:#fff;font-style:italic;
}
.iryna-facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px;
}
.iryna-facts div{
  padding:14px 16px;border-radius:var(--r-md);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
}
.iryna-facts b{
  display:block;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(20px,3vw,28px);line-height:1;color:var(--pink);
  letter-spacing:-.03em;margin-bottom:6px;
}
.iryna-facts span{
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);line-height:1.45;
}
@media (max-width:860px){
  .iryna{grid-template-columns:1fr;gap:20px}
  .iryna-ph{max-width:240px}
  .iryna-facts{grid-template-columns:1fr;gap:8px}
  .iryna-facts div{display:flex;align-items:baseline;gap:12px;padding:12px 14px}
  .iryna-facts b{margin:0;font-size:22px}
}

/* ============================================================
   РЕЗУЛЬТАТИ — імена, які вивела Ірина
   ============================================================ */
.stars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.star{
  padding:22px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1);
  transition:border-color .2s ease, transform .2s ease;
}
.star:hover{border-color:rgba(255,46,136,.45);transform:translateY(-3px)}
.star h3{
  margin:0 0 8px;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:18px;line-height:1.15;color:var(--white);letter-spacing:-.02em;
}
.star p{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted)}
.stars-note{
  margin:18px 0 0;text-align:center;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pink-soft);
}
@media (max-width:860px){.stars{grid-template-columns:repeat(2,1fr);gap:10px}}
@media (max-width:480px){.star{padding:16px}.star h3{font-size:16px}.star p{font-size:12.5px}}

/* Обіцянка про вижимку з курсів — виділяємо, це сильний аргумент. */
.lede-claim{
  padding:16px 20px;border-radius:var(--r-md);
  background:rgba(233,198,126,.1);border-left:3px solid var(--gold-2);
  color:var(--text);
}
.lede-claim b{color:var(--gold-1)}

/* ============================================================
   ПРОГРЕС ПО СТОРІНЦІ
   Вертикальна рейка з крапками праворуч. Заповнюється в міру
   прокрутки — видно, що ви рухаєтесь по грі, а не просто гортаєте.
   ============================================================ */
.prog{
  position:fixed;right:22px;top:50%;transform:translateY(-50%);
  z-index:90;display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:18px 10px;border-radius:var(--r-pill);
  background:rgba(12,7,16,.7);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.08);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.prog.show{opacity:1;pointer-events:auto}
.prog-line{
  position:absolute;left:50%;top:18px;bottom:18px;width:2px;
  transform:translateX(-50%);background:rgba(255,255,255,.12);
}
.prog-line i{display:block;width:100%;height:0;background:var(--pink);
  box-shadow:0 0 12px rgba(255,46,136,.8);transition:height .2s ease}
.prog-dot{
  position:relative;z-index:1;
  width:20px;height:20px;display:grid;place-items:center;border-radius:50%;
  background:#140D18;border:2px solid rgba(255,255,255,.22);
  text-decoration:none;transition:transform .18s ease, background .2s, border-color .2s;
}
.prog-dot b{
  font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:700;
  color:var(--muted);line-height:1;transition:color .2s;
}
.prog-dot.done{background:rgba(255,46,136,.35);border-color:rgba(255,46,136,.6)}
.prog-dot.done b{color:#fff}
.prog-dot.on{
  background:var(--pink);border-color:#fff;transform:scale(1.35);
  box-shadow:0 0 0 4px rgba(255,46,136,.2), 0 8px 20px rgba(255,46,136,.5);
}
.prog-dot.on b{color:#fff}
/* Підпис віхи з'являється на наведення — щоб рейка не шуміла. */
.prog-dot::after{
  content:attr(data-t);
  position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);
  white-space:nowrap;padding:7px 12px;border-radius:var(--r-sm);
  background:#1A1020;border:1px solid rgba(255,46,136,.4);
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:#fff;
  opacity:0;pointer-events:none;transition:opacity .16s ease;
}
.prog-dot:hover::after{opacity:1}

/* На телефоні рейка збоку заважає — виносимо смугу під шапку. */
@media (max-width:900px){
  .prog{
    right:auto;left:0;top:var(--nav-h);transform:none;
    width:100%;flex-direction:row;justify-content:space-between;
    gap:0;padding:10px 16px;border-radius:0;border-width:0 0 1px 0;
  }
  .prog-line{
    left:16px;right:16px;top:50%;bottom:auto;width:auto;height:2px;
    transform:translateY(-50%);
  }
  .prog-line i{height:100%;width:0;transition:width .2s ease}
  .prog-dot{width:18px;height:18px}
  .prog-dot::after{display:none}
}

/* ============================================================
   СВІТЛІ БЛОКИ — повітря на сторінці
   Суцільна темрява на всю сторінку тисне. Два-три блоки на світлому
   тлі розбивають її і дають очам відпочити.
   ============================================================ */
.sec-light{
  background:linear-gradient(180deg,#FFFFFF,#F6F2F8);
  color:#241C2C;
  padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px);
  position:relative;z-index:1;
}
.sec-light .h-lg,.sec-light .h-md,.sec-light h2,.sec-light h3{color:#120D18}
.sec-light .glow{color:#D6006F;text-shadow:none}
.sec-light .lede,.sec-light p{color:#4A4055}
.sec-light .eyebrow{
  background:rgba(255,46,136,.1);color:#C2005F;
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.4);
}
.sec-light .star{
  background:#fff;border-color:rgba(20,10,26,.1);
  box-shadow:0 12px 34px rgba(30,10,40,.08);
}
.sec-light .star:hover{border-color:rgba(255,46,136,.5);box-shadow:0 20px 44px rgba(255,46,136,.16)}
.sec-light .star h3{color:#120D18}
.sec-light .star p{color:#6B6478}
.sec-light .stars-note{color:#C2005F}
.sec-light .iryna{
  background:#fff;border-color:rgba(20,10,26,.1);
  box-shadow:0 20px 50px rgba(30,10,40,.1);
}
.sec-light .iryna-tx p{color:#3A3145}
.sec-light .iryna-tx p b{color:#120D18}
.sec-light .iryna-q{background:#FDF0F6;color:#2A2331}
.sec-light .iryna-facts div{background:#FBF7FC;border-color:rgba(20,10,26,.08)}
.sec-light .iryna-facts b{color:#D6006F}
.sec-light .iryna-facts span{color:#6B6478}
.sec-light .pcard{
  background:#fff;border-color:rgba(20,10,26,.1);
  box-shadow:0 12px 34px rgba(30,10,40,.08);
}
.sec-light .pcard:hover{box-shadow:0 24px 56px rgba(255,46,136,.2)}
.sec-light .pcard-nm{color:#120D18}
.sec-light .pcard-rl{color:#6B6478}
.sec-light .pcard-facts i{color:#3A3145}
.sec-light .crew{background:#fff;border:1px solid rgba(20,10,26,.1);box-shadow:none}
.sec-light .crew-list span{background:#FBF7FC;border-color:rgba(20,10,26,.1);color:#3A3145}
.sec-light .crew-list b{color:#C2005F}
.sec-light .crew-k{color:#6B6478}
.sec-light .btn-ghost{color:#C2005F;box-shadow:inset 0 0 0 2px rgba(255,46,136,.45)}
.sec-light .btn-ghost:hover{background:rgba(255,46,136,.08);color:#8E0046}
.sec-light .bg-mesh{display:none}

/* Блок етапів був надто розтягнутий: панель тримала фіксовану висоту
   під найдовший етап, і на коротких лишалася порожнеча. */
.path{padding:clamp(18px,2.2vw,24px)}
.path-stage{margin-top:16px;min-height:0}
.path-track{margin:16px 6% 2px;height:48px}
.pstep-t{margin-top:10px}
.pstep-body{margin-top:14px;padding-top:14px;gap:18px}
.pstep-list{gap:7px}
.pstep-list li{font-size:14px}
.path-nav{margin-top:16px;padding-top:14px}
@media (max-width:760px){
  .path{padding:16px}
  .path-track{margin:14px 5% 2px;height:44px}
}

/* Крок, який людина реально пройшла (обрала персонажа, заповнила
   тест, дійшла до фіналу шляху), лишається золотим. */
.prog-dot.hit{
  background:linear-gradient(180deg,var(--gold-1),var(--gold-3));
  border-color:#fff;
}
.prog-dot.hit b{color:var(--gold-ink)}
.prog-dot.hit.on{box-shadow:0 0 0 4px rgba(233,198,126,.22), 0 8px 20px rgba(233,198,126,.5)}

/* ============================================================
   РОЗВИЛКА ФОРМАТУ
   Питання з трьома відповідями замість «ось два варіанти».
   ============================================================ */
.fork{
  padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);margin-bottom:18px;
  background:linear-gradient(180deg,rgba(255,46,136,.12),rgba(255,255,255,.03));
  border:1px solid rgba(255,46,136,.4);
}
.fork-q{text-align:center;margin-bottom:22px}
.fork-lvl{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 16px;border-radius:var(--r-pill);
  background:rgba(233,198,126,.14);
  box-shadow:inset 0 0 0 1.5px rgba(233,198,126,.5);
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-1);
}
.fork-lvl::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-2);
  box-shadow:0 0 10px rgba(233,198,126,.9);
}
.fork-t{
  margin:14px auto 0;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(24px,3.6vw,36px);line-height:1.08;color:var(--white);
  letter-spacing:-.03em;text-wrap:balance;max-width:16ch;text-transform:uppercase;
}
.fork-sub{
  margin:10px auto 0;font-size:14.5px;line-height:1.5;color:var(--muted);max-width:34ch;
}

/* Місії — квадрати, як плитки персонажів у кроці 1. Людина вже
   бачила цей жест і розуміє його: тиснеш — загоряється. */
.fork-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fork-o{
  position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;gap:0;padding:0;overflow:hidden;
  aspect-ratio:1;border-radius:var(--r-md);
  background:#F4EFF6;border:2px solid rgba(255,255,255,.2);
  box-shadow:0 10px 26px rgba(0,0,0,.35);
  transition:transform .18s ease, box-shadow .25s ease, background .22s ease,
             border-color .22s ease;
}
.fork-o:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(255,46,136,.32)}
.fork-o:focus-visible{outline:3px solid var(--pink);outline-offset:3px}

.fork-o-n{
  width:100%;padding:9px 6px 0;
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#A497AD;transition:color .22s ease;
}
.fork-o-i{
  flex:1;width:100%;display:grid;place-items:center;
  background:none;border:0;box-shadow:none;border-radius:0;height:auto;
}
.fork-o-i .icon{
  width:42px;height:42px;color:#C2005F;filter:none;transition:color .22s ease;
}
.fork-o-nm{
  width:100%;padding:0 6px 13px;
  font-family:"Montserrat",sans-serif;font-weight:900;font-size:13px;
  line-height:1.15;letter-spacing:-.01em;text-transform:uppercase;
  color:#2A1C33;transition:color .22s ease;
}

/* Обрана місія загоряється рожевим і отримує галочку. */
.fork-o.on{
  background:linear-gradient(160deg,#FF2E88,#C2005F);
  border-color:#fff;transform:translateY(-4px);
  box-shadow:0 0 0 3px rgba(255,46,136,.35), 0 26px 56px rgba(255,46,136,.55);
}
.fork-o.on .fork-o-n{color:rgba(255,255,255,.75)}
.fork-o.on .fork-o-i .icon{color:#fff}
.fork-o.on .fork-o-nm{color:#fff}
.fork-o::after{
  content:"";position:absolute;right:8px;top:8px;width:22px;height:22px;
  border-radius:50%;background:#fff;
  opacity:0;transform:scale(.6);transition:opacity .18s ease, transform .18s ease;
}
.fork-o::before{
  content:"";position:absolute;right:13.5px;top:13.5px;z-index:2;
  width:11px;height:11px;background:var(--pink);
  -webkit-mask:var(--check) center/contain no-repeat;
          mask:var(--check) center/contain no-repeat;
  opacity:0;transform:scale(.6);transition:opacity .18s ease, transform .18s ease;
}
.fork-o.on::after,.fork-o.on::before{opacity:1;transform:scale(1)}

@media (max-width:520px){
  .fork-opts{gap:8px}
  .fork-o-n{font-size:8.5px;letter-spacing:.1em;padding-top:8px}
  .fork-o-i .icon{width:34px;height:34px}
  .fork-o-nm{font-size:11px;padding-bottom:11px}
}

.fork-out{
  margin-top:16px;padding:20px 22px;border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(233,198,126,.14),rgba(233,198,126,.04));
  border:1px solid rgba(233,198,126,.45);
  animation:forkIn .26s ease both;
}
@keyframes forkIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fork-out-k{
  display:block;font-family:"JetBrains Mono",monospace;font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin-bottom:8px;
}
.fork-out b{
  display:block;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(17px,2.2vw,22px);color:var(--gold-1);margin-bottom:10px;
  letter-spacing:-.02em;
}
.fork-out p{margin:0;font-size:14.5px;line-height:1.6;color:var(--text)}

/* Дорога, яку підказала розвилка, підсвічується. */
.way.pick{
  border-color:var(--gold-2);
  box-shadow:0 0 0 2px rgba(233,198,126,.3), 0 26px 60px rgba(233,198,126,.2);
}
.way.pick .way-n{background:linear-gradient(180deg,var(--gold-1),var(--gold-3));color:var(--gold-ink);box-shadow:none}

@media (max-width:760px){
  .fork-opts{gap:8px}
}

/* ============================================================
   РЕЗУЛЬТАТИ — з фото
   ============================================================ */
.star{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.star-ph{
  width:76px;height:76px;flex:none;border-radius:50%;overflow:hidden;
  background:#F1EAF4;box-shadow:0 0 0 3px rgba(255,46,136,.35);
}
.star-ph img{width:100%;height:100%;object-fit:cover;display:block}
.star-ph-empty{display:grid;place-items:center;background:#FBF3F7}
.star-ph-empty .icon{width:34px;height:34px;color:rgba(194,0,95,.35)}

/* ============================================================
   МОДУЛІ — з номером-медаллю і станом «пройдено»
   ============================================================ */
.acc-btn .mi{
  min-width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:700;
  background:rgba(255,46,136,.14);color:var(--pink-soft);
  border:1.5px solid rgba(255,46,136,.4);
  transition:background .2s, color .2s, border-color .2s, transform .16s;
}
.acc-item.open .acc-btn .mi{
  background:linear-gradient(180deg,var(--gold-1),var(--gold-3));
  color:var(--gold-ink);border-color:#fff;transform:scale(1.06);
}
.acc-item.seen .acc-btn .mi{
  background:rgba(233,198,126,.24);color:var(--gold-1);border-color:rgba(233,198,126,.5);
}
.acc-bar .btn{flex:none}

/* ============================================================
   ЗАСНОВНИЦІ Й РЕЗУЛЬТАТИ — щільніше
   ============================================================ */
.founder{padding:clamp(18px,2.2vw,24px)}
.founder-top{margin-bottom:16px;gap:14px}
.founder-ph{width:92px;height:92px;border-radius:18px}
.founder p{margin:0 0 11px;font-size:14px;line-height:1.55}
.founder-q{margin-bottom:13px;padding:13px 15px;font-size:14px}
.founder-list{margin-bottom:13px;gap:7px}
.founder-list li{font-size:14px}
.iryna{padding:clamp(18px,2.4vw,26px);gap:22px}
.iryna-tx p{margin:0 0 11px;font-size:14.5px;line-height:1.58}
.iryna-q{margin-bottom:13px;padding:15px 17px}
.iryna-facts{margin-bottom:14px;gap:10px}
.star{padding:18px}

/* Плашки напрямків: кожна в один рядок — іконка і підпис поруч.
   Колонкою вони ставали високими і ряд виглядав розтягнутим. */
.pills-3{display:flex;flex-wrap:nowrap;gap:7px}
.pills-3 .pill{
  flex:1 1 0;min-width:0;
  display:inline-flex;flex-direction:row;align-items:center;justify-content:center;
  gap:7px;padding:11px 10px;white-space:nowrap;
  font-size:11.5px;letter-spacing:.03em;
}
.pills-3 .pill .icon{width:17px;height:17px;flex:none}
@media (max-width:520px){
  .pills-3{gap:5px}
  .pills-3 .pill{font-size:9.5px;letter-spacing:0;padding:10px 6px;gap:5px}
  .pills-3 .pill .icon{width:15px;height:15px}
}

/* Пакети теж на світлому — біля них ухвалюють рішення. */

/* Результати — по три в ряд, картка компактна. */
.stars{grid-template-columns:repeat(3,1fr);gap:12px}
.star{
  flex-direction:row;align-items:center;gap:14px;padding:16px;
  border-radius:var(--r-md);
}
.star-ph{width:62px;height:62px;box-shadow:0 0 0 2px rgba(255,46,136,.4)}
.star h3{margin:0 0 4px;font-size:15.5px}
.star p{font-size:12.5px;line-height:1.4}
.star > div:last-child{min-width:0}
@media (max-width:900px){.stars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){
  .stars{grid-template-columns:1fr;gap:8px}
  .star{padding:13px;gap:12px}
  .star-ph{width:54px;height:54px}
  .star h3{font-size:14.5px}
}

/* Підтвердження пройденого кроку. Показується на 2,4 секунди. */
.toast{
  position:fixed;left:50%;bottom:96px;z-index:180;
  transform:translate(-50%,16px);opacity:0;
  display:flex;flex-direction:column;gap:2px;
  padding:14px 22px;border-radius:var(--r-md);
  background:linear-gradient(180deg,var(--gold-1),var(--gold-2));
  box-shadow:0 18px 44px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.5) inset;
  transition:opacity .3s ease, transform .3s ease;
  pointer-events:none;text-align:center;
}
.toast.in{opacity:1;transform:translate(-50%,0)}
.toast b{
  font-family:Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(42,27,6,.65);
}
.toast span{
  font-family:"Montserrat",sans-serif;font-weight:900;font-size:15px;
  color:var(--gold-ink);letter-spacing:-.01em;
}
@media (max-width:760px){.toast{bottom:88px;padding:12px 18px}}
@media (prefers-reduced-motion:reduce){.toast{transition:none}}

/* ============================================================
   IBV — організація, яка стоїть за проєктом
   ============================================================ */
.ibv{
  margin-top:16px;padding:clamp(20px,2.6vw,28px);border-radius:var(--r-lg);
  background:#fff;border:1px solid rgba(20,10,26,.1);
  box-shadow:0 16px 40px rgba(30,10,40,.08);
}
.ibv-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.ibv-logo{height:44px;width:auto;display:block}
.ibv-t{
  margin:0 0 3px;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(18px,2.3vw,23px);color:#120D18;letter-spacing:-.02em;
}
.ibv-s{
  margin:0;font-family:"JetBrains Mono",monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:#C2005F;
}
.ibv-p{margin:0 0 14px;font-size:14.5px;line-height:1.6;color:#3A3145}
.ibv-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px}
.ibv-facts div{padding:13px 15px;border-radius:var(--r-md);background:#FBF7FC;border:1px solid rgba(20,10,26,.08)}
.ibv-facts b{
  display:block;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(19px,2.6vw,25px);line-height:1;color:#D6006F;margin-bottom:5px;
  letter-spacing:-.03em;
}
.ibv-facts span{
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.06em;
  text-transform:uppercase;color:#6B6478;line-height:1.45;
}
.ibv-logos{
  display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,40px);
  flex-wrap:wrap;padding-top:16px;border-top:1px solid rgba(20,10,26,.1);
}
.ibv-logos img{height:34px;width:auto;display:block;opacity:.85}
.ibv-logos img:first-child{filter:invert(1) brightness(.2)}
@media (max-width:620px){
  .ibv-facts{grid-template-columns:1fr;gap:8px}
  .ibv-facts div{display:flex;align-items:baseline;gap:12px;padding:11px 13px}
  .ibv-facts b{margin:0;font-size:20px}
  .ibv-logos img{height:26px}
}

/* Аудиторія в картці результату. */
.star-aud{
  display:block;margin:0 0 4px;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.06em;
  color:#C2005F;font-weight:700;
}
.stars-sum{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;
}
.stars-sum div{
  padding:16px 18px;border-radius:var(--r-md);
  background:#fff;border:1px solid rgba(20,10,26,.1);
}
.stars-sum b{
  display:block;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(22px,3.4vw,30px);line-height:1;color:#D6006F;
  letter-spacing:-.03em;margin-bottom:6px;
}
.stars-sum span{
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:#6B6478;line-height:1.45;
}
@media (max-width:520px){.stars-sum{grid-template-columns:1fr;gap:8px}}

/* ============================================================
   «ЯК ВЛАШТОВАНИЙ СЕЗОН» НА СВІТЛОМУ
   Темні токени лишалися сірим текстом на білому — нечитабельно.
   Тут увесь блок перебирається під світле тло, а смуга прогресу
   стає помітно яскравішою.
   ============================================================ */
.sec-light .path{
  background:#fff;border-color:rgba(20,10,26,.1);
  box-shadow:0 16px 40px rgba(30,10,40,.08);
}
.sec-light .pnode-n{
  background:#F4EFF6;border-color:rgba(20,10,26,.14);color:#6B6478;
}
.sec-light .pnode-t{color:#6B6478}
.sec-light .pnode:hover .pnode-n{border-color:var(--pink);color:#120D18}
.sec-light .pnode.done .pnode-n{
  background:rgba(255,46,136,.16);border-color:var(--pink);color:#C2005F;
}
.sec-light .pnode.on .pnode-n{
  background:linear-gradient(180deg,#FF2E88,#C2005F);border-color:#fff;color:#fff;
  box-shadow:0 0 0 4px rgba(255,46,136,.16), 0 10px 24px rgba(255,46,136,.35);
}
.sec-light .pnode.on .pnode-t{color:#120D18}
.sec-light .path-line{
  background:#EDE4F0;box-shadow:inset 0 0 0 1px rgba(20,10,26,.08);
}
.sec-light .path-line i{
  background:linear-gradient(90deg,#FF2E88,#FF57A0);
  box-shadow:0 0 14px rgba(255,46,136,.5);
}
.sec-light .path-heart{color:#DCD1E2}
.sec-light .path-heart.got{color:var(--pink);filter:drop-shadow(0 0 8px rgba(255,46,136,.5))}
.sec-light .path-runner{border-color:#fff;box-shadow:0 0 0 4px rgba(255,46,136,.16), 0 10px 24px rgba(255,46,136,.45)}
.sec-light .path-runner::after{border-top-color:#fff}
.sec-light .pstep-dur{
  background:rgba(255,46,136,.12);color:#C2005F;
  box-shadow:inset 0 0 0 1.5px rgba(255,46,136,.4);
}
.sec-light .pstep-t{color:#120D18}
.sec-light .pstep-body{border-top-color:rgba(20,10,26,.1)}
.sec-light .pstep-k{color:#6B6478}
.sec-light .pstep-list li{color:#3A3145}
.sec-light .pstep-res{
  background:#FDF0F6;border-color:rgba(255,46,136,.3);
}
.sec-light .pstep-res p{color:#2A2331}
.sec-light .pstep-res-k{color:#C2005F}
.sec-light .path-nav{border-top-color:rgba(20,10,26,.1)}
.sec-light .path-pos{color:#6B6478}
.sec-light .path-pos b{color:#120D18}
.sec-light .tl-dur{color:#C2005F}

/* ============================================================
   КРОК 3 НА ТЕЛЕФОНІ
   Три однакові прямокутники підряд читалися як список, а не як
   вибір. Тут це компактні рядки з номером і стрілкою.
   ============================================================ */
@media (max-width:760px){
  .fork{padding:18px}
  .fork-t{font-size:19px;margin-top:12px}
  .fork-opts{gap:8px}
  .fork-out{padding:16px 18px}
  .ways{gap:10px}
  .way{padding:18px}
}

/* ============================================================
   ПІДКАЗКА ПРО ЕТАПИ
   На телефоні підписи вузлів приховані, і було незрозуміло, що по
   них клікають. Рядок над картою це знімає.
   ============================================================ */
.path-hint{
  margin:0 0 14px;text-align:center;
  font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);
}
.sec-light .path-hint{color:#6B6478}
/* Вузол має виглядати натискним: тінь і легкий підйом на дотик. */
.pnode-n{box-shadow:0 4px 12px rgba(0,0,0,.25)}
.sec-light .pnode-n{box-shadow:0 4px 12px rgba(30,10,40,.1)}
.pnode:active .pnode-n{transform:scale(.94)}

/* ============================================================
   ПІДСУМОК ВИБОРУ БІЛЯ ЗАЯВКИ
   ============================================================ */
.pickbox{
  margin-bottom:20px;padding:18px 20px;border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(233,198,126,.14),rgba(233,198,126,.04));
  border:1px solid rgba(233,198,126,.45);
}
.pickbox-k{
  display:block;font-family:"JetBrains Mono",monospace;font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin-bottom:12px;
}
.pickbox-rows{display:grid;gap:8px}
.pickbox-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding-bottom:8px;border-bottom:1px dashed rgba(233,198,126,.3);
}
.pickbox-row:last-child{border-bottom:0;padding-bottom:0}
.pickbox-row > span{
  flex:none;font-family:"JetBrains Mono",monospace;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.pickbox-row b{
  text-align:right;font-family:"Montserrat",sans-serif;font-weight:800;
  font-size:14px;color:var(--gold-1);line-height:1.3;
}
.pickbox-note{margin:12px 0 0;font-size:12px;color:var(--muted);line-height:1.5}

/* Сповіщення: спершу що саме зарахували, потім навіщо. */
.toast span{
  font-family:"Montserrat",sans-serif;font-weight:900;font-size:15px;
  color:var(--gold-ink);letter-spacing:-.01em;
}
.toast b{
  font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(42,27,6,.62);
}

/* ============================================================
   ПЕРШИЙ ЕКРАН — компактніше
   Заголовок має лягати у два рядки, а не в три, і крок 1 має
   підтягнутися вище: між ними було забагато повітря.
   ============================================================ */
.hero-inner .h-xl{margin-bottom:16px}
.hero .pills{margin-bottom:14px}
.hero-lede{margin:0 0 18px;font-size:15.5px;line-height:1.5}
.hero .picker{margin-top:0}

@media (max-width:520px){
  /* Розмір підібраний так, щоб «Перше онлайн-реаліті» стояло одним
     рядком — інакше заголовок розпадався на три. */
  .h-xl{font-size:23px;line-height:1.14;letter-spacing:-.03em}
  .hero-inner .h-xl{margin-bottom:14px}
  .hero-lede{font-size:14.5px;margin-bottom:16px}
}
@media (max-width:380px){
  .h-xl{font-size:21px}
  .pills-3 .pill{font-size:9px;padding:9px 4px}
}

/* ============================================================
   ВІДЕО З YOUTUBE
   Картка — превʼю з кнопкою. Плеєр зʼявляється на її місці
   після кліку, тож сторінка не тягне YouTube без потреби.
   ============================================================ */
.ytgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ytv{
  display:flex;flex-direction:column;gap:0;padding:0;text-align:left;
  border-radius:var(--r-lg);overflow:hidden;background:#fff;
  border:1px solid rgba(20,10,26,.1);
  box-shadow:0 12px 34px rgba(30,10,40,.08);
  transition:transform .18s ease, box-shadow .25s ease, border-color .2s ease;
}
.ytv:hover{
  transform:translateY(-4px);border-color:rgba(255,46,136,.5);
  box-shadow:0 26px 60px rgba(255,46,136,.2);
}
.ytv:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.ytv-ph{
  position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#0E0810;
}
.ytv-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.ytv:hover .ytv-ph img{transform:scale(1.04)}
.ytv-ph iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ytv-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:62px;height:62px;border-radius:50%;
  background:linear-gradient(180deg,var(--gold-1),var(--gold-3));
  box-shadow:0 10px 30px rgba(0,0,0,.45);
  transition:transform .18s ease;
}
.ytv-play::after{
  content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);
  border-left:19px solid var(--gold-ink);
  border-top:12px solid transparent;border-bottom:12px solid transparent;
}
.ytv:hover .ytv-play{transform:translate(-50%,-50%) scale(1.08)}
.ytv.playing .ytv-play{display:none}
.ytv-tx{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.ytv-tx b{
  font-family:"Montserrat",sans-serif;font-weight:900;font-size:15px;
  line-height:1.25;color:#120D18;letter-spacing:-.015em;
}
.ytv-tx > span{
  font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;color:#C2005F;
}
.ytcta{
  display:flex;align-items:center;justify-content:center;gap:16px;
  flex-wrap:wrap;margin-top:24px;
}
.ytcta span{
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:#6B6478;
}
@media (max-width:900px){.ytgrid{grid-template-columns:repeat(2,1fr);gap:12px}}
@media (max-width:600px){
  .ytgrid{grid-template-columns:1fr;gap:12px}
  .ytv-tx{padding:14px 15px 16px}
  .ytv-tx b{font-size:14.5px}
  .ytv-play{width:52px;height:52px}
  .ytv-play::after{border-left-width:16px;border-top-width:10px;border-bottom-width:10px}
}

/* ============================================================
   ПЕРСОНАЖ У КРОЦІ 3
   Перед вибором місії показуємо, кого обрали і які задачі типові
   для цього напрямку — щоб місія обиралася не в порожнечі.
   ============================================================ */
.fork-who{
  display:flex;flex-direction:column;gap:8px;align-items:flex-start;
  margin-bottom:22px;padding:18px 20px;border-radius:var(--r-md);
  background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.22);
  transition:background .22s ease, border-color .22s ease;
}
.fork-who.on{
  background:rgba(255,46,136,.12);
  border:1px solid rgba(255,46,136,.45);
}
.fork-who-k{
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);
}
.fork-who b{
  font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(17px,2.4vw,22px);line-height:1.15;color:var(--white);
  letter-spacing:-.02em;
}
.fork-who p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.fork-who p span{display:block}
.fork-who p span + span{margin-top:6px}
.fork-who.on p span{
  position:relative;padding-left:22px;color:var(--text);
}
.fork-who.on p span::before{
  content:"";position:absolute;left:0;top:.34em;width:12px;height:12px;
  background:var(--pink);
  -webkit-mask:var(--bg-mark) center/contain no-repeat;
          mask:var(--bg-mark) center/contain no-repeat;
}
.fork-who-back{
  font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pink);
  text-decoration:none;
}
.fork-who-back:hover{color:#fff}
@media (max-width:520px){
  .fork-who{padding:14px 16px;margin-bottom:18px}
  .fork-who p{font-size:13px}
}

/* ============================================================
   КРОК 1 — ЗНАЙОМСТВО
   Ім'я й досвід на початку: далі сторінка звертається на ім'я,
   а наприкінці все складається в досьє гравця.
   ============================================================ */
.hello{
  width:100%;margin:0 0 14px;padding:24px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(233,198,126,.12),rgba(255,255,255,.03));
  border:1px solid rgba(233,198,126,.42);
  box-shadow:0 22px 54px rgba(0,0,0,.5);
}
.hello-head{display:flex;flex-direction:column;gap:9px;margin-bottom:18px}
.hello-kicker{
  align-self:flex-start;padding:7px 16px;border-radius:var(--r-pill);
  background:rgba(233,198,126,.16);
  box-shadow:inset 0 0 0 1.5px rgba(233,198,126,.55);
  font-family:"Montserrat",sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-1);
}
.hello-title{
  margin:0;font-family:"Montserrat",sans-serif;font-weight:900;
  font-size:clamp(21px,2.8vw,28px);line-height:1.1;color:var(--white);
  text-transform:uppercase;letter-spacing:-.025em;
}
.hello-sub{margin:0;font-size:14px;line-height:1.5;color:var(--muted);max-width:50ch}

.hello-fld{display:flex;flex-direction:column;gap:7px;max-width:340px}
.hello-fld > span{
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
}
.hello-fld input{
  width:100%;padding:14px 16px;border-radius:var(--r-md);
  background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.16);
  font-family:"Montserrat",sans-serif;font-size:16px;font-weight:700;color:#fff;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.hello-fld input::placeholder{color:var(--faint);font-weight:400}
.hello-fld input:focus{
  outline:none;border-color:var(--gold-2);
  box-shadow:0 0 0 3px rgba(233,198,126,.18);
}

.hello-exp{margin-top:18px}
.hello-exp-k{
  display:block;margin-bottom:10px;
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
}
.hello-exp-opts{display:flex;flex-wrap:wrap;gap:8px}
.expo{
  padding:10px 18px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.16);
  font-family:"Montserrat",sans-serif;font-weight:800;font-size:13px;color:var(--text);
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .14s;
}
.expo:hover{border-color:rgba(233,198,126,.6);color:#fff}
.expo.on{
  background:linear-gradient(180deg,var(--gold-1),var(--gold-3));
  border-color:#fff;color:var(--gold-ink);
  box-shadow:0 10px 26px rgba(233,198,126,.4);
}

.hello-done{
  display:flex;align-items:center;gap:12px;margin-top:18px;
  padding:13px 16px;border-radius:var(--r-md);
  background:rgba(233,198,126,.14);border:1px solid rgba(233,198,126,.45);
  font-size:14.5px;color:var(--text);
}
.hello-done b{color:#fff}
.hello-check{
  width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:linear-gradient(180deg,var(--gold-1),var(--gold-3));
  color:var(--gold-ink);font-size:13px;font-weight:800;
}

@media (max-width:520px){
  .hello{padding:18px}
  .hello-fld{max-width:none}
  .expo{padding:9px 14px;font-size:12.5px}
}

/* Персонаж у кроці 4 має виділятися: це головний рядок блока. */
.fork-who.on{
  background:linear-gradient(180deg,rgba(255,46,136,.2),rgba(255,46,136,.07));
  border:2px solid rgba(255,46,136,.6);
  box-shadow:0 16px 40px rgba(255,46,136,.22);
}
.fork-who.on .fork-who-k{color:var(--pink-soft)}
.fork-who.on b{font-size:clamp(18px,2.6vw,24px)}

/* Уся історія Ірини — під розкриттям, щоб картка не тягнулася. */
.founder-more{margin-top:6px}
.founder-more > summary{
  cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px;border-radius:var(--r-btn);
  background:rgba(255,46,136,.1);
  box-shadow:inset 0 0 0 2px rgba(255,46,136,.45);
  font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:#C2005F;
}
.founder-more > summary::-webkit-details-marker{display:none}
.founder-more > summary::after{content:"↓";font-size:13px}
.founder-more[open] > summary::after{content:"↑"}
.founder-more > summary:hover{background:rgba(255,46,136,.18)}
.founder-more-in{padding-top:16px}
.sec-light .founder-more-in .iryna-tx p{color:#3A3145}
.sec-light .founder-more-in .iryna-tx p b{color:#120D18}
.sec-light .founder-more-in .iryna-q{background:#FDF0F6;color:#2A2331}
.sec-light .founder-more-in .iryna-facts div{background:#FBF7FC;border-color:rgba(20,10,26,.08)}
.sec-light .founder-more-in .iryna-facts b{color:#D6006F}
.sec-light .founder-more-in .iryna-facts span{color:#6B6478}

/* ============================================================
   ЗАСНОВНИЦІ НА СВІТЛОМУ
   Блок переїхав на білий фон, а токени лишалися темними —
   світлий текст по білому не читався.
   ============================================================ */
.sec-light .founder{
  background:#fff;border-color:rgba(20,10,26,.1);
  box-shadow:0 16px 40px rgba(30,10,40,.08);
}
.sec-light .founder-nm{color:#120D18}
.sec-light .founder-rl{color:#C2005F}
.sec-light .founder p{color:#3A3145}
.sec-light .founder-sub{color:#6B6478!important}
.sec-light .founder-list li{color:#3A3145}
.sec-light .founder-q{
  background:#FDF0F6;border-left-color:var(--pink);color:#2A2331;
}
.sec-light .founder-todo{
  background:#FBF7FC;border-color:rgba(20,10,26,.18);color:#6B6478!important;
}
.sec-light .founder .vid-frame{
  background:#F1EAF4;border-color:rgba(255,46,136,.35);
  box-shadow:0 14px 34px rgba(255,46,136,.14);
}
.sec-light .founder .vid-note{color:#120D18}
.sec-light .founder .vid-sub{color:#6B6478}

/* Стаж у beauty поруч із персонажем — окремою плашкою. */
.fork-who-exp{
  align-self:flex-start;padding:5px 13px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.1);
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:#fff;
}
.fork-who.on .fork-who-exp{background:rgba(255,255,255,.22)}

/* Три шляхи замість двох: сітка на три колонки. */
.ways-3{grid-template-columns:repeat(3,1fr)}
.ways-k{
  margin:0 0 14px;text-align:center;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
@media (max-width:1000px){.ways-3{grid-template-columns:1fr}}

/* ============================================================
   РІШЕННЯ ПІД ВІДМІЧЕНІ ПУНКТИ
   Людина бачить відповідь саме на те, що обрала, а не загальні слова.
   ============================================================ */
.quiz-fix{
  margin:4px 0 0;padding:16px 18px;border-radius:var(--r-md);
  background:rgba(233,198,126,.12);border:1px solid rgba(233,198,126,.42);
}
.quiz-fix-k{
  display:block;margin-bottom:10px;
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-2);
}
.quiz-fix ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.quiz-fix li{
  position:relative;padding-left:24px;font-size:14px;line-height:1.5;color:var(--text);
}
.quiz-fix li::before{
  content:"";position:absolute;left:0;top:.36em;width:12px;height:12px;
  background:var(--gold-2);
  -webkit-mask:var(--check) center/contain no-repeat;
          mask:var(--check) center/contain no-repeat;
}
