  * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Poppins', sans-serif;
        }

        :root {
            --primary-color: #0aa197;
            --secondary-color: #4d9ea9;
            --accent-color: #4d9ea9;
            --light-color: #f8f9fa;
            --dark-color: #212529;
            --success-color: #188841;
            --warning-color: #f59e0b;
            --gray-color: #6c757d;
            --light-gray: #e9ecef;
            --shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
            --transition: all 0.3s ease;
            --gradient-primary: linear-gradient(135deg, #52cbb6 0%, #12716e 100%);
            --gradient-success: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
            --gradient-warning: linear-gradient(135deg, #f59e0b 0%, #eab308 100%);
        }

        body {
            background-color: #f9fafc;
            color: var(--dark-color);
            line-height: 1.6;
            overflow-x: hidden;
        }

        .container {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Header Styles */
        header {
          background-color: white;

            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
            position: sticky;
            top: 0;
            z-index: 1000;
            animation: slideDown 0.5s ease;
        }

        @keyframes slideDown {
            from { transform: translateY(-100%); }
            to { transform: translateY(0); }
        }

        .navbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 0;
            position: relative;
        }



        /* Desktop Navigation */
        .desktop-menu {
            display: flex;
            align-items: center;
            gap: 40px;
        }

        .nav-links {
            display: flex;
            list-style: none;
            gap: 30px;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--dark-color);
            font-weight: 500;
            transition: var(--transition);
            position: relative;
            padding: 5px 0;
        }

        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--gradient-primary);
            transition: var(--transition);
        }

        .nav-links a:hover {
            color: var(--primary-color);
        }

        .nav-links a:hover::after {
            width: 100%;
        }

        .nav-buttons {
            display: flex;
            gap: 15px;
        }

        .btn {
            padding: 12px 28px;
            border-radius: 10px;
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition);
            border: none;
            font-size: 0.95rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        .btn-primary {
            background: var(--gradient-primary);
            color: white;
            box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3);
        }

        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(67, 97, 238, 0.4);
        }

        .btn-outline {
            background-color: transparent;
            color: var(--primary-color);
            border: 2px solid var(--primary-color);
        }

        .btn-outline:hover {
            background-color: var(--primary-color);
            color: white;
            transform: translateY(-3px);
        }

        /* Mobile Menu Button */
        .mobile-menu-btn {
            display: none;
            font-size: 1.5rem;
            cursor: pointer;
            color: var(--dark-color);
            background: none;
            border: none;
            padding: 8px;
            width: 44px;
            height: 44px;
            border-radius: 8px;
            transition: var(--transition);
            z-index: 1001;
        }

        .mobile-menu-btn:hover {
            background: var(--light-gray);
            color: var(--primary-color);
        }

        /* Mobile Menu Overlay */
        .mobile-menu-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 998;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .mobile-menu-overlay.active {
            display: block;
            opacity: 1;
        }

        /* Mobile Menu Content */
        .mobile-menu-content {
            position: fixed;
            top: 0;
            right: -100%;
            width: 85%;
            max-width: 400px;
            height: 100vh;
            background: white;
            z-index: 999;
            padding: 80px 25px 30px;
            overflow-y: auto;
            transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: -5px 0 30px rgba(0, 0, 0, 0.1);
        }

        .mobile-menu-content.active {
            right: 0;
        }

        .mobile-menu-close {
            position: absolute;
            top: 25px;
            right: 25px;
            background: none;
            border: none;
            font-size: 1.5rem;
            color: var(--gray-color);
            cursor: pointer;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
        }

        .mobile-menu-close:hover {
            background: var(--light-gray);
            color: var(--primary-color);
        }

        /* Mobile Navigation Styles */
        .mobile-user-info {
            display: flex;
            align-items: center;
            gap: 15px;
            padding: 20px;
            background: linear-gradient(135deg, rgba(67, 97, 238, 0.1) 0%, rgba(76, 201, 240, 0.1) 100%);
            border-radius: 12px;
            margin-bottom: 25px;
        }

        .mobile-user-avatar {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: var(--gradient-primary);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 1.5rem;
        }

        .mobile-user-details h4 {
            font-size: 1.1rem;
            margin-bottom: 5px;
            color: var(--dark-color);
        }

        .mobile-user-details p {
            font-size: 0.9rem;
            color: var(--gray-color);
        }

        .mobile-nav-links {
            list-style: none;
            margin-bottom: 30px;
        }

        .mobile-nav-links li {
            margin-bottom: 5px;
            animation: slideInRight 0.3s ease forwards;
            opacity: 0;
        }

        @keyframes slideInRight {
            from {
                opacity: 0;
                transform: translateX(20px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .mobile-nav-links li:nth-child(1) { animation-delay: 0.1s; }
        .mobile-nav-links li:nth-child(2) { animation-delay: 0.15s; }
        .mobile-nav-links li:nth-child(3) { animation-delay: 0.2s; }
        .mobile-nav-links li:nth-child(4) { animation-delay: 0.25s; }
        .mobile-nav-links li:nth-child(5) { animation-delay: 0.3s; }
        .mobile-nav-links li:nth-child(6) { animation-delay: 0.35s; }
        .mobile-nav-links li:nth-child(7) { animation-delay: 0.4s; }

        .mobile-nav-links a {
            display: flex;
            align-items: center;
            gap: 15px;
            padding: 15px 20px;
            text-decoration: none;
            color: var(--dark-color);
            font-weight: 500;
            border-radius: 12px;
            transition: var(--transition);
            font-size: 1.05rem;
        }

        .mobile-nav-links a:hover,
        .mobile-nav-links a.active {
            background: rgba(67, 97, 238, 0.1);
            color: var(--primary-color);
            transform: translateX(5px);
        }

        .mobile-nav-links a i {
            width: 24px;
            text-align: center;
            font-size: 1.2rem;
        }

        .mobile-nav-buttons {
            display: flex;
            flex-direction: column;
            gap: 15px;
            padding: 20px 0;
            border-top: 1px solid var(--light-gray);
            border-bottom: 1px solid var(--light-gray);
            margin-bottom: 30px;
        }

        .mobile-nav-buttons .btn {
            width: 100%;
            justify-content: center;
            padding: 14px;
            font-size: 1rem;
        }

        .mobile-menu-footer {
            text-align: center;
        }

        .mobile-menu-footer .social-icons {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-top: 20px;
        }

        .mobile-menu-footer .social-icons a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 45px;
            height: 45px;
            background-color: rgba(67, 97, 238, 0.1);
            border-radius: 50%;
            color: var(--primary-color);
            text-decoration: none;
            transition: var(--transition);
            font-size: 1.1rem;
        }

        .mobile-menu-footer .social-icons a:hover {
            background: var(--gradient-primary);
            color: white;
            transform: translateY(-3px);
        }

        /* Hero Section */
    /* ===== Hero Section - Pure CSS ===== */
.hero {
    padding: 100px 0 80px;
    background: linear-gradient(135deg, 
        rgba(248, 249, 255, 1) 0%, 
        rgba(240, 242, 255, 1) 50%, 
        rgba(232, 235, 255, 1) 100%);
    position: relative;
    overflow: hidden;
}

/* Background decorative elements */
.hero::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, 
        rgba(139, 92, 246, 0.1) 0%, 
        transparent 70%);
    z-index: 1;
}

.hero::after {
    content: '';
    position: absolute;
    bottom: -150px;
    left: -150px;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, 
        rgba(16, 185, 129, 0.08) 0%, 
        transparent 70%);
    z-index: 1;
}

.container {
    position: relative;
    z-index: 2;
}

.hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 60px;
}

/* Left Content Styles */
.hero-left {
    animation: fadeInLeft 0.8s ease-out forwards;
}

.trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: white;
    padding: 12px 24px;
    border-radius: 50px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #8b5cf6;
    border: 2px solid rgba(139, 92, 246, 0.2);
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.1);
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

.trust-badge:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(139, 92, 246, 0.2);
}

.trust-badge i {
    color: #10b981;
    font-size: 1.1rem;
}

.hero-title {
    font-size: 3.2rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
    color: #1a1a2e;
    font-family: 'Montserrat', sans-serif;
}

.highlight {
    background: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
    display: inline-block;
}

.highlight::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 8px;
    background: linear-gradient(90deg, 
        rgba(139, 92, 246, 0.2) 0%, 
        rgba(59, 130, 246, 0.1) 100%);
    border-radius: 4px;
    z-index: -1;
}

.hero-subtitle {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #4a5568;
    margin-bottom: 40px;
    max-width: 90%;
}

/* Features Grid */
.features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.feature-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
    border: 1px solid rgb(139 92 246 / 35%);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(to bottom, #8b5cf6, #3b82f6);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(139, 92, 246, 0.15);
}

.feature-card:hover::before {
    opacity: 1;
}

.feature-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.feature-card:nth-child(2) .feature-icon {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.feature-card:nth-child(3) .feature-icon {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.feature-card:nth-child(4) .feature-icon {
    background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
}

.feature-content h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 4px 0;
}

.feature-content p {
    font-size: 0.85rem;
    color: #718096;
    margin: 0;
}

/* Hero Actions */
.hero-actions {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.btn-lg {
    padding: 18px 32px;
    font-size: 1.1rem;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-lg:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(139, 92, 246, 0.25);
}

.btn-primary.btn-lg {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    border: none;
    color: white;
}

.btn-outline.btn-lg {
    background: transparent;
    border: 2px solid #8b5cf6;
    color: #8b5cf6;
}

.btn-outline.btn-lg:hover {
    background: rgba(139, 92, 246, 0.1);
}

/* Quick Stats */
.quick-stats {
    display: flex;
    gap: 30px;
    padding: 25px;
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(139, 92, 246, 0.15);
}

.stat {
    text-align: center;
    flex: 1;
    position: relative;
}

.stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background: rgba(0, 0, 0, 0.1);
}

.stat-number {
    font-size: 2.2rem;
    font-weight: 800;
    color: #18544e;
    margin-bottom: 5px;
    font-family: 'Montserrat', sans-serif;
}

.stat-label {
    font-size: 0.9rem;
    color: rgb(16 85 95 / 80%);
    font-weight: 500;
}

/* Right Content Styles */
.hero-right {
    animation: fadeInRight 0.8s ease-out 0.2s forwards;
    opacity: 0;
}

.visual-container {
    position: relative;
    height: 500px;
}

.main-visual {
    position: relative;
    height: 100%;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.main-visual:hover .hero-img {
    transform: scale(1.05);
}

.img-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    padding: 30px;
}

.overlay-content {
    display: flex;
    align-items: center;
    gap: 15px;
    color: white;
}

.overlay-content i {
    font-size: 2.5rem;
    color: #ff6b6b;
    animation: pulse 2s infinite;
}

.overlay-text {
    display: flex;
    flex-direction: column;
}

.overlay-text span {
    font-size: 1.2rem;
    font-weight: 600;
}

.overlay-text small {
    font-size: 0.9rem;
    opacity: 0.9;
}

/* Floating Badges */
.floating-badge {
    position: absolute;
    background: rgb(255 255 255 / 49%);
    padding: 15px 20px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    z-index: 2;
    animation: float 4s ease-in-out infinite;
    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(10px);
}

.grade-badge {
    top: -20px;
    left: -20px;
    animation-delay: 0s;
}

.award-badge {
    top: 50%;
    left: -30px;
    transform: translateY(-50%);
    animation-delay: 1s;
}

.safety-badge {
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    animation-delay: 2s;
}

.badge-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.grade-badge .badge-icon {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}

.award-badge .badge-icon {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.safety-badge .badge-icon {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.badge-content h5 {
    font-size: 1rem;
    font-weight: 700;
    color: #0e454e;
    margin: 0;
}

.badge-content p {
    font-size: 0.85rem;
    color: #694d4c;
    margin: 2px 0 0;
}

/* Age Navigation */
.age-navigation {
    background: white;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.15);
}

.age-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 25px;
    text-align: center;
}

.age-buttons {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 15px;
}

.age-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 15px;
    background: rgba(139, 92, 246, 0.05);
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.age-btn:hover {
    background: rgba(139, 92, 246, 0.1);
    transform: translateY(-5px);
    border-color: rgba(139, 92, 246, 0.3);
}

.age-btn.active {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    color: white;
}

.age-btn i {
    font-size: 1.8rem;
    margin-bottom: 10px;
    color: #8b5cf6;
}

.age-btn.active i {
    color: white;
}

.age-btn span {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 4px;
    color: #1a1a2e;
}

.age-btn.active span {
    color: white;
}

.age-btn small {
    font-size: 0.85rem;
    color: #718096;
}

.age-btn.active small {
    color: rgba(255, 255, 255, 0.9);
}

/* Animations */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-15px) rotate(2deg);
    }
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

