:root{
  --btn-bg:#43a047; --btn-bg-hover:#3a8f3f; --btn-fg:#fff;
  --btn-shadow:0 10px 24px rgba(0,0,0,.18); --btn-shadow-hover:0 12px 28px rgba(0,0,0,.22);
  --main-h2: 80px;
  --anim-text-visible: 90px;
  --main-img: 640px;
  --header-h: 80px;
  --container: 1280px;
  --gutter: 7svw;
  --main-p: 18px;
  --btn-width: 360px;
  --btn-height: 72px;
  --btn-font-size: 36px;
  --h2: 70px;
  --h3-fs: 45px;
  --carousel-img-h: 100%;
  --carousel-img-w: 100%;
  --lc-gap: 22px;
  --dest-card-h:510px;
  --dest-card-w:590px;
  --require-span: 13px;
  --dst-crds: row;
  --reqst-img: block;
  --img-form-w:600px;
  --label-fs:26px;
  --inp-h:40px;
  --req-f-w:400px;
  --form-fl-dr:row;
  --req-form-form-al-it:left;
  --inpt-w:90%;
  --adv-crd-fs:20px;
  --adv-card-w:300px;
  --verif-fl-fr:row;
  --verify-img-w:350px;
  --adv-cards-just-con:space-evenly;
  --android-text-w:670px;
  --android-btn-frm-w:810px;
}

@font-face{
  font-family:'Nunito';
  src:url('../fonts/Nunito-VariableFont_wght.ttf') format('truetype-variations');
  font-weight:100 900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Bebas';
  src:url('../fonts/BebasNeue-Regular.ttf') format('truetype-variations');
  font-weight:400; font-style:normal; font-display:swap;
}

/* global */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

html, body{ 
  overflow-x:hidden; 
  margin:0; 
  padding:0;
}

body{
  background: url(../img/home-2.jpg) no-repeat center/cover fixed;
}

ul{
  list-style: none;
}

a, li{
  text-decoration: none;
  color: inherit;
  text-transform: uppercase
}

h2{
  font-family: "Bebas", Sans-serif;
  text-transform: uppercase;
  color: white;
  text-align: center;
  font-size: var(--h2);
  margin-bottom: 5px;
}

h3{
  font-family: "Bebas", Sans-serif;
  text-transform: uppercase;
  color: white;
  font-size: var(--h3-fs);
  margin-bottom: 10px;
  margin-block-end: 0;
}

main{
  width:100%;
  padding-top:24px;
}

section{
  display:flex; 
  gap:24px;
  margin-top: 80px;
}

p{
  font-family: "Nunito", Sans-serif;
  color: white;
  font-size: var(--main-p);
}

iframe{
  border-width: 0px;
}

/* helpers */

.col{
  flex-direction: column;
}

.row{
  flex-direction: row;
}


/* header */

header{
  background-color: #030C33;
  position:fixed; top:0; left:0; right:0; z-index:1000;
}

.nav{
  height: var(--header-h);
  display:flex; 
  align-items:center; 
  justify-content:space-between;
  width:100%; 
  /*max-width: var(--container);*/
  padding:0 var(--gutter);
  margin:0 auto;
}

.nav nav,
.nav div{
  display: flex;
  align-items: center;
}

.logo img{
  height:44px;
  max-height:60px;
}

.logo img #resize{
  height:150px;
  max-height:200px;
}

.links{
  display: flex;
  justify-content: space-between;
  gap: 2svw;
}

.nav ul{
  list-style: none;
  display: flex;
  padding: 0;
  gap:18px;
}

.nav li{
  font-family: "Nunito", Sans-serif;
  color: white;
  font-size: 15px;
  display: flex;
  align-items: center;
}

.android-app
{
  display: flex;
  gap: 0px;
  justify-content: space-between;
  flex-direction: row;
}

.android-img-container{
  display: flex;
}

/* @media screen and (min-width: 768px) {
  .android-img-container{
    width: 40%;
  }
} */

.btn-android
{
  align-items: center;
  display: flex;
  width: 100%;
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .btn-android{
    width: 60%;
    justify-content: center;
  }

  .android-banner
  {
    width: 100%;
  }

}

.android-info-text
{
  padding: 0px 10px 0px 10px;
}

.android-download-text
{
  margin: 0px;
  background:#4CAF50; 
  color:#fff; 
  text-transform:uppercase; 
  cursor:pointer;
  width: 100%; 
  height:var(--btn-height);
  border:0; 
  border-radius:25px; 
  font-family:"Nunito",sans-serif; 
  font-weight:700; 
  transition:background-color .18s ease, box-shadow .18s ease, filter .18s ease;
  transform-origin:center; 
  will-change:transform;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(20px, var(--btn-font-size), 28px)
}

