.elementor-1284 .elementor-element.elementor-element-3da2614{--display:flex;}.elementor-1284 .elementor-element.elementor-element-b05ae97{--display:flex;--min-height:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--background-transition:0.4s;--overlay-opacity:0.5;}.elementor-1284 .elementor-element.elementor-element-b05ae97:not(.elementor-motion-effects-element-type-background), .elementor-1284 .elementor-element.elementor-element-b05ae97 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-1284 .elementor-element.elementor-element-b05ae97:hover{background-color:var( --e-global-color-accent );}.elementor-1284 .elementor-element.elementor-element-b05ae97::before, .elementor-1284 .elementor-element.elementor-element-b05ae97 > .elementor-background-video-container::before, .elementor-1284 .elementor-element.elementor-element-b05ae97 > .e-con-inner > .elementor-background-video-container::before, .elementor-1284 .elementor-element.elementor-element-b05ae97 > .elementor-background-slideshow::before, .elementor-1284 .elementor-element.elementor-element-b05ae97 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1284 .elementor-element.elementor-element-b05ae97 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-accent );--background-overlay:'';}.elementor-1284 .elementor-element.elementor-element-7a7b598{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1284 .elementor-element.elementor-element-41a05de{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1284 .elementor-element.elementor-element-eccf62e > .elementor-widget-container{margin:-20px -20px -20px -20px;}.elementor-1284 .elementor-element.elementor-element-5b5c346{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-3f61d93 *//* --- 1. RESET & BASE --- */
body, .morsus-home-container {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden;
    font-family: 'Montserrat', sans-serif;
}

.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}

/* --- 2. HERO SECTION --- */
.morsus-hero { position: relative; height: 100vh; height: 100dvh; background: #000; overflow: hidden; will-change: transform; }
.hero-video { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }

.hero-logo-center {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    z-index: 15; width: 220px; pointer-events: none;
}
.hero-logo-center img { width: 100%; height: auto; }

.hero-logo-wrapper {
    position: absolute; bottom: 25px; left: 50%;
    margin-left: -35px; z-index: 20; width: 70px;
}

.logo-o {
    width: 100% !important;
    height: auto !important;
    animation: bounceDown 1.5s infinite ease-in-out !important;
}

@keyframes bounceDown {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(12px); }
}

/* --- 3. SEZIONI GENERALI (Rese molto più compatte) --- */
.morsus-section { padding: 50px 5%; text-align: center; position: relative; }
.red { background-color: #9b0715; color: #ffffff; }
.white { background-color: #ffffff; color: #9b0715; }

/* Titoli h2 nettamente più piccoli e leggeri */
h2 { font-family: 'Arbotek Ultra', sans-serif; font-size: 2.1rem; text-transform: lowercase; margin-bottom: 20px; line-height: 1.15; }
.big-text { font-size: 0.95rem; line-height: 1.5; max-width: 750px; margin: 0 auto; color: #333; }

/* --- 4. SERVIZI & GRID --- */
.morsus-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px;
    max-width: 1050px; margin: 0 auto;
}

.service-card {
    position: relative; height: 240px; padding: 20px; 
    border: 1px solid #9b0715;
    background: #9b0715;
    border-radius: 10px;
    display: flex; flex-direction: column; justify-content: center;
    transition: all 0.3s ease; cursor: pointer;
}

.service-card:hover { background: #ffffff; border-color: #9b0715; }

.service-title { color: #ffffff !important; font-family: 'Arbotek Ultra', sans-serif; font-size: 1.25rem; margin: 0; transition: color 0.3s; }
.service-icon { font-size: 1.6rem; color: #ffffff !important; margin-bottom: 8px; transition: color 0.3s; }
.service-desc { font-family: 'Montserrat', sans-serif; font-size: 0.85rem; color: #9b0715 !important; margin-top: 6px; line-height: 1.35; opacity: 0; transition: all 0.3s ease; }

.card-hover-content { max-height: 0; overflow: hidden; transition: all 0.3s ease; }

.service-card:hover .service-icon, 
.service-card:hover .service-title { color: #9b0715 !important; }

.service-card:hover .service-desc { opacity: 1; }
.service-card:hover .card-hover-content { max-height: 100px; }

/* --- 5. PULSANTI --- */
.cta-red-white {
    display: inline-block; padding: 11px 28px; font-weight: 700; text-transform: uppercase;
    text-decoration: none; border-radius: 30px; transition: 0.3s; cursor: pointer;
    background-color: #9b0715; color: #ffffff !important; border: 2px solid #9b0715; font-size: 0.8rem;
}
.cta-red-white:hover { background-color: #ffffff; color: #9b0715 !important; transform: scale(1.02); }

/* --- 6. RESTYLING SEZIONE LAB / CLIENTE --- */
.morsus-section.green {
    padding: 50px 5%;
    background-color: #1b382b;
    text-align: center;
}

.morsus-lab-header h2 {
    font-family: var(--morsus-font, 'Arbotek Ultra', sans-serif);
    font-size: 2.1rem;
    color: white;
    text-transform: lowercase;
    margin-bottom: 5px;
}

.morsus-lab-subtitle {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    margin-bottom: 25px;
    text-transform: lowercase;
}

/* Griglia dei progetti */
.client-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    max-width: 1050px;
    margin: 0 auto;
}

/* Box singolo progetto */
.client-box {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s ease;
}

.client-box:hover {
    transform: translateY(-4px);
}

/* Contenitore immagine */
.img-wrapper {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    margin-bottom: 10px;
}

.img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.client-box:hover .img-wrapper img {
    transform: scale(1.03);
}

/* Etichetta sotto l'immagine */
.client-btn {
    display: inline-block;
    background-color: #9b0715;
    color: white !important;
    padding: 6px 16px;
    border-radius: 20px;
    font-family: var(--morsus-font, 'Arbotek Ultra', sans-serif);
    text-transform: lowercase;
    font-size: 0.75rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    border: 2px solid #9b0715;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.client-box:hover .client-btn {
    background-color: #ffffff;
    color: #9b0715 !important;
}

/* Footer della sezione (CTA finale) */
.morsus-lab-footer {
    margin-top: 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.next-you-cta {
    font-family: var(--morsus-font, 'Arbotek Ultra', sans-serif);
    font-size: 1.25rem;
    color: white;
    text-transform: lowercase;
}

/* Pulsante Contattaci Ora */
.morsus-lab-footer .contact-btn {
    display: inline-block;
    background-color: white;
    color: #9b0715 !important;
    padding: 10px 30px;
    border-radius: 25px;
    font-weight: bold;
    text-decoration: none;
    font-family: var(--morsus-font, 'Arbotek Ultra', sans-serif);
    text-transform: lowercase;
    font-size: 0.9rem;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.morsus-lab-footer .contact-btn:hover {
    transform: scale(1.03);
    background-color: #f0f0f0;
}

/* --- 7. RESPONSIVE & MOBILE --- */
@media (max-width: 900px) { 
    .morsus-hero { height: 60vh; height: 60dvh; } 
}

@media (max-width: 768px) {
    .morsus-grid { grid-template-columns: 1fr; gap: 12px; }
    .morsus-section { padding: 35px 4%; }
    
    /* Riduzione ulteriore su smartphone per evitare righe storte */
    h2, .morsus-lab-header h2 { font-size: 1.6rem !important; margin-bottom: 15px; }
    
    .next-you-cta { font-size: 1.1rem; }
    .big-text { font-size: 0.9rem; }

    /* Card servizi fisse aperte su touch */
    .service-card { height: auto; min-height: 180px; padding: 15px; }
    .card-hover-content { max-height: none; opacity: 1; }
    .service-desc { opacity: 1; }
}/* End custom CSS */