/* Parser-time mask, intentionally outside VNT's content-scoping pipeline.
   It exists only while the head bootstrap is pending. JS reads base styles in a
   synchronous "preparing" phase, stages coherent units, then removes this mask. */
@media (prefers-reduced-motion: no-preference) {
  /* Swup can await head assets after inserting containers. Keep the entire new
     fallback shell staged until the transition composable has set inline starts. */
  html[data-atelier-transition-stage="incoming"] :is(#site-header, #swup, #site-footer) { opacity: 0 !important; }
  html[data-atelier-motion-boot="pending"] #swup :is(
    .atelier-project-card, .atelier-news-card, .atelier-listing-card,
    .atelier-image-text-media, .atelier-service-media, .atelier-profile-image,
    .atelier-composition-images, .atelier-detail-gallery figure,
    .wp-block-post-featured-image, .atelier-contact-panel, .atelier-location-map,
    h1, h2, h3, h4, p, li, blockquote, figcaption, .atelier-button,
    .atelier-text-link, .atelier-prose, .atelier-article-content
  ):not([data-reveal-ignore], [data-reveal-ignore] *),
  html[data-atelier-motion-boot="pending"] #site-footer :is(h2, p, dl, .atelier-socials):not([data-reveal-ignore], [data-reveal-ignore] *) { opacity: 0 !important; }
}