.android-text
{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.android-img{
  width: 100%;
  height: 100%;  
}

.footer-info-container
{
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  width: 100%;
}


.logo-container
{
  display: flex;
  justify-content: center;
  align-content: center;
}


.footer-main-text
{
  color: white;
  font-size: clamp(20px, 25px, 30px);
  margin: 0px;
  font-family: "Nunito", Sans-serif;
  font-weight: 700;
  text-align: center;
}

.footer-ul{
  padding: 0px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px
}

.footer-li
{
  font-family: "Nunito", Sans-serif;
  color: #fff;
  font-weight: 600;
}

.copyright
{
  font-family: "Nunito", Sans-serif;
  color: #fff;
  font-size: 15px;
  text-align: center;
}

.copyright::before
{
  content: "";
  display: block;
  height: 1px;
  background: #414D76;
  margin: 20px 0px;
}

.footer
{
  display: flex;
  flex-direction: column;
}

.mail-container
{
  display: flex;
  flex-direction: column;
}

.a-ref
{
  color: #fff;
  font-size: 16px;
  font-family: "Nunito", Sans-serif;
  font-weight: 700;
}


@media only screen and (min-width: 768px) {
  .android-text{
    justify-content: start;
    align-items: start;
    padding-left: 15px;
    margin-bottom: 49.8px;
  }

  .h2-android
  {
    text-align: start;
  }

  .a-ref{
    font-size: 25px;
  }
  
}

@media only screen and (max-width: 768px) {
  .android-app{
    flex-direction: column;
  }
}

@media only screen and (max-width: 768px) {
  .footer-info-container{
    flex-direction: column-reverse;
  }
  
  .footer-main-text{
    text-align: center;
  }

  .logo{
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .mail-container{
    margin-top: 30px;
  }

  .a-ref{
    text-align: center;
  }

}

.app ul{
  gap: 50px;
}

.app li::before{
  content:""; 
  display:inline-block; 
  width:20px; 
  height:20px; 
  margin-right:8px;
  display:inline-block;
  background:url('../img/androidlogo.svg') no-repeat center/contain;
}

nav ul{
  gap: 18px;
}

.lang{ position: relative; flex:0 0 auto; min-width:44px;}

/* кнопка-пилюля */
.lang-toggle{
  height: 36px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;                 /* закругление как на скрине */
  background: rgba(255,255,255,.06);   /* тёмная полупрозрачная */
  color: #fff;
  font: 600 12px/1 "Nunito", sans-serif;
  letter-spacing: .3px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.lang-toggle:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.28);
  box-shadow: 0 2px 10px rgba(0,0,0,.25) inset;
}

/* выпадающее меню */
.lang-menu{
  position: absolute;
  top: calc(100% + 10px);
  right: -135px;
  min-width: 156px;
  background: #0c163a;                 /* тёмно-синий фон */
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  padding: 8px;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: none;
  visibility: hidden;
  z-index: 60;
}
.lang-menu::before{
  content:"";
  position:absolute;
  top:-7px; right:152px;
  width:12px; height:12px;
  background:#0c163a;
  border-left:1px solid rgba(255,255,255,.12);
  border-top:1px solid rgba(255,255,255,.12);
  transform: rotate(45deg);
}

/* пункты меню */
.lang-menu a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 10px;
  border-radius:8px;
  text-decoration:none;
  color:#fff;
  font: 500 13px/1.2 "Nunito", sans-serif;
}
.lang-menu a:hover{
  background: rgba(255,255,255,.08);
}

/* открытое состояние */
.lang.open .lang-menu{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

/* если в правом краю шапки тесно — пусть кнопка не сжимается */
.lang{ min-width: 44px; }

/* ==== БУРГЕР ==== */
.burger{
  display:none;                   /* по умолчанию скрыт (десктоп) */
  width:40px; height:36px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.06);
  cursor:pointer;
  align-items:center; justify-content:center;
  gap:4px; flex-direction:column;
  z-index: 100;
}
.burger span{
  display:block; width:20px; height:2px; background:#fff; transition:transform .2s ease, opacity .2s ease, width .2s;
}
/* анимация крестика */
.nav.open .burger span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.nav.open .burger span:nth-child(2){ opacity:0; width:0; }
.nav.open .burger span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* затемнение фона */
.nav-backdrop{
  position:fixed; inset:0;
  background:rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
  opacity:0; transition:opacity .22s ease;
  z-index: 70;
}
.nav.open .nav-backdrop{ opacity:1; }
.nav.open .nav-backdrop[hidden]{ display:block; } /* чтобы показывался при open */





