@charset "utf-8";

/* ==========================================================================
   1. RESET GENERALE ED ELIMINAZIONE STILI BROWSER
   ========================================================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article,
aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
    font-size: 16px; /* Modificato da 0 a 16px per evitare che il testo diventi invisibile di default */
}

	
/* ==========================================================================
   2. STRUTTURA E GRIGLIA CONTENITORI
   ========================================================================== */
ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.clear {
    clear: both;
}

.container {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.row {
    box-sizing: border-box;
    overflow: hidden;
}

/* ==========================================================================
   3. MENU MOBILE A COMPARSA (SLIDE-IN MENU)
   ========================================================================== */
.slide-in-menu {
    position: fixed;
    z-index: 6;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(234, 33, 89, 0.98);
    overflow: auto;
    transition: all 0.5s ease-in-out;
    opacity: 0;
    visibility: hidden;
}

.slide-in-menu.open {
    opacity: 1;
    visibility: visible;
}

.slide-in-menu.open > ul > li a {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.slide-in-menu > ul {
    position: relative;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
}

.slide-in-menu > ul > li {
    width: 100%;
    height: 130px;
    box-sizing: border-box;
    line-height: 130px;
    overflow: hidden;
    transition: all 0.5s ease-in;
}

/* responsive altezze righe menu */
@media (max-height: 1024px) and (max-width: 768px) {
    .slide-in-menu > ul > li { height: 80px; line-height: 80px; }
}
@media (min-height: 801px) and (max-height: 900px) {
    .slide-in-menu > ul > li { height: 70px; line-height: 70px; }
}
@media (max-height: 800px) {
    .slide-in-menu > ul > li { height: 70px; line-height: 70px; }
}
@media (max-height: 768px) {
    .slide-in-menu > ul > li { height: 80px; line-height: 80px; }
}
@media (max-height: 768px) and (min-width: 1025px) {
    .slide-in-menu > ul > li { height: 70px; line-height: 70px; }
}
@media (max-width: 500px) {
    .slide-in-menu > ul > li { height: 55px; line-height: 55px; }
}
@media (max-height: 320px) {
    .slide-in-menu > ul > li { height: 40px; line-height: 40px; }
}

.slide-in-menu > ul > li.menu-item-has-children {
    background-repeat: no-repeat;
    background-position: right 40px top 56px;
    background-size: 18px;
}

.slide-in-menu > ul > li.menu-item-has-children.open:hover {
    background-color: transparent;
}

.slide-in-menu > ul > li.menu-item-has-children.open > a {
    transform: translateX(0);
}

.slide-in-menu > ul > li:hover {
    background-color: #ec3467;
}

.slide-in-menu > ul > li.closed {
    height: 0;
    border: none;
}

/* Delay animazioni sequenziali voci menu */
.slide-in-menu > ul > li:nth-child(1) > a { transition-delay: 0.3s; }
.slide-in-menu > ul > li:nth-child(2) > a { transition-delay: 0.4s; }
.slide-in-menu > ul > li:nth-child(3) > a { transition-delay: 0.5s; }
.slide-in-menu > ul > li:nth-child(4) > a { transition-delay: 0.6s; }
.slide-in-menu > ul > li:nth-child(5) > a { transition-delay: 0.7s; }
.slide-in-menu > ul > li:nth-child(6) > a { transition-delay: 0.8s; }
.slide-in-menu > ul > li:nth-child(7) > a { transition-delay: 0.9s; }
.slide-in-menu > ul > li:nth-child(8) > a { transition-delay: 1s; }
.slide-in-menu > ul > li:nth-child(9) > a { transition-delay: 1.1s; }
.slide-in-menu > ul > li:nth-child(10) > a { transition-delay: 1.2s; }

.slide-in-menu > ul > li a {
    display: block;
    margin: 0 auto;
    padding: 0 100px;
    color: #fff;
    font-size: 54px;
    font-weight: 300;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transition: all .5s;
    transform: translateX(-80px);
}

.slide-in-menu > ul > li a.open {
    transition-delay: 0s;
}

/* responsive grandezza font voci menu */
@media (max-height: 768px) {
    .slide-in-menu > ul > li a { font-size: 36px; }
}
@media (max-width: 1024px), (max-height: 1024px) and (max-width: 768px) {
    .slide-in-menu > ul > li a { padding-right: 80px; padding-left: 80px; }
}
@media (max-height: 1024px) and (max-width: 768px) {
    .slide-in-menu > ul > li a { font-size: 24px; }
}
@media (min-height: 801px) and (max-height: 900px) {
    .slide-in-menu > ul > li a { font-size: 36px; }
}
@media (max-width: 639px) {
    .slide-in-menu > ul > li a { padding-right: 50px; padding-left: 50px; font-size: 24px; }
}
@media (max-width: 400px) {
    .slide-in-menu > ul > li a { padding-right: 35px; padding-left: 35px; }
}
@media (max-height: 320px) {
    .slide-in-menu > ul > li a { padding-right: 35px; padding-left: 35px; font-size: 14px; }
}

.slide-in-menu > ul > li > ul > li {
    height: 120px;
    line-height: 120px;
    transition: all 0.3s ease-in;
}

.slide-in-menu > ul > li > ul > li:hover {
    background-color: #ea2159;
}

.slide-in-menu > ul > li > ul > li > a {
    font-size: 42px;
}

/* ==========================================================================
   4. ICONA E CONTROLLI LOGICA MENU (HAMBURGER BUTTON)
   ========================================================================== */
.just__header .empireMenu {
    top: 6px;
}

.empireMenu {
    position: absolute;
    z-index: 10;
    top: 10px;
    right: -10px;
    display: block;
    width: 18px;
    height: 18px;
    padding: 10px;
    transition: background-image 0.5s ease-in 0.5s;
}

.empireMenu span {
    position: absolute;
    display: block;
    width: 48%;
    height: 2px;
    background-color: #32323c;
    transition: all 0.3s ease-in;
}

.empireMenu span:nth-child(2) {
    transform: translate3d(0, 8px, 0);
}

.empireMenu span:nth-child(3) {
    width: 24%;
    transform: translate3d(0, 16px, 0);
}

.empireMenu:hover span {
    background-color: #ea2159;
}

.empireMenu:hover span:nth-child(3) {
    width: 48%;
}

.menuControl_container {
    position: absolute;
    left: 0;
    height: 78px;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 80px, 0);
    transition: all 0.3s ease-in 1s;
}

.menuControl_container .empireMenu {
    width: 26px;
    height: 26px;
    transform: translate3d(-96px, -5px, 0);
}

@media (max-width: 1024px) {
    .menuControl_container .empireMenu { transform: translate3d(-76px, -5px, 0); }
}

@media (max-width: 500px) {
    .menuControl_container .empireMenu { transform: translate3d(-31px, -70px, 0); }
}

@media (max-height: 320px) {
    .menuControl_container .empireMenu { transform: translate3d(-31px, -100px, 0); }
}

.menuControl_container .empireMenu span {
    background-color: #fff;
    transform-origin: 50%;
}

.menuControl_container .empireMenu span:nth-child(1) {
    transform: rotate(45deg) translate3d(10px, 8px, 0);
}

.menuControl_container .empireMenu span:nth-child(2) {
    transform: rotate(-45deg) translate3d(-8px, 10px, 0);
}



/* ==========================================================================
   5. ALTEZZE MINIME, SELEZIONE TESTO E FIXED HEADER
   ========================================================================== */
.min__height {
    min-height: 732px;
}

/* Colore della selezione del testo da parte dell'utente */
::selection {
    color: #fff;
    background: #32323c;
}

a::selection:hover {
    color: #fff;
}

::-moz-selection {
    background: #32323c;
}

/* Intestazione che compare durante lo scorrimento della pagina */
.just__header {
    position: fixed;
    z-index: 4;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background-color: rgba(255, 255, 255, 0.9);
    backface-visibility: hidden;
    transition: transform .4s ease-in-out;
    transform: translateY(-80px) translateZ(0);
}

.just__header .telephone {
    opacity: 1;
    visibility: visible;
    transform: translate3d(70px, -50%, 0);
}

.just__header.open,
.just__header:hover {
    transform: translateY(0px) translateZ(0);
    transition: transform .4s ease-in-out .2s;
}

.just__header.hidden {
    display: none;
}

.just__header .header--inner {
    top: 0;
    padding: 15px 100px;
}

@media (max-width: 1024px) {
    .just__header .header--inner {
        padding-right: 80px;
        padding-left: 80px;
    }
}

.just__header .brand {
    width: 45px;
    height: 48px;
}

@media (max-width: 1024px) {
    .just__header {
        display: none;
    }
}

/* ==========================================================================
   6. HEADER PRINCIPALE (INTRODUZIONE DELLA PAGINA)
   ========================================================================== */
.header {
    position: relative;
    z-index: 5;
    padding: 350px 100px 58px 100px;
    box-sizing: border-box;
    background-color: #eefbf7;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}




/* ==========================================================================
   6. HEADER PRINCIPALE - DETTAGLI E MEDIA QUERIES
   ========================================================================== */
.header h3 {
    margin-bottom: -10px;
}

.header p.in_header {
    margin-bottom: 27px;
}

/* Adattamento responsive dell'header per schermi diversi */
@media (max-width: 1024px) {
    .header {
        padding: 325px 80px 38px 80px;
    }
}

@media (max-width: 500px) {
    .header {
        padding: 275px 50px 8px 50px;
    }
}

@media (max-width: 320px), (max-width: 640px) and (orientation: landscape) {
    .header {
        padding: 275px 35px 8px 35px;
    }
}

.header .header--inner .telephone {
    top: 38px;
    color: #999;
    font-size: 12px;
    line-height: 0px;
    transform: translate3d(65px, 0, 0);
}

/* ==========================================================================
   7. CONTENITORE INTERNO DELL'HEADER (.header--inner)
   ========================================================================== */
.header--inner {
    position: absolute;
    z-index: 4;
    top: 90px;
    left: 0;
    width: 100%;
    height: 78px;
    padding: 10px 100px;
    box-sizing: border-box;
    transition: opacity 0.3s ease-in;
    transform: translateZ(0);
}

.header--inner .telephone {
    position: absolute;
    top: 50%;
    color: #32323c;
    font-size: 15px;
    line-height: 80px;
    opacity: 1;
    visibility: visible;
    display: inline-block;
    vertical-align: top;
    transition: all 0.4s ease-in 0.2s;
    left: 37px;
}

/* Comportamento responsive del telefono e dell'inner header */
@media (max-width: 768px) {
    .header--inner .telephone {
        display: none;
    }
}

@media (max-width: 1024px) {
    .header--inner {
        padding: 10px 80px;
        top: 70px;
    }
}

@media (max-width: 500px) {
    .header--inner {
        padding: 10px 50px;
        top: 40px;
    }
}

@media (max-width: 320px), (max-width: 640px) and (orientation: landscape) {
    .header--inner {
        padding: 35px 35px 8px 35px;
        top: 0;
    }
}

/* ==========================================================================
   8. IL LOGO / MARCHIO (.brand)
   ========================================================================== */
.brand {
    position: relative;
    z-index: 1;
    display: block;
    height: 70px;
    width: 55px;
    transition: height .3s, width .3s;
}




/* ==========================================================================
   9. ELEMENTO HERO, VIDEO E ANIMAZIONI GALLERY (.hero)
   ========================================================================== */
.brand img {
    display: block;
    width: 100%;
    height: 100%;
}

.hero {
    position: relative;
}

.hero.about picture {
    z-index: 3;
    opacity: 0;
    visibility: hidden;
}

@media (min-width: 501px) {
    .hero.about picture {
        transition: all 0.5s ease-in-out;
    }
}

.hero.about picture.open {
    opacity: 1;
    visibility: visible;
}

@media (min-width: 501px) {
    .hero.about picture.open {
        transition: all 0.5s ease-in-out;
    }
}

.hero .video {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
}

@media (min-width: 1025px) {
    .hero .video.tablet_down { display: none; }
}

@media (max-width: 1024px) {
    .hero .video.tablet_plus { display: none; }
}

@media (max-width: 640px) {
    .hero .video { display: none; }
    .hero.about picture, .hero.contact picture { display: none; }
    .hero.contact { height: 422px !important; }
}

@media (max-width: 400px) {
    .hero.contact { height: 338px !important; }
}

@media (max-width: 320px) {
    .hero.contact { height: 270px !important; }
}

/* ==========================================================================
   10. LA GRIGLIA PORTFOLIO (.hero--work__list)
   ========================================================================== */
.hero--work__list {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}

@media (min-width: 501px) {
    .hero--work__list {
        transition: all 0.5s ease-in-out;
    }
}

.hero--work__list.hero--about {
    z-index: 2;
}

.hero--work__list.open,
.hero--work__list.hero--about {
    opacity: 1;
    visibility: visible;
}

@media (min-width: 501px) {
    .hero--work__list.open,
    .hero--work__list.hero--about {
        transition: all 0.5s ease-in-out;
    }
}

.hero--work__list.open li,
.hero--work__list.hero--about li {
    opacity: 1;
    visibility: visible;
}

.hero--work__list li {
    display: inline-block;
    vertical-align: top;
    width: 33.3333333%;
    height: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
}

@media (min-width: 501px) {
    .hero--work__list li {
        transition: all 0.3s ease-in-out;
    }
}

/* Delay sequenziali per l'apparizione delle voci in griglia */
.hero--work__list li:nth-child(1) { transition-delay: 0.1s; }
.hero--work__list li:nth-child(2) { transition-delay: 0.2s; }
.hero--work__list li:nth-child(3) { transition-delay: 0.3s; }
.hero--work__list li:nth-child(4) { transition-delay: 0.4s; }
.hero--work__list li:nth-child(5) { transition-delay: 0.5s; }
.hero--work__list li:nth-child(6) { transition-delay: 0.6s; }

.hero--work__list li a {
    position: relative !important;
}

@media (max-width: 640px) {
    .hero--work__list {
        position: relative;
        height: auto;
        overflow: visible;
        overflow-x: hidden;
        opacity: 1;
        visibility: visible;
    }
    .hero--work__list li {
        height: 422px !important;
        opacity: 1;
        visibility: visible;
    }
}

@media (max-width: 400px) {
    .hero--work__list li { height: 338px !important; }
}

@media (max-width: 320px) {
    .hero--work__list li { height: 270px !important; }
}

/* ==========================================================================
   11. SEZIONE CONTENUTI GENERALI (.content)
   ========================================================================== */
.content {
    position: relative;
    padding: 100px;
    box-sizing: border-box;
}

.content h3 {
    margin-bottom: 35px;
}

.content.white {
    background-color: #edfbf7;
}

@media (max-width: 1024px) {
    .content { padding: 80px 80px 70px 80px; }
}

@media (max-width: 500px) {
    .content { padding: 50px; }
}

@media (max-width: 320px), (max-width: 640px) and (orientation: landscape) {
    .content { padding: 35px; }
}

/* ==========================================================================
   12. EFFETTI DI HOVER E ANIMAZIONI LINK (SOTTOLINEATURE AD ESPANSIONE)
   ========================================================================== */
p a {
    position: relative;
    color: #d6d7d9;
    cursor: pointer;
}

@media (min-width: 1025px) {
    p a::after {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 0;
        height: 1px;
        width: 0;
        margin-left: 0;
        background-color: #ea2159;
        transform: translateY(-1px);
        backface-visibility: hidden;
        content: '';
        transition: all 0.3s ease-in-out;
    }
    p a:hover { color: #ea2159; }
    p a:hover::after { width: 104%; left: -2%; }
    p a.tweet_this:hover { color: #00b6f1; }
}

a {
    position: relative;
    color: #32323c;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}

a.with {
    cursor: pointer;
}

@media (min-width: 1025px) {
    a.with::after {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 0;
        height: 1px;
        width: 0;
        margin-left: 0;
        background-color: #ea2159;
        transform: translateY(-2px);
        backface-visibility: hidden;
        content: '';
        transition: all 0.3s ease-in-out;
    }
    a.with:hover { color: #ea2159; }
    a.with:hover::after { width: 104%; left: -2%; }
    a.with.tweet_this:hover, a.with.twitter:hover { color: #00b6f1; }
    a.with.instagram:hover { color: #356b99; }
    a.with.google:hover { color: #d9463d; }
}

a.tweet_this {
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
}

a.tweet_this::after {
    background-color: #00b6f1;
    transform: translateY(-1px);
}

a.twitter::after { background-color: #00b6f1; }
a.instagram::after { background-color: #356b99; }
a.google::after { background-color: #d9463d; }

a.return {
    margin-left: 35px;
    color: #d6d7d9;
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
}

a.return::after {
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    a.tweet_this, a.return { font-size: 16px; }
}

.base_post {
    margin-top: 230px;
    line-height: 20px;
}

.base_post.our-work {
    margin-top: 90px;
}

.base_post.our-work a.return {
    display: none;
}

/* ==========================================================================
   13. TIPOGRAFIA (TITOLI E PARAGRAFI)
   ========================================================================== */
h2 {
    margin-bottom: 50px;
    font-size: 38px;
    font-family: inherit;
}

h2.archive_h2, h2.blog_post { color: #d6d7d9; font-size: 24px; }
h2.archive_h2 span, h2.blog_post span { margin-left: 35px; font-size: 22px; }
h2.blog_post span { color: #d6d7d9; }

@media (max-width: 1024px) {
    h2 { font-size: 30px; }
}

@media (max-width: 500px) {
    h2 { line-height: 46px; }
    h2.archive_h2, h2.blog_post { font-size: 20px; line-height: 100%; }
    h2.archive_h2 span, h2.blog_post span { font-size: 18px; }
}

h4 {
    padding-top: 85px;
    margin-bottom: 55px;
    font-size: 28px;
    line-height: 48px;
}

@media (max-width: 500px) {
    h4 { padding-top: 55px; margin-bottom: 45px; font-size: 22px; line-height: 38px; }
}

.case_study_cta h4, h3 { font-size: 28px; line-height: 48px; }
.case_study_cta h4.intro_margin_top, h3.intro_margin_top { padding-top: 65px; }
.case_study_cta h4.intro_margin_top.min_margin, h3.intro_margin_top.min_margin { padding-top: 0; }

.case_study_cta h4.intro_margin_bottom, h3.intro_margin_bottom {
    margin-bottom: 50px;
    font-family: inherit;
    font-size: 28px;
}

.case_study_cta h4.blog_post, h3.blog_post { font-size: 38px; line-height: 56px; margin-bottom: -12px; }

@media (max-width: 640px) {
    .case_study_cta h4.blog_post, h3.blog_post { font-size: 24px; line-height: 46px; }
}

.case_study_cta h4 span, h3 span { color: #ea2159; }
.case_study_cta h4 a, h3 a { color: #d6d7d9; text-decoration: none; }
.case_study_cta h4 a:hover, h3 a:hover { color: #ea2159; }

@media (max-width: 1024px) {
    .case_study_cta h4, h3 { font-size: 20px; line-height: 38px; }
}

@media (max-width: 600px) {
    .case_study_cta h4, h3 { font-size: 17px; line-height: 32px; }
}

p {
    margin-bottom: 35px;
    font-size: 14px;
    line-height: 28px;
}





/* ==========================================================================
   14. RESPONSIVE PARAGRAFI, MARGINI E CONTROLLI (.control)
   ========================================================================== */
p:last-child, 
p:last-of-type {
    margin-bottom: -4px;
    font-family: inherit;
    font-size: 18px;
}

@media (max-width: 1024px) {
    p {
        font-size: 18px;
        line-height: 35px;
    }
}

@media (max-width: 640px) and (orientation: landscape) {
    p {
        font-size: 14px; /* Modificato da 8px a 14px per garantire la leggibilità minima in orizzontale */
        line-height: 18px;
    }
}

.with__margin--bottom {
    margin-bottom: 230px;
}

@media (max-width: 600px) {
    .with__margin--bottom {
        margin-bottom: 150px;
    }
}

.control, 
.put__here {
    position: relative;
    z-index: 1;
    right: 0;
    transform: translateY(-12px);
    height: 36px;
    line-height: 0px;
    text-align: right;
}

.control.put__here--categories, 
.put__here.put__here--categories {
    line-height: 30px;
    transform: translateY(-144px);
}

.control > a, 
.put__here > a {
    position: relative;
    color: #32323c;
    font-size: 20px;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
}

.control > a::after, 
.put__here > a::after {
    transform: translateY(-1px);
}

.control > a.open, 
.put__here > a.open {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.control > a:hover, 
.put__here > a:hover {
    color: #ea2159;
}

@media (max-width: 768px) {
    .control, 
    .put__here {
        right: auto;
        margin-top: 50px;
        margin-bottom: 27px;
        text-align: left;
        line-height: 30px;
        transform: translateY(0);
    }
    .control > a, 
    .put__here > a {
        font-size: 16px;
    }
}

.control > a {
    transform: translateX(16px);
}

@media (max-width: 640px) {
    .control {
        margin-top: 0;
        margin-bottom: 0;
        opacity: 0;
        visibility: hidden;
    }
}

.put__here > a {
    opacity: 1;
    visibility: visible;
}

/* ==========================================================================
   15. GESTIONE LARGHEZZE CONTENUTI (.content_max_width)
   ========================================================================== */
.content_max_width {
    width: 100%;
}

.content_max_width.inner, 
.content_max_width .inner {
    position: relative;
    z-index: 2;
    max-width: 800px;
}

.content_max_width.inner.intro p, 
.content_max_width .inner.intro p {
    margin-bottom: -7px;
}

.content_max_width.inner img, 
.content_max_width .inner img {
    display: block;
    width: 75%;
    max-width: 520px;
    height: auto;
    margin-top: 105px;
    margin-bottom: 55px;
}

@media (max-width: 640px) {
    .content_max_width.inner img, 
    .content_max_width .inner img {
        width: 100%;
    }
}

@media (max-width: 1660px) {
    .content_max_width.inner, 
    .content_max_width .inner {
        width: 70%;
    }
}

@media (max-width: 1024px) {
    .content_max_width.inner, 
    .content_max_width .inner {
        width: 80%;
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .content_max_width.inner, 
    .content_max_width .inner {
        width: 100%;
    }
}

/* ==========================================================================
   16. GRIGLIA IMMAGINI E PROGETTI (.show--grid_view)
   ========================================================================== */
.show--grid_view {
    position: relative;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}

@media (min-width: 501px) {
    .show--grid_view {
        transition: all 0.5s ease-in-out;
    }
}

.show--grid_view.open {
    opacity: 1;
    visibility: visible;
}

@media (min-width: 501px) {
    .show--grid_view.open {
        transition: all 0.5s ease-in-out;
    }
}

.show--grid_view.open li {
    opacity: 1;
    visibility: visible;
}

.show--grid_view li {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 33.3333333%;
    height: auto;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
}

@media (min-width: 501px) {
    .show--grid_view li {
        transition: all 0.3s ease-in-out;
    }
}

/* Delay sequenziali animazione progetti in griglia */
.show--grid_view li:nth-child(1) { transition-delay: 0.1s; }
.show--grid_view li:nth-child(2) { transition-delay: 0.2s; }
.show--grid_view li:nth-child(3) { transition-delay: 0.3s; }
.show--grid_view li:nth-child(4) { transition-delay: 0.4s; }
.show--grid_view li:nth-child(5) { transition-delay: 0.5s; }
.show--grid_view li:nth-child(6) { transition-delay: 0.6s; }

.show--grid_view li img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
}





/* ==========================================================================
   17. COMPORTAMENTO RESPONSIVE E HOVER DELLA GRIGLIA PROGETTI
   ========================================================================== */
/* TABLET VERTICALI (Sotto i 768px): Passa a 2 colonne */
@media (max-width: 768px) {
    .show--grid_view li, 
    .hero--work__list li {
        width: 50% !important;
    }
}

/* SMARTPHONE (Sotto i 480px): Passa a 1 colonna singola */
@media (max-width: 480px) {
    .show--grid_view li, 
    .hero--work__list li {
        width: 100% !important;
        height: 280px;
    }
}

/* Pannello scuro che copre l'immagine al passaggio del mouse */
.show--grid_view li a, 
.hero--work__list li a {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    background-color: rgba(50, 50, 60, 0.94);
    font-size: 20px;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
}

/* Animazione del testo del progetto (Titolo) */
.show--grid_view li a span, 
.hero--work__list li a span {
    position: absolute;
    bottom: 60px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(30px);
    transition: all 0.1s ease-in 0.3s;
}

@media (max-width: 500px) {
    .show--grid_view li a span, 
    .hero--work__list li a span {
        bottom: 35px;
    }
}

.show--grid_view li a span.with_small, 
.hero--work__list li a span.with_small {
    bottom: 90px;
}

@media (max-width: 500px) {
    .show--grid_view li a span.with_small, 
    .hero--work__list li a span.with_small {
        bottom: 65px;
    }
}

/* Animazione della data del progetto (Piccolo testo in basso) */
.show--grid_view li a small, 
.hero--work__list li a small {
    position: absolute;
    bottom: 60px;
    display: block;
    font-size: 14px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px) translateX(60px);
    transition: all 0.1s ease-in 0.3s;
}

@media (max-width: 500px) {
    .show--grid_view li a small, 
    .hero--work__list li a small {
        bottom: 35px;
        transform: translateY(15px) translateX(35px);
    }
}

@media (max-width: 1024px) {
    .show--grid_view li a, 
    .hero--work__list li a {
        visibility: visible;
    }
}

/* Logica di attivazione dell'effetto hover (Passaggio mouse) */
.show--grid_view li:hover a, 
.hero--work__list li:hover a {
    opacity: 1;
    visibility: visible;
}

.show--grid_view li:hover a span, 
.hero--work__list li:hover a span {
    opacity: 1;
    visibility: visible;
    transform: translateX(60px);
    transition: all 0.3s ease-in;
    font-style: normal;
}



/* ==========================================================================
   17. COMPORTAMENTO RESPONSIVE HOVER (COMPLETAMENTO)
   ========================================================================== */
@media (max-width: 500px) {
    .show--grid_view li:hover a span, 
    .hero--work__list li:hover a span {
        transform: translateX(35px);
    }
}

.show--grid_view li:hover a small, 
.hero--work__list li:hover a small {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px) translateX(60px);
    transition: all 0.3s ease-in 0.3s;
}

@media (max-width: 500px) {
    .show--grid_view li:hover a small, 
    .hero--work__list li:hover a small {
        transform: translateY(0px) translateX(35px);
    }
}

.show--grid_view li.to_work, 
.hero--work__list li.to_work {
    background-color: #32323c;
}

.show--grid_view li.to_work a, 
.hero--work__list li.to_work a {
    opacity: 1;
    visibility: visible;
}

.show--grid_view li.to_work a span, 
.show--grid_view li.to_work a small, 
.hero--work__list li.to_work a span, 
.hero--work__list li.to_work a small {
    opacity: 1;
    visibility: visible;
    transform: translateX(60px);
}

@media (max-width: 500px) {
    .show--grid_view li.to_work a span, 
    .show--grid_view li.to_work a small, 
    .hero--work__list li.to_work a span, 
    .hero--work__list li.to_work a small {
        transform: translateX(35px);
    }
}

.show--grid_view li.to_work:hover a, 
.hero--work__list li.to_work:hover a {
    background-color: #ea2159;
}

.about .hero--work__list li a {
    background-color: rgba(50, 50, 60, 0.24);
}

.full--width__image {
    display: block;
    width: 100%;
    height: auto;
}

/* ==========================================================================
   18. ELENCO SERVIZI E GRIGLIA DEI CLIENTI (.service-list)
   ========================================================================== */
.service-list {
    width: 70%;
    margin-bottom: 35px;
    line-height: 35px;
}

.service-list > li {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin-right: 30px;
    color: #d6d7d9;
    font-size: 14px;
    letter-spacing: .04em;
}

.service-list > li::after {
    position: absolute;
    right: -18px;
    content: '/';
    font-size: 14px;
}

.service-list > li:last-child {
    margin-right: 0;
}

.service-list > li:last-child::after {
    content: '';
}

@media (min-width: 800px) {
    .service-list > li:nth-child(3n+3) {
        margin-right: 0;
    }
    .service-list > li:nth-child(3n+3)::after {
        content: '';
    }
}

@media (max-width: 640px), (max-width: 1270px) {
    .service-list > li:nth-child(2n+2) {
        margin-right: 0;
    }
    .service-list > li:nth-child(2n+2)::after {
        content: '';
    }
}

@media (max-width: 640px) {
    .service-list {
        width: 100%;
        line-height: 28px;
    }
    .service-list > li {
        font-size: 12px;
    }
}

/* Varianti dell'elenco clienti inserite nelle sezioni descrittive */
.alt-via-capabilities .service-list, 
.alt-via-action .service-list {
    width: 100%;
    padding-top: 15px;
    margin-bottom: 55px;
    line-height: 38px;
}

.alt-via-capabilities .service-list > li, 
.alt-via-action .service-list > li {
    width: 33.3333%;
    margin-right: 0;
    color: #999;
    font-size: 15px;
    font-style: italic;
    font-family: 'Lato', sans-serif; /* Modificato da 'Open Sans' a 'Lato' per uniformità con l'HTML */
}

.alt-via-capabilities .service-list > li::after, 
.alt-via-action .service-list > li::after {
    content: '';
}

@media (max-width: 1024px) {
    .alt-via-capabilities .service-list, 
    .alt-via-action .service-list {
        line-height: 30px;
        font-size: 12px;
        font-family: 'Lato', sans-serif; /* Modificato in 'Lato' */
    }
}



/* ==========================================================================
   19. SEZIONE CONTATTI E REGOLE RESPONSIVE (.alt-via-contact)
   ========================================================================== */
.alt-via-capabilities .service-list > li,
.alt-via-action .service-list > li {
    font-size: 12px;
}

@media (min-width: 769px) and (max-width: 920px), (min-width: 601px) and (max-width: 720px) {
    .alt-via-capabilities .service-list > li,
    .alt-via-action .service-list > li {
        width: 50%;
    }
}

@media (max-width: 600px) {
    .alt-via-capabilities .service-list > li,
    .alt-via-action .service-list > li {
        width: 100%;
    }
}

@media (max-width: 1023px) and (orientation: landscape) {
    .alt-via-capabilities .service-list > li,
    .alt-via-action .service-list > li {
        width: 50%;
        font-size: 14px;
        font-style: italic;
    }
}

.alt-via-contact {
    margin-bottom: -4px;
}

.alt-via-contact .service-list {
    width: 50%;
    padding-top: 62px;
    margin-bottom: 0;
    line-height: 27px;
    display: inline-block;
    vertical-align: top;
}

.alt-via-contact .service-list > li {
    width: 100%;
    margin-right: 0;
    color: #32323c;
    font-size: 14px;
}

.alt-via-contact .service-list > li:nth-child(1) {
    font-size: 14px;
    margin-bottom: 45px;
}

.alt-via-contact .service-list > li:nth-child(2) {
    font-size: 14px;
    margin-bottom: 15px;
}

.alt-via-contact .service-list > li a.with {
    transform: translateY(-1px);
}

.alt-via-contact .service-list > li::after {
    content: '';
}

@media (max-width: 1024px) {
    .alt-via-contact .service-list > li {
        font-size: 14px;
    }
    .alt-via-contact .service-list > li:nth-child(1) {
        font-size: 24px;
        margin-bottom: 35px;
    }
    .alt-via-contact .service-list > li:nth-child(2) {
        font-size: 14px;
        margin-bottom: 15px;
    }
}

@media (max-width: 767px) {
    .alt-via-contact .service-list {
        width: 100%;
    }
}

/* ==========================================================================
   20. CITAZIONI E TESTIMONIAL (blockquote)
   ========================================================================== */
.case_study--testimonial, 
blockquote {
    position: relative;
    margin-top: 55px;
    margin-bottom: 55px;
}

.case_study--testimonial::before, 
blockquote::before {
    position: absolute;
    top: 4px;
    left: 0;
    color: #32323c;
    font-size: 67px;
    content: '“';
}

.case_study--testimonial p, 
blockquote p {
    color: #b6b8bc;
    font-size: 20px;
}

.case_study--testimonial p:first-child, 
blockquote p:first-child {
    text-indent: 35px;
}

.case_study--testimonial .client_info, 
blockquote .client_info {
    margin-top: 55px;
    color: #32323c;
    font-size: 14px;
}

.case_study--testimonial .client_info span, 
blockquote .client_info span {
    color: #b6b8bc;
}

@media (max-width: 600px) {
    .case_study--testimonial p, 
    blockquote p {
        font-size: 14px;
    }
}

.case_study--testimonial {
    margin-bottom: 0;
}

picture {
    display: block;
    width: 100%;
}

/* ==========================================================================
   21. ELENCO ARTICOLI / POST (.post_list)
   ========================================================================== */
.post_list {
    position: relative;
}

.post_list li {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-color: #32323c;
}

.post_list li .content {
    position: relative;
    z-index: 2;
}

.post_list li .overlay {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fbfbfb;
    transition: all 0.3s ease-in;
}

.post_list li a {
    color: #32323c;
    text-decoration: none;
    transition: all 0.3s ease-in;
}

.post_list li p {
    transition: all 0.3s ease-in;
}

.post_list li.white_bg {
    background-color: #fff;
}

.post_list li.white_bg .overlay {
    background-color: #fff;
}

.post_list li.hovered a, 
.post_list li.hovered p, 
.post_list li.showImage a, 
.post_list li.showImage p {
    color: #fff;
}

.post_list li.hovered a.with:hover, 
.post_list li.hovered p.with:hover, 
.post_list li.showImage a.with:hover, 
.post_list li.showImage p.with:hover {
    color: #ea2159;
}

.post_list li.hovered .overlay, 
.post_list li.showImage .overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.post_list li.showImage.hovered .overlay {
    background-color: rgba(0, 0, 0, 0.7);
}

.post_list li h2.archive_h2 span {
    color: #d6d7d9;
}

@media (max-width: 640px) {
    .post_list li h2.archive_h2 {
        font-size: 18px;
    }
    .post_list li h2.archive_h2 span {
        font-size: 16px;
    }
}

.post_list li h3 {
    font-size: 38px;
    line-height: 56px;
}

.post_list li h3 a {
    display: inline-block;
    vertical-align: top;
}

@media (max-width: 640px) {
    .post_list li h3 {
        font-size: 24px;
        line-height: 46px;
    }
}

/* ==========================================================================
   22. MAPPA GEOGRAFICA E SEZIONE HERO (.map_container)
   ========================================================================== */
.map_container {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in 0.5s;
}

.map_container.open {
    opacity: 1;
    visibility: visible;
    transition: all 0.5s ease-in;
}

@media (max-width: 640px) {
    .map_container {
        height: 422px;
        opacity: 1;
        visibility: visible;
    }
}

@media (max-width: 400px) {
    .map_container {
        height: 338px !important;
    }
}

@media (max-width: 320px) {
    .map_container {
        height: 270px !important;
    }
}

.hero picture {
    position: relative;
    z-index: 1;
}

/* ==========================================================================
   23. FOOTER (PIÈ DI PAGINA)
   ========================================================================== */
.footer {
    position: relative;
    padding: 100px;
    border-top: 1px solid #fafafa;
    box-sizing: border-box;
    background-color: #fff;
}

.footer .brand {
    display: block;
    width: 45px;
    height: 48px;
}

.footer .brand img {
    display: block;
    width: 100%;
    height: 100%;
}

@media (max-width: 768px) {
    .footer .brand {
        margin-bottom: 50px;
    }
}

.footer .address {
    font-size: 16px;
    line-height: 27px;
}

.footer .address li:nth-child(3) {
    margin-bottom: 27px;
}

@media (max-width: 768px) {
    .footer .address {
        margin-bottom: 50px;
        font-size: 14px;
    }
}

@media (max-width: 640px) and (orientation: landscape) {
    .footer .address {
        font-size: 10px;
        line-height: 18px;
    }
}

.footer .social {
    margin-bottom: 54px;
    font-size: 14px;
    line-height: 27px;
}

.footer .social li:nth-child(3) {
    margin-bottom: 27px;
}

@media (max-width: 768px) {
    .footer .social {
        font-size: 12px;
    }
}

@media (max-width: 640px) and (orientation: landscape) {
    .footer .social {
        font-size: 8px;
        line-height: 18px;
    }
}

.footer .copyright {
    color: #32323c;
    font-size: 13px;
    line-height: 27px;
}

@media (max-width: 768px) {
    .footer .copyright {
        font-size: 11px;
    }
}

.footer a {
    color: #32323c;
    text-decoration: none;
}

.footer a::after {
    transform: translateY(-1px);
}

@media (max-width: 1024px) {
    .footer {
        padding: 80px;
    }
}

@media (max-width: 500px) {
    .footer {
        padding: 50px;
    }
}

@media (max-width: 320px), (max-width: 640px) and (orientation: landscape) {
    .footer {
        padding: 35px;
    }
}

/* ==========================================================================
   24. SISTEMA DI COLONNE RESPONSIVE (.col-1, .col-2, .col-3)
   ========================================================================== */
.col-1, 
.col-2, 
.col-3 {
    position: relative;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width: 100%;
    min-height: 1px;
}

@media (min-width: 769px) {
    .col-1 { width: 41.25%; margin-right: 5%; }
    .col-2 { width: 41.25%; }
    .col-3 { width: 12.5%; }
}

@media (min-width: 880px) {
    .col-1 { width: 46.25%; margin-right: 10%; }
    .col-2 { width: 31.25%; }
}

@media (min-width: 1024px) {
    .col-1 { width: 56.25%; margin-right: 0; }
}

@media (min-width: 1320px) {
    .col-1 { width: 68.25%; }
    .col-2 { width: 23.25%; }
    .col-3 { width: 8.5%; }
}

@media (min-width: 1780px) {
    .col-1 { width: 77.25%; }
    .col-2 { width: 17.25%; }
    .col-3 { width: 5.5%; }
}

/* ==========================================================================
   25.CLASSI DI SERVIZIO ED ELEMENTI FINALI
   ========================================================================== */
.Bold {
    font-weight: bold;
}

.section-divider {
    border: 0;
    border-top: 1px solid #d6d7d9;
    margin: 80px 0;
}

/* ==========================================================================
   CORREZIONE DEFINITIVA: 3 COLONNE E PROPORZIONI NATIVE INTATTE
   ========================================================================== */

/* Forza il contenitore principale ad aprirsi e contenere gli elementi */
.show--grid_view, 
.hero--work__list {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Forza ogni box a occupare esattamente un terzo della riga (33.333%) */
.show--grid_view li, 
.hero--work__list li {
    float: left !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 33.33333% !important; /* Tre colonne matematiche su ogni schermo PC */
    height: auto !important;      /* L'altezza deve adattarsi alla foto, non essere fissa */
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Forza l'immagine a occupare la colonna mantenendo le sue proporzioni reali */
.show--grid_view li img, 
.hero--work__list li img {
    display: block !important;
    width: 100% !important;
    height: auto !important;     /* Importante: calcola l'altezza in base alle proporzioni reali del file */
    object-fit: contain !important; /* Mantiene le proporzioni geometriche esatte senza tagliare o deformare */
}

/* Ripristina la stabilità del layout dopo i blocchi float */
.show--grid_view::after, 
.hero--work__list::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* Ripristina la copertura trasparente per i testi in hover */
.show--grid_view li a, 
.hero--work__list li a {
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* ==========================================================================
   FORZATURA COLONNA SINGOLA PER SMARTPHONE (SENZA SPAZI TRA LE IMMAGINI)
   ========================================================================== */
@media (max-width: 640px) {
    .show--grid_view li, 
    .hero--work__list li {
        width: 100% !important;  /* Occupa tutta la larghezza dello schermo */
        float: none !important;  /* Mette i blocchi uno sotto l'altro */
        height: auto !important;  /* Mantiene le proporzioni native delle foto */
        margin-bottom: 0 !important; /* AZZERATO: elimina lo spazio bianco tra le immagini */
    }
}
/* ==========================================================================
   FORZATURA ASSOLUTA TIPOGRAFIA (ELIMINAZIONE SERIF GENERICO)
   ========================================================================== */
*, html, body, div, span, p, h1, h2, h3, h4, h5, h6, a, li, blockquote, strong, b, small {
    font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}
/* ==========================================================================
   26. STILIZZAZIONE E RESPONSIVE TIPOGRAFIA MAGGIORATA (LABORATORIO MEV)
   ========================================================================== */

/* --- Testi Introduttivi Principali (La testata del sito) --- */
.inner.intro h2 {
    font-size: 52px !important;    /* Aumentato da 42px a 52px */
    font-weight: 300 !important;   /* Molto leggero ed elegante */
    line-height: 1.2 !important;
    color: #32323c !important;
    margin-bottom: 25px !important;
}

.inner.intro h3 {
    font-size: 28px !important;    /* Aumentato da 24px a 28px */
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #4a4a55 !important;
    margin-bottom: 45px !important;
}

/* --- Paragrafi di Racconto (Il corpo del testo) --- */
p.in_header, 
.content p {
    font-size: 19px !important;    /* Aumentato da 16px a 19px */
    font-weight: 400 !important;
    line-height: 1.9 !important;   /* Più respiro verticale per la lettura di testi grandi */
    color: #444450 !important;     /* Leggermente più scuro per aumentare il contrasto */
    margin-bottom: 35px !important;
    text-align: justify;
}

/* --- Titoli delle Sezioni Centrali (es. "Prima e fuori dal MeV") --- */
h3.intro_margin_top, 
h2.archive_h2,
.content_max_width h3 {
    font-size: 34px !important;    /* Aumentato da 28px a 34px */
    font-weight: 700 !important;   /* Grassetto deciso */
    line-height: 1.4 !important;
    color: #32323c !important;
    margin-top: 60px !important;
    margin-bottom: 30px !important;
}

/* --- Citazioni e Testimonial (Opzione A: Senza riga verticale) --- */
blockquote p {
    font-size: 22px !important;
    font-style: italic !important;
    line-height: 1.7 !important;
    color: #666675 !important;
    padding-left: 0 !important;          /* Rimossa la spaziatura interna sinistra */
    border-left: none !important;        /* CANCELLATA la riga verticale rozza */
}


/* ==========================================================================
   OTTIMIZZAZIONE TIPOGRAFICA MOBILE MAGGIORATA (SMARTPHONE)
   ========================================================================== */
@media (max-width: 640px) {
    .inner.intro h2 {
        font-size: 34px !important;   /* Proporzionato per il telefono */
        margin-bottom: 20px !important;
    }
    
    .inner.intro h3 {
        font-size: 21px !important;
        line-height: 1.4 !important;
        margin-bottom: 35px !important;
    }
    
    p.in_header, 
    .content p {
        font-size: 17px !important;   /* Testo leggibile e grande anche su mobile */
        line-height: 1.7 !important;
        margin-bottom: 25px !important;
        text-align: left;
    }
    
    h3.intro_margin_top, 
    .content_max_width h3 {
        font-size: 24px !important;
        margin-top: 45px !important;
        margin-bottom: 20px !important;
    }
    
    blockquote p {
        font-size: 18px !important;
    }
}

/* ==========================================================================
   27. UNIFORMITÀ STILE MANIFESTO: SOTTOTITOLO MEV E STUDIO VALERIANO IOSCA
   ========================================================================== */
.header h3,
.content_max_width h3,
.inner.intro h3 {
    font-size: 28px !important;    /* Assegna a entrambi la dimensione esatta maggiorata */
    font-weight: 400 !important;   /* Spessore regolare pulito ed elegante */
    line-height: 1.5 !important;   /* Interlinea fluida e ariosa identica */
    color: #4a4a55 !important;     /* Tonalità grigio scuro profondo per entrambi */
    margin-top: 0 !important;
    margin-bottom: 45px !important;
    font-style: normal !important;
    text-align: left !important;
}

/* Ottimizzazione tipografica coordinata per smartphone (Mobile) */
@media (max-width: 640px) {
    .header h3,
    .content_max_width h3,
    .inner.intro h3 {
        font-size: 21px !important; /* Si rimpiccioliscono insieme su mobile mantenendo l'identità */
        line-height: 1.4 !important;
        margin-bottom: 35px !important;
    }
}
/* ==========================================================================
   28. GERARCHIA ENFASI NOMI CLIENTI (TAG SPAN BOLD)
   ========================================================================== */
p.in_header span.Bold,
.content p span.Bold {
    font-size: 21px !important;    /* Leggermente più grande del testo normale (che è 19px) */
    font-weight: 700 !important;   /* Grassetto marcato e nitido del font Lato */
    color: #1a1a1f !important;     /* Nero profondo per dare un forte contrasto visivo */
    letter-spacing: 0.02em !important; /* Un minimo di respiro tra le lettere per la massima leggibilità */
    display: inline !important;
}

/* Adattamento responsive proporzionato per smartphone */
@media (max-width: 640px) {
    p.in_header span.Bold,
    .content p span.Bold {
        font-size: 19px !important; /* Si ridimensiona proporzionalmente sui telefoni (dove il testo è 17px) */
    }
}
/* ==========================================================================
   29. UNIFORMITÀ ALLINEAMENTO TESTI A BANDIERA (SINISTRA)
   ========================================================================== */
p.in_header, 
.content p, 
.service-list p,
blockquote p {
    text-align: left !important; /* Forza l'allineamento a bandiera su tutto il sito */
}
/* ==========================================================================
   30. MAGGIORAZIONE RESPONSIVE DELLE LISTE DEI CLIENTI (.service-list)
   ========================================================================== */
.service-list > li,
.alt-via-capabilities .service-list > li, 
.alt-via-action .service-list > li {
    font-family: 'Lato', sans-serif !important;
    font-size: 18px !important;     /* Aumentato da 14px a 18px per computer */
    line-height: 2.2 !important;    /* Più respiro verticale tra le righe */
    color: #555560 !important;      /* Tonalità grigio scuro nitida coerente con i testi */
    letter-spacing: 0.02em !important;
}

/* Simbolo separatore "/" tra un cliente e l'altro più visibile */
.service-list > li::after {
    font-size: 18px !important;
    color: #ea2159 !important;      /* Il separatore diventa rosa per riprendere il brand */
    margin-left: 8px !important;
}

/* Ottimizzazione proporzionata per smartphone (Mobile) */
@media (max-width: 640px) {
    .service-list > li,
    .alt-via-capabilities .service-list > li, 
    .alt-via-action .service-list > li {
        font-size: 16px !important;  /* Dimensione leggibile sul touch screen */
        line-height: 2 !important;
    }
    
    .service-list > li::after {
        font-size: 16px !important;
    }
}
/* ==========================================================================
   31. AMPLIAMENTO ESCLUSIVO LISTE CLIENTI SENZA TOCCARE I TESTI
   ========================================================================== */
@media (min-width: 1024px) {
    /* Agisce solo sulle liste puntate dentro le sezioni descrittive */
    .alt-via-action .service-list,
    .container .service-list {
        width: 135% !important;       /* Allarga la lista oltre i confini del testo */
        max-width: 1200px !important;  /* Limite massimo di espansione elegante */
        margin-left: 0 !important;     /* Mantiene l'inizio a bandiera allineato al testo */
        display: block !important;
    }
}
