/* Dynamic fetal-womb companion — continuous scroll motion + living inner animation */

.care-orb-layer {
  position: fixed;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  overflow: hidden;
}

.care-orb-path-svg {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

.care-womb {
  --care-size: 102px;
  position: absolute;
  top: 0;
  left: 0;
  width: var(--care-size);
  height: var(--care-size);
  margin: calc(var(--care-size) / -2) 0 0 calc(var(--care-size) / -2);
  border-radius: 50%;
  z-index: 1;
  opacity: 0;
  will-change: transform, opacity;
  transform: translate3d(-9999px, -9999px, 0);
}

.care-womb__aura {
  position: absolute;
  inset: -26%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(233, 30, 140, 0.22) 0%,
    rgba(255, 170, 205, 0.14) 42%,
    transparent 72%
  );
  animation: care-womb-aura 4.4s ease-in-out infinite;
}

.care-womb__ripple {
  position: absolute;
  inset: -8%;
  border-radius: 50%;
  border: 1.5px solid rgba(233, 30, 140, 0.24);
  opacity: 0;
  transform: scale(0.8);
}

.care-womb.is-pulsing .care-womb__ripple {
  animation: care-womb-ripple 1.25s ease-out;
}

.care-womb.is-settled .care-womb__aura {
  animation-duration: 3.4s;
}

.care-womb.is-scrolling .care-womb__baby {
  animation-duration: 2.4s;
}

.care-womb__art {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
  filter: drop-shadow(0 12px 20px rgba(194, 24, 91, 0.2));
}

.care-womb__shell {
  transform-origin: 60px 61px;
  animation: care-womb-breathe 3.8s ease-in-out infinite;
}

.care-womb__membrane {
  transform-origin: 60px 61px;
  animation: care-membrane-spin 18s linear infinite;
}

.care-womb__fluid {
  transform-origin: 60px 61px;
  animation: care-womb-fluid 4.2s ease-in-out infinite;
}

.care-womb__shine {
  animation: care-womb-shine 4.8s ease-in-out infinite;
}

.care-womb__cord {
  animation: care-cord-sway 3.6s ease-in-out infinite;
  transform-origin: 48px 74px;
}

.care-womb__baby {
  transform-origin: 62px 58px;
  animation: care-baby-float 3.4s ease-in-out infinite;
}

.care-womb__head {
  transform-origin: 71px 50px;
  animation: care-head-nudge 3.8s ease-in-out infinite;
}

.care-womb__arm {
  transform-origin: 56px 58px;
  animation: care-limb-kick 2.8s ease-in-out infinite;
}

.care-womb__leg {
  transform-origin: 54px 68px;
  animation: care-limb-kick 3.2s ease-in-out infinite reverse;
}

.care-womb__heart {
  transform-origin: 60px 76px;
  animation: care-heart-beat 1.45s ease-in-out infinite;
}

.care-womb__bubble--a { animation: care-bubble-rise 5.5s ease-in-out infinite; }
.care-womb__bubble--b { animation: care-bubble-rise 6.2s ease-in-out infinite 0.6s; }
.care-womb__bubble--c { animation: care-bubble-rise 4.8s ease-in-out infinite 1.1s; }
.care-womb__bubble--d { animation: care-bubble-rise 7s ease-in-out infinite 0.3s; }
.care-womb__bubble--e { animation: care-bubble-rise 5.2s ease-in-out infinite 1.6s; }

@keyframes care-womb-aura {
  0%, 100% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.12); opacity: 1; }
}

@keyframes care-womb-breathe {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.04) rotate(1.2deg); }
}

@keyframes care-membrane-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes care-womb-fluid {
  0%, 100% { transform: scale(1) translate(0, 0); }
  33% { transform: scale(1.04) translate(1px, -1.2px); }
  66% { transform: scale(0.98) translate(-1px, 1px); }
}

@keyframes care-womb-shine {
  0%, 100% { opacity: 0.3; transform: translate(0, 0); }
  50% { opacity: 0.58; transform: translate(2px, 2px); }
}

