/*
 * picture-fix.css — Phase C2 alignment fix.
 *
 * The AVIF/WebP pipeline wrapped every raster <img> in a <picture>. But the
 * Webflow CSS positions/sizes images by class ON THE <img> itself
 * (position:absolute, max-width:%, negative margins, object-fit, flex child).
 * A <picture> defaults to `display: inline` and carries none of those styles,
 * so the wrapper — not the img — becomes the layout box, breaking every
 * floating hero graphic, CTA decoration and card overlay.
 *
 * Fix: make <picture> layout-transparent. It becomes `display: contents` so it
 * disappears from the box tree and the styled <img> lays out exactly as the
 * export intended.  `display: contents` is fully supported in all 2026
 * browsers.  Load this AFTER webflow-shared.css.
 */

picture:has(> img) {
  display: contents;
}

/* Fallback for the (vanishingly rare) engine without :has() — keep the
   picture from imposing its own inline box; the img still carries its class. */
@supports not (selector(:has(*))) {
  picture {
    display: inline;
  }
  picture > img {
    /* let the img's own class rules drive layout */
    position: inherit;
  }
}

/*
 * IX2 reveal-state neutralizer (2026-07-20).
 * The Webflow export left inline `transform: translate3d(0, 40px, 0) …` on 39
 * pages — the INITIAL state of scroll-reveal animations that webflow.js used
 * to animate away. Without webflow.js the elements sit permanently 40px too
 * low (e.g. the Pricing h1 overlapping the audience tabs). Neutralize the
 * static shift; real design transforms don't use this exact signature.
 */
[style*="translate3d(0, 40px, 0)"] {
  transform: none !important;
}
