/* =========================
   EUROFORM APPLE FUTURELAB
========================= */

:root{

    --primary:#0066B3;
    --primaryLight:#0077D9;

    --text:#1d1d1f;
    --sub:#6e6e73;

    --white:#ffffff;

    --bg:#f5f5f7;
    --bgSoft:#f7f8fa;

    --radiusLg:40px;
    --radiusMd:30px;
    --radiusSm:20px;

    --shadowSm:
        0 15px 40px rgba(0,0,0,.06);

    --shadowMd:
        0 20px 60px rgba(0,0,0,.08);

    --shadowLg:
        0 35px 90px rgba(0,0,0,.12);

    --transition:.4s;
}



*{

    margin:0;

    padding:0;

    box-sizing:border-box;
}



html{

    scroll-behavior:smooth;
}



body{

    font-family:"Inter",sans-serif;

    color:var(--text);

    overflow-x:hidden;

    background:white;
}



img,
video{

    max-width:100%;

    height:auto;

    display:block;
}



.container{

    padding-left:24px;

    padding-right:24px;
}



/* =========================
NAVBAR
========================= */

.navEuroform{

    background:white;

    border-bottom:1px solid #ececec;

    padding:18px 0;

    transition:.4s;

    z-index:9999;
}


.navEuroform.scrolled{

    padding:12px 0;

    box-shadow:
        0 10px 30px rgba(0,0,0,.05);
}


.logo{

    height:45px;
}

.logographic{

    width:120px;

    height:120px;

    object-fit:cover;

    display:block;

    border-radius:24px;

    box-shadow:
        0 8px 20px rgba(0,0,0,.12);

    transition:
        transform .3s ease,
        box-shadow .3s ease;

}

.codingCard:hover .logographic{

    transform:scale(1.08);

    box-shadow:
        0 15px 35px rgba(0,0,0,.18);

}

.codingCard h3{

    margin-bottom:15px;

}


.codingCard p{

    margin-bottom:0;

    line-height:1.7;

}

.navMenu{

    gap:10px;
}


.nav-link{

    font-size:15px;

    font-weight:600;

    color:var(--text);

    position:relative;

    transition:.3s;

    padding:12px 16px !important;
}


.nav-link:hover{

    color:var(--primary);
}


.nav-link::after{

    content:"";

    width:0;

    height:2px;

    position:absolute;

    left:50%;

    bottom:5px;

    background:var(--primary);

    transform:translateX(-50%);

    transition:.3s;
}


.nav-link:hover::after{

    width:60%;
}



.btnContact{

    background:var(--primary);

    color:white;

    border-radius:10px;

    padding:12px 28px;

    text-decoration:none;

    font-weight:600;
}



/* HERO */

.hero{

    position:relative;

    min-height:100svh;

    display:flex;

    align-items:center;

    overflow:hidden;

    padding:120px 0 70px;

    background:
        url("../img/hero-campus.jpg")
        center center/cover
        no-repeat;
}



.heroOverlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.82),
            rgba(0,0,0,.55),
            rgba(0,0,0,.18)
        );

    z-index:1;
}



.hero .container{

    position:relative;

    z-index:2;
}



.heroRow{

    min-height:
        calc(100svh - 120px);
}

.heroContent{

    color:white;

    max-width:760px;
}


.heroTopBadge{

    margin-bottom:25px;
}

@media (max-width: 768px){

    .logographic{

        width:90px;

        height:90px;

        border-radius:20px;

    }

}

.heroTopBadge span{

    display:inline-flex;

    align-items:center;

    padding:12px 22px;

    border-radius:100px;

    background:
        rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    border:
        1px solid rgba(255,255,255,.15);

    font-size:13px;

    font-weight:600;

    letter-spacing:1px;
}



.hero h1{

    font-size:
        clamp(
            50px,
            7vw,
            96px
        );

    line-height:.95;

    font-weight:900;

    letter-spacing:-3px;

    margin-bottom:30px;
}



.hero h1 span{

    color:#7bc3ff;
}



