/* Scoped to avoid changing the existing Elementor header, hero, footer or widgets. */
.digestaid-homepage-extension {
  --digestaid-canvas: var(--e-global-color-7fd88cd, #030b1a);
  --digestaid-surface: #0d121a;
  --digestaid-surface-hover: #101b27;
  --digestaid-text: var(--e-global-color-f7c5c98, #eff2f6);
  --digestaid-muted: var(--e-global-color-1ce96fe, #a0abbd);
  --digestaid-cyan: var(--e-global-color-3ebc3e8, #35e2e6);
  --digestaid-cyan-light: var(--e-global-color-b0e2dd1, #73f6f9);
  --digestaid-border: rgba(115, 246, 249, 0.18);
  --digestaid-radius: 28px;
  display: flex;
  position: relative;
  z-index: auto;
  isolation: auto;
  flex-direction: column;
  width: 100%;
  overflow: clip;
  background: transparent;
  color: var(--digestaid-text);
  perspective: 1400px;
  perspective-origin: 50% 45vh;
}

.digestaid-homepage-extension,
.digestaid-homepage-extension *,
.digestaid-homepage-extension *::before,
.digestaid-homepage-extension *::after {
  box-sizing: border-box;
}

.digestaid-intelligence-field {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  max-width: none;
  opacity: 1;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
}

.digestaid-intelligence-host {
  position: relative;
}

.digestaid-choreography-field {
  position: fixed;
  z-index: 1;
  inset: 58px 0 0;
  overflow: hidden;
  opacity: 1;
  transform: translate3d(0, var(--digestaid-choreography-depth, 0), 0);
  pointer-events: none;
  mix-blend-mode: screen;
  will-change: transform;
}

.digestaid-choreography-field svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.digestaid-choreography-content {
  position: relative;
}

.digestaid-choreography-content > section > :not(.preview-ambient-secondary):not(.preview-ambient-tertiary),
.digestaid-choreography-content .preview-site-tail > section > *,
.digestaid-choreography-content .digestaid-section > :not(.digestaid-ambient-glow) {
  position: relative;
  z-index: 3;
}

.digestaid-choreography-atmosphere,
.digestaid-choreography-main,
.digestaid-choreography-secondary,
.digestaid-choreography-signal,
.digestaid-choreography-branches path,
.digestaid-choreography-far path {
  vector-effect: non-scaling-stroke;
}

.digestaid-choreography-far {
  filter: blur(.35px);
}

.digestaid-choreography-signal {
  opacity: .62;
}

.digestaid-choreography-detections,
.digestaid-choreography-branches,
.digestaid-choreography-particles {
  transition: opacity .18s linear;
}

.digestaid-intelligence-host > :not(.digestaid-intelligence-field) {
  position: relative;
  z-index: auto;
}

.digestaid-intelligence-host > section > *,
.digestaid-homepage-extension section > :not(.digestaid-ambient-glow) {
  position: relative;
  z-index: 2;
}

@media (max-width: 899px) {
  .digestaid-intelligence-field,
  .digestaid-choreography-field {
    display: block !important;
    opacity: .58;
  }

  .digestaid-choreography-far,
  .digestaid-choreography-branches,
  .digestaid-choreography-particles,
  .digestaid-choreography-detections,
  .digestaid-intelligence-detections {
    display: none;
  }
}

.digestaid-ambient-glow {
  position: absolute;
  z-index: 0;
  inset: -10% -16%;
  overflow: hidden;
  background-repeat: no-repeat;
  transform: translate3d(0, 0, 0) scale(1.03);
  transform-origin: center;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0,
    #000 8%,
    #000 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0,
    #000 8%,
    #000 100%
  );
  pointer-events: none;
  will-change: transform;
}

.digestaid-ambient-glow-primary {
  background:
    radial-gradient(ellipse 48% 32% at 17% 20%, rgba(53, 226, 230, .94) 0%, rgba(53, 226, 230, .38) 40%, transparent 74%),
    radial-gradient(ellipse 44% 34% at 80% 58%, rgba(15, 104, 169, .88) 0%, rgba(15, 104, 169, .34) 42%, transparent 76%);
  opacity: .24;
  animation: digestaid-ambient-drift-primary 18s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}

.digestaid-ambient-glow-secondary {
  background:
    radial-gradient(ellipse 54% 36% at 76% 18%, rgba(69, 150, 210, .86) 0%, rgba(69, 150, 210, .28) 44%, transparent 77%),
    radial-gradient(ellipse 50% 30% at 34% 84%, rgba(76, 220, 205, .88) 0%, rgba(76, 220, 205, .3) 43%, transparent 76%);
  opacity: .19;
  animation: digestaid-ambient-drift-secondary 24s cubic-bezier(.42, 0, .58, 1) -8s infinite alternate;
}

.digestaid-ambient-glow-tertiary {
  inset: -8% -12%;
  background:
    radial-gradient(ellipse 30% 11% at 8% 12%, rgba(91, 247, 225, .72), transparent 72%),
    radial-gradient(ellipse 24% 10% at 94% 34%, rgba(57, 146, 210, .78), transparent 74%),
    radial-gradient(ellipse 32% 12% at 18% 59%, rgba(53, 226, 230, .68), transparent 73%),
    radial-gradient(ellipse 28% 10% at 84% 83%, rgba(88, 161, 216, .72), transparent 75%);
  opacity: .16;
  filter: blur(22px);
  mix-blend-mode: screen;
  animation: digestaid-ambient-drift-tertiary 29s cubic-bezier(.46, 0, .54, 1) -14s infinite alternate;
}

.digestaid-homepage-extension[data-motion-density="reduced"] {
  perspective: none;
}

.digestaid-homepage-extension[data-motion-density="reduced"] .digestaid-ambient-glow-tertiary {
  opacity: .07;
  filter: blur(14px);
}

.digestaid-homepage-extension[data-motion-density="reduced"] .digestaid-section {
  will-change: auto;
}

.digestaid-section,
.digestaid-product-dialog {
  position: relative;
  z-index: 1;
}

@keyframes digestaid-ambient-drift-primary {
  0% {
    transform: translate3d(-5%, -2%, 0) scale(1.03);
  }
  38% {
    transform: translate3d(4.5%, 2.2%, 0) scale(1.08);
  }
  72% {
    transform: translate3d(-2%, 4%, 0) scale(1.05);
  }
  100% {
    transform: translate3d(5.5%, -1.5%, 0) scale(1.09);
  }
}

@keyframes digestaid-ambient-drift-secondary {
  0% {
    transform: translate3d(5%, -2.5%, 0) scale(1.075);
  }
  43% {
    transform: translate3d(-4.5%, 3%, 0) scale(1.04);
  }
  76% {
    transform: translate3d(2.5%, 4.5%, 0) scale(1.085);
  }
  100% {
    transform: translate3d(-5.5%, -1%, 0) scale(1.055);
  }
}

@keyframes digestaid-ambient-drift-tertiary {
  0% {
    transform: translate3d(-4%, 1%, 0) scale(1.02) rotate(-.35deg);
  }
  31% {
    transform: translate3d(3%, -1.5%, 0) scale(1.08) rotate(.2deg);
  }
  68% {
    transform: translate3d(-1%, 2.5%, 0) scale(1.05) rotate(-.15deg);
  }
  100% {
    transform: translate3d(4.5%, -.5%, 0) scale(1.1) rotate(.4deg);
  }
}

.digestaid-homepage-extension [data-digestaid-reveal] {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  transition:
    opacity 1.15s cubic-bezier(.22, 1, .36, 1),
    transform 1.15s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--digestaid-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.digestaid-homepage-extension [data-digestaid-reveal].is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.digestaid-homepage-extension [data-digestaid-scroll-linked] {
  opacity: var(--digestaid-scroll-opacity, 0) !important;
  filter: blur(var(--digestaid-scroll-blur, 0px));
  transform:
    translate3d(
      var(--digestaid-scroll-x, 0px),
      var(--digestaid-scroll-y, 34px),
      0
    )
    scale(var(--digestaid-scroll-scale, .985)) !important;
  transition: none !important;
}

.digestaid-homepage-extension *,
.digestaid-homepage-extension *::before,
.digestaid-homepage-extension *::after {
  box-sizing: border-box;
}

.digestaid-homepage-extension [hidden] {
  display: none !important;
}

.digestaid-section {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc(100% - 48px);
  max-width: 1140px;
  margin-inline: auto;
  padding: 120px 0;
  transform:
    translate3d(0, var(--digestaid-section-drift, 0px), var(--digestaid-section-depth, 0px))
    scale(var(--digestaid-section-scale, 1))
    rotateX(var(--digestaid-section-tilt, 0deg));
  transform-origin: 50% 50%;
  will-change: transform;
}

.digestaid-cinematic-stage {
  display: contents;
}

@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
  .digestaid-section.digestaid-cinematic-scene {
    /*
     * Retain the cinematic hold without forcing several repeated wheel
     * gestures before the following clinical context can enter.
     */
    min-height: 125vh;
    padding-top: 0;
    padding-bottom: 0;
    transform: none;
  }

  .digestaid-homepage-extension .digestaid-section > .digestaid-cinematic-stage {
    position: sticky;
    top: 58px;
    display: flex;
    min-height: calc(100vh - 58px);
    padding: 38px 0;
    justify-content: center;
    flex-direction: column;
    transform:
      translate3d(0, var(--digestaid-camera-y, 0px), 0)
      scale(var(--digestaid-camera-scale, 1));
    transform-origin: 50% 50%;
    opacity: var(--digestaid-camera-opacity, 1);
    filter: blur(var(--digestaid-camera-blur, 0px));
    will-change: transform, opacity, filter;
  }

  /*
   * Keep the complete globe composition inside the sticky viewport. The
   * generic 680px map plus its heading was taller than shorter desktops.
   */
  .digestaid-global-presence > .digestaid-cinematic-stage {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .digestaid-global-presence .digestaid-section-heading {
    gap: 10px;
    margin-bottom: 24px;
  }

  .digestaid-global-presence .digestaid-section-heading .elementor-heading-title {
    font-size: clamp(38px, 4.1vw, 62px);
    line-height: 1.08;
  }

  .digestaid-global-presence .digestaid-section-heading .elementor-widget-text-editor {
    font-size: 17px;
    line-height: 1.45;
  }

  .digestaid-global-presence .digestaid-map-shell,
  .digestaid-global-presence .digestaid-world-map {
    min-height: 0;
    height: clamp(500px, calc(100vh - 278px), 620px);
  }

}

.digestaid-technologies {
  padding-top: 132px;
  padding-bottom: 112px;
  opacity: var(--digestaid-section-opacity, 1);
}

.digestaid-technologies::before {
  position: absolute;
  z-index: 1;
  inset: -48px -100vw;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(12, 42, 66, .36), transparent 56%),
    linear-gradient(180deg, rgba(3, 11, 26, .18), rgba(3, 11, 26, .62) 48%, rgba(3, 11, 26, .34));
  content: "";
  pointer-events: none;
}

.digestaid-regulatory {
  padding-top: 112px;
  padding-bottom: 116px;
  opacity: var(--digestaid-section-opacity, 1);
}

.digestaid-regulatory::before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 8%;
  left: 8%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(115, 246, 249, .08) 18%,
    rgba(115, 246, 249, .28) 50%,
    rgba(115, 246, 249, .08) 82%,
    transparent
  );
  box-shadow: 0 0 34px rgba(53, 226, 230, .12);
  content: "";
  pointer-events: none;
}

.digestaid-global-presence {
  padding-top: 138px;
  padding-bottom: 154px;
}

.digestaid-section::after {
  position: absolute;
  z-index: 0;
  right: 3%;
  bottom: -150px;
  left: 3%;
  height: 300px;
  background:
    radial-gradient(ellipse at center, rgba(53, 226, 230, .09), transparent 67%),
    linear-gradient(90deg, transparent 20%, rgba(115, 246, 249, .035) 50%, transparent 80%);
  content: "";
  opacity: var(--digestaid-flow-opacity, .55);
  transform: translate3d(0, var(--digestaid-flow-offset, 0px), 0) scale(1.04);
  transition: opacity 180ms linear;
  pointer-events: none;
  will-change: transform, opacity;
}

.digestaid-section + .digestaid-section {
  border-top: 1px solid transparent;
}

.digestaid-section-heading {
  align-items: center;
  gap: 18px;
  margin: 0 auto 56px;
  max-width: 920px;
  text-align: center;
}

.digestaid-section-heading .elementor-widget {
  margin: 0;
}

.digestaid-section-heading .elementor-heading-title {
  margin: 0;
  color: var(--digestaid-text);
  font-family: "Michroma", Sans-serif;
  font-size: clamp(38px, 5vw, 70px);
  font-weight: 400;
  line-height: 1.18;
}

.digestaid-section-heading .elementor-widget-text-editor {
  color: var(--digestaid-muted);
  font-family: "DM Sans", Sans-serif;
  font-size: 20px;
  font-weight: 200;
  line-height: 1.55;
}

.digestaid-section-heading p {
  margin: 0;
}

.digestaid-cluster-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 42px;
  overflow-x: auto;
  padding: 3px;
  scrollbar-width: none;
}

.digestaid-cluster-tabs::-webkit-scrollbar {
  display: none;
}

.digestaid-cluster-tab {
  appearance: none;
  flex: 0 0 auto;
  padding: 12px 20px;
  border: 1px solid rgba(115, 246, 249, 0.16);
  border-radius: 6px;
  background: rgba(6, 18, 31, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.018);
  color: rgba(194, 211, 224, 0.78);
  cursor: pointer;
  font-family: "DM Sans", Sans-serif;
  font-size: 14px;
  font-weight: 500;
  transition: border-color 240ms ease, color 240ms ease, background 240ms ease;
}

.digestaid-cluster-tab:hover,
.digestaid-cluster-tab:focus-visible {
  border-color: rgba(115, 246, 249, 0.42);
  color: var(--digestaid-cyan-light);
  background: rgba(8, 27, 43, 0.82);
  outline: none;
}

.digestaid-cluster-tab[aria-selected="true"] {
  border-color: var(--digestaid-cyan-light);
  color: var(--digestaid-cyan-light);
  background: linear-gradient(-76deg, rgba(114, 251, 208, 0.15), rgba(15, 104, 169, 0.2));
}

.digestaid-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.digestaid-product-grid.digestaid-product-grid--two {
  grid-template-columns: repeat(2, minmax(0, calc((100% - 66px) / 4)));
  justify-content: center;
}

.digestaid-product-grid.digestaid-product-grid--motility {
  grid-template-columns: repeat(3, minmax(0, calc((100% - 66px) / 4)));
  justify-content: center;
}

.digestaid-product-grid.digestaid-product-grid--five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.digestaid-product-grid.digestaid-product-grid--five .digestaid-product-card {
  grid-column: auto;
}

.digestaid-product-card {
  --digestaid-card-accent: 53, 226, 230;
  --digestaid-card-pointer-x: 50%;
  --digestaid-card-pointer-y: 50%;
  position: relative;
  isolation: isolate;
  min-height: 270px;
  overflow: clip;
  border: 1px solid rgba(115, 246, 249, 0.1);
  border-radius: var(--digestaid-radius);
  background:
    radial-gradient(circle at 50% 55%, rgba(8, 181, 255, 0.08), transparent 48%),
    var(--digestaid-surface);
  translate: 0 0;
  scale: 1;
  transition:
    translate 500ms cubic-bezier(.16, 1, .3, 1),
    scale 500ms cubic-bezier(.16, 1, .3, 1),
    border-color 350ms ease,
    background 350ms ease,
    box-shadow 350ms ease;
  will-change: transform, translate, scale, opacity, filter;
}

.digestaid-product-card[data-digestaid-card-reveal] {
  opacity: 0;
  filter: blur(5px);
  transform: translate3d(0, 44px, 0) scale(.97);
  transition:
    opacity 760ms cubic-bezier(.16, 1, .3, 1),
    filter 760ms cubic-bezier(.16, 1, .3, 1),
    transform 760ms cubic-bezier(.16, 1, .3, 1),
    translate 500ms cubic-bezier(.16, 1, .3, 1),
    scale 500ms cubic-bezier(.16, 1, .3, 1),
    border-color 350ms ease,
    background 350ms ease,
    box-shadow 350ms ease;
  transition-delay:
    calc(var(--digestaid-card-index, 0) * 72ms),
    calc(var(--digestaid-card-index, 0) * 72ms),
    calc(var(--digestaid-card-index, 0) * 72ms),
    0ms,
    0ms,
    0ms,
    0ms,
    0ms;
}

.digestaid-product-card[data-digestaid-card-reveal].is-card-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1);
}

