:root {
    --logo-red: #580f8b;
    --logo-blue: #8000ff;
    --light-bg: #f8f9fa;
    --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}


body { font-family: 'Montserrat', sans-serif; }

/* ========================================================= */
/* VANGUARD ULTRA-PREMIUM HEADER                             */
/* ========================================================= */

.vanguard-header-wrapper {
    z-index: 1040;
}

.site-logo-premium {
    height: 65px; /* Adjust based on your actual logo proportions */
    object-fit: contain;
}

/* Top Bar Styling */
.top-bar-premium {
    background-color: var(--logo-blue);
    font-size: 0.85rem;
    letter-spacing: 0.3px;
}

.hover-red {
    transition: var(--transition);
}

.hover-red:hover {
    color: var(--logo-red) !important;
}

/* Main Nav Links */
.vanguard-nav-link {
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 10px 15px !important;
    text-transform: capitalize;
    position: relative;
    transition: var(--transition);
}

/* Modern Animated Underline Hover Effect */
.vanguard-nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 5px;
    left: 15px;
    background-color: var(--logo-red);
    transition: width 0.3s ease;
}

.vanguard-nav-link:hover {
    color: #b677e2 !important;
}

.vanguard-nav-link:hover::after {
    width: calc(100% - 30px);
}

/* Mega Menu Customization */
.has-mega-menu {
    position: static; /* Required for full-width or centered mega menu */
}

@media (min-width: 1200px) {
    .mega-menu-box {
        width: 650px;
        left: 50% !important;
        transform: translateX(-50%) !important;
        top: 100%;
        border-top: 4px solid var(--logo-red) !important;
        display: block;
        visibility: hidden;
        opacity: 0;
        transition: all 0.3s ease;
        margin-top: 15px !important;
    }

    /* Show on Hover instead of Click for better UX on Desktop */
    .has-mega-menu:hover .mega-menu-box {
        visibility: visible;
        opacity: 1;
        margin-top: 0 !important; /* Creates a slight slide-up effect */
    }
}

.mega-service-item {
    text-decoration: none;
    transition: var(--transition);
    background-color: #e9e9e99c;
}

.mega-service-item:hover {
    background-color: #f8fbfa;
    transform: translateX(5px);
}

.mega-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.border-end-lg {
    border-right: 1px solid #eee;
}

/* Mobile Adjustments */
@media (max-width: 1199px) {
    .site-logo-premium { height: 45px; }
    .mega-menu-box { border: none !important; box-shadow: none !important; padding: 0 !important; }
    .border-end-lg { border-right: none; border-bottom: 1px solid #eee; margin-bottom: 10px; padding-bottom: 10px; }
    .vanguard-nav-link::after { display: none; } /* Remove underline effect on mobile */
    .custom-toggler:focus { box-shadow: none; }
}

/* Small CTA Button */
.pulse-btn-small {
    padding: 10px 24px;
    border-radius: 5px;
    font-size: 0.9rem;
}

/* ========================================================= */
/* VANGUARD PREMIUM FOOTER                                   */
/* ========================================================= */

.vanguard-footer-premium {
    background-color: #fbfcff; /* Clean clinical light background */
    border-top: 1px solid rgba(0, 35, 91, 0.05);
    font-family: 'Montserrat', sans-serif;
}

.footer-logo {
    height: 55px; /* Matches header logo height */
    object-fit: contain;
}

/* Headings with Red Accent */
.vanguard-footer-heading {
    color: var(--logo-blue);
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    position: relative;
    padding-bottom: 10px;
}

.vanguard-footer-heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 30px;
    height: 2px;
    background-color: var(--logo-red);
    transition: width 0.3s ease;
}

.col-lg-3:hover .vanguard-footer-heading::after {
    width: 50px; /* Slight expansion on column hover */
}

/* Premium Link Hover Effects */
.vanguard-footer-links li {
    margin-bottom: 12px;
}

.vanguard-footer-links a {
    color: #555;
    text-decoration: none;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    transition: var(--transition);
}

.vanguard-footer-links .micro-icon {
    font-size: 0.6rem;
    margin-right: 8px;
    color: var(--logo-red);
    opacity: 0;
    transform: translateX(-10px);
    transition: var(--transition);
}

.vanguard-footer-links a:hover {
    color: var(--logo-blue);
    transform: translateX(5px);
}

.vanguard-footer-links a:hover .micro-icon {
    opacity: 1;
    transform: translateX(0);
}

/* Base Style */

.social-links-modern a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: #fff;
    transition: all 0.3s ease;
}