.hero p{

    max-width:650px;

    font-size:
        clamp(
            18px,
            1.8vw,
            24px
        );

    line-height:1.8;

    margin-bottom:45px;

    color:
        rgba(255,255,255,.92);
}



.heroButtons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-bottom:55px;
}



.heroPrimary,
.heroSecondary{

    padding:18px 34px;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    transition:.4s;
}



.heroPrimary{

    background:white;

    color:black;
}



.heroPrimary:hover{

    color:black;

    transform:
        translateY(-3px);
}



.heroSecondary{

    color:white;

    border:
        1px solid rgba(255,255,255,.25);

    background:
        rgba(255,255,255,.08);
}



.heroSecondary:hover{

    color:white;

    background:
        rgba(255,255,255,.15);
}



.heroMiniStats{

    display:flex;

    gap:50px;

    flex-wrap:wrap;
}



.heroMiniStats div{

    display:flex;

    flex-direction:column;
}



.heroMiniStats strong{

    font-size:36px;

    font-weight:800;
}



.heroMiniStats span{

    opacity:.8;

    font-size:14px;
}



/* TABLET */

@media(max-width:991px){

    .hero{

        text-align:center;

        min-height:auto;

        padding:130px 0 80px;
    }

    .heroRow{

        min-height:auto;
    }

    .heroContent{

        margin:auto;
    }

    .heroButtons{

        justify-content:center;
    }

    .heroMiniStats{

        justify-content:center;
    }

}



/* MOBILE */

@media(max-width:576px){

    .hero{

        padding:100px 0 60px;
    }

    .heroButtons{

        flex-direction:column;
    }

    .heroPrimary,
    .heroSecondary{

        width:100%;

        text-align:center;
    }

    .heroMiniStats{

        gap:25px;
    }

    .heroMiniStats strong{

        font-size:28px;
    }

}



/* =========================
SEZIONI
========================= */

.appleRecognition,
.ecosystemSection,
.codingSection,
.teacherSection,
.appleSuiteSection,
.territorySection{

    padding:160px 0;
}


.blueTitle{

    color:var(--primary);

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:1px;
}


.sectionText{

    max-width:900px;

    margin:auto;

    color:var(--sub);

    font-size:22px;

    line-height:1.8;
}


h2{

    font-size:68px;

    font-weight:800;

    line-height:1.1;

    margin:
        20px 0
        35px;
}



/* =========================
CARD
========================= */

.teacherCard,
.ecoCard,
.statsApple,
.appleSuiteCard,
.codingCard{

    height:100%;

    padding:30px;

    text-align:center;

    background:#ffffff;

    border-radius:30px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.08);

    transition:
        transform .3s ease,
        box-shadow .3s ease;

}


.teacherCard:hover,
.ecoCard:hover,
.statsApple:hover,
.appleSuiteCard:hover,
.codingCard:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 20px 45px rgba(0,0,0,.12);
}



/* =========================
RESPONSIVE
========================= */

@media(max-width:991px){

    h2{

        font-size:46px;
    }

    .sectionText{

        font-size:18px;
    }

    .hero{

        text-align:center;

        min-height:auto;

        padding:130px 0 80px;
    }

    .heroContent{

        margin:auto;
    }

    .heroButtons{

        justify-content:center;
    }

    .navMenu{

        margin:25px 0;
    }

    .btnContact{

        display:block;

        width:100%;

        text-align:center;
    }

}



@media(max-width:576px){

    h2{

        font-size:34px;
    }

    .hero{

        padding:100px 0 60px;
    }

    .heroButtons{

        flex-direction:column;
    }

    .heroPrimary,
    .heroSecondary{

        width:100%;

        text-align:center;
    }

    .appleRecognition,
    .ecosystemSection,
    .codingSection,
    .teacherSection,
    .appleSuiteSection,
    .territorySection{

        padding:80px 0;
    }

}

/* =========================
APPLE DISTINGUISHED SECTION
========================= */

.appleRecognition{

    padding:160px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f5f7fa
        );

    overflow:hidden;
}



/* VIDEO */