.digestaid-product-card::before {
  position: absolute;
  z-index: 0;
  inset: -1px;
  border-radius: inherit;
  background: radial-gradient(
    circle 150px at var(--digestaid-card-pointer-x) var(--digestaid-card-pointer-y),
    rgba(var(--digestaid-card-accent), .14),
    rgba(var(--digestaid-card-accent), .045) 38%,
    transparent 72%
  );
  content: "";
  opacity: 0;
  transition: opacity 320ms ease;
  pointer-events: none;
}

.digestaid-product-card:hover::before,
.digestaid-product-card:focus-within::before {
  opacity: 1;
}

.digestaid-product-grid.is-leaving {
  pointer-events: none;
}

.digestaid-product-grid.is-leaving .digestaid-product-card {
  animation: digestaid-product-card-leave 170ms ease-in both;
}

.digestaid-product-grid.is-entering .digestaid-product-card {
  animation: digestaid-product-card-enter 460ms cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: calc(var(--digestaid-card-index, 0) * 48ms);
}

@keyframes digestaid-product-card-leave {
  to {
    opacity: 0;
    filter: blur(3px);
    transform: translate3d(0, -8px, 0) scale(.985);
  }
}

@keyframes digestaid-product-card-enter {
  from {
    opacity: 0;
    filter: blur(6px);
    transform: translate3d(0, 22px, 0) scale(.975);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1);
  }
}