/* Instagram (Gradient Official Style) */
.social-links-modern a:nth-child(1) {
    background: radial-gradient(circle at 30% 107%, 
        #fdf497 0%, #fdf497 5%, #fd5949 45%, 
        #d6249f 60%, #285AEB 90%);
}

/* Facebook */
.social-links-modern a:nth-child(2) {
    background: #1877F2;
}

/* LinkedIn */
.social-links-modern a:nth-child(3) {
    background: #0A66C2;
}

/* YouTube */
.social-links-modern a:nth-child(4) {
    background: #FF0000;
}

/* Hover Effect (Zoom + Slight Lift) */
.social-links-modern a:hover {
    transform: scale(1.15) translateY(-2px);
    box-shadow: 0 8px 18px rgba(0,0,0,0.2);
}

/* Mini CTA Box */
.footer-mini-cta {
    background: rgba(0, 35, 91, 0.03);
    border-left: 3px solid var(--logo-red);
    transition: var(--transition);
}

.footer-mini-cta:hover {
    background: rgba(0, 35, 91, 0.06);
}

.footer-schedule-link i {
    transition: transform 0.3s ease;
}

.footer-schedule-link:hover i {
    transform: translateX(5px);
}

/* Bottom Legal Area */
.footer-bottom-area {
    border-color: rgba(0,0,0,0.05) !important;
}

.footer-legal-links a:hover {
    color: var(--logo-red) !important;
}

/* Responsive Overrides */
@media (max-width: 768px) {
    .vanguard-footer-heading { margin-top: 15px; }
    .footer-brand-info { text-align: center; }
    .social-links-modern { justify-content: center; }
    .vanguard-footer-heading::after { left: 50%; transform: translateX(-50%); }
    .vanguard-footer-heading { text-align: center; }
    .vanguard-footer-links { text-align: center; }
}

/* ========================================================= */
/* VANGUARD PREMIUM HERO SECTION 2.0                         */
/* ========================================================= */

.vanguard-hero-modern {
    position: relative;
    background: linear-gradient(120deg, #f8fbfa 0%, #eef5f9 100%);
    padding: 80px 0 80px 0;
    overflow: hidden;
}

/* Background Pattern */
.hero-bg-pattern {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: radial-gradient(var(--logo-blue) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.03;
    z-index: 1;
}

/* Typography Enhancements */
.badge-pill-red {
    background: rgb(255 255 255);
    color: var(--logo-red);
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: 1px solid;
}

.hero-main-title {
    font-size: 3.5rem;
    line-height: 1.15;
    letter-spacing: -1px;
}

.text-gradient-red {
    background: linear-gradient(to right, #9205f4, #580f8b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-subtitle {
    font-size: 1.15rem;
    line-height: 1.7;
}

/* Updated Buttons */
.vanguard-btn-solid-red {
    background: var(--logo-red);
    color: #fff;
    padding: 15px 35px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.vanguard-btn-solid-red:hover {
    background: var(--logo-blue);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 35, 91, 0.2) !important;
}

.vanguard-btn-outline-navy {
    background: transparent;
    color: var(--logo-blue);
    padding: 15px 30px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    border: 2px solid var(--logo-blue);
    transition: var(--transition);
}

.vanguard-btn-outline-navy:hover {
    background: var(--logo-blue);
    color: #fff;
}

/* Glassmorphism Trust Bar */
.glass-trust-bar {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.icon-circle {
    width: 45px; height: 45px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem;
}
.bg-light-red { background: rgba(168, 25, 30, 0.1); }
.bg-light-navy { background: rgba(0, 35, 91, 0.1); }

/* Right Side - Organic Image Setup */
.organic-img-wrapper {
    width: 90%;
    max-width: 500px;
    height: 550px;
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    overflow: hidden;
    border: 8px solid #fff;
    animation: morphShape 8s ease-in-out infinite;
    position: relative;
    z-index: 5;
}

.hero-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@keyframes morphShape {
    0% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
    50% { border-radius: 70% 30% 30% 70% / 70% 70% 30% 30%; }
    100% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
}

/* Floating Experience Card */
.floating-exp-card {
    position: absolute;
    bottom: 50px;
    left: -20px;
    z-index: 10;
    animation: floatVertical 3s ease-in-out infinite;
    border-left: 4px solid var(--logo-red);
}

.exp-badge {
    width: 55px; height: 55px;
    font-size: 1.2rem;
}

@keyframes floatVertical {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

/* Decorative Shapes behind image */
.decor-shape {
    position: absolute;
    border-radius: 50%;
    z-index: 1;
}

.shape-1 {
    width: 300px; height: 300px;
    background: linear-gradient(135deg, rgba(168,25,30,0.1), transparent);
    top: -30px; right: -20px;
}

.shape-2 {
    width: 150px; height: 150px;
    background: linear-gradient(135deg, rgba(0,35,91,0.1), transparent);
    bottom: -10px; right: 50px;
}

/* Minimal Wave Bottom */
.hero-wave-bottom {
    position: absolute;
    bottom: 0; left: 0; width: 100%;
    line-height: 0;
}

.hero-wave-bottom svg {
    display: block; width: calc(100% + 1.3px); height: 100px;
}

/* Mobile Responsiveness */
@media (max-width: 991px) {
    .vanguard-hero-modern { padding: 120px 0 100px 0; text-align: center; }
    .hero-main-title { font-size: 2.5rem; }
    .hero-action-group { justify-content: center; }
    .glass-trust-bar { flex-direction: column; gap: 15px !important; text-align: left; }
    .glass-trust-bar .border-start { border-left: none !important; padding-left: 0 !important; border-top: 1px solid #ddd; padding-top: 15px; }
    .organic-img-wrapper { height: 400px; margin-top: 50px; }
    .floating-exp-card { left: 50%; transform: translateX(-50%) !important; bottom: -20px; animation: none; }
}

/* ========================================================= */
        /* EXACT REFERENCE LAYOUT WITH VANGUARD THEME COLORS         */
        /* ========================================================= */
        
        /* 1. Boxed Banner (Matches the reference exactly) */
        .vg-boxed-banner {
            background: linear-gradient(135deg, #420d67 0%, #3b0462b8 100%);
            border-radius: 20px;
            padding: 40px 20px 90px 20px; /* Top padding for text, bottom padding for overlap */
            text-align: center;
            max-width: 1000px; /* Constrains the banner width like the image */
            margin: 0 auto;
        }

        /* 2. Banner Title */
        .vg-banner-title {
            color: #ffffff;
            font-weight: 600;
            font-size: 2.8rem;
            margin-bottom: 0;
            letter-spacing: -0.5px;
        }

        /* 3. Cards Wrapper (Pulls cards up over the banner) */
        .vg-cards-row {
            margin-top: -60px; /* Exact overlap amount */
            position: relative;
            z-index: 2;
            max-width: 1100px;
            margin-left: auto;
            margin-right: auto;
        }

        /* 4. Exact Card Styling */
        .vg-ref-card {
            background-color: #fcfcfc; /* Slight off-white like reference */
            border-radius: 6px;
            padding: 35px 20px;
            text-align: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); /* Soft shadow */
            border-bottom: 3px solid var(--logo-navy, #2b1654); /* Colored bottom border */
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-between;
            transition: transform 0.3s ease;
        }

        .vg-ref-card:hover {
            transform: translateY(-5px);
        }

        /* 5. Card Title */
        .vg-ref-card-title {
            color: var(--logo-navy, #2b1654); /* Matches banner theme */
            font-weight: 600;
            font-size: 1.4rem;
            margin-bottom: 25px;
        }

        /* 6. Image Container (Replaces Icons) */
        .vg-ref-card-img {
            height: 90px; /* Perfect height for 3D/Vector images */
            width: 100%;
            margin-bottom: 25px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .vg-ref-card-img img {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
        }

        /* 7. Solid Pill Button (Colors Swapped) */
        .vg-ref-card-btn {
            background-color: var(--logo-red, #e63946); /* Changed to Red by default */
            color: #ffffff !important;
            font-weight: 500;
            font-size: 1rem;
            padding: 10px 30px;
            border-radius: 50px; /* Pill shape */
            text-decoration: none;
            display: inline-block;
            transition: all 0.3s ease;
            box-shadow: 0 4px 10px rgba(230, 57, 70, 0.2); /* Red shadow */
        }

        .vg-ref-card-btn:hover {
            background-color: var(--logo-navy, #2b1654); /* Changes to Navy on hover */
            box-shadow: 0 4px 15px rgba(43, 22, 84, 0.3); /* Navy shadow */
            transform: scale(1.05);
        }

/* ========================================================= */
/* VANGUARD ABOUT US PAGE: UNIQUE CSS (ANTI-FLUCTUATION)     */
/* ========================================================= */

/* ---- Header & Story ---- */
/* Background Image Setup for Header */
.vg-about-header {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 400px; /* Thodi height badhayi hai taaki image achhe se dikhe */
    display: flex;
    align-items: center;
}

/* Premium Navy Gradient Overlay */
.vg-about-overlay {
    background: linear-gradient(to bottom, rgb(88 15 139 / 70%) 0%, rgb(108 46 152) 100%);
}
/* Ensure pattern sits above overlay but below text */
.vg-about-pattern {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

.vg-about-collage {
    padding-bottom: 30px; 
}
.vg-about-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(50px);
    opacity: 0.6;
    z-index: 1;
}
.vg-about-overlay-img {
    transform: translateY(15%) translateZ(0); /* Hardware Acceleration */
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: transform;
}
.vg-about-collage:hover .vg-about-overlay-img {
    transform: translateY(10%) scale(1.02) translateZ(0);
}

/* Trust Badge */
.vg-about-trust-badge {
    top: 15%;
    left: -20px;
    animation: vgFloatBadge 4s ease-in-out infinite;
    transform: translateZ(0);
}
@keyframes vgFloatBadge {
    0% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0); }
}

/* ---- Core Values ---- */
.vg-about-valcard {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid transparent;
    transform: translateZ(0); /* Prevents jitter */
    will-change: transform;
}
.vg-border-red { border-top: 4px solid var(--logo-red) !important; }
.vg-border-navy { border-top: 4px solid var(--logo-blue) !important; }

.vg-about-valcard:hover {
    transform: translateY(-8px) translateZ(0);
    box-shadow: 0 15px 35px rgba(0, 35, 91, 0.08) !important;
    border-color: rgba(0, 35, 91, 0.05);
}

.vg-about-icon-lg {
    width: 60px; height: 60px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
}

/* ---- Team Profiles ---- */
.vg-team-profile {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    margin-top: 20px; 
    transform: translateZ(0); 
    will-change: transform, box-shadow;
    backface-visibility: hidden; /* Stops text blurring on hover */
    
}
/* Mobile */
@media (max-width: 768px) {
    .vg-team-profile {
        padding-top: 30px !important;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .vg-team-profile {
        padding-top: 30px !important;
    }
}

.vg-team-profile:hover {
    transform: translateY(-10px) translateZ(0);
    box-shadow: 0 20px 40px rgba(0, 35, 91, 0.1) !important;
    border-color: rgba(0, 35, 91, 0.05) !important;
}

.vg-avatar-ring {
    width: 140px; 
    height: 140px; 
    margin-top: -70px; 
    border-radius: 50%; 
    position: relative; 
    z-index: 2; 
    background: #fff;
    transition: transform 0.4s ease;
    transform: translateZ(0);
}
.vg-team-profile:hover .vg-avatar-ring {
    transform: scale(1.05) translateZ(0);
}

/* Social Icons */
.vg-social-dot {
    width: 45px; 
    height: 45px; 
    border-radius: 50%; 
    background: #f8fbfb; 
    color: var(--logo-blue); 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    text-decoration: none; 
    transition: all 0.3s ease; 
    border: 1px solid #e1e6ea;
    font-size: 1.1rem;
    transform: translateZ(0);
}
.vg-social-dot:hover {
    background: var(--logo-red); 
    color: #fff; 
    border-color: var(--logo-red); 
    transform: translateY(-4px) translateZ(0); 
    box-shadow: 0 5px 15px rgba(168, 25, 30, 0.2);
}

/* ---- CTA Card ---- */
.vg-cta-box {
    border-bottom: 6px solid var(--logo-red);
}
.vg-btn-red {
    background-color: var(--logo-red);
    transition: background 0.3s ease, transform 0.3s ease;
}
.vg-btn-red:hover {
    background-color: #580f8b; /* Darker red */
    transform: translateY(-2px);
}
.vg-btn-white {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.3);
    transition: all 0.3s ease;
}
.vg-btn-white:hover {
    background: #fff;
    color: var(--logo-blue);
    border-color: #fff;
}

/* Object Fit util */
.object-fit-cover { object-fit: cover; }

/* ---- Responsive Fixes ---- */
@media (max-width: 991px) {
    .vg-about-collage { padding-bottom: 0; padding-right: 0 !important; }
    .vg-about-trust-badge { 
        left: 50%; 
        top: auto;
        bottom: -30px;
        transform: translateX(-50%) !important; 
        animation: none; 
        width: 85%; 
        justify-content: center;
    }
}
/* ========================================================= */
        /* HORIZONTAL CARDS LAYOUT (WITH YOUR CONTENT)               */
        /* ========================================================= */

        /* Horizontal Card Styling */
        .vg-horizontal-card {
            background-color: #ffffff;
            border-radius: 8px;
            padding: 25px;
            margin-bottom: 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            border-bottom: 3px solid var(--logo-navy, #2b1654);
            display: flex;
            align-items: flex-start;
            transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
            position: relative;
            z-index: 2;
        }

        .vg-horizontal-card:hover {
            transform: translateX(10px);
            box-shadow: 0 12px 30px rgba(43, 22, 84, 0.1);
            border-bottom-color: var(--logo-red, #e63946); 
        }

        /* Icon Wrapper */
        .vg-hc-icon {
            font-size: 2rem;
            color: var(--logo-navy, #2b1654);
            margin-right: 20px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            background: rgba(43, 22, 84, 0.05);
            border-radius: 12px;
        }

        /* Card Text Content */
        .vg-hc-content h4 {
            color: var(--logo-navy, #2b1654);
            font-weight: 700;
            font-size: 1.25rem;
            margin-bottom: 8px;
        }
        .vg-hc-content p {
            color: #6c757d;
            font-size: 0.95rem;
            line-height: 1.6;
            margin-bottom: 0;
        }

        /* Right Side Image Styling */
        .vg-side-image-wrapper {
            position: relative;
            border-radius: 12px;
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
            overflow: hidden;
            height: 100%;
        }
        
        .vg-side-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            min-height: 550px; 
        }

        /* Button Pulse Animation for CTA (From your code) */
        .pulse-btn {
            position: relative;
            animation: pulseGlow 2s infinite;
        }

        @keyframes pulseGlow {
            0% { box-shadow: 0 0 0 0 rgba(168, 25, 30, 0.4); }
            70% { box-shadow: 0 0 0 15px rgba(168, 25, 30, 0); }
            100% { box-shadow: 0 0 0 0 rgba(168, 25, 30, 0); }
        }
/* ========================================================= */
/* VANGUARD SEAMLESS PREMIUM (INSURANCE & STORIES)           */
/* ========================================================= */

.vanguard-seamless-area {
    background-color: #f8fbfb; /* Very light, clean medical tint */
    overflow: hidden;
}

/* Abstract Background Blobs */
.vanguard-blob-shape {
    position: absolute;
    width: 400px; height: 400px;
    border-radius: 50%;
    filter: blur(80px);
    z-index: 1;
    opacity: 0.5;
}

.shape-top-left {
    background: rgba(0, 35, 91, 0.05); /* Light Navy */
    top: -100px; left: -100px;
}

.shape-bottom-right {
    background: rgba(168, 25, 30, 0.05); /* Light Red */
    bottom: -100px; right: -100px;
}

/* Solid Navy Button */
.vanguard-btn-solid-navy {
    display: inline-block;
    background: var(--logo-blue);
    color: #fff;
    padding: 14px 30px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.vanguard-btn-solid-navy:hover {
    background: var(--logo-red);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(168, 25, 30, 0.2);
}

/* Insurance Info Cards */
.info-glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 35, 91, 0.05);
    transition: var(--transition);
}

.border-top-red { border-top: 4px solid var(--logo-red) !important; }
.border-top-navy { border-top: 4px solid var(--logo-blue) !important; }

.info-glass-card:hover {
    background: #fff;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 35, 91, 0.08);
}

.icon-circle-large {
    width: 60px; height: 60px;
    border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.8rem;
}

/* Patient Stories Section */
.sticky-side-content {
    position: sticky;
    top: 100px; /* Sticks to screen while user scrolls through cards */
}

.premium-review-card {
    border: 1px solid rgba(0, 35, 91, 0.05);
    transition: var(--transition);
}

.premium-review-card:hover {
    border-color: rgba(0, 35, 91, 0.15);
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 35, 91, 0.08) !important;
}

.quote-watermark {
    position: absolute;
    top: 20px; right: 30px;
    font-size: 6rem;
    z-index: 1;
}

.opacity-05 { opacity: 0.03; }

.bg-light-navy { background-color: rgba(0, 35, 91, 0.08); }
.bg-light-red { background-color: rgba(168, 25, 30, 0.08); }

/* Responsive Overrides */
@media (max-width: 991px) {
    .insurance-feature-panel { padding: 30px !important; }
    .sticky-side-content { position: relative; top: 0; margin-bottom: 30px; text-align: center; }
    .display-6 { font-size: 2rem; }
}

/* ========================================================= */
/* VANGUARD PREMIUM FAQ SECTION                              */
/* ========================================================= */

.vanguard-faq-premium {
    background-color: #f8fbfb;
}

.faq-decor-circle {
    position: absolute;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(0,35,91,0.03) 0%, rgba(255,255,255,0) 70%);
    top: -150px; right: -150px;
    z-index: 1;
}

.faq-sticky-sidebar {
    position: sticky;
    top: 120px;
}

/* Floating Accordion Cards */
.vanguard-faq-card {
    transition: var(--transition);
    border-left: 4px solid transparent !important;
}

.vanguard-faq-card:hover {
    transform: translateX(5px);
    box-shadow: 0 15px 35px rgba(0, 35, 91, 0.08) !important;
}

/* Customizing Bootstrap Accordion Default Styles */
.custom-vanguard-accordion .accordion-button {
    font-size: 1.1rem;
    background-color: transparent !important;
    box-shadow: none !important;
    transition: var(--transition);
}

.custom-vanguard-accordion .accordion-button:not(.collapsed) {
    color: var(--logo-red) !important;
}

/* Active Card Styling */
.custom-vanguard-accordion .accordion-item:has(.accordion-button:not(.collapsed)) {
    border-left: 4px solid var(--logo-red) !important;
    box-shadow: 0 15px 35px rgba(0, 35, 91, 0.05) !important;
}

/* Custom Animated Plus/Minus Icons */
.custom-vanguard-accordion .accordion-button::after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300235B'%3E%3Cpath d='M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2z'/%3E%3C/svg%3E") !important;
    transition: transform 0.3s ease-in-out;
    background-size: contain;
}

.custom-vanguard-accordion .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23A8191E'%3E%3Cpath d='M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8z'/%3E%3C/svg%3E") !important;
    transform: rotate(180deg);
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .faq-sticky-sidebar { position: relative; top: 0; margin-bottom: 20px; }
    .custom-vanguard-accordion .accordion-button { font-size: 1rem; padding: 20px !important; }
    .custom-vanguard-accordion .accordion-body { padding: 0 20px 20px 20px !important; }
}
/* Location Action Card */
.location-action-card {
    border: 1px solid rgba(0, 35, 91, 0.05);
}

/* Red Solid Button */
.vanguard-btn-red {
    display: inline-block;
    background: var(--logo-red);
    color: #fff;
    padding: 16px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.05rem;
    transition: var(--transition);
    border: 2px solid var(--logo-red);
}

.vanguard-btn-red:hover {
    background: transparent;
    color: var(--logo-red);
    transform: translateY(-3px);
}

/* Right Side Graphic Area */
.location-visual-bg {
    background: radial-gradient(circle at center, #f0f7f7 0%, #e1e8ed 100%);
    min-height: 400px;
    position: relative;
    overflow: hidden;
}

.map-overlay-pattern {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    opacity: 0.1;
    background-image: radial-gradient(var(--logo-blue) 1px, transparent 1px);
    background-size: 20px 20px;
}

/* Animated Pulse Effect for Pin */
.pulse-pin-wrapper {
    position: relative;
    z-index: 2;
}

.vanguard-pin {
    font-size: 4.5rem;
    color: var(--logo-red);
    filter: drop-shadow(0 15px 15px rgba(168,25,30,0.4));
    position: relative;
    z-index: 3;
    animation: floatPin 3s ease-in-out infinite;
}

.pulse-ring {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 120px; height: 120px;
    background: rgba(168, 25, 30, 0.15); /* Red tint */
    border-radius: 50%;
    z-index: 1;
}

.pulse-1 { animation: pulsing 2s infinite ease-out; }
.pulse-2 { animation: pulsing 2s infinite ease-out 1s; /* Delayed for ripple effect */ }

@keyframes floatPin {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes pulsing {
    0% { transform: translate(-50%, -50%) scale(0.5); opacity: 1; border: 2px solid rgba(168, 25, 30, 0.5); }
    100% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; border: 2px solid rgba(168, 25, 30, 0); }
}

/* Responsive */
@media (max-width: 991px) {
    .location-action-card { border-radius: 20px !important; }
    .vanguard-btn-red { width: 100%; text-align: center; }
}

/* ========================================================= */
/* FINAL CTA BANNER & ACCESSIBILITY                          */
/* ========================================================= */

.vanguard-final-wrap {
    background: #fff; /* Blends smoothly before the footer */
}

.cta-premium-banner {
    background: linear-gradient(135deg, #420d67 0%, #3b0462b8 100%);
    padding: 40px 40px 40px 40px;
    border-radius: 0px; /* Modern rounded look */
    position: relative;
    overflow: hidden;
    border-top: 6px solid var(--logo-red); /* Vanguard Red Accent */
}

/* Subtle pattern for texture */
.cta-bg-pattern {
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background-image: radial-gradient(rgba(255,255,255,0.05) 2px, transparent 2px);
    background-size: 30px 30px;
    opacity: 0.5;
    z-index: 1;
    animation: rotatePattern 100s linear infinite;
}

@keyframes rotatePattern {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.cta-subtext {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 300;
}

/* Premium Outline Button */
.vanguard-btn-outline-white {
    display: inline-block;
    border: 2px solid #fff;
    color: #fff;
    padding: 16px 45px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.1rem;
    text-decoration: none;
    transition: var(--transition);
    background: transparent;
}

.vanguard-btn-outline-white:hover {
    background: var(--logo-red);
    border-color: var(--logo-red);
    color: #fff;
    transform: translateY(-4px);
    box-shadow: 0 15px 25px rgba(168, 25, 30, 0.4);
}

/* Accessibility Section */
.accessibility-strip {
    background-color: #f8f9fa !important;
}

.accessibility-strip p {
    font-size: 0.95rem;
}

.vanguard-contact-link {
    color: var(--logo-blue);
    text-decoration: none;
    transition: var(--transition);
}

.vanguard-contact-link:hover {
    color: var(--logo-red);
    text-decoration: underline;
}

/* Responsive Fixes */
@media (max-width: 768px) {
    .cta-premium-banner { padding: 50px 20px; border-radius: 25px; }
    .display-4 { font-size: 2.5rem; }
    .vanguard-btn-outline-white { width: 100%; padding: 15px 20px; }
    .vanguard-contact-link { display: block; margin-top: 10px; }
    .accessibility-strip .mx-2 { display: none; } /* Hide 'or' on mobile to stack links */
}

/* ========================================================= */
/* STICKY SAFETY BANNER - FIXED (Right Side Close)            */
/* ========================================================= */

.sticky-safety-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #fbfcff; /* extremely subtle tint */
    border-top: 1px solid rgba(0, 35, 91, 0.05);
    z-index: 1050; 
    padding: 15px 0;
    transition: transform 0.3s ease-in-out;
}

.safety-info-link {
    color: var(--logo-blue); /* Vanguard Navy */
    font-size: 0.9rem;
    letter-spacing: 0.3px;
    transition: var(--transition);
}

.safety-info-link:hover {
    color: var(--logo-red); /* Vanguard Red on hover */
    text-decoration: underline;
}

/* Close Button Styling - FIXED TO RIGHT */
.close-banner-btn {
    position: absolute;
    right: 15px; /* FIXED: Corrected alignment to Right */
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #999;
    font-size: 1.25rem;
    cursor: pointer;
    transition: var(--transition);
    padding: 5px 10px;
    line-height: 1;
}

.close-banner-btn:hover {
    color: var(--logo-red);
    transform: translateY(-50%) rotate(90deg); /* Modern elegant rotate on hover */
}

/* IMPORTANT FIX: Prevent banner from hiding your real footer */
body {
    padding-bottom: 60px; /* Base padding equal to banner height */
}

@media (max-width: 768px) {
    .sticky-safety-banner { padding: 12px 0; }
    .safety-info-link { font-size: 0.8rem; text-align: center; }
    /* Padding Right ensures text doesn't hit the button on small screens */
    .safety-info-link { padding-right: 40px !important; } 
    .close-banner-btn { right: 5px; font-size: 1.15rem; }
    body { padding-bottom: 80px; } /* Slightly taller padding on mobile */
}


/* ========================================================= */
/* VANGUARD INSURANCE PAGE SECTION                           */
/* ========================================================= */
/* Styling for the new image wrapper */
.insurance-partners-wrapper {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.insurance-partners-wrapper:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(0, 35, 91, 0.12) !important;
}

.hover-scale-soft {
    transition: transform 0.5s ease;
}

.insurance-partners-wrapper:hover .hover-scale-soft {
    transform: scale(1.02);
}

/* Background light navy shape logic remains same */
.bg-navy-light { background: rgba(0, 35, 91, 0.05); }
.vanguard-insurance-banner {
    background-color: #fbfcff; /* Clean clinical background */
}

/* Background Abstract Shape */
.insurance-bg-shape {
    position: absolute;
    width: 600px; 
    height: 600px;
    border-radius: 50%;
    filter: blur(80px);
    right: -200px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.5;
    z-index: 1;
}

.bg-navy-light { background: rgba(0, 35, 91, 0.05); }

/* Left Side Highlights */
.border-red { border-color: var(--logo-red) !important; }

/* Right Side Floating Card */
.insurance-providers-card {
    border: 1px solid rgba(0, 35, 91, 0.05);
    transition: var(--transition);
}

.insurance-providers-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(0, 35, 91, 0.1) !important;
}

/* Logo Boxes inside Grid */
.provider-logo-box {
    background: #fff;
    border-color: #eee !important;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px; /* Fixed height for uniformity */
}

.provider-logo-box:hover {
    border-color: rgba(168, 25, 30, 0.3) !important; /* Vanguard Red hint on hover */
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
    transform: scale(1.02);
}

.bg-light-navy {
    background-color: rgba(0, 35, 91, 0.03) !important;
}

/* Note: In a real environment, you would replace the text (e.g., "Aetna") inside .provider-logo-box with actual <img> tags of the logos. */

/* Responsive Adjustments */
@media (max-width: 991px) {
    .vanguard-insurance-banner { text-align: center; padding-top: 50px !important; }
    .consultation-info-box { text-align: left; margin-top: 20px; }
    .insurance-bg-shape { right: 50%; transform: translate(50%, -50%); width: 400px; height: 400px; }
}

/* ========================================================= */
/* VANGUARD DUAL CTA SECTION                                 */
/* ========================================================= */

.vanguard-dual-cta {
    background-color: var(--logo-blue); /* Rich Vanguard Navy */
}

/* Subtle texture over the solid color */
.cta-pattern-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 20px 20px;
    opacity: 0.5;
    z-index: 1;
}

/* Premium White Buttons */
.vanguard-btn-white {
    display: inline-block;
    background-color: #ffffff;
    color: var(--logo-blue);
    padding: 14px 35px;
    border-radius: 50px; /* Pill shape like screenshot */
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
    border: 2px solid #ffffff;
}

.vanguard-btn-white:hover {
    background-color: var(--logo-red);
    color: #ffffff;
    border-color: var(--logo-red);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(168, 25, 30, 0.4) !important;
    border: 2px solid;
}

/* Elegant "OR" Divider */
.vanguard-or-divider {
    position: relative;
    display: inline-block;
}

.vanguard-or-divider span {
    font-family: 'Times New Roman', Times, serif; /* Gives that elegant italic serif look from the screenshot */
    opacity: 0.9;
}

/* Desktop Vertical Line */
@media (min-width: 768px) {
    .vanguard-or-divider::before,
    .vanguard-or-divider::after {
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        height: 60px;
        background-color: rgba(255, 255, 255, 0.2);
    }
    .vanguard-or-divider::before { top: -80px; }
    .vanguard-or-divider::after { bottom: -80px; }
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .vanguard-or-divider::before,
    .vanguard-or-divider::after {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 1px;
        width: 60px;
        background-color: rgba(255, 255, 255, 0.2);
    }
    .vanguard-or-divider::before { left: -80px; }
    .vanguard-or-divider::after { right: -80px; }
}

/* ========================================================= */
/* VANGUARD VIDEO EMBED SECTION                              */
/* ========================================================= */

.vanguard-video-area {
    overflow: hidden;
}

/* Background Texture */
.video-bg-pattern {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(var(--logo-blue) 1px, transparent 1px);
    background-size: 25px 25px;
    opacity: 0.03;
    z-index: 1;
}

/* Premium Video Frame Styling */
.vanguard-video-frame {
    border-radius: 1rem;
    transition: var(--transition);
}

.vanguard-video-frame:hover {
    transform: translateY(-5px);
}

/* Staggered Accent Shadow behind the video */
.video-frame-accent {
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--logo-red) 0%, var(--logo-blue) 100%);
    top: 15px;
    right: -15px;
    border-radius: 1.5rem;
    z-index: 1;
    opacity: 0.15; /* Soft glowing shadow effect */
    transition: var(--transition);
}

.vanguard-video-frame:hover .video-frame-accent {
    top: 25px;
    right: -25px;
    opacity: 0.25;
}

/* Ensure iframe fits perfectly inside the rounded border */
.vanguard-video-frame .ratio iframe {
    border-radius: calc(1rem - 4px); /* Accounts for the 4px white border */
    background-color: #000;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .video-frame-accent {
        top: 10px;
        right: -10px;
    }
}

/* ========================================================= */
/* VANGUARD RESOURCES & POLICIES SECTION                     */
/* ========================================================= */

/* Card Setup & Accents */
.resource-card-primary {
    background-color: #f8fbfb; /* Very light clean clinical tint */
}

.card-accent-line {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 4px;
}
.bg-red { background-color: var(--logo-red) !important; }
.bg-navy { background-color: var(--logo-blue) !important; }

/* Secondary Cards Interaction */
.resource-card-secondary {
    transition: var(--transition);
}

.resource-card-secondary:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 35, 91, 0.08) !important;
    border-color: rgba(0, 35, 91, 0.1) !important;
}

/* External Links Styling */
.resource-external-link {
    color: var(--logo-blue);
    text-decoration: none;
    transition: var(--transition);
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px dashed transparent;
}

.resource-external-link:hover {
    color: var(--logo-red);
    transform: translateX(4px);
    border-bottom-color: var(--logo-red);
}

.resource-external-link i {
    transition: color 0.3s ease;
}

.resource-external-link:hover i {
    color: var(--logo-red) !important;
}

/* Help Desk Box */
.help-desk-box {
    border-color: rgba(0,0,0,0.08) !important;
}
.hover-underline:hover {
    text-decoration: underline !important;
}

/* Icons */
.icon-circle-large {
    width: 55px; height: 55px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .resource-card-primary { padding: 30px !important; }
    .resource-card-secondary { padding: 30px !important; }
}
/* ========================================================= */
/* VANGUARD CONTACT / FORM PAGE                              */
/* ========================================================= */

.bg-vanguard-light { background-color: #f8fbfb; }

/* Background Decorative Blobs */
.contact-bg-blob {
    position: absolute;
    width: 500px; height: 500px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
    z-index: 1;
}

.top-left { top: -150px; left: -150px; }
.bottom-right { bottom: -150px; right: -150px; }

.bg-navy-light { background: rgba(0, 35, 91, 0.05); }
.bg-red-light { background: rgba(168, 25, 30, 0.05); }

/* Form Card Styling */
.vanguard-form-card {
    border-top: 5px solid transparent; /* Replaced by absolute accent below for cleaner look */
    overflow: hidden;
}

.card-top-accent {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
}
.bg-red { background-color: var(--logo-red) !important; }

/* Premium Input Fields */
.vanguard-input {
    background-color: #fafcfc;
    border: 1px solid #e1e6ea;
    border-radius: 8px;
    padding: 14px 18px;
    font-size: 0.95rem;
    color: var(--logo-blue);
    transition: var(--transition);
}

.vanguard-input::placeholder {
    color: #99aab5;
}

.vanguard-input:focus {
    background-color: #ffffff;
    border-color: var(--logo-blue);
    box-shadow: 0 0 0 4px rgba(0, 35, 91, 0.08);
    outline: none;
}

/* Custom Checkboxes & Radios */
.vanguard-checkbox .form-check-input,
.vanguard-radio .form-check-input {
    width: 1.2rem;
    height: 1.2rem;
    border-color: #ccc;
    cursor: pointer;
}

.vanguard-checkbox .form-check-input:checked,
.vanguard-radio .form-check-input:checked {
    background-color: var(--logo-blue);
    border-color: var(--logo-blue);
}

.vanguard-checkbox .form-check-input:focus,
.vanguard-radio .form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(0, 35, 91, 0.2);
}

.vanguard-checkbox label a {
    text-decoration: none;
    font-weight: 600;
}

.vanguard-checkbox label a:hover {
    color: var(--logo-red) !important;
    text-decoration: underline;
}

/* Submit Button Override for Full Width */
.vanguard-btn-solid-navy.w-100 {
    display: block;
    text-align: center;
}

/* Responsive Fixes */
@media (max-width: 991px) {
    .vanguard-form-card { padding: 30px !important; }
}

/* ========================================================= */
/* VANGUARD VIDEO LIBRARY & QUOTE SECTION                    */
/* ========================================================= */

.vanguard-learn-more-area {
    background: linear-gradient(to bottom, #ffffff 0%, #fbfcff 100%);
}

.border-light-subtle {
    border-color: rgba(0, 35, 91, 0.05) !important;
}

/* Quote Section */
.vanguard-learn-more-area .fw-light {
    font-weight: 300;
}

/* Video Cards */
.vanguard-video-card {
    transition: var(--transition);
}

.vanguard-video-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 35, 91, 0.1) !important;
    border-color: rgba(168, 25, 30, 0.1) !important;
}

.vanguard-video-card iframe {
    transition: opacity 0.3s ease;
}

.vanguard-video-card:hover iframe {
    opacity: 0.9;
}

/* Mobile Adjustments */
@media (max-width: 991px) {
    .vanguard-learn-more-area .fs-4 { font-size: 1.25rem !important; }
}


/* ========================================================= */
/* VANGUARD LOCATIONS GRID PAGE                              */
/* ========================================================= */

.bg-vanguard-light { background-color: #f8fbfb; }

/* Grid Card Styling */
.location-grid-card {
    transition: var(--transition);
    overflow: hidden; /* Keeps the top accent line inside the rounded corners */
}

.location-grid-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 35, 91, 0.08) !important;
    border-color: rgba(0, 35, 91, 0.1) !important;
}

/* Accent Line at the top of each card */
.location-grid-card .card-top-accent {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
}
.bg-red { background-color: var(--logo-red) !important; }
.bg-navy { background-color: var(--logo-blue) !important; }

/* Medium Icon Circle */
.icon-circle-medium {
    width: 45px; height: 45px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
}

.bg-light-red { background-color: rgba(168, 25, 30, 0.08) !important; }
.bg-light-navy {background-color: rgb(117 28 130 / 71%) !important;
}

/* Link Hover States */
.hover-red { transition: var(--transition); }
.hover-red:hover { color: var(--logo-red) !important; }

/* Flex-grow utility ensures buttons stay at the bottom even if text length varies */
.location-grid-card .flex-grow-1 {
    flex-grow: 1;
}
/* ========================================================= */
/* VANGUARD FULL FAQ PAGE                                    */
/* ========================================================= */

html {
    scroll-behavior: smooth; /* Enables smooth scrolling when clicking sidebar links */
}

/* Sidebar Navigation */
.vanguard-category-nav .nav-link {
    color: var(--logo-blue);
    padding: 12px 20px;
    border-radius: 8px;
    font-weight: 600;
    transition: var(--transition);
    border-left: 3px solid transparent;
}

.vanguard-category-nav .nav-link:hover {
    background-color: #f8fbfb;
    color: var(--logo-red);
    padding-left: 25px; /* Slight slide effect */
}

.vanguard-category-nav .nav-link.active {
    background-color: rgba(168, 25, 30, 0.08);
    color: var(--logo-red);
    border-left-color: var(--logo-red);
}

/* FAQ Card Styles (Re-used & Optimized from Homepage) */
.vanguard-faq-card {
    transition: var(--transition);
    border-left: 4px solid transparent !important;
}

.vanguard-faq-card:hover {
    transform: translateX(5px);
    box-shadow: 0 10px 25px rgba(0, 35, 91, 0.05) !important;
}

.custom-vanguard-accordion .accordion-button {
    font-size: 1rem;
    background-color: transparent !important;
    box-shadow: none !important;
    transition: var(--transition);
}

.custom-vanguard-accordion .accordion-button:not(.collapsed) {
    color: var(--logo-red) !important;
}

.custom-vanguard-accordion .accordion-item:has(.accordion-button:not(.collapsed)) {
    border-left: 4px solid var(--logo-red) !important;
    background-color: #fff !important;
}

/* Custom Animated Plus/Minus Icons */
.custom-vanguard-accordion .accordion-button::after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300235B'%3E%3Cpath d='M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2z'/%3E%3C/svg%3E") !important;
    transition: transform 0.3s ease-in-out;
    background-size: contain;
}

