/* Squarespace's own rendering, kept in the document and still functional — the native
   Add-To-Cart button lives in here — but out of sight and out of flow. Not display:none:
   the button must stay in the render tree for its click handler to run. */
html.gx-takeover #siteWrapper{position:absolute!important;top:0!important;left:-200vw!important;
  width:100vw!important;height:0!important;overflow:hidden!important;opacity:0!important;
  pointer-events:none!important}
html.gx-takeover .sqs-announcement-bar-dropzone{display:none!important}
html.gx-takeover .gx-root{position:relative;z-index:1}

/* Squarespace's global animation engine walks the whole document, so it finds the lifted
   fragment's bare h1/h2/h3/p and tags them with one of these five classes — measured on
   gxace.com: 30 elements on the Visions page. `.preFade{opacity:0}` and its siblings then
   hold the design's copy invisible until Squarespace's own IntersectionObserver releases
   it, on top of the reveals the design already runs. The tag itself is harmless once it
   styles nothing.

   `:where()` costs no specificity, so this whole selector weighs the same 0,1,0 as
   Squarespace's `.preFade` and wins only on source order — a body stylesheet against a head
   one. That is deliberate. An !important override here also beat the design's own rules:
   `.sim-scene .statement h1{clip-path:inset(50%)}` in home.css visually hides the Simulacrum
   heading, and forcing clip-path put it back on screen. Equal weight and later order reverts
   exactly Squarespace's declaration and nothing else. */
:where(html.gx-takeover .gx-root) :is(.preFade,.preSlide,.preScale,.preClip,.preFlex){
  opacity:1;transform:none;clip-path:none;-webkit-clip-path:none}

/* The engine also writes transition timing inline, which only !important can reach. Safe
   because the design transitions containers — `.reveal`, the cards, the wipe plates — and
   never a heading or a paragraph, so there is no design timing here to overwrite. */
:where(html.gx-takeover .gx-root) :is(.preFade,.preSlide,.preScale,.preClip,.preFlex){
  transition-property:all!important;transition-duration:0s!important;
  transition-delay:0s!important}
