/* Airbrush Some Stuff V89 — Mobile reveal / transition reliability fix
   Keeps gallery cards, service panels, sections and headings visible on phones/tablets.
   Desktop retains the existing motion system. */

@media (max-width: 900px){
  /* Mobile content must never depend on IntersectionObserver to become visible. */
  body.theme-v38 main > section.v29-reveal,
  body.theme-v38 main article.v29-reveal,
  body.theme-v38 .v29-reveal,
  body.theme-v38 .v29-reveal.v29-from-left,
  body.theme-v38 .v29-reveal.v29-from-right,
  body.theme-v38 .v29-reveal.v29-scale,
  body.theme-v38 .v29-reveal.v29-visible{
    opacity:1 !important;
    transform:none !important;
    visibility:visible !important;
    transition:none !important;
    transition-delay:0s !important;
    will-change:auto !important;
  }

  /* Heading masks were another source of empty-looking sections on mobile. */
  body.theme-v38 .v29-heading-reveal,
  body.theme-v38 .v29-heading-reveal > span.v29-heading-inner,
  body.theme-v38 .v29-heading-reveal.v29-visible > span.v29-heading-inner{
    opacity:1 !important;
    transform:none !important;
    visibility:visible !important;
    transition:none !important;
  }
  body.theme-v38 .v29-heading-reveal{overflow:visible !important;}

  /* app.js also uses in-view as a reveal gate. Make those components visible by default. */
  body.theme-v38 :is(
    .service-panel,
    .project-tile,
    .process-line > div,
    .explorer-row,
    .video-library article,
    .blog-card,
    .content-columns article,
    .gallery-item,
    .pricing-tier,
    .mural-info-grid article,
    .opportunity-card,
    .fundraiser-card,
    .season-card,
    .pc-path-card,
    .pc-tool-grid > a,
    .site-ad-grid > a,
    .what-next-grid > article,
    .check-grid > article,
    .bundle-grid > article,
    .event-setup-strip > article
  ){
    opacity:1 !important;
    transform:none !important;
    visibility:visible !important;
  }

  /* Touch devices should not be left in hover-transformed states after taps. */
  body.theme-v38 :is(
    .gallery-item,
    .gallery-open,
    .service-panel,
    .project-tile,
    .product-card,
    .pc-path-card,
    .pc-tool-grid > a,
    .site-ad-grid > a,
    .content-columns article
  ){
    will-change:auto !important;
  }

  body.theme-v38 .v29-lit:hover,
  body.theme-v38 .v29-art-hover:hover,
  body.theme-v38 .v29-art-hover:hover img,
  body.theme-v38 .gallery-open:hover .gallery-visual img,
  body.theme-v38 .service-feature:hover .service-panel-media img{
    transform:none !important;
  }

  /* Avoid horizontal push from left/right reveal animation or transformed cards. */
  html,body{overflow-x:clip;}
  body.theme-v38 main{overflow:visible;}

  /* Let gallery rows/cards establish their natural height immediately on mobile. */
  body.theme-v38 .rich-gallery,
  body.theme-v38 .real-work-grid,
  body.theme-v38 .gallery-wall{
    align-items:start;
  }
  body.theme-v38 .gallery-item,
  body.theme-v38 .gallery-open{
    min-width:0;
    max-width:100%;
  }
}

/* If JS is unavailable, reveal-gated content should still be usable everywhere. */
html.no-js .v29-reveal,
html.no-js .v29-heading-reveal > span.v29-heading-inner,
html.no-js .service-panel,
html.no-js .gallery-item,
html.no-js .pricing-tier,
html.no-js .mural-info-grid article,
html.no-js .opportunity-card,
html.no-js .fundraiser-card,
html.no-js .season-card{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}