.custom-vanguard-accordion .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23A8191E'%3E%3Cpath d='M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8z'/%3E%3C/svg%3E") !important;
    transform: rotate(180deg);
}

/* Help Box Buttons */
.vanguard-btn-outline-white {
    display: inline-block;
    background: transparent;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 5px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.vanguard-btn-outline-white:hover {
    background: #fff;
    color: var(--logo-blue);
}

/* Offset for Sticky Header when scrolling to anchors */
.faq-category-section {
    scroll-margin-top: 120px; 
}

/* Responsive Fixes */
@media (max-width: 991px) {
    .faq-sidebar-wrapper { position: relative; top: 0; margin-bottom: 30px; }
    .faq-category-section { scroll-margin-top: 80px; }
}

/* ========================================================= */
/* VANGUARD TMS THERAPY HERO SECTION                         */
/* ========================================================= */

.vanguard-tms-hero {
    min-height: 600px; /* Adjust height as needed */
    padding: 100px 0;
    overflow: hidden;
}

/* Background Setup */
.hero-bg-image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /* You need to replace 'assets/images/tms-hero-bg.jpg' with your actual image path */
}

/* Gradient Overlay - Darkens left side slightly for text readability */
.hero-gradient-overlay {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.4) 50%, transparent 100%);
}