/* мелкий твик для visited/underline (чтобы не появлялись) */
.nav a, .nav a:visited{ text-decoration:none; color:inherit; }



/* body */

.container{
  width:100%; 
  /*max-width: var(--container);*/
  padding: 0 var(--gutter); margin:0 auto;
}

.btn{
  background:#4CAF50; 
  color:#fff; 
  text-transform:uppercase; 
  cursor:pointer;
  padding-left: 2svw;
  padding-right: 2svw;
  max-width: fit-content;
  height:var(--btn-height);
  border:0; 
  border-radius:25px; 
  font-family:"Nunito",sans-serif; 
  font-size:var(--btn-font-size);
  font-weight:700; 
  transition:background-color .18s ease, box-shadow .18s ease, filter .18s ease;
  transform-origin:center; 
  will-change:transform;
}

.btn:hover{
  background: color-mix(in srgb, var(--btn-bg) 88%, #000);
  background: var(--btn-bg-hover);
  box-shadow: var(--btn-shadow-hover); animation: joinPulse 1s ease-in-out infinite;
}
.btn:active{ animation:none; transform:scale(.98); filter:brightness(.98); }
.btn:focus-visible{
  outline:0; box-shadow:0 0 0 3px rgba(255,255,255,.6), 0 0 0 6px rgba(76,175,80,.45), var(--join-shadow-hover);
}
@keyframes joinPulse{ 0%{transform:scale(1)} 50%{transform:scale(1.04)} 100%{transform:scale(1)} }
@media (prefers-reduced-motion: reduce){
  .btn,.btn:hover{ animation:none !important; transition:background-color .18s ease, box-shadow .18s ease; transform:none !important; }
}

.main{
  justify-content:space-between; align-items:center;
  scroll-margin-top: 100px;
}

.main_text p{
  font-size: var(--main-p);
}

.main_title{
  font-size: var(--main-h2);
  text-align: left;
}

.main_img img{
  max-height:var(--main-img)
}

.anim-text-visible{
  font-family:"Bebas",sans-serif; color:#14a0ff; font-weight:700; line-height:1;
  width:auto; display:block; white-space:normal;
  font-size: var(--anim-text-visible);
}

.anim-caret{ display:inline-block; width:.6ch; text-align:center; }
.caret-blink{ animation: caret-fade 1s ease-in-out infinite; }
@keyframes caret-fade{ 0%,100%{opacity:1} 50%{opacity:0} }
.type-char{ opacity:0; display:inline-block; transform:translateY(.07em); animation:type-reveal var(--char-reveal,140ms) ease-out forwards; }
@keyframes type-reveal{ to{ opacity:1; transform:translateY(0);} }


.choose{
  text-align: center;
  scroll-margin-top: 250px;
}

.stats{
  display: flex;
  flex-direction: row;
  justify-content: space-around
}

.stat__value{ font:700 clamp(36px,5vw,72px)/1.05 "Nunito",sans-serif; letter-spacing:.5px; color:#fff; min-height:1em; }
.stat__label{ opacity:.9; font: normal clamp(12px,1.8vw,18px) "Nunito",sans-serif; color:#fff; }


.destination{
  flex-direction: column;
  align-items: center;
}

.dest_cards{
  display: flex;
  justify-content: space-around;
  width: 100%;
  flex-direction: var(--dst-crds);
}

/* карточки: интерактив + эффект */
.dest_card{
  position: relative;
  overflow: hidden;
  isolation: isolate;          /* чтобы оверлеи не смешивались снаружи */
  width: var(--dest-card-w);
  height: var(--dest-card-h);
  border-radius: 15px;
  text-align: center;
  background: none;            /* фон теперь рисуем на ::before/::after */
  box-shadow: 0 8px 28px rgba(0,0,0,.25);
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: pointer;
}

/* фон-картинка (будет зумиться) */
.dest_card::before{
  content:"";
  position:absolute; inset:-2%;          /* чуть больше, чтобы при зуме не было пустых краёв */
  background: var(--card-bg, url(../img/3cgwd9oryf0lwj35u887h52gifafjah4.jpg)) center/cover no-repeat;
  transform: scale(1);
  transition: transform .6s ease;
  z-index: 0;
}

/* затемняющая пелена (усиливаем на hover) */
.dest_card::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(rgba(0,0,0,.40), rgba(0,0,0,.40));
  transition: background .25s ease;
  z-index: 0;
}

/* контент над фоном */
.dest_card > *{ position: relative; z-index: 1; }

/* hover-состояние: зум, потемнение, подъём */
.dest_card:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.dest_card:hover::before{ transform: scale(1.12); }
.dest_card:hover::after{ background: linear-gradient(rgba(0,0,0,.60), rgba(0,0,0,.60)); }

/* красивый фокус для клавиатуры */
.dest_card:focus-visible{
  outline: 3px solid #14a0ff;
  outline-offset: 4px;
  border-radius: 18px;
}




.requirements{
  font-family: "Nunito", Sans-serif;
  color: white;
  font-size: var(--require-span);
}


.request{
  flex-direction: column;
  scroll-margin-top: 100px;
}

.form{
  display: flex;
  flex-direction:var(--form-fl-dr);
  justify-content: space-evenly;
  align-items: center;
}

.img-form{
  display: var(--reqst-img);
}

.img-form img{
  width: var(--img-form-w);
}

.request-form{
  width: var(--req-f-w);
}

.request-form form{
  display: flex;
  flex-direction: column;
  align-items: var(--req-form-form-al-it);
}

.request-form button{
  margin-top: 10px;
}

label{
  color: white;
  font-family: "Nunito", Sans-serif;
  font-size: var(--label-fs);
}


.checkBox label{
  display: inline-flex;
  align-items: center;
}

input{
  border-radius: 12px;
  border-style: none;
  height: var(--inp-h);
  padding-left: 10px;
  font-size: 25px;
  font-family: "Nunito", Sans-serif;
  width: var(--inpt-w)
}

input:focus{
  outline-color: #5784c9;
}

.advantages{
  flex-direction: column;
}

.advantages-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: var(--adv-card-w);
  margin-bottom: 35px;
}

.advantages-cards{
  display: flex;
  flex-wrap:wrap;
  justify-content: var(--adv-cards-just-con);
}

.advantages-card img{
  display: block;
  height: clamp(120px, 12vw, 210px);
  width: auto;
  max-width: 100%;
  object-fit: fill;
}

.advantages-card h3{
  font-family: "Nunito", Sans-serif;
  color:rgb(48, 152, 221);
  font-size: var(--adv-crd-fs);
  text-align: center;
  text-transform:capitalize;
}

.advantages-card p{
  font-size: var();
}

.advantages-card{
  text-align: center;
}

.verification{
  flex-direction: var(--verif-fl-fr);
  scroll-margin-top: 250px;
  gap: 0svh;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .verification{
    scroll-margin-top: -150px;
  }
}

.ver-img{
  display: flex;
  justify-content: center;
}

.ver-img img{
  width: 100%;
  height: auto;          
  object-fit: contain;     
  display: block;
}

.verify-text{
  display: flex;
  flex-direction:column;
  justify-content: center;
  align-items: center;
}

.verify-text input{
  margin-bottom: 15px;
}

.video-guide{
  padding: 100px 0;
  flex-direction: column;
  align-items: center;
  gap:0
}

.video-guide span{
  position: relative;
  font-family: "Bebas Neue", Sans-serif;
  color: white;
  font-size: 56px;
  font-weight: 600;
}

#tutor{
  width: 100%;
}

