/* ============================================================
   BG HERO — APPLE-STYLE CENTERED (FINAL)
   Stacked: pill → headline → sub → CTA → big visual.
   This file LOADS LAST and overrides every previous hero CSS.
   ============================================================ */

/* ---------- Section frame ---------- */
.bgh {
  min-height: calc(100vh - 64px) !important;
  height: auto !important;
  padding: 56px 0 80px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  overflow: hidden;
  position: relative;
}

.bgh-wrap {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* ---------- KILL the 2-column grid → single centered stack ---------- */
.bgh-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  flex: 1;
  position: relative;
}

/* ---------- TOP COPY BLOCK (was bgh-left) ---------- */
.bgh-left {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 24px 32px 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  z-index: 3;
  animation: bgh-fade-up 700ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes bgh-fade-up {
  0%   { opacity: 0; transform: translateY(14px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Eyebrow pill — small, refined */
.bgh-pill {
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  padding: 7px 14px !important;
  margin-bottom: 18px !important;
  display: inline-flex !important;
  width: auto !important;
  align-self: center !important;
}

/* MASSIVE headline, centered */
.bgh-h1 {
  font-size: clamp(44px, 5.6vw, 88px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.025em !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: #ffffff !important;
  text-align: center !important;
  text-wrap: balance;
  max-width: 16ch;
}
.bgh-h1 br { display: inline; }
.bgh-h1 .ac {
  background: linear-gradient(120deg, #4FC8FF 0%, #5EFFA4 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* Subhead — single tight line of context */
.bgh-sub {
  font-size: clamp(16px, 1.25vw, 20px) !important;
  line-height: 1.4 !important;
  color: rgba(234,242,255,0.78) !important;
  margin: 18px 0 0 !important;
  max-width: 720px !important;
  text-align: center !important;
}

/* CTA row — single primary pill button, Apple-style */
.bgh-ctas {
  margin-top: 26px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap;
}

.bgh-cta {
  border-radius: 980px !important;
  padding: 13px 28px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  border: none !important;
}
.bgh-cta.primary {
  background: linear-gradient(135deg, #4FC8FF 0%, #5EFFA4 100%) !important;
  color: #04111c !important;
  box-shadow: 0 8px 32px rgba(79,200,255,0.28), 0 2px 8px rgba(94,255,164,0.18) !important;
}
.bgh-cta.primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 40px rgba(79,200,255,0.4), 0 4px 12px rgba(94,255,164,0.24) !important;
}
.bgh-cta.secondary {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  color: #ffffff !important;
}
.bgh-cta.secondary:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.35) !important;
}

/* Hide the chip-grid clutter — Apple hero has no in-page selector */
.bgh-selector,
.bgh-badges {
  display: none !important;
}

/* ---------- BIG VISUAL CANVAS ---------- */
.bgh-vis-wrap {
  position: relative !important;
  width: 100% !important;
  max-width: 1480px !important;
  margin: 36px auto 0 !important;
  padding: 0 80px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  flex: 1 1 auto;
  min-height: 460px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  isolation: isolate;
  animation: bgh-vis-in 700ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes bgh-vis-in {
  0%   { opacity: 0; transform: translateY(20px) scale(0.985); filter: blur(6px); }
  100% { opacity: 1; transform: translateY(0)    scale(1);     filter: blur(0); }
}

/* Soft radial backdrop behind the visual */
.bgh-vis-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(79,200,255,0.16), transparent 70%),
    radial-gradient(ellipse 50% 40% at 70% 40%, rgba(94,255,164,0.08), transparent 70%);
  z-index: 0;
  pointer-events: none;
  animation: bgh-breathe 14s ease-in-out infinite alternate;
}
@keyframes bgh-breathe {
  0% { opacity: 0.7; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.05); }
}

/* The actual visual node */
.bgh-vis-wrap > .bgh-visual,
.bgh-vis-wrap > [class^="hv-"],
.bgh-vis-wrap .hv-stage {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  position: relative;
  z-index: 1;
}

/* ---------- LEFT/RIGHT TOGGLES — large, edge-anchored ---------- */
.bgh-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: all 220ms ease !important;
  z-index: 6 !important;
}
.bgh-nav:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.28) !important;
  transform: translateY(-50%) scale(1.06) !important;
}
.bgh-nav-prev { left: 24px !important; right: auto !important; }
.bgh-nav-next { right: 24px !important; left: auto !important; }
.bgh-nav svg { width: 24px !important; height: 24px !important; }

/* ---------- DOTS — clean Apple-style row, anchored to section bottom ---------- */
.bgh-dots {
  position: absolute !important;
  bottom: 28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 10px !important;
  z-index: 5 !important;
}
.bgh-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.22) !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all 200ms ease !important;
}
.bgh-dot:hover { background: rgba(255,255,255,0.4) !important; }
.bgh-dot.on {
  background: linear-gradient(135deg, #4FC8FF, #5EFFA4) !important;
  width: 24px !important;
  border-radius: 4px !important;
}

/* ---------- AUTO-ROTATE INDICATOR ---------- */
.bgh-rot {
  top: 14px !important;
  right: 28px !important;
  z-index: 7 !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  .bgh { padding: 40px 0 100px !important; }
  .bgh-left { padding: 16px 24px 0 !important; }
  .bgh-vis-wrap {
    padding: 0 24px !important;
    margin-top: 28px !important;
    min-height: 360px !important;
  }
  .bgh-nav { width: 44px !important; height: 44px !important; }
  .bgh-nav-prev { left: 8px !important; }
  .bgh-nav-next { right: 8px !important; }
  .bgh-h1 { font-size: clamp(34px, 8vw, 56px) !important; }
}
