/* Auto-generated 3D service hero animations */
.hero-heart[class*="hero-heart--"] { --hero-art-animation: heartPulse 2.5s ease-in-out infinite; }
.hero-heart--kardiologiya { --hero-art-animation: cardioPulse 4.8s ease-in-out infinite; }
.hero-heart--akusherstvo-ginekologiya { --hero-art-animation: lotusBloom 6.4s ease-in-out infinite; }
.hero-heart--mammologiya { --hero-art-animation: ribbonGuard 5.8s ease-in-out infinite; }
.hero-heart--urologiya-andrologiya { --hero-art-animation: renalShield 5.7s ease-in-out infinite; }
.hero-heart--dermatovenerologiya { --hero-art-animation: skinScan 6.1s ease-in-out infinite; }
.hero-heart--hirurgiya { --hero-art-animation: scalpelCross 5.4s ease-in-out infinite; }
.hero-heart--nevrologiya { --hero-art-animation: neuralSpark 6.6s ease-in-out infinite; }
.hero-heart--terapiya { --hero-art-animation: therapyOrbit 6.0s ease-in-out infinite; }
.hero-heart--gastroenterologiya { --hero-art-animation: gastricLeaf 5.9s ease-in-out infinite; }
.hero-heart--endokrinologiya { --hero-art-animation: thyroidOrbit 6.2s ease-in-out infinite; }
.hero-heart--lor { --hero-art-animation: entTriad 5.5s ease-in-out infinite; }
.hero-heart--oftalmologiya { --hero-art-animation: irisFocus 5.3s ease-in-out infinite; }
.hero-heart--ortopediya-travmatologiya { --hero-art-animation: kneeAura 6.0s ease-in-out infinite; }
.hero-heart--manualnaya-terapiya { --hero-art-animation: spineFlow 6.5s ease-in-out infinite; }
.hero-heart--lechenie-ozhireniya { --hero-art-animation: balanceShift 6.1s ease-in-out infinite; }
.hero-heart--massazh { --hero-art-animation: massageWave 6.8s ease-in-out infinite; }
.hero-heart--fizioterapiya { --hero-art-animation: physioImpulse 5.7s ease-in-out infinite; }
.hero-heart--pediatriya { --hero-art-animation: teddyBounce 6.2s ease-in-out infinite; }
.hero-heart--detskaya-ginekologiya { --hero-art-animation: daisyGuard 6.0s ease-in-out infinite; }
.hero-heart--detskaya-kardiologiya { --hero-art-animation: kidCardioHop 5.7s ease-in-out infinite; }
.hero-heart--detskaya-nevrologiya { --hero-art-animation: kidNeuroOrbit 6.4s ease-in-out infinite; }
.hero-heart--detskaya-urologiya { --hero-art-animation: kidRenalStars 6.0s ease-in-out infinite; }
.hero-heart--detskaya-endokrinologiya { --hero-art-animation: rainbowThyroid 6.3s ease-in-out infinite; }
.hero-heart--lor-detskiy { --hero-art-animation: kidEntPatch 5.8s ease-in-out infinite; }
.hero-heart--oftalmolog-detskiy { --hero-art-animation: kidEyeWink 5.4s ease-in-out infinite; }
.hero-heart--uzi-detskoe { --hero-art-animation: ultrasoundSmile 6.1s ease-in-out infinite; }
.hero-heart--uzi { --hero-art-animation: ultrasoundWave 5.6s ease-in-out infinite; }
.hero-heart--ekg { --hero-art-animation: ecgTrace 5.2s ease-in-out infinite; }
.hero-heart--eho-serdtsa { --hero-art-animation: echoRings 5.8s ease-in-out infinite; }
.hero-heart--stomatologiya { --hero-art-animation: toothSpark 5.5s ease-in-out infinite; }
.hero-heart--implantatsiya-zubov { --hero-art-animation: implantLift 6.0s ease-in-out infinite; }
.hero-heart--esteticheskaya-stomatologiya { --hero-art-animation: smileShine 5.4s ease-in-out infinite; }
.hero-heart--analizy { --hero-art-animation: labTubesClink 6.1s ease-in-out infinite; }
.hero-heart--medspravki { --hero-art-animation: medbookStamp 5.9s ease-in-out infinite; }