.digestaid-product-card:hover,
.digestaid-product-card:focus-within {
  z-index: 2;
  translate: 0 -7px;
  scale: 1.025;
  border-color: rgba(115, 246, 249, 0.34);
  background:
    radial-gradient(circle at 50% 55%, rgba(8, 181, 255, 0.16), transparent 52%),
    var(--digestaid-surface-hover);
  box-shadow: 0 22px 48px rgba(0, 0, 0, .22);
}

.digestaid-product-card[data-card-theme="leak-sight"] {
  --digestaid-card-accent: 123, 2, 253;
  border-color: rgba(123, 2, 253, 0.34);
  background:
    radial-gradient(circle at 48% 48%, rgba(123, 2, 253, 0.16), transparent 54%),
    #110d19;
}

.digestaid-product-card[data-card-theme="leak-sight"]:hover,
.digestaid-product-card[data-card-theme="leak-sight"]:focus-within {
  border-color: rgba(171, 91, 255, 0.68);
  background:
    radial-gradient(circle at 48% 48%, rgba(123, 2, 253, 0.25), transparent 58%),
    #151020;
}

.digestaid-product-card[data-card-theme="precision-rect"] {
  --digestaid-card-accent: 254, 4, 93;
  border-color: rgba(254, 4, 93, 0.34);
  background:
    radial-gradient(circle at 48% 48%, rgba(254, 4, 93, 0.15), transparent 54%),
    #160d14;
}