.videoContainer{

    position:relative;

    overflow:hidden;

    border-radius:40px;

    background:#000;

    box-shadow:
        0 35px 80px rgba(0,0,0,.12);

    transition:.5s;
}


.videoContainer:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 45px 100px rgba(0,0,0,.18);
}


.videoCover{

    position:absolute;

    inset:0;

    z-index:5;

    cursor:pointer;

    overflow:hidden;
}


.videoPoster{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.8s;
}


.videoCover:hover .videoPoster{

    transform:scale(1.05);
}


.playButton{

    position:absolute;

    top:50%;

    left:50%;

    transform:
        translate(-50%,-50%);

    width:95px;

    height:95px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:28px;

    backdrop-filter:blur(20px);

    background:
        rgba(255,255,255,.15);

    border:
        1px solid rgba(255,255,255,.35);

    transition:.4s;
}


.playButton:hover{

    transform:
        translate(-50%,-50%)
        scale(1.08);
}


.appleVideo{

    width:100%;

    display:block;

    min-height:100%;
}



/* TESTI */

.appleMiniTitle{

    color:#0066B3;

    font-size:16px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    display:block;

    margin-bottom:20px;
}


.appleRecognition h2{

    font-size:68px;

    font-weight:900;

    line-height:1.05;

    margin-bottom:35px;

    letter-spacing:-2px;
}


.mainDescription{

    font-size:22px;

    color:#6e6e73;

    line-height:1.9;

    margin-bottom:45px;
}



/* STATS */

.appleStats{

    display:flex;

    gap:20px;

    flex-wrap:wrap;
}


.statBox{

    flex:1;

    min-width:180px;

    background:white;

    border-radius:30px;

    padding:35px;

    box-shadow:
        0 15px 40px rgba(0,0,0,.06);

    transition:.4s;
}


.statBox:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 25px 60px rgba(0,0,0,.08);
}


.statBox span{

    display:block;

    font-size:34px;

    font-weight:800;

    color:#0066B3;

    margin-bottom:12px;
}


.statBox p{

    margin:0;

    color:#6e6e73;

    line-height:1.7;
}



/* TABLET */

@media(max-width:991px){

    .appleRecognition{

        padding:100px 0;

        text-align:center;
    }


    .appleRecognition h2{

        font-size:48px;
    }


    .mainDescription{

        font-size:18px;
    }


    .appleStats{

        justify-content:center;
    }

}



/* MOBILE */

@media(max-width:576px){

    .appleRecognition{

        padding:80px 0;
    }


    .appleRecognition h2{

        font-size:34px;

        line-height:1.15;
    }


    .playButton{

        width:70px;

        height:70px;

        font-size:20px;
    }


    .statBox{

        min-width:100%;
    }


    .statBox span{

        font-size:28px;
    }

}

/* =========================
ECOSISTEMA APPLE
========================= */

.ecosystemSection{

    padding:160px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f5f7fa
        );

    overflow:hidden;
}



/* HEADER */

.ecosystemSection h2{

    font-size:68px;

    font-weight:900;

    line-height:1.08;

    margin:
        20px 0
        35px;

    letter-spacing:-2px;
}


.ecosystemIntro{

    max-width:850px;

    margin:auto;

    font-size:22px;

    color:#6e6e73;

    line-height:1.9;
}



/* IMMAGINE */

.ecosystemImageBox{

    overflow:hidden;

    border-radius:40px;

    box-shadow:
        0 30px 80px rgba(0,0,0,.12);

    transition:.5s;
}


.ecosystemImageBox:hover{

    transform:
        translateY(-8px);
}


.ecosystemImage{

    width:100%;

    transition:.8s;
}


.ecosystemImage:hover{

    transform:
        scale(1.05);
}



/* CARD */

.ecosystemCards{

    display:flex;

    flex-direction:column;

    gap:22px;
}


.ecoCard{

    display:flex;

    align-items:flex-start;

    gap:25px;

    padding:28px;

    background:white;

    border-radius:30px;

    box-shadow:
        0 15px 35px rgba(0,0,0,.05);

    transition:.4s;
}


.ecoCard:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 25px 60px rgba(0,0,0,.08);
}


