 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Inter', sans-serif;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
            width: 100%;
            max-width: 100vw;
        }
        
        /* Prevent horizontal scroll */
        html {
            overflow-x: hidden;
            width: 100%;
        }
        
        /* Ensure all containers don't exceed viewport */
        section, main {
            max-width: 100%;
        }
        
        /* Footer link hover */
        .footer-link {
            transition: color 0.2s ease, transform 0.2s ease;
        }
        
        .footer-link:hover {
            color: #FFC300;
            transform: translateX(3px);
        }
        
        /* Social icon hover */
        .social-icon {
            transition: all 0.3s ease;
        }
        
        .social-icon:hover {
            transform: translateY(-3px);
            background: #FFC300;
        }
        
        /* Skip to main content */
        .skip-to-main {
            position: absolute;
            left: -9999px;
            z-index: 999;
            padding: 1rem 1.5rem;
            background: #0064E6;
            color: white;
            text-decoration: none;
            border-radius: 0.5rem;
        }
        
        .skip-to-main:focus {
            left: 1rem;
            top: 1rem;
        }

        /* Custom animations */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .animate-fade-in-up {
            animation: fadeInUp 0.6s ease-out;
        }

        /* Timeline animation */
        .timeline-item {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }

        .timeline-item.animate-in {
            opacity: 1;
            transform: translateY(0);
        }

        /* Card hover effects */
        .hover-lift {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .hover-lift:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
        }
        
        /* Screen reader only */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border-width: 0;
        }
        
        /* Prevent decorative elements from causing overflow */
        .decorative-blur {
            pointer-events: none;
            will-change: transform;
        }
        
        /* Responsive image optimization */
        img {
            max-width: 100%;
            height: auto;
            display: block;
        }
        
        /* Performance: Reduce repaints */
        .hover-lift,
        .social-icon,
        .footer-link {
            will-change: transform;
        }

        /* ==================== ANIMATION STYLES ==================== */
/* Animation Styles */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in-left {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-left.visible {
    opacity: 1;
    transform: translateX(0);
}

.fade-in-right {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-right.visible {
    opacity: 1;
    transform: translateX(0);
}

.scale-in {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scale-in.visible {
    opacity: 1;
    transform: scale(1);
}

/* Stagger delay for sequential animations */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
.stagger-5 { transition-delay: 0.5s; }
.stagger-6 { transition-delay: 0.6s; }

/* Larger screens can have more dramatic animations */
@media (min-width: 768px) {
    .fade-in-left {
        transform: translateX(-50px);
    }
    
    .fade-in-right {
        transform: translateX(50px);
    }
    
    .scale-in {
        transform: scale(0.8);
    }
}