
:root {
  --red:        #e62020;
  --red-glow:   rgba(230,32,32,.35);
  --blue:       #1a3aff;
  --blue-light: #3a5aff;
  --blue-glow:  rgba(26,58,255,.3);
  --gray:       #8a8f9e;
  --gray-light: #c8cad2;
  --white:      #ffffff;
  --bg:         #0b0c10;
  --bg2:        #111318;
  --bg3:        #181a23;
  --card:       #181a23;
  --border:     rgba(255,255,255,.07);
  --bh:         rgba(255,255,255,.13);
  --r4:         4px;
  --r10:        10px;
  --r16:        16px;
  --ease:       .25s ease;
  --font-body:  'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--bg);color:var(--white);
  overflow-x:hidden;
  max-width:100vw;
  -webkit-font-smoothing:antialiased;
  position:relative;
  padding-top: calc(var(--nav-height, 72px));
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

.neon-bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;contain:strict}
.neon-orb{
  position:absolute;border-radius:50%;filter:blur(100px);opacity:0;
  will-change:transform,opacity;animation:neonFloat 16s ease-in-out infinite;
}
.neon-orb:nth-child(1){width:650px;height:650px;background:radial-gradient(circle,rgba(26,58,255,.14),transparent 70%);top:-15%;left:-15%;animation-delay:0s;animation-duration:18s}
.neon-orb:nth-child(2){width:500px;height:500px;background:radial-gradient(circle,rgba(230,32,32,.1),transparent 70%);top:25%;right:-12%;animation-delay:-6s;animation-duration:20s}
.neon-orb:nth-child(3){width:420px;height:420px;background:radial-gradient(circle,rgba(26,58,255,.08),transparent 70%);bottom:5%;left:10%;animation-delay:-11s;animation-duration:22s}
.neon-orb:nth-child(4){width:350px;height:350px;background:radial-gradient(circle,rgba(230,32,32,.07),transparent 70%);top:55%;left:48%;animation-delay:-4s;animation-duration:17s}
@keyframes neonFloat{
  0%{opacity:0;transform:translate(0,0) scale(1)}
  18%{opacity:.9}50%{transform:translate(35px,-45px) scale(1.1)}
  82%{opacity:.6}100%{opacity:0;transform:translate(-25px,20px) scale(.92)}
}
.noise{position:fixed;inset:0;opacity:.18;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}