@keyframes cardioPulse {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  35% { transform: translate3d(0px, -4px, 0) rotate(1.0deg) scale(1.03); }
  50% { transform: translate3d(0px, -8px, 0) rotate(-2deg) scale(1.06); }
  70% { transform: translate3d(0px, -3px, 0) rotate(-1.0deg) scale(1.01); }
}
@keyframes lotusBloom {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  30% { transform: translate3d(0px, -5px, 0) rotate(0.0deg) scale(1.02); }
  55% { transform: translate3d(0px, -10px, 0) rotate(0deg) scale(1.05); }
  80% { transform: translate3d(0px, -4px, 0) rotate(0.0deg) scale(1.01); }
}
@keyframes ribbonGuard {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(-6px, -4px, 0) rotate(-5deg) scale(1.01); }
  50% { transform: translate3d(6px, -8px, 0) rotate(5deg) scale(1.03); }
  75% { transform: translate3d(-3px, -3px, 0) rotate(-2.5deg) scale(1.02); }
}
@keyframes renalShield {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  20% { transform: translate3d(0px, -3px, 0) rotate(-1.5deg) scale(1.01); }
  50% { transform: translate3d(0px, -7px, 0) rotate(3deg) scale(1.04); }
  80% { transform: translate3d(0px, -4px, 0) rotate(0deg) scale(1.02); }
}
@keyframes skinScan {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(8px, -3px, 0) rotate(2deg) scale(1.015); }
  50% { transform: translate3d(-8px, -5px, 0) rotate(-2deg) scale(1.02); }
  75% { transform: translate3d(4px, -2px, 0) rotate(1.0deg) scale(1.01); }
}
@keyframes scalpelCross {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  30% { transform: translate3d(0px, -3px, 0) rotate(-7deg) scale(1.02); }
  60% { transform: translate3d(0px, -6px, 0) rotate(7deg) scale(1.03); }
}
@keyframes neuralSpark {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(8px, -5px, 0) rotate(5deg) scale(1.02); }
  50% { transform: translate3d(0px, -9px, 0) rotate(6.0deg) scale(1.04); }
  75% { transform: translate3d(-8px, -5px, 0) rotate(-5deg) scale(1.02); }
}
@keyframes therapyOrbit {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(-8px, -4px, 0) rotate(-4deg) scale(1.02); }
  50% { transform: translate3d(0px, -8px, 0) rotate(-4.8deg) scale(1.03); }
  75% { transform: translate3d(8px, -4px, 0) rotate(4deg) scale(1.02); }
}
@keyframes gastricLeaf {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  33% { transform: translate3d(0px, -5px, 0) rotate(4deg) scale(1.02); }
  66% { transform: translate3d(0px, -10px, 0) rotate(-4deg) scale(1.04); }
}
@keyframes thyroidOrbit {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(6px, -4px, 0) rotate(6deg) scale(1.02); }
  50% { transform: translate3d(0px, -8px, 0) rotate(7.199999999999999deg) scale(1.04); }
  75% { transform: translate3d(-6px, -4px, 0) rotate(-6deg) scale(1.02); }
}
@keyframes entTriad {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  40% { transform: translate3d(0px, -7px, 0) rotate(-4deg) scale(1.03); }
  70% { transform: translate3d(0px, -4px, 0) rotate(2.0deg) scale(1.01); }
}
@keyframes irisFocus {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  20% { transform: translate3d(0px, 0px, 0) rotate(0.0deg) scale(1.01); }
  50% { transform: translate3d(0px, -4px, 0) rotate(0deg) scale(1.07); }
  80% { transform: translate3d(0px, 0px, 0) rotate(0.0deg) scale(1.02); }
}
@keyframes kneeAura {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  30% { transform: translate3d(0px, -5px, 0) rotate(1.5deg) scale(1.02); }
  50% { transform: translate3d(0px, -9px, 0) rotate(3deg) scale(1.05); }
  70% { transform: translate3d(0px, -5px, 0) rotate(-1.5deg) scale(1.02); }
}
@keyframes spineFlow {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(10px, -3px, 0) rotate(-4deg) scale(1.01); }
  50% { transform: translate3d(0px, -6px, 0) rotate(0deg) scale(1.03); }
  75% { transform: translate3d(-10px, -3px, 0) rotate(4deg) scale(1.01); }
}
@keyframes balanceShift {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(-8px, -5px, 0) rotate(-3deg) scale(1.015); }
  50% { transform: translate3d(8px, -9px, 0) rotate(3deg) scale(1.03); }
  75% { transform: translate3d(-4px, -3px, 0) rotate(-1.5deg) scale(1.015); }
}
@keyframes massageWave {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(12px, -4px, 0) rotate(4deg) scale(1.01); }
  50% { transform: translate3d(0px, -8px, 0) rotate(0deg) scale(1.03); }
  75% { transform: translate3d(-12px, -4px, 0) rotate(-4deg) scale(1.01); }
}
@keyframes physioImpulse {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  15% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1.01); }
  40% { transform: translate3d(0px, -8px, 0) rotate(0deg) scale(1.06); }
  65% { transform: translate3d(0px, -4px, 0) rotate(0.0deg) scale(1.02); }
}
@keyframes teddyBounce {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  35% { transform: translate3d(0px, -12px, 0) rotate(-3deg) scale(1.05); }
  55% { transform: translate3d(0px, -6px, 0) rotate(1.5deg) scale(1.02); }
  75% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1.01); }
}
@keyframes daisyGuard {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  30% { transform: translate3d(0px, -5px, 0) rotate(-1.5deg) scale(1.02); }
  55% { transform: translate3d(0px, -9px, 0) rotate(3deg) scale(1.04); }
  80% { transform: translate3d(0px, -3px, 0) rotate(-1.0deg) scale(1.01); }
}
@keyframes kidCardioHop {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  35% { transform: translate3d(0px, -10px, 0) rotate(4deg) scale(1.05); }
  55% { transform: translate3d(0px, -5px, 0) rotate(-2.0deg) scale(1.02); }
  75% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1.01); }
}
@keyframes kidNeuroOrbit {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(7px, -4px, 0) rotate(-5deg) scale(1.02); }
  50% { transform: translate3d(0px, -8px, 0) rotate(-6.0deg) scale(1.04); }
  75% { transform: translate3d(-7px, -4px, 0) rotate(5deg) scale(1.02); }
}
@keyframes kidRenalStars {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  20% { transform: translate3d(0px, -3px, 0) rotate(-2.5deg) scale(1.01); }
  50% { transform: translate3d(0px, -7px, 0) rotate(5deg) scale(1.04); }
  80% { transform: translate3d(0px, -4px, 0) rotate(0deg) scale(1.02); }
}
@keyframes rainbowThyroid {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(-6px, -4px, 0) rotate(5deg) scale(1.02); }
  50% { transform: translate3d(0px, -8px, 0) rotate(6.0deg) scale(1.04); }
  75% { transform: translate3d(6px, -4px, 0) rotate(-5deg) scale(1.02); }
}
@keyframes kidEntPatch {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  40% { transform: translate3d(0px, -7px, 0) rotate(5deg) scale(1.03); }
  70% { transform: translate3d(0px, -4px, 0) rotate(-2.5deg) scale(1.01); }
}
@keyframes kidEyeWink {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  20% { transform: translate3d(0px, 0px, 0) rotate(0.0deg) scale(1.01); }
  50% { transform: translate3d(0px, -3px, 0) rotate(0deg) scale(1.08); }
  80% { transform: translate3d(0px, 0px, 0) rotate(0.0deg) scale(1.02); }
}
@keyframes ultrasoundSmile {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(7px, -3px, 0) rotate(4deg) scale(1.015); }
  50% { transform: translate3d(-7px, -6px, 0) rotate(-4deg) scale(1.03); }
  75% { transform: translate3d(3px, -2px, 0) rotate(2.0deg) scale(1.01); }
}
@keyframes ultrasoundWave {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  25% { transform: translate3d(10px, -4px, 0) rotate(-4deg) scale(1.015); }
  50% { transform: translate3d(-10px, -7px, 0) rotate(4deg) scale(1.03); }
  75% { transform: translate3d(5px, -2px, 0) rotate(-2.0deg) scale(1.01); }
}
@keyframes ecgTrace {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  18% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1.02); }
  38% { transform: translate3d(0px, -3px, 0) rotate(0.0deg) scale(1.01); }
  52% { transform: translate3d(0px, -5px, 0) rotate(0deg) scale(1.04); }
  72% { transform: translate3d(0px, -2px, 0) rotate(0.0deg) scale(1.02); }
}
@keyframes echoRings {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  30% { transform: translate3d(0px, -4px, 0) rotate(-1.0deg) scale(1.02); }
  50% { transform: translate3d(0px, -8px, 0) rotate(-2deg) scale(1.05); }
  70% { transform: translate3d(0px, -4px, 0) rotate(1.0deg) scale(1.02); }
}
@keyframes toothSpark {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  30% { transform: translate3d(0px, -4px, 0) rotate(3deg) scale(1.03); }
  60% { transform: translate3d(0px, -7px, 0) rotate(-3deg) scale(1.04); }
}
@keyframes implantLift {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  45% { transform: translate3d(0px, -12px, 0) rotate(-2deg) scale(1.04); }
  70% { transform: translate3d(0px, -6px, 0) rotate(1.0deg) scale(1.02); }
}
@keyframes smileShine {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  30% { transform: translate3d(0px, -3px, 0) rotate(-3deg) scale(1.03); }
  60% { transform: translate3d(0px, -6px, 0) rotate(3deg) scale(1.05); }
}
@keyframes labTubesClink {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  22% { transform: translate3d(-6px, -4px, 0) rotate(4deg) scale(1.01); }
  48% { transform: translate3d(6px, -7px, 0) rotate(-4deg) scale(1.03); }
  74% { transform: translate3d(-3px, 0px, 0) rotate(2.0deg) scale(1.015); }
}
@keyframes medbookStamp {
  0%, 100% { transform: translate3d(0px, 0px, 0) rotate(0deg) scale(1); }
  32% { transform: translate3d(0px, -8px, 0) rotate(-4deg) scale(1.03); }
  55% { transform: translate3d(0px, -3px, 0) rotate(0deg) scale(0.99); }
  78% { transform: translate3d(0px, 0px, 0) rotate(2.0deg) scale(1.01); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-heart[class*="hero-heart--"] img, .hero-heart[class*="hero-heart--"] .heart-svg {
    animation: none !important;
    transform: none !important;
  }
}
