        :root {
            /* Primary Colors */
            --warm-sage: #A9BBA2;
            --soft-olive: #8A9A83;
            --muted-forest: #4A5D4E;
            
            /* Secondary Colors */
            --warm-beige: #E6DFD4;
            --sand: #D5CBBF;
            --ivory: #F8F6F0;
            --off-white: #FBFBFA;
            
            /* Accent Colors */
            --muted-gold: #C4A77D;
            --deep-charcoal: #2A2E2A;
            --soft-grey: #E5E5E5;
            
            /* Fonts */
            --font-serif: 'Playfair Display', serif;
            --font-sans: 'Inter', sans-serif;
            
            /* Spacing */
            --space-xl: 12rem;
            --space-lg: 8rem;
            --space-md: 4rem;
            
            /* UI Settings */
            --radius-md: 16px;
            --radius-lg: 24px;
            --radius-pill: 50px;
        }

        /* Base Styles */
        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: var(--font-sans); color: var(--deep-charcoal); background-color: var(--ivory); line-height: 1.6; font-weight: 300; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
        
        h1, h2, h3, h4, h5, h6, .serif { font-family: var(--font-serif); font-weight: 400; line-height: 1.2; color: var(--muted-forest); }
        
        p { margin-bottom: 1.5rem; font-size: 1.1rem; color: #5a5f5a; }
        
        .container { max-width: 1300px; margin: 0 auto; padding: 0 5%; }
        
        /* Global Animation Classes (Elementor Hand-off) */
        .reveal-up { opacity: 0; transform: translateY(40px); transition: all 1s cubic-bezier(0.2, 0.8, 0.2, 1); }
        .reveal-up.active { opacity: 1; transform: translateY(0); }
        
        .glass-card {
            background: rgba(255, 255, 255, 0.6);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.3);
            border-radius: var(--radius-lg);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.03);
            transition: all 0.4s ease;
        }
        
        .magnetic-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: var(--muted-forest);
            color: var(--off-white);
            padding: 1rem 2.5rem;
            border-radius: var(--radius-pill);
            text-decoration: none;
            font-weight: 500;
            font-size: 1.05rem;
            border: 1px solid var(--muted-forest);
            transition: background 0.3s, color 0.3s;
            cursor: pointer;
            overflow: hidden;
            position: relative;
        }
        .magnetic-btn:hover {
            background: transparent;
            color: var(--muted-forest);
        }



        /* --- Section 1: Premium Hero --- */
        .hero { 
            position: relative; 
            min-height: 100vh; 
            display: flex; 
            align-items: center; 
            background-image: linear-gradient(to right, rgba(248, 246, 240, 0.9) 0%, rgba(248, 246, 240, 0.6) 40%, transparent 100%), url('/lekha-suresh-theme/assets/images/42CD8673-0823-4E1D-903C-B7199B5F84EC.PNG');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            padding: 0 5%;
        }
        .hero-content { position: relative; z-index: 2; max-width: 650px; padding-top: 2rem; }
        .hero-top-text { display: flex; align-items: center; gap: 12px; font-size: 0.95rem; color: #4a4a4a; margin-bottom: 2rem; font-weight: 500; }
        .hero-top-text svg { width: 36px; height: 36px; fill: none; stroke: #4A5D4E; stroke-width: 1.5; }
        .hero-top-text span { color: #4A5D4E; }
        .hero h1 { font-size: clamp(3.5rem, 5vw, 4.8rem); color: #2d3b2e; margin-bottom: 1.5rem; line-height: 1.1; letter-spacing: -0.02em; }
        .hero-underline { width: 140px; border-bottom: 1px solid #4A5D4E; margin-bottom: 2rem; position: relative; }
        .hero-underline::after { content: ''; position: absolute; left: 40px; top: -14px; width: 30px; height: 30px; background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6 2 2 6 2 12C2 18 6 22 12 22C18 22 22 18 22 12" stroke="%234A5D4E" stroke-linecap="round"/></svg>'); background-size: contain; background-repeat: no-repeat; opacity: 0.3; }
        .hero p { font-size: 1.3rem; color: #4a4a4a; margin-bottom: 3.5rem; max-width: 400px; line-height: 1.4; }
        .hero-features { display: flex; gap: 2rem; margin-bottom: 4rem; align-items: center; }
        .hero-feature { display: flex; align-items: center; gap: 12px; font-size: 0.85rem; font-weight: 500; color: #2d3b2e; line-height: 1.3; }
        .hero-feature svg { width: 44px; height: 44px; padding: 10px; border: 1px solid rgba(45, 59, 46, 0.2); border-radius: 50%; fill: none; stroke: #2d3b2e; stroke-width: 1.5; }
        .hero-btn { display: inline-flex; align-items: center; gap: 12px; background: #324334; color: #e4e2d7; padding: 1rem 2.5rem; border-radius: 50px; text-decoration: none; font-size: 1.1rem; font-weight: 400; transition: all 0.3s; font-family: var(--font-serif); font-style: italic; }
        .hero-btn:hover { background: #253126; color: #fff; }
        .hero-btn svg { width: 22px; height: 22px; fill: none; stroke: #A9BBA2; stroke-width: 1.5; }
        
        .hero-quote { 
            position: absolute; 
            right: 8%; 
            top: 20%; 
            max-width: 250px; 
            text-align: center; 
            background: rgba(248, 246, 240, 0.7); 
            backdrop-filter: blur(12px); 
            -webkit-backdrop-filter: blur(12px);
            padding: 1.5rem; 
            border-radius: 20px; 
            border: 1px solid rgba(255, 255, 255, 0.5);
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
        }
        .hero-quote-mark { font-size: 3.5rem; font-family: var(--font-serif); color: #8A9A83; line-height: 0; margin-bottom: 1.5rem; display: block; font-style: italic; }
        .hero-quote-text { font-size: 1.1rem; color: #4a4a4a; line-height: 1.4; margin-bottom: 1.5rem; font-weight: 400; }
        .hero-quote-underline { width: 90%; height: 2px; background: #8A9A83; margin: 0 auto; border-radius: 50%; opacity: 0.5; border-radius: 50% / 10px; }

        /* --- Section 2: Trust (Animated Statistics) --- */
        .trust-section { padding: var(--space-md) 0; position: relative; z-index: 3; margin-top: -5rem; }
        .trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
        .trust-card { text-align: center; padding: 3rem 2rem; border-radius: var(--radius-md); }
        .trust-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05); }
        .trust-number { font-size: 4rem; font-family: var(--font-serif); color: var(--muted-forest); margin-bottom: 0.5rem; line-height: 1; }
        .trust-label { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 2px; color: var(--muted-gold); font-weight: 500; }

        /* --- Section 3: About (Editorial Overlap) --- */
        .about-section { padding: var(--space-xl) 0; background: var(--off-white); }
        .about-layout { display: flex; gap: 6rem; align-items: center; }
        .about-images { flex: 1; position: relative; }
        .img-main { width: 80%; border-radius: var(--radius-lg); position: relative; z-index: 2; }
        .img-accent { position: absolute; bottom: -10%; right: 0; width: 50%; border-radius: var(--radius-lg); z-index: 3; border: 10px solid var(--off-white); }
        .about-text { flex: 1; }
        .section-label { color: var(--muted-gold); text-transform: uppercase; letter-spacing: 2px; font-size: 0.85rem; font-weight: 600; margin-bottom: 1rem; display: block; }
        .about-text h2 { font-size: 3.5rem; margin-bottom: 2rem; }

        /* --- Section 4: Therapy Approach (Horizontal expanding) --- */
        .approach-section { padding: var(--space-xl) 0; background: var(--warm-beige); }
        .approach-header { text-align: center; max-width: 700px; margin: 0 auto 4rem auto; }
        .approach-header h2 { font-size: 3rem; margin-bottom: 1rem; }
        .accordion-wrapper { display: flex; flex-direction: column; gap: 1rem; max-width: 900px; margin: 0 auto; }
        .approach-card { background: var(--off-white); border-radius: var(--radius-md); padding: 2rem 3rem; cursor: pointer; transition: all 0.4s ease; display: flex; flex-direction: column; border-left: 4px solid transparent; }
        .approach-card:hover { border-left-color: var(--muted-gold); box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
        .card-header { display: flex; justify-content: space-between; align-items: center; width: 100%; }
        .card-header h3 { font-size: 1.5rem; font-family: var(--font-sans); color: var(--deep-charcoal); margin: 0; }
        .icon-plus { font-size: 1.5rem; font-weight: 300; transition: transform 0.3s; }
        .card-body { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
        .approach-card.active .card-body { max-height: 200px; margin-top: 1.5rem; }
        .approach-card.active .icon-plus { transform: rotate(45deg); }
        .approach-card.active { background: var(--white); box-shadow: 0 15px 40px rgba(0,0,0,0.05); border-left-color: var(--muted-gold); }

        /* --- Section 5: Services (Grid, 3D Depth) --- */
        .services-section { padding: var(--space-xl) 0; background: var(--ivory); }
        .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 3rem; margin-top: 4rem; }
        .service-card { background: white; border-radius: var(--radius-lg); overflow: hidden; transition: all 0.5s ease; border: 1px solid var(--soft-grey); position: relative; top: 0; }
        .service-card:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(0,0,0,0.08); border-color: var(--warm-sage); }
        .srv-img { height: 250px; background: var(--warm-beige); width: 100%; object-fit: cover; }
        .srv-content { padding: 2.5rem; }
        .srv-content h3 { font-size: 1.8rem; margin-bottom: 1rem; }
        .srv-link { color: var(--muted-forest); font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; margin-top: 1rem; }
        .srv-link::after { content: '→'; margin-left: 0.5rem; transition: transform 0.3s; }
        .service-card:hover .srv-link::after { transform: translateX(5px); }

        /* --- Section 6: Areas Treated (Pills) --- */
        .areas-section { padding: var(--space-lg) 0; background: var(--warm-sage); text-align: center; color: var(--deep-charcoal); }
        .areas-section h2 { color: var(--ivory); font-size: 3rem; margin-bottom: 4rem; }
        .pill-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; max-width: 1000px; margin: 0 auto; }
        .pill-card { background: rgba(255,255,255,0.9); padding: 1rem 2rem; border-radius: var(--radius-pill); font-size: 1.1rem; font-weight: 500; transition: all 0.3s; cursor: default; }
        .pill-card:hover { background: var(--muted-gold); color: white; transform: scale(1.05); }

        /* --- Section 7: Process Timeline --- */
        .process-section { padding: var(--space-xl) 0; background: var(--ivory); }
        .process-container { position: relative; max-width: 1000px; margin: 5rem auto 0 auto; display: flex; justify-content: space-between; }
        .process-line { position: absolute; top: 40px; left: 5%; right: 5%; height: 2px; background: var(--sand); z-index: 1; }
        .process-step { position: relative; z-index: 2; width: 20%; text-align: center; }
        .step-circle { width: 80px; height: 80px; background: var(--white); border: 2px solid var(--muted-gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem auto; font-family: var(--font-serif); font-size: 1.5rem; color: var(--muted-gold); transition: all 0.4s; }
        .process-step:hover .step-circle { background: var(--muted-gold); color: white; transform: scale(1.1); box-shadow: 0 10px 20px rgba(196, 167, 125, 0.3); }
        .process-step h4 { font-family: var(--font-sans); font-size: 1.1rem; margin-bottom: 0.5rem; color: var(--deep-charcoal); }

        /* --- Section 8: Testimonials (Carousel style layout) --- */
        .testi-section { padding: var(--space-xl) 0; background: var(--deep-charcoal); color: var(--ivory); overflow: hidden; }
        .testi-section h2 { color: var(--ivory); font-size: 3rem; text-align: center; margin-bottom: 4rem; }
        .testi-section .section-label { text-align: center; }
        .testi-flex { display: flex; gap: 2rem; overflow-x: auto; padding-bottom: 2rem; scroll-snap-type: x mandatory; }
        .testi-flex::-webkit-scrollbar { display: none; }
        .testi-card { min-width: 400px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 3rem; border-radius: var(--radius-lg); scroll-snap-align: center; transition: background 0.3s; }
        .testi-card:hover { background: rgba(255,255,255,0.08); }
        .quote-mark { font-size: 4rem; font-family: var(--font-serif); color: var(--muted-gold); line-height: 0; opacity: 0.5; margin-bottom: 2rem; }
        .testi-text { font-family: var(--font-serif); font-size: 1.4rem; font-style: italic; color: var(--ivory); margin-bottom: 2rem; line-height: 1.6; }
        .testi-author { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 2px; color: var(--muted-gold); }

        /* --- Section 9: Contact (Split Form) --- */
        .contact-section { padding: var(--space-xl) 0; background: var(--off-white); }
        .contact-layout { display: flex; gap: 4rem; background: white; border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.05); border: 1px solid var(--soft-grey); }
        .contact-info { flex: 1; background: var(--warm-sage); padding: 5rem; color: var(--deep-charcoal); }
        .contact-info h2 { color: var(--deep-charcoal); font-size: 2.5rem; margin-bottom: 2rem; }
        .info-block { margin-bottom: 2rem; }
        .info-block h4 { font-family: var(--font-sans); font-size: 1rem; text-transform: uppercase; letter-spacing: 1px; color: rgba(0,0,0,0.6); margin-bottom: 0.5rem; }
        .contact-form { flex: 1; padding: 5rem; }
        .form-group { margin-bottom: 1.5rem; }
        .form-group label { display: block; font-size: 0.9rem; margin-bottom: 0.5rem; color: var(--deep-charcoal); }
        .form-group input, .form-group textarea { width: 100%; padding: 1rem; border: 1px solid var(--soft-grey); border-radius: 8px; font-family: var(--font-sans); background: var(--off-white); transition: border-color 0.3s; }
        .form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--muted-gold); background: white; }
        
        /* --- Footer --- */
        footer { background: var(--deep-charcoal); color: var(--sand); padding: 5rem 5% 2rem 5%; }
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 4rem; margin-bottom: 4rem; }
        footer .logo { color: var(--ivory); font-size: 2rem; margin-bottom: 1rem; display: block; }
        footer h4 { color: var(--ivory); font-family: var(--font-sans); font-size: 1rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 1.5rem; }
        footer ul { list-style: none; }
        footer ul li { margin-bottom: 0.8rem; }
        footer a { color: var(--sand); text-decoration: none; transition: color 0.3s; }
        footer a:hover { color: var(--muted-gold); }
        .footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 2rem; text-align: center; font-size: 0.9rem; }

        .hamburger { display: none; flex-direction: column; gap: 6px; cursor: pointer; z-index: 101; }
        .hamburger span { width: 30px; height: 2px; background: var(--deep-charcoal); transition: 0.3s; }
        
        @media (max-width: 900px) {
            header { padding: 1rem 5%; flex-direction: row; justify-content: space-between; align-items: center; }
            .hamburger { display: flex; }
            header nav { 
                position: fixed; top: 0; left: 0; width: 100%; height: 100vh; 
                background: rgba(248, 246, 240, 0.95); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);
                flex-direction: column; justify-content: center; align-items: center; 
                gap: 2rem; transform: translateY(-100%); transition: 0.5s cubic-bezier(0.77, 0, 0.175, 1); opacity: 0; z-index: 100;
            }
            header nav.active { transform: translateY(0); opacity: 1; }
            header nav a { font-size: 1.5rem; }
            
            .hamburger.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
            .hamburger.active span:nth-child(2) { opacity: 0; }
            .hamburger.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
            
            .hero { 
                flex-direction: column-reverse; 
                padding: 8rem 5% 4rem 5%; 
                justify-content: center;
                background-image: linear-gradient(to bottom, rgba(248, 246, 240, 0.95) 0%, rgba(248, 246, 240, 0.8) 50%, rgba(248, 246, 240, 0.2) 100%), url('/lekha-suresh-theme/assets/images/42CD8673-0823-4E1D-903C-B7199B5F84EC.PNG');
            }
            .hero-quote { position: relative; right: auto; top: auto; margin-top: 3rem; width: 100%; max-width: 320px; align-self: center; }
            .hero-content { padding-top: 0; text-align: center; display: flex; flex-direction: column; align-items: center; }
            .hero h1 { font-size: 2.8rem; }
            .hero-top-text { justify-content: center; flex-wrap: wrap; text-align: center; line-height: 1.5; }
            .hero p { text-align: center; }
            
            .hero-features { 
                flex-direction: column; width: 100%; align-items: center; margin-bottom: 2rem; gap: 0;
                background: rgba(255,255,255,0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
                padding: 1.5rem; border-radius: 24px; border: 1px solid rgba(255,255,255,0.6); 
                box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            }
            .hero-features > div[style*="width: 1px"] { display: none !important; }
            .hero-feature { width: 100%; border-bottom: 1px solid rgba(0,0,0,0.08); padding-bottom: 1rem; margin-bottom: 1rem; justify-content: center; text-align: center; }
            .hero-feature:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
            .hero-btn { width: 100%; justify-content: center; }
            
            .trust-grid { grid-template-columns: 1fr; gap: 2rem; }
            .services-grid { grid-template-columns: 1fr; }
            .testi-flex { flex-direction: column; gap: 2rem; }
            
            .about-layout, .contact-layout { flex-direction: column; }
            .img-accent { display: none; }
            .about-text { padding: 2rem 0; text-align: center; }
            .about-text h2 { margin: 0 auto 1.5rem auto; }
            .about-text .hero-underline { margin: 0 auto 2rem auto; }
            
            .process-container { flex-direction: column; gap: 3rem; align-items: center; }
            .process-line { display: none; }
            .process-step { width: 100%; }
            
            .contact-info, .contact-form { padding: 2rem; }
            .footer-grid { grid-template-columns: 1fr; gap: 2rem; text-align: center; }
        }

        /* --- Inner Page Hero --- */
        .inner-hero {
            position: relative; 
            min-height: 45vh; 
            display: flex; 
            flex-direction: column;
            justify-content: center;
            align-items: center; 
            background-image: linear-gradient(to bottom, rgba(248, 246, 240, 0.4) 0%, rgba(248, 246, 240, 0.95) 100%), url('/lekha-suresh-theme/assets/images/inner_banner_bg.png');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            padding: 10rem 5% 4rem 5%;
            text-align: center;
            border-bottom: 1px solid rgba(0,0,0,0.05);
        }
        .inner-hero h1 {
            font-size: clamp(3rem, 4vw, 4rem);
            margin-bottom: 1rem;
            color: var(--muted-forest);
        }
        .inner-hero p {
            font-size: 1.2rem;
            max-width: 600px;
            margin: 0 auto 2rem auto;
            color: #4a4a4a;
        }
        @media (max-width: 900px) {
            .inner-hero { min-height: 40vh; padding: 8rem 5% 3rem 5%; }
            .inner-hero h1 { font-size: 2.5rem; }
        }

/* --- Premium Revamp Styles --- */

/* Background Blobs (Floating Shapes) */
.bg-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    z-index: -1;
    opacity: 0.6;
    animation: floatBlob 20s infinite ease-in-out alternate;
}
.bg-blob.sage { background: var(--warm-sage); }
.bg-blob.sand { background: var(--sand); }
.bg-blob.gold { background: var(--muted-gold); }

@keyframes floatBlob {
    0% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
    100% { transform: translate(0, 0) scale(1); }
}

/* Credentials Banner */
.credentials-banner {
    padding: 2rem 5%;
    background: var(--off-white);
    border-top: 1px solid var(--soft-grey);
    border-bottom: 1px solid var(--soft-grey);
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
}
.cred-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--muted-forest);
    font-size: 0.95rem;
    font-weight: 500;
}
.cred-icon {
    width: 40px;
    height: 40px;
    background: var(--warm-beige);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--deep-charcoal);
}

/* Self-Discovery Section (Is Therapy Right For You?) */
.self-discovery {
    padding: var(--space-lg) 0;
    position: relative;
    overflow: hidden;
}
.sd-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
@media (max-width: 900px) {
    .sd-grid { grid-template-columns: 1fr; }
}
.sd-statement {
    padding: 1.5rem;
    margin-bottom: 1rem;
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    border-left: 4px solid var(--warm-sage);
    transition: transform 0.3s;
}
.sd-statement:hover {
    transform: translateX(10px);
}
.sd-statement p { margin: 0; font-size: 1.05rem; font-weight: 500; color: var(--muted-forest); }

/* FAQ Section */
.faq-section {
    padding: var(--space-lg) 0;
    background: var(--off-white);
}
.faq-container {
    max-width: 800px;
    margin: 0 auto;
}
.faq-item {
    border-bottom: 1px solid var(--soft-grey);
    padding: 1.5rem 0;
    cursor: pointer;
}
.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--font-serif);
    font-size: 1.3rem;
    color: var(--deep-charcoal);
    margin-bottom: 0;
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, margin-top 0.4s ease;
    color: #666;
}
.faq-item.active .faq-answer {
    max-height: 200px;
    margin-top: 1rem;
}
.faq-icon {
    font-size: 1.5rem;
    color: var(--muted-gold);
    transition: transform 0.3s;
}
.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

/* GSAP Specific Classes */
.gsap-reveal { opacity: 0; visibility: hidden; }