.navbar{
  background:rgba(11,12,16,.92);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);padding:0;position:fixed;top:0;left:0;width:100%;z-index:1100;
  transition:transform .25s ease;
}
.navbar-hidden{transform:translateY(-100%)}
.navbar-brand{
  display:flex;align-items:center;gap:.6rem;padding:.72rem 0;
  font-family:'Exo 2',sans-serif;font-weight:900;font-size:1.28rem;color:var(--white)!important;
}
.logo-img{width:36px;height:36px;object-fit:contain;border-radius:5px}
.brand-atr{color:var(--white)}
.brand-arena{background:linear-gradient(135deg,var(--blue-light),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nav-link{color:var(--gray-light)!important;font-size:.87rem;font-weight:500;letter-spacing:.04em;padding:.82rem 1rem!important;transition:color var(--ease);position:relative}
.nav-link::after{content:'';position:absolute;bottom:0;left:1rem;right:1rem;height:2px;background:linear-gradient(90deg,var(--red),var(--blue));border-radius:1px;transform:scaleX(0);transition:transform var(--ease)}
.nav-link:hover{color:var(--white)!important}
.nav-link:hover::after{transform:scaleX(1)}
.navbar-nav{margin-left:auto!important;margin-right:0!important}
.navbar-toggler{border-color:var(--border);padding:.35rem .6rem}
.navbar-toggler-icon{filter:invert(1)}
.navbar-toggler:focus{box-shadow:none}
section[id]{
  scroll-margin-top: calc(var(--nav-height, 72px) + 1rem);
}
.mobile-book-btn{
  display:none;width:100%;padding:.82rem 1rem;background:transparent;border-top:1px solid var(--border);
  color:var(--gray-light);font-size:.87rem;font-weight:500;letter-spacing:.04em;text-align:left;
  margin-top:.2rem;transition:color var(--ease);
}
.mobile-book-btn:hover{color:var(--white)}
@media(max-width:991px){.mobile-book-btn{display:block}}

.fab-wa{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;
  width:56px;height:56px;border-radius:50%;
  background:#25d366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.5);
  color:#fff;font-size:1.6rem;
  transition:transform var(--ease),box-shadow var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.fab-wa:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.7);color:#fff}

.btn-red{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:linear-gradient(135deg,var(--red),#ff4444);border:none;color:#fff;
  font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.85rem 2rem;border-radius:var(--r4);font-size:1rem;
  box-shadow:0 0 22px var(--red-glow);transition:transform var(--ease),box-shadow var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 0 38px var(--red-glow);color:#fff}
.btn-red:active{transform:translateY(0)}
.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;
  font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.85rem 2rem;border-radius:var(--r4);font-size:1rem;
  transition:border-color var(--ease),background var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.btn-outline:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.05);color:#fff}
.btn-wa{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:#25d366;border:none;color:#fff;
  font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.85rem 2rem;border-radius:var(--r4);font-size:1rem;
  box-shadow:0 0 18px rgba(37,211,102,.35);transition:transform var(--ease),box-shadow var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 0 30px rgba(37,211,102,.6);color:#fff}

section{position:relative;z-index:2}
.section-inner{padding:90px 0}
.sec-label{font-family:'Rajdhani',sans-serif;letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;color:var(--gray)}
.sec-line{width:50px;height:3px;background:linear-gradient(90deg,var(--red),var(--blue));border-radius:2px;margin:.6rem 0 1rem}
.sec-title{font-family:'Exo 2',sans-serif;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:900;letter-spacing:-.03em;line-height:1.1}
.sec-sub{color:var(--gray);max-width:540px;line-height:1.72;margin-top:.75rem;font-size:.93rem}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:translateY(0)}

#hero{
  position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;
  background:linear-gradient(160deg,#0b0c10 0%,#0c0e1a 100%);
}
.hero-overlay{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(160deg,rgba(11,12,16,.82) 40%,rgba(11,12,16,.55) 100%);
}
/* МЕСТО ДЛЯ ВИДЕО ФОНА — вставь свой файл video/bg.mp4 */
.hero-video{
  position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;opacity:.35;
}
.hero-grid{
  position:absolute;inset:0;z-index:3;
  background-image:linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:60px 60px;
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at center,black 20%,transparent 100%);
  mask-image:radial-gradient(ellipse 80% 80% at center,black 20%,transparent 100%);
}
.hero-content{position:relative;z-index:4;padding:100px 0 80px}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(230,32,32,.12);border:1px solid rgba(230,32,32,.28);
  border-radius:100px;padding:.3rem .85rem;
  font-family:'Rajdhani',sans-serif;font-weight:600;letter-spacing:.12em;font-size:.75rem;text-transform:uppercase;color:#ff5050;
  margin-bottom:1.4rem;
}
.pulse{width:6px;height:6px;background:#ff5050;border-radius:50%;animation:blink 1.6s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}
.hero h1{
  font-family:'Exo 2',sans-serif;font-size:clamp(2.8rem,6.5vw,5.5rem);font-weight:900;
  line-height:.98;letter-spacing:-.04em;margin-bottom:1.3rem;
}
.hero h1 em{font-style:normal;color:var(--red)}
.hero h1 strong{font-style:normal;background:linear-gradient(135deg,var(--blue-light) 0%,#7090ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-lead{font-size:1.05rem;color:var(--gray-light);max-width:480px;line-height:1.72;margin-bottom:2rem;font-weight:300}
.hero-ctas{display:flex;gap:.85rem;flex-wrap:wrap;margin-bottom:3rem}
.hero-stats{display:flex;gap:2.5rem;flex-wrap:wrap}
.stat-val{font-family:'Exo 2',sans-serif;font-size:2rem;font-weight:900;line-height:1;background:linear-gradient(135deg,#fff,#c8cad2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-lbl{font-size:.7rem;color:var(--gray);letter-spacing:.08em;margin-top:.3rem}

.hero-visual{width:100%;max-width:500px;filter:drop-shadow(0 0 55px rgba(26,58,255,.3));animation:levitate 4.5s ease-in-out infinite}
@keyframes levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

#offer{background:rgba(17,19,24,.9);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}
.offer-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0}
.offer-item{
  padding:1.6rem 1.8rem;border-right:1px solid var(--border);
  display:flex;align-items:flex-start;gap:.9rem;
  transition:background var(--ease);
}
.offer-item:last-child{border-right:none}
.offer-item:hover{background:rgba(255,255,255,.03)}
.offer-icon{font-size:1.6rem;flex-shrink:0;margin-top:.1rem}
.offer-item h6{font-family:'Exo 2',sans-serif;font-weight:700;font-size:.92rem;margin-bottom:.25rem}
.offer-item p{font-size:.8rem;color:var(--gray);line-height:1.5}

#advantages{background:rgba(17,19,24,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}
.adv-card{
  background:rgba(24,26,35,.92);border:1px solid var(--border);border-radius:var(--r10);
  padding:1.6rem;display:flex;gap:1rem;
  transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
  position:relative;overflow:hidden;
}
.adv-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red),var(--blue));transform:scaleX(0);transition:transform var(--ease)}
.adv-card:hover{transform:translateY(-5px);border-color:var(--bh);box-shadow:0 12px 35px rgba(0,0,0,.4)}
.adv-card:hover::after{transform:scaleX(1)}
.adv-icon-wrap{
  width:46px;height:46px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
}
.adv-icon-wrap.r{background:rgba(230,32,32,.14);color:#ff5050}
.adv-icon-wrap.b{background:rgba(26,58,255,.18);color:#6a8aff}
.adv-icon-wrap.g{background:rgba(138,143,158,.14);color:var(--gray-light)}
.adv-card h5{font-family:'Exo 2',sans-serif;font-weight:700;font-size:.93rem;margin-bottom:.35rem}
.adv-card p{font-size:.83rem;color:var(--gray);line-height:1.6}
.adv-num{font-family:'Exo 2',sans-serif;font-size:2rem;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--red),var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-width:2.5rem}

#how{background:rgba(11,12,16,.95)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;position:relative}
.steps::before{content:'';position:absolute;top:38px;left:10%;width:80%;height:2px;background:linear-gradient(90deg,var(--red),var(--blue));z-index:0}
.step{text-align:center;padding:0 1.5rem;position:relative;z-index:1}
.step-circle{
  width:76px;height:76px;border-radius:50%;margin:0 auto 1.2rem;
  display:flex;align-items:center;justify-content:center;font-size:1.7rem;
  background:var(--bg3);border:2px solid var(--border);
  transition:border-color var(--ease),box-shadow var(--ease);
  position:relative;
}
.step-circle::before{
  content:attr(data-n);position:absolute;top:-8px;right:-8px;
  width:22px;height:22px;border-radius:50%;background:var(--red);
  font-family:'Exo 2',sans-serif;font-size:.65rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
}
.step:hover .step-circle{border-color:var(--red);box-shadow:0 0 20px var(--red-glow)}
.step h5{font-family:'Exo 2',sans-serif;font-weight:700;font-size:1rem;margin-bottom:.4rem}
.step p{font-size:.83rem;color:var(--gray);line-height:1.58}

#games{background:rgba(11,12,16,.95)}
.scroll-hint{display:flex;align-items:center;gap:.4rem;font-family:'Rajdhani',sans-serif;font-size:.76rem;letter-spacing:.1em;color:var(--gray);margin-top:.7rem}
.scroll-hint i{animation:sh 1.6s ease-in-out infinite}
@keyframes sh{0%,100%{transform:translateX(0);opacity:.4}50%{transform:translateX(5px);opacity:1}}
.games-wrap{
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:1.8rem;
  cursor:grab;
  /* Prevent overflow escaping the container */
  max-width:100%;
  contain:layout style;
}
.games-wrap::-webkit-scrollbar{height:8px}
.games-wrap::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06);
  border-radius:10px;
  margin:0 2rem;
  box-shadow:inset 0 0 4px rgba(0,0,0,.3);
}
.games-wrap::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,#e62020,#1a3aff,#e62020);
  background-size:200% 100%;
  animation:scrollbarShift 3s linear infinite;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 0 8px rgba(230,32,32,.6),0 0 16px rgba(26,58,255,.4);
}
.games-wrap::-webkit-scrollbar-thumb:hover{
  box-shadow:0 0 14px rgba(230,32,32,.9),0 0 24px rgba(26,58,255,.7);
}
.games-wrap::-webkit-scrollbar-button:start{
  display:block;width:8px;height:8px;
  background:radial-gradient(circle,#e62020,transparent);
  border-radius:50%;
}
.games-wrap::-webkit-scrollbar-button:end{
  display:block;width:8px;height:8px;
  background:radial-gradient(circle,#1a3aff,transparent);
  border-radius:50%;
}
@keyframes scrollbarShift{
  0%{background-position:0% 0%}
  100%{background-position:200% 0%}
}
.games-wrap:active{cursor:grabbing}
.games-track{
  display:flex;
  gap:1rem;
  width:max-content;
  padding:0.5rem 1rem 0.5rem;
  /* No negative margins that could bleed out */
}
.game-card{
  width:178px;flex-shrink:0;background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r10);overflow:hidden;
  transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);
  will-change:transform;
}
.game-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.55);border-color:var(--bh)}
.game-img-wrap{position:relative;width:100%;height:112px;overflow:hidden;background:linear-gradient(135deg,#1a0505,#050520);flex-shrink:0;}
.game-img-wrap img{width:100%;height:112px;object-fit:cover;transition:transform .4s ease;display:block;flex-shrink:0;}
.game-card:hover .game-img-wrap img{transform:scale(1.04)}
.game-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.2rem}
.gbadge{position:absolute;top:.4rem;right:.4rem;font-family:'Rajdhani',sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.16rem .4rem;border-radius:3px}
.gbadge.ex{background:var(--red);color:#fff}
.gbadge.pop{background:var(--blue);color:#fff}
.game-body{padding:.7rem .8rem .5rem}
.game-body h6{font-family:'Exo 2',sans-serif;font-weight:700;font-size:.82rem;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-body small{font-size:.67rem;color:var(--gray)}
.btn-more{
  display:block;width:100%;padding:.4rem;border-top:1px solid var(--border);
  color:var(--gray);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  font-family:'Rajdhani',sans-serif;font-weight:600;text-align:center;
  transition:background var(--ease),color var(--ease);-webkit-tap-highlight-color:transparent;
}
.btn-more:hover{background:rgba(230,32,32,.14);color:#ff7070}

#pricing{background:rgba(17,19,24,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.price-card{
  background:rgba(24,26,35,.95);border:1px solid var(--border);border-radius:var(--r16);
  padding:2rem 1.6rem;position:relative;overflow:hidden;
  transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.price-card:hover{transform:translateY(-5px);border-color:var(--bh);box-shadow:0 14px 40px rgba(0,0,0,.45)}
.price-card.featured{border-color:rgba(230,32,32,.4);box-shadow:0 0 30px rgba(230,32,32,.12)}
.price-card.featured::before{content:'ХИТ';position:absolute;top:1rem;right:1rem;background:var(--red);color:#fff;font-family:'Rajdhani',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.1em;padding:.2rem .5rem;border-radius:3px}
.price-icon{font-size:2rem;margin-bottom:1rem}
.price-name{font-family:'Exo 2',sans-serif;font-weight:800;font-size:1.05rem;margin-bottom:.3rem}
.price-desc{font-size:.8rem;color:var(--gray);line-height:1.55;margin-bottom:1.2rem}
.price-amount{font-family:'Exo 2',sans-serif;font-size:2.2rem;font-weight:900;line-height:1;margin-bottom:.25rem}
.price-amount span{font-size:1rem;font-weight:400;color:var(--gray)}
.price-per{font-size:.75rem;color:var(--gray);margin-bottom:1.3rem}
.price-divider{border-color:var(--border);margin:.9rem 0}
.price-feature{font-size:.8rem;color:var(--gray-light);padding:.22rem 0;display:flex;align-items:center;gap:.5rem}
.price-feature i{color:var(--red);font-size:.75rem;flex-shrink:0}

#trust{background:rgba(11,12,16,.95)}
.trust-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.2rem;margin-bottom:3.5rem}
.trust-stat{
  background:rgba(24,26,35,.92);border:1px solid var(--border);border-radius:var(--r10);
  padding:1.5rem;text-align:center;
  transition:transform var(--ease),border-color var(--ease);
}
.trust-stat:hover{transform:translateY(-4px);border-color:var(--bh)}
.trust-num{font-family:'Exo 2',sans-serif;font-size:2.4rem;font-weight:900;background:linear-gradient(135deg,var(--white),var(--gray-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.trust-lbl{font-size:.73rem;color:var(--gray);letter-spacing:.07em;margin-top:.35rem}

/* МЕСТО ДЛЯ ФОТО — вставь реальные фотографии в папку images/ */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,180px);gap:.7rem;border-radius:var(--r16);overflow:hidden}
.photo-cell{background:var(--bg3);border-radius:0;overflow:hidden;position:relative}
.photo-cell img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.photo-cell:hover img{transform:scale(1.05)}
.photo-cell.span2{grid-column:span 2}
.photo-cell.span-r{grid-row:span 2}
.photo-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:.5rem;background:var(--bg3);
  font-size:2rem;color:var(--gray);font-family:'Rajdhani',sans-serif;font-size:.75rem;letter-spacing:.1em;
}

.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:2.5rem}
.review-card{
  background:rgba(24,26,35,.92);border:1px solid var(--border);border-radius:var(--r10);
  padding:1.5rem;transition:transform var(--ease),border-color var(--ease);
}
.review-card:hover{transform:translateY(-4px);border-color:var(--bh)}
.review-stars{color:#fbbf24;font-size:.85rem;margin-bottom:.7rem}
.review-text{font-size:.87rem;line-height:1.68;color:var(--gray-light);margin-bottom:1rem}
.review-author{display:flex;align-items:center;gap:.7rem}
.review-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--blue));display:flex;align-items:center;justify-content:center;font-family:'Exo 2',sans-serif;font-weight:700;font-size:.9rem;flex-shrink:0}
.review-name{font-family:'Exo 2',sans-serif;font-weight:700;font-size:.88rem}
.review-meta{font-size:.73rem;color:var(--gray)}

#location{background:rgba(17,19,24,.88)}
.loc-card{background:rgba(24,26,35,.92);border:1px solid var(--border);border-radius:var(--r16);padding:2.2rem;height:100%}
.loc-row{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.loc-row:last-of-type{border-bottom:none}
.loc-ico{font-size:1.1rem;color:var(--red);margin-top:.1rem;min-width:1.4rem}
.loc-row h6{font-family:'Exo 2',sans-serif;font-weight:600;font-size:.86rem;margin-bottom:.2rem}
.loc-row p{font-size:.81rem;color:var(--gray);line-height:1.52}
.map-box{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r16);overflow:hidden;height:320px}
.map-box iframe{width:100%;height:100%;border:none}
.btn-route{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  margin-top:.8rem;padding:.72rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--r4);
  color:var(--gray-light);font-family:'Rajdhani',sans-serif;font-weight:600;font-size:.88rem;letter-spacing:.07em;text-transform:uppercase;
  transition:border-color var(--ease),color var(--ease),background var(--ease);
}
.btn-route:hover{border-color:rgba(26,58,255,.5);color:#7090ff;background:rgba(26,58,255,.06)}

.status-pill{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:.85rem;
  padding:.6rem .9rem;border-radius:var(--r4);
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  transition:background .4s,border-color .4s,color .4s;
}
.status-pill.open{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.24);color:#4ade80}
.status-pill.closed{background:rgba(230,32,32,.1);border:1px solid rgba(230,32,32,.24);color:#ff6060}
.s-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.status-pill.open   .s-dot{background:#4ade80;animation:blink 1.8s infinite}
.status-pill.closed .s-dot{background:#ff6060}

.footer-pill{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;
  padding:.5rem .75rem;border-radius:var(--r4);
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  transition:background .4s,border-color .4s,color .4s;
}
.footer-pill.open{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);color:#4ade80}
.footer-pill.closed{background:rgba(230,32,32,.08);border:1px solid rgba(230,32,32,.2);color:#ff6060}
.footer-pill .s-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.footer-pill.open .s-dot{background:#4ade80;animation:blink 1.8s infinite}
.footer-pill.closed .s-dot{background:#ff6060}

#cta-bottom{
  background:linear-gradient(135deg,rgba(230,32,32,.08),rgba(26,58,255,.08));
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.cta-box{
  background:rgba(24,26,35,.96);border:1px solid var(--border);border-radius:20px;
  padding:3.5rem;text-align:center;position:relative;overflow:hidden;
}
.cta-box::before{content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:380px;height:380px;background:radial-gradient(ellipse,rgba(230,32,32,.07),transparent 70%);pointer-events:none}
.cta-box h2{font-family:'Exo 2',sans-serif;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:900;margin-bottom:.75rem}
.cta-box p{color:var(--gray);max-width:440px;margin:0 auto 2rem;line-height:1.65;font-size:.93rem}
.cta-btns{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}
.btn-big{padding:1rem 2.5rem;font-size:1.05rem}

footer{background:rgba(17,19,24,.96);border-top:1px solid var(--border);padding:2.8rem 0 1.8rem;position:relative;z-index:2}
.footer-logo{display:flex;align-items:center;gap:.5rem;font-family:'Exo 2',sans-serif;font-weight:900;font-size:1.25rem;margin-bottom:.55rem}
.footer-logo .logo-img{width:28px;height:28px}
.footer-logo .brand-arena{background:linear-gradient(135deg,var(--blue-light),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
footer p{font-size:.82rem;color:var(--gray);line-height:1.65}
.footer-links a{color:var(--gray);font-size:.82rem;display:block;margin-bottom:.44rem;transition:color var(--ease)}
.footer-links a:hover{color:var(--white)}
.footer-divider{border-color:var(--border);margin:1.7rem 0 1.3rem}
.footer-bottom{font-size:.76rem;color:var(--gray)}
.social-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;background:var(--bg3);border:1px solid var(--border);
  border-radius:8px;color:var(--gray);font-size:.95rem;text-decoration:none;
  transition:border-color var(--ease),color var(--ease),transform var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.social-btn:hover{color:var(--white);border-color:rgba(255,255,255,.25);transform:translateY(-2px)}

.gm-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.88);
  display:flex;align-items:center;justify-content:center;
  z-index:2000;padding:1rem;opacity:0;pointer-events:none;transition:opacity .22s ease;
  -webkit-tap-highlight-color:transparent;
}
.gm-overlay.on{opacity:1;pointer-events:all}
.gm-box{
  background:#181a23;border:1px solid rgba(255,255,255,.12);border-radius:var(--r16);
  max-width:470px;width:100%;
  transform:scale(.94) translateY(10px);transition:transform .25s ease;
  max-height:88vh;overflow-y:auto;overscroll-behavior:contain;
}
.gm-overlay.on .gm-box{transform:scale(1) translateY(0)}
.gm-img-wrap{position:relative;height:170px;border-radius:var(--r16) var(--r16) 0 0;overflow:hidden;background:linear-gradient(135deg,#1a0505,#050520)}
.gm-img-wrap img{width:100%;height:100%;object-fit:cover}
.gm-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.2rem}
.gm-close{
  position:absolute;top:.7rem;right:.7rem;
  background:rgba(11,12,16,.75);border:1px solid rgba(255,255,255,.16);border-radius:50%;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:#fff;font-size:.95rem;transition:background var(--ease),border-color var(--ease);
  -webkit-tap-highlight-color:transparent;z-index:5;
}
.gm-close:hover{background:rgba(230,32,32,.4);border-color:rgba(230,32,32,.6)}
.gm-body{padding:1.2rem 1.4rem 1.5rem}
.gm-title{font-family:'Exo 2',sans-serif;font-weight:800;font-size:1.25rem;margin-bottom:.22rem}
.gm-genre{font-size:.8rem;color:var(--gray);margin-bottom:.9rem}
.gm-desc{font-size:.88rem;color:var(--gray-light);line-height:1.72}
.gm-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.9rem}
.gtag{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:.18rem .55rem;font-size:.68rem;font-family:'Rajdhani',sans-serif;letter-spacing:.06em;color:var(--gray-light)}
.gtag.r{background:rgba(230,32,32,.12);border-color:rgba(230,32,32,.3);color:#ff7070}
.gtag.b{background:rgba(26,58,255,.15);border-color:rgba(58,90,255,.3);color:#7090ff}

.modal-content{background:#181a23;border:1px solid rgba(255,255,255,.1);border-radius:var(--r16)}
.modal-header{border-bottom:1px solid var(--border);padding:1.3rem 1.7rem}
.modal-title{font-family:'Exo 2',sans-serif;font-weight:800;font-size:1.25rem}
.btn-close{filter:invert(1);opacity:.45}
.btn-close:focus{box-shadow:none}
.modal-body{padding:1.7rem}
.book-opt{
  display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--r10);
  margin-bottom:.8rem;text-decoration:none;color:var(--white);
  transition:border-color var(--ease),transform var(--ease),background var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.book-opt:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04);transform:translateX(4px);color:var(--white)}
.book-opt-ico{width:44px;height:44px;border-radius:var(--r10);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}
.book-opt-ico.tg{background:rgba(39,174,239,.15);color:#29aef0}
.book-opt-ico.wa{background:rgba(37,211,102,.15);color:#25d366}
.book-opt-ico.ph{background:rgba(50,205,100,.15);color:#32cd64}
.book-opt-txt h6{font-family:'Exo 2',sans-serif;font-weight:700;font-size:.88rem;margin-bottom:.18rem}
.book-opt-txt small{color:var(--gray);font-size:.76rem}
.book-cancel{display:block;text-align:center;padding:.8rem;color:var(--gray);font-size:.82rem;border-radius:var(--r4);margin-top:.4rem;cursor:pointer;transition:color var(--ease),background var(--ease)}
.book-cancel:hover{color:var(--white);background:rgba(255,255,255,.04)}

@supports(padding:max(0px)){
  .navbar{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  footer{padding-bottom:max(1.8rem,calc(.8rem + env(safe-area-inset-bottom)))}
  .fab-wa{bottom:max(1.5rem,calc(1rem + env(safe-area-inset-bottom)));right:max(1.5rem,calc(1rem + env(safe-area-inset-right)))}
}

@media(max-width:768px){
  .section-inner{padding:70px 0}
  .hero-content{padding:80px 0 60px}
  .steps::before{display:none}
  .photo-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,140px)}
  .photo-cell.span-r{grid-row:span 1}
  .cta-box{padding:2rem 1.2rem}
  .offer-strip{grid-template-columns:1fr 1fr}
  .offer-item{border-right:none;border-bottom:1px solid var(--border)}
  .offer-item:nth-child(2n){border-right:none}
  .offer-item:last-child{border-bottom:none}
  .hero-stats{gap:1.4rem}
  .stat-val{font-size:1.7rem}
}
@media(max-width:480px){
  .hero-ctas{gap:.6rem}
  .btn-red,.btn-outline,.btn-wa{padding:.75rem 1.4rem;font-size:.9rem}
  .cta-btns{flex-direction:column;align-items:center}
  .game-card{width:158px}
  .game-img-wrap{height:100px}
}

   FAQ / ЧАВО
═══════════════════════════════════════════════════════ */
#faq { background: var(--bg); }
.faq-list { max-width: 820px; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item:first-child { border-top: 1px solid var(--border); }
.faq-q {
  width: 100%; background: none; border: none;
  padding: 1.2rem 0;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  cursor: pointer; text-align: left; color: #fff;
  font-family: var(--font-body); font-size: 1rem; font-weight: 500; line-height: 1.4;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  transition: color .2s;
}
.faq-q:hover { color: var(--red); }
.faq-icon { font-size: 1.1rem; color: var(--red); flex-shrink: 0; transition: transform .3s cubic-bezier(.4,0,.2,1); }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .4s cubic-bezier(.4,0,.2,1); }
.faq-item.open .faq-a { max-height: 600px; }
.faq-a p { color: var(--gray-light); font-size: .92rem; line-height: 1.75; padding-bottom: 1.2rem; margin: 0; }
.faq-a strong { color: #fff; }
.faq-cta { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; }
.faq-cta p { color: var(--gray); font-size: .9rem; margin: 0; }

   ЛАУНДЖ ЗОНА
═══════════════════════════════════════════════════════ */
#lounge {
  background: linear-gradient(180deg, var(--bg) 0%, rgba(26,58,255,.04) 50%, var(--bg) 100%);
}
.lounge-scroll-wrap {
  overflow-x: auto; overflow-y: hidden;
  padding-bottom: 1rem;
  cursor: grab;
  max-width: 100%;
  /* Hard clip — не создаёт горизонтальный скролл страницы */
  contain: layout style;
}
.lounge-scroll-wrap:active { cursor: grabbing; }
.lounge-scroll-wrap::-webkit-scrollbar { height: 4px; }
.lounge-scroll-wrap::-webkit-scrollbar-track { background: rgba(255,255,255,.05); border-radius: 10px; }
.lounge-scroll-wrap::-webkit-scrollbar-thumb { background: var(--red); border-radius: 10px; }
.lounge-track {
  display: flex; gap: 1.2rem;
  width: max-content;
  padding: .4rem .25rem .4rem;
}
/* Карточка */
.lounge-card {
  width: 360px; flex-shrink: 0;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--r16);
  padding: 1.8rem;
  display: flex; flex-direction: column; gap: 1.1rem;
  transition: border-color .3s, box-shadow .3s, transform .3s;
  position: relative; overflow: hidden;
}
.lounge-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--red), var(--blue));
  transform: scaleX(0); transition: transform .4s ease;
}
.lounge-card:hover::before { transform: scaleX(1); }
.lounge-card:hover {
  border-color: rgba(230,32,32,.35);
  box-shadow: 0 20px 50px rgba(0,0,0,.5), 0 0 30px rgba(230,32,32,.08);
  transform: translateY(-4px);
}
.lounge-card-ps::before { background: linear-gradient(90deg, #003791, #00439c, #1a3aff); }
.lounge-card-ps:hover {
  border-color: rgba(26,58,255,.4);
  box-shadow: 0 20px 50px rgba(0,0,0,.5), 0 0 30px rgba(26,58,255,.12);
}
.lounge-card-top { display: flex; align-items: center; justify-content: space-between; }
.lounge-card-emoji { font-size: 2.2rem; line-height: 1; }
.lounge-card-badge {
  font-family: 'Rajdhani', sans-serif; font-size: .68rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  padding: .25rem .65rem; border-radius: 20px;
  background: rgba(230,32,32,.15); border: 1px solid rgba(230,32,32,.3); color: #ff6b6b;
}
.ps-badge { background: rgba(0,55,145,.25); border-color: rgba(26,58,255,.4); color: #7b9fff; }
.lounge-card-title {
  font-family: 'Exo 2', sans-serif; font-size: 1.25rem; font-weight: 800;
  color: #fff; letter-spacing: -.02em; margin: 0;
}
.ps-plus { font-size: .85rem; color: #7b9fff; font-weight: 600; }
.lounge-card-desc { font-size: .85rem; color: var(--gray); line-height: 1.6; margin: 0; }
/* Tags */
.lounge-game-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.ltag {
  font-size: .75rem; padding: .28rem .65rem; border-radius: 20px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  color: var(--gray-light); white-space: nowrap;
}
/* Sport grid */
.lounge-sport-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.lounge-sport-item {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px; padding: 1rem .6rem; text-align: center;
  transition: background .25s, border-color .25s;
}
.lounge-sport-item:hover { background: rgba(230,32,32,.08); border-color: rgba(230,32,32,.25); }
.sport-icon { font-size: 1.8rem; margin-bottom: .35rem; }
.sport-name { font-size: .7rem; color: var(--gray-light); line-height: 1.35; font-weight: 500; }
/* PS5 block */
.ps-games-block { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.ps-col-label {
  font-family: 'Rajdhani', sans-serif; font-size: .68rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--gray);
  margin-bottom: .55rem; display: flex; align-items: center; gap: .35rem;
}
.ps-game-row {
  font-size: .78rem; color: var(--gray-light); padding: .22rem 0;
  display: flex; align-items: center; gap: .45rem; line-height: 1.3;
}
.ps-game-row em {
  font-style: normal; font-size: .65rem; color: var(--red);
  background: rgba(230,32,32,.12); padding: .1rem .35rem; border-radius: 3px;
}
.ps-dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(230,32,32,.7); flex-shrink: 0; }
.ps-dot.vr { background: rgba(26,58,255,.9); }
.ps-more { font-size: .72rem; color: var(--gray); font-style: italic; padding-top: .2rem; }
.lounge-card-footer { margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--border); }
.lounge-price-row { display: flex; align-items: center; gap: .5rem; }
.lounge-price {
  font-family: 'Rajdhani', sans-serif; font-size: .78rem; font-weight: 600;
  letter-spacing: .06em; color: var(--gray); text-transform: uppercase;
}
/* Hint */
.lounge-hint {
  display: flex; align-items: center; gap: .4rem;
  font-family: 'Rajdhani', sans-serif; font-size: .75rem; letter-spacing: .1em;
  color: var(--gray); margin-top: .6rem; text-transform: uppercase;
}
.lounge-hint i { animation: sh 1.6s ease-in-out infinite; }
/* Pricing callout */
.lounge-pricing-callout {
  margin-top: 2.5rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--r16);
  padding: 1.6rem 2rem;
  display: flex; align-items: center; gap: 2rem; flex-wrap: wrap;
  position: relative; overflow: hidden;
}
.lounge-pricing-callout::after {
  content: '🛋️'; position: absolute; right: 1.5rem; bottom: -1rem;
  font-size: 5rem; opacity: .06; pointer-events: none;
}
.lpc-left { flex: 1; min-width: 160px; }
.lpc-title { font-family: 'Exo 2', sans-serif; font-size: 1.15rem; font-weight: 800; color: #fff; }
.lpc-sub { font-size: .82rem; color: var(--gray); margin-top: .25rem; }
.lpc-prices { display: flex; align-items: center; gap: 1.2rem; }
.lpc-price-item { text-align: center; }
.lpc-amount { display: block; font-family: 'Exo 2', sans-serif; font-size: 1.4rem; font-weight: 900; color: #fff; line-height: 1; }
.lpc-amount small { font-size: .7rem; color: var(--gray); font-weight: 400; }
.lpc-per { font-size: .7rem; color: var(--gray); text-transform: uppercase; letter-spacing: .06em; }
.lpc-divider { width: 1px; height: 36px; background: var(--border); }

/*   OVERFLOW / DEAD ZONE — единственный глобальный фикс
═══════════════════════════════════════════════════════ */
html {
  overflow-x: hidden !important;
  max-width: 100%;
}
body {
  overflow-x: hidden !important;
  max-width: 100%;
  position: relative;
}
/* Bootstrap .row отрицательные margin → обнуляем */
.row {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
/* Neon orbs строго внутри контейнера */
.neon-bg {
  overflow: hidden !important;
  clip-path: inset(0);
  contain: strict;
}
/* Все секции не шире viewport */
section, footer, nav {
  max-width: 100vw;
  overflow-x: hidden;
}
/* Games wrap */
.games-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
  contain: layout style;
}
/* Lounge wrap */
.lounge-scroll-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  contain: layout style;
}

/*   MOBILE — единый блок, без дублирований
═══════════════════════════════════════════════════════ */

@media (hover: none) {
  .adv-card:hover,
  .price-card:hover,
  .game-card:hover,
  .trust-stat:hover,
  .review-card:hover,
  .lounge-card:hover,
  .lounge-sport-item:hover { transform: none; box-shadow: none; }
  .photo-cell:hover img { transform: none; }
  .adv-card:hover::after,
  .lounge-card:hover::before { transform: scaleX(0); }
  .adv-card:hover,
  .lounge-sport-item:hover { background: inherit; border-color: var(--border); }
}

@media (max-width: 768px) {
  .section-inner { padding: 70px 0; }
  .hero-content { padding: 80px 0 60px; }
  .steps::before { display: none; }
  .photo-grid { grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(3,140px); }
  .photo-cell.span-r { grid-row: span 1; }
  .cta-box { padding: 2rem 1.2rem; }
  .offer-strip { grid-template-columns: 1fr 1fr; }
  .offer-item { border-right: none; border-bottom: 1px solid var(--border); }
  .offer-item:nth-child(2n) { border-right: none; }
  .offer-item:last-child { border-bottom: none; }
  .hero-stats { gap: 1.4rem; }
  .stat-val { font-size: 1.7rem; }
  /* Lounge */
  .lounge-card { width: 310px; }
  .lounge-pricing-callout { flex-direction: column; align-items: flex-start; gap: 1rem; }
  /* Steps */
  .steps { grid-template-columns: 1fr 1fr; row-gap: 2rem; }
  .step { display: flex; align-items: flex-start; gap: 1rem; text-align: left; padding: 0; }
  .step-circle { margin: 0; flex-shrink: 0; }
  /* Adv */
  .adv-grid { grid-template-columns: 1fr 1fr; }
  /* Prices */
  .price-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {

  /* Глобальные контейнеры */
  .container, .container-fluid {
    padding-right: 1rem !important;
    padding-left:  1rem !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }
  .col, [class*="col-"] {
    padding-right: .75rem !important;
    padding-left:  .75rem !important;
  }
  .section-inner { padding: 52px 0; }

  /* Типографика */
  .sec-title { font-size: clamp(1.5rem, 7vw, 2.2rem); }

  /* Hero */
  #hero { min-height: 100svh; padding: 0; }
  .hero-content { padding: 68px 0 48px; }
  .hero h1 { font-size: clamp(2rem, 8.5vw, 3.2rem); line-height: 1; }
  .hero-lead { font-size: .88rem; margin-bottom: 1.4rem; }
  .hero-stats { gap: 1rem; }
  .stat-val { font-size: 1.4rem; }
  .stat-lbl { font-size: .62rem; }
  .hero-ctas { flex-direction: column; gap: .55rem; }
  .hero-ctas .btn-red,
  .hero-ctas .btn-wa { width: 100%; justify-content: center; }
  /* Скрываем SVG-иллюстрацию шлема */
  .col-lg-6.text-center { display: none; }

  /* Offer */
  .offer-strip { grid-template-columns: 1fr; }
  .offer-item {
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding: 1.1rem 1.2rem;
  }
  .offer-item:last-child { border-bottom: none; }

  /* Advantages */
  .adv-grid { grid-template-columns: 1fr; }
  .adv-card { padding: 1.1rem; }

  /* Steps */
  .steps { grid-template-columns: 1fr; gap: 1.1rem; }
  .steps::before { display: none; }
  .step { display: flex; align-items: flex-start; gap: .9rem; text-align: left; padding: 0; }
  .step-circle { margin: 0; flex-shrink: 0; width: 56px; height: 56px; font-size: 1.3rem; }

  /* Games */
  .game-card { width: 146px; }
  .game-img-wrap { height: 92px; }
  .scroll-hint { display: none; }

  /* Pricing */
  .price-grid { grid-template-columns: 1fr; }
  .price-card { padding: 1.3rem 1.1rem; }

  /* Trust */
  .trust-stats { grid-template-columns: 1fr 1fr; }
  .photo-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(3, 110px);
  }
  .photo-cell.span2,
  .photo-cell.span-r { grid-column: span 1; grid-row: span 1; }

  /* Reviews */
  .reviews-grid { grid-template-columns: 1fr; }

  /* Lounge */
  .lounge-card { width: 282px; padding: 1.3rem; }
  .lounge-card-title { font-size: 1.05rem; }
  .lounge-card-desc { font-size: .8rem; }
  .lounge-sport-grid { gap: .5rem; }
  .sport-icon { font-size: 1.5rem; }
  .sport-name { font-size: .65rem; }
  .ps-games-block { grid-template-columns: 1fr; gap: .6rem; }
  .lounge-pricing-callout { flex-direction: column; align-items: flex-start; gap: .9rem; padding: 1.1rem; }
  .lpc-prices { width: 100%; justify-content: flex-start; }
  .lounge-hint { font-size: .68rem; }

  /* Location */
  .loc-card { padding: 1.2rem; }
  .map-box { height: 220px; }

  /* CTA */
  .cta-box { padding: 1.4rem .9rem; }
  .cta-btns { flex-direction: column; align-items: stretch; }
  .btn-big { padding: .82rem 1.4rem; font-size: .92rem; }

  /* FAQ */
  .faq-q { font-size: .88rem; padding: 1rem 0; }
  .faq-a p { font-size: .83rem; }
  .faq-cta { flex-direction: column; align-items: flex-start; }

  /* Footer */
  footer .row > div { margin-bottom: 1.4rem; }

  /* FAB */
  .fab-wa {
    bottom: calc(.9rem + env(safe-area-inset-bottom, 0px));
    right: .9rem;
    width: 50px; height: 50px; font-size: 1.4rem;
  }

  /* Booking modal → bottom sheet */
  .bk-overlay { padding: 0; align-items: flex-end; }
  .bk-box {
    max-width: 100%;
    border-radius: 22px 22px 0 0;
    max-height: 94svh;
    max-height: 94vh;
  }
  /* Pull-handle */
  .bk-box::before {
    content: '';
    display: block;
    width: 38px; height: 4px;
    background: rgba(255,255,255,.16);
    border-radius: 2px;
    margin: 10px auto 0;
  }
  .bk-header { padding: .85rem 1.1rem .7rem; }
  .bk-header h3 { font-size: .97rem; }
  .bk-steps { padding: .75rem 1.1rem .35rem; }
  .bk-step-dot .dot { width: 24px; height: 24px; font-size: .66rem; }
  .bk-step-dot .lbl { font-size: .54rem; }
  .bk-panel { padding: .9rem 1.1rem 1.1rem; }
  .bk-cal-day { font-size: .76rem; border-radius: 6px; }
  .bk-cal-weekday { font-size: .58rem; }
  .bk-time-btn {
    padding: .55rem .2rem; font-size: .76rem;
    border-radius: 7px; min-height: 42px;
  }
  .bk-time-grid { grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: .35rem; }
  .pkg-grid { grid-template-columns: 1fr; gap: .5rem; }
  .pkg-card { padding: .8rem; }
  .bk-field input,
  .bk-field select { font-size: 16px; padding: .72rem .85rem; }
  .bk-btn { padding: .85rem; font-size: .88rem; min-height: 48px; }
  .bk-qr-block .qr-img { width: 165px; height: 165px; }
  .bk-amount-badge { font-size: 1.25rem; padding: .4rem .9rem; }
  .bk-summary-row { font-size: .78rem; }
  .bk-status-icon { font-size: 2.8rem; }
  .bk-status-screen h4 { font-size: 1.05rem; }
  .bk-file-drop { padding: 1.3rem .9rem; }

  /* Game modal → bottom sheet */
  .gm-overlay { padding: 0; align-items: flex-end; }
  .gm-box {
    max-width: 100%;
    border-radius: 22px 22px 0 0;
    max-height: 90svh;
    max-height: 90vh;
    transform: translateY(100%);
  }
  .gm-overlay.on .gm-box { transform: translateY(0); }
}

@media (max-width: 400px) {
  .hero h1 { font-size: clamp(1.8rem, 9vw, 2.8rem); }
  .lounge-card { width: 260px; }
  .game-card { width: 130px; }
  .game-img-wrap { height: 82px; }
  .bk-cal-day { font-size: .7rem; }
  .bk-time-grid { grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); }
}

.btn-red, .btn-wa, .btn-outline,
.bk-btn, .bk-cal-day, .bk-time-btn,
.pkg-card, .game-card, .ltag,
.lounge-sport-item, .faq-q {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.btn-red:active { transform: scale(.96); }
.btn-wa:active  { transform: scale(.96); }
.bk-btn:active  { transform: scale(.98); }

input, select, textarea {
  font-size: 16px !important;
}
/* но для desktop уменьшаем обратно */
@media (min-width: 601px) {
  input, select, textarea { font-size: inherit !important; }
  .bk-field input, .bk-field select { font-size: .9rem !important; }
}

@supports (padding: max(0px)) {
  .navbar {
    padding-left:  max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
  }
  footer {
    padding-bottom: max(1.8rem, calc(.8rem + env(safe-area-inset-bottom)));
  }
  .fab-wa {
    bottom: max(.9rem, calc(.5rem + env(safe-area-inset-bottom)));
    right:  max(.9rem, calc(.5rem + env(safe-area-inset-right)));
  }
}

.lounge-photos {
  margin-top: 2rem;
}
.lp-title {
  font-family: 'Rajdhani', sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gray);
  margin-bottom: .9rem;
}
.lp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 180px 180px;
  gap: .6rem;
}
.lp-cell {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--border);
}
.lp-wide {
  grid-column: span 2;
}

.lp-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 600px) {
  .lp-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 130px 130px 130px;
  }
  .lp-wide { grid-column: span 2; }
  .lp-placeholder i { font-size: 1.2rem; }
  .lp-placeholder span { font-size: .65rem; }
  
}

.vg-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .7rem;
  margin-top: 2rem;
}
.vg-wide { grid-column: span 2; }
@media (max-width: 900px) {
  .vg-grid { grid-template-columns: 1fr; }
  .vg-wide { grid-column: auto; }
}

.vg-cell {
  position: relative;
  aspect-ratio: 16 / 9;
  min-height: 180px;
  border-radius: 14px;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: border-color .25s;
}
.vg-cell.vg-portrait { aspect-ratio: 9 / 16; }
.vg-cell:hover .vg-overlay { opacity: 1; }

.vg-video {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  background: linear-gradient(135deg,#111,#181a23);
}

.vg-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.35);
  opacity: 0;
  transition: opacity .25s;
  z-index: 2;
  pointer-events: none;
}
.vg-overlay i { font-size: 3rem; color: #fff; filter: drop-shadow(0 2px 8px rgba(0,0,0,.6)); }
.vg-cell:hover .vg-overlay { opacity: 1; }

.vg-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
.vg-lightbox.on {
  display: flex;
  opacity: 1;
  pointer-events: all;
}
.vg-lb-bg {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.vg-lb-wrap {
  position: relative;
  z-index: 1;
  width: min(92vw, 960px);
  border-radius: 16px;
  overflow: hidden;
  transform: scale(.9);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 30px 80px rgba(0,0,0,.7);
}
.vg-lightbox.on .vg-lb-wrap { transform: scale(1); }
.vg-lb-video {
  width: 100%;
  display: block;
  max-height: 80svh;
  max-width: 100%;
  object-fit: contain;
  background: #000;
}
.vg-lb-close {
  position: absolute;
  top: .7rem; right: .7rem;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,.7);
  border: none;
  color: #fff;
  font-size: 1rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 2;
  transition: background .2s;
  -webkit-tap-highlight-color: transparent;
}
.vg-lb-close:hover { background: var(--red); }

@media (max-width: 600px) {
  .vg-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: .85rem;
  }
  .vg-wide { grid-column: span 2; height: 180px; }
  .vg-overlay i { font-size: 2.2rem; }
  .vg-lb-wrap { width: 98vw; border-radius: 12px; }
  
}