/* Responsive Design */
@media (max-width: 1200px) {
    .hero-content {
        gap: 40px;
    }
    
    .hero-title {
        font-size: 2.8rem;
    }
    
    .age-buttons {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    .hero {
        padding: 80px 0 60px;
    }
    
    .hero-content {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    
    .hero-title {
        font-size: 2.5rem;
        text-align: center;
    }
    
    .hero-subtitle {
        text-align: center;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    
    .features-grid {
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .hero-actions {
        justify-content: center;
    }
    
    .quick-stats {
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .hero-right {
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .visual-container {
        height: 400px;
    }
    
    .floating-badge {
        transform: scale(0.9);
    }
    
    .grade-badge {
        left: 10px;
        top: 10px;
    }
    
    .award-badge {
        right: 10px;
        top: 120px;
    }
    
   .safety-badge {
        left: 50%;
        transform: translateX(-50%) scale(0.9);
        bottom: 10px;
    }
    
    .age-buttons {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .hero {
        padding: 60px 0 40px;
    }
    
    .hero-title {
        font-size: 2.2rem;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .hero-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .btn-lg {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
    
    .quick-stats {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    
    .stat:not(:last-child)::after {
        display: none;
    }
    
    .visual-container {
        height: 350px;
    }
    
    .floating-badge {
        display: none;
    }
    
    .age-buttons {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .hero-title {
        font-size: 1.8rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    .feature-card {
        padding: 15px;
    }
    
    .feature-icon {
        width: 45px;
        height: 45px;
        font-size: 1rem;
    }
    
    .stat-number {
        font-size: 1.8rem;
    }
    
    .visual-container {
        height: 300px;
    }
}

        /* Section Titles */
        .section-title {
            text-align: center;
            margin-bottom: 60px;
            position: relative;
        }

        .section-title h2 {
            font-size: 2.5rem;
            color: var(--dark-color);
            margin-bottom: 15px;
            font-weight: 700;
            position: relative;
            display: inline-block;
        }

        .section-title h2::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 60px;
            height: 4px;
            background: var(--gradient-primary);
            border-radius: 2px;
        }

        .section-title p {
            color: var(--gray-color);
            max-width: 600px;
            margin: 0 auto;
            font-size: 1.05rem;
        }

        /* Categories Section */
        .categories {
            padding: 100px 0;
            background: white;
        }

        .categories-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 25px;
        }

        .category-card {
            background-color: white;
            border-radius: 16px;
            padding: 35px 25px;
            text-align: center;
            box-shadow: var(--shadow);
            transition: var(--transition);
            cursor: pointer;
            border: 2px solid transparent;
            position: relative;
            overflow: hidden;
        }

        .category-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: var(--gradient-primary);
            transform: scaleX(0);
            transition: var(--transition);
            transform-origin: left;
        }

        .category-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
            border-color: rgba(67, 97, 238, 0.1);
        }

        .category-card:hover::before {
            transform: scaleX(1);
        }

        .category-icon {
            width: 80px;
            height: 80px;
            background: linear-gradient(135deg, rgba(67, 97, 238, 0.1) 0%, rgba(76, 201, 240, 0.1) 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 25px;
            font-size: 2rem;
            color: var(--primary-color);
            transition: var(--transition);
        }

        .category-card:hover .category-icon {
            background: var(--gradient-primary);
            color: white;
            transform: scale(1.1) rotate(5deg);
        }

        .category-card h3 {
            margin-bottom: 10px;
            font-size: 1.3rem;
            font-weight: 600;
            color: var(--dark-color);
        }

        .category-card p {
            color: var(--gray-color);
            font-size: 0.9rem;
            line-height: 1.5;
        }

        /* Featured Courses */
        .featured-courses {
            padding: 20px 0;
            background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
        }

        .courses-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 30px;
            margin-bottom: 50px;
        }

        .course-card {
            background-color: white;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: var(--shadow);
            transition: var(--transition);
            position: relative;
            border: 2px solid #90cbc3;;
        }

        .course-card:hover {
            transform: translateY(-12px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
            border-color: var(--accent-color);
        }

        .course-badge {
            position: absolute;
            top: 15px;
            left: 15px;
            background: var(--primary-color);
            color: white;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 700;
            z-index: 2;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            box-shadow: 0 4px 12px rgba(67, 97, 238, 0.3);
        }

        .course-badge.hot {
            background: linear-gradient(135deg, #ff6b6b 0%, #ff8e8e 100%);
        }

        .course-img {
            height: 200px;
            overflow: hidden;
            position: relative;
        }

        .course-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
        }

        .course-card:hover .course-img img {
            transform: scale(1.08);
        }

        .course-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
            display: flex;
            align-items: flex-end;
            justify-content: center;
            opacity: 0;
            transition: var(--transition);
            padding: 20px;
        }

        .course-card:hover .course-overlay {
            opacity: 1;
        }

        .preview-btn {
            background: white;
            color: var(--primary-color);
            padding: 10px 24px;
            border-radius: 30px;
            font-weight: 600;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: var(--transition);
            transform: translateY(20px);
        }

        .course-card:hover .preview-btn {
            transform: translateY(0);
        }

        .preview-btn:hover {
            background: var(--primary-color);
            color: white;
            transform: scale(1.05);
        }

        .course-content {
            padding: 25px;
        }

        .course-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }

        .course-category {
            background-color: rgba(67, 97, 238, 0.1);
            color: var(--primary-color);
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.9rem;
            font-weight: 600;
        }
        
        /* Mobile devices (up to 576px) */
@media (max-width: 576px) {
    .course-category {
        font-size: 1.2rem;
    }
}

/* Tablets (577px to 991px) */
@media (min-width: 577px) and (max-width: 991px) {
    .course-category {
        font-size: 1.2rem;
    }
}


        .course-level {
            display: flex;
            align-items: center;
            gap: 5px;
            font-size: 1.0rem;
            color: var(--gray-color);
            background: var(--light-gray);
            padding: 5px 12px;
            border-radius: 12px;
        }

        .course-title {
            font-size: 1.3rem;
            margin-bottom: 15px;
            line-height: 1.4;
            color: var(--dark-color);
            font-weight: 600;
            height: 60px;
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }

        .course-instructor {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 15px;
            padding-bottom: 15px;
            border-bottom: 1px solid var(--light-gray);
        }

        .course-instructor img {
            width: 45px;
            height: 45px;
            border-radius: 50%;
            object-fit: cover;
            border: 3px solid white;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }

        .instructor-info {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        .instructor-name {
            font-weight: 600;
            font-size: 0.95rem;
            color: var(--dark-color);
        }

        .instructor-title {
            font-size: 0.8rem;
            color: var(--gray-color);
        }

        .course-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }

        .course-rating {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .stars {
            display: flex;
            align-items: center;
            gap: 5px;
            color: var(--warning-color);
        }

        .rating-number {
            font-weight: 700;
            color: var(--dark-color);
            margin-left: 5px;
            font-size: 1rem;
        }

        .reviews {
            font-size: 0.8rem;
            color: var(--gray-color);
        }

        .course-duration {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.9rem;
            color: var(--gray-color);
            background: var(--light-gray);
            padding: 6px 12px;
            border-radius: 8px;
        }

        .course-description {
            font-size: 0.9rem;
            color: var(--gray-color);
            margin-bottom: 20px;
            line-height: 1.5;
            height: 45px;
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }

        .course-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 15px;
            padding-top: 15px;
            border-top: 1px solid var(--light-gray);
        }

        .course-price {
            display: flex;
            flex-direction: column;
            gap: 5px;
        }

        .current-price {
            font-size: 1.6rem;
            font-weight: 800;
            color: var(--primary-color);
            line-height: 1;
        }

        .original-price {
            font-size: 0.9rem;
            color: var(--gray-color);
            text-decoration: line-through;
        }

        .discount {
            background: var(--gradient-success);
            color: white;
            padding: 3px 10px;
            border-radius: 12px;
            font-size: 0.75rem;
            font-weight: 700;
            display: inline-block;
            width: fit-content;
        }

        .btn-buy-now {
            background: var(--gradient-primary);
            color: white;
            padding: 12px 24px;
            border-radius: 10px;
            font-weight: 700;
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 10px;
            transition: var(--transition);
            box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3);
            font-size: 1.1rem;
        }

        .btn-buy-now:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(67, 97, 238, 0.4);
        }

        .view-all-container {
            text-align: center;
            margin-top: 30px;
        }

        .btn-view-all {
            background: transparent;
            color: var(--primary-color);
            border: 2px solid var(--primary-color);
            padding: 14px 36px;
            border-radius: 10px;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            transition: var(--transition);
            font-size: 1rem;
        }

        .btn-view-all:hover {
            background: var(--primary-color);
            color: white;
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(67, 97, 238, 0.2);
        }

        /* Testimonials */
        .testimonials {
            padding: 100px 0;
            background: white;
            position: relative;
        }

        .testimonials::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 150px;
            background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
            z-index: 0;
        }

        .testimonials .container {
            position: relative;
            z-index: 1;
        }

        .testimonials-slider {
            display: flex;
            gap: 30px;
            overflow-x: auto;
            padding: 30px 10px;
            scrollbar-width: thin;
            scrollbar-color: var(--primary-color) var(--light-gray);
        }

        .testimonials-slider::-webkit-scrollbar {
            height: 8px;
        }

        .testimonials-slider::-webkit-scrollbar-track {
            background: var(--light-gray);
            border-radius: 10px;
        }

        .testimonials-slider::-webkit-scrollbar-thumb {
            background: var(--gradient-primary);
            border-radius: 10px;
        }

        .testimonial-card {
            min-width: 350px;
            background-color: white;
            border-radius: 16px;
            padding: 35px;
            box-shadow: var(--shadow);
            transition: var(--transition);
            border: 1px solid transparent;
            position: relative;
        }

        .testimonial-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
            border-color: var(--accent-color);
        }

        .testimonial-card::before {
            content: '"';
            position: absolute;
            top: 20px;
            right: 30px;
            font-size: 5rem;
            color: var(--primary-color);
            opacity: 0.1;
            font-family: serif;
            font-weight: 900;
        }

        .testimonial-header {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 25px;
        }

        .testimonial-avatar {
            width: 70px;
            height: 70px;
            border-radius: 50%;
            object-fit: cover;
            border: 4px solid white;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }

        .testimonial-info h4 {
            margin-bottom: 5px;
            font-size: 1.1rem;
            font-weight: 600;
            color: var(--dark-color);
        }

        .testimonial-info p {
            color: var(--gray-color);
            font-size: 0.9rem;
            font-weight: 500;
        }

        .testimonial-text {
            font-style: italic;
            color: var(--gray-color);
            line-height: 1.7;
            margin-bottom: 20px;
            position: relative;
            z-index: 1;
        }

        .testimonial-rating {
            color: var(--warning-color);
            font-size: 1.1rem;
            display: flex;
            gap: 5px;
        }

        /* CTA Section */
        .cta-section {
            padding: 100px 0;
            background: var(--gradient-primary);
            color: white;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .cta-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none"><path d="M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z" opacity=".25" fill="white"/></svg>');
            background-size: cover;
            background-position: center;
            opacity: 0.1;
        }

        .cta-content {
            position: relative;
            z-index: 1;
        }

        .cta-content h2 {
            font-size: 2.8rem;
            margin-bottom: 20px;
            font-weight: 700;
            text-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .cta-content p {
            max-width: 700px;
            margin: 0 auto 40px;
            font-size: 1.1rem;
            opacity: 0.9;
            line-height: 1.6;
        }

        .btn-light {
            background: white;
            color: var(--primary-color);
            padding: 16px 40px;
            border-radius: 12px;
            font-weight: 700;
            border: none;
            cursor: pointer;
            transition: var(--transition);
            box-shadow: 0 8px 25px rgba(0,0,0,0.2);
            font-size: 1.05rem;
        }

        .btn-light:hover {
            background: var(--light-color);
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(0,0,0,0.3);
        }

        /* Footer */
        footer {
            background: var(--dark-color);
            color: white;
            padding: 80px 0 30px;
            position: relative;
        }

        footer::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 5px;
            background: var(--gradient-primary);
        }

        .footer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 50px;
            margin-bottom: 60px;
        }

        .footer-column h3 {
            font-size: 1.3rem;
            margin-bottom: 25px;
            position: relative;
            padding-bottom: 15px;
            font-weight: 700;
        }

        .footer-column h3::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 40px;
            height: 3px;
            background: var(--accent-color);
            border-radius: 2px;
        }

        .footer-column p {
            color: #b0b7c3;
            line-height: 1.7;
            margin-bottom: 20px;
        }

        .footer-links {
            list-style: none;
        }

        .footer-links li {
            margin-bottom: 12px;
        }

        .footer-links a {
            color: #b0b7c3;
            text-decoration: none;
            transition: var(--transition);
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .footer-links a:hover {
            color: white;
            padding-left: 5px;
        }

        .footer-links i {
            width: 20px;
            color: var(--accent-color);
        }

        .social-icons {
            display: flex;
            gap: 15px;
            margin-top: 25px;
        }

        .social-icons a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 45px;
            height: 45px;
            background-color: rgba(255, 255, 255, 0.1);
            border-radius: 50%;
            color: white;
            text-decoration: none;
            transition: var(--transition);
            font-size: 1.1rem;
        }

        .social-icons a:hover {
            background: var(--gradient-primary);
            transform: translateY(-5px) rotate(5deg);
            box-shadow: 0 8px 20px rgba(67, 97, 238, 0.3);
        }

        .footer-bottom {
            text-align: center;
            padding-top: 30px;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            color: #b0b7c3;
            font-size: 0.9rem;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .footer-bottom a {
            color: var(--accent-color);
            text-decoration: none;
            transition: var(--transition);
        }

        .footer-bottom a:hover {
            text-decoration: underline;
        }

        /* Responsive Design */
        @media (max-width: 1200px) {
            .container {
                max-width: 960px;
            }
            
            .hero-text h1 {
                font-size: 2.8rem;
            }
            
            .courses-grid {
                grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
            }
        }

        @media (max-width: 992px) {
            .hero-content {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 40px;
            }

            .hero-text h1 {
                font-size: 2.5rem;
            }

            .hero-text p {
                max-width: 100%;
                margin: 0 auto 30px;
            }

            .hero-stats {
                margin: 0 auto;
                flex-wrap: wrap;
                justify-content: center;
            }

            .hero-image {
                max-width: 600px;
                margin: 0 auto;
            }
            
            .categories-grid {
                grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
            }
            
            .testimonial-card {
                min-width: 320px;
            }
        }

        @media (max-width: 868px) {
            /* Hide desktop navigation */
            .desktop-menu {
                display: none;
            }
            
            /* Show mobile menu button */
            .mobile-menu-btn {
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }

        @media (max-width: 768px) {
            .hero-text h1 {
                font-size: 2.3rem;
            }
            
            .hero-stats {
                flex-direction: column;
                gap: 20px;
                padding: 20px;
            }
            
            .stat-item {
                text-align: center;
            }

            .section-title h2 {
                font-size: 2rem;
            }

            .hero-buttons {
                flex-direction: column;
                align-items: center;
            }

            .hero-buttons .btn {
                width: 100%;
                max-width: 300px;
            }
            
            .courses-grid {
                grid-template-columns: 1fr;
                max-width: 500px;
                margin: 0 auto 40px;
            }
            
            .course-card {
                max-width: 100%;
            }
            
            .testimonial-card {
                min-width: 300px;
            }
            
            .footer-content {
                grid-template-columns: 1fr;
                gap: 40px;
            }
            
            .mobile-menu-content {
                width: 90%;
            }
        }

        @media (max-width: 576px) {
            .hero {
                padding: 80px 0;
            }
            
            .hero-text h1 {
                font-size: 2rem;
            }
            
            .hero-text p {
                font-size: 1rem;
            }
            
            .section-title h2 {
                font-size: 1.8rem;
            }
            
            .section-title p {
                font-size: 0.95rem;
            }
            
            .categories-grid {
                grid-template-columns: 1fr;
            }
            
            .cta-content h2 {
                font-size: 2rem;
            }
            
            .cta-content p {
                font-size: 1rem;
            }
            
            .btn {
                padding: 10px 20px;
            }
            
            .btn-buy-now {
                padding: 10px 18px;
                font-size: 1.3rem;
            }
            
            .course-footer {
                flex-direction: column;
                gap: 15px;
                align-items: stretch;
            }
            
            .btn-buy-now {
                width: 100%;
                justify-content: center;
                height: 70px;
            }
            
            .mobile-user-info {
                flex-direction: column;
                text-align: center;
                padding: 25px 20px;
            }
            
            .mobile-user-details {
                text-align: center;
            }
        }

        /* Animation */
        @keyframes fadeIn {
            from { 
                opacity: 0; 
                transform: translateY(30px); 
            }
            to { 
                opacity: 1; 
                transform: translateY(0); 
            }
        }

        .fade-in {
            animation: fadeIn 0.8s ease forwards;
            opacity: 0;
        }

        /* Custom scrollbar */
        ::-webkit-scrollbar {
            width: 10px;
        }

        ::-webkit-scrollbar-track {
            background: #f1f1f1;
        }

        ::-webkit-scrollbar-thumb {
            background: var(--gradient-primary);
            border-radius: 5px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: var(--secondary-color);
        }
        
        /* ==================== */
        /* MODAL STYLES - FIXED */
        /* ==================== */
        
        /* Modal Overlay - Fixed */
        .modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.7);
            backdrop-filter: blur(5px);
            z-index: 3000;
            animation: fadeIn 0.3s ease;
            overflow-y: auto;
        }

        .modal-overlay.active {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }

        /* Modal Content - Fixed */
        .modal-content {
            background: white;
            border-radius: 20px;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            overflow-y: auto;
            animation: slideUp 0.4s ease;
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
            position: relative;
            z-index: 3001;
            margin: auto;
        }

        /* Modal Animations */
        @keyframes slideUp {
            from {
                opacity: 0;
                transform: translateY(50px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Modal Close Button */
        .modal-close {
            position: absolute;
            top: 20px;
            right: 20px;
            background: none;
            border: none;
            font-size: 2rem;
            color: var(--gray-color);
            cursor: pointer;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
            z-index: 10;
        }

        .modal-close:hover {
            background: var(--light-gray);
            color: var(--primary-color);
            transform: rotate(90deg);
        }

        /* Modal Header */
        .modal-header {
            padding: 30px 30px 20px;
            text-align: center;
            border-bottom: 1px solid var(--light-gray);
        }

        .modal-header h2 {
            color: var(--dark-color);
            margin-bottom: 10px;
            font-size: 1.8rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        .modal-header p {
            color: var(--gray-color);
            font-size: 0.95rem;
        }

        /* Modal Body */
        .modal-body {
            padding: 30px;
        }

        /* Form Styles */
        .form-group {
            margin-bottom: 25px;
        }

        .form-row {
            display: flex;
            gap: 15px;
        }

        .form-col {
            flex: 1;
        }

        .form-group label {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 10px;
            font-weight: 600;
            color: var(--dark-color);
        }

        .form-group label i {
            color: var(--primary-color);
            width: 20px;
        }

        .form-group input {
            width: 100%;
            padding: 15px 20px;
            border: 2px solid var(--light-gray);
            border-radius: 12px;
            font-size: 1rem;
            transition: var(--transition);
            background: white;
        }

        .form-group input:focus {
            outline: none;
            border-color: var(--primary-color);
            box-shadow: 0 0 0 3px rgba(10, 161, 151, 0.1);
        }

        /* Validation States */
        .form-group input.valid {
            border-color: var(--success-color);
            background: linear-gradient(to right, rgba(74, 222, 128, 0.1) 0%, transparent 5%);
        }

        .form-group input.invalid {
            border-color: #ef4444;
            background: linear-gradient(to right, rgba(239, 68, 68, 0.1) 0%, transparent 5%);
        }

        /* Validation Messages */
        .validation-message {
            margin-top: 8px;
            font-size: 0.85rem;
            min-height: 20px;
            opacity: 1 !important;
            visibility: visible !important;
            display: block !important;
        }

        .validation-message.success {
            color: var(--success-color);
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .validation-message.error {
            color: #ef4444;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .validation-message i {
            font-size: 0.9rem;
        }

        /* Username Availability Check */
        .availability-check {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .availability-check .available {
            color: var(--success-color);
        }

        .availability-check .not-available {
            color: #ef4444;
        }

        /* Password Requirements - FIXED for visibility */
        .password-requirements {
            display: grid !important;
            gap: 8px;
            margin-top: 10px;
            padding: 15px;
            background: #f8f9fa;
            border-radius: 8px;
            border: 1px solid #e9ecef;
            opacity: 1 !important;
            visibility: visible !important;
            max-height: 200px;
            transition: all 0.3s ease;
        }

        /* Ensure password message is always visible */
        #passwordMessage {
            opacity: 1 !important;
            visibility: visible !important;
            display: block !important;
            max-height: 200px;
            overflow: visible !important;
        }

        /* Password requirement items */
        .requirement {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.8rem;
            transition: var(--transition);
            opacity: 1 !important;
            visibility: visible !important;
        }

        .requirement.valid {
            color: var(--success-color);
        }

        .requirement.invalid {
            color: #6b7280;
        }

        .requirement-icon {
            width: 16px;
            height: 16px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
            background: #e5e7eb;
            color: #6b7280;
            flex-shrink: 0;
            transition: var(--transition);
        }

        .requirement.valid .requirement-icon {
            background: var(--success-color);
            color: white;
        }

        /* Password validation summary */
        .password-validation-summary {
            margin-top: 10px;
            padding: 10px;
            border-radius: 8px;
            background: #f8f9fa;
            font-size: 0.85rem;
        }

        .password-validation-summary.valid {
            background: rgba(74, 222, 128, 0.1);
            color: var(--success-color);
        }

        .password-validation-summary.invalid {
            background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
        }

        /* Submit Button */
        .btn-submit {
            width: 100%;
            padding: 16px;
            font-size: 1.1rem;
            margin-top: 10px;
            transition: var(--transition);
        }

        .btn-submit:disabled {
            opacity: 0.5;
            cursor: not-allowed;
            transform: none !important;
            box-shadow: none !important;
        }

        /* Modal Footer */
        .modal-footer {
            padding: 20px 30px;
            text-align: center;
            border-top: 1px solid var(--light-gray);
            color: var(--gray-color);
            font-size: 0.9rem;
        }

        .modal-footer a {
            color: var(--primary-color);
            text-decoration: none;
            font-weight: 600;
            transition: var(--transition);
            font-size: 1.1rem;
        }

        .modal-footer a:hover {
            text-decoration: underline;
        }

        /* Success Modal - Fixed */
        .success-modal {
            text-align: center;
            padding: 40px 30px;
            max-width: 400px;
        }

        .success-modal .btn-primary {
            margin-top: 10px;
            width: auto;
            padding: 14px 30px;
        }

        .success-icon {
            font-size: 4rem;
            color: var(--success-color);
            margin-bottom: 20px;
            animation: bounce 1s ease;
        }

        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% {
                transform: translateY(0);
            }
            40% {
                transform: translateY(-20px);
            }
            60% {
                transform: translateY(-10px);
            }
        }

        .success-modal h2 {
            color: var(--dark-color);
            margin-bottom: 15px;
            font-size: 1.8rem;
        }

        .success-modal p {
            color: var(--gray-color);
            margin-bottom: 30px;
            line-height: 1.6;
        }

        /* Password validation animations */
        @keyframes pulseSuccess {
            0% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7); }
            70% { box-shadow: 0 0 0 10px rgba(74, 222, 128, 0); }
            100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
        }

        .requirement.validating {
            opacity: 0.7;
            transform: translateX(5px);
        }

        /* Enable/disable confirm password field */
        #confirmPassword:disabled {
            background-color: #f8f9fa;
            cursor: not-allowed;
            opacity: 0.7;
        }

        #confirmPassword:enabled {
            background-color: white;
            cursor: text;
            opacity: 1;
        }

        /* FIX for Password Requirements Visibility */
        /* Ensure password requirements are always visible when password field has focus or content */
        #password:focus ~ #passwordMessage,
        #password:valid ~ #passwordMessage,
        #password:not(:placeholder-shown) ~ #passwordMessage {
            opacity: 1 !important;
            visibility: visible !important;
            display: block !important;
            max-height: 200px !important;
            overflow: visible !important;
        }

        /* Responsive Design for Modal */
        @media (max-width: 576px) {
            .modal-content {
                width: 95%;
                margin: 10px;
            }
            
            .form-row {
                flex-direction: column;
                gap: 20px;
            }
            
            .modal-header h2 {
                font-size: 1.5rem;
            }
            
            .success-modal {
                padding: 30px 20px;
            }
            
            .success-modal h2 {
                font-size: 1.5rem;
            }
            
            .success-icon {
                font-size: 3rem;
            }
            
            /* Adjust password requirements for mobile */
            .password-requirements {
                padding: 10px;
                gap: 6px;
            }
            
            .requirement {
                font-size: 0.75rem;
            }
        }

        @media (max-width: 400px) {
            .modal-content {
                width: 100%;
                border-radius: 10px;
            }
            
            .modal-body {
                padding: 20px;
            }
            
            .modal-header {
                padding: 20px 20px 15px;
            }
            
            .password-requirements {
                padding: 8px;
            }
        }
        
        /* Course Details Specific Styles */
.course-details-hero {
    padding: 20px 0;
    background: linear-gradient(135deg, #f5f7ff 0%, #eef1ff 100%);
    position: relative;
    overflow: hidden;
}

.course-details-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 70%;
    height: 200%;
    opacity: 0.1;
    transform: rotate(12deg);
    z-index: 0;
}

.course-header {
    display: flex;
    gap: 40px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.course-badge-large {
    color: #1ea290;
    padding: 10px 25px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1.1rem;
    display: inline-block;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        border: 2px solid #1ea290;
}

.course-title-large {
    font-size: 3rem;
    line-height: 1.2;
    margin-bottom: 20px;
    color: var(--dark-color);
    font-weight: 800;
}

.course-meta-info {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--gray-color);
    font-weight: 500;
}

.course-description-long {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--gray-color);
    margin-bottom: 40px;
    max-width: 800px;
}

.course-image-large {
    flex: 0 0 500px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0,0,0,0.15);
}

.course-image-large img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    transition: var(--transition);
}

.course-image-large:hover img {
    transform: scale(1.05);
}

/* Pricing Section */
.pricing-card {
    background: white;
    border-radius: 20px;
    padding: 40px;
    box-shadow: var(--shadow);
    text-align: center;
    position: sticky;
    top: 100px;
}

