.pfha-wrap {
  position: absolute;
  inset: 0;
  z-index: 1;
  min-height: var(--pfha-desktop-height, 82vh);
  overflow: hidden;
  background: var(--pfha-base, #071317);
  pointer-events: none;
  isolation: isolate;
}

.pfha-wrap iframe,
.pfha-wrap spline-viewer {
  width: 100%;
  height: 100%;
  min-height: var(--pfha-desktop-height, 82vh);
  border: 0;
  display: block;
  transform: scale(1.08);
  transform-origin: center;
}

.pfha-interactive {
  pointer-events: auto;
}

.pfha-position-right {
  inset: 50% -5vw auto auto;
  width: min(58vw, 820px);
  height: min(76vh, 760px);
  min-height: 420px;
  transform: translateY(-50%);
  background: transparent;
}

.pfha-position-right iframe,
.pfha-position-right spline-viewer,
.pfha-position-center iframe,
.pfha-position-center spline-viewer {
  min-height: 100%;
}

.pfha-position-center {
  inset: 50% auto auto 50%;
  width: min(72vw, 920px);
  height: min(78vh, 780px);
  min-height: 440px;
  transform: translate(-50%, -50%);
  background: transparent;
}

.pfha-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: var(--pfha-overlay, .55);
  background: linear-gradient(90deg, var(--pfha-base, #071317) 0%, var(--pfha-base, #071317) 38%, transparent 100%);
}

.pfha-position-right .pfha-overlay,
.pfha-position-center .pfha-overlay {
  display: none;
}

.pfha-aurora,
.pfha-particles {
  position: absolute;
  inset: -18%;
  transform-style: preserve-3d;
  perspective: 1000px;
}

.pfha-aurora span {
  position: absolute;
  display: block;
}

.pfha-aurora-one,
.pfha-aurora-two,
.pfha-aurora-three {
  width: 58vw;
  height: 58vw;
  min-width: 440px;
  min-height: 440px;
  border-radius: 50%;
  filter: blur(48px);
  opacity: .72;
  mix-blend-mode: screen;
  animation: pfhaFloat 15s ease-in-out infinite alternate;
}

.pfha-aurora-one {
  left: -6%;
  top: 4%;
  background: conic-gradient(from 120deg, transparent, var(--pfha-accent-one, #00b8a9), transparent 68%);
}

.pfha-aurora-two {
  right: -8%;
  top: 6%;
  background: conic-gradient(from 220deg, transparent, var(--pfha-accent-two, #ffb84d), transparent 70%);
  animation-delay: -5s;
}

.pfha-aurora-three {
  left: 28%;
  bottom: -22%;
  background: conic-gradient(from 20deg, transparent, color-mix(in srgb, var(--pfha-accent-one, #00b8a9) 45%, white), transparent 72%);
  animation-delay: -9s;
}

.pfha-aurora-grid {
  right: 2%;
  top: 12%;
  width: 48vw;
  height: 48vw;
  min-width: 380px;
  min-height: 380px;
  border-radius: 50%;
  background-image:
    linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: radial-gradient(circle, black 0%, transparent 68%);
  opacity: .3;
  transform: rotateX(64deg) rotateZ(-22deg);
  animation: pfhaGrid 18s linear infinite;
}

.pfha-particles {
  background:
    radial-gradient(circle at 20% 22%, color-mix(in srgb, var(--pfha-accent-one, #00b8a9) 40%, transparent), transparent 30%),
    radial-gradient(circle at 78% 32%, color-mix(in srgb, var(--pfha-accent-two, #ffb84d) 34%, transparent), transparent 32%),
    var(--pfha-base, #071317);
}

.pfha-particles span {
  position: absolute;
  left: calc(var(--x) * 1%);
  top: calc(var(--y) * 1%);
  width: calc(var(--s) * 1px);
  height: calc(var(--s) * 1px);
  border-radius: 50%;
  background: color-mix(in srgb, var(--pfha-accent-one, #00b8a9) 75%, white);
  box-shadow: 0 0 34px color-mix(in srgb, var(--pfha-accent-one, #00b8a9) 72%, transparent);
  opacity: .58;
  animation: pfhaParticle calc(var(--d) * 1s) ease-in-out infinite alternate;
}

.pfha-particles span:nth-child(3n) {
  background: color-mix(in srgb, var(--pfha-accent-two, #ffb84d) 72%, white);
  box-shadow: 0 0 34px color-mix(in srgb, var(--pfha-accent-two, #ffb84d) 70%, transparent);
}

.pfha-particles span:nth-child(1) { --x: 8; --y: 18; --s: 7; --d: 8; }
.pfha-particles span:nth-child(2) { --x: 16; --y: 64; --s: 4; --d: 10; }
.pfha-particles span:nth-child(3) { --x: 22; --y: 36; --s: 10; --d: 13; }
.pfha-particles span:nth-child(4) { --x: 28; --y: 78; --s: 6; --d: 9; }
.pfha-particles span:nth-child(5) { --x: 35; --y: 20; --s: 5; --d: 12; }
.pfha-particles span:nth-child(6) { --x: 42; --y: 55; --s: 12; --d: 15; }
.pfha-particles span:nth-child(7) { --x: 48; --y: 30; --s: 5; --d: 11; }
.pfha-particles span:nth-child(8) { --x: 52; --y: 72; --s: 8; --d: 14; }
.pfha-particles span:nth-child(9) { --x: 58; --y: 17; --s: 7; --d: 10; }
.pfha-particles span:nth-child(10) { --x: 63; --y: 48; --s: 13; --d: 16; }
.pfha-particles span:nth-child(11) { --x: 68; --y: 82; --s: 5; --d: 12; }
.pfha-particles span:nth-child(12) { --x: 72; --y: 28; --s: 9; --d: 13; }
.pfha-particles span:nth-child(13) { --x: 78; --y: 60; --s: 4; --d: 9; }
.pfha-particles span:nth-child(14) { --x: 84; --y: 22; --s: 12; --d: 15; }
.pfha-particles span:nth-child(15) { --x: 88; --y: 70; --s: 7; --d: 11; }
.pfha-particles span:nth-child(16) { --x: 12; --y: 86; --s: 11; --d: 17; }
.pfha-particles span:nth-child(17) { --x: 92; --y: 42; --s: 5; --d: 10; }
.pfha-particles span:nth-child(18) { --x: 5; --y: 48; --s: 9; --d: 14; }
.pfha-particles span:nth-child(19) { --x: 38; --y: 88; --s: 4; --d: 12; }
.pfha-particles span:nth-child(20) { --x: 74; --y: 90; --s: 8; --d: 15; }
.pfha-particles span:nth-child(21) { --x: 96; --y: 16; --s: 6; --d: 11; }
.pfha-particles span:nth-child(22) { --x: 31; --y: 46; --s: 7; --d: 13; }

body .pf-animated-hero,
body .pf-orbital-hero {
  position: relative;
  overflow: hidden;
  min-height: var(--pfha-desktop-height, 82vh);
  isolation: isolate;
}

body .pf-animated-hero .et_pb_row,
body .pf-orbital-hero .et_pb_row,
body .pf-animated-hero .et_pb_column,
body .pf-orbital-hero .et_pb_column,
body .pf-animated-hero .et_pb_module:not(.et_pb_code),
body .pf-orbital-hero .et_pb_module:not(.et_pb_code) {
  position: relative;
  z-index: 5;
}

@keyframes pfhaFloat {
  0% { translate: 0 0; scale: 1; rotate: 0deg; }
  50% { translate: 5% -4%; scale: 1.08; rotate: 8deg; }
  100% { translate: -4% 6%; scale: .96; rotate: -6deg; }
}

@keyframes pfhaGrid {
  from { background-position: 0 0; }
  to { background-position: 68px 34px; }
}

@keyframes pfhaParticle {
  from { transform: translate3d(-12px, 8px, 0) scale(.82); }
  to { transform: translate3d(20px, -24px, 0) scale(1.24); }
}

@media (max-width: 767px) {
  .pfha-wrap,
  .pfha-wrap iframe,
  .pfha-wrap spline-viewer {
    min-height: var(--pfha-mobile-height, 72vh);
  }

  .pfha-position-right,
  .pfha-position-center {
    position: relative;
    inset: auto;
    width: 100%;
    height: var(--pfha-mobile-height, 420px);
    min-height: 360px;
    transform: none;
  }

  .pfha-wrap iframe,
  .pfha-wrap spline-viewer {
    transform: scale(1.18);
  }

  .pfha-overlay {
    background: var(--pfha-base, #071317);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pfha-aurora-one,
  .pfha-aurora-two,
  .pfha-aurora-three,
  .pfha-aurora-grid,
  .pfha-particles span {
    animation: none;
  }
}
