body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:#0c0f17;
  color:#fff;
  line-height:1.6;
}
section{
  padding:40px 15px;
  max-width:1100px;
  margin:auto;
}
h1,h2,h3{
  font-weight:900;
}
.hero{
  position:relative;
  text-align:center;
  padding:80px 15px;
  /* фон игры */
  background-image:url('/img/HERO-BACKGROUND.png');
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
  overflow:hidden;
}

/* затемнение под текстом + читабельность */
.hero .wrap{
  max-width:900px;
  margin:0 auto;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.5) 40%,
    rgba(0,0,0,0.0) 100%
  );
  padding:24px 20px 40px;
  border-radius:18px;
}

/* плавный переход картинки в общий фон страницы */
.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:45%;
  background:linear-gradient(
    to bottom,
    rgba(12,15,23,0) 0%,
    #0c0f17 100%
  );
  pointer-events:none;
}

/* чуть поджимаем на мобиле */
@media(max-width:600px){
  .hero{
    padding:60px 10px;
  }
  .hero .wrap{
    padding:18px 14px 30px;
    border-radius:14px;
  }
 

}
.cta{
  display:inline-block;
  background:#ffd000;
  color:#000;
  padding:14px 26px;
  margin-top:12px;
  text-decoration:none;
  font-weight:900;
  border-radius:8px;
  border:none;
  cursor:pointer;
}
.card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
}
.card{
  background:#141827;
  border-radius:10px;
  padding:15px;
}
.card img{
  width:100%;
  border-radius:8px;
  margin-bottom:10px;
}
.badge{
  background:#ff5e00;
  padding:8px 14px;
  border-radius:8px;
  font-weight:900;
  display:inline-block;
  margin-bottom:10px;
}
.promo{
  background:#111520;
  border:2px solid #ffd000;
  padding:20px;
  border-radius:12px;
  text-align:center;
}
ul li{
  margin-bottom:6px;
}
footer{
  text-align:center;
  padding:40px 0;
  color:#888;
}

/* МОДАЛКИ */

.modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.7);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1000;
}
.modal{
  background:#111520;
  border-radius:14px;
  max-width:420px;
  width:90%;
  padding:24px 20px 20px;
  box-shadow:0 12px 40px rgba(0,0,0,.6);
}
.modal h3{
  margin-top:0;
  margin-bottom:10px;
}
.modal p{
  margin-top:0;
  margin-bottom:18px;
  font-size:14px;
  color:#ddd;
}
.modal-close{
  display:inline-block;
  border:none;
  background:transparent;
  color:#888;
  font-size:13px;
  cursor:pointer;
}

/* Кнопки магазинов */

.store-buttons{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.store-btn{
  flex:1 1 150px;
  border-radius:12px;
  background:#000;
  color:#fff;
  text-decoration:none;
  display:flex;
  align-items:center;
  padding:10px 12px;
  box-shadow:0 4px 16px rgba(0,0,0,.6);
  border:1px solid #333;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.store-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,.7);
  background:#050509;
}
.store-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  background:#0c0f17;
  border:1px solid rgba(255,255,255,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-right:10px;
  flex:0 0 28px;
}

.store-icon svg{
  width:18px;
  height:18px;
  display:block;
}
}
.store-text{
  display:flex;
  flex-direction:column;
}
.store-text span.label{
  font-size:11px;
  color:#bbb;
  line-height:1.2;
}
.store-text span.name{
  font-size:14px;
  font-weight:700;
  line-height:1.2;
}

/* адаптив */

@media(max-width:900px){
  .card-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:600px){
  .hero{padding:60px 10px;}
  .card-grid{
    grid-template-columns:1fr;
  }
  section{padding:25px 12px;}
}

#promo{
  padding:30px 15px 20px;
  max-width:1100px;
  margin:0 auto 16px;  
}


.promo-image-wrapper{
  position:relative;
}