.ecoNumber{

    min-width:90px;

    height:90px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:25px;

    background:#0066B3;

    color:white;

    font-size:22px;

    font-weight:700;

    flex-shrink:0;
}


.ecoCard h4{

    font-size:28px;

    font-weight:700;

    margin-bottom:10px;
}


.ecoCard p{

    margin:0;

    line-height:1.8;

    color:#6e6e73;
}



/* STATISTICHE */

.statsApple{

    background:white;

    text-align:center;

    padding:40px;

    border-radius:30px;

    height:100%;

    box-shadow:
        0 15px 35px rgba(0,0,0,.05);

    transition:.4s;
}


.statsApple:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 25px 60px rgba(0,0,0,.08);
}


.statsApple span{

    display:block;

    color:#0066B3;

    font-size:42px;

    font-weight:800;

    margin-bottom:15px;
}


.statsApple p{

    margin:0;

    line-height:1.8;

    color:#6e6e73;
}



/* TABLET */

@media(max-width:991px){

    .ecosystemSection{

        padding:100px 0;

        text-align:center;
    }


    .ecosystemSection h2{

        font-size:48px;
    }


    .ecosystemIntro{

        font-size:18px;
    }


    .ecosystemCards{

        margin-top:20px;
    }


    .ecoCard{

        text-align:left;
    }

}



/* MOBILE */

@media(max-width:576px){

    .ecosystemSection{

        padding:80px 0;
    }


    .ecosystemSection h2{

        font-size:34px;

        line-height:1.15;
    }


    .ecoCard{

        flex-direction:column;

        text-align:center;

        align-items:center;
    }


    .ecoNumber{

        width:75px;

        min-width:75px;

        height:75px;

        font-size:18px;
    }


    .ecoCard h4{

        font-size:24px;
    }


    .statsApple{

        padding:30px;
    }


    .statsApple span{

        font-size:32px;
    }

}

/* =========================
CODING / APP DEVELOPMENT
========================= */

.codingSection{

    padding:160px 0;

    position:relative;

    overflow:hidden;

    color:white;

    background:
        linear-gradient(
            135deg,
            #0066B3,
            #0077D9,
            #0d8cff
        );
}



.codingSection::before{

    content:"";

    position:absolute;

    width:800px;

    height:800px;

    border-radius:50%;

    background:
        rgba(255,255,255,.06);

    top:-250px;

    right:-250px;
}



/* HEADER */

.codingLabel{

    display:inline-flex;

    padding:12px 24px;

    border-radius:100px;

    background:
        rgba(255,255,255,.12);

    backdrop-filter:blur(15px);

    border:
        1px solid rgba(255,255,255,.12);

    font-size:13px;

    letter-spacing:2px;

    margin-bottom:30px;
}


.codingSection h2{

    font-size:78px;

    font-weight:900;

    line-height:1;

    letter-spacing:-3px;

    margin-bottom:30px;
}


.codingText{

    max-width:850px;

    margin:auto;

    font-size:22px;

    line-height:1.9;

    opacity:.95;
}



/* CARD */

.codingCard{

    height:100%;

    padding:45px;

    border-radius:35px;

    background:
        rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border:
        1px solid rgba(255,255,255,.12);

    transition:.4s;
}


.codingCard:hover{

    transform:
        translateY(-10px);

    background:
        rgba(255,255,255,.14);

    box-shadow:
        0 25px 60px rgba(0,0,0,.15);
}


.codingIcon{

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:25px;

}


.codingCard h3{

    font-size:32px;

    font-weight:700;

    margin-bottom:20px;
}


.codingCard p{

    line-height:1.9;

    opacity:.92;
}



/* BANNER */

.codingBanner{

    padding:45px;

    border-radius:35px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    flex-wrap:wrap;

    background:
        rgba(255,255,255,.10);

    border:
        1px solid rgba(255,255,255,.08);
}


.codingBanner span{

    display:block;

    font-size:13px;

    letter-spacing:2px;

    margin-bottom:10px;

    opacity:.8;
}


.codingBanner h4{

    font-size:34px;

    font-weight:700;

    margin:0;
}