#video{
  text-align: right;
  width: 100%;
}

.video-swiper-wrap{
  position: relative;
  width:100%;
  max-width: min(1100px, 96vw);
  margin: 0 auto 0;
  /* важно: здесь МОЖНО оставлять overflow:visible (по умолчанию visible) */
}

.vs-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  background: rgba(0,0,0,.45);
  color: #fff;
  cursor: pointer;
  z-index: 5;
  display: grid;
  place-items: center;
}

.vs-nav::before{
  content: "";
  display: block;
  width: 10px; height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.vs-prev{ left: -56px; }
.vs-prev::before{ transform: rotate(-135deg); }

.vs-next{ right: -56px; }
.vs-next::before{ transform: rotate(45deg); }

.video-swiper{
  width:100%;
  max-width: min(1100px, 96vw);
  margin: 0 auto 0;
  padding: 0 8px;
  overflow: visible; 
}

/* Адаптивная рамка под 16:9 */
.video-embed{
  width:100%;
  aspect-ratio: 16 / 9;              /* современный способ */
  background:#000; border-radius:12px; overflow:hidden;
}
/* Фоллбек на старые браузеры (если вдруг надо):
.video-embed{ position:relative; height:0; padding-top:56.25%; }
.video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; }
*/

.video-embed iframe{ width:100%; height:100%; display:block; }

/* Кнопки/пагинация под тёмный фон */
.video-swiper .swiper-button-prev,
.video-swiper .swiper-button-next{
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.45));
}

