:root{
  --bg:#0b0f1a;
  --text:#0f172a;
  --muted:#64748b;
  --brand:#b8143a;
  --brand-2:#8a0f2c;
  --card:#ffffff;
  --accent:#b8143a;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:#f6f8fb;
}

img{display:block; max-width:100%; height:auto}

/* Header */
.header{
  background:#fff;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.brand{
  color:#111827; text-decoration:none;
}
.brand-dot{
  width:12px; height:12px; border-radius:50%;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
  box-shadow:0 0 0 3px rgba(184,20,58,.15);
  display:inline-block;
}
.text-accent{color:var(--accent)}
.nav-link{color:#111827}
.nav-link:hover{color:var(--accent)}
.btn-accent{
  background:linear-gradient(90deg,var(--brand),var(--brand-2)); color:#fff; border:0;
  border-radius:12px;
}
.shadow-accent{ box-shadow:0 10px 24px rgba(184,20,58,.25) }

/* Sections */
.section{ padding:64px 0 }
.section-alt{ background:#fff }
.section-video{ background:linear-gradient(180deg,#fff, #f9fbff) }

/* Hero */
.hero{ background:linear-gradient(180deg,#fff, #f6f8fb) }
.fw-800{ font-weight:800 }
.text-muted-2{ color:#64748b }

/* Cards & hovers */
.card{ border:0; border-radius:20px }
.shadow-soft{ box-shadow:0 8px 24px rgba(15,23,42,.08) }
.hover-up{ transition:transform .2s ease, box-shadow .2s ease }
.hover-up:hover{ transform:translateY(-4px); box-shadow:0 16px 32px rgba(15,23,42,.12) }

/* Icons in cards */
.icon{ font-size:22px; color:var(--accent) }

/* Badges & price */
.badge{ border-radius:999px; padding:.35rem .6rem; font-weight:600 }
.badge-accent{ background:rgba(184,20,58,.1); color:var(--accent) }
.badge-dark{ background:#0f172a; color:#fff }
.price{ font-weight:800; font-size:20px }

/* Lists */
.list-checked{ padding-left:0; list-style:none }
.list-checked li{ padding-left:28px; position:relative; margin:.4rem 0 }
.list-checked li::before{
  content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; left:0; top:0; color:var(--accent);
}

/* Light list */
.list-checked.light li::before{ color:#fff }
.text-accent-contrast{ color:#fff; opacity:.9 }

/* Accent section */
.section-accent{
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
  color:#fff;
}

/* Video */
.video-card{ cursor:pointer }
.video-thumb{ position:relative; overflow:hidden; border-radius:16px }
.video-thumb img{ width:100%; height:100%; object-fit:cover; transform:scale(1.02); transition:transform .25s ease }
.video-card:hover .video-thumb img{ transform:scale(1.06) }
.video-play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(transparent, rgba(0,0,0,.25));
}
.play-btn{
  width:56px; height:56px; border-radius:50%; background:#fff; display:grid; place-items:center;
  box-shadow:0 6px 20px rgba(0,0,0,.25);
}

/* Trust bar */
.trustbar .logos{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem }
.logo-pill{
  background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:999px;
  padding:.35rem .75rem; color:#111827; font-weight:600; font-size:.9rem
}

/* Footer */
.footer{ background:#fff; border-top:1px solid rgba(15,23,42,.08) }

/* Accessibility helpers */
[aria-current="page"]{ font-weight:700 }

/* Responsive tweaks */
@media (max-width: 576px){
  .display-5{ font-size:1.9rem }
}

.section-accent .social-icons {
  margin-top: 1rem;
}

.section-accent .social-icons a {
  font-size: 2.5rem;
  color: #fff;
  margin: 0 0.6rem;
  display: inline-block;
  transition: color 0.3s ease, transform 0.2s ease;
}

.section-accent .social-icons a:hover {
  color: #fff;
  transform: scale(1.1);
}

@media (max-width: 575.98px) {
  #leadForm .col-12.d-flex.align-items-center.justify-content-between {
    flex-direction: column;
    align-items: stretch;   /* тянем элементы на всю ширину */
    gap: 12px;              /* расстояние между чекбоксом и кнопкой */
    justify-content: flex-start;
  }
  #leadForm .col-12.d-flex.align-items-center.justify-content-between .btn {
    width: 100%;
  }
}