.price-display {
    margin-bottom: 30px;
}

.current-price-large {
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
}

.original-price-large {
    font-size: 1.5rem;
    color: var(--gray-color);
    text-decoration: line-through;
    margin-bottom: 10px;
}

.discount-large {
    color: white;
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 1.1rem;
    display: inline-block;
}

.btn-enroll {
    color: white;
    padding: 18px 40px;
    border-radius: 12px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: 1.2rem;
    width: 100%;
    transition: var(--transition);
    margin-bottom: 20px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

.btn-enroll:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.3);
}

.money-back {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--gray-color);
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.money-back i {
    color: var(--success-color);
}

/* Course Content Section */
.course-content-section {
    padding: 100px 0;
    background: white;
}

.modules-container {
    max-width: 800px;
    margin: 0 auto;
}

.module {
    background: white;
    border-radius: 15px;
    padding: 25px;
    margin-bottom: 20px;
    box-shadow: var(--shadow);
    border-left: 5px solid;
    transition: var(--transition);
}

.module:hover {
    transform: translateX(10px);
}

.module-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    cursor: pointer;
}

.module-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--dark-color);
}

.module-duration {
    color: var(--gray-color);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

.module-content {
    display: none;
    padding-top: 15px;
    border-top: 1px solid var(--light-gray);
}

.module-content.active {
    display: block;
}

.lesson-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px;
    border-radius: 10px;
    margin-bottom: 10px;
    transition: var(--transition);
}

.lesson-item:hover {
    background: var(--light-gray);
}

.lesson-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Instructor Section */
.instructor-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

.instructor-card {
    background: white;
    border-radius: 20px;
    padding: 40px;
    display: flex;
    gap: 40px;
    align-items: center;
    box-shadow: var(--shadow);
}

.instructor-avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 5px solid white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.instructor-info h3 {
    font-size: 2rem;
    margin-bottom: 10px;
    color: var(--dark-color);
}

.instructor-title {
    font-weight: 600;
    margin-bottom: 20px;
    font-size: 1.1rem;
}

.instructor-bio {
    color: var(--gray-color);
    line-height: 1.7;
    margin-bottom: 20px;
}

.instructor-stats {
    display: flex;
    gap: 30px;
    margin-top: 20px;
}

.stat-item {
    text-align: center;
}

.stat-number {
    font-size: 2rem;
    font-weight: 700;
}

.stat-label {
    font-size: 0.9rem;
    color: var(--gray-color);
}

/* Course Features Grid */
.course-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.course-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Course Includes List */
.course-includes-list {
    list-style: none;
    padding: 0;
}

.course-includes-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

/* Responsive Design for Course Details */
@media (max-width: 1200px) {
    .course-header {
        flex-direction: column;
    }
    
    .course-image-large {
        flex: 0 0 auto;
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }
    
    .course-title-large {
        font-size: 2.5rem;
    }
    
    .course-details-grid {
        grid-template-columns: 1fr 350px;
    }
}

@media (max-width: 992px) {
    .course-details-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .pricing-card {
        position: static;
        max-width: 500px;
        margin: 0 auto;
    }
    
    .instructor-card {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .course-title-large {
        font-size: 2rem;
    }
    
    .current-price-large {
        font-size: 2.5rem;
    }
    
    .course-meta-info {
        flex-direction: column;
        gap: 15px;
    }
    
    .pricing-card {
        padding: 30px 20px;
    }
    
    .course-image-large {
        height: 250px;
    }
    
    .instructor-avatar {
        width: 120px;
        height: 120px;
    }
    
    .instructor-info h3 {
        font-size: 1.5rem;
    }
    
    .instructor-stats {
        flex-direction: column;
        gap: 15px;
    }
    
    .course-features-grid {
        grid-template-columns: 1fr;
    }
    
    .module-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

@media (max-width: 576px) {
    .course-details-hero {
        padding: 20px 0;
    }
    
    .course-title-large {
        font-size: 1.8rem;
    }
    
    .btn-enroll {
        padding: 15px 25px;
        font-size: 1rem;
    }
    
    .course-content-section,
    .instructor-section {
        padding: 60px 0;
    }
    
    .module {
        padding: 20px;
    }
    
    .instructor-card {
        padding: 25px;
    }
}

/* Color Classes for Different Courses */
.course-color-lkg {
    color: #8b5cf6;
}

.course-bg-lkg {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}

.course-color-ukg {
    color: #10b981;
}

.course-bg-ukg {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.course-color-class1 {
    color: #f59e0b;
}

.course-bg-class1 {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.course-color-class2 {
    color: #3b82f6;
}

.course-bg-class2 {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
}

.course-color-class3 {
    color: #ec4899;
}

.course-bg-class3 {
    background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
}

.course-color-class4 {
    color: #6366f1;
}

.course-bg-class4 {
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
}

/* Border Color Classes */
.course-border-lkg {
    border-color: #8b5cf6;
}

.course-border-ukg {
    border-color: #10b981;
}

.course-border-class1 {
    border-color: #f59e0b;
}

.course-border-class2 {
    border-color: #3b82f6;
}

.course-border-class3 {
    border-color: #ec4899;
}

.course-border-class4 {
    border-color: #6366f1;
}

/* Icon Background Color Classes */
.course-icon-bg-lkg {
    background: rgba(139, 92, 246, 0.1);
}

.course-icon-color-lkg {
    color: #8b5cf6;
}

.course-icon-bg-ukg {
    background: rgba(16, 185, 129, 0.1);
}

.course-icon-color-ukg {
    color: #10b981;
}

.course-icon-bg-class1 {
    background: rgba(245, 158, 11, 0.1);
}

.course-icon-color-class1 {
    color: #f59e0b;
}

.course-icon-bg-class2 {
    background: rgba(59, 130, 246, 0.1);
}

.course-icon-color-class2 {
    color: #3b82f6;
}

.course-icon-bg-class3 {
    background: rgba(236, 72, 153, 0.1);
}

.course-icon-color-class3 {
    color: #ec4899;
}

.course-icon-bg-class4 {
    background: rgba(99, 102, 241, 0.1);
}

.course-icon-color-class4 {
    color: #6366f1;
}

/* Course Details Grid Layout */
.course-details-grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 50px;
}

/* Section Title with Dynamic Color */
.course-section-title {
    font-size: 2.5rem;
    margin-bottom: 40px;
    color: var(--dark-color);
    position: relative;
    padding-bottom: 15px;
}

.course-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    border-radius: 2px;
}

/* Enrollment Success State */
.btn-enroll-success {
    background: var(--success-color) !important;
    cursor: default;
}

.btn-enroll-success:hover {
    transform: none !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2) !important;
}

/* Loading State */
.btn-enroll-loading {
    opacity: 0.7;
    cursor: wait;
}

/* Course Progress Bar */
.course-progress-bar {
    width: 100%;
    height: 8px;
    background: var(--light-gray);
    border-radius: 4px;
    overflow: hidden;
    margin: 20px 0;
}

.course-progress-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

/* Course Rating */
.course-rating-stars {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--warning-color);
    margin-bottom: 10px;
}

.course-rating-text {
    color: var(--gray-color);
    font-size: 0.9rem;
}

.course-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 15px 0;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.9rem;
}



/* Responsive adjustments only */
@media screen and (max-width: 480px) {
    .course-features {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .course-features {
        gap: 10px;
        margin: 18px 0;
    }
    
    .feature-item {
        font-size: 0.9rem;
    }
    
  
}

@media screen and (min-width: 1025px) {
    .course-features {
        gap: 12px;
        margin: 20px 0;
    }
    
    .feature-item {
        font-size: 0.9rem;
        gap: 8px;
    }
}

/* Session Expiry Alert Styles */
.session-alert {
    position: fixed;
    top: 20px;
    right: 20px;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
    padding: 15px 20px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(239, 68, 68, 0.3);
    z-index: 10000;
    max-width: 400px;
    animation: slideInRight 0.5s ease;
    border-left: 4px solid #fca5a5;
}

.session-alert .alert-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.session-alert i {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.session-alert span {
    flex-grow: 1;
    font-size: 0.9rem;
    line-height: 1.4;
}

.session-alert .alert-close {
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.session-alert .alert-close:hover {
    opacity: 1;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.session-alert.hide {
    animation: slideOutRight 0.5s ease forwards;
}

/* Logout Alert Styles */
#inactivityLogout {
    position: fixed;
    top: 20px;
    right: 20px;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
    padding: 15px 20px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(239, 68, 68, 0.3);
    z-index: 10000;
    max-width: 400px;
    animation: slideInRight 0.5s ease;
    border-left: 4px solid #fca5a5;
}

#inactivityLogout .alert-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

#inactivityLogout i {
    font-size: 1.2rem;
    flex-shrink: 0;
}

#inactivityLogout span {
    flex-grow: 1;
    font-size: 0.9rem;
    line-height: 1.4;
}

#inactivityLogout .alert-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    font-size: 1rem;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

#inactivityLogout .alert-close:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* ================================================
   LEARNING GALAXY SECTION
   ================================================ */

.learning-galaxy {
    padding: 120px 0;
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
    position: relative;
    overflow: hidden;
    min-height: 100vh;
}

/* Animated Stars Background */
.galaxy-stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.star {
    position: absolute;
    background: white;
    border-radius: 50%;
    animation: twinkle 3s infinite ease-in-out;
}

.star:nth-child(1) { top: 15%; left: 10%; width: 2px; height: 2px; animation-delay: 0s; }
.star:nth-child(2) { top: 25%; right: 15%; width: 3px; height: 3px; animation-delay: 0.5s; }
.star:nth-child(3) { top: 60%; left: 20%; width: 2px; height: 2px; animation-delay: 1s; }
.star:nth-child(4) { top: 40%; right: 25%; width: 1px; height: 1px; animation-delay: 1.5s; }
.star:nth-child(5) { top: 75%; left: 30%; width: 3px; height: 3px; animation-delay: 2s; }
.star:nth-child(6) { top: 85%; right: 35%; width: 2px; height: 2px; animation-delay: 2.5s; }

@keyframes twinkle {
    0%, 100% { opacity: 0.2; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.5); }
}

/* Header */
.galaxy-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 80px;
    position: relative;
    z-index: 2;
}

.galaxy-title-wrapper {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
}

.galaxy-shine {
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.2) 0%, transparent 70%);
    border-radius: 50%;
    animation: pulse 4s infinite ease-in-out;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 0.8; }
}

.galaxy-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(45deg, #125a5b, #1fd7b0);
    color: white;
    padding: 12px 30px;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 20px;
    box-shadow: 0 10px 25px rgba(139, 92, 246, 0.4);
}

.galaxy-title {
    font-size: 4rem;
    font-weight: 900;
    color: white;
    margin-bottom: 15px;
    line-height: 1.1;
    text-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.title-highlight {
    background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
}

.galaxy-intro {
    color: #cbd5e1;
    font-size: 1.2rem;
    line-height: 1.7;
    max-width: 600px;
    margin: 0 auto;
}

/* Solar System */
.solar-system {
    position: relative;
    height: 700px;
    margin: 100px auto;
    max-width: 900px;
}

/* Sun */
.sun {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    height: 120px;
}

.sun-core {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #95a6a9 0%, #d2210b 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: white;
    box-shadow: 0 0 60px #f59e0b;
    z-index: 2;
    position: relative;
}

.sun-rays {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 200px;
    border: 2px solid rgba(245, 158, 11, 0.3);
    border-radius: 50%;
    animation: rotate 20s linear infinite;
}

.sun-rays::before,
.sun-rays::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 2px solid rgba(245, 158, 11, 0.2);
    border-radius: 50%;
}

.sun-rays::before { width: 150px; height: 150px; }
.sun-rays::after { width: 100px; height: 100px; }

.sun-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(245, 158, 11, 0.1) 0%, transparent 70%);
    border-radius: 50%;
}

@keyframes rotate {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Planet Orbits */
.planet-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}

.orbit-1 { width: 300px; height: 300px; animation: orbit 40s linear infinite; }
.orbit-2 { width: 400px; height: 400px; animation: orbit 50s linear infinite reverse; }
.orbit-3 { width: 500px; height: 500px; animation: orbit 60s linear infinite; }
.orbit-4 { width: 600px; height: 600px; animation: orbit 70s linear infinite reverse; }
.orbit-5 { width: 700px; height: 700px; animation: orbit 80s linear infinite; }

@keyframes orbit {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.orbit-path {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

/* Planets */
.planet {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.planet:hover {
    transform: translateX(-50%) scale(1.3);
    z-index: 10;
}

.planet-surface {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
}

.planet-reading .planet-surface {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
}

.planet-math .planet-surface {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.planet-science .planet-surface {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.planet-arts .planet-surface {
    background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
}

.planet-social .planet-surface {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}

.planet-ring {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 30px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
}

.planet-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    height: 120px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.planet:hover .planet-glow {
    opacity: 1;
}

.planet-label {
    position: absolute;
    top: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.9);
    padding: 8px 16px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #1e293b;
    opacity: 0;
    transition: opacity 0.3s ease;
    white-space: nowrap;
}

.planet:hover .planet-label {
    opacity: 1;
}

.planet-moons {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
}

.moon {
    position: absolute;
    width: 20px;
    height: 20px;
    background: #cbd5e1;
    border-radius: 50%;
}

.moon:nth-child(1) { left: -40px; animation: moonOrbit 10s linear infinite; }
.moon:nth-child(2) { right: -40px; animation: moonOrbit 15s linear infinite reverse; }

@keyframes moonOrbit {
    from { transform: rotate(0deg) translateX(30px) rotate(0deg); }
    to { transform: rotate(360deg) translateX(30px) rotate(-360deg); }
}

/* Planet Info Panel */
.planet-info-panel {
    position: fixed;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
    width: 400px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 25px;
    padding: 30px;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.planet-info-panel.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

.info-panel-content {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.info-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.info-planet-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: white;
    box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}

.info-planet-name {
    font-size: 1.8rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 10px;
}

.info-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.info-tag {
    background: #f1f5f9;
    color: #475569;
    padding: 6px 14px;
    border-radius: 15px;
    font-size: 0.9rem;
    font-weight: 500;
}

.info-description p {
    color: #64748b;
    font-size: 1.05rem;
    line-height: 1.7;
}

.feature-stack {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: #f8fafc;
    border-radius: 15px;
    transition: transform 0.3s ease;
}

.feature-item:hover {
    transform: translateX(10px);
    background: white;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.feature-icon {
    width: 45px;
    height: 45px;
    background: #25b1d4;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.2rem;
    flex-shrink: 0;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.feature-text h4 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 5px;
}

.feature-text p {
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.5;
}

.info-stats {
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 2px solid #e2e8f0;
}

.stat {
    text-align: center;
}

.stat-value {
    font-size: 2rem;
    font-weight: 800;
    color: #1e293b;
    line-height: 1;
}

.stat-label {
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 500;
    margin-top: 5px;
}

.info-cta {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    color: white;
    border: none;
    padding: 18px;
    border-radius: 15px;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}

.info-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(59, 130, 246, 0.4);
}

/* Achievements Grid */
.achievements-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin: 80px 0;
}

.achievement-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    transition: all 0.3s ease;
}

.achievement-card:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-10px);
}

.achievement-badge {
    width: 70px;
    height: 70px;
    background: linear-gradient(45deg, #125a5b, #1fd7b0);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 1.8rem;
    color: white;
}

.achievement-card h4 {
    color: white;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.achievement-card p {
    color: #cbd5e1;
    font-size: 0.95rem;
    margin-bottom: 20px;
}

.achievement-progress {
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    overflow: hidden;
}

.progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #10b981, #34d399);
    border-radius: 3px;
    transition: width 1s ease;
}

/* Parent Dashboard */
.parent-dashboard {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 30px;
    padding: 50px;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
}

.dashboard-header {
    text-align: center;
    margin-bottom: 50px;
}

.dashboard-header h3 {
    font-size: 2.2rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 15px;
}

.dashboard-header p {
    color: #64748b;
    font-size: 1.1rem;
}

.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

.dashboard-stat {
    text-align: center;
}

.stat-circle {
    position: relative;
    width: 120px;
    height: 120px;
    margin: 0 auto 20px;
}

.stat-circle svg {
    transform: rotate(-90deg);
}

.stat-percent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.8rem;
    font-weight: 800;
    color: #1e293b;
}

.dashboard-stat h5 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #475569;
}

.dashboard-cta {
    display: block;
    margin: 40px auto 0;
    background: transparent;
    color: #3b82f6;
    border: 2px solid #3b82f6;
    padding: 16px 35px;
    border-radius: 15px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s ease;
}

.dashboard-cta:hover {
    background: #3b82f6;
    color: white;
    transform: translateY(-3px);
}

/* Responsive Design */
@media (max-width: 1400px) {
    .planet-info-panel {
        position: static;
        transform: none;
        margin: 50px auto;
        max-width: 600px;
        opacity: 1;
        visibility: visible;
    }
}

@media (max-width: 1200px) {
    .solar-system {
        height: 600px;
    }
    
    .orbit-1 { width: 250px; height: 250px; }
    .orbit-2 { width: 350px; height: 350px; }
    .orbit-3 { width: 450px; height: 450px; }
    .orbit-4 { width: 550px; height: 550px; }
    .orbit-5 { width: 650px; height: 650px; }
}

@media (max-width: 768px) {
    .learning-galaxy {
        padding: 80px 0;
    }
    
    .galaxy-title {
        font-size: 2.8rem;
    }
    
    .solar-system {
        height: 500px;
    }
    
    .orbit-1 { width: 200px; height: 200px; }
    .orbit-2 { width: 280px; height: 280px; }
    .orbit-3 { width: 360px; height: 360px; }
    .orbit-4 { width: 440px; height: 440px; }
    .orbit-5 { width: 520px; height: 520px; }
    
    .planet {
        width: 60px;
        height: 60px;
    }
    
    .achievements-grid {
        grid-template-columns: 1fr;
    }
    
    .dashboard-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .parent-dashboard {
        padding: 30px;
    }
}

@media (max-width: 576px) {
    .galaxy-title {
        font-size: 2.2rem;
    }
    
    .solar-system {
        height: 400px;
        margin: 50px auto;
    }
    
    .dashboard-stats {
        grid-template-columns: 1fr;
    }
    
    .orbit-1 { width: 150px; height: 150px; }
    .orbit-2 { width: 220px; height: 220px; }
    .orbit-3 { width: 290px; height: 290px; }
    .orbit-4 { width: 360px; height: 360px; }
    .orbit-5 { width: 430px; height: 430px; }
}

/* CTA Section Styling */
.cta-section {
    padding: 5rem 1rem;
    background: linear-gradient(135deg, #66c7ea 0%, #261313 100%) !important;
    position: relative;
    overflow: hidden;
}

.cta-sparkle-card {
    max-width: 900px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 3.5rem 2.5rem;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1), 0 0 60px rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.cta-sparkle {
    position: absolute;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
    border-radius: 50%;
    opacity: 0;
    animation: sparkleFloat 8s infinite linear;
}

.sparkle-1 {
    top: 20%;
    left: 10%;
    animation-delay: 0s;
    width: 80px;
    height: 80px;
}

.sparkle-2 {
    top: 60%;
    right: 15%;
    animation-delay: 2s;
    width: 120px;
    height: 120px;
}

.sparkle-3 {
    bottom: 20%;
    left: 20%;
    animation-delay: 4s;
    width: 60px;
    height: 60px;
}

@keyframes sparkleFloat {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
        opacity: 0;
    }
    50% {
        transform: translateY(-20px) rotate(180deg);
        opacity: 0.5;
    }
}