.video-swiper .swiper-button-prev{ left: -48px; }
.video-swiper .swiper-button-next{ right: -48px; }

.vs-next::before{
  position: relative;
  right: 2px;
}

.vs-prev::before{
  position: relative;
  left: 1px;
}

.video-swiper .swiper-pagination-bullet{
  background:#fff; opacity:.55;
}
.video-swiper .swiper-pagination-bullet-active{
  opacity:1;
}

.banners{
  display:flex; justify-content:center; align-items:center;
}

.banners .banners-swiper-wrap{
  position: relative;
  width: fit-content;                 
  max-width: min(96vw, 730px);
  margin: 0 auto;
  overflow: visible;           
}

.banners .swiper-slide{ display:flex; }

.banner-card{
  width:100%;
  aspect-ratio: 9 / 9;       
  background:#06123a;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(0,0,0,.28);
}

.banner-card img{
  width:100%; height:100%;
  object-fit: contain;        
  display:block;
}



.banners .bn-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 999px;
  border: 0;
  background: rgba(0,0,0,.45);
  color: #fff;
  cursor: pointer;
  z-index: 5;
  display: grid;
  place-items: center;
  /* чтобы клики проходили поверх всего */
  box-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.banners .bn-nav::before{
  content: "";
  display: block;
  width: 10px; height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.banners .bn-prev{ left: -56px; }
.banners .bn-prev::before{ transform: rotate(-135deg); }
.banners .bn-next{ right: -56px; }
.banners .bn-next::before{ transform: rotate(45deg); }

.banners .swiper-pagination-bullet{ background:#fff; opacity:.6; }
.banners .swiper-pagination-bullet-active{ opacity:1; }

.banners .bn-pagi{
  position: absolute;
  left: 0; right: 0;
  bottom: 0;                           /* бэкап, если что */
  --swiper-pagination-bottom: -24px;     /* ← ВАЖНО: это прочтёт Swiper */
  display: flex; justify-content: center; align-items: center;
  gap: 8px; z-index: 5; pointer-events: auto;
}

.banners .bn-pagi.outside{
  --swiper-pagination-bottom: -18px;   /* на 18px ниже обёртки */
}

.banners .bn-pagi .swiper-pagination-bullet{
  width:8px; height:8px; border-radius:999px;
  background:#fff; opacity:.6;
}
.banners .bn-pagi .swiper-pagination-bullet-active{ opacity:1; }



.promo{
  display: flex;
  flex-direction: row;
  scroll-margin-top: 250px;
  gap: 15svh;
  justify-content: center;
}

.btn-android iframe{
  height: 150px;
}


.link_footer img{
  width: 17%;
}


@media only screen and (max-width: 768px) {
  .promo{
    flex-direction: column;
  }
}

.promo-text{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.promo-text h3{
  margin: 0;
  text-align: center;
}

.promo-text .btn{
  margin-top: 36px;
}
/* media */

@media (max-width:1559px){
  
  :root{
    --main-h2: 70px;
    --h2:60px;
    --anim-text-visible:65px;
    --main-img: 600px;
    --main-p: 16px;
    --btn-width: 360px;
    --btn-height: 62px;
    --carousel-img-h: 80%;
    --h3-fs:39px;
    --dest-card-h:480px;
    --dest-card-w:550px;
  }
}

@media (max-width:1199px){
  :root{
    --main-h2: 65px;
    --h2: 55px;
    --anim-text-visible:65px;
    --main-img: 550px;
    --main-p: 13px;
    --btn-width: 310px;
    --btn-height: 52px;
    --btn-font-size:27px;
    --carousel-img-h: 67%;
    --h3-fs:37px;
    --dest-card-h:430px;
    --dest-card-w:490px;
  }

  .app li::before{
  width:16px; 
  height:16px; 
  }
  .nav li{
  font-size: 12px;
  }
}


@media (max-width: 1031px){
  /* контейнер шапки */
  :root{
    --main-h2: 45px;
    --h2: 35px;
    --anim-text-visible:40px;
    --main-img: 550px;
    --main-p: 10px;
    --main-img: 400px;
    --btn-width: 240px;
    --btn-height: 42px;
    --btn-font-size:20px;
    --carousel-img-h: 50%;
    --carousel-img-w: 120%;
    --lc-gap: px;
    --h3-fs:31px;
    --dest-card-h:330px;
    --dest-card-w:360px;
    --require-span: 9px;
    --dst-crds:column;
    --img-form-w:420px;
    --label-fs:21px;
    --req-f-w:320px;
    --req-form-form-al-it:center;
    --verify-img-w:370px;
  }

  .dest_cards{
    align-items: center;
  }

  .dest_card{
    margin-bottom: 5px;
  }

  .nav{
    align-items:center;
    gap:10px;
    position:relative;
    z-index: 80; /* выше backdrop */
  }

  /* показываем бургер, язык оставляем справа от бургера внутри меню или в самом меню */
  .burger{ display:flex; }

  /* приложения можно скрыть или перенести вниз — выбери одно: */
  .app{ display:none; } /* компактнее */

  /* превращаем nav в выезжающую панель справа */
  .nav > nav{
    position: fixed;
    top:0; right:0; bottom:0;
    width:min(78vw, 320px);
    background:#0c163a;
    box-shadow: -20px 0 50px rgba(0,0,0,.45);
    transform: translateX(100%);
    transition: transform .25s ease;
    padding: 80px 18px 24px;      /* отступ под шапку */
    z-index: 80;
  }
  .nav.open > nav{ transform: translateX(0); }

  /* вертикальный список */
  .nav > nav ul{
    display:flex; flex-direction:column; gap:12px;
    padding:0; margin:0;
  }
  .nav > nav li{
    font-size:16px;
    padding:10px 6px;
  }
  .nav > nav a{ color:#fff; text-decoration:none; }

  /* языковая кнопка красиво в панели */
  .nav > nav .lang{ margin-top:8px; }

  .nav.open .burger{
    position: fixed;
    top: 12px;
    right: 12px;
  }
}

@media (max-width:767px){
  :root{
    --main-p: 11px;
    --form-fl-dr:column;
    --verify-img-w:270px;
    --verif-fl-fr:column;
  }
  
  .main{
    display: flex;
    flex-direction: column-reverse;
  }
  .main_text .btn{
    display:block;
    margin: 12px auto 0;
    padding-left: 5svw;
    padding-right: 5svw;      
  }

  .video-swiper .swiper-button-prev,
  .video-swiper .swiper-button-next{
    display: none !important;
  }

  .banners .bn-nav{ display:none; }
}

@media (max-width:455px){
  :root{
    --main-h2: 35px;
    --anim-text-visible:35px;
    --main-img: 550px;
    --main-p: 13px;
    --main-img: 400px;
    --btn-width: 240px;
    --btn-height: 42px;
    --btn-font-size:20px;
    --dest-card-h:350px;
    --dest-card-w:300px;
    --img-form-w:280px;
    --label-fs:14px;
    --req-form-form-al-it:center;
    --inp-h:25px;
    
  }
  
  .app{
    overflow: hidden;
    visibility: hidden;
  }
}


/* =======================
   Logo carousel
======================= */
:root{
  --lc-item-w: 161px;
  --lc-item-h: 180px;
  --lc-slide-duration: 600ms;
  --lc-edge: 40px;          /* ширина затемнения слева/справа */
  --lc-gap: 32px;           /* базовый зазор между элементами */
  --carousel-img-w: 161px;  /* макс-ширина логотипа */
  --carousel-img-h: 180px;   /* макс-высота логотипа */
  --lc-fallback-bg: #fff;   /* фон для фолбэка без mask */
}

.logo-carousel{ width:100%; margin:0; padding:0; }
.logo-carousel .viewport{
  position: relative;
  overflow: hidden;
  padding-inline: var(--lc-edge);

  /* Маска для мягкого появления/исчезания с двух сторон */
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 var(--lc-edge),
    #000 calc(100% - var(--lc-edge)),
    transparent 100%
  );
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;

          mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 var(--lc-edge),
    #000 calc(100% - var(--lc-edge)),
    transparent 100%
  );
          mask-size: 100% 100%;
          mask-repeat: no-repeat;
}

.logo-carousel .track{
  display: flex;
  align-items: center;
  gap: var(--lc-gap);
  list-style: none;
  margin: 0;
  padding: 0;
  will-change: transform;
  flex-wrap: nowrap;           /* не переносить строки */
  min-width: max-content; 
}

.logo-carousel .item{
  flex: 0 0 auto;
  width: var(--lc-item-w);
  height: var(--lc-item-h);
  display: grid;
  place-items: center;
}

.logo-carousel img{
  max-width: var(--carousel-img-w);
  max-height: var(--carousel-img-h);
  width: auto;
  height: auto;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}

/* пауза анимации */
.logo-carousel[data-paused="true"] .track{
  transition: none !important;
  transform: none !important;
}

/* уважение reduce-motion */
@media (prefers-reduced-motion: reduce){
  .logo-carousel .track{ transition: none !important; }
}

/* мобильные корректировки */
@media (max-width: 576px){
  :root{
    --lc-gap: 20px;
    --lc-edge: 36px;
  }
}

/* Фолбэк, если mask недоступен (н-р, очень старые браузеры) */
@supports not ((mask-image: linear-gradient(black, transparent)) or (-webkit-mask-image: linear-gradient(black, transparent))){
  .logo-carousel .viewport::before,
  .logo-carousel .viewport::after{
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--lc-edge);
    pointer-events: none;
    z-index: 1;
  }
  .logo-carousel .viewport::after{
    left: auto; right: 0;
  }
  .logo-carousel .viewport::before{
    background: linear-gradient(to right, var(--lc-fallback-bg), rgba(255,255,255,0));
  }
  .logo-carousel .viewport::after{
    background: linear-gradient(to left, var(--lc-fallback-bg), rgba(255,255,255,0));
  }
}


/* ===== Modal base ===== */
.modal{
  position: fixed; inset: 0;
  display: none;
  place-items: center;
  z-index: 2000;
}
.modal.open{ display: grid; }

.modal__backdrop{
  position: absolute; inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
  opacity: 0; transition: opacity .2s ease;
}
.modal.open .modal__backdrop{ opacity: 1; }

.modal__dialog{
  position: relative;
  width: min(96vw, 1100px);
  max-height: 90vh;
  overflow: auto;
  background: #101827;              /* тёмный блок как на скрине */
  color: #e6eef9;
  border-radius: 16px;
  padding: 24px 28px;
  box-shadow: 0 30px 80px rgba(0,0,0,.6);
  transform: translateY(10px) scale(.98);
  opacity: 0;
  transition: transform .22s ease, opacity .22s ease;
}
.modal.open .modal__dialog{
  transform: translateY(0) scale(1);
  opacity: 1;
}

.modal__close{
  position: sticky;                 /* держим вверху при прокрутке контента */
  top: 0;
  margin-left: auto;
  display: block; 
  place-items:center;
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,.08);
  color: #fff; font-size: 20px; line-height: 1;
  cursor: pointer;
}
.modal__close:hover{ background: rgba(255,255,255,.18); }

