/* Static-mirror overrides.
   The original theme reveals ".animation" elements on scroll via HubSpot JS that
   we removed. Force them visible so no content depends on that script. */
.animation {
  opacity: 1 !important;
  transform: none !important;
}

/* Images are de-lazyloaded at build time; ensure any residual .lazy shows. */
.lazy {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Page background shapes (the coral/saffron/rose blobs).
   On the live HubSpot site these ".page-background-shapes" containers escape to
   <main> and act as one page-spanning backdrop (z-index:-1), with the coral
   bleeding into the hero from the top-right; <main> has overflow:hidden to clip
   the oversized blobs. Two things broke that in this static mirror:
     1. .dnd-section is position:relative, so the shapes anchored to their own
        mid-page section instead of <main>. Force those sections static so the
        shapes span the full page like the original.
     2. Each shape positions itself with a translate() transform, which the
        ".animation { transform: none }" reset above nuked. Re-assert the three
        transforms (constant across breakpoints; only size/offset change).
   Also restore overflow:hidden on <main> (the original's "o-hidden" class,
   dropped in conversion) so the huge blobs don't add page width/height. */
main.body-container-wrapper { overflow: hidden; }
.dnd-section--page-background-shapes { position: static; }
.page-background-shape-1 { transform: translate(50%, -50%) !important; }
.page-background-shape-2 { transform: translate(-50%, 0%) !important; }
.page-background-shape-3 { transform: translate(50%, 0%) !important; }

/* Contact block (replaces the old HubSpot form) */
.cmc-contact-block { margin-top: 1rem; }
.cmc-contact-block .cmc-email-link { display: inline-block; margin-top: 1rem; }