.promo-image{
  width:100%;
  display:block;
  border-radius:18px;
}

/* кнопка поверх картинки внизу по центру */
.promo-btn{
  position:absolute;
  left:50%;
  bottom:24px;              /* вместо 10% — фикс от низа */
  transform:translateX(-50%);
  padding:14px 30px;
  font-weight:900;
  border-radius:999px;
  z-index:2;
}

/* мобилка: кнопка всё равно на баннере, просто чуть выше/меньше */
@media(max-width:600px){
  #promo{
    padding:20px 12px 30px;
  }

  .promo-btn{
    position:absolute;       /* важно: НЕ static */
    left:50%;
    bottom:18px;             /* ближе к нижней границе фона */
    transform:translateX(-50%);
    padding:12px 22px;
    font-size:14px;
    border-radius:999px;
  }
}
/* ====== GALLERY ====== */
.gallery{
  padding:30px 15px 10px;
  max-width:1100px;
  margin:0 auto;
}

.gallery h2{
  margin:0 0 6px;
}

.gallery-sub{
  margin:0 0 16px;
  color:#cfd3dd;
  font-size:14px;
}

.gallery-frame{
  position:relative;
  background:#0f1320;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:14px;
  overflow:hidden;
}

.gallery-viewport{
  overflow:hidden;
}

.gallery-track{
  display:flex;
  gap:12px;
  transition:transform .35s ease;
  will-change:transform;
}

.gallery-item{
  flex:0 0 calc((100% - 24px)/3); /* 3 на десктопе */
  margin:0;
}

.gallery-item img{
  width:100%;
  height:240px;
  object-fit:cover;
  border-radius:14px;
  display:block;
  background:#0c0f17;
}

/* стрелки */
.gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.55);
  color:#fff;
  cursor:pointer;
  font-size:26px;
  line-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:5;
  user-select:none;
}

.gallery-prev{ left:10px; }
.gallery-next{ right:10px; }

.gallery-arrow:hover{
  background:rgba(0,0,0,.72);
}

/* мобильная: 1 фото */
@media(max-width:600px){
  .gallery{ padding:18px 12px 6px; }
  .gallery-frame{ padding:12px; }
  .gallery-item{
    flex:0 0 100%;
  }
  .gallery-item img{
    height:230px;
  }
  .gallery-arrow{
    width:40px;
    height:40px;
    font-size:24px;
  }
}
.after-promo{
  padding-top:16px; /* вместо 40 */
}

/* ===== БАННЕР ===== */
.fire-banner{
  position:relative;
  width:100%;
  max-width:1100px;
  height:220px;
  margin:12px auto;
  border-radius:16px;
  overflow:hidden;
  background:#0c0f17;
}

.fire-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:contrast(1.05) brightness(.9);
}

/* атмосферное затемнение */
.fire-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(12,15,23,.35) 0%,
    rgba(12,15,23,.15) 45%,
    rgba(12,15,23,.55) 100%
  );
  z-index:1;
}

/* ===== СЛОЙ ИСКР ===== */
.fire-sparks{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}

/* ОДНА ИСКРА */
.ember{
  position:absolute;
  bottom:-24px;
  width:4px;
  height:4px;
  border-radius:50%;
  opacity:0;

  background:radial-gradient(circle,
    #fffbe6 0%,
    #ffd36a 35%,
    #ff9b1f 65%,
    rgba(255,120,0,0) 100%
  );

  box-shadow:
    0 0 6px rgba(255,180,80,.9),
    0 0 14px rgba(255,120,0,.6);

  animation:emberMove linear infinite;
}

/* движение: вверх + диагональ + затухание */
@keyframes emberMove{
  0%{
    transform:translate(0, 0) scale(.5);
    opacity:0;
  }
  15%{
    opacity:1;
  }
  80%{
    opacity:1;
  }
  100%{
    transform:
      translate(var(--dx), -280px)
      scale(1.2);
    opacity:0;
  }
}