.modal__content{
  max-width: 100%;
  text-align: center;
}
.modal__content h2.modal-title{
  font-family: "Bebas", sans-serif;
  font-size: 36px; letter-spacing: .5px; margin: 6px 0 12px;
  color: #fff;
}
.modal__content h3{
  font-family: "Nunito", sans-serif;
  margin: 18px 0 8px; font-size: 18px; text-transform: none; color: #fff;
}
.modal__content p{
  font-family: "Nunito", sans-serif;
  margin: 0 0 10px; color: #dbe7ff; font-size: 15px; line-height: 1.6;
}

/* блокируем прокрутку боди, когда открыт модал */
body.modal-lock{ overflow: hidden; }


/* intl-tel-input: ширина как у остальных полей */
.iti { width: var(--inpt-w); }
.iti input#phone { width: 100%; height: var(--inp-h); font-size: 25px; border-radius: 12px; }

/* скрыть флаг/стрелку полностью */
.iti__flag-container { display: none !important; }

/* убрать левый внутренний отступ, который плагин добавляет под флаг */
.iti--allow-dropdown input#phone,
.iti--separate-dial-code input#phone { padding-left: 10px !important; }

/* =======================
   Popups (form)
======================= */
.popup{
  position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.5);
}
.popup__box{
  background:#021B54; color:#111; max-width:420px; width:90%; border-radius:16px; padding:24px; text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.popup__close{
  margin-top:16px; padding:10px 18px; border:0; border-radius:10px; background:#2ecc71; color:#fff; font-weight:600; cursor:pointer;
}
.hidden{ display:none; }

