/* ==========================================================================
   «Любимый» исполняет мечты — промо-лендинг.
   Макет: «сайт демо Любимый_.ai», десктоп 1920 × 1080 на экран, мобайл 394 × 844.
   Все размеры — calc(N * var(--u)), где N взято прямо из макета:
   1 --u == 1 пиксель макета (1920 на десктопе, 394 на мобайле).
   У позиционированных элементов координаты заданы переменными в разметке:
   --x --y --w --h --fs --lh (десктоп) и --mx --my --mw --mh --mfs --mlh (мобайл).
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
img{display:block;max-width:none;height:auto}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
p,h1,h2,h3{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit}

:root{
  /* --pvw ставит JS = ширина окна без полосы прокрутки / 100 */
  --u:calc(var(--pvw, 1vw) * 100 / 1920);
  --font:"Myriad Pro","Fira Sans","Arial Narrow",Arial,sans-serif;
  --hand:"Caveat","Segoe Print",cursive;
  --wine:#650a0b;         /* текст на белых кнопках */
  --ink:#310207;          /* текст в полях */
  --gold:#ffcb5e;         /* жёлтые заголовки шагов, значения в таблицах */
  --orange:#e39427;       /* футер, обводки */
  --btn-line:#d6822a;     /* обводка белых кнопок */
  --red:#c42026;
  --mu:var(--u);           /* единица внутри модалок, на мобайле мельче */
  --grad:radial-gradient(ellipse 75% 75% at 50% 50%, #c42026 0%, #b41f24 40%, #951a1d 66%, #7d1315 80%, #4c060a 100%);
}

