.hero-section {
    position: relative;
    overflow: hidden;
}

.hero-background {
    z-index: 1;
}

.hero-background video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hero-title {
    animation: fadeInUp 1s ease;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-subtitle {
    animation: fadeInUp 1s ease 0.2s;
    animation-fill-mode: both;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-buttons {
    animation: fadeInUp 1s ease 0.4s;
    animation-fill-mode: both;
}

.feature-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    animation: fadeInUp 1s ease;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.feature-icon {
    transition: transform 0.3s ease;
}

.feature-card:hover .feature-icon {
    transform: scale(1.1);
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Video background specific styles */
video {
    object-fit: cover;
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem !important;
    }
    
    .hero-subtitle {
        font-size: 1.125rem !important;
    }
}