.cta-elegant-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.cta-badge {
    display: inline-block;
    background: linear-gradient(45deg, #ebebeb, #9d893d);
    color: #000;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 1px;
    margin-bottom: 2rem;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.cta-glow-title {
    font-size: 2.8rem;
    font-weight: 800;
    color: white;
    margin-bottom: 1.5rem;
    line-height: 1.2;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
    background: linear-gradient(45deg, #fff 30%, #f0f0f0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cta-subtitle {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 700px;
    margin: 0 auto 2.5rem;
    line-height: 1.6;
}

.highlight-count {
    background: linear-gradient(45deg, #ffd93d, #ff6b6b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
    font-size: 1.3rem;
}

.cta-stats {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin: 2.5rem 0;
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.stat-number {
    font-size: 2.2rem;
    font-weight: 800;
    color: #285387 !important;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.stat-label {
    color: rgb(21 61 71 / 80%);
    font-size: 0.95rem;
    letter-spacing: 0.5px;
}

.cta-action-group {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    margin: 2.5rem 0;
    flex-wrap: wrap;
}

.btn-glow-primary {
    background: linear-gradient(45deg, #c82016, #d7c51f);
    color: white;
    border: none;
    padding: 1.2rem 2.5rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(255, 107, 107, 0.4);
}

.btn-glow-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(255, 107, 107, 0.6);
}

.btn-ghost-light {
    background: transparent;
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
    padding: 1.2rem 2.5rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-ghost-light:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-3px);
}

.btn-icon {
    font-size: 1.4rem;
    transition: transform 0.3s ease;
}

.btn-glow-primary:hover .btn-icon {
    transform: translateX(5px);
}

.cta-trust {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
    margin-top: 1.5rem;
}

.corner-accent {
    position: absolute;
    width: 40px;
    height: 40px;
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.corner-accent.top-left {
    top: 20px;
    left: 20px;
    border-right: none;
    border-bottom: none;
    border-top-left-radius: 12px;
}

.corner-accent.top-right {
    top: 20px;
    right: 20px;
    border-left: none;
    border-bottom: none;
    border-top-right-radius: 12px;
}

.corner-accent.bottom-left {
    bottom: 20px;
    left: 20px;
    border-right: none;
    border-top: none;
    border-bottom-left-radius: 12px;
}

.corner-accent.bottom-right {
    bottom: 20px;
    right: 20px;
    border-left: none;
    border-top: none;
    border-bottom-right-radius: 12px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .cta-sparkle-card {
        padding: 2.5rem 1.5rem;
    }
    
    .cta-glow-title {
        font-size: 2rem;
    }
    
    .cta-stats {
        gap: 1.5rem;
        flex-wrap: wrap;
    }
    
    .stat-number {
        font-size: 1.8rem;
    }
    
    .cta-action-group {
        flex-direction: column;
        align-items: center;
    }
    
    .btn-glow-primary,
    .btn-ghost-light {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

/* Add this to your CSS */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-5px); }
    40%, 80% { transform: translateX(5px); }
}

.progress-text {
    display: block;
    margin-top: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #d6ba8b; /* Calm professional slate color */
    text-align: right;
    letter-spacing: 0.3px;
}

/* Easiest option - pulsing single color border */
.logo {
    position: relative;
    padding: 6px;
    border-radius: 8px;
    display: inline-block; /* Ensures proper sizing */
}

.logo::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 3px solid #12a1a1;
    border-radius: 8px;
    opacity: 0;
    animation: pulseBorder 2s ease-in-out infinite;
}

@keyframes pulseBorder {
    0%, 100% {
        opacity: 0.3;
        transform: scale(1);
    }
    50% {
        opacity: 0.8;
        transform: scale(1.02);
    }
}

.logo-img {
    position: relative;
    z-index: 1;
    display: block;
    height: 75px; /* Default size for desktop */
    width: auto;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    filter: brightness(1);
}

/* Responsive Design */

/* Tablets (portrait) */
@media (max-width: 1024px) {
    .logo {
        padding: 5px;
        border-radius: 7px;
    }
    
    .logo-img {
        height: 65px;
    }
    
    .logo::before {
        border-width: 1.5px;
    }
}

/* Tablets (small) and large phones */
@media (max-width: 768px) {
    .logo {
        padding: 4px;
        border-radius: 6px;
    }
    
    .logo-img {
        height: 55px;
    }
    
    @keyframes pulseBorder {
        0%, 100% {
            opacity: 0.3;
            transform: scale(1);
        }
        50% {
            opacity: 0.7;
            transform: scale(1.015);
        }
    }
}

/* Mobile devices */
@media (max-width: 480px) {
    .logo {
        padding: 3px;
        border-radius: 5px;
    }
    
    .logo-img {
        height: 45px;
    }
    
    .logo::before {
        border-width: 1px;
    }
    
    @keyframes pulseBorder {
        0%, 100% {
            opacity: 0.3;
            transform: scale(1);
        }
        50% {
            opacity: 0.6;
            transform: scale(1.01);
        }
    }
}

/* Small mobile devices */
@media (max-width: 360px) {
    .logo-img {
        height: 40px;
    }
    
    .logo {
        padding: 2px;
    }
}

/* High-resolution/retina displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .logo::before {
        border-width: 1.5px;
    }
}

/* Reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
    .logo::before {
        animation: none;
        opacity: 0.4;
    }
    
    .logo-img {
        transition: none;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .logo::before {
        border-color: #60a5fa; /* Lighter blue for dark mode */
    }
    
    .logo-img {
        filter: brightness(1.1);
    }
}

/* Hover effects for devices with hover capability */
@media (hover: hover) and (pointer: fine) {
    .logo:hover .logo-img {
        transform: scale(1.05);
        filter: brightness(1.2);
    }
    
    .logo:hover::before {
        animation-duration: 1s;
        border-color: #2563eb;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    .logo:active .logo-img {
        transform: scale(0.98);
        transition: transform 0.15s ease;
    }
    
    .logo::before {
        animation-duration: 3s; /* Slower animation for less distraction */
    }
}

/* Print styles */
@media print {
    .logo::before {
        display: none;
    }
    
    .logo-img {
        filter: none;
        height: 50px;
    }
}

/* ============================================
   ABOUT SECTION - IQ BUDS EdTech
   ============================================ */

.about-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f9faff 100%);
}

/* Hero Banner */
.about-hero {
    text-align: center;
    padding: 40px 0;
    margin-bottom: 0px;
}

.hero-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.8rem;
    font-weight: 800;
    color: #1a1a2e;
    margin-bottom: 20px;
    line-height: 1.2;
}

.hero-title .highlight {
    background: linear-gradient(90deg, #e04a4a, #6a8aff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-subtitle {
    font-size: 1.2rem;
    color: #555;
    max-width: 800px;
    margin: 0 auto 40px;
    line-height: 1.6;
}

.hero-stats {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    margin-top: 40px;
}

.stat-item {
    text-align: center;
    padding: 20px;
    min-width: 150px;
}

.stat-number {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
    color: #4a6ee0;
    margin-bottom: 5px;
}

.stat-text {
    color: #666;
    font-size: 0.9rem;
    font-weight: 500;
}

/* Problem & Solution */
.problem-solution {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 60px;
}

.problem-card, .solution-card {
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.problem-card {
    background: white;
    border: 2px solid #ff6b6b;
    border-top: 5px solid #ff6b6b;
}

.solution-card {
    background: white;
    border: 2px solid #4a6ee0;
    border-top: 5px solid #4a6ee0;
}

.problem-header, .solution-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}

.problem-icon, .solution-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
}

.problem-icon {
    background: #fff5f5;
    color: #ff6b6b;
}

.solution-icon {
    background: #f0f4ff;
    color: #4a6ee0;
}

.problem-header h3, .solution-header h3 {
    font-size: 1.5rem;
    color: #1a1a2e;
    margin: 0;
}

.problem-list, .solution-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.problem-list li, .solution-list li {
    padding: 10px 0;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #555;
    line-height: 1.5;
}

.problem-list i {
    color: #ff6b6b;
    margin-top: 3px;
}

.solution-list i {
    color: #4a6ee0;
    margin-top: 3px;
}

/* Philosophy Section */
.philosophy-section {
    text-align: center;
    margin-bottom: 60px;
}

.philosophy-section h2 {
    font-size: 2.2rem;
    color: #1a1a2e;
    margin-bottom: 40px;
}

.philosophy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.philosophy-item {
    padding: 30px;
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgb(99 113 112 / 50%);
    transition: transform 0.3s ease;
    border: 1px solid #d4e2e3;
}

.philosophy-item:hover {
    transform: translateY(-5px);
}

.philosophy-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #169374, #6aeeff);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: white;
    font-size: 1.8rem;
}

.philosophy-item h4 {
    font-size: 1.3rem;
    color: #1a1a2e;
    margin-bottom: 15px;
}

.philosophy-item p {
    color: #666;
    line-height: 1.6;
}

/* Scientific Approach */
.science-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    margin-bottom: 60px;
    background: white;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.science-content h2 {
    font-size: 2rem;
    color: #1a1a2e;
    margin-bottom: 20px;
}

.science-content > p {
    color: #666;
    line-height: 1.6;
    margin-bottom: 30px;
}

.science-points {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.science-point {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.point-number {
    font-family: 'Montserrat', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    color: #4a6ee0;
    opacity: 0.3;
    line-height: 1;
}

.point-content h4 {
    font-size: 1.2rem;
    color: #1a1a2e;
    margin-bottom: 8px;
}

.point-content p {
    color: #666;
    line-height: 1.5;
    font-size: 0.95rem;
}

.iq-chart {
    background: #f8faff;
    padding: 30px;
    border-radius: 15px;
    border: 2px solid #eef2ff;
}

.chart-bar {
    height: 40px;
    margin: 20px 0;
    border-radius: 20px;
    position: relative;
    padding-left: 20px;
    display: flex;
    align-items: center;
    color: white;
    font-weight: 600;
}

.chart-bar.before {
    background: linear-gradient(135deg, #6aeeff, #39a58ac4);
    width: 60%;
}

.chart-bar.after {
    background: linear-gradient(135deg, #169374, #6aeeff);
    width: 95%;
}

.chart-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    color: #666;
    font-size: 0.9rem;
}

/* Transformation Stories */
.stories-section {
    margin-bottom: 60px;
}

.stories-section h2 {
    text-align: center;
    font-size: 2.2rem;
    color: #1a1a2e;
    margin-bottom: 40px;
}

.stories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.story-card {
    background: white;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border-left: 4px solid #2fd3c2;
}

.story-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.child-age, .improvement {
    font-weight: 600;
    color: #1a1a2e;
}

.improvement {
    color: #22b6aa;
}

.story-card p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 20px;
    font-style: italic;
}

.parent-info {
    color: #888;
    font-size: 0.9rem;
    font-weight: 500;
}

/* Why Choose Us */
.why-choose {
    margin-bottom: 60px;
}

.why-choose h2 {
    text-align: center;
    font-size: 2.2rem;
    color: #1a1a2e;
    margin-bottom: 40px;
}

.reasons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.reason {
    text-align: center;
    padding: 30px;
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgb(180 185 195 / 97%);
    transition: all 0.3s ease;
}

.reason:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(74, 110, 224, 0.15);
}

.reason i {
    font-size: 2.5rem;
    color: #19c8ac;
    margin-bottom: 20px;
}

.reason h4 {
    font-size: 1.2rem;
    color: #1a1a2e;
    margin-bottom: 15px;
}

.reason p {
    color: #666;
    line-height: 1.5;
    font-size: 0.95rem;
}

/* CTA Section */
.about-cta {
    text-align: center;
    padding: 50px;
    background: linear-gradient(135deg, #263b87, #237d76);
    border-radius: 20px;
    color: white;
    margin-top: 40px;
}

.about-cta h3 {
    font-size: 2rem;
    margin-bottom: 15px;
    font-weight: 700;
}

.about-cta p {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-bottom: 30px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.cta-btn {
    padding: 15px 35px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.cta-btn.primary {
    background: linear-gradient(135deg, #169374, #6aeeff);
    color: white;
}

.cta-btn.primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(74, 110, 224, 0.3);
}

.cta-btn.secondary {
    background: transparent;
    border: 2px solid white;
    color: white;
}

.cta-btn.secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-3px);
}

.guarantee {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #a5b4fc;
    font-size: 0.9rem;
    margin-top: 20px;
}

/* Responsive Design */
@media (max-width: 992px) {
    .hero-title {
        font-size: 2.2rem;
    }
    
    .problem-solution {
        grid-template-columns: 1fr;
    }
    
    .science-section {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 1.8rem;
    }
    
    .hero-stats {
        gap: 20px;
    }
    
    .stat-item {
        min-width: 120px;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .about-cta {
        padding: 30px 20px;
    }
    
    .about-cta h3 {
        font-size: 1.6rem;
    }
    
    .stories-grid {
        grid-template-columns: 1fr;
    }
    
    .reasons-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   CONTACT PAGE STYLES
=============================================== */

/* Contact Section */
.contact-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    min-height: 100vh;
}

.contact-header {
    text-align: center;
    margin-bottom: 60px;
}

.contact-header .section-title {
    font-size: 2.8rem;
    color: var(--dark-color);
    margin-bottom: 20px;
    position: relative;
    display: inline-block;
}

.contact-header .section-title .title-icon {
    display: inline-block;
    background: var(--gradient-primary);
    color: white;
    width: 60px;
    height: 60px;
    line-height: 60px;
    border-radius: 50%;
    margin-right: 15px;
    font-size: 1.8rem;
    vertical-align: middle;
}

.contact-header .section-subtitle {
    font-size: 1.1rem;
    color: var(--gray-color);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Contact Info Cards */
.contact-info-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-bottom: 50px;
}

.contact-info-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border: 1px solid #a9b3c8;
    position: relative;
    overflow: hidden;
}

.contact-info-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(74, 110, 224, 0.15);
    border-color: var(--primary-color);
}

.contact-info-card:hover .contact-icon {
    transform: scale(1.1);
    background: var(--gradient-primary);
}

.contact-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 1.8rem;
    color: var(--primary-color);
    transition: all 0.3s ease;
}

.contact-info-card h3 {
    color: var(--dark-color);
    margin-bottom: 15px;
    font-size: 1.3rem;
}

.contact-info-card p {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 10px;
}

.contact-info-card strong {
    color: var(--primary-color);
    font-weight: 600;
}

.contact-timing {
    font-size: 0.9rem;
    color: #94a3b8;
    margin-top: 5px;
}

/* Contact Form Container */
.contact-form-container {
    background: white;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
    margin-bottom: 60px;
    border: 1px solid #e5e7eb;
}

.contact-form-header {
    text-align: center;
    margin-bottom: 40px;
}

.contact-form-header h2 {
    color: var(--dark-color);
    font-size: 2rem;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.contact-form-header h2 i {
    color: var(--primary-color);
}

.contact-form-header p {
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto;
}

/* Contact Form */
.contact-form {
    max-width: 800px;
    margin: 0 auto;
}

.contact-form .form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin-bottom: 25px;
}

.contact-form .form-group {
    margin-bottom: 25px;
}

.contact-form label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--dark-color);
    font-weight: 500;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.contact-form label i {
    color: var(--primary-color);
    width: 16px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 15px 20px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    transition: all 0.3s ease;
    background: #f8fafc;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    background: white;
    box-shadow: 0 0 0 3px rgba(74, 110, 224, 0.1);
}

.contact-form textarea {
    resize: vertical;
    min-height: 120px;
}

.contact-form .checkbox-group {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 25px 0;
}

.contact-form .checkbox-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--primary-color);
}

.contact-form .checkbox-group label {
    margin: 0;
    font-weight: normal;
    font-size: 0.95rem;
    color: var(--gray-color);
}

.contact-form .btn-submit {
    width: 100%;
    padding: 18px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.contact-form .btn-submit:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(74, 110, 224, 0.3);
}

/* FAQ Section */
.faq-section {
    background: white;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.faq-section h2 {
    color: var(--dark-color);
    font-size: 1.8rem;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.faq-section h2 i {
    color: var(--primary-color);
}

.faq-container {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    margin-bottom: 15px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item:hover {
    border-color: var(--primary-color);
    box-shadow: 0 5px 15px rgba(74, 110, 224, 0.1);
}

.faq-question {
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    background: #f8fafc;
    transition: all 0.3s ease;
}

.faq-question:hover {
    background: #f1f5f9;
}

.faq-question span {
    font-weight: 600;
    color: var(--dark-color);
    font-size: 1.05rem;
    flex: 1;
}

.faq-question i {
    color: var(--primary-color);
    transition: transform 0.3s ease;
}

.faq-item.active .faq-question i {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 25px;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item.active .faq-answer {
    padding: 20px 25px;
    max-height: 500px;
}

.faq-answer p {
    color: var(--gray-color);
    line-height: 1.6;
    margin: 0;
}

/* Responsive Design */
@media (max-width: 992px) {
    .contact-header .section-title {
        font-size: 2.3rem;
    }
    
    .contact-info-container {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .contact-form .form-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .contact-section {
        padding: 60px 0;
    }
    
    .contact-header .section-title {
        font-size: 2rem;
    }
    
    .contact-header .section-title .title-icon {
        width: 50px;
        height: 50px;
        line-height: 50px;
        font-size: 1.5rem;
    }
    
    .contact-info-container {
        grid-template-columns: 1fr;
    }
    
    .contact-form-container,
    .faq-section {
        padding: 25px;
    }
    
    .contact-form-header h2 {
        font-size: 1.7rem;
        flex-direction: column;
        gap: 5px;
    }
}

@media (max-width: 480px) {
    .contact-header .section-title {
        font-size: 1.8rem;
    }
    
    .contact-form-container,
    .faq-section {
        padding: 20px;
    }
    
    .faq-question {
        padding: 15px 20px;
    }
    
    .faq-answer {
        padding: 0 20px;
    }
    
    .faq-item.active .faq-answer {
        padding: 15px 20px;
    }
}

/* ============================================
   CONTACT PAGE STYLES
=============================================== */

/* Contact Section */
.contact-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    min-height: 100vh;
}

.contact-header {
    text-align: center;
    margin-bottom: 60px;
}

.contact-header .section-title {
    font-size: 2.8rem;
    color: var(--dark-color);
    margin-bottom: 20px;
    position: relative;
    display: inline-block;
}

.contact-header .section-title .title-icon {
    display: inline-block;
    background: var(--gradient-primary);
    color: white;
    width: 60px;
    height: 60px;
    line-height: 60px;
    border-radius: 50%;
    margin-right: 15px;
    font-size: 1.8rem;
    vertical-align: middle;
}

.contact-header .section-subtitle {
    font-size: 1.1rem;
    color: var(--gray-color);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Contact Info Cards */
.contact-info-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-bottom: 50px;
}

.contact-info-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border: 1px solid #a9b3c8;
    position: relative;
    overflow: hidden;
}

.contact-info-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(74, 110, 224, 0.15);
    border-color: var(--primary-color);
}

.contact-info-card:hover .contact-icon {
    transform: scale(1.1);
    background: var(--gradient-primary);
    color: white;
}

.contact-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 1.8rem;
    color: var(--primary-color);
    transition: all 0.3s ease;
}

.contact-info-card h3 {
    color: var(--dark-color);
    margin-bottom: 15px;
    font-size: 1.3rem;
}

.contact-info-card p {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 10px;
}

.contact-info-card strong {
    color: var(--primary-color);
    font-weight: 600;
}

.contact-timing {
    font-size: 0.9rem;
    color: #94a3b8;
    margin-top: 5px;
}

/* Contact Form Container */
.contact-form-container {
    background: white;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
    margin-bottom: 60px;
    border: 1px solid #e5e7eb;
}

.contact-form-header {
    text-align: center;
    margin-bottom: 40px;
}

.contact-form-header h2 {
    color: var(--dark-color);
    font-size: 2rem;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.contact-form-header h2 i {
    color: var(--primary-color);
}

.contact-form-header p {
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto;
}

/* Contact Form */
.contact-form {
    max-width: 800px;
    margin: 0 auto;
}

.contact-form .form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin-bottom: 25px;
}

.contact-form .form-group {
    margin-bottom: 25px;
}

.contact-form label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--dark-color);
    font-weight: 500;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.contact-form label i {
    color: var(--primary-color);
    width: 16px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 15px 20px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    transition: all 0.3s ease;
    background: #f8fafc;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    background: white;
    box-shadow: 0 0 0 3px rgba(74, 110, 224, 0.1);
}