.digestaid-product-card[data-card-theme="precision-rect"]:hover,
.digestaid-product-card[data-card-theme="precision-rect"]:focus-within {
  border-color: rgba(255, 82, 143, 0.68);
  background:
    radial-gradient(circle at 48% 48%, rgba(254, 4, 93, 0.24), transparent 58%),
    #1b1018;
}

.digestaid-product-action {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  min-height: 270px;
  padding: 25px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
}

.digestaid-product-action:focus-visible {
  outline: 2px solid var(--digestaid-cyan-light);
  outline-offset: -4px;
  border-radius: inherit;
}

.digestaid-product-logo-wrap {
  display: grid;
  place-items: center;
  min-height: 112px;
}

.digestaid-product-logo {
  --digestaid-logo-scale: 1;
  display: block;
  width: 82%;
  height: 88px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  transform: scale(var(--digestaid-logo-scale));
  transform-origin: center;
  transition: filter 300ms ease, opacity 300ms ease, transform 300ms ease;
}

.digestaid-product-logo[data-product-slug="deep-capsule"] { --digestaid-logo-scale: 1.04; }
.digestaid-product-logo[data-product-slug="smart-ibd"] { --digestaid-logo-scale: 0.86; }
.digestaid-product-logo[data-product-slug="gi-spy"] { --digestaid-logo-scale: 0.80; }
.digestaid-product-logo[data-product-slug="deep-bowel"] { --digestaid-logo-scale: 1.02; }
.digestaid-product-logo[data-product-slug="smart-cholangio"] { --digestaid-logo-scale: 1.03; }
.digestaid-product-logo[data-product-slug="smart-cyst"] { --digestaid-logo-scale: 0.98; }
.digestaid-product-logo[data-product-slug="smart-pancreas"] { --digestaid-logo-scale: 1.04; }
.digestaid-product-logo[data-product-slug="sonomind"] { --digestaid-logo-scale: 1.08; }
.digestaid-product-logo[data-product-slug="smart-mano"] { --digestaid-logo-scale: 0.88; }
.digestaid-product-logo[data-product-slug="smart-esophagus"] { --digestaid-logo-scale: 0.86; }
.digestaid-product-logo[data-product-slug="digesti-flow-ai"] { --digestaid-logo-scale: 0.88; }
.digestaid-product-logo[data-product-slug="hpv-smart"] { --digestaid-logo-scale: 1; }
.digestaid-product-logo[data-product-slug="anoscopy-genius"] { --digestaid-logo-scale: 1.04; }
.digestaid-product-logo[data-product-slug="leak-sight"] { --digestaid-logo-scale: 0.84; }
.digestaid-product-logo[data-product-slug="precision-rect-ai"] { --digestaid-logo-scale: 0.86; }
.digestaid-product-logo[data-product-slug="smart-node"] { --digestaid-logo-scale: 0.92; }
.digestaid-product-logo[data-product-slug="smart-node-ebus"] { --digestaid-logo-scale: 1; }

