:root {
  --primary: #00b2ff;          /* electric blue */
  --primary-dark: #0085c7;
  --bg-dark: #070b13;
  --surface: #0d111c;
  --text-light: #ffffff;
  --text-muted: #8e9abb;
  --radius: 12px;
  --speed: 0.35s;
}

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

html, body {
  overflow-x: hidden;             /* глобально выключаем горизонтальный скролл */
}

body {
  margin: 0;
  font-family: 'Space Grotesk', sans-serif;
  /*font-family: 'Inter', sans-serif;*/
  color: var(--text-light);
  background: var(--bg-dark);
  line-height: 1.55;
  scroll-behavior: smooth;
}

/* ----- HERO ----- */
.hero {
  position: relative;
  padding: 110px 0 10px;
  text-align: center;
  overflow: hidden;
}
.hero__title {
  font-size: clamp(2rem, 5vw + 1rem, 3.2rem);
  font-weight: 700;
  margin: 0 0 18px;
}
.hero__accent {
  background: var(--primary);
  color: var(--bg-dark);
  padding: 0 6px;
  border-radius: 4px;
}

.ozon__accent {
  background: #005bff;
  color: white;
  padding: 0 10px;
  border-radius: 24px;
}

.wb__accent {
  background: #990099;
  color: white;
  padding: 0 10px;
  border-radius: 24px;
}

.hero__subtitle {
  font-size: 1.05rem;
  color: var(--text-muted);
  margin-bottom: 26px;
  line-height: 1.45;
}
.hero__wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 120px;
}


/* ----- SECTIONS & TITLES ----- */
section {
  padding: 10px 0;
}
.container {
  width: 92%;
  max-width: 1140px;
  margin: 0 auto;
}

.section-title {
  text-align: center;
  font-size: clamp(1.4rem, 3vw + .4rem, 2.1rem);
  margin-bottom: 28px;
  color: var(--text-light);
}

/* ----- BUTTONS ----- */
.btn {
  display: inline-block;
  padding: 12px 26px;
  font-weight: 600;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: transform var(--speed), box-shadow var(--speed);
  text-decoration: none;
}
.btn--primary {
  background: var(--primary);
  color: var(--bg-dark);
  box-shadow: 0 0 0 0 rgba(0,178,255,.48);
}
.btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(0,178,255,.4);
}

/* ----- CTA: видео + форма ----- */
.cta__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: center;
}
.video__wrapper {
  flex: 1 1 380px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,.45);
}

.video__wrapper video {
  width:100%;
  height:auto;
  border-radius:inherit;
}

.signup__form {
  flex: 1 1 380px;
  display: grid;
  gap: 18px;
  padding: 28px 26px;
  background: var(--surface);
  border-radius: var(--radius);
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
}