.codingBanner a{

    padding:18px 35px;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    color:#0066B3;

    background:white;

    transition:.4s;
}


.codingBanner a:hover{

    transform:
        translateY(-4px);

    color:#0066B3;
}



/* TABLET */

@media(max-width:991px){

    .codingSection{

        padding:100px 0;

        text-align:center;
    }


    .codingSection h2{

        font-size:48px;
    }


    .codingText{

        font-size:18px;
    }


    .codingBanner{

        flex-direction:column;

        text-align:center;
    }

}

/* TABLET */

@media(max-width:768px){

    .codingSection{

        padding:90px 0;

    }

    .codingIcon{

        display:flex;

        justify-content:center;

        align-items:center;

        margin:0 auto 20px auto;

    }

    .logographic{

        width:180px;

        height:120px;

        object-fit:cover;

        border-radius:24px;

    }

}


/* MOBILE */

@media(max-width:576px){

    .codingSection{

        padding:80px 0;

    }

    .codingSection h2{

        font-size:34px;

        line-height:1.1;

    }

    .codingCard{

        padding:25px;

    }

    .codingIcon{

        display:flex;

        justify-content:center;

        align-items:center;

        margin:0 auto 20px auto;

    }

    .logographic{

        width:110px;

        height:110px;

        object-fit:cover;

        border-radius:20px;

    }

    .codingCard h3{

        font-size:24px;

    }

    .codingBanner{

        padding:25px;

    }

    .codingBanner h4{

        font-size:24px;

        line-height:1.2;

    }

    .codingBanner a{

        width:100%;

        text-align:center;

    }

}

/* =========================
AI E TERRITORIO
========================= */

.territorySection{

    padding:160px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f5f7fa
        );

    overflow:hidden;
}



/* IMMAGINE */

.territoryImageBox{

    overflow:hidden;

    border-radius:40px;

    box-shadow:
        0 35px 90px rgba(0,0,0,.10);

    transition:.5s;
}


.territoryImageBox:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 45px 100px rgba(0,0,0,.14);
}


.territoryImage{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.8s;
}


.territoryImage:hover{

    transform:
        scale(1.05);
}



/* TESTI */

.territorySection h2{

    font-size:68px;

    font-weight:900;

    line-height:1.05;

    letter-spacing:-2px;

    margin:
        20px 0
        35px;
}


.territoryText{

    font-size:22px;

    line-height:1.9;

    color:#6e6e73;

    margin-bottom:35px;

    max-width:700px;
}



/* BADGE */

.territoryBadge{

    display:inline-flex;

    align-items:center;

    padding:14px 28px;

    border-radius:100px;

    background:#0066B3;

    color:white;

    font-size:14px;

    font-weight:700;

    letter-spacing:1px;

    box-shadow:
        0 15px 35px rgba(0,102,179,.25);

    transition:.4s;
}


.territoryBadge:hover{

    transform:
        translateY(-3px);
}



/* TABLET */

@media(max-width:991px){

    .territorySection{

        padding:100px 0;

        text-align:center;
    }


    .territorySection h2{

        font-size:48px;
    }


    .territoryText{

        font-size:18px;

        max-width:100%;
    }


    .territoryBadge{

        margin:auto;
    }

}



/* MOBILE */

@media(max-width:576px){

    .territorySection{

        padding:80px 0;
    }


    .territorySection h2{

        font-size:34px;

        line-height:1.15;
    }


    .territoryText{

        font-size:17px;
    }


    .territoryBadge{

        width:100%;

        justify-content:center;

        text-align:center;

        padding:16px;
    }

}

/* =========================
APPLE PRODUCTIVITY SUITE
========================= */

.appleSuiteSection{

    padding:160px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f5f7fa
        );

    overflow:hidden;
}



/* HEADER */

.appleSuiteSection h2{

    font-size:68px;

    font-weight:900;

    line-height:1.05;

    margin:
        20px 0
        35px;

    letter-spacing:-2px;
}


.appleSuiteSection .sectionText{

    max-width:900px;

    margin:auto;

    font-size:22px;

    color:#6e6e73;

    line-height:1.9;
}



