/* =========================================================
   template-easy · tablet e telefono
   ========================================================= */

/* ---------- fino a 991 px: le colonne delle sezioni vanno una sotto l'altra ---------- */
@media (max-width: 991px) {
    article section.easy { flex-direction: column; }
    article section.easy > .area { width: 100%; max-width: 100%; flex: none; }

    /* apertura della home: le linee in una fascia sotto l'header, il testo sotto */
    section.easy.ec-hero { padding-top: calc(var(--ec-header-h) + 28svh); }
    .ec-fili {
        top: var(--ec-header-h); bottom: auto; height: 34svh;
        -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent);
                mask-image: linear-gradient(to bottom, #000 55%, transparent);
    }
    .ec-intro { grid-template-columns: minmax(0, 1fr); max-width: 60ch; }

    section.easy.ec-competenze > .area { padding-right: 0; margin-bottom: 1.4rem; }
    section.easy.ec-esperienza > .area:first-of-type { padding-right: 0; margin-bottom: 2rem; }

    /* aperture delle pagine interne: la foto occupa tutto lo schermo in verticale e il testo le sta sopra, in basso */
    section.easy.pg-hero { min-height: 100vh; min-height: 100svh; justify-content: flex-end; }
    section.easy.pg-hero > .area.pg-hero__media { position: absolute; inset: 0; height: auto; z-index: 0; }
    section.easy.pg-hero > .area.pg-hero__media::after {
        content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
        background: linear-gradient(180deg, rgba(37, 37, 37, .35) 0%, rgba(37, 37, 37, .15) 30%, rgba(37, 37, 37, .9) 75%);
    }
    section.easy.pg-hero > .area.pg-hero__testo { position: relative; z-index: 2; padding-top: calc(var(--ec-header-h) + 22svh); padding-bottom: 8vh; }

    section.easy.pg-split > .area:first-of-type { padding-right: 0; margin-bottom: 2.4rem; }
    section.easy.pg-split > .area + .area { padding-left: 0; }

    section.easy.pg-servizi .colonnaarea > .row + .row > div { width: 100%; margin-bottom: 2.4rem; }

    #footer #sezfooter1 { grid-template-columns: 1fr 1fr; }
    #footer #sezfooter1 > .colfooter:first-child { grid-column: 1 / -1; }
}

/* ---------- fino a 767 px ---------- */
@media (max-width: 767px) {
    .ec-anni p { font-size: 42vw; }
    section.easy.ec-striscia .cont_sing figure { clip-path: inset(0 0); }
    section.easy.pg-modulo .formrichiesta { grid-template-columns: minmax(0, 1fr); }
    #footer #sezfooter1 { grid-template-columns: minmax(0, 1fr); }
}