input, select, textarea { font-size: 16px; }

/* стили только для текстовых полей */
input:not([type="radio"]):not([type="checkbox"]) {
  border-radius: 12px;
  border: none;
  height: var(--inp-h);
  padding-left: 10px;
  font-family: "Nunito", Sans-serif;
  /*width: var(--inpt-w);*/
}

.checkBox{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.checkBox label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  /* не делай здесь очень большой размер — iOS любит «расти» вместе с input */
  font-size: 18px;
  line-height: 1;
}

.checkBox input[type="radio"]{
  appearance: auto;               /* вернуть системный вид */
  -webkit-appearance: radio;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-sizing: content-box;
  transform: none;
}


/* lightweight verify modal */
.vmodal{ position:fixed; inset:0; display:none; z-index:9999; }
.vmodal.is-open{ display:block; }
.vmodal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(2px); }
.vmodal__dialog{
  position:relative; max-width:980px; margin:5vh auto; background:#121a24; color:#e7eef8;
  border-radius:14px; padding:32px 28px; box-shadow:0 20px 60px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.08);
}
.vmodal__title{ margin:0 0 12px; font-size:28px; letter-spacing:.5px; }
.vmodal__close{
  position:absolute; right:12px; top:8px; width:40px; height:40px; border:none; background:transparent; color:#fff; font-size:28px; line-height:1; cursor:pointer;
}
.vmodal__item{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:14px 16px; margin:10px 0; }
.vmodal__item h4{ margin:0 0 6px; font-size:18px; }
.vmodal__meta{ font-size:15px; opacity:.9; }
.vmodal__nf{ padding:18px; border-radius:12px; background:rgba(255,60,60,.08); border:1px solid rgba(255,60,60,.25); }