.form-msg {
  margin-top: 10px;
  font-size: 0.9rem;
}
.form-msg.success { color: #4caf50; }
.form-msg.error   { color: #ff5e5e; }

.form-done-title {
  font-size: 1.8rem;
  margin: auto auto -10px;
  text-align: center;
  max-width: 75%;
  min-width: 50%;
}
.form-done-text {
  font-size: 1.6rem;
  line-height: 1.45;
  text-align: center;
  color: var(--text-light);
}

.form-group { display: flex; flex-direction: column; }
.form-group label {
  font-size: .88rem;
  margin-bottom: 4px;
  color: var(--text-muted);
}
.form-group input {
  padding: 10px 12px;
  border: 1px solid #263042;
  border-radius: var(--radius);
  background: #10151f;
  color: var(--text-light);
  font-size: .95rem;
}

.form-title {
  text-align: center;
  font-size: 24px;
  margin-top: -5px;
  margin-bottom: -10px;
  color: var(--text-light);
}

/* ----- RUNNING SLIDER ----- */
.gallery {
  position: relative;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}

.gallery .container {
  /* контейнер больше не ограничивает ширину */
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.cardSwiper {
  width: 100vw;                     /* во всю ширину окна */
  margin-left: calc(-50vw + 50%);   /* компенсируем смещение контейнера */
}

.swiper-wrapper {
  -webkit-transition-timing-function:linear!important;
  -o-transition-timing-function:linear!important;
  transition-timing-function:linear!important;
}

.cardSwiper .swiper-slide {
  width: auto;
  max-width: 300px;
  border-radius: var(--radius);
  overflow: hidden;
}

.cardSwiper img {
  width: 100%;
  height:auto;
  border-radius:inherit;
  object-fit: cover;
}

/* ----- AUDIENCE & BENEFITS ----- */
.audience__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
  gap: 24px;
}
.audience__card {
  background: var(--surface);
  border-radius: var(--radius);
  padding: 24px 20px;
  text-align: center;
  transition: transform var(--speed);
}
.audience__card:hover { transform: translateY(-4px); }
.audience__icon {
  font-size: 2.3rem;
  display: block;
  margin-bottom: 12px;
}
.audience__title {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.benefits__list {
  list-style: none;
  max-width: 520px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
  padding: 0;
}
.benefits__list li {
  background: var(--surface);
  padding: 14px 18px;
  border-radius: var(--radius);
  font-size: .95rem;
}

/* ----- FOOTER ----- */
.footer {
  background: #0b101a;
  padding: 30px 0;
  margin-top: 40px;
  font-size: .85rem;
  text-align: center;
}
.footer a {
  color: var(--primary);
  text-decoration: none;
}

/* ----- FADE-IN ----- */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity var(--speed) ease, transform var(--speed) ease;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- GLOW ---------- */
 /* === Общий голубой glow для секций ========== */
.glow{
  position:relative;           /* нужно для псевдо-элемента */
  overflow:visible;             /* обрежем лишнее свечение */
  border-radius:var(--radius); /* скругление совпадёт с картами/формой */
  z-index:0;                   /* ниже контента, выше фона страницы */
}

.glow::before{
  content:"";
  position:absolute;
  inset: -65% -65%;
    transform: translate(-50%, -50%);   /* центр + не влияет на layout */
  background: radial-gradient(
              circle at center,
              rgba(0,178,255,0.28) 0%,
              rgba(0,178,255,0.10) 50%,
              transparent 85%);
  filter: blur(160px);
  border-radius:inherit;
  z-index:-1;                  /* остаётся позади всего */
  animation:glow-pulse 15s ease-in-out infinite alternate;
}

/* лёгкое «дыхание» */
@keyframes glow-pulse{
  0%   { transform:scale(1) translate(0,0); opacity:1; }
  100% { transform:scale(1.12) translate(30px,20px); opacity:0.85; }
}

/* === ЛОГОТИП ==================================================== */
.logo{
  position:absolute;
  top:4px;               /* отступы можно подстроить */
  left:24px;
  font-family:'Unbounded', sans-serif;
  font-weight:700;
  font-size:1.45rem;
  letter-spacing:0.03em;
  color:var(--primary);   /* оранжевый / нынешний accent */
  user-select:none;
  z-index:10;
}

/* ---------- MEDIA QUERIES ---------- */
@media (min-width:768px){
  .logo {
    font-size:1.6rem;
  }
}

@media (max-width:768px){
  /* Стекуем блоки и растягиваем их на всю ширину */
  .cta__grid {
    flex-direction:column;
    gap:24px;
  }

  .video__wrapper, .signup__form {
    flex: 0 1 100%;
    width: 100%;
  }

  .signup__form {
    margin:0 auto
  }

  .cardSwiper img {
    height:180px
  }

  .hero {
    padding-top: 70px;
  }

  .hero__title {
    font-size: clamp(1rem, 3vw + 1rem, 2.5rem);
  }
}


@media (min-width:1024px){
  .cardSwiper img{height:240px}
}
