:root{
  --bg:#0e0e19;
  --panel:#121225;
  --text:#e6e8ee;
  --brand1:#ff9a8b;
  --brand2:#8c6cff;
  --accent:#ff4f7b;
  --line:rgba(255,255,255,.06);
  --radius:16px;
  --shadow:0 10px 30px rgba(14,14,25,.18);
}
.agegate[hidden]{display:none}
.agegate{position:fixed;inset:0;z-index:9999}
.agegate__backdrop{position:absolute;inset:0;background:rgba(10,12,20,.78);backdrop-filter:saturate(120%) blur(6px)}
.agegate__card{position:relative;z-index:1;max-width:620px;margin:8vh auto;background:#10121e;color:#e9ecf1;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.agegate__badge{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:-60px auto 12px;background:linear-gradient(135deg,#e11d48,#f97316);font-weight:800;font-size:22px;color:#fff;box-shadow:0 10px 30px rgba(225,29,72,.45)}
.agegate__title{margin:10px 0 6px;font:800 1.45rem/1.2 Inter,system-ui,Arial,sans-serif;text-align:center}
.agegate__text{margin:0 auto 18px;max-width:52ch;color:#c7cfdb;text-align:center}
.agegate__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.agegate .btn{cursor:pointer;border-radius:10px;padding:12px 18px;font:600 0.95rem/1 Inter,system-ui,Arial,sans-serif;border:1px solid transparent;transition:transform .08s ease,opacity .2s ease}
.agegate .btn-primary{background:#3f63f3;border-color:#3f63f3;color:#fff}
.agegate .btn-primary:hover{transform:translateY(-1px)}
.agegate .btn-ghost{background:transparent;border-color:rgba(255,255,255,.18);color:#e9ecf1}
.agegate .btn-ghost:hover{border-color:rgba(255,255,255,.3);transform:translateY(-1px)}
body.agegate-lock{overflow:hidden}
@media (max-width:640px){
  .agegate__card{margin:10vh 16px;padding:22px}
  .agegate__badge{width:64px;height:64px;margin:-54px auto 8px;font-size:20px}
  .agegate__title{font-size:1.25rem}
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  background:#f0f6fa;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  color:#1b2236;
  line-height:1.6;
  font-size:18px;     /* базовый шрифт */
}

.container{width:min(1200px,92%);margin-inline:auto}

/* Topline */
.topline{background:#d80e0e;color:#fff;font-size:14px}
.topline .container{padding:10px 0;text-align:center}

/* Header */
.site-header{background:#0f1422;color:#cbd5e1;border-bottom:1px solid #11162b;position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand-mark{
  display:grid;place-items:center;background:#0e1120;border-radius:10px;
  padding:6px 8px;box-shadow:0 4px 12px rgba(0,0,0,.25);position:relative;isolation:isolate;
}
.brand-mark::before{
  content:"";position:absolute;inset:-2px;border-radius:12px;
  background:linear-gradient(135deg,var(--brand1),var(--brand2));z-index:-1;
}
.brand-mark i{font-size:18px;color:#fff}
.brand-text{font-weight:800;letter-spacing:.08em}

.main-nav{display:flex;gap:28px}
.main-nav a{color:#cbd5e1;text-decoration:none;font-weight:600;font-size:15px}
.main-nav a:hover{color:#fff}
.menu-btn{display:none;background:#1a2140;border:1px solid #232a4a;color:#fff;border-radius:10px;padding:10px 12px}

/* Hero */
.hero{
  background:linear-gradient(135deg,var(--brand1),#ff6a88 30%, #c56cd6 65%, var(--brand2));
  padding:56px 0 70px;color:#0b0b14;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.hero-left h1{color:#fff;font-size:42px;line-height:1.1;margin:0 0 12px}
.hero-left p{color:#f3f6ff;max-width:760px;margin:0 0 12px}
.hero-points{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}
.hero-points li{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.9);border-radius:999px;padding:10px 14px;font-weight:700}
.hero-points i{color:var(--accent)}

.offer-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.offer-top{background:#0f1422;color:#fff;padding:18px;border-bottom:1px solid #1a2346}
.offer-brand{display:flex;align-items:center;justify-content:space-between}
.offer-brand strong{font-size:20px;letter-spacing:.06em}
.badge{background:#1f2937;color:#fff;border:1px solid #2b365a;border-radius:999px;padding:6px 10px;font-size:13px}
.offer-body{padding:20px}
.offer-body .welcome{color:#7a849b;font-weight:700;margin-bottom:4px}
.offer-body .big{font-size:28px;margin:4px 0 12px}
.perks{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
.perks li{display:flex;gap:10px;align-items:center;color:#334155}
.btn-primary{display:block;text-align:center;text-decoration:none;background:var(--accent);color:#fff;padding:14px 18px;border-radius:12px;font-weight:800;letter-spacing:.02em;box-shadow:0 6px 14px rgba(255,79,123,.35)}
.btn-primary:hover{transform:translateY(-1px)}
.tnc{color:#6b7280;font-size:12px;margin-top:10px}

/* Sections */
.section{padding:64px 0;background:#eef6fb}
.section.light{background:#e9f3f9}
.section.gradient{background:linear-gradient(135deg,#fb8b9a 0%, #b37aff 100%);color:#0e0e19}
.section h2{margin:0 0 10px;font-size:30px}
.section-lead{color:#5b6478;margin-bottom:22px;max-width:880px}

/* Card grids */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}

.card{background:#fff;border-radius:16px;padding:18px;border:1px solid #e7edf5}
.card .icon{width:42px;height:42px;border-radius:12px;background:#f1f5ff;display:grid;place-items:center;color:var(--accent);font-size:18px;margin-bottom:10px}
.card h3{margin:0 0 6px;font-size:16px}
.card p{margin:0;color:#5b6478}

/* Responsible CTAs */
.row-cta{display:flex;gap:12px;margin:18px 0 6px;flex-wrap:wrap}
.pill{background:#fff;border:1px solid #e3e9f2;border-radius:999px;padding:10px 14px;text-decoration:none;color:#111831;font-weight:700}
.pill.warn{background:#111831;color:#fff;border-color:#111831}

/* Aware box */
.aware-box{margin-top:18px;background:#0f1422;color:#dbe3ff;border-radius:16px;padding:18px;border:1px solid #1b2346}
.aware-head{font-weight:800;margin-bottom:10px}
.aware-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.aware-list li{display:flex;gap:10px;align-items:center}

/* Age grid */
.age-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:stretch}
.age-note{background:rgba(255,255,255,.9);padding:12px 14px;border-radius:12px;margin-bottom:10px;font-weight:700}
.age-card{background:rgba(255,255,255,.9);padding:16px;border-radius:14px;border:1px solid rgba(255,255,255,.6);margin-bottom:10px}
.age-right .age-badge{background:#0f1422;color:#cfe4ff;border:1px solid #1b2346;border-radius:16px;padding:18px;height:100%}
.age-18{display:inline-block;background:var(--accent);color:#fff;border-radius:999px;padding:6px 10px;margin-bottom:8px;font-weight:800}

/* Bonuses */
.mini-list{background:#fff;border:1px solid #e6edf6;border-radius:16px;padding:14px;display:grid;gap:12px}
.mini{display:flex;gap:12px;align-items:flex-start}
.mini i{width:36px;height:36px;border-radius:12px;background:#f2f6ff;display:grid;place-items:center;color:var(--accent)}
.mini div span{display:block;color:#647185;font-size:14px;margin-top:2px}
.mini-note{background:#0f1422;color:#cfe4ff;border:1px solid #1b2346;border-radius:16px;padding:16px}

/* Mobile grid */
.dark-cards{gap:14px}
.dcard{background:#0f1422;border:1px solid #1b2346;border-radius:16px;padding:16px;color:#dbe3ff;display:flex;gap:14px;align-items:center}
.dcard i{font-size:20px;color:var(--accent)}

/* Payments */
.pay-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pay{background:#0f1422;border:1px solid #1b2346;border-radius:16px;padding:18px;display:flex;gap:12px;color:#e5edff;align-items:center}
.pay i{font-size:20px;color:var(--accent)}
.pay span{display:block;color:#a6b7ff;font-size:14px;margin-top:2px}

/* Stats */
.stats{padding:64px 0;background:#e9f3f9}
.stats .lead{color:#5b6478;margin:6px 0 24px;max-width:900px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-card{background:#fff;border:1px solid #e6edf6;border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(15,20,34,.05)}
.stat-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.stat-top i{width:42px;height:42px;border-radius:12px;background:#f2f6ff;color:var(--accent);display:grid;place-items:center;font-size:20px}
.stat-value{font-weight:800;font-size:28px;line-height:1;color:#0f1422}
.stat-label{color:#647185;font-weight:700;margin-top:2px}
.stat-desc{color:#5b6478;margin-top:8px;font-size:15px}
.meter{height:10px;border-radius:999px;background:#edf2fb;margin-top:12px;overflow:hidden}
.meter>span{display:block;height:100%;background:var(--accent);border-radius:999px}

/* Footer */
.site-footer{background:#0f1422;color:#cbd5e1;border-top:1px solid #121a39;padding:28px 0}
.footer-warnings{display:grid;gap:10px;margin-bottom:16px}
.foot-pill{background:#1a2040;border:1px solid #242c55;border-radius:12px;padding:10px 12px;display:flex;gap:10px;align-items:center}
.foot-pill.amber{background:#3a2f10;border-color:#725b16}
.foot-pill.red{background:#3a1214;border-color:#6e1f24}
.logos{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}
.logo{background:#0b102b;border:1px solid #1d2854;color:#9fb4ff;border-radius:10px;padding:8px 12px;font-weight:800}
.legal-links{display:flex;gap:18px;flex-wrap:wrap;margin:8px 0}
.legal-links a{color:#d1dbff;text-decoration:none}
.legal-links a:hover{text-decoration:underline}
.copy{color:#8fa2d9;margin-top:6px}

/* Responsive */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr}
  .grid4{grid-template-columns:repeat(2,1fr)}
  .pay-grid{grid-template-columns:repeat(3,1fr)}
  .age-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .main-nav{display:none;position:absolute;inset:56px 0 auto 0;background:#0f1422;border-top:1px solid #1b2346;padding:14px 24px;flex-direction:column}
  .main-nav.open{display:flex}
  .menu-btn{display:inline-grid}
  .hero-left h1{font-size:34px}
  .grid4{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .pay-grid{grid-template-columns:1fr 1fr}
}
.about-lead{
  max-width:900px;
  margin:6px auto 22px;
  color:#475168;
}
.about-grid{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:22px;
  align-items:start;
}
.about-text p{ color:#4b5568; }
.checklist{
  list-style:none; padding:0; margin:14px 0 0; display:grid; gap:10px;
}
.checklist li{
  display:flex; gap:10px; align-items:flex-start;
  background:#fff; border:1px solid #e6edf6; border-radius:12px; padding:10px 12px;
}
.checklist i{ color:#ff4f7b; margin-top:2px; }

.about-cards{ display:grid; grid-template-columns:1fr; gap:12px; }
.acard{
  background:#0f1422; color:#dbe3ff; border:1px solid #1b2346;
  border-radius:14px; padding:14px;
}
.ac-ico{ width:40px; height:40px; border-radius:12px; background:#1a2348; display:grid; place-items:center; margin-bottom:8px; }
.ac-ico i{ color:#ff4f7b; font-size:18px; }
.ac-title{ font-weight:800; margin-bottom:6px; }

.about-meta{ margin-top:18px; }
.kpis{ display:flex; gap:10px; flex-wrap:wrap; }
.kpi{
  background:#fff; border:1px solid #e6edf6; border-radius:999px;
  padding:8px 12px; font-weight:700; color:#0f1422; display:flex; align-items:center; gap:8px;
}
.kpi i{ color:#ff4f7b; }
.disclaimer{ color:#6b7280; font-size:14px; margin:8px 0 0; }
.contact a{ color:#0f3bd9; text-decoration:none; }
.contact a:hover{ text-decoration:underline; }

@media (max-width:1024px){
  .about-grid{ grid-template-columns:1fr; }
}
/* ===== FOOTER (макет) ===== */
.site-footer{
  background:#0f0f12;                 /* чуть глубже чёрный, как в макете */
  color:#d8deee;
  border-top:1px solid rgba(255,255,255,.06);
  padding:36px 0 28px;
}

/* Плашки-предупреждения: тонкая цветная рамка, тёмная подложка */
.footer-warnings{
  display:grid;
  gap:12px;
  margin:0 0 16px;
}
.foot-pill{
  display:flex; align-items:center; gap:10px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1.5px solid rgba(255,255,255,.08);
  color:#e9ecf7;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.foot-pill i{opacity:.95}
.foot-pill strong{font-weight:800}

.foot-pill:not(.amber):not(.red){        /* 18+ */
  border-color:rgba(255,140,160,.45);    /* розово-бордовый контур */
}
.foot-pill.amber{
  border-color:rgba(251,191,36,.55);     /* янтарный контур */
}
.foot-pill.red{
  border-color:rgba(239,68,68,.55);      /* красный контур */
}

/* Логотипы: одна строка, центр, без карточек; светлые монохромные */
.logos-scroller{
  margin:14px 0 8px;
  padding:0;
  border-top:1px solid rgba(255,255,255,.06);   /* разделитель сверху, как в макете */
  padding-top:16px;
}
.logos-track{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:34px;                                  /* равномерные интервалы как на макете */
  overflow:visible;                          /* отключаем горизонтальную прокрутку */
  scroll-snap-type:none;
  padding-bottom:0;
}
.logo-item{
  flex:0 0 auto;
  width:auto; height:auto;
  background:transparent;
  border:none;
  border-radius:0;
  padding:6px 0;
  transition:transform .2s ease, opacity .2s ease;
}
.logo-img{
  height:22px;                               /* примерно h-6 из макета */
  filter:grayscale(100%) brightness(190%);   /* белые монохромные логотипы */
  opacity:.9;
  transition:opacity .2s ease, filter .2s ease, transform .2s ease;
}
.logo-item:hover .logo-img{
  opacity:1; filter:grayscale(0%) brightness(100%);
  transform:translateY(-1px);
}

/* Legal-ссылки и копирайт: центр + тонкий разделитель сверху */
.legal-links{
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:14px;
  margin:14px 0 6px;
  display:flex; justify-content:center; gap:20px; flex-wrap:wrap;
}
.legal-links a{
  color:#b9c3e8; text-decoration:none; font-weight:600; font-size:14px;
}
.legal-links a:hover{ text-decoration:underline; color:#dce4ff }

.copy{
  text-align:center;
  color:#93a1cc;
  font-size:13px;
  margin-top:6px;
}

/* Тонкие адаптивные правки */
@media (max-width:900px){
  .logos-track{ gap:22px }
  .logo-img{ height:20px }
}
@media (max-width:640px){
  .foot-pill{ font-size:15px }
  .logos-track{ gap:18px; flex-wrap:wrap }   /* на совсем узких — перенос логотипов на 2 строки */
}
/* === Cookie modal (no storage) === */
.cookie-modal{
  position: fixed; inset: 0;
  display: grid; place-items: center;
  background: rgba(15, 15, 18, .6);
  backdrop-filter: blur(2px);
  z-index: 80;
  padding: 24px;
}
.cookie-card{
  position: relative;
  width: min(860px, 98vw);
  background: #111015;
  color: #e9ecf7;
  border: 1.5px solid rgba(255,255,255,.18);
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,.45);
  overflow: hidden;
}
.cookie-card::after{ /* акцентная кромка как в макете */
  content:""; position:absolute; inset: -1.5px;
  border-radius: 18px;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(255,106,136,.8), rgba(140,108,255,.5));
  mask: radial-gradient(circle at 0 0, transparent 16px, #000 17px),
        linear-gradient(#000,#000);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity:.35;
}

.cookie-head{
  display:grid; grid-template-columns: auto 1fr auto;
  gap:16px; align-items:center;
  padding: 20px 20px 14px 20px;
  background: #1a1820;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.cookie-head i.fa-cookie-bite{
  font-size:22px; color:#ff6a88;
}
.cookie-titles h3{
  margin:0 0 6px; font-size:18px;
}
.cookie-titles p{
  margin:0; color:#b9c3e8;
}

.cookie-cta{ display:flex; gap:10px; }
.btn{
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  padding:10px 14px;
  font-weight:800; letter-spacing:.02em;
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn-primary{
  background:#ff6a88; color:#fff; border-color:#ff6a88;
}
.btn-primary:hover{ transform: translateY(-1px); }
.btn-ghost{
  background:transparent; color:#ffd7df;
}
.btn-ghost:hover{ background: rgba(255,255,255,.06); }

.cookie-toggle{
  width:100%;
  background:#111015;
  color:#e9ecf7;
  text-align:left;
  padding:12px 20px;
  border:0; border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  cursor:pointer;
}
.cookie-toggle i{ margin-left:8px; transition: transform .2s ease; }

.cookie-settings{ padding:16px 18px 18px; }
.cookie-grid{
  display:grid; gap:12px;
  grid-template-columns: 1fr 1fr;
}
.cookie-box{
  display:flex; gap:12px; align-items:flex-start;
  background: rgba(255,255,255,.05);
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 12px 12px;
  position: relative;
}
.cookie-box.mandatory{
  border-color: rgba(255,140,160,.55);
}
.cookie-box input{
  margin-top:3px; width:18px; height:18px;
  accent-color:#ff6a88;
}
.box-ui .box-title{
  font-weight:800; margin-bottom:2px;
}
.box-ui .box-title i{ color:#ff6a88; margin-right:6px; }
.box-ui .box-desc{ color:#b9c3e8; font-size:14px; }

.cookie-actions{
  padding-top:12px;
  display:flex; justify-content:center;
}
.btn-secondary{
  background:#ff6a88; color:#fff; border-color:#ff6a88;
  width: min(420px, 100%);
}

.cookie-close{
  position:absolute; top:10px; right:10px;
  width:36px; height:36px; display:grid; place-items:center;
  border-radius:10px; border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color:#e9ecf7; cursor:pointer;
}
.cookie-close:hover{ background: rgba(255,255,255,.08); }

/* раскрытие */
.cookie-settings[hidden]{ display:none; }
.cookie-toggle[aria-expanded="true"] i{ transform: rotate(180deg); }

/* responsive */
@media (max-width:740px){
  .cookie-head{ grid-template-columns: auto 1fr; }
  .cookie-cta{ grid-column: 1 / -1; justify-content:flex-end; }
  .cookie-grid{ grid-template-columns: 1fr; }
}
/* ——— Header: только логотип + название, по центру ——— */
.site-header.compact{
  background:#0f1422;
  border-bottom:1px solid #11162b;
  position:sticky; top:0; z-index:20;
}
.header-centered{
  justify-content:center;            /* центрируем содержимое */
  padding:14px 0;
}
.brand-centered{
  margin:4px 0;
}
.brand-text{ font-weight:800; letter-spacing:.08em; color:#fff }

/* скрыть ранее использовавшиеся элементы навигации, если остались в DOM */
.main-nav, .menu-btn{ display:none !important; }
/* изображения и длинные строки не должны растягивать вьюпорт */
img, video, canvas, iframe { max-width: 100%; height: auto }
p, li, .mini span, .section-lead { overflow-wrap: anywhere; word-break: break-word }
pre, code { white-space: pre-wrap; word-wrap: break-word }

/* универсальная прокрутка для «жёстких» блоков */
.responsive-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.responsive-scroll::-webkit-scrollbar { height: 8px }
.responsive-scroll::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); border-radius: 999px }

/* таблицы по умолчанию не ломают мобильную ширину */
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
table th, table td {
  padding: 10px 12px;
  border: 1px solid #e6edf6;
  vertical-align: top;
  background: #fff;
  white-space: nowrap;         /* чтобы ячейки не «рвались» */
}
table thead th { background: #f2f6ff; font-weight: 700 }

/* на узких экранах таблица становится прокручиваемой, а не растягивает страницу */
@media (max-width: 768px){
  .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch }
  .table-scroll > table { min-width: 640px }  /* задаём минимальную ширину сетки */
}