/* всегда гарантировать скрытие по атрибуту */
[hidden]{ display: none !important; }

/* overlay теперь тоже анимируем (а не только диалог) */
.pp-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.5);
  display: grid; place-items: center;
  z-index: 2000;

  /* анимация появления/исчезновения ТУТ */
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.pp-overlay.show{
  opacity: 1;
  pointer-events: auto;
}


.pp-dialog{
  background: #0b1433; color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px; padding: 20px;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);

  transform: translateY(10px);
  transition: transform .2s ease;
}

@media only screen and (max-width: 768px) {
  .pp-dialog{
    width: 92vw;
  }
}

.pp-security{
  text-align: center;
  margin-top: 0px;
}

.pp-overlay.show .pp-dialog{
  transform: translateY(0);
}

.pp-title{
  color: red;
  text-align: center;
  margin-top: 0px;
}

.pp-close{
  position: absolute; top: 10px; right: 10px;
  width: 32px; height: 32px; border-radius: 10px;
  background: rgba(255,255,255,.08); color:#fff;
  border: 1px solid rgba(255,255,255,.16);
  cursor: pointer;
}

/* .phone-row{
  display: flex;
  gap: 8px;
}
#dial{
  min-width: 240px;   
  height: 44px;
}
#phone{
  flex: 1;
  height: 44px;
} */

#country{
  border-radius: 12px;
  border: none;
  height: var(--inp-h);
  padding-left: 10px;
  font-family: "Nunito", Sans-serif;
  width: var(--inpt-w);
}

#tutor, #video{
  display: block;
}

.ver-title{
  color: red;
  text-align: center;
  margin-top: 0px;
  font-size: 30px;
}

.ver-security{
  text-align: center;
  margin-top: 0px;
  font-size: 30px;
}

.verify-warning{
  margin-top: 2svh;
  border: 3px solid white;
  border-radius: 15px;
  padding: 0px 10px;
}

.ver-text{
  font-size: 15px;
}

.verify-container{
  display: flex;
  flex-direction: column;
  height: max-content;
}

.verify{
  width: 400px;
}

.btn-verify{
  background:#4CAF50; 
  color:#fff; 
  text-transform:uppercase; 
  cursor:pointer;
  width: 30%;
  border:0;
  padding: 10px 0px; 
  border-radius:25px; 
  font-family:"Nunito",sans-serif; 
  font-size: 25px;
  font-weight:700; 
  transition:background-color .18s ease, box-shadow .18s ease, filter .18s ease;
  transform-origin:center; 
  will-change:transform;
}

@media screen and (max-width: 768px) {
  .verify{
    width: var(--inpt-w);

  }

  .btn-verify{
    width: 90%;
  }
}

#resize{
  max-height: 200px;
  height: 150px;
}

.qr-container{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex: 1;
}

.qr-text{
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 16px;
}

@media only screen  and (max-width: 768px) {
  .links{
    flex-direction: column;
    gap: 2svh;
  }
  
}

