/* Enabled before first paint only for an unmodified hero. The bootstrap has
   a 1.2s fail-open timer if the deferred controller cannot load. */
.fb-intro-pending body.fb-motion-hero:not(.elementor-editor-active) .fb-hero:not(.fb-no-motion):not(:has(.fb-no-motion, [data-settings*="animation"])) :is(.fb-headline, .fb-hero-copy, .fb-actions, .fb-hero-art),
.fb-intro-pending body.fb-motion-hero:not(.elementor-editor-active) .fb-page-heading:not(.fb-no-motion):not(:has(.fb-no-motion, [data-settings*="animation"])) > .e-con-inner {
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .fb-intro-pending body.fb-motion-hero :is(.fb-headline, .fb-hero-copy, .fb-actions, .fb-hero-art, .fb-page-heading > .e-con-inner) { opacity: 1 !important; }
}
@media print {
  .fb-intro-pending body.fb-motion-hero :is(.fb-headline, .fb-hero-copy, .fb-actions, .fb-hero-art, .fb-page-heading > .e-con-inner) { opacity: 1 !important; }
}

/* Temporary, aria-hidden glyph overlay. The original text retains all layout
   and accessibility semantics, then is restored after the final letter lands. */
.fb-heading-source { display: inline; }
.fb-heading-letters { position: absolute; inset: 0; pointer-events: none; text-align: left; }
.fb-heading-letter { position: absolute; display: block; margin: 0; padding: 0; border: 0; white-space: pre; text-align: left; }
