:root {
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Outfit', sans-serif;

    --color-bg: #FFFFFF;
    --color-bg-alt: #F9F7F5;
    /* Warm off-white */
    --color-bg-dark: #2C3E50;

    --color-text: #4A4A4A;
    --color-text-dark: #1A1A1A;
    --color-text-light: #F9F7F5;

    --color-primary: #8E7C68;
    /* Elegant Taupe/Gold */
    --color-primary-hover: #756452;
    --color-secondary: #5D737E;
    /* Muted Slate Blue */

    --color-accent: #D4C5B0;

    --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.04);
    /* Softer, deeper shadow */
    --shadow-hover: 0 20px 40px rgba(0, 0, 0, 0.08);
    --radius-soft: 12px;
    /* Slightly more rounded */

    --container-width: 1200px;
    /* Modern wide standard */
    --spacing-section: 100px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    /* Crisp text on Mac */
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-body);
    color: var(--color-text);
    line-height: 1.7;
    /* Improved readability */
    background-color: var(--color-bg);
    overflow-x: hidden;
    /* Prevent horizontal scroll */
}

h1,
h2,
h3,
h4 {
    font-family: var(--font-heading);
    color: var(--color-text-dark);
    margin-bottom: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
}

a {
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

ul {
    list-style: none;
}

/* Animations */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Container & Layout */
.container {
    width: 90%;
    max-width: var(--container-width);
    margin: 0 auto;
}

.section {
    padding: 5rem 0;
    /* Standardized spacing */
}

@media (min-width: 768px) {
    .section {
        padding: 7rem 0;
        /* Larger spacing on desktop */
    }
}

.bg-light {
    background-color: var(--color-bg-alt);
}

.bg-dark {
    background-color: var(--color-bg-dark);
    color: var(--color-text-light);
}

/* Header */
.header {
    background-color: rgba(255, 255, 255, 0.85);
    /* More transparent initially */
    backdrop-filter: blur(12px);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 1rem 0;
    transition: all 0.4s ease;
}

.header.scrolled {
    background-color: rgba(255, 255, 255, 0.98);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    padding: 0.8rem 0;
    /* Compact on scroll */
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo a {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-text-dark);
    letter-spacing: 0.5px;
}

.nav-menu ul {
    display: flex;
    gap: 2rem;
}

.nav-menu a {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
    color: var(--color-text);
}

.nav-menu a:hover {
    color: var(--color-primary);
}

.hamburger {
    display: none;
    cursor: pointer;
}

/* Hero Section */
.hero-section {
    position: relative;
    height: 95vh;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
    padding-bottom: 40px;
    background-image: url('assets/hero_ana.jpg');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    margin-top: 0;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Gradient: Transparent at top -> Dark Blue/Brand at bottom */
    /* Stronger Gradient for readability */
    background: linear-gradient(to bottom,
            rgba(44, 62, 80, 0) 0%,
            rgba(44, 62, 80, 0.1) 30%,
            rgba(44, 62, 80, 0.7) 60%,
            rgba(44, 62, 80, 0.95) 85%,
            rgba(44, 62, 80, 1) 100%);
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    width: 100%;
}

.hero-title {
    font-size: clamp(2.8rem, 5vw, 4.5rem);
    /* Fluid sizing */
    line-height: 1.1;
    margin-bottom: 0.5rem;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.hero-subtitle {
    font-family: var(--font-body);
    font-size: 1.2rem;
    font-weight: 300;
    color: var(--color-accent);
    /* Gold/Light color */
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    background: rgba(0, 0, 0, 0.2);
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    backdrop-filter: blur(5px);
}

.hero-text {
    max-width: 600px;
    margin: 0 auto 2rem;
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.btn-hero {
    background-color: #25D366;
    /* Whatsapp Green style from ref or Primary */
    background-color: var(--color-primary);
    /* Keeping brand consistency first */
    border: 2px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.btn-hero:hover {
    background-color: #fff;
    color: var(--color-primary);
}

/* Update Header to be transparent initially? Or keep white. 
   If image starts at top, header overlaps. 
   Let's keep header standard white for now but ensure Hero pushes down correctly OR sits under. 
   If we want "Integrated", commonly the header is separate.
   But to show "Full Image", we might need to adjust margin.
*/
/* Desktop Hero Improvements */
@media (min-width: 900px) {
    .hero-section {
        height: 100vh;
        /* Center content vertically */
        justify-content: center;
        /* Adjust image to show full height (Head to Hand) and position right */
        background-size: auto 100%;
        background-position: right center;
        background-repeat: no-repeat;
        background-color: #586473;
        /* Fallback color blending with image background */
    }

    .hero-overlay {
        /* Horizontal gradient for desktop: Dark Left -> Transparent Right */
        background: linear-gradient(to right,
                rgba(44, 62, 80, 0.95) 0%,
                rgba(44, 62, 80, 0.8) 35%,
                rgba(44, 62, 80, 0.4) 60%,
                rgba(44, 62, 80, 0.0) 100%);
    }

    .hero-content {
        text-align: left;
        align-items: flex-start;
        max-width: var(--container-width);
        /* Use full container width container */
        width: 90%;
        display: flex;
        flex-direction: column;
    }

    /* Restrict text width to left side */
    .hero-title,
    .hero-subtitle,
    .hero-text,
    .btn-hero {
        max-width: 550px;
        margin-left: 0;
        margin-right: auto;
    }

    .hero-title {
        font-size: 4rem;
        /* Larger title on desktop */
    }

    .hero-text {
        font-size: 1.25rem;
        margin-bottom: 2.5rem;
    }
}

/* --- ULTIMATE CTA SUPERCHARGED STYLES --- */

/* Base Button Animation Keyframes */
@keyframes glow-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(142, 124, 104, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(142, 124, 104, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(142, 124, 104, 0);
    }
}

@keyframes glow-pulse-green {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

@keyframes float-btn {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes shimmer {
    0% {
        background-position: -100% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* Base Button Reset & Layout */
.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 18px 45px;
    /* Larger hit area */
    border-radius: 50px;
    font-family: var(--font-heading);
    /* More elegant font */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 1rem;
    cursor: pointer;
    border: none;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    /* Bouncy transition */
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

/* 1. PRIMARY GOLD/TAUPE BUTTONS (Hero, Footer, Filled) */
/* Consolidation of: btn-primary, btn-hero, btn-premium-filled, btn-gold-filled */
.btn-primary,
.btn-hero,
.btn-premium-filled,
.btn-gold-filled {
    /* Gradient 3D Background */
    background: linear-gradient(135deg, #b09b82 0%, #8E7C68 50%, #756452 100%);
    background-size: 200% auto;
    color: #fff;

    /* 3D Depth */
    box-shadow:
        0 6px 0 #5d4d3d,
        /* Solid fake side */
        0 15px 20px rgba(0, 0, 0, 0.2),
        /* Drop shadow */
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    /* Top highlight */

    transform: translateY(0);
}

/* Hover Efx */
.btn-primary:hover,
.btn-hero:hover,
.btn-premium-filled:hover,
.btn-gold-filled:hover {
    transform: translateY(-4px) scale(1.02);
    background-position: right center;
    box-shadow:
        0 8px 0 #5d4d3d,
        0 20px 40px rgba(142, 124, 104, 0.4),
        /* Stronger Glow */
        inset 0 1px 0 rgba(255, 255, 255, 0.4);

    animation: glow-pulse 2s infinite;
}

/* Active/Click Efx */
.btn-primary:active,
.btn-hero:active,
.btn-premium-filled:active,
.btn-gold-filled:active {
    transform: translateY(2px);
    box-shadow:
        0 2px 0 #5d4d3d,
        0 5px 10px rgba(0, 0, 0, 0.2);
}

/* Shimmer Overlay */
.btn-primary::after,
.btn-hero::after,
.btn-premium-filled::after,
.btn-gold-filled::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: linear-gradient(to right, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
    transform: skewX(-20deg);
    animation: shimmer 3s infinite linear;
    pointer-events: none;
}

/* 2. SECONDARY / OUTLINE BUTTONS (Services, Psychoanalysis) */
/* Consolidation of: btn-secondary, btn-premium-outline, btn-premium-outline-gold */
.btn-secondary,
.btn-premium-outline,
.btn-premium-outline-gold {
    background: #fff;
    color: var(--color-primary);
    border: 2px solid var(--color-primary);

    /* Subtle 3D for outline too */
    box-shadow:
        0 4px 0 rgba(142, 124, 104, 0.3),
        0 10px 15px rgba(0, 0, 0, 0.05);
}

.btn-secondary:hover,
.btn-premium-outline:hover,
.btn-premium-outline-gold:hover {
    background: var(--color-primary);
    color: #fff;
    transform: translateY(-3px);
    border-color: var(--color-primary);
    box-shadow:
        0 6px 0 #756452,
        0 15px 30px rgba(142, 124, 104, 0.3);
}

/* 3. WHATSAPP BUTTONS (Schedule) */
/* Consolidation of: btn-whatsapp, btn-whatsapp-premium */
.btn-whatsapp,
.btn-whatsapp-premium {
    background: linear-gradient(135deg, #4ADE80 0%, #25D366 50%, #128C7E 100%);
    color: #fff;
    border: none;

    /* Green 3D Depth */
    box-shadow:
        0 6px 0 #0e6b5e,
        0 15px 25px rgba(37, 211, 102, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.btn-whatsapp:hover,
.btn-whatsapp-premium:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow:
        0 8px 0 #0e6b5e,
        0 20px 50px rgba(37, 211, 102, 0.5);
    /* Massive Green Glow */

    animation: glow-pulse-green 1.5s infinite;
}

.btn-whatsapp::after,
.btn-whatsapp-premium::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: linear-gradient(to right, transparent 0%, rgba(255, 255, 255, 0.4) 50%, transparent 100%);
    transform: skewX(-20deg);
    animation: shimmer 2.5s infinite linear;
    pointer-events: none;
}

/* Section Common */
.section-title {
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 3rem;
    position: relative;
    padding-bottom: 1rem;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background-color: var(--color-primary);
}

.cta-container {
    text-align: center;
    margin-top: 2rem;
    opacity: 0.8;
}

.cta-container .btn {
    font-size: 0.8rem;
    padding: 10px 24px;
}

/* Professional Section */
/* Professional Section */
.professional-section {
    position: relative;
    overflow: hidden;
}

.professional-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    gap: 4rem;
    align-items: center;
}

.professional-image-wrapper {
    position: relative;
}

.professional-img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-soft);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease;
}

.professional-img:hover {
    transform: translateY(-5px);
}

.professional-content {
    text-align: left;
}

.professional-name {
    font-family: var(--font-heading);
    font-size: 3rem;
    margin-bottom: 0.5rem;
    line-height: 1.2;
    color: var(--color-primary);
}

.professional-title-light {
    display: block;
    font-size: 1.5rem;
    color: var(--color-text);
    font-weight: 300;
    margin-top: 5px;
}

.professional-reg {
    color: var(--color-secondary);
    font-weight: 600;
    margin-bottom: 2rem;
    font-size: 1.1rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    display: inline-block;
    border-bottom: 2px solid var(--color-accent);
    padding-bottom: 5px;
}

.professional-bio {
    font-size: 1.1rem;
    color: var(--color-text);
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

.professional-modalities {
    margin-bottom: 2.5rem;
    margin-top: 2rem;
    font-weight: 500;
    background: transparent;
    padding: 0;
    border: none;
    box-shadow: none;
}

.professional-modalities li {
    margin-bottom: 0.8rem;
    position: relative;
    padding-left: 1.5rem;
}

.professional-modalities li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: bold;
}

.cta-container-left {
    text-align: left;
    margin-top: 2rem;
}

@media (max-width: 900px) {
    .professional-container {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .professional-content {
        text-align: center;
        order: 2;
        /* Image on top? Or text on top? Image usually first in bio. */
    }

    .professional-image-wrapper {
        max-width: 500px;
        margin: 0 auto;
        order: 1;
    }

    .cta-container-left {
        text-align: center;
    }
}

/* About Section */
.about-section {
    background-color: #fff;
    padding: 6rem 0 1rem;
}

/* Services Section Tweaks */
.services-section {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.about-container-narrow {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

.about-tag {
    display: inline-block;
    background-color: #FCF6E9;
    /* Light cream/gold background */
    color: #B8860B;
    /* Dark goldenrod/bronze text */
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 1.5rem;
}

.about-title-large {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    color: var(--color-primary);
    margin-bottom: 0.5rem;
}

.about-divider {
    width: 60px;
    height: 3px;
    background-color: #B8860B;
    margin: 1rem auto 2rem;
}

.about-intro-italic {
    font-family: var(--font-heading);
    /* Serif font for elegance */
    font-style: italic;
    font-size: 1.25rem;
    color: var(--color-text-dark);
    margin-bottom: 2rem;
    line-height: 1.5;
}

.about-body-text {
    text-align: center;
}

.about-body-text p {
    font-size: 1.05rem;
    color: #555;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.about-credentials {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin: 3rem 0;
    flex-wrap: wrap;
}

.credential-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--color-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.credential-icon {
    font-size: 1.4rem;
}

.about-image-bottom-wrapper {
    margin-top: 2rem;
}

.about-bottom-img {
    width: 100%;
    max-width: 400px;
    height: auto;
    /* Optional: A subtle border or shadow to lift it */
    border-radius: 4px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

/* Education List */
.education-list {
    max-width: 800px;
    margin: 0 auto;
}

.education-list li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
}

.education-list li::before {
    content: '•';
    color: var(--color-primary);
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.5rem;
    line-height: 1;
}

/* Services */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.service-card {
    background: #fff;
    padding: 2rem;
    border-radius: var(--radius-soft);
    box-shadow: var(--shadow-soft);
    transition: transform 0.3s ease;
    border-top: 3px solid var(--color-primary);
}

.service-card:hover {
    transform: translateY(-5px);
}

.service-image-wrapper {
    width: 100%;
    height: 180px;
    /* Fixed height for uniformity */
    overflow: hidden;
    border-radius: var(--radius-soft);
    margin-bottom: 1.5rem;
}

.service-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.service-card:hover .service-img {
    transform: scale(1.05);
}

.service-card h3 {
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
}

.service-mode {
    display: inline-block;
    font-size: 0.8rem;
    color: var(--color-secondary);
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 1rem;
    background-color: var(--color-bg-alt);
    padding: 4px 10px;
    border-radius: 4px;
}

/* Psychoanalysis Premium Redesign */
.psychoanalysis-section {
    padding: 3rem 0 2rem;
    background-color: #fff;
    /* Clean white background */
    text-align: center;
}

.psychoanalysis-container {
    max-width: 850px;
    margin: 0 auto;
}

/* Attendance Premium Redesign */
.attendance-section {
    padding: 2rem 0 8rem;
    background-color: #F9F7F5;
    /* Soft warm background to differentiate */
}

.attendance-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.attendance-title {
    margin-bottom: 4rem;
}

.attendance-content-card {
    background: #fff;
    padding: 4rem;
    border-radius: 8px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.04);
    position: relative;
    border: 1px solid rgba(142, 124, 104, 0.1);
}

.attendance-main-text {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    color: var(--color-text-dark);
    line-height: 1.4;
    margin-bottom: 2rem;
}

.attendance-divider {
    width: 80px;
    height: 2px;
    background-color: var(--color-primary);
    margin: 2rem auto;
    opacity: 0.5;
}

.attendance-secondary-text {
    font-family: var(--font-body);
    font-size: 1.15rem;
    color: #555;
    line-height: 1.8;
}

.attendance-cta {
    margin-top: 3rem;
    opacity: 1;
}

.btn-premium-filled {
    background-color: var(--color-primary);
    color: #fff;
    padding: 16px 45px;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(142, 124, 104, 0.4);
    transition: all 0.3s ease;
}

.btn-premium-filled:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(142, 124, 104, 0.5);
    background-color: var(--color-primary-hover);
}

@media (max-width: 768px) {
    .attendance-content-card {
        padding: 2.5rem 1.5rem;
    }

    .attendance-main-text {
        font-size: 1.4rem;
    }
}

.attendance-image-wrapper {
    margin-top: 5rem;
    width: 100%;
    display: flex;
    justify-content: center;
}

.attendance-img {
    width: 100%;
    max-width: 900px;
    height: auto;
    border-radius: var(--radius-soft);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
    /* Deep soft shadow for depth */
}

.psychoanalysis-header {
    margin-bottom: 4rem;
}

.psychoanalysis-img-main {
    max-width: 280px;
    height: auto;
    display: block;
    margin: 0 auto 2rem;
    filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.1));
    /* Soft premium shadow for cutout */
}

.section-title-premium {
    font-family: var(--font-heading);
    font-size: 3.5rem;
    font-weight: 400;
    color: var(--color-text-dark);
    letter-spacing: -1px;
    position: relative;
    display: inline-block;
}

/* Elegant underline for title */
.section-title-premium::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background-color: var(--color-accent);
    margin: 1rem auto 0;
}

.psychoanalysis-content-wrapper {
    text-align: left;
    background: #FAFAFA;
    padding: 4rem;
    border-radius: 4px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
    /* Very subtle depth */
    position: relative;
}

/* Decorative element */
.psychoanalysis-content-wrapper::before {
    content: '“';
    position: absolute;
    top: -20px;
    left: 40px;
    font-family: var(--font-heading);
    font-size: 8rem;
    color: rgba(142, 124, 104, 0.1);
    /* Low opacity primary */
    line-height: 1;
}

.psychoanalysis-lead {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    color: var(--color-text-dark);
    line-height: 1.6;
    margin-bottom: 2rem;
}

.drop-cap {
    float: left;
    font-size: 4rem;
    line-height: 0.8;
    margin-right: 0.5rem;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-weight: 700;
}

.psychoanalysis-text {
    font-family: var(--font-body);
    font-size: 1.15rem;
    color: #555;
    line-height: 1.8;
    margin-bottom: 2rem;
}

.psychoanalysis-divider {
    height: 1px;
    width: 100%;
    background: linear-gradient(to right, transparent, #ddd, transparent);
    margin: 2.5rem 0;
}

.psychoanalysis-highlight {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    color: var(--color-primary);
    font-style: italic;
    text-align: center;
    margin-top: 2rem;
}

.psychoanalysis-footer {
    margin-top: 4rem;
}

.closing-premium {
    font-family: var(--font-body);
    font-size: 0.9rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--color-text);
    margin-bottom: 2rem;
}

.btn-premium-outline {
    background: transparent;
    color: var(--color-text-dark);
    border: 1px solid var(--color-text-dark);
    padding: 14px 40px;
    font-size: 0.9rem;
    letter-spacing: 2px;
    transition: all 0.4s ease;
}

.btn-premium-outline:hover {
    background: var(--color-text-dark);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
    .section-title-premium {
        font-size: 2.5rem;
    }

    .psychoanalysis-content-wrapper {
        padding: 2rem;
    }

    .psychoanalysis-lead {
        font-size: 1.2rem;
    }
}

.psychoanalysis-section .content-block {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.psychoanalysis-section p {
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
}

.closing-strong {
    text-align: center;
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--color-primary);
    margin-top: 2rem;
}

/* Attendance */
.attendance-text {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.8;
}

/* Expectations Premium Redesign - 3D & Sopfisticated */
.expectations-section {
    background: radial-gradient(circle at top center, #FCFBF9 0%, #F5F1EC 100%);
    padding: 6rem 0 3rem;
    text-align: center;
    perspective: 1500px;
    /* Essential for 3D effects */
    overflow: visible;
    /* Allow pop-out */
}

.expectations-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5rem;
    margin-top: 5rem;
    margin-bottom: 2rem;
    padding: 1rem;
    /* Padding for hover overflow */
}

/* Base Card Style */
.expectation-card {
    flex: 1 1 280px;
    max-width: 350px;
    /* Prevent single items from stretching too wide */
    background: #fff;
    padding: 3.5rem 2rem;
    border-radius: 20px;
    position: relative;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    border: 1px solid rgba(142, 124, 104, 0.08);

    /* Layered Shadows for Depth */
    box-shadow:
        0 10px 30px -5px rgba(0, 0, 0, 0.04),
        0 4px 10px rgba(0, 0, 0, 0.01);

    transform-style: preserve-3d;
    transform: translateY(0);
    overflow: hidden;
    z-index: 1;
}

/* Gradient Border Reveal Effect */
.expectation-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 20px;
    padding: 2px;
    /* Border thickness */
    background: linear-gradient(135deg, #DFD3C3, #8E7C68, #DFD3C3);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Hover State - The "Lift" */
.expectation-card:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow:
        0 20px 60px -10px rgba(142, 124, 104, 0.2),
        /* Gold tinted deep shadow */
        0 10px 20px rgba(0, 0, 0, 0.05);
    /* Sharper close shadow */
    z-index: 2;
}

.expectation-card:hover::before {
    opacity: 1;
    /* Show outline */
}

/* Icon Styling - Floating & Glowing */
@keyframes float-icon {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

.expectation-icon {
    font-size: 3.5rem;
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    margin-left: auto;
    margin-right: auto;
    background: radial-gradient(circle, rgba(142, 124, 104, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    animation: float-icon 4s ease-in-out infinite;
    transition: transform 0.3s ease;
}

/* Stagger animations for a natural feel */
.expectation-card:nth-child(2) .expectation-icon {
    animation-delay: 1s;
}

.expectation-card:nth-child(3) .expectation-icon {
    animation-delay: 2s;
}

.expectation-card:nth-child(4) .expectation-icon {
    animation-delay: 0.5s;
}


.expectation-title {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    color: var(--color-text-dark);
    margin-bottom: 1rem;
    font-weight: 500;
    letter-spacing: -0.5px;
    position: relative;
    padding-bottom: 15px;
}

/* Small gold dash under title */
.expectation-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background-color: rgba(142, 124, 104, 0.3);
    transition: width 0.3s ease, background-color 0.3s ease;
}

.expectation-card:hover .expectation-title::after {
    width: 60px;
    background-color: var(--color-primary);
}

.expectation-desc {
    font-family: var(--font-body);
    font-size: 1.05rem;
    color: #666;
    line-height: 1.6;
}

/* Card Glow Effect */
.card-glow {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: radial-gradient(circle at 50% 0%,
            rgba(255, 255, 255, 0.8) 0%,
            transparent 60%);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.expectation-card:hover .card-glow {
    opacity: 0.5;
}

.section-subtitle-elegant {
    text-align: center;
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: var(--color-secondary);
    margin-bottom: 4rem;
    letter-spacing: 1px;
}


/* Force center for schedule title */
.schedule-section .section-title-premium {
    display: block;
    text-align: center;
    width: 100%;
}

.process-timeline {
    position: relative;
    max-width: 800px;
    margin: 0 auto 5rem;
    padding: 2rem 0;
}

/* Connecting Line */
.timeline-line {
    position: absolute;
    left: 24px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, transparent, var(--color-primary), transparent);
    z-index: 1;
}

.process-step {
    display: flex;
    align-items: flex-start;
    margin-bottom: 3.5rem;
    position: relative;
    z-index: 2;
    opacity: 0;
    animation: fadeInUp 0.6s ease forwards;
}

/* Stagger Animations */
.process-step:nth-child(2) {
    animation-delay: 0.1s;
}

.process-step:nth-child(3) {
    animation-delay: 0.2s;
}

.process-step:nth-child(4) {
    animation-delay: 0.3s;
}

.process-step:nth-child(5) {
    animation-delay: 0.4s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.step-marker {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 2rem;
    box-shadow: 0 0 0 8px var(--color-bg-alt);
    /* White halo to break line */
    transition: all 0.3s ease;
}

.process-step:hover .step-marker {
    background-color: var(--color-primary);
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 0 0 12px rgba(142, 124, 104, 0.1);
}

.step-content {
    padding-top: 0.5rem;
    background: #fff;
    padding: 1.5rem 2rem;
    border-radius: 0 20px 20px 20px;
    border-left: 4px solid var(--color-primary);
    /* Accent line */
    box-shadow: var(--shadow-soft);
    flex-grow: 1;
    transition: transform 0.3s ease;
}

.process-step:hover .step-content {
    transform: translateX(10px);
}

.step-content h3 {
    font-size: 1.3rem;
    color: var(--color-text-dark);
    margin-bottom: 0.5rem;
}

.step-content p {
    font-size: 1rem;
    color: #666;
    margin: 0;
}

/* Button Premium Whatsapp */
.btn-whatsapp-premium {
    background-color: #25D366;
    color: #fff;
    padding: 16px 40px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(37, 211, 102, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.btn-whatsapp-premium:hover {
    background-color: #128C7E;
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(37, 211, 102, 0.4);
}

.floating-cta {
    animation: float 3s ease-in-out infinite;
}

@keyframes float {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }

    100% {
        transform: translateY(0);
    }
}

@media (min-width: 900px) {

    /* Optional: Horizontal Layout for Desktop */
    /* Keeping vertical for now as it's often better for process flows, but centering it. */
    .timeline-line {
        left: 50%;
        margin-left: -1px;
    }

    .process-step {
        width: 50%;
        margin-left: auto;
        /* Right side by default */
        padding-left: 2rem;
    }

    .process-step:nth-child(odd) {
        margin-left: 0;
        margin-right: auto;
        padding-left: 0;
        padding-right: 2rem;
        flex-direction: row-reverse;
        text-align: right;
    }

    .process-step:nth-child(odd) .step-marker {
        margin-right: 0;
        margin-left: 2rem;
    }

    .step-marker {
        position: absolute;
        left: -25px;
        /* Center relative to half-width */
        top: 0;
    }

    .process-step:nth-child(odd) .step-marker {
        right: -25px;
        left: auto;
    }

    .step-content {
        border-radius: 20px;
        /* Reset border left/right/etc for alternating */
        border-left: none;
        border-top: 4px solid var(--color-primary);
    }
}

.cta-main-container {
    text-align: center;
}

/* Online Global Section Premium */
.online-global-section {
    position: relative;
    padding: 8rem 0;
    overflow: hidden;
    /* Elegant dark background or sophisticated gradient */
    background: linear-gradient(135deg, #1A1A1A 0%, #2C3E50 100%);
    color: #fff;
    text-align: center;
}

.global-background-decoration {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    background-image: radial-gradient(circle at center, rgba(142, 124, 104, 0.1) 0%, transparent 70%);
    z-index: 0;
}

.relative-z {
    position: relative;
    z-index: 2;
}

.online-global-section .section-title-premium {
    color: #fff;
}

.online-global-section .section-title-premium::after {
    background-color: var(--color-primary);
    /* Gold/Taupe underline */
}

.online-global-section .section-subtitle-elegant {
    color: var(--color-accent);
    margin-bottom: 3rem;
}

.global-content-wrapper {
    max-width: 600px;
    margin: 0 auto;
}

/* Iconic Pulse Animation */
.icon-pulse-wrapper {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.global-icon {
    font-size: 3.5rem;
    position: relative;
    z-index: 2;
}

.pulse-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-radius: 50%;
    border: 1px solid rgba(142, 124, 104, 0.6);
    animation: pulse-out 2.5s infinite ease-out;
}

.pulse-ring.delay {
    animation-delay: 1.25s;
}

@keyframes pulse-out {
    0% {
        width: 60px;
        height: 60px;
        opacity: 0.8;
    }

    100% {
        width: 200px;
        height: 200px;
        opacity: 0;
    }
}

.global-text {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.95);
}

.global-text strong {
    color: var(--color-primary);
    font-weight: 400;
    /* Subtle emphasis */
    border-bottom: 1px solid var(--color-primary);
}

.global-subtext {
    font-family: var(--font-body);
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    max-width: 500px;
    margin: 0 auto;
}

.pt-4 {
    padding-top: 2rem;
}

/* High Contrast Gold Pop Button (For Dark Background) */
.btn-gold-pop {
    background: linear-gradient(135deg, #FFF8E7 0%, #E6D2B5 50%, #C8AD7F 100%);
    color: #000000;
    /* Absolute black for maximum contrast */
    box-shadow:
        0 6px 0 #8E7C68,
        0 0 25px rgba(230, 210, 181, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 1);
    font-weight: 800;
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.btn-gold-pop:hover {
    transform: translateY(-4px) scale(1.02);
    background: linear-gradient(135deg, #FFFFFF 0%, #F1E2C4 50%, #D4C5B0 100%);
    box-shadow:
        0 8px 0 #8E7C68,
        0 0 40px rgba(230, 210, 181, 0.6),
        /* Strong intensity glow */
        inset 0 0 20px rgba(255, 255, 255, 0.8);
    color: #000;
}

.btn-gold-pop::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: linear-gradient(to right, transparent 0%, rgba(255, 255, 255, 0.8) 50%, transparent 100%);
    transform: skewX(-20deg);
    animation: shimmer 2s infinite linear;
}

.global-text strong {
    color: #F1E2C4;
    /* Much lighter gold for text contrast */
    font-weight: 500;
    border-bottom: 2px solid #F1E2C4;
    text-shadow: 0 0 10px rgba(241, 226, 196, 0.3);
}



/* FAQ Premium Redesign */
.faq-section {
    padding: 6rem 0;
    /* Optional: background-color already handled by utility classes */
}

/* Force center for FAQ title */
.faq-section .section-title-premium {
    display: block;
    text-align: center;
    width: 100%;
}

.faq-container {
    max-width: 800px;
    margin: 3rem auto 0;
}

.faq-item {
    background: #fff;
    margin-bottom: 1rem;
    border-radius: var(--radius-soft);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.faq-item:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
    border-color: rgba(142, 124, 104, 0.1);
}

.faq-item.active {
    box-shadow: 0 8px 30px rgba(142, 124, 104, 0.15);
    border-color: rgba(142, 124, 104, 0.3);
}

.faq-question {
    width: 100%;
    text-align: left;
    background: #fff;
    border: none;
    padding: 1.5rem 2rem;
    font-size: 1.1rem;
    font-weight: 500;
    font-family: var(--font-heading);
    color: var(--color-text-dark);
    /* Dark blue/black */
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: color 0.3s ease;
}

.faq-question:hover {
    color: var(--color-primary);
}

.faq-item.active .faq-question {
    color: var(--color-primary);
    background-color: rgba(142, 124, 104, 0.03);
}

/* Custom Icon for FAQ */
.faq-icon {
    position: relative;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    margin-left: 1rem;
}

.faq-icon::before,
.faq-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    background-color: var(--color-primary);
    transform: translate(-50%, -50%);
    transition: transform 0.4s ease;
}

.faq-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.active .faq-icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
    /* Collapses to minus */
}

/* Optional: Rotate whole icon */
.faq-item.active .faq-icon {
    transform: rotate(180deg);
}


.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: #fff;
    padding: 0 2rem;
}

.faq-item.active .faq-answer {
    max-height: 300px;
    /* Arbitrary large height */
    padding-bottom: 2rem;
}

.faq-answer p {
    color: #555;
    line-height: 1.7;
    font-size: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(142, 124, 104, 0.1);
}

.pt-5 {
    padding-top: 3rem;
}


/* Testimonials Premium */
.testimonials-section-inner {
    margin-top: 5rem;
    padding-bottom: 2rem;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    text-align: left;
}

.testimonial-card {
    background: #fff;
    padding: 2.5rem;
    border-radius: var(--radius-soft);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    /* Soft premium shadow */
    transition: transform 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: hidden;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(142, 124, 104, 0.15);
    /* Gold tint shadow on hover */
}

.testimonial-header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
    position: relative;
    z-index: 2;
}

.testimonial-avatar {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #E6D2B5;
    /* Gold border */
    padding: 2px;
    /* Space between image and border */
    flex-shrink: 0;
}

.testimonial-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    background-color: #eee;
    /* Placeholder bg */
}

/* Fallback if no image */
.avatar-placeholder {
    width: 100%;
    height: 100%;
    background-color: #E6D2B5;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.2rem;
    border-radius: 50%;
}


.testimonial-meta h4 {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    color: var(--color-text-dark);
    margin-bottom: 0.2rem;
    font-weight: 700;
}

.testimonial-meta .location {
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: #888;
    display: block;
    margin-bottom: 0.5rem;
}

.stars {
    color: #FFC107;
    /* Gold stars */
    font-size: 0.9rem;
    letter-spacing: 2px;
}

.quote-symbol {
    position: absolute;
    top: -10px;
    right: 0;
    font-family: 'Georgia', serif;
    font-size: 5rem;
    line-height: 1;
    color: #F5F1EC;
    /* Very light subtle quote */
    z-index: 1;
}

.testimonial-text {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
    color: #555;
    font-style: italic;
    position: relative;
    z-index: 2;
}


/* Footer Premium */
.footer-premium {
    background-color: #F9F7F5;
    padding: 6rem 0 3rem;
    text-align: center;
    border-top: 1px solid rgba(142, 124, 104, 0.1);
}

.footer-content {
    max-width: 700px;
    margin: 0 auto;
}

.footer-title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    color: var(--color-text-dark);
    margin-bottom: 1.5rem;
    letter-spacing: -0.5px;
}

.footer-subtitle {
    font-family: var(--font-body);
    font-size: 1.15rem;
    color: #666;
    margin-bottom: 3rem;
    line-height: 1.6;
}

.footer-cta-wrapper {
    margin-bottom: 4rem;
}

.btn-gold-filled {
    background-color: #9C826B;
    /* Refined Gold/Taupe */
    color: #fff;
    padding: 16px 50px;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 500;
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(156, 130, 107, 0.3);
    /* Matching shadow */
    transition: all 0.3s ease;
}

.btn-gold-filled:hover {
    background-color: #856E5A;
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(156, 130, 107, 0.4);
}

.footer-signature {
    font-family: var(--font-heading);
    color: var(--color-primary);
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.sig-name {
    font-weight: 400;
}

.sig-separator {
    opacity: 0.5;
    font-size: 1rem;
}

.sig-role {
    font-weight: 400;
    /* Regular weight for cleaner look */
}

.footer-rights {
    font-size: 0.85rem;
    color: #999;
    font-family: var(--font-body);
    letter-spacing: 0.5px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    /* Subtle top border for copyright */
    padding-top: 2rem;
    display: inline-block;
    width: 100%;
}


/* Responsive */
@media (max-width: 768px) {
    .header-container {
        padding: 0 1rem;
    }

    .hamburger {
        display: block;
        width: 30px;
        height: 20px;
        position: relative;
    }

    .hamburger span {
        display: block;
        position: absolute;
        height: 2px;
        width: 100%;
        background: var(--color-text-dark);
        left: 0;
        transition: .25s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        top: 0px;
    }

    .hamburger span:nth-child(2) {
        top: 9px;
    }

    .hamburger span:nth-child(3) {
        top: 18px;
    }

    .nav-menu {
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        background: #fff;
        padding: 2rem;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
        transform: translateY(-150%);
        transition: transform 0.3s ease;
    }

    .nav-menu.active {
        transform: translateY(0);
    }

    .nav-menu ul {
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
    }

    .hero-title {
        font-size: 2.5rem;
    }

    .about-content {
        column-count: 1;
    }

    .steps-container {
        flex-direction: column;
    }
}

/* Floating WhatsApp Button */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 80px;
    /* Increased size */
    height: 80px;
    /* Increased size */
    background-color: transparent;
    /* Removed background color */
    border-radius: 50%;
    /* Kept for hover effect shape */
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 10000;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: float-btn 3s ease-in-out infinite;
}

.whatsapp-float img {
    width: 100%;
    /* Full fill */
    height: 100%;
    /* Full fill */
    object-fit: contain;
    /* Ensures it fills well */
    border-radius: 50%;
}

.whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
}

@media (max-width: 768px) {
    .whatsapp-float {
        width: 70px;
        /* Increased mobile size */
        height: 70px;
        /* Increased mobile size */
        bottom: 25px;
        right: 25px;
    }
}