/* ============================================================
   TOP MUSIC — вокальный конкурс · неон-сцена
   Fonts: Unbounded (display) · Montserrat (ui)
   ============================================================ */
:root{
  --bg:#070718; --bg2:#0e0b2e;
  --card:rgba(255,255,255,.05); --card-brd:rgba(150,170,255,.18);
  --ink:#f3f4ff; --muted:#a7b0dd;
  --blue:#3b82f6; --cyan:#35e6ff; --violet:#7c3aed; --magenta:#ff2fbf; --pink:#ff6ad5;
  --gold:#ffd479; --gold-deep:#c9962e;
  --grad:linear-gradient(100deg,#ffd479,#ff9d3c 45%,#c9962e);
  --grad-neon:linear-gradient(100deg,#3b82f6,#7c3aed 52%,#ff2fbf);
  --display:'Unbounded', system-ui, sans-serif;
  --sans:'Montserrat', system-ui, sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --pad:clamp(20px,5vw,90px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans); background:var(--bg); color:var(--ink); line-height:1.6;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
::selection{background:var(--magenta);color:#fff}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
:focus:not(:focus-visible){outline:none}

/* chrome logotype */
.chrome{
  font-family:var(--display); font-weight:800; font-style:italic; letter-spacing:-.01em;
  background:linear-gradient(180deg,#fffaf0 0%,#ffe6ac 26%,#e0a43a 47%,#fffdf6 60%,#ffd479 78%,#b8801f 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 2px 14px rgba(255,190,90,.5)) drop-shadow(0 0 40px rgba(201,150,46,.34));
}

/* shared type */
.eyebrow{font-family:var(--sans);font-weight:700;font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow.center{text-align:center;display:block}
.h2{font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,5.5vw,3.6rem);line-height:1.02;letter-spacing:-.01em}
.h2.center{text-align:center}

/* ============================================================ BACKGROUND FX */
.bg-stage{position:fixed;inset:0;z-index:-2;background:
  radial-gradient(120% 90% at 50% -10%, #170f3d 0%, #0b0a24 45%, #050512 100%)}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;will-change:transform}
.b1{width:46vw;height:46vw;left:-10vw;top:-8vw;background:radial-gradient(circle,#2f6bff,transparent 65%)}
.b2{width:42vw;height:42vw;right:-8vw;top:18vh;background:radial-gradient(circle,#ff2fbf,transparent 65%);opacity:.4}
.b3{width:40vw;height:40vw;left:20vw;bottom:-10vw;background:radial-gradient(circle,#7c3aed,transparent 65%);opacity:.45}
.notes{position:fixed;inset:0;z-index:-1;pointer-events:none}
.grain{position:fixed;inset:-50%;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:var(--grad);box-shadow:0 0 12px rgba(124,58,237,.8)}

/* ============================================================ INTRO */
/* Общая оболочка; всё остальное — в intro-live.css */
.intro{position:fixed;inset:0;z-index:100;overflow:hidden;background:#030309}
.intro.gone{display:none}
html.intro-lock,html.intro-lock body{overflow:hidden}
/* блик кнопки ВК в подвале (раньше жил рядом с занавесом) */
@keyframes sheen{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* ============================================================ HERO */
.hero{position:relative;min-height:100svh;min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:clamp(90px,14vh,150px) var(--pad) 0}
.spotlight{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 50% at 50% 0%, rgba(124,90,255,.35), transparent 70%),
             conic-gradient(from 180deg at 50% -10%, transparent 44%, rgba(120,160,255,.18) 50%, transparent 56%)}
.hero__inner{max-width:1000px;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2vh,20px)}
.hero__badge{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:.8rem;letter-spacing:.2em;
  text-transform:uppercase;padding:.5em 1.2em;border:1px solid var(--card-brd);border-radius:100px;background:var(--card);color:var(--cyan)}
.hero__badge i{color:var(--magenta);font-style:normal}
.hero__logo{font-size:clamp(3.4rem,15vw,11rem);line-height:.9}
.hero__sub{font-family:var(--sans);font-weight:700;font-size:clamp(1rem,3vw,1.7rem);text-transform:uppercase;letter-spacing:.04em}
.hero__tag{color:var(--muted);font-size:clamp(1rem,2.3vw,1.2rem);max-width:32ch}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.hero__org{margin-top:14px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.scrollcue{position:absolute;bottom:clamp(16px,3vh,30px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;
  align-items:center;gap:9px;text-decoration:none;color:#fff;font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.scrollcue__mouse{width:27px;height:44px;border:2px solid var(--cyan);border-radius:15px;position:relative;box-shadow:0 0 18px rgba(53,230,255,.55)}
.scrollcue__mouse::after{content:'';position:absolute;left:50%;top:8px;width:4px;height:9px;border-radius:2px;background:var(--cyan);
  transform:translateX(-50%);animation:wheel 1.5s ease-in-out infinite}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}25%{opacity:1}80%,100%{opacity:0;transform:translate(-50%,13px)}}
.scrollcue__txt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.scrollcue__ch{width:22px;height:22px;color:var(--cyan);animation:bob 1.5s var(--ease) infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

/* ============================================================ BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;cursor:pointer;position:relative;
  padding:1em 2.2em;border-radius:100px;font-family:var(--sans);font-weight:700;font-size:.86rem;letter-spacing:.04em;
  border:1px solid transparent;overflow:hidden;will-change:transform;transition:transform .3s var(--ease),box-shadow .3s}
.btn span{position:relative;z-index:1}
.btn--grad{background:var(--grad);color:#fff;box-shadow:0 8px 30px rgba(124,58,237,.45)}
.btn--grad:hover{box-shadow:0 12px 42px rgba(255,47,191,.5);transform:translateY(-2px)}
.btn--ghost{background:var(--card);border-color:var(--card-brd);color:var(--ink)}
.btn--ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.btn--big{padding:1.15em 2.8em;font-size:.95rem;width:100%}

/* ============================================================ ABOUT */
.about{position:relative;padding:clamp(70px,12vh,150px) var(--pad);max-width:1200px;margin:0 auto}
.eq{display:flex;gap:6px;align-items:flex-end;height:40px;margin:0 auto clamp(30px,5vh,50px);width:max-content}
.eq i{width:6px;height:100%;border-radius:4px;background:var(--grad);transform-origin:bottom;animation:eq 1.1s ease-in-out infinite}
.eq i:nth-child(2n){animation-duration:.8s}.eq i:nth-child(3n){animation-duration:1.4s}.eq i:nth-child(4n){animation-duration:.6s}
@keyframes eq{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
.about__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center}
.about__text{display:flex;flex-direction:column;gap:16px}
.about__text .h2{margin:2px 0 6px}
.about__text p{color:var(--muted);font-size:clamp(1rem,2vw,1.1rem)}
.about__text b{color:var(--ink)}
.stats{display:flex;gap:clamp(18px,4vw,44px);margin-top:14px}
.stat b{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,5vw,2.8rem);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;line-height:1}
.stat span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.about__photo{border-radius:20px;overflow:hidden;border:1px solid var(--card-brd);box-shadow:0 30px 80px -30px rgba(124,58,237,.6)}
.about__photo img{width:100%;aspect-ratio:3/4;object-fit:cover}
@media(max-width:820px){.about__grid{grid-template-columns:1fr}.about__photo{max-width:380px;margin:0 auto}}

/* ============================================================ NOMINATIONS */
.noms{padding:clamp(60px,10vh,130px) var(--pad);max-width:1150px;margin:0 auto;text-align:center}
.noms .h2{margin:8px 0 clamp(30px,5vh,50px)}
.noms__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:920px;margin:0 auto}
.nom{display:inline-flex;align-items:center;gap:.55em;padding:.9em 1.4em;border-radius:100px;background:var(--card);
  border:1px solid var(--card-brd);font-weight:600;white-space:nowrap;line-height:1;
  transition:transform .3s var(--ease),border-color .3s,background .3s}
.nom:hover{transform:translateY(-4px);border-color:var(--magenta);background:rgba(255,47,191,.08)}
.nom svg{width:20px;height:20px;flex:0 0 auto;color:var(--cyan)}
.noms__note{margin-top:24px;color:var(--muted);font-size:.95rem}

/* ============================================================ AGES */
.ages{padding:clamp(60px,10vh,130px) var(--pad);max-width:1100px;margin:0 auto;text-align:center}
.ages .h2{margin:8px 0 clamp(30px,5vh,50px)}
.ages__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.age{padding:1.6em 1em;border-radius:18px;background:var(--card);border:1px solid var(--card-brd);position:relative;overflow:hidden;transition:transform .3s var(--ease)}
.age::before{content:'';position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .3s}
.age:hover{transform:translateY(-4px)}.age:hover::before{opacity:.12}
.age b{font-family:var(--display);font-weight:800;font-size:clamp(1.3rem,3.5vw,1.8rem);display:block;position:relative}
.age span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);position:relative}

/* ============================================================ STEPS */
.steps{padding:clamp(60px,10vh,130px) var(--pad);max-width:1150px;margin:0 auto;text-align:center}
.steps .h2{margin:8px 0 clamp(30px,5vh,50px)}
.steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}
.step{padding:clamp(24px,3vw,40px);border-radius:20px;background:var(--card);border:1px solid var(--card-brd);text-align:left}
.step__n{font-family:var(--display);font-weight:800;font-size:2.4rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step h3{font-family:var(--display);font-weight:700;font-size:1.25rem;margin:.4em 0 .3em}
.step p{color:var(--muted);font-size:.98rem}
@media(max-width:760px){.steps__grid{grid-template-columns:1fr}}

/* ============================================================ GALLERY */
.gallery{padding:clamp(60px,10vh,130px) var(--pad);max-width:1200px;margin:0 auto;text-align:center}
.gallery .h2{margin:8px 0 clamp(30px,5vh,50px)}
.gallery__grid{column-count:4;column-gap:14px;max-width:1200px;margin:0 auto}
@media(max-width:900px){.gallery__grid{column-count:3}}
@media(max-width:560px){.gallery__grid{column-count:2}}
.g-item{break-inside:avoid;margin:0 0 14px;border-radius:16px;overflow:hidden;border:1px solid var(--card-brd)}
.g-item img{width:100%;height:auto;display:block;transition:transform .8s var(--ease)}
.g-item:hover img{transform:scale(1.05)}

/* ============================================================ JURY */
.jury{padding:clamp(60px,10vh,130px) var(--pad);max-width:1200px;margin:0 auto}
.jury__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.jury__photo{border-radius:20px;overflow:hidden;border:1px solid var(--card-brd);box-shadow:0 30px 80px -30px rgba(59,130,246,.6)}
.jury__photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.jury__text{display:flex;flex-direction:column;gap:14px}
.jury__text .h2{margin:2px 0 4px}
.jury__text p{color:var(--muted);font-size:clamp(1rem,2vw,1.1rem)}
@media(max-width:820px){.jury__grid{grid-template-columns:1fr}.jury__photo{order:-1;max-width:520px;margin:0 auto}}

/* ============================================================ ANKETA / FORM */
.anketa{padding:clamp(60px,10vh,130px) var(--pad)}
.anketa__card{max-width:760px;margin:0 auto;background:linear-gradient(180deg,rgba(30,28,64,.7),rgba(12,10,36,.7));
  border:1px solid var(--card-brd);border-radius:26px;padding:clamp(30px,5vw,64px);
  box-shadow:0 40px 100px -40px rgba(124,58,237,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-align:center}
.anketa .h2{margin:8px 0 10px}
.anketa__lead{color:var(--muted);margin-bottom:clamp(24px,4vh,36px)}
.form{display:flex;flex-direction:column;gap:16px;text-align:left}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.row{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:8px}
.fld>span{font-size:.76rem;font-weight:600;letter-spacing:.06em;color:var(--muted)}
.fld input,.fld select{width:100%;min-height:50px;padding:12px 16px;border-radius:12px;color:var(--ink);
  background:rgba(255,255,255,.05);border:1px solid var(--card-brd);font-family:var(--sans);font-size:1rem;
  transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.fld select,.combo__input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23a7b0dd' stroke-width='1.8'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:44px}
.fld input::placeholder{color:rgba(167,176,221,.6)}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(53,230,255,.18)}
.fld option{background:#141230;color:var(--ink)}
.fld input.err,.fld select.err{border-color:var(--magenta);box-shadow:0 0 0 3px rgba(255,47,191,.22)}
.form__req{font-size:.8rem;color:var(--muted)}
.form__req i{color:var(--magenta);font-style:normal}
.agree.err span{color:var(--magenta)}
.agree{display:flex;gap:12px;align-items:flex-start;font-size:.86rem;color:var(--muted);cursor:pointer;line-height:1.4}
.agree input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--violet);margin-top:1px}
.form__status{min-height:1.2em;text-align:center;font-size:.9rem;color:var(--muted)}
.form__status.err{color:var(--magenta)}
.form__success{text-align:center;padding:clamp(20px,4vh,36px) 0}
.success__ic{width:70px;height:70px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;
  background:var(--grad);box-shadow:0 10px 40px rgba(124,58,237,.6)}
.success__ic svg{width:34px;height:34px;color:#fff}
.form__success h3{font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,4vw,2.2rem)}
.form__success p{color:var(--muted);margin-top:8px}
.form[hidden]{display:none}

/* ============================================================ FOOTER */
.foot{text-align:center;padding:clamp(60px,10vh,120px) var(--pad);border-top:1px solid var(--card-brd);
  display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:40px}
.foot__logo{font-size:clamp(2rem,7vw,3.4rem)}
.foot__org{color:var(--muted);font-size:.95rem;line-height:1.6}
.vk-btn{display:inline-flex;align-items:center;gap:.5em;padding:.8em 1.6em;border-radius:100px;background:var(--card);
  border:1px solid var(--card-brd);font-weight:700;transition:transform .3s var(--ease),border-color .3s,color .3s;will-change:transform}
.vk-btn svg{width:24px;height:24px;color:#4a76a8}
.vk-btn:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}
.foot__vk{display:flex;flex-direction:column;align-items:center;gap:14px;margin:6px 0}
.foot__vk-label{font-weight:700;font-size:clamp(1rem,2.9vw,1.35rem);line-height:1.35;max-width:24ch;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.vk-cta{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:1.05em 2.3em;border-radius:100px;
  background:var(--grad);color:#fff;font-weight:700;font-size:clamp(.95rem,2.4vw,1.05rem);
  box-shadow:0 12px 40px rgba(124,58,237,.5);position:relative;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s;will-change:transform}
.vk-cta:hover{transform:translateY(-3px);box-shadow:0 16px 52px rgba(255,47,191,.55)}
.vk-cta svg{width:26px;height:26px;flex:0 0 auto;position:relative;z-index:1}
.vk-cta span{position:relative;z-index:1}
.vk-cta::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.45),transparent 70%);transform:translateX(-120%);animation:sheen 3.2s ease-in-out infinite}
.foot__copy{color:var(--muted);font-size:.78rem;opacity:.7;margin-top:6px}

/* required mark + policy link + footer contacts + modal */
.fld>span i{color:var(--magenta);font-style:normal}
.policy-link{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--cyan);text-decoration:underline;text-underline-offset:2px}
.policy-link:hover{color:var(--pink)}
.foot__contacts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.foot__policy{margin-top:4px;font-size:.82rem}

.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .3s var(--ease)}
.modal[hidden]{display:none}
.modal.open{opacity:1}
.modal__backdrop{position:absolute;inset:0;background:rgba(4,4,15,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal__box{position:relative;max-width:640px;width:100%;max-height:86vh;overflow:auto;border-radius:22px;
  background:linear-gradient(180deg,#151233,#0c0a24);border:1px solid var(--card-brd);
  box-shadow:0 40px 100px -30px rgba(124,58,237,.7);padding:clamp(24px,4vw,44px);transform:translateY(16px);transition:transform .3s var(--ease)}
.modal.open .modal__box{transform:none}
.modal__close{position:absolute;top:12px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--card-brd);
  background:var(--card);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;transition:border-color .3s,color .3s}
.modal__close:hover{border-color:var(--magenta);color:var(--magenta)}
.modal__content h3{font-family:var(--display);font-weight:800;font-size:clamp(1.3rem,3.5vw,1.8rem);margin-bottom:16px;padding-right:34px}
.modal__content p{color:var(--muted);font-size:.92rem;line-height:1.65;margin-bottom:12px}
.modal__content b{color:var(--ink)}
.modal__note{border-top:1px solid var(--card-brd);padding-top:12px;font-style:italic}

/* ============================================================ REVEAL / MOTION */
[data-in]{opacity:0;transform:translateY(28px)}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  [data-in]{opacity:1!important;transform:none!important}
  .intro{display:none}
  .notes,.grain{display:none}
}


/* ── выбор города проведения: комбобокс с поиском ── */
.fld>span label{cursor:pointer}
.combo__wrap{position:relative}
.combo.open .combo__input{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(53,230,255,.18)}
.combo__list{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;
  margin:0;padding:6px;list-style:none;border-radius:14px;background:var(--bg2);
  border:1px solid var(--card-brd);box-shadow:0 20px 54px rgba(0,0,0,.55)}
.combo__list[hidden]{display:none}
.combo__opt{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:10px;cursor:pointer;line-height:1.25}
.combo__opt b{font-weight:600;font-size:.95rem;color:var(--ink)}
.combo__opt i{font-style:normal;font-size:.74rem;color:var(--muted)}
.combo__opt:hover,.combo__opt.on{background:var(--card)}
.combo__opt mark{background:none;color:var(--cyan);font-weight:700}
.combo__empty{padding:14px;font-size:.85rem;color:var(--muted);text-align:center}

/* ── карточка менеджера и положения ── */
.mgr{display:flex;flex-direction:column;gap:14px;padding:16px 18px;border-radius:16px;
  background:var(--card);border:1px solid var(--card-brd)}
.mgr[hidden]{display:none}
.mgr__city{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.mgr__row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.mgr__who{display:flex;flex-direction:column;gap:3px;min-width:0}
.mgr__who span{font-size:.72rem;letter-spacing:.06em;color:var(--muted)}
.mgr__who b{font-family:var(--display);font-weight:700;font-size:1.05rem;line-height:1.2}
.mgr__links{display:flex;gap:10px;flex-wrap:wrap}
.mgr .vk-btn{font-size:.86rem;padding:.7em 1.3em}
@media (max-width:560px){
  .mgr__row{flex-direction:column;align-items:stretch}
  .mgr__links{flex-direction:column}
  .mgr .vk-btn{justify-content:center}
}

/* ── девиз конкурса в шапке ── */
.hero__slogan{font-family:var(--display);font-weight:700;line-height:1.25;
  font-size:clamp(1.05rem,3vw,1.75rem);max-width:20ch;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ── лента жюри: один ряд с прокруткой, страница не растёт в фотоальбом ── */
.jury__strip{position:relative;margin-top:clamp(24px,3.5vw,42px)}
.jury__strip[hidden]{display:none}
.jury__track{display:flex;gap:clamp(10px,1.4vw,16px);overflow-x:auto;padding-bottom:4px;
  scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.jury__track::-webkit-scrollbar{display:none}
.jury__track.drag{cursor:grabbing;scroll-snap-type:none}
.jury__track figure{margin:0;flex:0 0 clamp(180px,25vw,290px);scroll-snap-align:start;
  border-radius:14px;overflow:hidden;border:1px solid var(--card-brd);background:var(--card);
  transition:border-color .35s var(--ease)}
.jury__track img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;
  transition:transform .6s var(--ease);pointer-events:none;user-select:none}
@media(hover:hover){
  .jury__track figure:hover{border-color:var(--magenta)}
  .jury__track figure:hover img{transform:scale(1.06)}
}
/* мягкий край справа — видно, что лента продолжается */
.jury__strip::after{content:'';position:absolute;top:0;bottom:4px;right:-1px;width:clamp(28px,5vw,64px);
  pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg))}
.jury__strip.end::after{opacity:0;transition:opacity .3s}
.jury__sub{font-family:var(--display);font-weight:400;line-height:1.25;margin:-6px 0 2px;
  font-size:clamp(1rem,2.3vw,1.3rem);color:var(--ink);opacity:.82}

/* ── «Листайте вниз»: подсказка висит абсолютом у нижнего края шапки,
      а у самой шапки нижнего отступа не было — на невысоких и планшетных
      экранах контент наезжал на неё. Резервируем место под подсказку. ── */
.hero{padding-bottom:clamp(146px,19vh,172px)}
@media (max-height:640px){
  .scrollcue{display:none}                 /* места нет — подсказка только мешает */
  .hero{padding-bottom:clamp(24px,5vh,44px)}
}

/* ── выбор города для положения (модалка из шапки) ── */
.reg__search{width:100%;min-height:50px;padding:12px 16px;margin:4px 0 14px;border-radius:12px;
  color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--card-brd);
  font-family:var(--sans);font-size:1rem;outline:none;transition:border-color .25s,box-shadow .25s}
.reg__search:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(53,230,255,.18)}
.reg__search::placeholder{color:var(--muted);opacity:.7}
.reg__list{list-style:none;margin:0;padding:0;max-height:min(46vh,380px);overflow-y:auto;
  border-radius:12px;border:1px solid var(--card-brd)}
.reg__item{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:12px 15px;cursor:pointer;border-bottom:1px solid var(--card-brd);transition:background .2s}
.reg__item:last-child{border-bottom:none}
.reg__item:hover,.reg__item.on{background:var(--card)}
.reg__item b{font-weight:600;font-size:.97rem;color:var(--ink)}
.reg__item span{display:block;font-weight:400;font-size:.74rem;color:var(--muted);margin-top:2px}
.reg__item i{font-style:normal;flex:0 0 auto;font-size:.76rem;letter-spacing:.04em;
  color:var(--magenta);white-space:nowrap}
.reg__empty{padding:16px;text-align:center;font-size:.86rem;color:var(--muted)}

.reg__links{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 14px}
.reg__links .vk-btn{font-size:.86rem;padding:.72em 1.3em}
.reg__who{font-size:.82rem;color:var(--muted);margin-bottom:14px}
.reg__back{font-size:.84rem}
@media(max-width:520px){.reg__links{flex-direction:column}.reg__links .vk-btn{justify-content:center}}

/* ── формат участия: соло / дуэт / коллектив ── */
.segment{position:relative;display:flex;width:max-content;max-width:100%;margin:0 auto clamp(22px,3vh,30px);
  padding:5px;border-radius:100px;background:var(--card);border:1px solid var(--card-brd)}
.seg{position:relative;z-index:1;flex:1 1 0;min-width:clamp(86px,24vw,128px);border:none;background:none;cursor:pointer;
  padding:.7em 1.1em;border-radius:100px;font-family:var(--sans);font-weight:700;font-size:.9rem;
  color:var(--muted);transition:color .3s;white-space:nowrap}
.seg:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.seg.on{color:#fff}
.segment__pill{position:absolute;top:5px;left:5px;height:calc(100% - 10px);width:calc((100% - 10px) / 3);
  border-radius:100px;background:var(--grad);transition:transform .35s var(--ease);z-index:0}
.segment[data-mode="duet"] .segment__pill{transform:translateX(100%)}
.segment[data-mode="group"] .segment__pill{transform:translateX(200%)}
/* на телефоне переключатель во всю ширину карточки, иначе «Коллектив» не влезает */
@media(max-width:560px){
  .segment{width:100%}
  .seg{min-width:0;padding:.72em .2em;font-size:.82rem}
}
/* на узких телефонах карточка анкеты отдаёт часть отступа полям */
@media(max-width:420px){.anketa__card{padding-left:18px;padding-right:18px}}

/* ── финал: золотой акцент поверх базовой темы ── */
.hero__final{font-family:var(--display);font-weight:800;font-style:italic;letter-spacing:.42em;
  text-indent:.42em;font-size:clamp(1.1rem,4.2vw,2.1rem);line-height:1;margin-top:-2px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 26px rgba(255,190,90,.45))}
.hero__badge--final{border-color:rgba(255,212,121,.5);color:var(--gold)}
.hero__badge--final i{color:var(--gold)}
.spotlight{background:radial-gradient(60% 50% at 50% 0%, rgba(255,190,90,.26), transparent 70%),
  conic-gradient(from 180deg at 50% -10%, transparent 44%, rgba(255,212,121,.16) 50%, transparent 56%)}
.scrollcue__mouse{border-color:var(--gold);box-shadow:0 0 18px rgba(255,212,121,.45)}
.scrollcue__mouse::after,.scrollcue__ch{background:var(--gold);color:var(--gold)}
.vk-btn:hover,.combo__opt mark{color:var(--gold)}
.vk-btn:hover{border-color:var(--gold)}
.fld input:focus,.fld select:focus,.combo.open .combo__input,.reg__search:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,212,121,.2)}
.reg__item i{color:var(--gold)}