/* Glassmorphism Content Box */
.tms-content-glassbox {
    background: rgba(255, 255, 255, 0.95); /* Slight transparency */
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.border-red { border-color: var(--logo-red) !important; }

/* Enhanced Red Button Styling */
.vanguard-btn-solid-red {
    background-color: var(--logo-red);
    color: #fff;
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
    border: 2px solid #ffffff;
}

.vanguard-btn-solid-red:hover {
    background-color: #fff;
    color: var(--logo-red);
    transform: translateY(-3px);
}

.vanguard-btn-solid-red:hover .icon-circle {
    background-color: var(--logo-red) !important;
    color: #fff !important;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .hero-gradient-overlay {
        background: rgba(255, 255, 255, 0.85); /* Solid overlay on mobile for text readability */
    }
    .tms-content-glassbox {
        background: #ffffff;
        backdrop-filter: none;
        padding: 30px !important;
    }
}

@media (max-width: 576px) {
    .vanguard-tms-hero .display-4 { font-size: 2.2rem; }
    .vanguard-btn-solid-red { font-size: 0.85rem; padding: 10px 15px; }
}

/* ========================================================= */
/* VANGUARD INTERACTIVE FEATURES SECTION (VERTICAL)          */
/* ========================================================= */

.bg-vanguard-light { background-color: #f8fbfb; }

/* The Clickable Pills (Tabs) */
.vanguard-feature-pills .nav-link {
    background-color: #ffffff;
    color: var(--logo-blue);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    overflow: hidden;
    border-left: 4px solid transparent !important;
}

.vanguard-feature-pills .nav-link:hover {
    transform: translateX(5px);
    box-shadow: 0 10px 25px rgba(0, 35, 91, 0.05) !important;
}

/* Default Icon Styling */
.feature-icon-box {
    width: 50px; height: 50px;
    border-radius: 50%;
    background-color: rgba(0, 35, 91, 0.05);
    color: var(--logo-blue);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem;
    transition: var(--transition);
}

.feature-subtitle { color: #6c757d; }

/* Active State of the Clicked Pill */
.vanguard-feature-pills .nav-link.active {
    background-color: var(--logo-blue) !important;
    color: #ffffff !important;
    border-left-color: var(--logo-red) !important;
    transform: translateX(10px);
    box-shadow: 0 15px 30px rgba(0, 35, 91, 0.15) !important;
}

.vanguard-feature-pills .nav-link.active .feature-icon-box {
    background-color: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.vanguard-feature-pills .nav-link.active .feature-subtitle {
    color: rgba(255, 255, 255, 0.7);
}

/* The Content Box on the Right */
.vanguard-feature-content {
    min-height: 420px; /* Thoda bada kiya hai taaki 4 tabs ka content perfectly fit ho */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.content-corner-accent {
    position: absolute;
    top: 0; right: 0;
    width: 60px; height: 60px;
    clip-path: polygon(100% 0, 0 0, 100% 100%); /* Creates a triangle corner */
    opacity: 0.8;
}

/* Fade in animation for tab content */
.tab-pane.fade.show {
    animation: fadeInSlideUp 0.5s ease forwards;
}

@keyframes fadeInSlideUp {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .vanguard-feature-pills { flex-direction: row !important; overflow-x: auto; padding-bottom: 10px; }
    .vanguard-feature-pills .nav-link { min-width: 260px; margin-right: 15px; }
    .vanguard-feature-pills .nav-link.active { transform: translateY(-5px) !important; }
    .vanguard-feature-content { min-height: auto; padding: 30px !important; }
    
    /* Hides scrollbar on mobile swipe */
    .vanguard-feature-pills::-webkit-scrollbar { display: none; }
}

/* ========================================================= */
/* VANGUARD TMS CONSULTATION SECTION                         */
/* ========================================================= */

.vanguard-consultation-area {
    background-color: #f8fbfb;
}

/* Image Wrapper Premium Styling */
.partners-image-wrapper {
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    overflow: hidden;
}

.partners-image-wrapper:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 35, 91, 0.12) !important;
    border-color: rgba(0, 35, 91, 0.1) !important;
}

/* Subtle Image Scale on Hover */
.hover-scale {
    transition: transform 0.5s ease;
}

.partners-image-wrapper:hover .hover-scale {
    transform: scale(1.03); /* Slight zoom-in for premium feel */
}

/* Rounded Pill Buttons override (to match screenshot specifically) */
.vanguard-consultation-area .rounded-pill {
    border-radius: 50px !important;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .vanguard-consultation-area .d-flex.flex-wrap {
        justify-content: center;
    }
    .vanguard-consultation-area .partners-image-wrapper {
        padding: 30px !important;
        margin-top: 20px;
    }
    .vanguard-consultation-area h2.display-6 {
        font-size: 2rem;
    }
}

/* ========================================================= */
/* VANGUARD TMS THERAPY SIDE EFFECTS SECTION                 */
/* ========================================================= */

.vanguard-tms-side-effects {
    overflow: hidden;
}

/* Re-using Form Card style for content focus */
.vanguard-tms-side-effects .vanguard-form-card {
    border-top: 5px solid transparent; /* Just for spacing, accent is absolute above */
    overflow: hidden;
}

/* Custom Checkmark Styling for side-effects page list */
.vanguard-tms-side-effects .vanguard-custom-list li .text-muted.small {
    font-size: 0.95rem; /* Slightly larger small text for better readability on long-form info */
}

/* Illustration Scaling on Hover */
.hover-scale-soft {
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hover-scale-soft:hover {
    transform: scale(1.03); /* Soft zoom-in to make image feel interactive */
}

/* Red Accent (already defined, but ensure it exists) */
.text-red { color: var(--logo-red) }
.bg-navy { background: linear-gradient(135deg, #580f8b 0%, #580f8b 100%) !important;}

/* Responsive Overrides */
@media (max-width: 991px) {
    .vanguard-tms-side-effects h2.display-5 {
        font-size: 2.5rem;
    }
    .vanguard-tms-side-effects .vanguard-form-card {
        padding: 30px !important;
    }
    .vanguard-tms-side-effects .vanguard-side-effects-illustration {
        margin-top: 30px;
    }
}

/* ========================================================= */
/* VANGUARD QUIZ (PHQ-9) PAGE STYLES                         */
/* ========================================================= */
.vg-quiz-header {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    min-height: 400px; /* Optional: Hero section ko thoda lamba dikhane ke liye */
}

/* Deep Navy gradient to make white text pop */
.vg-quiz-overlay {
    background: linear-gradient(to bottom, rgba(0, 35, 91, 0.8) 0%, rgba(0, 35, 91, 0.95) 100%);
}
.bg-vanguard-light { background-color: #f8fbfb; }
.bg-light-red { background-color: rgba(168, 25, 30, 0.1); }
.bg-light-navy { background-color: rgba(0, 35, 91, 0.1); }

/* Standard Input Styling */
.vg-input {
    background-color: #fcfcfc;
    border: 1px solid #e1e6ea;
    border-radius: 8px;
    font-size: 0.95rem;
    color: var(--logo-blue);
    transition: all 0.3s ease;
}
.vg-input:focus {
    background-color: #fff;
    border-color: var(--logo-red);
    box-shadow: 0 0 0 3px rgba(168, 25, 30, 0.1);
    outline: none;
}

/* Question Block Hover Effect */
.vg-question-block {
    transition: transform 0.3s ease, border-color 0.3s ease;
}
.vg-question-block:hover {
    border-color: rgba(0, 35, 91, 0.2) !important;
}

/* ========================================================= */
/* CUSTOM PREMIUM RADIO BUTTONS (The Selectable Cards)       */
/* ========================================================= */

.vg-radio-label {
    border: 2px solid #e1e6ea;
    color: #6c757d; /* Muted text default */
    background: #fff;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    padding: 12px 15px;
    cursor: pointer;
}

/* Hover state for options */
.vg-radio-label:hover {
    border-color: rgba(0, 35, 91, 0.4);
    color: var(--logo-blue);
    background-color: #f8fbfb;
}

/* ACTIVE/CHECKED STATE - Turns Vanguard Navy */
.btn-check:checked + .vg-radio-label {
    background-color: var(--logo-blue);
    border-color: var(--logo-blue);
    color: #fff;
    box-shadow: 0 5px 15px rgba(0, 35, 91, 0.25);
    transform: translateY(-2px);
}

/* Active State for the Yes/No buttons specifically (Red tint for Yes usually, but we keep it uniform Navy for clinical forms) */
.btn-check:focus + .vg-radio-label {
    box-shadow: 0 0 0 3px rgba(0, 35, 91, 0.15); /* Focus ring for accessibility */
}

/* Submit Button */
.vg-btn-red {
    background-color: var(--logo-red);
    color: #fff;
    transition: background 0.3s ease, transform 0.3s ease;
    border: none;
}
.vg-btn-red:hover {
    background-color: #580f8b;
    color: #fff;
    transform: translateY(-3px);
}

/* ========================================================= */
/* VANGUARD TEAM PAGE SPECIFIC CSS                           */
/* ========================================================= */

/* Team Page Hero Background */
.vg-team-header {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    min-height: 400px;
}

/* Premium Navy Overlay */
.vg-team-overlay {
    background: linear-gradient(to bottom, rgba(0, 35, 91, 0.8) 0%, rgba(0, 35, 91, 0.95) 100%);
}

/* ========================================================= */
/* VANGUARD SPRAVATO PHASES (IMAGE CARDS)                    */
/* ========================================================= */

.vg-phase-card {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    transform: translateZ(0); /* Prevents fluctuation */
}

.vg-phase-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2) !important;
}

.vg-phase-img-box img {
    transition: transform 0.4s ease;
    filter: drop-shadow(0 10px 15px rgba(0,35,91,0.05)); /* Adds soft shadow directly to the image */
}

.vg-phase-card:hover .vg-phase-img-box img {
    transform: scale(1.05); /* Slight zoom on image when hovering the card */
}

/* Border colors */
.border-red { border-color: var(--logo-red) !important; }
.border-navy { border-color: var(--logo-blue) !important; }

/* ========================================================= */
/* VANGUARD SPRAVATO PAGE SPECIFIC CSS                       */
/* ========================================================= */

/* General Utilities */
.bg-vanguard-light { background-color: #f8fbfb; }
.bg-light-red { background-color: rgba(168, 25, 30, 0.1); }
.bg-light-navy { background-color: rgba(0, 35, 91, 0.1); }

/* Input field inside hero */
.vg-input {
    background-color: #fff;
    color: var(--logo-blue);
}
.vg-input:focus {
    box-shadow: 0 0 0 3px rgba(168, 25, 30, 0.2) !important;
}

/* Red Button Standard */
.vg-btn-red {
    background-color: var(--logo-red);
    color: #fff;
    border: none;
    transition: background 0.3s ease, transform 0.3s ease;
}
.vg-btn-red:hover {
    background-color: #580f8b;
    color: #fff;
    transform: translateY(-2px);
}

/* White outline button inside Navy Box */
.vg-btn-white {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.3);
    transition: all 0.3s ease;
}
.vg-btn-white:hover {
    background: #fff;
    color: var(--logo-blue);
    border-color: #fff;
}

/* Treatment Session Step Circles */
.step-circle {
    width: 40px; 
    height: 40px; 
    border-radius: 50%;
    display: flex; 
    align-items: center; 
    justify-content: center;
    font-size: 1.1rem;
}

.step-list li {
    padding-bottom: 20px;
    position: relative;
}
/* Vertical Line connecting steps */
.step-list li:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 20px; /* Center of the 40px circle */
    top: 40px; /* Start below the circle */
    bottom: 0;
    width: 2px;
    background-color: rgba(0, 35, 91, 0.1);
}

/* Vanguard FAQ Overrides for Spravato layout */
/* Forces the accordion items to have spacing and background like cards */
.custom-vanguard-accordion .accordion-item.vanguard-faq-card {
    border-left: 4px solid transparent !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.custom-vanguard-accordion .accordion-item.vanguard-faq-card:hover {
    transform: translateX(5px);
    box-shadow: 0 10px 20px rgba(0,35,91,0.05) !important;
}
.custom-vanguard-accordion .accordion-button {
    background: transparent !important;
    box-shadow: none !important;
}
.custom-vanguard-accordion .accordion-button:not(.collapsed) {
    color: var(--logo-red) !important;
}
.custom-vanguard-accordion .accordion-item:has(.accordion-button:not(.collapsed)) {
    border-left-color: var(--logo-red) !important;
    background-color: #fff !important;
}

/* ========================================================= */
/* TMS THERAPY SPLIT HERO CSS                                */
/* ========================================================= */

.bg-vanguard-light { background-color: #f8fbfb; }

.badge-pill-navy {
    background-color: rgba(0, 35, 91, 0.1);
    color: var(--logo-blue);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 700;
}

/* Button Styling */
.vg-btn-red {
    background-color: var(--logo-red);
    border: 2px solid var(--logo-red);
}
.vg-btn-red:hover {
    background-color: #580f8b;
    border-color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px rgba(168, 25, 30, 0.2) !important;
}

/* Image Container & Offset Shape */
.vg-hero-image-container {
    padding-bottom: 30px; /* Space for the offset box */
    padding-right: 30px;  /* Space for the offset box */
}

/* Floating Trust Badge Animation */
.vg-floating-trust {
    animation: floatBadge 4s ease-in-out infinite;
    transform: translateZ(0); /* Anti-fluctuation */
}

@keyframes floatBadge {
    0% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
    100% { transform: translateY(0); }
}

/* Mobile Responsiveness for Image Section */
@media (max-width: 991px) {
    .vg-hero-image-container {
        padding-right: 0;
        margin-top: 20px;
    }
    .vg-offset-shape {
        right: -10px !important;
        top: 20px !important;
    }
    .vg-floating-trust {
        left: 50% !important;
        transform: translateX(-50%) !important;
        bottom: -20px !important;
        animation: none; /* Disable animation on mobile for better stability */
    }
}

/*<!-- Floating Video Consultant Button -->*/
.video-float-btn {
    position: fixed;
    bottom: 90px;
    right: 20px;
    width: 100px;
    height: 100px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
    z-index: 9999;
    transition: all 0.3s ease;
    animation: pulse 2s infinite;
}

.video-float-btn img {
    width: 100px;
    height: 100px;
}

/* Hover Effect */
.video-float-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 20px rgba(0,0,0,0.4);
}

/* Pulse Animation */
@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(88, 15, 139, 0.7);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(88, 15, 139, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(88, 15, 139, 0);
    }
}

/* Responsive */
@media (max-width: 768px) {
    .video-float-btn {
        width: 55px;
        height: 55px;
        bottom: 15px;
        right: 15px;
    }

    .video-float-btn img {
        width: 26px;
        height: 26px;
    }
}

.video-fit {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9; /* keeps perfect ratio */
}

.video-fit iframe {
    width: 100%;
    height: 100%;
    display: block;
}

.reviewer-img img {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
/* ========================================================= */
/* STORIES PAGE & INFINITE SCROLL CSS                        */
/* ========================================================= */

/* Huge subtle quote background inside cards */
.vg-quote-bg {
    font-size: 6rem;
    color: rgba(87, 6, 140, 0.03); /* Extremely faint NYU Violet */
    z-index: 0;
    pointer-events: none;
    transition: color 0.4s ease;
}

/* Review Card Hover Effects */
.vg-review-card {
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
    z-index: 1;
}

.vg-review-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.06) !important;
    border-color: rgba(87, 6, 140, 0.2) !important; /* Soft violet border on hover */
}

/* Make quote slightly darker violet on hover for a premium reveal effect */
.vg-review-card:hover .vg-quote-bg {
    color: rgba(87, 6, 140, 0.08); 
}

/* Circular Image specific tweaks (Optional, as Bootstrap handles most of it) */
.vg-review-card img.rounded-circle {
    transition: transform 0.3s ease;
}
.vg-review-card:hover img.rounded-circle {
    transform: scale(1.05); /* Slight zoom on the reviewer photo on card hover */
}

/* ========================================================= */
/* JAVASCRIPT ANIMATION CLASSES (For Infinite Scroll)        */
/* ========================================================= */

.fade-in-up {
    animation: fadeInUp 0.6s ease forwards;
    opacity: 0;
    transform: translateY(20px);
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Huge subtle quote background inside cards */
    .vg-quote-bg {
        font-size: 6rem;
        color: rgba(87, 6, 140, 0.03); /* Extremely faint NYU Violet */
        z-index: 0;
        pointer-events: none;
        transition: color 0.4s ease;
    }

    /* Review Card Hover Effects */
    .vg-review-card {
        transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
        z-index: 1;
    }

    .vg-review-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.06) !important;
        border-color: rgba(87, 6, 140, 0.2) !important; /* Soft violet border */
    }

    /* Make quote slightly darker violet on hover */
    .vg-review-card:hover .vg-quote-bg {
        color: rgba(87, 6, 140, 0.08); 
    }

    /* Circular Reviewer Image Zoom Effect */
    .vg-review-card img.rounded-circle {
        transition: transform 0.3s ease;
    }
    .vg-review-card:hover img.rounded-circle {
        transform: scale(1.1); 
    }

    /* Animation for Filter & Infinite Scroll */
    .fade-in-up {
        animation: fadeInUp 0.6s ease forwards;
        opacity: 0;
        transform: translateY(20px);
    }

    @keyframes fadeInUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    
    .whatsapp-float {
    position: fixed;
    bottom: 90px;
    right: 20px; /* LEFT SIDE */
    width: 60px;
    height: 60px;
    background-color: #25D366;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
    z-index: 9999;
    transition: all 0.3s ease;
    animation: wa-pulse 2s infinite;
}

/* Hover */
.whatsapp-float:hover {
    transform: scale(1.1);
    color: #fff;
}

/* Pulse Animation */
@keyframes wa-pulse {
    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);
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .whatsapp-float {
        width: 50px;
        height: 50px;
        font-size: 24px;
        bottom: 15px;
        left: 15px;
    }
}

