/* JS opts in only after the fonts and existing layout fitter are ready.
   No-JS, missing-plugin and reduced-motion paths retain ordinary visible text. */
html[data-navigation-demo] [data-reveal-02] { visibility: hidden; }
/* Character-opacity animation needs no new layout boxes. Leave the authored
   line spans and native wrapping in charge, including Range-based fitters. */
html[data-navigation-demo] [data-reveal-02="chars"] .line {
  display: contents !important;
}
/* A table-sized caption needs one block holding all words, otherwise its
   anonymous table cells discard the whitespace between split words. */
html[data-navigation-demo] .posh-caption-title[data-reveal-02="chars"] > .line {
  display: block !important;
}
html[data-navigation-demo] [data-reveal-02="chars"] :is(.word, .char) {
  display: inline !important;
}
/* Never hide or split the first-screen hero typography for this experiment. */
html[data-navigation-demo].cinema-reveal-boot .proo-static-hero__copy > :is(.proo-static-hero__title, .proo-static-hero__subtitle) {
  visibility: visible !important;
}
@media (prefers-reduced-motion: reduce) {
  html[data-navigation-demo] [data-reveal-02] { visibility: visible !important; }
}
@media (min-width: 1024px) {
  html:is(#hero-directions,[data-proo-home-release])[data-navigation-demo] .proo-card-one-followup[data-proo-card-one-followup] {
    /* +16–24px on each side, retaining the existing visual gap balancing. */
    --cinema-editorial-gap: clamp(104px, 14vh, 184px);
  }
}