.contact-form textarea {
    resize: vertical;
    min-height: 120px;
}

.contact-form .checkbox-group {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 25px 0;
}

.contact-form .checkbox-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--primary-color);
}

.contact-form .checkbox-group label {
    margin: 0;
    font-weight: normal;
    font-size: 0.95rem;
    color: var(--gray-color);
}

.contact-form .btn-submit {
    width: 100%;
    padding: 18px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.contact-form .btn-submit:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(74, 110, 224, 0.3);
}

/* FAQ Section */
.faq-section {
    background: white;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.faq-section h2 {
    color: var(--dark-color);
    font-size: 1.8rem;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.faq-section h2 i {
    color: var(--primary-color);
}

.faq-container {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    margin-bottom: 15px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item:hover {
    border-color: var(--primary-color);
    box-shadow: 0 5px 15px rgba(74, 110, 224, 0.1);
}

.faq-question {
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    background: #f8fafc;
    transition: all 0.3s ease;
}

.faq-question:hover {
    background: #f1f5f9;
}

.faq-question span {
    font-weight: 600;
    color: var(--dark-color);
    font-size: 1.05rem;
    flex: 1;
}

.faq-question i {
    color: var(--primary-color);
    transition: transform 0.3s ease;
}

.faq-item.active .faq-question i {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 25px;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item.active .faq-answer {
    padding: 20px 25px;
    max-height: 500px;
}

.faq-answer p {
    color: var(--gray-color);
    line-height: 1.6;
    margin: 0;
}

/* Responsive Design */
@media (max-width: 992px) {
    .contact-header .section-title {
        font-size: 2.3rem;
    }
    
    .contact-info-container {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .contact-form .form-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .contact-section {
        padding: 60px 0;
    }
    
    .contact-header .section-title {
        font-size: 2rem;
    }
    
    .contact-header .section-title .title-icon {
        width: 50px;
        height: 50px;
        line-height: 50px;
        font-size: 1.5rem;
    }
    
    .contact-info-container {
        grid-template-columns: 1fr;
    }
    
    .contact-form-container,
    .faq-section {
        padding: 25px;
    }
    
    .contact-form-header h2 {
        font-size: 1.7rem;
        flex-direction: column;
        gap: 5px;
    }
}

@media (max-width: 480px) {
    .contact-header .section-title {
        font-size: 1.8rem;
    }
    
    .contact-form-container,
    .faq-section {
        padding: 20px;
    }
    
    .faq-question {
        padding: 15px 20px;
    }
    
    .faq-answer {
        padding: 0 20px;
    }
    
    .faq-item.active .faq-answer {
        padding: 15px 20px;
    }
}



/* Contact Form Validation Styles */
.contact-form-group input.valid,
.contact-form-group select.valid,
.contact-form-group textarea.valid {
    border-color: #10b981 !important;
    background-color: rgba(16, 185, 129, 0.05) !important;
}

.contact-form-group input.invalid,
.contact-form-group select.invalid,
.contact-form-group textarea.invalid {
    border-color: #ef4444 !important;
    background-color: rgba(239, 68, 68, 0.05) !important;
}

.contact-validation-message {
    font-size: 0.85rem;
    margin-top: 5px;
    min-height: 20px;
    opacity: 0.9;
    transition: all 0.3s ease;
}

.contact-validation-message.success {
    color: #10b981;
    display: block !important;
}

.contact-validation-message.error {
    color: #ef4444;
    display: block !important;
}

.contact-validation-message i {
    margin-right: 5px;
}

.btn-contact-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #cbd5e1 !important;
    border-color: #cbd5e1 !important;
}

.btn-contact-submit:not(:disabled) {
    background: linear-gradient(135deg, #4a6ee0 0%, #3b56c9 100%) !important;
    border-color: #4a6ee0 !important;
}

.btn-contact-submit:not(:disabled):hover {
    background: linear-gradient(135deg, #3b56c9 0%, #2a44b8 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(74, 110, 224, 0.2);
}

/* SIMPLE Custom Alert */
.custom-alert {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 15px 20px;
    border-radius: 8px;
    color: white;
    font-weight: 500;
    z-index: 99999;
    display: none;
    align-items: center;
    gap: 10px;
    max-width: 400px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    animation: slideIn 0.3s ease;
}

.custom-alert.success {
    background: #10b981;
    border-left: 4px solid #059669;
}

.custom-alert.error {
    background: #ef4444;
    border-left: 4px solid #dc2626;
}

.custom-alert i {
    font-size: 1.2rem;
}

.custom-alert .close-btn {
    background: none;
    border: none;
    color: white;
    font-size: 1.2rem;
    cursor: pointer;
    margin-left: auto;
    padding: 0 5px;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* ============================================
   TERMS & POLICIES SECTION STYLES
   ============================================ */

.terms-policies-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    min-height: 100vh;
}

.section-header {
    text-align: center;
    margin-bottom: 50px;
}

.section-header h1 {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.8rem;
    color: var(--dark-color);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.section-header h1 i {
    color: var(--primary-color);
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-subtitle {
    font-size: 1.1rem;
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto 20px;
    line-height: 1.6;
}

.last-updated {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--light-color);
    padding: 8px 20px;
    border-radius: 25px;
    font-size: 0.9rem;
    color: var(--gray-color);
    border: 1px solid #e2e8f0;
}

.last-updated i {
    color: var(--primary-color);
}

/* Terms Navigation Tabs */
.terms-navigation {
    margin-bottom: 40px;
}

.nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    background: white;
    padding: 15px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
}

.nav-tab {
    padding: 12px 25px;
    border: none;
    background: transparent;
    color: var(--gray-color);
    font-weight: 500;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nav-tab:hover {
    background: #f1f5f9;
    color: var(--dark-color);
    transform: translateY(-2px);
}

.nav-tab.active {
    background: var(--gradient-primary);
    color: white;
    box-shadow: 0 4px 15px rgba(74, 110, 224, 0.2);
}

/* Terms Content */
.terms-content {
    max-width: 1000px;
    margin: 0 auto 50px;
}

.tab-content {
    display: none;
    animation: fadeIn 0.5s ease;
}

.tab-content.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.policy-card {
    background: white;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid #e2e8f0;
    position: relative;
    overflow: hidden;
}

.policy-card h2 {
    color: var(--dark-color);
    font-size: 1.8rem;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.policy-card h2 i {
    color: var(--primary-color);
    font-size: 1.6rem;
}

.policy-card > p {
    color: var(--gray-color);
    line-height: 1.7;
    margin-bottom: 30px;
    font-size: 1.05rem;
    padding-bottom: 20px;
    border-bottom: 1px solid #e2e8f0;
}

/* Policy Sections */
.policy-section {
    margin-bottom: 35px;
    padding-bottom: 25px;
    border-bottom: 1px solid #f1f5f9;
}

.policy-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.policy-section h3 {
    color: var(--dark-color);
    font-size: 1.3rem;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.policy-section h3 i {
    color: var(--primary-color);
    font-size: 1.1rem;
}

.policy-section ul {
    list-style: none;
    padding-left: 0;
}

.policy-section li {
    padding: 10px 0 10px 30px;
    position: relative;
    line-height: 1.6;
    color: #4a5568;
}

.policy-section li:before {
    content: "•";
    color: var(--primary-color);
    font-size: 1.5rem;
    position: absolute;
    left: 0;
    top: 5px;
}

.policy-section li strong {
    color: var(--dark-color);
    font-weight: 600;
}

/* Safety Highlight */
.safety-highlight {
    border-left: 5px solid #10b981;
}



@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(16, 185, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* Consent Box */
.consent-box {
    background: #f0f9ff;
    border-radius: 15px;
    padding: 25px;
    margin-top: 30px;
    border: 2px solid #dbeafe;
}

.consent-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.consent-header i {
    font-size: 2rem;
    color: var(--primary-color);
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.consent-header h4 {
    font-size: 1.3rem;
    color: var(--dark-color);
    margin: 0;
}

.consent-box p {
    color: #4a5568;
    line-height: 1.6;
    margin-bottom: 20px;
}

.consent-check {
    display: flex;
    align-items: center;
    gap: 12px;
    background: white;
    padding: 15px 20px;
    border-radius: 10px;
    border: 1px solid #dbeafe;
}

.consent-check i {
    color: #10b981;
    font-size: 1.2rem;
}

.consent-check span {
    font-weight: 500;
    color: var(--dark-color);
}

/* Policy Footer */
.policy-footer {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    margin-top: 40px;
}

.contact-support {
    text-align: center;
    margin-bottom: 25px;
}

.contact-support h4 {
    color: var(--dark-color);
    font-size: 1.3rem;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.contact-support p {
    color: var(--gray-color);
    margin-bottom: 20px;
}

.policy-version {
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
}

.policy-version p {
    color: var(--gray-color);
    font-size: 0.9rem;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.policy-version .note {
    color: #ef4444;
    font-size: 0.85rem;
    margin-top: 10px;
}

/* Responsive Design */
@media (max-width: 992px) {
    .section-header h1 {
        font-size: 2.3rem;
        flex-direction: column;
        gap: 10px;
    }
    
    .nav-tabs {
        flex-direction: column;
    }
    
    .nav-tab {
        width: 100%;
        justify-content: center;
    }
    
    .policy-card {
        padding: 30px 25px;
    }
    
  
}

@media (max-width: 768px) {
    .terms-policies-section {
        padding: 50px 0;
    }
    
    .policy-card {
        padding: 25px 20px;
    }
    
    .policy-card h2 {
        font-size: 1.5rem;
    }
    
    .policy-section h3 {
        font-size: 1.2rem;
    }
    
    .consent-check {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .section-header h1 {
        font-size: 1.8rem;
    }
    
    .policy-card {
        padding: 20px 15px;
    }
    
    .consent-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

/* ============================================
   PARENT PRIVACY PAGE STYLES
   ============================================ */

/* Privacy Section */
.privacy-section {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    padding: 40px 0 80px;
    min-height: 100vh;
}

/* Privacy Hero */
.privacy-hero {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 40px;
    color: white;
    position: relative;
    overflow: hidden;
}

.privacy-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
    background-size: 30px 30px;
    opacity: 0.3;
}

.privacy-hero-content {
    position: relative;
    z-index: 2;
}

.privacy-hero-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.privacy-hero-icon {
    font-size: 2.5rem;
    background: rgba(255, 255, 255, 0.2);
    padding: 15px;
    border-radius: 15px;
    backdrop-filter: blur(10px);
}

.privacy-hero-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
    margin-bottom: 30px;
    max-width: 600px;
}

.privacy-hero-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.privacy-stat-card {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: transform 0.3s ease;
}

.privacy-stat-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.2);
}

.privacy-stat-icon {
    background: rgba(255, 255, 255, 0.2);
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.privacy-stat-content h3 {
    font-size: 1.1rem;
    margin-bottom: 5px;
}

.privacy-stat-content p {
    font-size: 0.9rem;
    opacity: 0.8;
}

/* Privacy Content Grid */
.privacy-content-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 30px;
}

/* Sidebar Styles */
.privacy-sidebar {
    position: sticky;
    top: 100px;
    height: fit-content;
}

.privacy-nav-card {
    background: white;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}

.privacy-nav-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.3rem;
    margin-bottom: 20px;
    color: var(--dark-color);
    padding-bottom: 15px;
    border-bottom: 2px solid var(--primary-light);
}

.privacy-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.privacy-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border-radius: 10px;
    text-decoration: none;
    color: var(--gray-color);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.privacy-nav-link i {
    font-size: 1.1rem;
    width: 24px;
    text-align: center;
}

.privacy-nav-link span {
    flex: 1;
}

.privacy-nav-link:hover {
    background: var(--primary-light);
    color: var(--primary-color);
    border-color: var(--primary-light);
}

.privacy-nav-link.active {
    background: var(--primary-light);
    color: var(--primary-color);
    border-color: var(--primary-color);
    font-weight: 600;
}

.privacy-sidebar-cta {
    margin-top: 25px;
    padding: 20px;
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border-radius: 12px;
    text-align: center;
    border: 2px dashed #bae6fd;
}

.privacy-sidebar-cta i {
    font-size: 2rem;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.privacy-sidebar-cta h4 {
    font-size: 1.1rem;
    margin-bottom: 15px;
    color: var(--dark-color);
}

.btn-privacy-download {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--primary-color);
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-privacy-download:hover {
    background: var(--secondary-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(74, 110, 224, 0.3);
}

/* Main Content Styles */
.privacy-main-content {
    background: white;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.privacy-content-section {
    margin-bottom: 60px;
    scroll-margin-top: 100px;
}

.privacy-section-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f1f5f9;
}

.privacy-section-icon {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    width: 60px;
    height: 60px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: white;
}

.privacy-section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.8rem;
    color: var(--dark-color);
    margin-bottom: 8px;
}

.privacy-section-subtitle {
    color: var(--gray-color);
    font-size: 1rem;
}

/* Data Cards */
.privacy-data-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
}

.privacy-data-card {
    background: #f8fafc;
    border-radius: 15px;
    padding: 25px;
    border: 2px solid #e5e7eb;
    transition: all 0.3s ease;
}

.privacy-data-card:hover {
    border-color: var(--primary-color);
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.privacy-data-card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.privacy-data-card-icon {
    background: var(--primary-light);
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--primary-color);
}

.privacy-data-card h3 {
    font-size: 1.3rem;
    color: var(--dark-color);
}

.privacy-data-list {
    list-style: none;
    padding: 0;
}

.privacy-data-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    color: var(--gray-color);
}

.privacy-data-list li i {
    font-size: 1rem;
}

.privacy-data-list li i.fa-check-circle {
    color: #10b981;
}

.privacy-data-list li i.fa-times-circle {
    color: #ef4444;
}

/* Timeline */
.privacy-usage-timeline {
    position: relative;
    padding-left: 40px;
}

.privacy-usage-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, var(--primary-color), var(--secondary-color));
}

.privacy-timeline-item {
    position: relative;
    margin-bottom: 30px;
}

.privacy-timeline-icon {
    position: absolute;
    left: -55px;
    top: 0;
    width: 40px;
    height: 40px;
    background: white;
    border: 3px solid var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 1.2rem;
}

.privacy-timeline-content {
    background: #f8fafc;
    padding: 25px;
    border-radius: 15px;
    border-left: 4px solid var(--primary-color);
}

.privacy-timeline-content h3 {
    font-size: 1.3rem;
    margin-bottom: 10px;
    color: var(--dark-color);
}

.privacy-timeline-content p {
    color: var(--gray-color);
    line-height: 1.6;
}

/* Security Grid */
.privacy-security-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}

.privacy-security-card {
    text-align: center;
    padding: 30px 25px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 15px;
    border: 2px solid #e5e7eb;
    transition: all 0.3s ease;
}

.privacy-security-card:hover {
    border-color: var(--primary-color);
    transform: translateY(-5px);
}

.privacy-security-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 2rem;
    color: white;
}

.privacy-security-card h3 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: var(--dark-color);
}

.privacy-security-card p {
    color: var(--gray-color);
    line-height: 1.6;
}

/* Controls Container */
.privacy-controls-container {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 30px;
}

.privacy-controls-features {
    display: grid;
    gap: 20px;
}

.privacy-control-feature {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
}

.privacy-control-feature:hover {
    border-color: var(--primary-color);
    background: white;
}

.privacy-control-icon {
    background: var(--primary-light);
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--primary-color);
    flex-shrink: 0;
}

.privacy-control-content h3 {
    font-size: 1.2rem;
    margin-bottom: 8px;
    color: var(--dark-color);
}

.privacy-control-content p {
    color: var(--gray-color);
    font-size: 0.95rem;
}

.privacy-controls-cta {
    display: flex;
    flex-direction: column;
}

.privacy-cta-card {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    padding: 30px;
    border-radius: 15px;
    color: white;
    text-align: center;
}

.privacy-cta-icon {
    font-size: 3rem;
    margin-bottom: 20px;
    opacity: 0.9;
}

.privacy-cta-card h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
}

.privacy-cta-card p {
    opacity: 0.9;
    margin-bottom: 25px;
    line-height: 1.6;
}

.btn-privacy-action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 25px;
    background: white;
    color: var(--primary-color);
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-privacy-action:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.2);
}

/* Rights Grid */
.privacy-rights-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}

.privacy-right-card {
    text-align: center;
    padding: 30px 25px;
    background: white;
    border-radius: 15px;
    border: 2px solid #e5e7eb;
    transition: all 0.3s ease;
}

.privacy-right-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.privacy-right-icon {
    width: 70px;
    height: 70px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 2rem;
    color: white;
}

.privacy-right-icon.right-access {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.privacy-right-icon.right-correction {
    background: linear-gradient(135deg, #10b981, #047857);
}

.privacy-right-icon.right-deletion {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}

.privacy-right-icon.right-export {
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.privacy-right-card h3 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: var(--dark-color);
}

.privacy-right-card p {
    color: var(--gray-color);
    line-height: 1.6;
}

/* Contact Card */
.privacy-contact-card {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 20px;
    overflow: hidden;
    border: 2px solid #e5e7eb;
}

.privacy-contact-info {
    padding: 40px;
}

.privacy-contact-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #e5e7eb;
}

.privacy-contact-item:last-child {
    border-bottom: none;
}

.privacy-contact-icon {
    background: var(--primary-light);
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--primary-color);
    flex-shrink: 0;
}

.privacy-contact-item h4 {
    font-size: 1.1rem;
    margin-bottom: 5px;
    color: var(--dark-color);
}

.privacy-contact-item p {
    color: var(--gray-color);
}

.privacy-contact-cta {
    background: white;
    padding: 40px;
    text-align: center;
}

.privacy-commitment {
    max-width: 500px;
    margin: 0 auto;
}

.privacy-commitment-icon {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 20px;
}

.privacy-commitment h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    color: var(--dark-color);
}

.privacy-commitment p {
    color: var(--gray-color);
    line-height: 1.6;
    margin-bottom: 15px;
}