/* CARD */

.appleSuiteCard{

    position:relative;

    overflow:hidden;

    height:100%;

    padding:45px;

    border-radius:40px;

    color:white;

    transition:.5s;

    box-shadow:
        0 20px 50px rgba(0,0,0,.08);
}


.appleSuiteCard:hover{

    transform:
        translateY(-10px);

    box-shadow:
        0 35px 80px rgba(0,0,0,.14);
}



/* COLORI APP */

.pagesCard{

    background:
        linear-gradient(
            135deg,
            #F36C21,
            #ff9858
        );
}


.numbersCard{

    background:
        linear-gradient(
            135deg,
            #1EA94C,
            #4fdd78
        );
}


.keynoteCard{

    background:
        linear-gradient(
            135deg,
            #0077D9,
            #56a9ff
        );
}



/* HEADER CARD */

.appTop{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:35px;
}


.appTop span{

    font-size:12px;

    text-transform:uppercase;

    letter-spacing:1px;

    opacity:.85;
}


.appIcon{

    width:90px;

    filter:
        drop-shadow(
            0 15px 30px rgba(0,0,0,.2)
        );

    transition:.5s;
}


.appleSuiteCard:hover .appIcon{

    transform:
        scale(1.08)
        rotate(3deg);
}



/* TESTI */

.appleSuiteCard h3{

    font-size:38px;

    font-weight:800;

    margin-bottom:25px;
}


.appleSuiteCard p{

    line-height:1.9;

    min-height:150px;

    opacity:.95;
}



/* FOOTER CARD */

.appBottom{

    margin-top:30px;

    padding-top:25px;

    border-top:
        1px solid rgba(255,255,255,.25);

    font-size:14px;

    opacity:.85;
}



/* TABLET */

@media(max-width:991px){

    .appleSuiteSection{

        padding:100px 0;

        text-align:center;
    }


    .appleSuiteSection h2{

        font-size:48px;
    }


    .appleSuiteSection .sectionText{

        font-size:18px;
    }


    .appTop{

        justify-content:center;

        gap:20px;
    }

}



/* MOBILE */

@media(max-width:576px){

    .appleSuiteSection{

        padding:80px 0;
    }


    .appleSuiteSection h2{

        font-size:34px;

        line-height:1.15;
    }


    .appleSuiteCard{

        padding:30px;
    }


    .appTop{

        flex-direction:column;
    }


    .appIcon{

        width:70px;
    }


    .appleSuiteCard h3{

        font-size:30px;
    }


    .appleSuiteCard p{

        min-height:auto;
    }

}

/* =========================
FOOTER EUROFORM
========================= */

footer{

    padding:90px 0 40px;

    background:
        linear-gradient(
            180deg,
            #0d1117,
            #000000
        );

    color:white;

    overflow:hidden;

    position:relative;
}



footer::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:
        rgba(0,102,179,.08);

    top:-250px;

    right:-250px;
}



/* LOGHI */

.footerLogo{

    max-width:220px;

    width:100%;
}


.footerApple{

    max-width:220px;

    width:100%;

    opacity:.9;

    filter:
        brightness(0)
        invert(1);
}



/* SOCIAL */

.socialBox{

    display:flex;

    justify-content:flex-end;

    gap:15px;
}


.socialBox a{

    width:52px;

    height:52px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    color:white;

    font-size:18px;

    background:
        rgba(255,255,255,.08);

    border:
        1px solid rgba(255,255,255,.10);

    backdrop-filter:blur(20px);

    transition:.4s;
}


.socialBox a:hover{

    transform:
        translateY(-5px);

    background:#0066B3;

    color:white;

    box-shadow:
        0 15px 35px rgba(0,102,179,.35);
}



/* SEPARATORE */

footer hr{

    border:none;

    height:1px;

    background:
        rgba(255,255,255,.08);

    margin:
        50px 0
        30px;
}



/* COPYRIGHT */

.copyright{

    text-align:center;

    color:
        rgba(255,255,255,.7);

    font-size:15px;

    line-height:1.8;
}


