/* Additional landing page styles */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Enhanced mobile responsiveness */
@media (max-width: 480px) {
    .hero-title {
        font-size: 1.5rem;
        line-height: 1.3;
    }
    
    .section-title {
        font-size: 1.3rem;
    }
    
    .vision-text, .mission-text {
        font-size: 0.95rem;
    }
    
    .objective-card {
        padding: 1rem;
        margin-bottom: 1rem;
    }
    
    .objective-number {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }
    
    .qr-card {
        padding: 1rem;
    }
    
    .qr-card h2 {
        font-size: 1.5rem;
    }
    
    #qrcode canvas {
        max-width: 150px !important;
        height: auto !important;
    }
    
    .sponsor-logo {
        max-width: 120px;
    }
}

/* Print styles */
@media print {
    .language-switcher,
    .floating-elements {
        display: none;
    }
    
    .hero-section {
        background: white !important;
        color: black !important;
    }
    
    .section-title {
        color: #2E8B57 !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    :root {
        --primary-color: #1a5c3a;
        --secondary-color: #4a9d7a;
        --text-dark: #000000;
        --text-light: #333333;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .float-element,
    .pulse,
    .fade-in {
        animation: none !important;
        transition: none !important;
    }
    
    .objective-card:hover {
        transform: none !important;
    }
}