body{
  font-family:var(--font);
  font-weight:800;
  line-height:1.16;
  color:#fff;
  background:#7a1216;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.is-locked{overflow:hidden}

[hidden]{display:none !important}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.m-only{display:none !important}

/* ---------- позиционирование по макету ---------- */
.a{
  position:absolute;
  left:calc(var(--x) * var(--u));
  top:calc(var(--y) * var(--u));
  width:calc(var(--w) * var(--u));
  height:calc(var(--h) * var(--u));
}
.c{transform:translateX(-50%);text-align:center;white-space:nowrap}
.t{font-size:calc(var(--fs) * var(--u));line-height:calc(var(--lh) * var(--u))}

/* ---------- экраны ---------- */
.page{position:relative;overflow:hidden}
.scr{
  position:relative;
  height:calc(1080 * var(--u));
  background:var(--grad);
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  overflow:hidden;
}
.hero      {background-image:url(../img/hero-bg.webp)}
@media (min-width:768px){.lang-kg .hero{background-image:url(../img/hero-bg-kg.webp)}}  /* KV с кыргызским логотипом и билетом */
.how       {background-image:url(../img/bg-how.webp)}
.instant   {background-image:url(../img/bg-instant.webp)}
.mainprize {background-image:url(../img/bg-main.webp)}
.winners   {background-image:url(../img/bg-winners.webp)}
.cabinet   {background-image:url(../img/bg-cabinet.webp)}

.title{font-weight:900;color:#fff;letter-spacing:-.005em}
.lead{font-weight:800}
.lead a{white-space:nowrap}

/* ---------- кнопки ---------- */
.btn{
  display:flex;align-items:center;justify-content:center;
  padding:0 .5em;
  font-weight:900;
  font-size:calc(var(--fs) * var(--u));
  line-height:1.05;
  color:var(--wine);
  text-align:center;
  background:#fff;
  border:calc(2.4 * var(--u)) solid var(--btn-line);
  border-radius:999px;
  box-shadow:0 0 calc(34 * var(--u)) calc(10 * var(--u)) rgba(255,166,82,.78);
  transition:transform .2s ease, box-shadow .2s ease;
  white-space:nowrap;
}
.btn:hover{transform:scale(1.03);box-shadow:0 0 calc(44 * var(--u)) calc(14 * var(--u)) rgba(255,190,110,.9)}
.btn:active{transform:scale(.98)}
.btn[disabled]{opacity:.6;pointer-events:none}

.pill{
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
  font-size:calc(33.5 * var(--u));
  color:var(--wine);
  background:#fff;
  border:calc(1.5 * var(--u)) solid #fff;
  border-radius:calc(14 * var(--u));
  transition:background .2s, color .2s, transform .2s;
}
.pill:hover{transform:translateY(calc(-2 * var(--u)))}
/* меню шапки: ширина пунктов — по тексту, промежутки делятся поровну (кыргызские названия длиннее) */
.nav{display:flex;gap:calc(22 * var(--u))}
.nav .pill{flex:1 1 auto;padding:0 calc(22 * var(--u));white-space:nowrap}
.lang-kg .nav .pill{font-size:calc(30 * var(--u));padding:0 calc(14 * var(--u))}
/* кыргызские подписи шагов длиннее русских — чуть мельче, чтобы не наезжали на цифры */
.lang-kg .step__h{font-size:calc(var(--fs) * .86 * var(--u))}
.pill[data-lang]{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.pill[data-lang].is-active{background:#fff;color:var(--wine);border-color:#fff}

/* ---------- шапка ---------- */
.header{position:fixed;left:0;top:0;right:0;height:0;z-index:50}
/* шапка закреплена; после прокрутки под ней появляется тёмная плашка */
.header::before{
  content:"";position:absolute;left:0;right:0;top:0;
  height:calc(132 * var(--u));
  background:linear-gradient(180deg,rgba(70,4,9,.96) 0%,rgba(70,4,9,.9) 72%,rgba(70,4,9,0) 100%);
  opacity:0;transition:opacity .25s;pointer-events:none;
}
body.is-scrolled .header::before{opacity:1}
/* переход по якорю: заголовок секции не прячется под шапку */
.scr,.faq{scroll-margin-top:calc(104 * var(--u))}
.account{display:flex;flex-direction:column;align-items:center}
.account__icon{
  display:flex;align-items:center;justify-content:center;
  width:calc(80 * var(--u));height:calc(80 * var(--u));
  background:#fff;border-radius:50%;
  box-shadow:0 0 calc(18 * var(--u)) rgba(255,190,110,.55);
  transition:transform .2s;
}
.account:hover .account__icon{transform:scale(1.06)}
.account__icon svg{width:58%;fill:#1d0305}
.account__label{margin-top:calc(7 * var(--u));font-size:calc(16 * var(--u));font-weight:900;color:#ffcf5e;white-space:nowrap}

.burger{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;gap:calc(3.5 * var(--u));
  border:calc(1.3 * var(--u)) solid rgba(255,255,255,.85);
  border-radius:calc(6 * var(--u));
}
.burger span{display:block;width:62%;height:calc(2.4 * var(--u));background:#fff;border-radius:2px}

/* ---------- первый экран ---------- */
.insta{font-weight:900;color:#fff}
.insta a{display:inline-flex;align-items:center;gap:.25em;margin-left:.2em}
.ig{
  position:relative;display:inline-block;flex:none;
  width:1.5em;height:1.5em;
  border:.14em solid currentColor;border-radius:.42em;
  vertical-align:-.3em;
}
.ig::before{content:"";position:absolute;left:50%;top:50%;width:.62em;height:.62em;margin:-.31em 0 0 -.31em;border:.13em solid currentColor;border-radius:50%}
.ig::after{content:"";position:absolute;right:.16em;top:.13em;width:.16em;height:.16em;background:currentColor;border-radius:50%}
.ig--after{margin-left:.2em}

/* ---------- как принять участие ---------- */
.step__h,.step__p{display:block;font-size:calc(var(--fs) * var(--u))}
.step__h{color:var(--gold);font-weight:900;white-space:nowrap}
.step__p{margin-top:.22em;line-height:1.2;font-weight:900;white-space:nowrap}
.num{font-family:var(--hand);font-weight:700;font-size:calc(84 * var(--u));line-height:1;color:#fff}
.qty{font-weight:900}

/* ---------- карусель призов ---------- */
.slider{
  --cu:var(--u);
  --vl:100;--vw:1558;--gap:37;
  --aw:65;--ah:114;--at:120;--nl:1693;
  height:calc(353 * var(--cu));
}
.slider__view{
  position:absolute;top:0;
  left:calc(var(--vl) * var(--u));
  width:calc(var(--vw) * var(--u));
  height:calc(360 * var(--cu));
  overflow:hidden;
}
.slider__track{display:flex;gap:calc(var(--gap) * var(--u));transition:transform .5s cubic-bezier(.3,.7,.3,1)}
.slider__arrow{
  position:absolute;top:calc(var(--at) * var(--u));
  width:calc(var(--aw) * var(--u));height:calc(var(--ah) * var(--u));
  background:url(../img/arrow.webp) center/contain no-repeat;
  transition:transform .2s, opacity .2s;
}
.slider__arrow--prev{left:0;transform:scaleX(-1)}
.slider__arrow:focus:not(:focus-visible){outline:none}   /* без рамки после клика мышью */
.slider__arrow--next{left:calc(var(--nl) * var(--u))}
.slider__arrow--prev:hover{transform:scaleX(-1) translateX(calc(6 * var(--u)))}
.slider__arrow--next:hover{transform:translateX(calc(6 * var(--u)))}

.card{
  position:relative;flex:none;
  width:calc(494 * var(--cu));height:calc(353 * var(--cu));
  background:url(../img/card-bg.webp) center/100% 100% no-repeat;
  color:#fff;text-align:center;
}
[data-winners-cards] .card{cursor:pointer;transition:transform .2s}
[data-winners-cards] .card:hover{transform:translateY(calc(-6 * var(--u)))}
.card__count{position:absolute;right:calc(36 * var(--cu));top:calc(27 * var(--cu));font-size:calc(32.1 * var(--cu));font-weight:900}
.card__img{position:absolute;left:calc(var(--x) * var(--cu));top:calc(var(--y) * var(--cu));width:calc(var(--w) * var(--cu))}
.card__title{position:absolute;left:0;right:0;top:calc(268 * var(--cu));font-size:calc(43.1 * var(--cu));font-weight:900;white-space:nowrap}
.card__desc{position:absolute;left:0;right:0;top:calc(316 * var(--cu));font-size:calc(18.2 * var(--cu));font-weight:800;white-space:nowrap}

.slider--mini{--cu:calc(var(--u) * 191 / 494);--vl:79;--vw:605;--gap:16;--aw:48;--ah:86;--at:24;--nl:710}

/* ---------- главный приз ---------- */
.date{font-weight:900;letter-spacing:-.01em}

/* ---------- поиск победителя ---------- */
.search{
  background:radial-gradient(ellipse 70% 70% at 50% 50%, #a41b21 0%, #7a0c12 60%, #5a060a 100%);
  border-radius:calc(50 * var(--u));
  box-shadow:0 0 calc(30 * var(--u)) rgba(60,0,0,.35);
}
.search__label{position:absolute;left:0;right:0;top:calc(30 * var(--u));text-align:center;font-size:calc(38 * var(--u));font-weight:900}
.search .search__input{
  position:absolute;left:calc(70 * var(--u));top:calc(86 * var(--u));
  width:calc(500 * var(--u));height:calc(68 * var(--u));
  padding:0 calc(26 * var(--u));
  border-radius:calc(28 * var(--u));
  font-size:calc(40 * var(--u));text-align:center;
}
.search .search__btn{
  position:absolute;left:calc(68 * var(--u));top:calc(172 * var(--u));
  width:calc(504 * var(--u));height:calc(70 * var(--u));
  font-size:calc(42 * var(--u));
}

/* ---------- табло «всего разыграно» ---------- */
.tally{
  display:flex;align-items:center;justify-content:center;
  gap:calc(60 * var(--u));
  padding:0 calc(40 * var(--u));
  background:radial-gradient(ellipse 80% 90% at 50% 50%, #8e1319 0%, #6a0a10 60%, #4a0509 100%);
  border:calc(2.4 * var(--u)) solid var(--btn-line);
  border-radius:calc(34 * var(--u));
  box-shadow:0 0 calc(34 * var(--u)) calc(6 * var(--u)) rgba(255,166,82,.55), inset 0 0 calc(30 * var(--u)) rgba(30,0,0,.45);
}
.tally__text{font-size:calc(46 * var(--u));line-height:1.08;font-weight:900;white-space:nowrap;text-align:left}
.tally__num{display:flex;gap:calc(10 * var(--u))}
.tally__d{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:calc(78 * var(--u));height:calc(108 * var(--u));
  font-size:calc(92 * var(--u));line-height:1;font-weight:900;
  color:var(--gold);
  text-shadow:0 0 calc(14 * var(--u)) rgba(255,190,90,.75);
  background:linear-gradient(180deg,#2c0306 0%,#4a060b 49%,#3a0408 51%,#260205 100%);
  border:calc(1.5 * var(--u)) solid rgba(255,203,94,.55);
  border-radius:calc(12 * var(--u));
  box-shadow:inset 0 calc(2 * var(--u)) calc(6 * var(--u)) rgba(0,0,0,.5);
}
/* линия «перекидного» табло */
.tally__d::after{content:"";position:absolute;left:0;right:0;top:50%;height:calc(1.5 * var(--u));background:rgba(0,0,0,.45)}
.tally__d.is-flip{animation:tally-flip .45s ease}
@keyframes tally-flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}

/* ---------- FAQ ---------- */
.faq{
  position:relative;
  min-height:calc(1159 * var(--u));
  padding:calc(34 * var(--u)) 0 calc(20 * var(--u));
  background:#8a1418 url(../img/bg-faq.webp) center top/100% auto no-repeat;
  text-align:center;
}
.faq__title{font-size:calc(58.4 * var(--u))}
.faq__ornament{position:absolute;left:calc(1346 * var(--u));top:calc(602 * var(--u));width:calc(462 * var(--u));pointer-events:none}
.faq__panel{
  position:relative;z-index:1;
  width:calc(1517 * var(--u));
  margin:calc(51 * var(--u)) auto 0;
  padding:calc(34 * var(--u)) calc(34 * var(--u)) calc(27 * var(--u));
  background:linear-gradient(180deg,#5c080c,#66090e 50%,#5a070b);
  border-radius:calc(40 * var(--u));
  box-shadow:0 0 calc(30 * var(--u)) rgba(40,0,0,.35);
}
.faq__item{margin-bottom:calc(18 * var(--u))}
.faq__item summary{
  display:flex;align-items:center;justify-content:center;
  min-height:calc(72 * var(--u));
  padding:calc(6 * var(--u)) calc(60 * var(--u));
  font-size:calc(41.8 * var(--u));font-weight:900;
  background:linear-gradient(90deg,#6a0a0f 0%,#b91d24 35%,#c52129 50%,#b91d24 65%,#6a0a0f 100%);
  border-radius:calc(22 * var(--u));
  box-shadow:0 calc(4 * var(--u)) calc(10 * var(--u)) rgba(30,0,0,.35);
  cursor:pointer;list-style:none;
  transition:filter .2s;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{filter:brightness(1.1)}
.faq__item[open] summary{color:var(--gold)}
.faq__answer{
  padding:calc(22 * var(--u)) calc(90 * var(--u)) calc(8 * var(--u));
  font-size:calc(30 * var(--u));font-weight:800;line-height:1.3;
  color:#fff3d6;
}
.faq__answer a{color:var(--gold)}
.faq__contact{position:relative;z-index:1;margin-top:calc(21 * var(--u))}
.faq__lead{font-size:calc(41.8 * var(--u));line-height:calc(50 * var(--u))}
.faq__btn{width:calc(478 * var(--u));height:calc(86 * var(--u));margin:calc(20 * var(--u)) auto 0;font-size:calc(47.2 * var(--u))}
.faq__phone{margin-top:calc(38 * var(--u));font-size:calc(41.8 * var(--u))}
.faq__phone a{display:inline-flex;align-items:center;gap:.4em}
.phone-ico{display:inline-block;width:1.15em;height:1em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M12 1C6 1 1 3.4 1 6.4V8h5.5V5.8C8 5.3 10 5 12 5s4 .3 5.5.8V8H23V6.4C23 3.4 18 1 12 1zM7 9l-4 8v3h18v-3l-4-8H7zm5 2.5a3.3 3.3 0 110 6.6 3.3 3.3 0 010-6.6z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M12 1C6 1 1 3.4 1 6.4V8h5.5V5.8C8 5.3 10 5 12 5s4 .3 5.5.8V8H23V6.4C23 3.4 18 1 12 1zM7 9l-4 8v3h18v-3l-4-8H7zm5 2.5a3.3 3.3 0 110 6.6 3.3 3.3 0 010-6.6z'/%3E%3C/svg%3E") center/contain no-repeat}
.faq__hours{margin-top:calc(14 * var(--u));font-size:calc(41.8 * var(--u));line-height:calc(50 * var(--u))}

/* ---------- футер ---------- */
.footer{
  position:relative;
  min-height:calc(389 * var(--u));
  padding:calc(39 * var(--u)) 0 calc(56 * var(--u));
  background:#5a070b url(../img/footer-bg.webp) center top/cover no-repeat;
  color:var(--orange);text-align:center;font-weight:900;
  overflow:hidden;
}
.footer__branch{position:absolute;bottom:0;width:calc(480 * var(--u));pointer-events:none}
.footer__branch--l{left:0}
.footer__branch--r{right:0}
.footer__period{position:relative;font-size:calc(33.9 * var(--u));padding-bottom:calc(10 * var(--u))}
.footer__period::after{content:"";position:absolute;left:50%;bottom:0;width:calc(1123 * var(--u));height:calc(2 * var(--u));transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--orange) 15%,var(--orange) 85%,transparent)}
.footer__legal{position:relative;margin-top:calc(13 * var(--u));font-size:calc(31.7 * var(--u));line-height:calc(38 * var(--u))}
.footer__org{position:relative;margin-top:calc(14 * var(--u));padding-top:calc(14 * var(--u));font-size:calc(26 * var(--u));line-height:calc(34 * var(--u))}
.footer__org::before{content:"";position:absolute;left:50%;top:0;width:calc(1123 * var(--u));height:calc(2 * var(--u));transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--orange) 15%,var(--orange) 85%,transparent)}
.footer__org a{white-space:nowrap}
.footer__org a:hover{text-decoration:underline}

/* ---------- кабинет ---------- */
.profile{display:flex;align-items:center;gap:calc(20 * var(--u));white-space:nowrap}
.profile__ava{display:flex;align-items:center;justify-content:center;flex:none;width:calc(82 * var(--u));height:calc(82 * var(--u));background:#fff;border-radius:50%}
.profile__ava svg{width:56%;fill:#1d0305}
.profile__text{display:flex;flex-direction:column}
.profile__name{font-size:calc(50 * var(--u));font-weight:900}
.profile__city{font-size:calc(27 * var(--u));font-weight:900}
.cabinet__head .pill{z-index:3}
.cab-cap{font-weight:900}
.cab-note{font-weight:800}
.cab-empty{font-weight:800;color:#ffe3b0}
/* кабинет — на весь экран: в окне «выше» 16:9 фон не обрывается снизу.
   Фон тянется по высоте, гранат держится справа сверху */
body.is-cabinet .cabinet{min-height:100vh;min-height:100dvh;background-size:cover;background-position:right top}
body.is-cabinet .main,
body.is-cabinet .header,
body.is-cabinet .footer{display:none}

/* ==========================================================================
   МОДАЛКИ
   ========================================================================== */
.overlay{
  position:fixed;inset:0;z-index:100;
  display:flex;align-items:flex-start;justify-content:center;
  padding:calc(40 * var(--u)) calc(16 * var(--u));
  overflow-y:auto;
  background:rgba(35,3,5,.72);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  animation:fade .25s ease;
}
.overlay[hidden]{display:none}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{opacity:0;transform:scale(.94)}}

.modal{
  --mu:var(--u);
  --mw0:640;
  position:relative;
  width:calc(var(--mw0) * var(--mu));
  max-width:100%;
  margin:auto;
  padding:calc(58 * var(--mu)) calc(76 * var(--mu)) calc(70 * var(--mu));
  color:#fff;text-align:center;
  background:
    radial-gradient(ellipse 80% 60% at 50% 42%, rgba(218,38,46,.9) 0%, rgba(218,38,46,0) 70%),
    linear-gradient(180deg,#6a0a0f 0%,#b21c23 30%,#bd1f26 60%,#7a0e13 100%);
  border-radius:calc(56 * var(--mu));
  box-shadow:0 0 calc(70 * var(--mu)) calc(16 * var(--mu)) rgba(255,232,120,.55);
  overflow:hidden;
  animation:pop .25s ease;
}
.modal[hidden]{display:none}
.modal--sm{--mw0:640}
.modal--form{--mw0:720}
.modal--md{--mw0:980}
.modal--lg{--mw0:980}
/* ёлочные ветки в нижних углах */
.modal::before,.modal::after{
  content:"";position:absolute;bottom:calc(-50 * var(--mu));
  width:calc(250 * var(--mu));height:calc(200 * var(--mu));
  background:url(../img/branch.webp) center/contain no-repeat;
  pointer-events:none;z-index:0;
}
.modal::before{left:calc(-70 * var(--mu));transform:rotate(-58deg)}
.modal::after{right:calc(-70 * var(--mu));transform:scaleX(-1) rotate(-58deg)}
.modal > *{position:relative;z-index:1}
.modal__corner{position:absolute !important;top:calc(-40 * var(--mu));width:calc(220 * var(--mu));pointer-events:none;z-index:0 !important}
.modal__corner--tl{left:calc(-40 * var(--mu));transform:rotate(160deg) scaleY(-1)}
.modal__corner--tr{right:calc(-40 * var(--mu));transform:rotate(20deg) scaleY(-1)}

.modal__x{
  position:absolute !important;right:calc(26 * var(--mu));top:calc(24 * var(--mu));z-index:3 !important;
  width:calc(44 * var(--mu));height:calc(44 * var(--mu));
  border-radius:50%;opacity:.8;transition:opacity .2s, transform .2s;
}
.modal__x::before,.modal__x::after{content:"";position:absolute;left:50%;top:50%;width:70%;height:calc(4 * var(--mu));background:#fff;border-radius:2px;transform:translate(-50%,-50%) rotate(45deg)}
.modal__x::after{transform:translate(-50%,-50%) rotate(-45deg)}
.modal__x:hover{opacity:1;transform:rotate(90deg)}

.modal__title{font-weight:900;font-size:calc(50 * var(--mu));line-height:1.08;margin-bottom:calc(28 * var(--mu))}
.modal__title--xl{font-size:calc(72 * var(--mu))}
.modal__title--mid{font-size:calc(56 * var(--mu));margin:calc(40 * var(--mu)) 0 calc(60 * var(--mu))}
.modal__title--sm{font-size:calc(40 * var(--mu))}
.modal__sub{margin:calc(-10 * var(--mu)) 0 calc(24 * var(--mu));font-size:calc(30 * var(--mu));font-weight:900}
.modal__text{font-size:calc(24 * var(--mu));line-height:1.25;margin-bottom:calc(20 * var(--mu))}

.modal__form{text-align:left}
.modal__label{display:block;margin:calc(20 * var(--mu)) 0 calc(10 * var(--mu)) calc(12 * var(--mu));font-size:calc(28 * var(--mu));font-weight:900}
.modal__form > .modal__label:first-child{margin-top:0}
.modal__note{margin:calc(24 * var(--mu)) 0 0 calc(12 * var(--mu));font-size:calc(24 * var(--mu));line-height:1.45}
.modal__small{margin:calc(10 * var(--mu)) 0 0;font-size:calc(19 * var(--mu));text-align:center;opacity:.9}
.modal__small--up{margin-top:calc(26 * var(--mu));font-size:calc(21 * var(--mu));text-transform:uppercase;font-weight:900}
.modal__error{min-height:calc(10 * var(--mu));margin-top:calc(12 * var(--mu));font-size:calc(24 * var(--mu));color:#ffd66b;text-align:center}
.modal__error:empty{min-height:0;margin:0}
.modal__submit{margin:calc(34 * var(--mu)) auto 0;min-width:calc(430 * var(--mu));height:calc(84 * var(--mu));font-size:calc(38 * var(--mu));padding:0 calc(40 * var(--mu));border-width:calc(2.4 * var(--mu))}
.modal__submit--sm{min-width:calc(280 * var(--mu));height:calc(70 * var(--mu));font-size:calc(32 * var(--mu))}
.modal__form .modal__submit{display:flex}
.modal__links{margin-top:calc(22 * var(--mu));text-align:center;font-size:calc(21 * var(--mu));line-height:1.6}
.modal__links a{text-decoration:underline}
.modal__big-link{font-size:calc(32 * var(--mu));color:var(--gold)}
.modal__resend{margin-top:calc(10 * var(--mu));text-align:center;font-size:calc(19 * var(--mu))}
.modal__resend a{color:var(--gold);text-decoration:underline}
.modal__resend a.is-off{opacity:.45;pointer-events:none}
.modal__resend small{display:block;font-size:calc(16 * var(--mu));opacity:.85}

/* поля */
.field{
  display:block;width:100%;
  height:calc(92 * var(--mu));
  padding:0 calc(34 * var(--mu));
  font-weight:900;font-size:calc(38 * var(--mu));
  color:var(--ink);
  background:#fff;border:calc(3 * var(--mu)) solid #fff;
  border-radius:calc(32 * var(--mu));
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.field::placeholder{color:#a08c8c;opacity:1}
.field:focus{border-color:var(--gold);box-shadow:0 0 calc(16 * var(--mu)) rgba(255,203,94,.7)}
.field.is-invalid{border-color:#ffb300;box-shadow:0 0 0 calc(3 * var(--mu)) #ffb300}
.field--code{text-transform:uppercase;letter-spacing:.04em}
.field--code::placeholder{text-transform:none}
.field--area{height:calc(270 * var(--mu));padding-top:calc(22 * var(--mu));resize:none;line-height:1.2}
.field--select{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23650a0b' stroke-width='2'/%3E%3C/svg%3E") right calc(30 * var(--mu)) center/calc(24 * var(--mu)) no-repeat}
.field--center{text-align:center}
.field--short{width:60%;margin:0 auto}
.field--big{height:calc(110 * var(--mu));font-size:calc(52 * var(--mu));text-align:center}
.pass{position:relative}
.pass .field{padding-right:calc(90 * var(--mu))}
.pass__eye{
  position:absolute;right:calc(26 * var(--mu));top:50%;transform:translateY(-50%);
  width:calc(46 * var(--mu));height:calc(34 * var(--mu));
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath d='M12 1C6.5 1 2.6 4.6 1 8c1.6 3.4 5.5 7 11 7s9.4-3.6 11-7c-1.6-3.4-5.5-7-11-7z' fill='none' stroke='%23310207' stroke-width='1.8'/%3E%3Ccircle cx='12' cy='8' r='3.3' fill='%23310207'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.75;
}
.pass__eye.is-on{opacity:1;filter:drop-shadow(0 0 2px #ffb300)}

.check{display:flex;align-items:flex-start;gap:calc(16 * var(--mu));margin-top:calc(20 * var(--mu));font-size:calc(21 * var(--mu));line-height:1.3;cursor:pointer}
.check input{position:absolute;opacity:0}
.check span{flex:none;width:calc(34 * var(--mu));height:calc(34 * var(--mu));background:#fff;border-radius:calc(6 * var(--mu));position:relative}
.check input:checked + span::after{content:"";position:absolute;left:28%;top:10%;width:35%;height:60%;border:solid var(--wine);border-width:0 calc(5 * var(--mu)) calc(5 * var(--mu)) 0;transform:rotate(45deg)}
.check input:focus-visible + span{box-shadow:0 0 0 calc(3 * var(--mu)) var(--gold)}
.check.is-invalid span{box-shadow:0 0 0 calc(4 * var(--mu)) #ffb300}
.check em{font-style:normal}
.check a{text-decoration:underline}

/* рулетка */
.roll{
  position:relative;
  margin:calc(40 * var(--mu)) calc(-76 * var(--mu)) calc(-20 * var(--mu));
  padding:calc(30 * var(--mu)) 0 calc(62 * var(--mu));
  overflow:hidden;
}
.roll::before,.roll::after{
  content:"";position:absolute;left:12%;right:12%;height:calc(3 * var(--mu));
  background:var(--orange);z-index:2;
}
.roll::before{top:0}
.roll::after{bottom:0}
.roll__track{display:flex;align-items:center;gap:calc(22 * var(--mu));will-change:transform}
.roll__marker{position:absolute;left:50%;width:0;height:0;border:calc(16 * var(--mu)) solid transparent;transform:translateX(-50%);z-index:3}

.tile{
  position:relative;flex:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:calc(180 * var(--mu));height:calc(200 * var(--mu));
  background:url(../img/card-bg.webp) center/cover no-repeat;
  border-radius:calc(16 * var(--mu));
  box-shadow:0 0 calc(14 * var(--mu)) rgba(255,200,110,.55);
}
.tile img{max-width:78%;max-height:64%;object-fit:contain}
.tile__cap{position:absolute;left:0;right:0;bottom:calc(-34 * var(--mu));font-size:calc(21 * var(--mu));font-weight:900;white-space:nowrap}
.tile--luck{font-size:calc(28 * var(--mu));font-weight:900;line-height:1.1}
.tile--luck::before{
  content:"";position:absolute;inset:14%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 90'%3E%3Cpath d='M50 86S4 58 4 28C4 13 15 4 28 4c10 0 17 6 22 13C55 10 62 4 72 4c13 0 24 9 24 24 0 30-46 58-46 58z' fill='none' stroke='%23e39427' stroke-width='2.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.tile.is-hit{transform:scale(1.14);box-shadow:0 0 calc(30 * var(--mu)) calc(6 * var(--mu)) rgba(255,215,120,.85);transition:transform .3s, box-shadow .3s}
.tile--sm{width:calc(150 * var(--mu));height:calc(165 * var(--mu))}
.tile--sm .tile__cap{bottom:calc(10 * var(--mu));font-size:calc(17 * var(--mu))}
.tile--sm img{max-height:55%;margin-top:calc(-20 * var(--mu))}

.result__prize{display:flex;align-items:center;justify-content:center;gap:calc(22 * var(--mu));font-size:calc(22 * var(--mu));font-weight:900}
.result__again{margin:calc(20 * var(--mu)) 0;font-size:calc(34 * var(--mu));font-weight:900}
.result__info{
  margin:calc(30 * var(--mu)) 0 0;
  padding:calc(26 * var(--mu)) calc(24 * var(--mu));
  font-size:calc(24 * var(--mu));line-height:1.35;font-weight:900;
  background:linear-gradient(180deg,#8f1117,#b51c23);
  border-radius:calc(30 * var(--mu));
  box-shadow:0 0 calc(18 * var(--mu)) rgba(255,190,110,.55);
}
.result__info b{color:var(--gold)}
.result__info--plain{background:none;box-shadow:none;padding:0;font-size:calc(26 * var(--mu))}

/* таблицы */
.table-wrap{border:calc(5 * var(--mu)) solid #8c1016;border-radius:calc(30 * var(--mu));overflow:hidden;background:rgba(120,10,15,.25)}
.table{width:100%;border-collapse:collapse;table-layout:fixed}
.table th,.table td{padding:calc(14 * var(--mu)) calc(10 * var(--mu));border:calc(4 * var(--mu)) solid #8c1016;font-weight:900}
.table tr > :first-child{border-left:0}
.table tr > :last-child{border-right:0}
.table thead th{border-top:0;height:calc(100 * var(--mu));font-size:calc(26 * var(--mu));line-height:1.2}
.table tbody tr:last-child td{border-bottom:0}
.table td{height:calc(62 * var(--mu));font-size:calc(28 * var(--mu));color:var(--gold)}
.table td:nth-child(2){color:#fff}
.table th:first-child,.table td:first-child{width:16%}
.table th:nth-child(2),.table td:nth-child(2){width:46%}
.table--codes td:nth-child(2){color:var(--gold);letter-spacing:.03em}
.table--codes thead th{font-size:calc(24 * var(--mu))}
.table__empty td{color:#fff !important;font-size:calc(26 * var(--mu))}

.pager{display:flex;align-items:center;justify-content:center;gap:calc(20 * var(--mu));margin-top:calc(34 * var(--mu));min-height:calc(34 * var(--mu))}
.pager button{flex:none}
.pager__dot{width:calc(32 * var(--mu));height:calc(32 * var(--mu));border-radius:50%;background:#fff;transition:background .2s, transform .2s}
.pager__dot.is-active{background:var(--gold);transform:scale(1.1)}
.pager__arrow{width:calc(26 * var(--mu));height:calc(46 * var(--mu));background:url(../img/arrow.webp) center/contain no-repeat;margin:0 calc(14 * var(--mu))}
.pager__arrow--prev{transform:scaleX(-1)}
.pager__arrow[disabled]{opacity:.35;pointer-events:none}

.rules{text-align:left;font-size:calc(26 * var(--mu));line-height:1.4;font-weight:800}
.rules p + p{margin-top:calc(16 * var(--mu))}
.rules b{color:var(--gold)}
.rules a{text-decoration:underline}

/* ---------- мобильное меню ---------- */
.mmenu{display:none}

/* ==========================================================================
   МОБАЙЛ: макет 394 × 844
   ========================================================================== */
@media (max-width:767px){
  :root{--u:min(calc(var(--pvw, 1vw) * 100 / 394), 1.4px)}
  body{background:#5a070b}
  .page{max-width:calc(394 * var(--u));margin:0 auto}
  .header{max-width:calc(394 * var(--u));margin:0 auto}
  .header::before{height:calc(60 * var(--u))}
  .scr,.faq{scroll-margin-top:calc(52 * var(--u))}

  .d-only{display:none !important}
  .m-only{display:block !important}
  br.m-only{display:inline !important}
  .burger.m-only{display:flex !important}

  .a{
    left:calc(var(--mx) * var(--u));
    top:calc(var(--my) * var(--u));
    width:calc(var(--mw) * var(--u));
    height:calc(var(--mh) * var(--u));
  }
  .t{font-size:calc(var(--mfs) * var(--u));line-height:calc(var(--mlh) * var(--u))}
  .btn{font-size:calc(var(--mfs) * var(--u));border-width:calc(1.4 * var(--u));box-shadow:0 0 calc(16 * var(--u)) calc(4 * var(--u)) rgba(255,166,82,.78)}
  .step__h,.step__p{font-size:calc(var(--mfs) * var(--u))}
  .lang-kg .step__h{font-size:calc(var(--mfs) * .86 * var(--u))}

  .scr{height:calc(844 * var(--u))}
  .hero      {background-image:url(../img/m-hero.webp)}               /* первый экран целиком: логотип, билет, пачка, сердце */
  .lang-kg .hero{background-image:url(../img/m-hero-kg.webp)}
  .how       {background-image:url(../img/m-bg-how.webp)}             /* гирлянды ведут от шага к шагу */
  .instant   {background-image:url(../img/m-bg-instant.webp)}
  .mainprize {background-image:url(../img/m-bg-main.webp)}
  .winners   {background-image:url(../img/m-bg-winners.webp)}
  .cabinet   {background-image:url(../img/m-bg-faq.webp)}

  .pill{font-size:calc(11 * var(--u));border-radius:calc(6 * var(--u));border-width:calc(1 * var(--u))}
  .burger{display:flex}
  .spark{filter:drop-shadow(0 0 4px #ffd37a)}

  .num{font-size:calc(34 * var(--u));width:calc(40 * var(--u));height:calc(40 * var(--u));display:flex;align-items:center;justify-content:center;border:calc(1.2 * var(--u)) solid var(--orange);border-radius:50%;padding-top:calc(3 * var(--u))}

  .slider,.slider--mini{--cu:calc(var(--u) * 272 / 494);--vl:48;--vw:272;--gap:30;--aw:39;--ah:67;--at:63;--nl:326}
  [data-winners-cards]{--vl:48;--at:64;--nl:328}

  .search{border-radius:calc(22 * var(--u))}
  .search__label{top:calc(16 * var(--u));font-size:calc(20 * var(--u))}
  .search .search__input{left:calc(40 * var(--u));top:calc(46 * var(--u));width:calc(266 * var(--u));height:calc(40 * var(--u));font-size:calc(22 * var(--u));border-radius:calc(14 * var(--u));padding:0 calc(10 * var(--u))}
  .search .search__btn{left:calc(40 * var(--u));top:calc(98 * var(--u));width:calc(266 * var(--u));height:calc(42 * var(--u));font-size:calc(22 * var(--u))}

  .tally{gap:calc(16 * var(--u));padding:0 calc(14 * var(--u));border-width:calc(1.4 * var(--u));border-radius:calc(18 * var(--u));box-shadow:0 0 calc(16 * var(--u)) calc(3 * var(--u)) rgba(255,166,82,.55), inset 0 0 calc(14 * var(--u)) rgba(30,0,0,.45)}
  .tally__text{font-size:calc(18 * var(--u))}
  .tally__num{gap:calc(3 * var(--u))}
  .tally__d{width:calc(30 * var(--u));height:calc(46 * var(--u));font-size:calc(36 * var(--u));border-radius:calc(6 * var(--u));border-width:calc(1 * var(--u))}
  .tally__d::after{height:calc(1 * var(--u))}

  .faq{min-height:0;padding:calc(30 * var(--u)) 0 calc(40 * var(--u));background:#8a1418 url(../img/m-bg-faq.webp) center top/100% auto no-repeat}
  .faq__ornament{display:none}
  .faq__title{font-size:calc(31.3 * var(--u))}
  .faq__panel{width:calc(360 * var(--u));margin-top:calc(19 * var(--u));padding:calc(18 * var(--u)) calc(6 * var(--u)) calc(12 * var(--u));border-radius:calc(20 * var(--u))}
  .faq__item{margin-bottom:calc(8 * var(--u))}
  .faq__item summary{min-height:calc(42 * var(--u));padding:calc(6 * var(--u)) calc(14 * var(--u));font-size:calc(21 * var(--u));line-height:1.18;border-radius:calc(12 * var(--u))}
  .faq__answer{padding:calc(12 * var(--u)) calc(14 * var(--u)) calc(6 * var(--u));font-size:calc(15 * var(--u))}
  .faq__contact{margin-top:calc(25 * var(--u))}
  .faq__lead{font-size:calc(21.3 * var(--u));line-height:calc(26 * var(--u))}
  .faq__btn{width:calc(250 * var(--u));height:calc(48 * var(--u));margin-top:calc(14 * var(--u));font-size:calc(24.1 * var(--u))}
  .faq__phone{margin-top:calc(16 * var(--u));font-size:calc(21.3 * var(--u))}
  .faq__hours{margin-top:calc(6 * var(--u));font-size:calc(21.3 * var(--u));line-height:calc(25.5 * var(--u))}

  .footer{min-height:0;padding:calc(12 * var(--u)) calc(20 * var(--u)) calc(40 * var(--u))}
  .footer__branch{width:calc(120 * var(--u))}
  .footer__period{font-size:calc(12.1 * var(--u));padding-bottom:calc(6 * var(--u))}
  .footer__period::after{width:calc(300 * var(--u));height:1px}
  .footer__legal{margin-top:calc(8 * var(--u));font-size:calc(9.4 * var(--u));line-height:calc(11.3 * var(--u))}
  .footer__org{margin-top:calc(8 * var(--u));padding-top:calc(6 * var(--u));font-size:calc(9.4 * var(--u));line-height:calc(11.3 * var(--u))}
  .footer__org::before{width:calc(300 * var(--u));height:1px}

  .profile{gap:calc(12 * var(--u))}
  .profile__ava{width:calc(52 * var(--u));height:calc(52 * var(--u))}
  .profile__name{font-size:calc(21 * var(--u));white-space:normal}
  .profile__city{font-size:calc(14 * var(--u))}

  /* модалки на телефоне */
  .overlay{padding:calc(20 * var(--u)) calc(10 * var(--u))}
  .modal{--mu:calc(var(--u) * .56);width:calc(364 * var(--u));padding:calc(64 * var(--mu)) calc(44 * var(--mu)) calc(80 * var(--mu))}
  .modal__title--xl{font-size:calc(64 * var(--mu))}
  .modal__label{font-size:calc(30 * var(--mu))}
  .modal__note,.modal__text,.check{font-size:calc(25 * var(--mu))}
  .roll{margin-left:calc(-44 * var(--mu));margin-right:calc(-44 * var(--mu))}
  .table th,.table td{padding:calc(12 * var(--mu)) calc(4 * var(--mu))}
  .table td{font-size:calc(25 * var(--mu))}
  .table thead th{font-size:calc(22 * var(--mu))}
  .table--codes thead th{font-size:calc(19 * var(--mu))}
  .rules{font-size:calc(28 * var(--mu))}

  /* мобильное меню */
  .mmenu{
    display:block;position:fixed;left:0;right:0;top:0;z-index:90;
    height:calc(452 * var(--u));
    padding:calc(120 * var(--u)) calc(22 * var(--u)) 0;
    background:radial-gradient(ellipse 100% 90% at 50% 40%, #c62129 0%, #9a161c 60%, #6a0a0f 100%);
    border-radius:0 0 calc(20 * var(--u)) calc(20 * var(--u));
    box-shadow:0 calc(10 * var(--u)) calc(40 * var(--u)) rgba(0,0,0,.6), 0 0 0 100vh rgba(40,3,6,.65);
    transform:translateY(-110%);visibility:hidden;
    transition:transform .35s ease, visibility 0s .35s;
  }
  body.is-menu-open .mmenu{transform:none;visibility:visible;transition:transform .35s ease}
  .mmenu__close{position:absolute;right:calc(14 * var(--u));top:calc(14 * var(--u));width:calc(34 * var(--u));height:calc(34 * var(--u))}
  .mmenu__close::before,.mmenu__close::after{content:"";position:absolute;left:10%;top:50%;width:80%;height:calc(2 * var(--u));background:#fff;transform:rotate(45deg)}
  .mmenu__close::after{transform:rotate(-45deg)}
  .mmenu__logo{position:absolute;left:calc(22 * var(--u));top:calc(18 * var(--u));width:calc(160 * var(--u))}
  .mmenu__ornament{position:absolute;right:calc(10 * var(--u));top:calc(30 * var(--u));width:calc(90 * var(--u))}
  .mmenu__list li + li{margin-top:calc(10 * var(--u))}
  .mmenu__list a{display:flex;align-items:center;gap:calc(18 * var(--u));font-size:calc(21 * var(--u));font-weight:900}
  .mmenu__lang-title{margin-top:calc(26 * var(--u));padding-top:calc(16 * var(--u));border-top:1px solid rgba(255,255,255,.35);font-size:calc(21 * var(--u));font-weight:900}
  .mmenu__lang{display:flex;gap:calc(10 * var(--u));margin-top:calc(10 * var(--u))}
  .mmenu__lang .pill{width:calc(52 * var(--u));height:calc(28 * var(--u));font-size:calc(14 * var(--u))}
  .ico{flex:none;width:calc(30 * var(--u));height:calc(30 * var(--u));background:#fff;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
  .ico--rules{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Crect x='4' y='2.5' width='16' height='19' rx='2'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E")}
  .ico--gift{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Crect x='3' y='8' width='18' height='4'/%3E%3Cpath d='M5 12v9h14v-9M12 8v13M12 8C10 3 6 4 7.5 6.5 8.5 8 12 8 12 8zm0 0c2-5 6-4 4.5-1.5C15.5 8 12 8 12 8z'/%3E%3C/svg%3E")}
  .ico--hand{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Crect x='8' y='3' width='8' height='7' rx='1'/%3E%3Cpath d='M12 3v7M2 14l4-1c2 0 3 1 5 1h3c1 0 1 2 0 2h-4m-8 3l4-1 6 2 8-5c1-1 0-2-1-2l-5 2'/%3E%3C/svg%3E")}
  .ico--cup{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M7 3h10v6a5 5 0 01-10 0V3zM7 5H3v2a4 4 0 004 4M17 5h4v2a4 4 0 01-4 4M12 14v4M8 21h8M9 18h6'/%3E%3C/svg%3E")}
  .ico--faq{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.5 9.2a2.6 2.6 0 115 1c0 1.8-2.5 2-2.5 3.8M12 17.5v.5'/%3E%3C/svg%3E")}
  .ico--user{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Ccircle cx='12' cy='7.5' r='4.5'/%3E%3Cpath d='M3.5 22c0-5 3.8-8.3 8.5-8.3s8.5 3.3 8.5 8.3'/%3E%3C/svg%3E")}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}