a {
    text-decoration: none !important;
}

i {
    vertical-align: middle;
}

.vg-hover-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.vg-hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(87, 6, 140, 0.1) !important;
    background-color: #ffffff !important;
}

/* Typeform Style Quiz Option Cards */
.vg-radio-card {
    background-color: #f8f9fa;
    border: 2px solid #e2e8f0;
    color: var(--logo-blue);
    border-radius: 12px;
    padding: 15px 20px;
    font-size: 1.05rem;
    font-weight: 600;
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.vg-radio-card:hover {
    border-color: rgba(87, 6, 140, 0.4); /* Vanguard Violet */
    background-color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(87, 6, 140, 0.1);
}

/* Smooth Transition Animation */
.fade-in-up {
    animation: fadeInUpQuiz 0.5s ease forwards;
    opacity: 0;
    transform: translateY(15px);
}

@keyframes fadeInUpQuiz {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Custom Hover Effects for General Psychiatry Page */
    .vg-service-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        border-top: 4px solid transparent;
    }
    .vg-service-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 35px rgba(87, 6, 140, 0.1) !important;
        border-top: 4px solid var(--logo-red);
    }
    .vg-step-circle {
        width: 60px;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(87, 6, 140, 0.05);
        color: var(--logo-navy);
        font-size: 1.5rem;
        font-weight: bold;
        flex-shrink: 0;
    }
    
        /* ========================================================= */
    /* DOCTOR PROFILE CUSTOM CSS (MODERN & PREMIUM)              */
    /* ========================================================= */
    
    /* Perfect Circular Profile Image */
    .vg-profile-wrapper {
        position: relative;
        display: inline-block;
        margin-bottom: 1.5rem;
    }
    .vg-profile-circle {
        width: 240px;
        height: 240px;
        border-radius: 50%;
        object-fit: cover;
        border: 6px solid #ffffff;
        box-shadow: 0 10px 30px rgba(0,0,0,0.08);
        transition: transform 0.3s ease;
        background-color: #f8f9fa;
    }
    .vg-profile-wrapper:hover .vg-profile-circle {
        transform: scale(1.02);
    }
    .vg-verified-badge {
        position: absolute;
        bottom: 15px;
        right: 15px;
        background: #ffffff;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }

    /* Social Media Hover Icons */
    .vg-social-link {
        width: 42px;
        height: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background-color: #f0f2f5;
        color: var(--logo-navy, #2b1654);
        font-size: 1.1rem;
        transition: all 0.3s ease;
        text-decoration: none;
    }
    .vg-social-link:hover {
        background-color: var(--logo-navy, #2b1654);
        color: #ffffff;
        transform: translateY(-3px);
        box-shadow: 0 6px 15px rgba(43, 22, 84, 0.2);
    }

    /* Modern Content Cards */
    .vg-info-card {
        background: #ffffff;
        border-radius: 16px;
        padding: 30px;
        box-shadow: 0 5px 20px rgba(0,0,0,0.03);
        border: 1px solid rgba(0,0,0,0.05);
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
    }
    .vg-info-card:hover {
        box-shadow: 0 15px 35px rgba(0,0,0,0.06);
        border-color: rgba(43, 22, 84, 0.1);
    }
    /* Subtle Watermark Icon */
    .vg-watermark-icon {
        position: absolute;
        bottom: -20px;
        right: -20px;
        font-size: 7rem;
        color: var(--logo-navy, #2b1654);
        opacity: 0.04;
        z-index: 1;
        pointer-events: none;
    }

    /* Clinical Specialty Pills */
    .vg-specialty-pill {
        background-color: #f4f6f9;
        color: var(--logo-navy, #2b1654);
        padding: 10px 20px;
        border-radius: 50px;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        transition: all 0.3s ease;
        border: 1px solid #e9ecef;
        font-size: 0.95rem;
        cursor: default;
    }
    .vg-specialty-pill:hover {
        background-color: var(--logo-navy, #2b1654);
        color: #ffffff;
        border-color: var(--logo-navy, #2b1654);
        transform: translateY(-2px);
        box-shadow: 0 6px 12px rgba(43, 22, 84, 0.15);
    }
    .vg-specialty-pill i {
        color: var(--logo-red, #e63946);
        transition: color 0.3s ease;
    }
    .vg-specialty-pill:hover i {
        color: #ffffff;
    }
    
    /*Contact us page */
    
    .vg-contact-card {
            background: #ffffff;
            border-radius: 20px;
            padding: 35px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.03);
            border: 1px solid rgba(0,0,0,0.04);
            transition: all 0.3s ease;
            position: relative;
        }
        .vg-contact-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(43, 22, 84, 0.08);
            border-color: rgba(43, 22, 84, 0.1);
        }
        .vg-icon-wrapper {
            width: 45px;
            height: 45px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.3rem;
            flex-shrink: 0;
            background: rgba(43, 22, 84, 0.05);
            color: var(--logo-navy, #2b1654);
        }
        .vg-hover-pill {
            background-color: #ffffff;
            color: var(--logo-navy, #2b1654);
            border: 1.5px solid rgba(43, 22, 84, 0.2);
            padding: 10px 24px;
            border-radius: 50px;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            transition: all 0.3s ease;
            text-decoration: none;
            font-size: 0.95rem;
        }
        .vg-hover-pill:hover {
            background-color: var(--logo-navy, #2b1654);
            color: #ffffff;
            border-color: var(--logo-navy, #2b1654);
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(43, 22, 84, 0.15);
        }
        .vg-hover-pill i {
            color: var(--logo-red, #e63946);
            transition: color 0.3s ease;
        }
        .vg-hover-pill:hover i {
            color: #ffffff;
        }
        .vg-link-text {
            color: var(--logo-navy, #2b1654);
            font-weight: 600;
            text-decoration: underline;
            text-underline-offset: 4px;
            transition: color 0.2s ease;
        }
        .vg-link-text:hover {
            color: var(--logo-red, #e63946);
        }
        
         /* ========================================================= */
        /* PREMIUM POPUP STYLES                                      */
        /* ========================================================= */
        .vg-popup-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(43, 22, 84, 0.7); /* Deep Navy semi-transparent */
            backdrop-filter: blur(6px); /* Premium blur effect */
            z-index: 9999;
            display: none; /* Hidden by default */
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .vg-popup-box {
            background: #ffffff;
            padding: 50px 40px;
            border-radius: 24px;
            text-align: center;
            max-width: 450px;
            width: 90%;
            box-shadow: 0 20px 50px rgba(0,0,0,0.2);
            transform: translateY(30px) scale(0.9);
            transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
            position: relative;
        }

        /* Active classes applied via JS */
        .vg-popup-overlay.active {
            display: flex;
            opacity: 1;
        }
        .vg-popup-overlay.active .vg-popup-box {
            transform: translateY(0) scale(1);
        }

        .vg-popup-icon {
            width: 80px;
            height: 80px;
            background: rgba(46, 204, 113, 0.15); /* Soft Green */
            color: #2ecc71; /* Success Green */
            font-size: 2.5rem;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 25px auto;
            box-shadow: 0 0 0 10px rgba(46, 204, 113, 0.05);
        }