.financial-indicators-section-opener-page .section-opener-number {
  font-weight: 900;
  z-index: 3;
}

.financial-indicators-section-opener-page .financial-indicators-title-nowrap {
  white-space: nowrap;
}

.financial-indicators-section-opener-page .section-opener-main {
  display: block;
}

.financial-indicators-section-opener-page .section-opener-copy {
  width: 46%;
}

.financial-indicators-section-opener-page .section-opener-visual {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.financial-indicators-section-opener-page .section-opener-visual-art {
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  background-image: url("assets/section-openers/financial-indicators/chapter3-bg.jpg");
  background-position: left top;
  background-size: cover;
  background-blend-mode: multiply;
}

/*
 * Both pulse layers reuse the exact 2560×1440 source-derived mask. Their
 * geometry intentionally mirrors the background at every breakpoint so the
 * complete central ring and all incoming/outgoing traces remain registered.
 */
.financial-indicators-section-opener-page .section-opener-energy-wave {
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: left top;
}

@media (max-width: 86rem) {
  .financial-indicators-section-opener-page .section-opener-copy {
    width: 48%;
  }
}

@media (max-width: 68.75rem) {
  .financial-indicators-section-opener-page .section-opener-copy {
    width: 52%;
  }
}

@media (max-width: 50rem) {
  .financial-indicators-section-opener-page .section-opener-main {
    display: flex;
  }

  .financial-indicators-section-opener-page .section-opener-copy {
    width: 100%;
  }

  .financial-indicators-section-opener-page .financial-indicators-title-nowrap {
    white-space: normal;
  }

  .financial-indicators-section-opener-page .section-opener-visual {
    position: relative;
    inset: auto;
    height: clamp(330px, 70vw, 500px);
    margin-top: auto;
  }

  .financial-indicators-section-opener-page .section-opener-visual-art {
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
    background-size: contain;
    background-position: left top;
  }

  .financial-indicators-section-opener-page .section-opener-energy-wave {
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: left top;
  }
}

@media (max-width: 30rem) {
  .financial-indicators-section-opener-page .section-opener-visual {
    height: clamp(280px, 82vw, 330px);
  }
}

/* Copy-first opener sequence; the approved source illustration stays static. */
.financial-opener-motion-ready .financial-indicators-section-opener-page .section-opener-number,
.financial-opener-motion-ready .financial-indicators-section-opener-page .section-opener-title,
.financial-opener-motion-ready .financial-indicators-section-opener-page .section-opener-list > li {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 760ms cubic-bezier(.16, 1, .3, 1),
    transform 900ms cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform;
}

.financial-opener-motion-ready .financial-indicators-section-opener-page .section-opener-title {
  transition-delay: 130ms;
}

.financial-opener-motion-ready .financial-indicators-section-opener-page .section-opener-list > li {
  transition-delay: 360ms;
}

.financial-opener-motion-ready .financial-indicators-section-opener-page .section-opener-main.is-visible .section-opener-number,
.financial-opener-motion-ready .financial-indicators-section-opener-page .section-opener-main.is-visible .section-opener-title,
.financial-opener-motion-ready .financial-indicators-section-opener-page .section-opener-main.is-visible .section-opener-list > li {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .financial-indicators-section-opener-page .section-opener-number,
  .financial-indicators-section-opener-page .section-opener-title,
  .financial-indicators-section-opener-page .section-opener-list > li {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