.digestaid-product-card:hover .digestaid-product-logo,
.digestaid-product-card:focus-within .digestaid-product-logo {
  filter: brightness(1.12) saturate(1.08);
}

.digestaid-product-meta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  min-height: 88px;
  margin-top: 18px;
  color: var(--digestaid-muted);
  font-family: "DM Sans", Sans-serif;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}

.digestaid-product-meta-text {
  display: block;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.digestaid-product-meta::after {
  content: "↗";
  flex: 0 0 auto;
  color: var(--digestaid-cyan-light);
  font-size: 14px;
}

button.digestaid-product-action .digestaid-product-meta::after {
  content: "+";
}

.digestaid-olympus-badge {
  position: absolute;
  z-index: 2;
  top: 16px;
  right: 16px;
  width: auto;
  max-width: 58px;
  height: 17px;
  object-fit: contain;
  opacity: 0.46;
  pointer-events: auto;
}

.digestaid-regulatory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.digestaid-regulatory-statuses:not(:empty) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 22px;
}

.digestaid-regulatory-card {
  min-height: 210px;
  padding: 38px;
  border: 1px solid var(--digestaid-border);
  border-radius: var(--digestaid-radius);
  background: radial-gradient(circle at top right, rgba(53, 226, 230, 0.08), transparent 48%),
    var(--digestaid-surface);
}

.digestaid-regulatory-kicker {
  display: block;
  min-height: 32px;
  margin-bottom: 24px;
  color: var(--digestaid-cyan-light);
  font-family: "DM Sans", Sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.digestaid-regulatory-logo {
  display: block;
  width: auto;
  max-width: 112px;
  height: 34px;
  margin-bottom: 22px;
  object-fit: contain;
  object-position: left center;
}

.digestaid-regulatory-logo-ce {
  opacity: 0.94;
  filter: brightness(0) invert(1);
}

.digestaid-regulatory-logo-fda {
  max-width: 132px;
  opacity: 0.82;
}

.digestaid-regulatory-card h3 {
  margin: 0 0 14px;
  color: var(--digestaid-text);
  font-family: "Michroma", Sans-serif;
  font-size: 20px;
  font-weight: 400;
}

.digestaid-regulatory-card p {
  margin: 0;
  color: var(--digestaid-muted);
  font-family: "DM Sans", Sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.digestaid-map-shell {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  border: 1px solid rgba(115, 246, 249, 0.12);
  border-radius: var(--digestaid-radius);
  background:
    radial-gradient(circle at 50% 48%, rgba(53, 226, 230, 0.18), transparent 42%),
    linear-gradient(145deg, rgba(11, 38, 55, 0.35), rgba(3, 11, 26, 0.1)),
    #0d121a;
  box-shadow: inset 0 0 90px rgba(53, 226, 230, 0.035);
  contain: strict;
}

.digestaid-map-shell::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(115, 246, 249, 0.38) 0 1px, transparent 1.3px),
    radial-gradient(circle, rgba(160, 171, 189, 0.26) 0 0.8px, transparent 1.1px);
  background-position: 0 0, 31px 18px;
  background-size: 67px 67px, 89px 89px;
  opacity: 0.24;
  pointer-events: none;
}

.digestaid-world-map {
  --digestaid-globe-formation: 1;
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  min-height: 680px;
  overflow: hidden;
  touch-action: none;
  cursor: grab;
  opacity: calc(.42 + var(--digestaid-globe-formation) * .58);
  filter:
    blur(calc((1 - var(--digestaid-globe-formation)) * 1.8px))
    saturate(calc(.72 + var(--digestaid-globe-formation) * .28));
  transform: scale(calc(.965 + var(--digestaid-globe-formation) * .035));
  transform-origin: center;
  transition: opacity 120ms linear, filter 120ms linear, transform 120ms linear;
}

