/* ============================================================
   PROMO HERO — single slide with YouTube background video
   ============================================================ */

/* ===== Section (full-width, relative for video positioning) ===== */
.promo-section{
  position:relative;
  overflow:hidden;
  min-height:540px;
}
.promo-section .container{
  max-width:min(94vw, 1440px);
  padding-inline:var(--space-6);
  position:relative;
  z-index:2;
}

/* ===== Background Video ===== */
.promo-video-bg{
  position:absolute; inset:0;
  z-index:0;
  overflow:hidden;
}
.promo-video-bg video{
  position:absolute;
  top:50%; left:50%;
  width:100%; height:100%;
  transform:translate(-50%,-50%);
  object-fit:cover;
  border:none;
}
.promo-video-overlay{
  position:absolute; inset:0;
  z-index:1;
  background:linear-gradient(
    135deg,
    rgba(10,15,30,0.88) 0%,
    rgba(10,15,30,0.78) 40%,
    rgba(10,15,30,0.65) 100%
  );
}

/* ===== Single Slide ===== */
.promo-slide--single{
  position:relative;
  min-height:480px;
  display:flex;
  align-items:center;
}

/* ===== Content ===== */
.promo-content{
  width:100%;
  max-width:720px;
  margin:0 auto;
  padding:52px 20px;
  display:flex; flex-direction:column; justify-content:center;
  position:relative; z-index:5;
  text-align:center;
  align-items:center;
}
.promo-badge{ margin-inline:auto; }

/* ===== Promo Badge ===== */
.promo-badge{
  display:inline-flex; align-items:center; gap:var(--space-2);
  background:rgba(16,185,129,0.10);
  border:1px solid rgba(16,185,129,0.22);
  padding:6px 18px; border-radius:var(--radius-pill);
  font-size:var(--fs-xs); font-weight:600; color:var(--gold-1);
  width:fit-content;
  margin-bottom:24px;
}

/* ===== Slide Title ===== */
.promo-title{
  font-size:clamp(28px, 3.4vw, 42px);
  font-weight:700; line-height:1.35;
  color:#fff; margin-bottom:var(--space-5);
  max-width:640px;
}

/* ===== Slide Description ===== */
.promo-desc{
  font-size:var(--fs-base); line-height:1.9;
  color:rgba(255,255,255,0.72);
  max-width:580px;
  margin-bottom:32px;
}

/* ===== Metrics Row ===== */
.promo-metrics{
  display:flex; gap:var(--space-4);
  margin-bottom:36px;
}
.promo-metric{
  flex:1;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius-sm);
  padding:16px 20px;
}
.promo-metric-value{
  font-size:clamp(28px, 3vw, 36px);
  font-weight:700; line-height:1.2;
  color:#fff;
}
.promo-metric-label{
  font-size:var(--fs-xs);
  color:rgba(255,255,255,0.55);
  margin-top:4px;
}

/* ===== Disclaimer ===== */
.promo-disclaimer{
  font-size:11.5px;
  color:rgba(255,255,255,0.38);
  line-height:1.7;
  margin-top:auto;
  padding-top:16px;
}

/* ===== Content Entrance Animation ===== */
.promo-slide--single .promo-content > *{
  opacity:0; transform:translateY(14px);
  transition:opacity .5s var(--ease-entrance), transform .5s var(--ease-entrance);
}
.promo-slide--single.revealed .promo-content > *{
  opacity:1; transform:none;
}
.promo-slide--single.revealed .promo-content > :nth-child(1){ transition-delay:.06s; }
.promo-slide--single.revealed .promo-content > :nth-child(2){ transition-delay:.12s; }
.promo-slide--single.revealed .promo-content > :nth-child(3){ transition-delay:.20s; }
.promo-slide--single.revealed .promo-content > :nth-child(4){ transition-delay:.28s; }
.promo-slide--single.revealed .promo-content > :nth-child(5){ transition-delay:.36s; }
.promo-slide--single.revealed .promo-content > :nth-child(6){ transition-delay:.44s; }

/* ===== Counter entrance ===== */
.promo-metric-value .counter{
  display:inline-block;
  transition:opacity .3s ease, transform .3s ease;
}
.promo-metric-value .counter.counted{
  opacity:1; transform:none;
}
.promo-metric-value .counter:not(.counted){
  opacity:0; transform:translateY(8px);
}

/* ===== Reduced Motion ===== */
@media (prefers-reduced-motion: reduce){
  .promo-slide--single .promo-content > *{ transition:none !important; opacity:1 !important; transform:none !important; }
  .promo-metric-value .counter{ opacity:1 !important; transform:none !important; }
}
