/* Word wrappers preserve the existing heading layout and emphasis markup. */
body main :is(h2, #capabilities-work-title, [data-heading-intro], [data-heading-reveal]) .heading-reveal__word,
body .mega-panel [data-heading-reveal] .heading-reveal__word,
body .branch-drawer [data-heading-reveal] .heading-reveal__word {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}

body main :is(h2, #capabilities-work-title, [data-heading-intro], [data-heading-reveal]) .heading-reveal__base,
body .mega-panel [data-heading-reveal] .heading-reveal__base,
body .branch-drawer [data-heading-reveal] .heading-reveal__base {
  color: inherit;
  opacity: .18;
}

body main :is(h2, #capabilities-work-title, [data-heading-intro], [data-heading-reveal]) .heading-reveal__ink,
body .mega-panel [data-heading-reveal] .heading-reveal__ink,
body .branch-drawer [data-heading-reveal] .heading-reveal__ink {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

/* Opt-in hero entrance: words rise through their own masks, without changing
   the heading's line breaks, accessible text or the shared color reveal. */
body main [data-heading-motion="rise"] .heading-reveal__word--rise {
  /* Outfit's accents and descenders extend beyond the tight line box. */
  overflow: visible;
  clip-path: inset(-.12em -.08em -.18em);
  vertical-align: top;
}

.heading-reveal__motion {
  position: relative;
  display: inline-block;
}

@media (prefers-reduced-motion: reduce), print {
  .heading-reveal__motion {
    transform: none !important;
    opacity: 1 !important;
  }
  body main :is(h2, #capabilities-work-title, [data-heading-intro], [data-heading-reveal]) .heading-reveal__word,
  body .mega-panel [data-heading-reveal] .heading-reveal__word,
  body .branch-drawer [data-heading-reveal] .heading-reveal__word {
    color: var(--heading-word-final) !important;
    opacity: 1 !important;
  }
  body main :is(h2, #capabilities-work-title, [data-heading-intro], [data-heading-reveal]) .heading-reveal__base,
  body .mega-panel [data-heading-reveal] .heading-reveal__base,
  body .branch-drawer [data-heading-reveal] .heading-reveal__base {
    opacity: 1 !important;
  }
  body main :is(h2, #capabilities-work-title, [data-heading-intro], [data-heading-reveal]) .heading-reveal__ink,
  body .mega-panel [data-heading-reveal] .heading-reveal__ink,
  body .branch-drawer [data-heading-reveal] .heading-reveal__ink {
    display: none;
  }
}
