/* ==========================================================================
   Home page — hero + trust row
   ========================================================================== */

.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  padding-top: 140px;
  padding-bottom: 64px;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
  transform: scale(1.08);
  animation: hero-zoom 22s ease-out forwards;
}

@keyframes hero-zoom {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

.hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,8,15,0.94) 0%, rgba(5,8,15,0.55) 42%, rgba(5,8,15,0.15) 62%, rgba(5,8,15,0.55) 100%),
    linear-gradient(0deg, rgba(5,8,15,1) 0%, rgba(5,8,15,0.1) 30%, transparent 55%);
}

.hero-content {
  max-width: 640px;
  position: relative;
  z-index: 1;
}

.hero-content h1 {
  font-size: clamp(2.6rem, 5.4vw, 4.4rem);
  margin-bottom: 18px;
}

.hero-content h1 span.line { display: block; }

.hero-sub {
  font-size: 1.15rem;
  color: var(--text);
  margin-bottom: 20px;
}

.hero-sub .accent { color: var(--blue-light); font-weight: 700; }

/* .hero-checks now lives in the shared style.css — used on multiple pages */

.hero-actions {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  margin-bottom: 34px;
}

.hero-trust {
  display: flex;
  align-items: center;
  gap: 12px;
}

.trust-stars { display: flex; gap: 3px; }

.trust-stars svg { width: 18px; height: 18px; }

.trust-label { font-size: 0.8rem; color: var(--muted); }
.trust-label strong { color: var(--white); display: block; font-size: 0.85rem; }

/* Position trust block to the right on desktop, matching mockup */
.hero-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  width: 100%;
}

.hero-trust-float {
  text-align: right;
  padding-bottom: 4px;
}

.hero-trust-float .trust-stars { justify-content: flex-end; }

/* Below-hero feature strip, slightly overlapping */
.hero-features-wrap {
  position: relative;
  z-index: 2;
  margin-top: -64px;
}

.hero-tagline {
  text-align: center;
  padding: 30px 0 70px;
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 0.95rem;
}

.hero-tagline svg { color: var(--blue-light); }

@media (max-width: 980px) {
  .hero-inner { flex-direction: column; align-items: flex-start; }
  .hero-trust-float { text-align: left; }
  .hero-trust-float .trust-stars { justify-content: flex-start; }
}

/* ---- Big video hero section ---- */
.video-hero {
  padding: 40px 0 110px;
  background: linear-gradient(180deg, transparent, rgba(47,107,255,0.06) 40%, transparent);
}

.video-hero-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 40px;
}

.video-hero-head h2 { font-size: clamp(2rem, 4vw, 2.8rem); margin: 10px 0 14px; }
.video-hero-head .lede { color: var(--muted); }

.video-hero-frame {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  aspect-ratio: 16/9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-light);
  box-shadow: 0 30px 80px -30px rgba(47,107,255,0.35);
}

.yt-play-btn-lg { width: 84px; height: 84px; }
.yt-play-btn-lg svg { width: 22px; height: 22px; }

.video-hero-cta { text-align: center; margin-top: 36px; }