.digestaid-globe-surface {
  fill: url("#digestaid-globe-surface");
  filter: drop-shadow(0 0 52px rgba(53, 226, 230, 0.14));
}

.digestaid-globe-grid {
  fill: none;
  stroke: rgba(115, 246, 249, 0.12);
  stroke-width: 0.7;
  stroke-dasharray: 2 5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.digestaid-globe-meridians {
  transition: opacity 280ms linear;
}

.digestaid-globe-atmosphere {
  fill: none;
  stroke: rgba(115, 246, 249, 0.09);
  stroke-width: 0.8;
  stroke-dasharray: 1 9;
  pointer-events: none;
  transform-origin: 500px 250px;
  animation: digestaid-globe-atmosphere-drift 24s linear infinite;
}

.digestaid-globe-signal-bridge {
  fill: none;
  stroke: rgba(115, 246, 249, .24);
  stroke-width: 1;
  stroke-dasharray: 4 11;
  opacity: calc(var(--digestaid-globe-formation) * .7);
  filter: drop-shadow(0 0 7px rgba(53, 226, 230, .32));
  pointer-events: none;
}

.digestaid-globe-signal-bridge path {
  animation: digestaid-map-flow 7.2s linear infinite;
}

.digestaid-globe-signal-bridge circle {
  fill: #73f6f9;
  stroke: rgba(115, 246, 249, .22);
  stroke-width: 8;
  animation: digestaid-map-pulse 2.8s ease-in-out infinite;
}

.digestaid-globe-atmosphere ellipse:last-child {
  stroke: rgba(104, 151, 204, 0.08);
  stroke-dasharray: 2 14;
}

.digestaid-globe-sheen {
  fill: none;
  stroke: rgba(183, 255, 255, 0.11);
  stroke-width: 18;
  opacity: 0.32;
  filter: blur(15px);
  pointer-events: none;
  transition: transform 120ms linear, opacity 220ms ease;
}

.digestaid-globe-limb {
  fill: url("#digestaid-globe-limb");
  pointer-events: none;
}

.digestaid-map-world-copy {
  opacity: var(--digestaid-globe-formation);
  filter: blur(calc((1 - var(--digestaid-globe-formation)) * 2.2px));
  transform-origin: 500px 250px;
  transform:
    scale(calc(.86 + var(--digestaid-globe-formation) * .14))
    rotate(calc((1 - var(--digestaid-globe-formation)) * -1.5deg));
  transition: opacity 100ms linear, filter 100ms linear;
}

@keyframes digestaid-globe-atmosphere-drift {
  to { transform: rotate(360deg); }
}

.digestaid-globe-edge {
  fill: none;
  stroke: rgba(115, 246, 249, 0.42);
  stroke-width: 1.45;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 38px rgba(53, 226, 230, 0.4));
  pointer-events: none;
  transition: stroke-dashoffset 120ms linear;
}

.digestaid-map-story {
  position: absolute;
  z-index: 4;
  left: 28px;
  bottom: 28px;
  width: min(290px, calc(100% - 56px));
  padding: 20px 22px;
  border: 1px solid rgba(115, 246, 249, 0.2);
  border-radius: 14px;
  background: rgba(3, 11, 26, 0.82);
  backdrop-filter: blur(12px);
  pointer-events: none;
  transition: border-color 320ms ease, background 320ms ease;
}

.digestaid-map-story.is-updating {
  border-color: rgba(115, 246, 249, .38);
  background: rgba(3, 16, 31, .9);
}

.digestaid-map-story span {
  display: block;
  margin-bottom: 11px;
  color: var(--digestaid-cyan-light);
  font-family: "DM Sans", Sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.digestaid-map-story strong {
  display: block;
  color: var(--digestaid-text);
  font-family: "Michroma", Sans-serif;
  font-size: 19px;
  font-weight: 400;
}

.digestaid-map-story p {
  margin: 7px 0 0;
  color: var(--digestaid-muted);
  font-family: "DM Sans", Sans-serif;
  font-size: 13px;
}

.digestaid-world-map.is-dragging {
  cursor: grabbing;
}

.digestaid-map-country {
  fill: url("#digestaid-map-dots-muted");
  stroke: rgba(115, 246, 249, 0.12);
  stroke-width: 0.35;
  vector-effect: non-scaling-stroke;
  transition: fill 180ms ease, stroke 180ms ease, opacity 120ms linear;
}

.digestaid-map-country:hover,
.digestaid-map-country:focus {
  fill: url("#digestaid-map-dots-active");
  stroke: rgba(115, 246, 249, 0.72);
  outline: none;
}

.digestaid-map-country.is-active {
  fill: url("#digestaid-map-dots-active");
  stroke: var(--digestaid-cyan-light);
  cursor: pointer;
}

.digestaid-map-country.is-active:hover,
.digestaid-map-country.is-active:focus {
  fill: rgba(53, 226, 230, 0.42);
  stroke: #efffff;
}

.digestaid-map-location {
  fill: var(--digestaid-cyan);
  stroke: rgba(115, 246, 249, 0.55);
  stroke-width: 9;
  stroke-opacity: 0.34;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 7px rgba(115, 246, 249, 0.9));
  animation: digestaid-map-pulse 2.6s ease-in-out infinite;
  transition: opacity 100ms linear;
}