.copyright a{

    color:white;

    text-decoration:none;

    font-weight:700;

    transition:.3s;
}


.copyright a:hover{

    color:#66b8ff;
}



/* TABLET */

@media(max-width:991px){

    footer{

        text-align:center;

        padding:70px 0 30px;
    }


    .footerLogo,
    .footerApple{

        margin:auto auto 30px;
    }


    .socialBox{

        justify-content:center;

        margin-top:20px;
    }

}



/* MOBILE */

@media(max-width:576px){

    footer{

        padding:60px 0 25px;
    }


    .footerLogo{

        max-width:180px;
    }


    .footerApple{

        max-width:180px;
    }


    .socialBox a{

        width:46px;

        height:46px;

        font-size:16px;
    }


    .copyright{

        font-size:14px;
    }

}

/* =========================
FORMAZIONE DOCENTI
========================= */

.teacherSection{

    padding:100px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f5f7fa
        );

    overflow:hidden;
}



/* HEADER */

.teacherSection h2{

    font-size:68px;

    font-weight:900;

    line-height:1.05;

    letter-spacing:-2px;

    margin:
        20px 0
        35px;
}


.teacherSection .sectionText{

    max-width:900px;

    margin:auto;

    font-size:22px;

    line-height:1.9;

    color:#6e6e73;
}



/* GALLERIA */

.teacherImage{

    width:100%;

    height:320px;

    object-fit:cover;

    border-radius:35px;

    transition:.6s;

    box-shadow:
        0 20px 50px rgba(0,0,0,.08);
}


.teacherImage:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 35px 80px rgba(0,0,0,.15);
}



/* CARD */

.statsCard{

    height:100%;

    background:white;

    padding:40px;

    border-radius:35px;

    text-align:center;

    box-shadow:
        0 20px 50px rgba(0,0,0,.06);

    transition:.4s;
}


.statsCard:hover{

    transform:
        translateY(-10px);

    box-shadow:
        0 35px 80px rgba(0,0,0,.12);
}


.statsNumber{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:100px;

    min-height:100px;

    padding:20px;

    margin-bottom:25px;

    border-radius:30px;

    background:
        linear-gradient(
            135deg,
            #0066B3,
            #0077D9
        );

    color:white;

    font-size:28px;

    font-weight:800;

    box-shadow:
        0 20px 35px rgba(0,102,179,.25);
}


.statsCard h3{

    font-size:30px;

    font-weight:700;

    margin-bottom:20px;
}


.statsCard p{

    color:#6e6e73;

    line-height:1.9;

    margin:0;
}



/* TABLET */

@media(max-width:991px){

    .teacherSection{

        padding:100px 0;

        text-align:center;
    }


    .teacherSection h2{

        font-size:48px;
    }


    .teacherSection .sectionText{

        font-size:18px;
    }


    .teacherImage{

        height:280px;
    }

}



/* MOBILE */

@media(max-width:576px){

    .teacherSection{

        padding:80px 0;
    }


    .teacherSection h2{

        font-size:34px;

        line-height:1.15;
    }


    .teacherImage{

        height:240px;
    }


    .statsCard{

        padding:30px;
    }


    .statsNumber{

        min-width:75px;

        min-height:75px;

        font-size:22px;

        border-radius:24px;
    }


    .statsCard h3{

        font-size:24px;
    }

}

/* =========================
EUROFORM APPLE LOGO SECTION
========================= */

.euroformAppleSection{

    padding:50px 0 0 50px;

    background:
        linear-gradient(
            180deg,
            #f5f7fa,
            #ffffff
        );

    overflow:hidden;
}


.euroformAppleLink{

    text-decoration:none;
}



.euroformAppleCard{

    padding:70px 40px;

    text-align:center;

    border-radius:45px;

    background:white;

    box-shadow:
        0 25px 70px rgba(0,0,0,.06);

    transition:.5s;

    overflow:hidden;

    position:relative;
}


.euroformAppleCard::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    background:
        rgba(0,102,179,.04);

    right:-150px;

    top:-150px;
}