@keyframes care-cord-sway {
  0%, 100% { transform: rotate(-2deg); }
  50% { transform: rotate(4deg); }
}

@keyframes care-baby-float {
  0%, 100% { transform: rotate(-6deg) translate(0, 0); }
  50% { transform: rotate(5deg) translate(1.4px, -2.2px); }
}

@keyframes care-head-nudge {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(6deg) translate(0.5px, -0.5px); }
}

@keyframes care-limb-kick {
  0%, 100% { transform: rotate(0deg); }
  40% { transform: rotate(14deg); }
  60% { transform: rotate(-6deg); }
}

@keyframes care-heart-beat {
  0%, 100% { transform: scale(1); opacity: 0.4; }
  12% { transform: scale(1.22); opacity: 0.8; }
  24% { transform: scale(1); opacity: 0.45; }
  36% { transform: scale(1.14); opacity: 0.7; }
  50%, 100% { transform: scale(1); opacity: 0.4; }
}

@keyframes care-bubble-rise {
  0% { transform: translate(0, 8px) scale(0.7); opacity: 0; }
  20% { opacity: 0.7; }
  70% { opacity: 0.55; }
  100% { transform: translate(4px, -28px) scale(1.1); opacity: 0; }
}

@keyframes care-womb-ripple {
  0% { opacity: 0.5; transform: scale(0.85); }
  100% { opacity: 0; transform: scale(1.75); }
}

.js-landing-care .is-care-active.lp2-quick-item,
.js-landing-care .is-care-active.lp2-video-frame,
.js-landing-care .is-care-active.js-appointment-cta {
  box-shadow: 0 0 0 1px rgba(233, 30, 140, 0.28), 0 16px 40px rgba(233, 30, 140, 0.14);
}

.js-landing-care .is-care-active.lp2-feature .lp2-feature-copy h2,
.js-landing-care .is-care-active.lp2-articles h2,
.js-landing-care .is-care-active.lp2-reviews h2 {
  color: #c2185b;
}

.js-landing-care .lp2-feature.is-care-active .lp2-feature-media img {
  transform: scale(1.015);
  transition: transform 0.6s ease;
}

.js-landing-care .lp2-feature-media img {
  transition: transform 0.6s ease;
}

.js-landing-care.care-js-ready .js-scroll-reveal:not(.js-hero-section):not(.is-revealed) {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
}

.js-landing-care.care-js-ready .js-scroll-reveal.is-revealed {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s ease, transform 0.7s ease;
}

@media (hover: hover) and (pointer: fine) {
  .js-landing-care .js-service-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  }

  .js-landing-care .lp2-btn {
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
  }

  .js-landing-care .lp2-btn:hover {
    transform: translateY(-2px) scale(1.015);
  }
}

@media (max-width: 1023.98px) {
  .care-womb { --care-size: 80px; }
}

@media (max-width: 767.98px) {
  .care-womb { --care-size: 58px; }

  .care-womb__aura { inset: -14%; }

  .care-womb__membrane {
    animation-duration: 28s;
  }

  .js-landing-care.care-js-ready .js-scroll-reveal:not(.js-hero-section):not(.is-revealed) {
    transform: translate3d(0, 18px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .care-womb__aura,
  .care-womb__shell,
  .care-womb__membrane,
  .care-womb__fluid,
  .care-womb__shine,
  .care-womb__cord,
  .care-womb__baby,
  .care-womb__head,
  .care-womb__arm,
  .care-womb__leg,
  .care-womb__heart,
  .care-womb__bubble,
  .care-womb__ripple {
    animation: none !important;
  }

  .js-landing-care.care-js-ready .js-scroll-reveal,
  .js-landing-care.care-js-ready .js-hero-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .care-orb-layer.is-reduced .care-womb {
    opacity: 0.6;
  }
}

html.care-orb-off .care-orb-layer {
  display: none;
}
