.elementor-469 .elementor-element.elementor-element-a04818b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-469 .elementor-element.elementor-element-1846341{--display:flex;}.elementor-469 .elementor-element.elementor-element-97f4262{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-469 .elementor-element.elementor-element-97f4262:not(.elementor-motion-effects-element-type-background), .elementor-469 .elementor-element.elementor-element-97f4262 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://bioqrypt.com/wp-content/uploads/2026/09/hero_image.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-469 .elementor-element.elementor-element-a5f5aec{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-469 .elementor-element.elementor-element-a127a1c{text-align:center;}.elementor-469 .elementor-element.elementor-element-a127a1c .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:72px;font-weight:600;color:var( --e-global-color-84f0b3f );}.elementor-469 .elementor-element.elementor-element-7a3b5b4{text-align:center;}.elementor-469 .elementor-element.elementor-element-7a3b5b4 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:24px;font-weight:600;color:var( --e-global-color-84f0b3f );}.elementor-469 .elementor-element.elementor-element-36d026f{--display:flex;}.elementor-469 .elementor-element.elementor-element-36d026f:not(.elementor-motion-effects-element-type-background), .elementor-469 .elementor-element.elementor-element-36d026f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://bioqrypt.com/wp-content/uploads/2026/09/Square-Hero-Section-No-Icon.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}/* Start custom CSS *//* ---------- Tweak these ---------- */
.zoom-reveal {
  --p: 0;                 /* scroll progress, set by JS */
  --ratio: .92;           /* logo viewBox width ÷ height */
  --fx: 0.4;              /* zoom focal point in the logo, 0–1 horizontally */
  --fy: 0.4;              /* zoom focal point in the logo, 0–1 vertically */
  --start: 2vw;          /* logo width at the start */
  --zoom: 10000vw;         /* extra width added by the end */
  --logo: url("http://76k.aff.mytemp.website/wp-content/uploads/2026/09/Bioqrypt-Logo-Icon-Cropped-Small.svg");

    --anim: 0.8;   /* screens of scroll for the zoom (lower = faster) */
  --hold: 0.5;   /* screens of scroll the hero stays pinned after */

  height: calc(100svh - var(--header-h, 0px) + (var(--anim) + var(--hold)) * 100vh);
  /* ...keep everything else... */
  position: relative;
  padding: 0 !important;
}

/* ---------- Pinned stage ---------- */
.zoom-reveal__stage {
  position: sticky !important;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  padding: 0 !important;
  container-type: size;   /* add this */
}

/* ---------- Hero underneath ---------- */
.zoom-reveal__hero {
  position: absolute !important;
  inset: 0;
  z-index: 1;
  transform: scale(calc(1.2 - 0.2 * var(--p)));  /* subtle push-in for depth */
  will-change: transform;
}

.zoom-reveal__content {
  opacity: clamp(0, calc((var(--p) - 0.6) * 3), 1);
  transform: translateY(calc((1 - var(--p)) * 40px));
}

/* ---------- Overlay with logo punched out ---------- */
.zoom-reveal__mask {
  --size: calc(var(--start) * exp(var(--p) * 5.4));

  position: absolute !important;
  inset: 0;
  z-index: 2;
  pointer-events: none;

  -webkit-mask-image: var(--logo), linear-gradient(#000 0 0);
          mask-image: var(--logo), linear-gradient(#000 0 0);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: var(--size) auto, 100% 100%;
          mask-size: var(--size) auto, 100% 100%;
-webkit-mask-position:
    calc(50cqw - var(--fx) * var(--size)) calc(50cqh - var(--fy) * var(--size) / var(--ratio)),
    0 0;
          mask-position:
    calc(50cqw - var(--fx) * var(--size)) calc(50cqh - var(--fy) * var(--size) / var(--ratio)),
    0 0;
  -webkit-mask-composite: xor;
          mask-composite: exclude;

  /* fade out the last 15% so nothing lingers */
  opacity: clamp(0, calc((1 - var(--p)) * 6.67), 1);
  will-change: mask-size, mask-position, opacity;
}

/* ---------- Accessibility ---------- */
@media (prefers-reduced-motion: reduce) {
  .zoom-reveal { height: auto; }
  .zoom-reveal__stage { position: relative !important; }
  .zoom-reveal__hero { transform: none; }
  .zoom-reveal__content { opacity: 1; transform: none; }
  .zoom-reveal__mask { display: none; }
}/* End custom CSS */