/* ===== РАЗБРОС ПО ВСЕМУ БАННЕРУ ===== */
.e1  { left:5%;  --dx:-20px; animation-duration:2.4s; animation-delay:.2s; }
.e2  { left:12%; --dx:15px;  animation-duration:1.9s; animation-delay:.6s; width:3px; height:3px; }
.e3  { left:18%; --dx:-10px; animation-duration:2.1s; animation-delay:.9s; }
.e4  { left:26%; --dx:22px;  animation-duration:1.7s; animation-delay:.3s; width:5px; height:5px; }
.e5  { left:33%; --dx:-18px; animation-duration:2.3s; animation-delay:.7s; }
.e6  { left:40%; --dx:10px;  animation-duration:1.8s; animation-delay:.4s; width:3px; height:3px; }
.e7  { left:48%; --dx:-25px; animation-duration:2.5s; animation-delay:1.1s; }
.e8  { left:56%; --dx:18px;  animation-duration:2.0s; animation-delay:.5s; }
.e9  { left:64%; --dx:-12px; animation-duration:1.6s; animation-delay:.2s; }
.e10 { left:72%; --dx:28px;  animation-duration:2.2s; animation-delay:.8s; width:5px; height:5px; }
.e11 { left:80%; --dx:-16px; animation-duration:2.6s; animation-delay:.6s; }
.e12 { left:88%; --dx:20px;  animation-duration:1.9s; animation-delay:.9s; width:3px; height:3px; }
.e13 { left:92%; --dx:-30px; animation-duration:2.4s; animation-delay:1.2s; }
.e14 { left:96%; --dx:12px;  animation-duration:1.7s; animation-delay:.4s; }
.e15 { left:50%; --dx:0px;   animation-duration:2.8s; animation-delay:1.5s; }

/* ===== МОБИЛА ===== */
@media(max-width:600px){
  .fire-banner{ height:180px; margin:8px auto; }
  .ember{ transform:scale(.75); }
}

/* ===== ДОСТУПНОСТЬ ===== */
@media (prefers-reduced-motion: reduce){
  .ember{ animation:none; opacity:0; }
}
.banner-text{
  position:absolute;
  inset:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  pointer-events:none;
  padding:0 14px;
}