.privacy-update {
    color: var(--primary-color) !important;
    font-weight: 600;
    margin-top: 20px !important;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .privacy-content-grid {
        grid-template-columns: 1fr;
    }
    
    .privacy-sidebar {
        position: static;
        margin-bottom: 30px;
    }
    
    .privacy-controls-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .privacy-hero-title {
        font-size: 2rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .privacy-hero-icon {
        font-size: 2rem;
        padding: 12px;
    }
    
    .privacy-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .privacy-data-cards {
        grid-template-columns: 1fr;
    }
    
    .privacy-security-grid {
        grid-template-columns: 1fr;
    }
    
    .privacy-rights-grid {
        grid-template-columns: 1fr;
    }
    
    .privacy-contact-info {
        padding: 25px;
    }
    
    .privacy-contact-item {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.privacy-content-section {
    animation: fadeInUp 0.6s ease-out;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* ============================================
   CHILD SAFETY POLICY PAGE STYLES
   (Using your theme colors from Parent Privacy page)
   ============================================ */

/* Safety Section */
.safety-section {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    padding: 40px 0 80px;
    min-height: 100vh;
}

/* Safety Hero */
.safety-hero {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 20px;
    padding: 50px 40px;
    margin-bottom: 40px;
    color: white;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(74, 110, 224, 0.2);
}

.safety-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');
    background-size: 30px 30px;
    opacity: 0.3;
}

.safety-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.safety-hero-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.safety-hero-icon {
    font-size: 2.5rem;
    background: rgba(255, 255, 255, 0.2);
    padding: 20px;
    border-radius: 20px;
    backdrop-filter: blur(10px);
}

.safety-hero-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
    margin-bottom: 30px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.safety-certification-badges {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 30px;
}

.safety-badge {
    background: rgb(255 255 255 / 49%);
    backdrop-filter: blur(10px);
    padding: 12px 20px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
}

.safety-badge:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-3px);
}

.safety-badge i {
    font-size: 1.1rem;
}

.safety-badge span {
    font-weight: 500;
    font-size: 0.9rem;
}

/* Safety Content Grid */
.safety-content-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 30px;
}

/* Safety Sidebar */
.safety-sidebar {
    position: sticky;
    top: 100px;
    height: fit-content;
}

.safety-nav-card {
    background: white;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 2px solid var(--primary-light);
}

.safety-nav-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.3rem;
    margin-bottom: 20px;
    color: var(--dark-color);
    padding-bottom: 15px;
    border-bottom: 2px solid var(--primary-light);
}

.safety-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.safety-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border-radius: 10px;
    text-decoration: none;
    color: var(--gray-color);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.safety-nav-link i {
    font-size: 1.1rem;
    width: 24px;
    text-align: center;
    color: var(--primary-color);
}

.safety-nav-link span {
    flex: 1;
}

.safety-nav-link:hover {
    background: var(--primary-light);
    color: var(--primary-color);
    border-color: var(--primary-light);
}

.safety-nav-link.active {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
    font-weight: 600;
}

.safety-nav-link.active i {
    color: white;
}

.safety-emergency-card {
    margin-top: 25px;
    padding: 20px;
    background: linear-gradient(135deg, #fff5f5 0%, #fed7d7 100%);
    border-radius: 12px;
    border: 2px solid #fc8181;
    text-align: center;
}

.safety-emergency-icon {
    font-size: 2rem;
    color: #e53e3e;
    margin-bottom: 10px;
}

.safety-emergency-card h4 {
    font-size: 1.1rem;
    margin-bottom: 10px;
    color: #742a2a;
}

.safety-emergency-card p {
    color: #742a2a;
    font-size: 0.9rem;
    margin-bottom: 15px;
}

.safety-emergency-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: #e53e3e;
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.safety-emergency-btn:hover {
    background: #c53030;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(229, 62, 62, 0.3);
}

/* Main Safety Content */
.safety-main-content {
    background: white;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.safety-content-section {
    margin-bottom: 60px;
    scroll-margin-top: 100px;
}

.safety-section-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f1f5f9;
}

.safety-section-icon {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    width: 60px;
    height: 60px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: white;
}

.safety-section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.8rem;
    color: var(--dark-color);
    margin-bottom: 8px;
}

.safety-section-subtitle {
    color: var(--gray-color);
    font-size: 1rem;
}

/* Safety Pledge */
.safety-pledge-card {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 15px;
    padding: 30px;
    border: 2px solid var(--primary-light);
}

.safety-pledge-content p {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 25px;
    color: var(--dark-color);
}

.safety-pledge-points {
    display: grid;
    gap: 20px;
}

.safety-pledge-point {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
    background: white;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
}

.safety-pledge-point:hover {
    border-color: var(--primary-color);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(74, 110, 224, 0.1);
}

.safety-pledge-icon {
    background: var(--primary-light);
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--primary-color);
    flex-shrink: 0;
}

.safety-pledge-text h4 {
    font-size: 1.2rem;
    margin-bottom: 8px;
    color: var(--dark-color);
}

.safety-pledge-text p {
    color: var(--gray-color);
    font-size: 0.95rem;
    margin-bottom: 0;
}

/* Content Safety Layers */
.safety-content-layers {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.safety-layer {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 25px;
    background: white;
    border-radius: 15px;
    border: 2px solid #e5e7eb;
    transition: all 0.3s ease;
}

.safety-layer:hover {
    border-color: var(--primary-color);
    box-shadow: 0 10px 25px rgba(74, 110, 224, 0.1);
}

.safety-layer-number {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: bold;
    color: white;
    flex-shrink: 0;
}

.safety-layer-content h3 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: var(--dark-color);
}

.safety-layer-list {
    list-style: none;
    padding: 0;
}

.safety-layer-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    color: var(--gray-color);
}

.safety-layer-list li i {
    color: var(--success-color);
    font-size: 1rem;
}

/* Platform Security */
.safety-security-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.safety-security-feature {
    text-align: center;
    padding: 25px;
    background: #f8fafc;
    border-radius: 15px;
    border: 2px solid var(--primary-light);
    transition: all 0.3s ease;
}

.safety-security-feature:hover {
    border-color: var(--primary-color);
    transform: translateY(-5px);
    background: white;
}

.safety-security-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 2rem;
    color: white;
}

.safety-security-feature h3 {
    font-size: 1.2rem;
    margin-bottom: 15px;
    color: var(--dark-color);
}

.safety-security-feature p {
    color: var(--gray-color);
    line-height: 1.6;
}

.safety-encryption-banner {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border-radius: 15px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 25px;
    color: white;
}

.safety-encryption-icon {
    font-size: 3rem;
    opacity: 0.9;
}

.safety-encryption-content h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.safety-encryption-content p {
    opacity: 0.9;
    margin-bottom: 15px;
}

.safety-encryption-badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.safety-encryption-badge {
    background: rgba(255, 255, 255, 0.2);
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 0.85rem;
    backdrop-filter: blur(10px);
}

/* Communication Safety */
.safety-communication-rules {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.safety-rule-card {
    background: white;
    border-radius: 15px;
    padding: 25px;
    border: 2px solid #e5e7eb;
}

.safety-rule-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.safety-rule-icon.allowed {
    background: var(--success-light);
    color: var(--success-color);
}

.safety-rule-icon.prohibited {
    background: var(--error-light);
    color: var(--error-color);
}

.safety-rule-content h4 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: var(--dark-color);
}

.safety-rule-content ul {
    list-style: none;
    padding: 0;
}

.safety-rule-content ul li {
    padding: 8px 0;
    color: var(--gray-color);
    display: flex;
    align-items: center;
    gap: 10px;
}

.safety-rule-content ul li:before {
    content: "•";
    color: var(--primary-color);
    font-weight: bold;
    font-size: 1.2rem;
}

.safety-communication-monitoring {
    background: #f8fafc;
    border-radius: 15px;
    padding: 25px;
    text-align: center;
}

.safety-communication-monitoring h3 {
    font-size: 1.4rem;
    margin-bottom: 20px;
    color: var(--dark-color);
}

.safety-monitoring-features {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
}

.safety-monitoring-feature {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.safety-monitoring-feature i {
    font-size: 2rem;
    color: var(--primary-color);
    background: white;
    width: 60px;
    height: 60px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.safety-monitoring-feature span {
    font-weight: 500;
    color: var(--gray-color);
}

/* Parent Safety Tools */
.safety-dashboard-preview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.safety-dashboard-card {
    background: white;
    border-radius: 15px;
    padding: 25px;
    border: 2px solid var(--primary-light);
    transition: all 0.3s ease;
}

.safety-dashboard-card:hover {
    border-color: var(--primary-color);
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(74, 110, 224, 0.1);
}

.safety-dashboard-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f1f5f9;
}

.safety-dashboard-icon {
    font-size: 2rem;
    color: var(--primary-color);
    background: var(--primary-light);
    width: 60px;
    height: 60px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.safety-dashboard-header h3 {
    font-size: 1.3rem;
    color: var(--dark-color);
    margin: 0;
}

.safety-dashboard-features {
    list-style: none;
    padding: 0;
}

.safety-dashboard-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    color: var(--gray-color);
    border-bottom: 1px solid #f1f5f9;
}

.safety-dashboard-features li:last-child {
    border-bottom: none;
}

.safety-dashboard-features li i {
    color: var(--primary-color);
    font-size: 1.1rem;
}

.safety-dashboard-access {
    text-align: center;
    padding: 30px;
    background: linear-gradient(135deg, var(--primary-light) 0%, #dbeafe 100%);
    border-radius: 15px;
}

.safety-access-icon {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 20px;
}

.safety-dashboard-access h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: var(--dark-color);
}

.safety-dashboard-access p {
    color: var(--gray-color);
    margin-bottom: 25px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.btn-safety-access {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 30px;
    background: var(--primary-color);
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-safety-access:hover {
    background: var(--secondary-color);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(74, 110, 224, 0.3);
}

/* Incident Response */
.safety-response-timeline {
    position: relative;
    padding-left: 40px;
    margin-bottom: 40px;
}

.safety-response-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, var(--primary-color), var(--secondary-color));
    border-radius: 2px;
}

.safety-timeline-step {
    position: relative;
    margin-bottom: 30px;
}

.safety-step-number {
    position: absolute;
    left: -55px;
    top: 0;
    width: 40px;
    height: 40px;
    background: white;
    border: 3px solid var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: var(--primary-color);
    font-size: 1.2rem;
    z-index: 2;
}

.safety-step-content {
    background: #f8fafc;
    padding: 25px;
    border-radius: 15px;
    border-left: 4px solid var(--primary-color);
}

.safety-step-content h4 {
    font-size: 1.2rem;
    margin-bottom: 10px;
    color: var(--dark-color);
}

.safety-step-content p {
    color: var(--gray-color);
    line-height: 1.6;
}

.safety-response-team {
    background: white;
    border-radius: 15px;
    padding: 30px;
    border: 2px solid var(--primary-light);
}

.safety-response-team h3 {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 25px;
    color: var(--dark-color);
}

.safety-team-members {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
}

.safety-team-member {
    text-align: center;
    padding: 20px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
}

.safety-team-member:hover {
    border-color: var(--primary-color);
    transform: translateY(-3px);
}

.safety-member-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    font-size: 2rem;
    color: white;
}

.safety-team-member h4 {
    font-size: 1.1rem;
    margin-bottom: 8px;
    color: var(--dark-color);
}

.safety-team-member p {
    color: var(--gray-color);
    font-size: 0.9rem;
}

/* Reporting */
.safety-reporting-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
}

.safety-reporting-card {
    border-radius: 15px;
    padding: 30px;
    transition: all 0.3s ease;
}

.safety-reporting-card.urgent {
    background: linear-gradient(135deg, #fff5f5 0%, #fed7d7 100%);
    border: 2px solid #fc8181;
}

.safety-reporting-card.general {
    background: linear-gradient(135deg, var(--primary-light) 0%, #e0f2fe 100%);
    border: 2px solid #93c5fd;
}

.safety-reporting-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.safety-reporting-header i {
    font-size: 2rem;
}

.safety-reporting-card.urgent .safety-reporting-header i {
    color: #e53e3e;
}

.safety-reporting-card.general .safety-reporting-header i {
    color: var(--primary-color);
}

.safety-reporting-header h3 {
    font-size: 1.3rem;
    margin: 0;
}

.safety-reporting-card.urgent .safety-reporting-header h3 {
    color: #742a2a;
}

.safety-reporting-card.general .safety-reporting-header h3 {
    color: var(--dark-color);
}

.safety-reporting-card p {
    margin-bottom: 25px;
    line-height: 1.6;
}

.safety-reporting-card.urgent p {
    color: #742a2a;
}

.safety-reporting-card.general p {
    color: var(--gray-color);
}

.safety-reporting-contacts {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.safety-contact-urgent,
.safety-contact-email {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.safety-contact-urgent {
    color: #e53e3e;
    border: 2px solid #fc8181;
}

.safety-contact-email {
    color: var(--primary-color);
    border: 2px solid #93c5fd;
}

.safety-contact-urgent:hover,
.safety-contact-email:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.safety-reporting-actions {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.btn-safety-report,
.btn-safety-feedback {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-safety-report {
    background: var(--primary-color);
    color: white;
}

.btn-safety-feedback {
    background: white;
    color: var(--primary-color);
    border: 2px solid #93c5fd;
}

.btn-safety-report:hover,
.btn-safety-feedback:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.safety-commitment-footer {
    background: white;
    border-radius: 15px;
    padding: 40px;
    text-align: center;
    border: 2px solid var(--primary-light);
}

.safety-commitment-icon {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 20px;
}

.safety-commitment-content h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
    color: var(--dark-color);
}

.safety-commitment-content p {
    color: var(--gray-color);
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto 25px;
}

.safety-update-info {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.safety-update-info p {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--primary-color);
    font-weight: 500;
    margin: 0;
}

.safety-update-info i {
    color: var(--secondary-color);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .safety-content-grid {
        grid-template-columns: 1fr;
    }
    
    .safety-sidebar {
        position: static;
        margin-bottom: 30px;
    }
    
    .safety-hero-title {
        font-size: 2.2rem;
        flex-direction: column;
        gap: 15px;
    }
}

@media (max-width: 768px) {
    .safety-hero {
        padding: 30px 20px;
    }
    
    .safety-hero-title {
        font-size: 1.8rem;
    }
    
    .safety-hero-icon {
        font-size: 2rem;
        padding: 15px;
    }
    
    .safety-certification-badges {
        flex-direction: column;
        align-items: center;
    }
    
    .safety-badge {
        width: 100%;
        max-width: 250px;
        justify-content: center;
    }
    
    .safety-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .safety-security-grid {
        grid-template-columns: 1fr;
    }
    
    .safety-dashboard-preview {
        grid-template-columns: 1fr;
    }
    
    .safety-team-members {
        grid-template-columns: 1fr;
    }
    
    .safety-response-timeline {
        padding-left: 30px;
    }
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.safety-content-section {
    animation: fadeInUp 0.6s ease-out;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}


/* Platform Integrity Section - Modern & Stunning Design */
.platform-integrity {
    padding: 80px 0;
    background: linear-gradient(135deg, #f5f7ff 0%, #ffffff 100%);
    position: relative;
    overflow: hidden;
}

.platform-integrity::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 400px;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.05) 100%);
    z-index: 0;
}

.container {
    position: relative;
    z-index: 1;
}

/* Hero Banner */
.integrity-hero-banner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 80px;
    padding: 40px 0;
}

.integrity-hero-content {
    max-width: 600px;
}

.integrity-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    color: white;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 25px;
    letter-spacing: 0.5px;
}

.integrity-tag i {
    font-size: 1.1rem;
}

.integrity-title {
    font-size: 3.2rem;
    font-weight: 800;
    color: var(--dark-color);
    line-height: 1.2;
    margin-bottom: 20px;
}

.highlight {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.integrity-subtitle {
    font-size: 1.15rem;
    line-height: 1.6;
    color: var(--gray-color);
    margin-bottom: 30px;
}

.integrity-hero-graphic {
    display: flex;
    justify-content: center;
    align-items: center;
}

.integrity-shield-graphic {
    position: relative;
    width: 280px;
    height: 280px;
}

.shield-layer {
    position: absolute;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
}

.shield-1 {
    width: 280px;
    height: 280px;
    animation: pulse 3s ease-in-out infinite;
}

.shield-2 {
    width: 200px;
    height: 200px;
    top: 40px;
    left: 40px;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.2) 0%, rgba(118, 75, 162, 0.2) 100%);
    animation: pulse 3s ease-in-out infinite reverse;
}

.shield-3 {
    width: 120px;
    height: 120px;
    top: 80px;
    left: 80px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 3rem;
    animation: rotate 20s linear infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Trust Indicators */
.trust-indicators {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    margin-bottom: 80px;
}

.indicator-card {
    background: white;
    padding: 30px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.indicator-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
}

.indicator-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(102, 126, 234, 0.15);
}

.indicator-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: white;
    font-size: 1.5rem;
}

.indicator-number {
    font-size: 2.8rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 8px;
    line-height: 1;
}

.indicator-text {
    color: var(--dark-color);
    font-weight: 600;
    font-size: 1rem;
    margin: 0;
}

/* Quality Framework */
.quality-framework {
    margin-bottom: 80px;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-title {
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 15px;
}

.title-line {
    display: block;
}

.section-description {
    font-size: 1.1rem;
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto;
}

.framework-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.framework-item {
    background: white;
    padding: 35px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    border: 2px solid rgb(81 220 184);
}

.framework-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(102, 126, 234, 0.15);
}

.framework-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    color: white;
    font-size: 1.8rem;
}

.framework-item h3 {
    font-size: 1.4rem;
    color: var(--dark-color);
    margin-bottom: 20px;
    font-weight: 700;
}

.framework-item ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.framework-item ul li {
    padding: 10px 0;
    color: var(--gray-color);
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.95rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.framework-item ul li:last-child {
    border-bottom: none;
}

.framework-item ul li i {
    color: var(--primary-color);
    font-size: 0.9rem;
}

/* Safety Standards */
.safety-standards {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 24px;
    padding: 60px;
    margin-bottom: 80px;
    color: white;
}

.standards-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.standards-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.2;
}

.standards-description {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-bottom: 40px;
    line-height: 1.6;
}

.safety-features {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.safety-feature {
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 12px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: transform 0.3s ease;
}

.safety-feature:hover {
    transform: translateX(10px);
}

.safety-feature i {
    font-size: 2rem;
    color: white;
}

.safety-feature h4 {
    font-size: 1.1rem;
    margin: 0 0 5px 0;
    font-weight: 600;
}

.safety-feature p {
    margin: 0;
    opacity: 0.8;
    font-size: 0.95rem;
}

.standards-badges {
    display: flex;
    justify-content: center;
}

.badge-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
}

.badge-item {
    background: rgba(255, 255, 255, 0.1);
    padding: 25px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.badge-item:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-5px);
}

.badge-item i {
    font-size: 2.5rem;
    margin-bottom: 10px;
}

.badge-item span {
    font-weight: 600;
    font-size: 0.9rem;
}

/* Technology Stack */
.tech-stack {
    margin-bottom: 80px;
}

.tech-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
}

.tech-card {
    background: white;
    padding: 35px;
    border-radius: 16px;
    display: flex;
    gap: 25px;
    align-items: flex-start;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid rgb(30 187 214);
    transition: all 0.3s ease;
}

.tech-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(102, 126, 234, 0.15);
}

.tech-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
    flex-shrink: 0;
}

.tech-content h3 {
    font-size: 1.3rem;
    color: var(--dark-color);
    margin-bottom: 10px;
    font-weight: 700;
}

.tech-content p {
    color: var(--gray-color);
    margin-bottom: 20px;
    line-height: 1.6;
    font-size: 0.95rem;
}

.tech-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tech-tags span {
    background: rgba(102, 126, 234, 0.1);
    color: var(--primary-color);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
}

/* Parent Controls */
.parent-controls {
    margin-bottom: 80px;
}

.controls-content {
    max-width: 1000px;
    margin: 0 auto;
}

.controls-header {
    text-align: center;
    margin-bottom: 50px;
}

.controls-title {
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 15px;
    line-height: 1.2;
}

.controls-subtitle {
    font-size: 1.1rem;
    color: var(--gray-color);
    max-width: 600px;
    margin: 0 auto;
}

.controls-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 25px;
}

.control-item {
    background: white;
    padding: 30px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 10px 30px rgb(0 0 0 / 30%);
    border: 1px solid rgb(205 207 216);
    transition: all 0.3s ease;
}

