/* High-End GSAP & CSS Animations - Dr. Ramesh Vishwanath's Dermatology Clinic */

/* --- Organic Cellular Morphing Blobs (Hydration & Cell Skin) --- */
.has-cellular-bg {
    position: relative;
    overflow-x: hidden;
    max-width: 100%;
}

.cellular-bg-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: var(--z-back);
    contain: paint;
    clip-path: inset(0);
}

.cell-blob {
    position: absolute;
    background: radial-gradient(circle, rgba(210, 161, 140, 0.12) 0%, rgba(142, 154, 134, 0.05) 100%);
    border-radius: 50%;
    filter: blur(40px);
    mix-blend-mode: multiply;
    animation: morph-cell 20s ease-in-out infinite alternate, float-slow 35s linear infinite;
    max-width: 80vw;
}

.cell-blob-1 {
    width: 450px;
    height: 450px;
    top: 10%;
    left: 0;
    animation-duration: 25s, 45s;
}

.cell-blob-2 {
    width: 500px;
    height: 500px;
    bottom: 0;
    right: 0;
    background: radial-gradient(circle, rgba(142, 154, 134, 0.1) 0%, rgba(210, 161, 140, 0.04) 100%);
    animation-duration: 30s, 60s;
}

.cell-blob-3 {
    width: 280px;
    height: 280px;
    top: 40%;
    right: 5%;
    background: radial-gradient(circle, rgba(232, 222, 212, 0.2) 0%, rgba(210, 161, 140, 0.08) 100%);
    animation-duration: 18s, 28s;
}

@keyframes morph-cell {
    0% {
        border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
    }
    33% {
        border-radius: 70% 30% 52% 48% / 60% 40% 60% 40%;
    }
    66% {
        border-radius: 50% 50% 30% 70% / 40% 60% 30% 70%;
    }
    100% {
        border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
    }
}

@keyframes float-slow {
    0% {
        transform: translate(0, 0) rotate(0deg);
    }
    50% {
        transform: translate(50px, 80px) rotate(180deg);
    }
    100% {
        transform: translate(0, 0) rotate(360deg);
    }
}

/* --- Reveal Stagger Hooks for GSAP --- */
.gsap-reveal {
    opacity: 0;
    transform: translateY(30px);
}

.gsap-fade-in {
    opacity: 0;
}

.gsap-scale-up {
    opacity: 0;
    transform: scale(0.9);
}

/* Luxury Split Text Cover Reveals */
.text-reveal-wrap {
    overflow: hidden;
    display: block;
}

.text-reveal-line {
    display: inline-block;
    transform: translateY(105%);
    transition: transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.text-reveal-wrap.triggered .text-reveal-line {
    transform: translateY(0);
}

/* --- Interactive Micro-animations --- */
.hover-lift {
    transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

.image-scale-trigger {
    overflow: hidden;
}

.image-scale-trigger img {
    transition: transform var(--transition-slow);
}

.image-scale-trigger:hover img {
    transform: scale(1.06);
}

/* --- Accessibility: Reduced Motion Support --- */
@media (prefers-reduced-motion: reduce) {
    .gsap-reveal,
    .gsap-fade-in,
    .gsap-scale-up {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    
    .cell-blob {
        animation: none !important;
    }
}