.banner-text .line{
  position:absolute;
  max-width:min(980px, 100%);
  opacity:0;
  transform:translateY(10px) scale(.98);
  filter:blur(1px);
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* типографика */
.t1{ font-size:20px; color:#fff; }
.t2{ font-size:44px; color:#ffd000; }
.t3{ font-size:18px; color:#fff; opacity:.95; }
.t4{ font-size:18px; color:#fff; opacity:.95; }
.t5{ font-size:20px; color:#fff; }

/* ВАЖНО: у каждого своя анимация */
.t1{ animation:show1 15s infinite; }
.t2{ animation:show2 15s infinite, promoPulse 15s infinite; }
.t3{ animation:show3 15s infinite; }
.t4{ animation:show4 15s infinite; }
.t5{ animation:show5 15s infinite; }

/* базовая форма кадра */
@keyframes frameIn{
  0%{ opacity:0; transform:translateY(10px) scale(.98); filter:blur(1px); }
  100%{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}
@keyframes frameOut{
  0%{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  100%{ opacity:0; transform:translateY(-10px) scale(1.01); filter:blur(1px); }
}

/* 0–3s */
@keyframes show1{
  0%, 1%   { opacity:0; }
  6%       { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  18%      { opacity:1; }
  22%      { opacity:0; transform:translateY(-10px) scale(1.01); filter:blur(1px); }
  100%     { opacity:0; }
}

/* 3–6s (CARATEL) */
@keyframes show2{
  0%, 19%  { opacity:0; transform:translateY(10px) scale(.98); filter:blur(1px); }
  25%      { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  38%      { opacity:1; }
  42%      { opacity:0; transform:translateY(-10px) scale(1.01); filter:blur(1px); }
  100%     { opacity:0; }
}

/* 6–9s */
@keyframes show3{
  0%, 39%  { opacity:0; }
  45%      { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  58%      { opacity:1; }
  62%      { opacity:0; transform:translateY(-10px) scale(1.01); filter:blur(1px); }
  100%     { opacity:0; }
}

/* 9–12s */
@keyframes show4{
  0%, 59%  { opacity:0; }
  65%      { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  78%      { opacity:1; }
  82%      { opacity:0; transform:translateY(-10px) scale(1.01); filter:blur(1px); }
  100%     { opacity:0; }
}

/* 12–15s */
@keyframes show5{
  0%, 79%  { opacity:0; }
  85%      { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  96%      { opacity:1; }
  100%     { opacity:0; transform:translateY(-10px) scale(1.01); filter:blur(1px); }
}

/* Акцентная пульсация именно на CARATEL */
.t2{
  text-shadow:0 0 14px rgba(255,208,0,.55), 0 0 28px rgba(255,140,0,.35);
}
.t2 b{ letter-spacing:.06em; }

@keyframes promoPulse{
  0%, 19% { transform:translateY(10px) scale(.98); }
  24% { transform:translateY(0) scale(1.04); }
  28% { transform:translateY(0) scale(1.00); }
  33% { transform:translateY(0) scale(1.06); }
  36% { transform:translateY(0) scale(1.00); }
  42%,100% { transform:translateY(-10px) scale(1.01); }
}

/* мобила */
@media(max-width:600px){
  .t1{ font-size:15px; }
  .t2{ font-size:28px; }
  .t3,.t4{ font-size:13px; }
  .t5{ font-size:15px; }
}

.fire-banner{
  cursor:pointer;
}

/* лёгкий hover, чтобы было понятно, что кликабельно */
.fire-banner:hover{
  filter:brightness(1.05);
}
.fire-banner *{
  pointer-events:none;
}
.fire-banner .cta{
  pointer-events:auto;
}
.after-promo ul{
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.after-promo ul li{
  padding-left: 0;
}

/* ===== HUD ПАНЕЛЬ-РАЗДЕЛИТЕЛЬ ===== */
.hud-divider{
  position:relative;
  height:100px;
  border-radius:14px;
  margin:12px 0;                 /* компактный зазор между секциями */
  background:
    linear-gradient(180deg,#141a2b 0%, #0c0f17 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,208,0,.25),
    inset 0 0 0 2px rgba(255,255,255,.03),
    0 6px 18px rgba(0,0,0,.45);
  overflow:hidden;
}

/* HUD-рамка + техно-линии */
.hud-frame::before,
.hud-frame::after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:10px;
  pointer-events:none;
}

.hud-frame::before{
  border:1px solid rgba(255,208,0,.35);
}

.hud-frame::after{
  border:1px dashed rgba(255,255,255,.08);
}

/* тонкая скан-линия */
.hud-divider::after{
  content:"";
  position:absolute;
  left:-40%;
  top:0;
  width:40%;
  height:100%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,208,0,.12),
    transparent
  );
  animation:hudScan 4.5s ease-in-out infinite;
  pointer-events:none;
}

/* ===== ИСКРЫ СНИЗУ (МИКРО, КАК В ИНТЕРФЕЙСЕ) ===== */
.hud-sparks{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.spark{
  position:absolute;
  bottom:6px;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#ffd36a;
  opacity:0;
  box-shadow:0 0 6px rgba(255,180,60,.8);
  animation:sparkRise linear infinite;
}

/* вертикальный подъём */
@keyframes sparkRise{
  0%   { transform:translateY(0) scale(.6); opacity:0; }
  20%  { opacity:1; }
  80%  { opacity:1; }
  100% { transform:translateY(-40px) scale(1); opacity:0; }
}

/* разброс */
.s1{ left:12%; animation-duration:2.4s; animation-delay:.2s; }
.s2{ left:28%; animation-duration:3.0s; animation-delay:1.1s; }
.s3{ left:46%; animation-duration:2.6s; animation-delay:.6s; }
.s4{ left:64%; animation-duration:3.2s; animation-delay:.9s; }
.s5{ left:78%; animation-duration:2.8s; animation-delay:.3s; }
.s6{ left:90%; animation-duration:3.6s; animation-delay:1.4s; }

/* ===== МОБИЛА ===== */
@media(max-width:600px){
  .hud-divider{
    height:90px;
    border-radius:12px;
    margin:10px 0;
  }
}

/* ===== АНИМАЦИИ ===== */
@keyframes hudScan{
  0%   { left:-40%; }
  60%  { left:100%; }
  100% { left:100%; }
}
.hud-divider{
  max-width:1100px;
  margin:12px auto;      /* auto по бокам центрирует */
  width:100%;
}
/* ===== HUD TEXT (FIXED) ===== */
.hud-text{
  position:absolute;
  inset:0;
  z-index:3;                 /* выше искр */
  display:flex;
  align-items:center;         /* ВЕРТИКАЛЬНЫЙ ЦЕНТР */
  justify-content:center;     /* ГОРИЗОНТАЛЬНЫЙ ЦЕНТР */
  text-align:center;
  padding:0 14px;
}

.hud-line{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%) translateY(10px) scale(.98);
  opacity:0;

  width:100%;
  max-width:900px;
  font-weight:800;
  font-size:18px;            /* КРУПНЕЕ */
  line-height:1.2;
  color:#e9eef7;

  animation: hudSeq 12.5s infinite;
  will-change: transform, opacity;
}

/* акцент CARATEL */
.hud-line strong{
  color:#ffd000;
  letter-spacing:.10em;
  text-shadow:0 0 12px rgba(255,208,0,.55);
}

/* Каждая строка = своё окно 2.5s (не пересекается) */
.l1{ animation-delay:0s; }
.l2{ animation-delay:2.5s; }
.l3{ animation-delay:5s; }
.l4{ animation-delay:7.5s; }
.l5{ animation-delay:10s; }

/* Каждая строка живёт ТОЛЬКО первые 20% цикла (20% от 12.5s = 2.5s) */
@keyframes hudSeq{
  0%{
    opacity:0;
    transform:translate(-50%, -50%) translateY(10px) scale(.98);
    filter:blur(1px);
  }
  6%{  /* быстрое появление */
    opacity:1;
    transform:translate(-50%, -50%) translateY(0) scale(1);
    filter:blur(0);
  }
  16%{ /* держим */
    opacity:1;
    transform:translate(-50%, -50%) translateY(0) scale(1);
    filter:blur(0);
  }
  20%{ /* уходим */
    opacity:0;
    transform:translate(-50%, -50%) translateY(-8px) scale(1.01);
    filter:blur(1px);
  }
  100%{ /* всё остальное время строго невидимо */
    opacity:0;
    transform:translate(-50%, -50%) translateY(-8px) scale(1.01);
    filter:blur(1px);
  }
}

/* Мобилка: ещё читабельнее и без “nowrap” */
@media(max-width:600px){
  .hud-line{
    font-size:16px;
    max-width:520px;
    padding:0 10px;
  }
}

/* если отключены анимации */
@media (prefers-reduced-motion: reduce){
  .hud-line{
    animation:none;
    opacity:1;
    position:static;
    transform:none;
    filter:none;
  }
}

/* ===== TOP MENU (CENTERED + SAME WIDTH AS HERO WRAP) ===== */
.topbar{
  position:absolute;
  top:14px;
  left:0; right:0;
  z-index:50;
  padding:0 15px;
}

.topbar-inner{
  max-width:900px;          /* как .hero .wrap */
  margin:0 auto;            /* по центру */
  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;   /* пункты по центру */

  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius:18px;
  padding:10px 14px;
}

.nav-menu{
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;           /* чтобы красиво переносилось */
  text-align:center;
}

.nav-menu a,
.nav-menu button{
  background:transparent;
  border:none;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
  padding:8px 10px;
  border-radius:10px;
  font-size:14px;
  white-space:nowrap;
}

.nav-menu a:hover,
.nav-menu button:hover{
  background:rgba(255,255,255,.08);
}

/* кнопка ⋯ на мобиле */
.nav-toggle{
  display:none;
  position:absolute;        /* чтобы не сдвигать центр */
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:42px; height:38px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.45);
  color:#fff;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}

/* mobile */
@media(max-width:600px){
  .topbar-inner{
    justify-content:center;
    padding:10px 12px;
  }

  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .nav-menu{
    display:none;
    position:absolute;
    top:52px;
    left:0;
    right:0;                /* ширина как у topbar-inner */
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    padding:10px;
    background:rgba(17,21,32,.98);
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    box-shadow:0 12px 40px rgba(0,0,0,.6);
  }

  .nav-menu.open{ display:flex; }

  .nav-menu a, .nav-menu button{
    width:100%;
    text-align:center;      /* текст по центру и в мобиле */
    white-space:normal;
  }
}
 /* ===== CLOSE BUTTON: always visible & nice ===== */
.modal-close{
  display:block !important;
  width:100% !important;
  margin-top:16px !important;
  padding:12px 14px !important;

  background:rgba(12,15,23,.9) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:12px !important;

  color:#fff !important;
  font-weight:900 !important;
  font-size:14px !important;
  letter-spacing:.02em;
  text-align:center !important;

  cursor:pointer !important;
  transition:background .15s ease, border-color .15s ease, transform .08s ease;
}

.modal-close:hover{
  background:rgba(20,24,39,.95) !important;
  border-color:rgba(255,208,0,.7) !important;
}

.modal-close:active{
  transform:translateY(1px);
}

/* чтобы кнопка не “прилипала” к краю на мобиле */
@media(max-width:600px){
  .modal{ padding-bottom:18px; }
}

/* ===== MOBILE: ⋯ внутри HERO (над .wrap), не fixed ===== */
@media(max-width:600px){

  /* панель не рисуем */
  .topbar-inner{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    padding:0 !important;
  }

  /* кнопка ⋯ позиционируем относительно hero */
  .topbar{
    position:absolute !important;
    top:10px !important;
    left:0 !important;
    right:0 !important;
    padding:0 12px !important;
  }

  .topbar-inner{
    max-width:900px !important;   /* можно 100% — но так держим логику */
    margin:0 auto !important;
    position:relative !important;
    height:0 !important;          /* чтобы не добавляло высоту */
  }

  .nav-toggle{
    position:absolute !important; /* КЛЮЧ: не fixed */
    top:0 !important;
    left:0 !important;
    right:auto !important;

    z-index:60 !important;
    width:46px !important;
    height:40px !important;
    border-radius:14px !important;
    background:rgba(0,0,0,.55) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.45) !important;
  }

  /* выпадающее меню под кнопкой, тоже внутри hero */
  .nav-menu{
    position:absolute !important;
    top:50px !important;
    left:0 !important;
    right:auto !important;

    width:min(280px, calc(100vw - 24px)) !important;
    z-index:60 !important;
  }
}
/* ===== MOBILE: promo button under image ===== */
@media(max-width:600px){
  .promo-image-wrapper{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .promo-btn{
    position:static !important;     /* убираем absolute */
    transform:none !important;
    margin-top:5px !important;      /* нужный отступ */
    width:min(320px, 92%) !important;
    padding:14px 22px !important;
    border-radius:999px !important;
  }
}



