/* ============================================================
   BG HERO — CINEMATIC FULL-BLEED REBUILD
   Big imagery, massive type, slides automatically.
   This file LOADS LAST and overrides hero-engine.css sizing.
   ============================================================ */

.bgh {
  min-height: calc(100vh - 64px);
  padding: 56px 0 0 !important;
  display: flex; flex-direction: column; justify-content: stretch;
  overflow: hidden;
}

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

.bgh-grid {
  display: grid !important;
  grid-template-columns: minmax(540px, 1fr) minmax(640px, 1.25fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  width: 100%;
}

@media (max-width: 1100px) {
  .bgh-grid { grid-template-columns: 1fr !important; }
  .bgh { min-height: auto; }
}

/* ---------- LEFT COPY COLUMN ---------- */
.bgh-left {
  padding: 24px 56px 56px 80px;
  display: flex; flex-direction: column; justify-content: center;
  min-height: calc(100vh - 120px);
  position: relative;
  z-index: 2;
}

@media (max-width: 1380px) { .bgh-left { padding-left: 56px; padding-right: 40px; } }
@media (max-width: 1100px) { .bgh-left { padding: 48px 32px; min-height: auto; } }

/* MASSIVE headline — Accenture-scale */
.bgh-h1 {
  font-size: clamp(48px, 6.6vw, 104px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.035em !important;
  font-weight: 500 !important;
  margin: 28px 0 0 !important;
  color: #ffffff !important;
  text-wrap: balance;
  text-shadow: 0 2px 40px rgba(79,200,255,0.18);
}
.bgh-h1 .ac {
  background: linear-gradient(135deg, #4FC8FF 0%, #5EFFA4 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  display: inline;
  filter: drop-shadow(0 2px 24px rgba(79,200,255,0.25));
}

.bgh-sub {
  font-size: clamp(16px, 1.2vw, 19px) !important;
  line-height: 1.55 !important;
  color: rgba(234,242,255,0.78) !important;
  margin: 28px 0 0 !important;
  max-width: 540px !important;
}

.bgh-pill {
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
}

.bgh-ctas { margin-top: 36px !important; }
.bgh-cta { padding: 16px 26px !important; font-size: 15px !important; }

.bgh-badges { margin-top: 32px !important; }

/* Selector — compressed below the fold */
.bgh-selector {
  margin-top: 40px !important;
  padding-top: 24px !important;
  max-width: 640px;
}

/* ---------- RIGHT VISUAL COLUMN — FULL-BLEED ---------- */
.bgh-vis-wrap {
  position: relative;
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  min-height: calc(100vh - 120px) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
}

/* Cinematic backdrop — radial light + grid behind the visual */
.bgh-vis-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 70% 50%, rgba(79,200,255,0.18), transparent 70%),
    radial-gradient(ellipse 60% 40% at 90% 30%, rgba(94,255,164,0.10), transparent 70%);
  z-index: 0;
  pointer-events: none;
  animation: bgh-vis-breathe 12s ease-in-out infinite alternate;
}
@keyframes bgh-vis-breathe {
  0% { opacity: 0.7; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.06); }
}

/* Make the actual visual much larger */
.bgh-vis-wrap > .bgh-visual,
.bgh-vis-wrap > [class^="hv-"],
.bgh-vis-wrap .hv-stage {
  width: 100% !important;
  max-width: 920px;
  margin-right: 0;
  margin-left: auto;
  transform: translateZ(0);
  position: relative;
  z-index: 1;
}

/* Slide-in animation on every variant change */
.bgh-vis-wrap {
  animation: bgh-slide-in 900ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes bgh-slide-in {
  0%   { opacity: 0; transform: translateX(40px) scale(0.98); filter: blur(8px); }
  100% { opacity: 1; transform: translateX(0)    scale(1);    filter: blur(0); }
}

.bgh-left {
  animation: bgh-text-in 900ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes bgh-text-in {
  0%   { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Nav arrows — bigger, edge-anchored */
.bgh-nav {
  width: 52px !important;
  height: 52px !important;
}
.bgh-nav-prev { left: 24px !important; }
.bgh-nav-next { right: 24px !important; }

/* Dots — tighter to the visual bottom */
.bgh-dots { bottom: 28px !important; }

/* Auto-rotate progress — promote to a full-width bar at the very top */
.bgh-rot {
  top: 12px !important;
  right: 32px !important;
}

@media (max-width: 1100px) {
  .bgh-vis-wrap { min-height: 480px !important; padding: 0 24px !important; }
  .bgh-vis-wrap > .bgh-visual,
  .bgh-vis-wrap > [class^="hv-"] { max-width: 100%; }
}