.control-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(102, 126, 234, 0.15);
}

.control-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: white;
    font-size: 1.8rem;
}

.control-item h4 {
    font-size: 1.2rem;
    color: var(--dark-color);
    margin-bottom: 10px;
    font-weight: 700;
}

.control-item p {
    color: var(--gray-color);
    font-size: 0.95rem;
    margin: 0;
    line-height: 1.5;
}

/* Commitment Section */
.commitment-section {
    background: linear-gradient(135deg, #f8f9ff 0%, #ffffff 100%);
    border-radius: 24px;
    padding: 60px;
    margin-bottom: 80px;
}

.commitment-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.commitment-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.2;
}

.commitment-description {
    font-size: 1.1rem;
    color: var(--gray-color);
    margin-bottom: 40px;
    line-height: 1.6;
}

.commitment-points {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.commitment-point {
    display: flex;
    align-items: center;
    gap: 20px;
}

.commitment-point i {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.commitment-point h4 {
    font-size: 1.1rem;
    color: var(--dark-color);
    margin: 0 0 5px 0;
    font-weight: 700;
}

.commitment-point p {
    color: var(--gray-color);
    margin: 0;
    font-size: 0.95rem;
}

.commitment-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.visual-circle {
    position: relative;
    width: 300px;
    height: 300px;
}

.circle-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 2px dashed rgba(102, 126, 234, 0.3);
    border-radius: 50%;
    animation: rotate 60s linear infinite;
}

.circle-core {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    height: 180px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 4rem;
}

/* CTA Section */
.integrity-cta {
    text-align: center;
}

.cta-card {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 24px;
    padding: 60px;
    color: white;
    max-width: 800px;
    margin: 0 auto;
}

.cta-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 15px;
}

.cta-description {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-bottom: 40px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
}

.cta-btn {
    padding: 16px 35px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.primary-btn {
    background: white;
    color: var(--primary-color);
}

.primary-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(255, 255, 255, 0.3);
}

.secondary-btn {
    background: transparent;
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.secondary-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-3px);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .integrity-title {
        font-size: 2.8rem;
    }
    
    .section-title {
        font-size: 2.4rem;
    }
}

@media (max-width: 992px) {
    .integrity-hero-banner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
    }
    
    .integrity-title {
        font-size: 2.5rem;
    }
    
    .standards-content,
    .commitment-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .tech-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .platform-integrity {
        padding: 60px 0;
    }
    
    .integrity-hero-banner,
    .safety-standards,
    .commitment-section,
    .cta-card {
        padding: 30px;
    }
    
    .integrity-title {
        font-size: 2rem;
    }
    
    .section-title,
    .controls-title {
        font-size: 2rem;
    }
    
    .cta-title {
        font-size: 1.8rem;
    }
    
    .trust-indicators {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .framework-grid {
        grid-template-columns: 1fr;
    }
    
    .badge-grid {
        grid-template-columns: 1fr;
    }
    
    .controls-grid {
        grid-template-columns: 1fr;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .trust-indicators {
        grid-template-columns: 1fr;
    }
    
    .integrity-title {
        font-size: 1.8rem;
    }
    
    .section-title {
        font-size: 1.6rem;
    }
    
    .visual-circle {
        width: 200px;
        height: 200px;
    }
    
    .circle-core {
        width: 120px;
        height: 120px;
        font-size: 2.5rem;
    }
}

/* ============================================
   REFUND & CANCELLATION POLICY STYLES
   ============================================ */

/* Policy Hero Section */
.policy-hero {
    background: linear-gradient(135deg, var(--primary-color) 0%, #4a6ee0 100%);
    padding: 80px 0 40px;
    color: white;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.policy-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M0,0 L100,0 L100,100 Z" fill="rgba(255,255,255,0.1)"/></svg>');
    background-size: cover;
}

.policy-hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
}

.policy-main-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 3rem;
    font-weight: 900;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.policy-title-icon {
    font-size: 2.5rem;
    color: #ffd166;
}

.policy-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
    margin-bottom: 30px;
}

.policy-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 0.95rem;
    flex-wrap: wrap;
}

.policy-breadcrumb a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: color 0.3s;
}

.policy-breadcrumb a:hover {
    color: white;
    text-decoration: underline;
}

.policy-breadcrumb span {
    color: #ffd166;
    font-weight: 600;
}

.policy-breadcrumb i {
    font-size: 0.8rem;
    opacity: 0.7;
}

/* Main Policy Section */
.refund-policy-section {
    padding: 60px 0;
    background: linear-gradient(to bottom, #f8fafc 0%, #ffffff 100%);
}

.policy-grid-container {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 40px;
}

/* Policy Cards */
.policy-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    margin-bottom: 30px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.policy-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.policy-card-header {
    background: linear-gradient(135deg, #4ae0d1 0%, #1c9b89 100%);
    color: white;
    padding: 25px 30px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.policy-card-icon {
    font-size: 1.8rem;
    background: rgba(255, 255, 255, 0.2);
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.policy-card-header h2 {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 700;
}

.policy-card-body {
    padding: 30px;
}

/* Policy Highlight Box */
.policy-highlight-box {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border-left: 4px solid #1aacc0;
    padding: 20px;
    border-radius: 10px;
    margin: 25px 0;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.policy-highlight-box i {
    color: #3ab6d0;
    font-size: 1.5rem;
    margin-top: 3px;
}

/* Timeline Styles */
.policy-timeline {
    position: relative;
    padding-left: 30px;
}

.policy-timeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(to bottom, #4a6ee0, #3a5ed0, #2a4ec0);
    border-radius: 3px;
}

.timeline-item {
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 40px;
}

.timeline-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

.timeline-marker {
    position: absolute;
    left: -39px;
    top: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: white;
    border: 3px solid #2ccbb9;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.timeline-marker i {
    color: #30bbaa;
    font-size: 0.8rem;
}

.timeline-content h3 {
    color: #2d3748;
    margin-bottom: 10px;
    font-size: 1.4rem;
}

.timeline-content p {
    color: #4a5568;
    line-height: 1.6;
    margin-bottom: 15px;
}

.policy-features {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.policy-features li {
    padding: 8px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #4a5568;
}

.policy-features li i {
    color: #4a6ee0;
    width: 20px;
}

.policy-example-box {
    background: #f8fafc;
    border: 1px dashed #cbd5e0;
    border-radius: 10px;
    padding: 20px;
    margin-top: 15px;
}

.policy-example-box h4 {
    color: #2d3748;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Cancellation Tiers */
.cancellation-tiers {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cancellation-tier {
    background: #f8fafc;
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
}

.tier-header {
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: white;
    border-bottom: 1px solid #e5e7eb;
}

.tier-badge {
    padding: 6px 15px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.tier-1 {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
}

.tier-2 {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
}

.tier-3 {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
}

.tier-icon {
    font-size: 1.2rem;
}

.tier-content {
    padding: 20px;
}

.tier-content p {
    margin: 8px 0;
    color: #4a5568;
}

.tier-note {
    font-size: 0.9rem;
    color: #718096;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.policy-important-note {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border-left: 4px solid #f59e0b;
    padding: 20px;
    border-radius: 10px;
    margin-top: 25px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.policy-important-note i {
    color: #d97706;
    font-size: 1.5rem;
    margin-top: 3px;
}

.policy-important-note h4 {
    color: #92400e;
    margin: 0 0 8px 0;
}

.policy-important-note p {
    color: #92400e;
    opacity: 0.9;
    margin: 0;
}

/* Special Circumstances */
.circumstances-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-top: 25px;
}

.circumstance-item {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 15px;
    padding: 25px;
    text-align: center;
    transition: all 0.3s ease;
}

.circumstance-item:hover {
    border-color: #23aaae;
    box-shadow: 0 10px 25px rgba(74, 110, 224, 0.1);
}

.circumstance-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #e0f2fe, #f0f9ff);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.circumstance-icon i {
    font-size: 1.8rem;
    color: #23aaae;
}

.circumstance-item h4 {
    color: #2d3748;
    margin-bottom: 12px;
    font-size: 1.2rem;
}

.circumstance-item p {
    color: #4a5568;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Sidebar Styles */
.policy-sidebar {
    position: sticky;
    top: 30px;
    height: fit-content;
}

.sidebar-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
    padding: 25px;
    margin-bottom: 25px;
    border: 1px solid #e5e7eb;
}

.sidebar-card h3 {
    color: #2d3748;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.3rem;
}

.sidebar-card h3 i {
    color: #0fbebc;
}

.quick-ref-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.quick-ref-list li {
    padding: 12px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #f1f5f9;
}

.quick-ref-list li:last-child {
    border-bottom: none;
}

.quick-ref-list li i {
    font-size: 1.1rem;
    width: 24px;
}

.text-success { color: #10b981; }
.text-warning { color: #f59e0b; }
.text-info { color: #3a5ed0; }
.text-primary { color: #4a6ee0; }

.contact-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 20px 0;
}

.btn-block {
    width: 100%;
    text-align: center;
    justify-content: center;
}

.response-time {
    font-size: 0.9rem;
    color: #718096;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
}

.process-steps {
    list-style: none;
    padding: 0;
    margin: 0;
}

.process-steps li {
    padding: 15px 0;
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    color: #4a5568;
}

.process-steps li:last-child {
    border-bottom: none;
}

.process-steps li span {
    background: #1ea7b4;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 600;
    flex-shrink: 0;
}

.update-card {
    position: relative;
    border: 2px solid #e0f2fe;
}

.update-badge {
    position: absolute;
    top: -12px;
    right: 20px;
    background: linear-gradient(135deg, #36aeaf, #1a8783);
    color: white;
    padding: 6px 15px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.update-card p {
    margin: 8px 0;
    color: #4a5568;
}

.small-text {
    font-size: 0.85rem;
    color: #718096;
    margin-top: 15px;
    line-height: 1.5;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .policy-grid-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .policy-sidebar {
        position: static;
    }
}

@media (max-width: 768px) {
    .policy-hero {
        padding: 60px 0 30px;
    }
    
    .policy-main-title {
        font-size: 2.2rem;
        flex-direction: column;
        gap: 10px;
    }
    
    .policy-card-header {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .policy-card-header h2 {
        font-size: 1.5rem;
    }
    
    .cancellation-tier {
        text-align: center;
    }
    
    .tier-header {
        flex-direction: column;
        gap: 10px;
    }
    
    .circumstances-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .policy-card-body {
        padding: 20px;
    }
    
    .policy-timeline {
        padding-left: 20px;
    }
    
    .timeline-marker {
        left: -29px;
    }
    
    .timeline-content h3 {
        font-size: 1.2rem;
    }
}

/* IQ BUDS Course Details Styles */
.iqbuds-course-details-section {
    padding: 60px 20px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    min-height: 100vh;
}

.iqbuds-container {
    max-width: 1400px;
    margin: 0 auto;
}

/* Header Styles */
.iqbuds-course-header {
    text-align: center;
    margin-bottom: 0px;
    background: linear-gradient(135deg, #458a9f 0%, #586161 100%) !important;
}

.iqbuds-course-header h1 {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.8rem;
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: 15px;
}

.iqbuds-subtitle {
    font-size: 1.1rem;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto 40px;
    line-height: 1.6;
}

/* Learning Stats */
.iqbuds-learning-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-top: 40px;
}

.iqbuds-stat-card {
    background: #f3eacb;
    border-radius: 20px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 10px 25px rgb(0 0 0 / 61%);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #e2e8f0;
}

.iqbuds-stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.iqbuds-stat-icon {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.8rem;
    flex-shrink: 0;
}

.iqbuds-stat-info h3 {
    font-size: 1rem;
    color: #64748b;
    margin-bottom: 5px;
    font-weight: 600;
}

.iqbuds-stat-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: #1e293b;
    display: block;
    margin-top: 5px;
}

/* Course Grid */
.iqbuds-course-grid-container {
    margin-bottom: 80px;
}

.iqbuds-grid-title {
    font-size: 2.2rem;
    color: #1e293b;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.iqbuds-grid-subtitle {
    color: #64748b;
    margin-bottom: 40px;
    font-size: 1.1rem;
}

.iqbuds-course-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 30px;
}

/* Course Card */
.iqbuds-course-card {
    background: white;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border: 1px solid #e2e8f0;
    position: relative;
    border: 1px solid #c0cbcb;
}

.iqbuds-course-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12);
}

.iqbuds-card-featured {
    border: 2px solid #4f46e5;
}

.iqbuds-card-new::before {
    content: '';
    position: absolute;
    top: 20px;
    right: 20px;
    width: 20px;
    height: 20px;
    background: #10b981;
    border-radius: 50%;
    animation: pulse 2s infinite;
    z-index: 2;
}

.iqbuds-card-completed {
    opacity: 0.95;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 255, 128, 0.9);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(0, 255, 128, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 255, 128, 0);
    }
}


/* Course Badge */
.iqbuds-course-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    display: flex;
    justify-content: space-between;
    z-index: 2;
}

.iqbuds-badge-featured,
.iqbuds-badge-new,
.iqbuds-badge-completed,
.iqbuds-badge-progress {
    padding: 6px 15px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.iqbuds-badge-featured {
    background: #4f46e5;
    color: white;
}

.iqbuds-badge-new {
    background: #10b981;
    color: white;
}

.iqbuds-badge-completed {
    background: #8b5cf6;
    color: white;
}

.iqbuds-badge-progress {
    background: rgba(255, 255, 255, 0.95);
    color: #1e293b;
    backdrop-filter: blur(10px);
}

/* Course Image */
.iqbuds-course-image {
    height: 200px;
    position: relative;
    overflow: hidden;
}

.iqbuds-image-overlay {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: white;
}

.iqbuds-course-category {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(255, 255, 255, 0.9);
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e293b;
    backdrop-filter: blur(10px);
}

/* Course Content */
.iqbuds-course-content {
    padding: 10px;
}

.iqbuds-course-title {
    font-size: 1.5rem;
    color: #1e293b;
    margin-bottom: 5px;
    line-height: 1.3;
}

.iqbuds-course-description {
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 25px;
    font-size: 0.95rem;
}

/* Course Meta */
.iqbuds-course-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.iqbuds-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #64748b;
    font-size: 0.9rem;
}

.iqbuds-meta-item i {
    color: #4f46e5;
}

/* Progress Section */
.iqbuds-progress-section {
    margin-bottom: 25px;
}

.iqbuds-progress-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 0.9rem;
    color: #64748b;
}

.iqbuds-progress-bar {
    height: 10px;
    background: #e2e8f0;
    border-radius: 5px;
    overflow: hidden;
}

.iqbuds-progress-fill {
    height: 100%;
    border-radius: 5px;
    transition: width 1s ease;
}

/* Action Buttons */
.iqbuds-action-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 25px;
}

.iqbuds-btn {
    padding: 14px 20px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    outline: none;
}

.iqbuds-btn-primary {
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    color: white;
}

.iqbuds-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(79, 70, 229, 0.3);
}

.iqbuds-btn-outline {
    background: transparent;
    color: #4f46e5;
    border: 2px solid #e2e8f0;
}

.iqbuds-btn-outline:hover {
    border-color: #4f46e5;
    background: rgba(79, 70, 229, 0.05);
}

.iqbuds-btn-success {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    color: white;
}

.iqbuds-btn-success:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(16, 185, 129, 0.3);
}

/* Course Footer */
.iqbuds-course-footer {
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
    font-size: 0.85rem;
}

.iqbuds-footer-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #64748b;
}

.iqbuds-footer-item i {
    color: #4f46e5;
}

/* Empty State */
.iqbuds-empty-state {
    text-align: center;
    padding: 80px 20px;
    background: white;
    border-radius: 24px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
}

.iqbuds-empty-icon {
    font-size: 5rem;
    color: #cbd5e1;
    margin-bottom: 30px;
}

.iqbuds-empty-state h3 {
    font-size: 1.8rem;
    color: #1e293b;
    margin-bottom: 15px;
}

.iqbuds-empty-state p {
    color: #64748b;
    max-width: 400px;
    margin: 0 auto 30px;
    line-height: 1.6;
}

/* Performance Insights */
.iqbuds-performance-section {
    margin-top: 60px;
}

.iqbuds-performance-section h2 {
    font-size: 2.2rem;
    color: #1e293b;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.iqbuds-insights-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}

.iqbuds-insight-card {
    background: white;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
    border: 1px solid #e2e8f0;
}

.iqbuds-insight-card:hover {
    transform: translateY(-5px);
}

.iqbuds-insight-icon {
    width: 60px;
    height: 60px;
    background: #f8fafc;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.iqbuds-insight-card h4 {
    font-size: 1.2rem;
    color: #1e293b;
    margin-bottom: 10px;
}

.iqbuds-insight-card p {
    color: #64748b;
    line-height: 1.6;
    font-size: 0.95rem;
}

.iqbuds-insight-card strong {
    color: #4f46e5;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .iqbuds-course-grid {
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    }
}

@media (max-width: 768px) {
    .iqbuds-course-header h1 {
        font-size: 2.2rem;
    }
    
    .iqbuds-course-grid {
        grid-template-columns: 1fr;
    }
    
    .iqbuds-learning-stats,
    .iqbuds-insights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .iqbuds-action-buttons {
        grid-template-columns: 1fr;
    }
    
    .iqbuds-course-footer {
        flex-direction: column;
        gap: 10px;
    }
}

@media (max-width: 576px) {
    .iqbuds-learning-stats,
    .iqbuds-insights-grid {
        grid-template-columns: 1fr;
    }
    
    .iqbuds-stat-card,
    .iqbuds-insight-card {
        padding: 20px;
    }
    
    .iqbuds-course-content {
        padding: 20px;
    }
}

.iqbuds-no-courses {
    text-align: center;
    padding: 60px 20px;
    grid-column: 1 / -1;
}

.no-courses-icon {
    font-size: 4rem;
    color: #ccc;
    margin-bottom: 20px;
}

.iqbuds-no-courses h3 {
    color: var(--dark-color);
    margin-bottom: 10px;
}

.iqbuds-no-courses p {
    color: var(--gray-color);
    margin-bottom: 30px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

/* Month Tabs Grid */
.month-tabs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 8px;
    margin: 15px 0;
}

.month-tab-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.month-tab {
    padding: 8px 12px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 6px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
}

.month-tab.active {
    background: linear-gradient(135deg, #4CAF50 0%, #2E7D32 100%);
    box-shadow: 0 3px 10px rgba(76, 175, 80, 0.3);
}

.month-tab:hover:not(.active) {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
}

.renew-btn {
    padding: 6px 10px;
    background: linear-gradient(135deg, #ff9500 0%, #ff5e3a 100%);
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.renew-btn:hover {
    background: linear-gradient(135deg, #ff5e3a 0%, #ff2a68 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(255, 94, 58, 0.3);
}




/* Payment Tabs Styling */
/* Payment Tabs Styling */
.iqbuds-payment-tabs {
    margin: 20px 0;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
}

.tabs-header {
    background: linear-gradient(135deg, #3991ab 0%, #9e4ba2 100%);
    color: white;
    padding: 12px 20px;
}

.tabs-header h4 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
}

.tabs-container {
    padding: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.payment-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    transition: all 0.3s ease;
    min-width: 120px;
    justify-content: center;
}

.payment-tab:hover {
    background: #e5e7eb;
    border-color: #9ca3af;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.payment-tab.active {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    color: white;
    border-color: #4facfe;
    box-shadow: 0 4px 6px rgba(79, 172, 254, 0.3);
}

.payment-badge {
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    margin-left: 5px;
    
}

.payment-badge.initial {
    background: #10b981;
    color: white;
}

.payment-badge.renewal {
    background: #f59e0b;
    color: white;
}

/* Payment Details Modal */
.payment-details-modal {
    max-width: 800px;
    max-height: 90vh;
    overflow-y: auto;
}

.payment-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin: 20px 0;
}

.payment-detail-card {
    background: #e8ddc8;
    border-radius: 10px;
    padding: 20px;
    border: 2px solid #c4b28a;
}

.payment-detail-card h4 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #374151;
    display: flex;
    align-items: center;
    gap: 10px;
}

.payment-detail-card h4 i {
    color: #1d9f81;
}

.detail-item {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f3f4f6;
}

.detail-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.detail-label {
    display: block;
    font-weight: 500;
    color: #6b7280;
    font-size: 13px;
    margin-bottom: 4px;
}

.detail-label-pay {
    display: block;
    font-weight: 500;
    color: #f3dd33;
    font-size: 13px;
    margin-bottom: 4px;
}

.detail-value {
    display: block;
    font-weight: 600;
    color: #374151;
    font-size: 14px;
    word-break: break-word;
}

.detail-value.status-completed {
    color: #10b981;
}

.detail-value.status-pending {
    color: #f59e0b;
}

.detail-value.status-failed {
    color: #ef4444;
}

.payment-summary {
    background: linear-gradient(135deg, #ea6670 0%, #514ba2 100%);
    color: white;
    padding: 20px;
    border-radius: 10px;
    margin: 20px 0;
}

.payment-summary h3 {
    margin-top: 0;
    color: white;
    display: flex;
    align-items: center;
    gap: 10px;
}

.payment-summary .detail-value {
    color: white;
    font-size: 16px;
}

.payment-info-section {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 20px;
    margin: 15px 0;
}

.payment-info-section h4 {
    color: #374151;
    margin-top: 0;
    border-bottom: 2px solid #4facfe;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.payment-timeline {
    position: relative;
    padding-left: 30px;
    margin: 20px 0;
}

.payment-timeline::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #4facfe;
}

.timeline-item {
    position: relative;
    margin-bottom: 20px;
}

.timeline-item:last-child {
    margin-bottom: 0;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -20px;
    top: 5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #4facfe;
    border: 3px solid white;
    box-shadow: 0 0 0 2px #4facfe;
}

.timeline-date {
    font-weight: 600;
    color: #374151;
    margin-bottom: 5px;
}

.timeline-desc {
    color: #6b7280;
    font-size: 14px;
}

/* Course Footer Update */
.iqbuds-course-footer {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e5e7eb;
}

.iqbuds-footer-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #6b7280;
}




/* Minimal CSS for New Course Card Components */

/* 12-Month Journey Header */
.iqbuds-course-header {
    padding: 15px 20px;
    border-radius: 10px 10px 0 0;
    color: white;
}

.course-journey-title h3 {
    margin: 0 0 5px 0;
    font-size: 17px;
}

.course-journey-title p {
    margin: 0;
    opacity: 0.9;
    font-size: 13px;
}

/* Month Milestones - 6 per row, 2 rows total */
.month-journey-container {
    margin-top: 15px;
}

.progress-track {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* 6 months per row */
    gap: 8px;
    margin-bottom: 10px;
}

.month-milestone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.milestone-dot {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    margin-bottom: 4px;
    font-weight: 600;
}

.month-milestone.completed .milestone-dot {
    background: #10b981;
    color: white;
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3);
}

.month-milestone.current {
    position: relative;
}

/* Main dot */
.month-milestone.current .milestone-dot {
    position: relative;
    background: #e32a2a !important;
    color: #fff;
    border: 1px solid #ffffff;
    box-shadow: 0 0 15px rgba(59, 130, 246, 0.9);
    animation: dotPulse 1.4s infinite ease-in-out;
    z-index: 2;
}

/* Animated border ring */
.month-milestone.current::before {
    content: "";
    position: absolute;
    width: 70%;
    height: 70%;
    top: 25%;
    left: 25%;
    transform: translate(-50%, -50%);
    border: 2px solid yellow;
    border-radius: 50%;
    animation: borderWave 1.8s infinite;
}

/* SECOND outer glow ring */
.month-milestone.current::after {
    content: "";
    position: absolute;
    width: 50%;
    height: 50%;
    top: 25%;
    left: 25%;
    transform: translate(-25%, -25%);
    border: 2px dashed #d6c8c7;
    border-radius: 50%;
    animation: borderRotate 3s linear infinite;
}

/* Animations */
@keyframes dotPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.12);
    }
}

