/* Impostazioni di base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    background-color: #f5f5f5;
    color: #333;
    height: 100vh;
    overflow: hidden;
    scroll-behavior: smooth;
    position: relative;
}

/* Video di sfondo */
.video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -2;
}

#background-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Overlay sfocato sopra il video */
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Colore nero con trasparenza */
    backdrop-filter: blur(10px); /* Sfocatura stabile */
    z-index: -1; /* Posiziona dietro gli elementi */
}

/* Sezione Hero */
.hero-section {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: center;
    color: #fff;
    z-index: 1; /* Posiziona sopra il video */
}

/* Logo */
.logo {
    width: 200px; /* Aumentato per una migliore visibilità su desktop */
    margin-bottom: 15px; /* Ridotto spazio tra logo e testo */
}

/* Testo principale */
.title {
    font-size: 6rem; /* Aumentato per desktop */
    font-weight: bold;
    margin-bottom: 5px; /* Ridotto lo spazio tra titolo e descrizione */
    opacity: 0;
    transform: translateY(50px);
    animation: fadeInUp 1.5s forwards;
}

/* Descrizione con font sans-serif elegante */
.description {
    font-size: 1.8rem; /* Dimensione leggermente ridotta */
    font-family: 'Roboto', sans-serif; /* Font sans-serif moderno */
    font-weight: 300; /* Versione non bold del font */
    margin-bottom: 30px; /* Margine ridotto per maggiore compattezza */
    opacity: 0;
    transform: translateY(50px);
    animation: fadeInUp 1.5s 0.5s forwards;
}

/* Bottone di contatto */
.contact-button {
    display: inline-block;
    background-color: #ffffff;
    color: #333;
    padding: 20px 50px; /* Dimensione bottone aumentata */
    font-size: 1.5rem; /* Font aumentato */
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
    opacity: 0;
    transform: translateY(50px);
    animation: fadeInUp 1.5s 1s forwards;
}

/* Effetto hover sul bottone */
.contact-button:hover {
    transform: translateY(-5px);
    background-color: #f0f0f0;
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.2);
}

/* Animazione per il testo e il bottone */
@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Fallback per mobile */
@media (max-width: 768px) {
    .title {
        font-size: 3rem; /* Riduce la dimensione del titolo su mobile */
    }

    .description {
        font-size: 1.5rem;
    }

    .contact-button {
        padding: 15px 30px;
        font-size: 1.2rem;
    }

    .logo {
        width: 120px; /* Ridimensiona il logo su mobile */
    }
}