.digestaid-map-connection {
  fill: none;
  stroke: rgba(115, 246, 249, 0.72);
  stroke-width: 1;
  stroke-dasharray: 3 7;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 3px rgba(53, 226, 230, 0.42));
  animation: digestaid-map-flow 5.8s linear infinite;
  transition: opacity 100ms linear;
}

@keyframes digestaid-map-pulse {
  0%, 100% { stroke-opacity: 0.12; }
  50% { stroke-opacity: 0.42; }
}

@keyframes digestaid-map-flow {
  to { stroke-dashoffset: -120; }
}

@media (prefers-reduced-motion: reduce) {
  .digestaid-globe-atmosphere {
    animation: none;
  }

  .digestaid-globe-signal-bridge path,
  .digestaid-globe-signal-bridge circle,
  .digestaid-map-location,
  .digestaid-map-connection {
    animation: none;
  }

  .digestaid-map-world-copy {
    filter: none;
    transform: none;
  }
}

.digestaid-map-toolbar {
  position: absolute;
  z-index: 4;
  top: 22px;
  right: 22px;
  display: flex;
  gap: 5px;
  opacity: .56;
  transition: opacity 280ms ease;
}

.digestaid-map-shell:hover .digestaid-map-toolbar,
.digestaid-map-toolbar:focus-within {
  opacity: .92;
}

.digestaid-map-control {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(115, 246, 249, 0.14);
  border-radius: 99px;
  background: rgba(3, 11, 26, 0.68);
  color: var(--digestaid-cyan-light);
  cursor: pointer;
  font-family: "DM Sans", Sans-serif;
  font-size: 18px;
}

.digestaid-map-control:hover,
.digestaid-map-control:focus-visible {
  border-color: var(--digestaid-cyan-light);
  background: rgba(15, 104, 169, 0.32);
  outline: none;
}

.digestaid-map-reset {
  font-size: 12px;
}

.digestaid-map-tooltip {
  position: absolute;
  z-index: 5;
  max-width: 310px;
  padding: 16px 18px;
  border: 1px solid rgba(115, 246, 249, 0.28);
  border-radius: 10px;
  background: rgba(3, 11, 26, 0.96);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.32);
  color: var(--digestaid-muted);
  font-family: "DM Sans", Sans-serif;
  font-size: 13px;
  line-height: 1.5;
  pointer-events: none;
}

.digestaid-map-tooltip strong {
  display: block;
  margin-bottom: 7px;
  color: var(--digestaid-text);
  font-family: "Michroma", Sans-serif;
  font-size: 14px;
  font-weight: 400;
}

.digestaid-map-tooltip dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 10px;
  margin: 10px 0 0;
}

.digestaid-map-tooltip dt {
  color: var(--digestaid-muted);
}

.digestaid-map-tooltip dd {
  margin: 0;
  color: var(--digestaid-text);
}

.digestaid-map-empty {
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  margin: 0;
  color: var(--digestaid-muted);
  font-family: "DM Sans", Sans-serif;
  font-size: 13px;
}

.digestaid-product-dialog {
  width: min(620px, calc(100vw - 34px));
  padding: 0;
  border: 1px solid rgba(115, 246, 249, 0.24);
  border-radius: 20px;
  background: #0d121a;
  color: var(--digestaid-text);
}

.digestaid-product-dialog::backdrop {
  background: rgba(3, 11, 26, 0.86);
  backdrop-filter: blur(7px);
}

.digestaid-dialog-inner {
  position: relative;
  padding: 45px;
  background: radial-gradient(circle at 80% 15%, rgba(53, 226, 230, 0.09), transparent 42%);
}

.digestaid-dialog-close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(115, 246, 249, 0.16);
  border-radius: 50%;
  background: transparent;
  color: var(--digestaid-text);
  cursor: pointer;
  font-size: 22px;
}

