/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    background:#f7fbfd;

    color:#333;

    line-height:1.6;

}


/* =========================
   HEADER
========================= */

header{

    position:fixed;

    top:0;

    width:100%;

    background:white;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px 8%;

    box-shadow:0 2px 12px rgba(0,0,0,.08);

    z-index:1000;

}

.logo{

    font-size:28px;

    font-weight:700;

    color:#0087c8;

}

nav a{

    text-decoration:none;

    color:#333;

    margin-left:30px;

    font-weight:600;

    transition:.3s;

}

nav a:hover{

    color:#00a8e8;

}


/* =========================
   HERO
========================= */

.hero{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:140px 20px 80px;

    background:linear-gradient(135deg,#d8f3ff,#ffffff);

}

.hero-content{

    max-width:850px;

}

.hero h1{

    font-size:56px;

    color:#003049;

    margin-bottom:25px;

}

.hero p{

    font-size:22px;

    color:#555;

    margin-bottom:45px;

}


/* =========================
   PULSANTE
========================= */

.btn{

    display:inline-block;

    background:#00a8e8;

    color:white;

    padding:18px 42px;

    border-radius:50px;

    text-decoration:none;

    font-size:20px;

    font-weight:600;

    transition:.3s;

}

.btn:hover{

    background:#0087c8;

    transform:translateY(-3px);

}


/* =========================
   SEZIONI
========================= */

section{

    padding:90px 8%;

}

section h2{

    text-align:center;

    font-size:40px;

    color:#003049;

    margin-bottom:60px;

}


/* =========================
   CARDS
========================= */

.cards{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

}

.card{

    background:white;

    border-radius:20px;

    padding:35px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.card:hover{

    transform:translateY(-8px);

}

.card h3{

    margin-bottom:20px;

    color:#0087c8;

}


/* =========================
   VANTAGGI
========================= */

#vantaggi ul{

    max-width:900px;

    margin:auto;

    list-style:none;

}

#vantaggi li{

    background:white;

    margin-bottom:18px;

    padding:22px;

    border-radius:14px;

    box-shadow:0 8px 22px rgba(0,0,0,.06);

    font-size:18px;

}


/* =========================
   FAQ
========================= */

#faq{

    max-width:900px;

    margin:auto;

}

#faq h3{

    margin-top:30px;

    color:#0087c8;

}

#faq p{

    margin-top:10px;

    margin-bottom:20px;

}


/* =========================
   FOOTER
========================= */

footer{

    background:#003049;

    color:white;

    text-align:center;

    padding:35px;

}
.footer{

    margin-top:80px;
    padding:45px 20px;

    background:#0b5c8e;

    color:white;

    text-align:center;

}

.footer h3{

    margin-bottom:20px;

    font-size:26px;

}

.footer p{

    margin:10px 0;

}

.footer a{

    color:white;

    text-decoration:none;

    font-weight:600;

    transition:0.3s;

}

.footer a:hover{

    color:#d7f2ff;

    text-decoration:underline;

}

.copyright{

    margin-top:25px;

    font-size:14px;

    opacity:0.85;

}
.hero-gallery{
    display:flex;
    gap:60px;
    margin:40px auto;
    padding:0 20px;
}

.hero-gallery img{
    flex:1;
    width:25%;
    height:320px;
    object-fit:cover;
    border-radius:18px;
    box-shadow:0 8px 25px rgba(0,0,0,.18);
    transition:.3s;
}

.hero-gallery img:hover{
    transform:scale(1.04);
}

@media (max-width:768px){

    .hero-gallery{

        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:10px;

        padding:0 12px;

        margin:25px auto;

    }

    .hero-gallery img{

        width:100%;

        height:140px;

        object-fit:cover;

        border-radius:12px;

    }

}
@media (max-width:768px){

    header{

        flex-direction:column;

        align-items:center;

        padding:15px;

    }

    nav{

        margin-top:15px;

        display:flex;

        flex-wrap:wrap;

        justify-content:center;

        gap:15px;

    }

    .logo-completo{

        width:170px;

    }

    .hero-gallery{

        margin-top:200px;

    }

}
.info-legale{

    max-width:1000px;

    margin:70px auto;

    padding:35px;

    background:#f7f9fb;

    border-left:6px solid #0b5c8e;

    border-radius:12px;

    box-shadow:0 4px 15px rgba(0,0,0,.08);

}

.info-legale h2{

    color:#0b5c8e;

    margin-bottom:20px;

}

.info-legale p{

    margin-bottom:15px;

    line-height:1.7;

    color:#444;

}