.euroformAppleCard:hover{

    transform:
        translateY(-10px);

    box-shadow:
        0 35px 90px rgba(0,0,0,.12);
}



.euroformMiniLabel{

    display:inline-flex;

    padding:12px 22px;

    margin-bottom:35px;

    border-radius:100px;

    background:
        rgba(0,102,179,.08);

    color:#0066B3;

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;
}



.euroformAppleLogo{

    width:100%;

    max-width:480px;

    margin:auto;

    transition:.6s;

    position:relative;

    z-index:2;
}


.euroformAppleCard:hover .euroformAppleLogo{

    transform:
        scale(1.05);
}



.euroformAppleCard p{

    max-width:650px;

    margin:
        40px auto 0;

    color:#6e6e73;

    font-size:22px;

    line-height:1.8;

    position:relative;

    z-index:2;
}



/* TABLET */

@media(max-width:991px){

    .euroformAppleSection{

        padding:100px 0;
    }


    .euroformAppleCard{

        padding:50px 30px;
    }


    .euroformAppleCard p{

        font-size:18px;
    }

}



/* MOBILE */

@media(max-width:576px) {

    .euroformAppleSection{

        padding:80px 0;
    }


    .euroformAppleLogo{

        max-width:260px;
    }


    .euroformMiniLabel{

        font-size:11px;

        padding:10px 16px;
    }


    .euroformAppleCard{

        padding:40px 25px;
    }


    .euroformAppleCard p{

        font-size:16px;
    }


    .languageSwitcher{

        display:flex;
        gap:10px;
        align-items:center;

    }
}

.langBtn {

    border:none;

    padding:8px 14px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(15px);

    color:#fff;

    cursor:pointer;

    transition:.3s;

    font-size:.9rem;

    font-weight:600;

}

.langBtn:hover {

    background:rgba(255,255,255,.25);

}

.langBtn.active {

    background:#ffffff;

    color:#000;

}

.gallerySection{

    padding:100px 0;

    overflow:hidden;

}


.galleryMarquee{

    width:100%;

    overflow:hidden;

    position:relative;

}


.marqueeTrack{

    display:flex;

    gap:24px;

    width:max-content;

    animation:marqueeScroll 35s linear infinite;

}

.marqueeTrack img{

    width:320px;

    height:220px;

    object-fit:cover;

    border-radius:28px;

    flex-shrink:0;

}


.galleryMarquee:hover .marqueeTrack{

    animation-play-state:paused;

}


.marqueeTrack img:hover{

    transform:scale(1.04);

    box-shadow:
        0 20px 50px rgba(0,0,0,.18);

}


@keyframes marqueeScroll{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}


@media (max-width:992px){

    .marqueeTrack{

        gap:18px;

        animation-duration:45s;

    }

}

@media(max-width:768px){

    .gallerySection{

        padding:70px 0;

    }

    .marqueeTrack{

        gap:12px;

        animation-duration:55s;

    }

    .marqueeTrack img{

        width:calc(100vw - 40px);

        min-width:calc(100vw - 40px);

        height:250px;

        object-fit:cover;

        border-radius:20px;

    }

}

.territoryImageBox{

    overflow:hidden;

    border-radius:32px;

    box-shadow:
        0 15px 40px rgba(0,0,0,.12);

}


.territoryImage{

    width:100%;

    height:500px;

    object-fit:cover;

    display:block;

}


@media(max-width:992px){

    .territoryImage{

        height:400px;

    }

}


@media(max-width:768px){

    .territoryImage{

        height:280px;

    }

}

    .carousel-control-prev,
.carousel-control-next{

    width:56px;
    height:56px;

    top:50%;

    transform:translateY(-50%);

    background:rgba(255,255,255,.85);

    backdrop-filter:blur(20px);

    border-radius:50%;

    opacity:1;

}


.carousel-control-prev{

    left:20px;

}


.carousel-control-next{

    right:20px;

}


.carousel-control-prev-icon,
.carousel-control-next-icon{

    filter:invert(1);

}


.carousel-control-prev:hover,
.carousel-control-next:hover{

    background:#ffffff;

}