.digestaid-dialog-label {
  display: inline-flex;
  margin-bottom: 24px;
  padding: 6px 10px;
  border: 1px solid rgba(115, 246, 249, 0.2);
  border-radius: 999px;
  color: var(--digestaid-cyan-light);
  font-family: "DM Sans", Sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.digestaid-dialog-logo-wrap {
  display: grid;
  place-items: center;
  min-height: 130px;
  margin-bottom: 25px;
  border-radius: 14px;
  background: rgba(3, 11, 26, 0.72);
}

.digestaid-dialog-logo {
  max-width: 82%;
  max-height: 112px;
  object-fit: contain;
}

.digestaid-dialog-cluster {
  margin: 0 0 10px;
  color: var(--digestaid-cyan-light);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.digestaid-product-dialog h2 {
  margin: 0 0 18px;
  color: var(--digestaid-text);
  font-family: "Michroma", Sans-serif;
  font-size: 28px;
  font-weight: 400;
}

.digestaid-dialog-description {
  margin: 0 0 28px;
  color: var(--digestaid-muted);
  font-family: "DM Sans", Sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

.digestaid-dialog-cta.elementor-button {
  border: 1px solid var(--digestaid-cyan-light);
  border-radius: 6px;
  background: linear-gradient(123deg, #72fbd0 32%, #0f68a9 120%);
  color: #030b1a;
  font-family: "DM Sans", Sans-serif;
  font-weight: 600;
  text-decoration: none;
}

.digestaid-linkedin-follow.elementor-button {
  display: inline-flex;
  padding: 16px 30px;
  border: 1px solid #030b1a;
  border-radius: 6px;
  background: #030b1a;
  color: #eff2f6;
  font-family: "DM Sans", Sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

.digestaid-footer-products-hidden {
  display: none !important;
}

.digestaid-footer-uporto {
  display: block;
  width: min(110px, 100%);
  margin-top: 30px;
}

.preview-footer .digestaid-footer-uporto {
  display: block;
  width: 110px;
  max-width: 100%;
  transform: none;
}

.digestaid-footer-uporto img {
  display: block;
  width: 100%;
  height: auto;
}

.digestaid-footer-brand-logo {
  display: block;
  width: min(160px, 100%);
  height: auto;
  margin-bottom: 24px;
}

@media (max-width: 1024px) {
  .digestaid-section {
    width: calc(100% - 80px);
    padding: 100px 0;
  }

  .digestaid-technologies,
  .digestaid-regulatory,
  .digestaid-global-presence {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .digestaid-technologies {
    padding-bottom: 82px;
  }

  .digestaid-regulatory {
    padding-top: 82px;
  }

  .digestaid-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .digestaid-product-grid.digestaid-product-grid--five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .digestaid-product-grid.digestaid-product-grid--two {
    grid-template-columns: repeat(2, minmax(0, calc((100% - 44px) / 3)));
  }

  .digestaid-product-grid.digestaid-product-grid--motility {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .digestaid-section {
    width: calc(100% - 44px);
    padding: 80px 0;
  }

  .digestaid-technologies,
  .digestaid-regulatory,
  .digestaid-global-presence {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .digestaid-technologies {
    padding-top: 56px;
    padding-bottom: 64px;
  }

  .digestaid-regulatory {
    padding-top: 64px;
  }

  .digestaid-section-heading {
    align-items: flex-start;
    margin-bottom: 38px;
    text-align: left;
  }

  .digestaid-section-heading .elementor-heading-title {
    font-size: 38px;
    line-height: 1.25;
  }

  .digestaid-section-heading .elementor-widget-text-editor {
    font-size: 17px;
  }

  .digestaid-cluster-tabs {
    justify-content: flex-start;
    margin-inline: -22px;
    padding-inline: 22px;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 22px;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }

  .digestaid-product-grid {
    display: grid;
    grid-template-columns: none;
    grid-auto-columns: min(78vw, 320px);
    grid-auto-flow: column;
    gap: 16px;
    margin-inline: -22px;
    padding: 4px 22px 18px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scroll-padding-inline: 22px;
    scrollbar-width: thin;
    scrollbar-color: rgba(115, 246, 249, 0.3) transparent;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }

  .digestaid-product-grid.digestaid-product-grid--two,
  .digestaid-product-grid.digestaid-product-grid--motility,
  .digestaid-product-grid.digestaid-product-grid--five {
    grid-template-columns: none;
    justify-content: initial;
  }

  .digestaid-product-grid.digestaid-product-grid--five .digestaid-product-card,
  .digestaid-product-grid.digestaid-product-grid--five .digestaid-product-card:nth-child(4) {
    grid-column: auto;
  }

  .digestaid-product-card {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .digestaid-product-grid::-webkit-scrollbar {
    height: 3px;
  }

  .digestaid-product-grid::-webkit-scrollbar-track {
    background: transparent;
  }

  .digestaid-product-grid::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: rgba(115, 246, 249, 0.3);
  }

  .digestaid-regulatory-grid {
    grid-template-columns: 1fr;
  }

  .digestaid-regulatory-statuses:not(:empty) {
    grid-template-columns: 1fr;
  }

  .digestaid-map-shell,
  .digestaid-world-map {
    min-height: 520px;
  }

  .digestaid-world-map {
    width: 100%;
    max-width: none;
    margin-left: 0;
  }

  .digestaid-map-toolbar {
    top: 14px;
    right: 14px;
  }

  .digestaid-map-story {
    left: 14px;
    bottom: 14px;
    width: calc(100% - 28px);
    padding: 15px 17px;
  }

  .digestaid-map-story strong {
    font-size: 16px;
  }

  .digestaid-dialog-inner {
    padding: 40px 24px 28px;
  }

  .digestaid-product-logo {
    width: 78%;
    height: 96px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .digestaid-product-grid.is-leaving .digestaid-product-card,
  .digestaid-product-grid.is-entering .digestaid-product-card {
    animation: none;
  }

  .digestaid-intelligence-field {
    opacity: .38;
  }

  .digestaid-ambient-glow {
    animation: none;
    transform: none;
  }

  .digestaid-ambient-glow-primary {
    opacity: .07;
  }

  .digestaid-ambient-glow-secondary {
    opacity: .045;
  }

  .digestaid-ambient-glow-tertiary {
    opacity: .05;
    filter: blur(28px);
  }

  .digestaid-homepage-extension [data-digestaid-reveal] {
    opacity: 1;
    transform: none;
  }

  .digestaid-homepage-extension *,
  .digestaid-homepage-extension *::before,
  .digestaid-homepage-extension *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