@keyframes borderWave {
    0% {
        opacity: 1;
        transform: translate(-25%, -25%) scale(0.9);
    }
    100% {
        opacity: 0;
        transform: translate(-25%, -25%) scale(1.4);
    }
}

@keyframes borderRotate {
    from {
        transform: translate(-25%, -25%) rotate(0deg);
    }
    to {
        transform: translate(-25%, -25%) rotate(360deg);
    }
}



.month-milestone.upcoming .milestone-dot {
    background: rgba(255, 255, 255, 0.2);
    color: black;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.milestone-label {
    font-size: 14px;
    color: rgba(255,255,255,0.8);
    text-align: center;
    white-space: nowrap;
}

/* Investment Value Badge */
/* Investment Value Badge - Dynamic Progress System */
.investment-value-badge {
    background: linear-gradient(135deg, #1e9abf 0%, #403766 100%);
    border-radius: 12px;
    padding: 18px;
    color: white;
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.2);
    position: relative;
    overflow: hidden;
    margin-top: 10px;
}

.investment-value-badge::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #10b981, #3b82f6, #8b5cf6);
}

.value-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.value-content {
    position: relative;
    z-index: 1;
}

.progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.progress-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    background: rgba(255, 255, 255, 0.15);
    padding: 4px 10px;
    border-radius: 20px;
}

.progress-count {
    font-size: 14px;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.1);
    padding: 4px 42px;
    border-radius: 20px;
}

.progress-display {
    margin-bottom: 15px;
}

.progress-bar {
    height: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 8px;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #10b981, #34d399);
    border-radius: 4px;
    transition: width 1s ease;
}

.progress-percent {
    font-size: 18px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    display: block;
    text-align: center;
}

.progress-message {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 15px;
    border-left: 3px solid #10b981;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    animation: messageSlide 0.5s ease;
}

.message-icon {
    color: #fbbf24;
    font-size: 14px;
    margin-top: 2px;
}

.message-text {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    flex: 1;
}

.progress-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    background: rgba(255, 255, 255, 0.05);
    padding: 10px;
    border-radius: 8px;
}

.stat {
    text-align: center;
    padding: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    transition: transform 0.2s ease;
}

.stat:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.15);
}

.stat-value {
    display: block;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 2px;
}

.stat-label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

/* Animations */
@keyframes messageSlide {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes progressGlow {
    0%, 100% {
        box-shadow: 0 10px 30px rgba(102, 126, 234, 0.2);
    }
    50% {
        box-shadow: 0 10px 40px rgba(102, 126, 234, 0.3);
    }
}

.investment-value-badge {
    animation: progressGlow 3s infinite;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .investment-value-badge {
        padding: 15px;
    }
    
    .progress-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .value-icon {
        width: 35px;
        height: 35px;
        font-size: 16px;
        top: 10px;
        right: 10px;
    }
    
    .message-text {
        font-size: 16px;
    }
    
    .stat-value {
        font-size: 16px;
    }
}


/* Course Title Section */
.course-title-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 15px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e7eb;
}

.course-id-badge {
    background: #f3f4f6;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    color: #6b7280;
}

/* Why Invest Section */
.why-invest-section {
    background: #f9fafb;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #e5e7eb;
}

.why-invest-header h4 {
    margin: 0 0 5px 0;
    font-size: 14px;
    color: #374151;
}

.invest-subtitle {
    margin: 0 0 15px 0;
    color: #6b7280;
    font-size: 13px;
}

.investment-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.benefit-icon {
    width: 35px;
    height: 35px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.benefit-content h5 {
    margin: 0 0 3px 0;
    font-size: 13px;
    color: #374151;
}

.benefit-content p {
    margin: 0;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.4;
}

/* Updated Payment Tabs */
.tabs-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.payment-count-badge {
    background: #10b981;
    color: white;
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 12px;
}

/* Updated Payment Tab */
.payment-tab {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 10px;
    margin-bottom: 5px;
}

.payment-number {
    font-weight: 500;
}

.payment-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.payment-date {
    font-size: 12px;
    color: #6b7280;
}

/* Updated Course Footer */
.iqbuds-course-footer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid #e5e7eb;
}

.iqbuds-footer-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px !important;
    color: #6b7280;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .progress-track {
        grid-template-columns: repeat(4, 1fr); /* 4 per row on tablets */
        gap: 6px;
    }
    
    .milestone-dot {
        width: 38px;
        height: 38px;
        font-size: 18px;
    }
    
    .investment-benefits {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .iqbuds-course-footer {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .progress-track {
        grid-template-columns: repeat(3, 1fr); /* 3 per row on mobile */
        gap: 5px;
    }
    
    .milestone-dot {
        width: 36px;
        height: 36px;
        font-size: 18px !important;
    }
    
    .milestone-label {
        font-size: 14px;
    }
    
    .investment-benefits {
        grid-template-columns: 1fr;
    }
    
    .iqbuds-course-footer {
        grid-template-columns: 1fr;
    }
    
    .payment-tab {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
}

/* Extra small devices */
@media (max-width: 360px) {
    .progress-track {
        grid-template-columns: repeat(2, 1fr); /* 2 per row on very small screens */
    }
}

/* ============================================
   WHY US SECTION - IQ BUDS EdTech
   Unique class names to prevent conflicts
============================================ */

/* Section Container */
.why-us-iq-buds-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8faff 0%, #f0f4ff 100%);
    position: relative;
    overflow: hidden;
}

.why-us-iq-buds-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(74, 110, 224, 0.1) 0%, transparent 70%);
    z-index: 1;
}

.why-us-iq-buds-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 107, 107, 0.08) 0%, transparent 70%);
    z-index: 1;
}

.why-us-iq-buds-section .container {
    position: relative;
    z-index: 2;
}

/* Header Styles */
.why-us-iq-buds-header {
    text-align: center;
    margin-bottom: 60px;
}

.why-us-iq-buds-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.8rem;
    font-weight: 800;
    color: var(--dark-color);
    margin-bottom: 15px;
    background: linear-gradient(135deg, var(--primary-color) 0%, #4a6ee0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.why-us-iq-buds-brand {
    color: var(--primary-color);
    -webkit-text-fill-color: var(--primary-color);
}

.why-us-iq-buds-subtitle {
    font-size: 1.2rem;
    color: var(--gray-color);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Main Grid Layout */
.why-us-iq-buds-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
}

/* Left Column */
.why-us-iq-buds-left {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Cards */
.why-us-iq-buds-card {
    background: white;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 30px rgba(74, 110, 224, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(74, 110, 224, 0.1);
}

.why-us-iq-buds-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(74, 110, 224, 0.15);
}

.why-us-iq-buds-card-featured {
    background: linear-gradient(135deg, #ffffff 0%, #f8faff 100%);
    border: 2px solid rgba(74, 110, 224, 0.2);
    position: relative;
    overflow: hidden;
}

.why-us-iq-buds-card-featured::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
}

.why-us-iq-buds-icon-wrapper {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--primary-color) 0%, #4a6ee0 100%);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    color: white;
    font-size: 1.8rem;
}

.why-us-iq-buds-card-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 15px;
    font-family: 'Poppins', sans-serif;
}

.why-us-iq-buds-card-text {
    color: var(--gray-color);
    line-height: 1.7;
    margin-bottom: 20px;
}

/* Stats */
.why-us-iq-buds-stats {
    display: flex;
    gap: 30px;
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.why-us-iq-buds-stat {
    display: flex;
    flex-direction: column;
}

.why-us-iq-buds-stat-number {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--primary-color);
    line-height: 1;
    font-family: 'Montserrat', sans-serif;
}

.why-us-iq-buds-stat-label {
    font-size: 0.9rem;
    color: var(--gray-color);
    margin-top: 5px;
}

/* List */
.why-us-iq-buds-list {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.why-us-iq-buds-list li {
    padding: 8px 0;
    color: var(--gray-color);
    display: flex;
    align-items: center;
    gap: 10px;
}

.why-us-iq-buds-list li i {
    color: var(--success-color);
    font-size: 1.1rem;
}

/* Right Column */
.why-us-iq-buds-right {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Pillars */
.why-us-iq-buds-pillars {
    background: white;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 30px rgba(74, 110, 224, 0.1);
}

.why-us-iq-buds-pillars-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 30px;
    text-align: center;
}

.why-us-iq-buds-pillar-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.why-us-iq-buds-pillar-card {
    background: #f8faff;
    border-radius: 15px;
    padding: 25px;
    text-align: center;
    transition: all 0.3s ease;
    border: 1px solid rgba(74, 110, 224, 0.1);
}

.why-us-iq-buds-pillar-card:hover {
    background: white;
    box-shadow: 0 8px 25px rgba(74, 110, 224, 0.1);
    transform: translateY(-3px);
}

.why-us-iq-buds-pillar-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--secondary-color) 0%, #ff6b6b 100%);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: white;
    font-size: 1.5rem;
}

.why-us-iq-buds-pillar-card h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 10px;
}

.why-us-iq-buds-pillar-card p {
    font-size: 0.9rem;
    color: var(--gray-color);
    line-height: 1.5;
}

/* Differentiator */
.why-us-iq-buds-differentiator {
    background: white;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 30px rgba(74, 110, 224, 0.1);
}

.why-us-iq-buds-differentiator-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 30px;
    text-align: center;
}

.why-us-iq-buds-comparison {
    background: #f8faff;
    border-radius: 15px;
    padding: 30px;
}

.why-us-iq-buds-comparison-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.05);
}

.why-us-iq-buds-comparison-label {
    font-weight: 600;
    color: var(--dark-color);
    text-align: center;
    padding: 10px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.02);
}

.why-us-iq-buds-comparison-label.why-us-iq-buds-our-way {
    background: linear-gradient(135deg, rgba(74, 110, 224, 0.1) 0%, rgba(74, 110, 224, 0.05) 100%);
    color: var(--primary-color);
}

.why-us-iq-buds-vs {
    font-weight: 800;
    color: var(--secondary-color);
    font-size: 1.2rem;
}

.why-us-iq-buds-comparison-points {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.why-us-iq-buds-point {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 20px;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.why-us-iq-buds-point.traditional {
    background: rgba(255, 107, 107, 0.05);
    border: 1px solid rgba(255, 107, 107, 0.1);
}

.why-us-iq-buds-point.our-way {
    background: rgba(74, 110, 224, 0.05);
    border: 1px solid rgba(74, 110, 224, 0.1);
}

.why-us-iq-buds-point i {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.why-us-iq-buds-point.traditional i {
    color: var(--secondary-color);
}

.why-us-iq-buds-point.our-way i {
    color: var(--primary-color);
}

.why-us-iq-buds-point span {
    color: var(--dark-color);
    font-weight: 500;
}

/* CTA Card */
.why-us-iq-buds-cta-card {
    background: linear-gradient(135deg, var(--primary-color) 0%, #4a6ee0 100%);
    border-radius: 20px;
    padding: 40px;
    color: white;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.why-us-iq-buds-cta-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
}

.why-us-iq-buds-cta-card::after {
    content: '';
    position: absolute;
    bottom: -50%;
    left: -50%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
}

.why-us-iq-buds-cta-content {
    position: relative;
    z-index: 2;
}

.why-us-iq-buds-cta-card h3 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.why-us-iq-buds-cta-card p {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-bottom: 30px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.why-us-iq-buds-cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.why-us-iq-buds-btn {
    padding: 15px 30px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    outline: none;
}

.why-us-iq-buds-btn-primary {
    background: white;
    color: var(--primary-color);
}

.why-us-iq-buds-btn-primary:hover {
    background: #f0f4ff;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.why-us-iq-buds-btn-secondary {
    background: rgba(255, 255, 255, 0.15);
    color: white;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.why-us-iq-buds-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Certifications */
.why-us-iq-buds-certifications {
    text-align: center;
    padding: 50px 0 0;
}

.why-us-iq-buds-certifications-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 35px;
}

.why-us-iq-buds-badges {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 25px;
}

.why-us-iq-buds-badge {
    background: white;
    padding: 20px 25px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 5px 15px rgba(74, 110, 224, 0.1);
    border: 1px solid rgba(74, 110, 224, 0.1);
    transition: all 0.3s ease;
    min-width: 200px;
}

.why-us-iq-buds-badge:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(74, 110, 224, 0.15);
}

.why-us-iq-buds-badge i {
    font-size: 1.8rem;
    color: var(--primary-color);
}

.why-us-iq-buds-badge span {
    font-weight: 600;
    color: var(--dark-color);
    font-size: 0.95rem;
    text-align: left;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .why-us-iq-buds-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .why-us-iq-buds-pillar-cards {
        grid-template-columns: 1fr;
    }
    
    .why-us-iq-buds-cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .why-us-iq-buds-btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .why-us-iq-buds-section {
        padding: 60px 0;
    }
    
    .why-us-iq-buds-title {
        font-size: 2.2rem;
    }
    
    .why-us-iq-buds-subtitle {
        font-size: 1.1rem;
    }
    
    .why-us-iq-buds-card,
    .why-us-iq-buds-pillars,
    .why-us-iq-buds-differentiator,
    .why-us-iq-buds-cta-card {
        padding: 25px;
    }
    
    .why-us-iq-buds-stats {
        flex-direction: column;
        gap: 20px;
    }
    
    .why-us-iq-buds-badges {
        flex-direction: column;
        align-items: center;
    }
    
    .why-us-iq-buds-badge {
        width: 100%;
        max-width: 300px;
    }
    
    .why-us-iq-buds-comparison-header {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .why-us-iq-buds-vs {
        order: 2;
    }
}

@media (max-width: 480px) {
    .why-us-iq-buds-title {
        font-size: 1.8rem;
    }
    
    .why-us-iq-buds-card-title {
        font-size: 1.3rem;
    }
    
    .why-us-iq-buds-cta-card h3 {
        font-size: 1.5rem;
    }
    
    .why-us-iq-buds-btn {
        padding: 12px 25px;
        font-size: 0.95rem;
    }
}

/* Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.why-us-iq-buds-card,
.why-us-iq-buds-pillar-card,
.why-us-iq-buds-cta-card,
.why-us-iq-buds-badge {
    animation: fadeInUp 0.6s ease forwards;
    opacity: 0;
}

.why-us-iq-buds-card:nth-child(1) { animation-delay: 0.1s; }
.why-us-iq-buds-card:nth-child(2) { animation-delay: 0.2s; }
.why-us-iq-buds-pillar-card:nth-child(1) { animation-delay: 0.3s; }
.why-us-iq-buds-pillar-card:nth-child(2) { animation-delay: 0.4s; }
.why-us-iq-buds-pillar-card:nth-child(3) { animation-delay: 0.5s; }
.why-us-iq-buds-pillar-card:nth-child(4) { animation-delay: 0.6s; }
.why-us-iq-buds-differentiator { animation-delay: 0.7s; }
.why-us-iq-buds-cta-card { animation-delay: 0.8s; }
.why-us-iq-buds-badge:nth-child(1) { animation-delay: 0.9s; }
.why-us-iq-buds-badge:nth-child(2) { animation-delay: 1s; }
.why-us-iq-buds-badge:nth-child(3) { animation-delay: 1.1s; }
.why-us-iq-buds-badge:nth-child(4) { animation-delay: 1.2s; }
.why-us-iq-buds-badge:nth-child(5) { animation-delay: 1.3s; }

