.elementor-kit-1137{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-0312347:#901B0B;--e-global-color-e1e2a05:#296489;--e-global-color-5d542e9:#FFFFFF;--e-global-color-8ea5a44:#DFF2F7;--e-global-color-6116bf9:#3B5363;--e-global-color-9273a54:#509FD1;--e-global-color-066d07d:#282B59;--e-global-color-d59a407:#575EFE;--e-global-color-277c111:#191E3C;--e-global-color-be4d1d6:#25284C;--e-global-color-7074e0f:#323779;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-1137 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1220px;}.e-con{--container-max-width:1220px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* --- 1. IL CONTENITORE (CARD) --- */
.cf7-card-container {
    background-color: #ffffff90;
    max-width: 750px;
    margin: 0 auto;
    padding: 40px;
    border-radius: 25px;
}

/* --- 2. GRIGLIA A DUE COLONNE --- */
.cf7-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}
.cf7-col {
    flex: 1;
    width: 100%;
}
.cf7-row-full {
    width: 100%;
    margin-bottom: 20px;
}
@media (max-width: 768px) {
    .cf7-card-container {
        padding: 20px;
    }
    .cf7-row {
        flex-direction: column;
        gap: 20px;
    }
}

/* --- 3. STILE ETICHETTE E CAMPI --- */
.cf7-card-container label {
    font-size: 14px;
    font-weight: 600;
    color: #000;
    margin-bottom: 8px;
    display: block;
}
.cf7-card-container input[type="text"],
.cf7-card-container input[type="email"],
.cf7-card-container textarea,
.cf7-card-container select {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid #e0e0e0;
    background-color: #fff;
    border-radius: 15px;
    font-size: 15px;
    color: #000;
    box-sizing: border-box;
    transition: all 0.3s ease;
    appearance: none;
    -webkit-appearance: none;
}
.cf7-card-container select {
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 10px auto;
    padding-right: 30px;
}
.cf7-card-container input:focus,
.cf7-card-container textarea:focus,
.cf7-card-container select:focus {
    border-color: #000;
    background-color: #fff;
    outline: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/* --- 4. PRIVACY --- */
.cf7-privacy-box {
    margin-bottom: 25px;
    font-size: 13px;
    color: #666;
}
.cf7-privacy-box a {
    color: #000;
    text-decoration: underline;
}
.cf7-privacy-box input[type="checkbox"] {
    margin-right: 8px;
    transform: scale(1.2);
    accent-color: #000;
}

/* --- 5. PULSANTE CON FRECCIA --- */
.cf7-submit-box {
    text-align: left;
}
.cf7-card-container input[type="submit"] {
    background-color: #000;
    color: #fff;
    border: none;
    padding: 16px 55px 16px 35px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 20px;
}
.cf7-card-container input[type="submit"]:hover {
    background-color: #333;
    transform: translateY(-2px);
}

/* --- 6. ZOOM IMMAGINI --- */
.zoom-container {
    overflow: hidden;
}
.zoom-container img {
    transition: transform 0.4s ease;
}
.zoom-container:hover img {
    transform: scale(1.1);
}

/* --- 7. NAVBAR PILLOLA HIDE ON SCROLL --- */
.elementor-element-c9217fa {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                opacity 0.4s ease;
}
.elementor-element-c9217fa.nav-hidden {
    transform: translateY(-120%);
    opacity: 0;
    pointer-events: none;
}
/* --- 9. CAROSELLO SETTORI GLASSMORPHISM --- */
.elementor-element-2441ce8 {
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.elementor-element-2441ce8:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(100, 140, 255, 0.4) !important;
    transform: translateY(-4px);
}
/* --- 10. CARD CHI SIAMO GLASSMORPHISM --- */
.elementor-element-4099158 {
    background: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 20px !important;
}
/* --- 12. HERO ANIMATIONS --- */
@keyframes heroFadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

.elementor-element-cfdb885 .elementor-heading-title .typing-cursor {
    display: inline-block;
    width: 3px;
    height: 0.9em;
    background: rgba(130, 170, 255, 0.8);
    margin-left: 4px;
    vertical-align: text-bottom;
    animation: blink 0.8s step-end infinite;
}

.elementor-element-cfdb885 .elementor-heading-title .highlight {
    color: rgba(140, 180, 255, 1);
    transition: color 1.2s ease;
}

.elementor-element-cfdb885 .elementor-heading-title .highlight.fade {
    color: #fff;
}

.elementor-element-8f368a9 {
    opacity: 0;
}

.elementor-element-8f368a9.hero-visible {
    animation: heroFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.elementor-element-e3afcac {
    opacity: 0;
}

.elementor-element-e3afcac.hero-visible {
    animation: heroFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;
}
.elementor-element-cfdb885 .elementor-heading-title .highlight {
    background: transparent !important;
    color: rgba(140, 180, 255, 1);
    transition: color 1.2s ease;
}

.elementor-element-cfdb885 .elementor-heading-title .highlight.fade {
    color: #fff;
}
/* --- 14. RIDUZIONE SPAZIO HERO-CAROSELLO --- */
.elementor-element-47533cf {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
.elementor-element-bfd9474 {
    padding-bottom: 40px !important;
    margin-bottom: 0 !important;
}
.elementor-element-db37e70 {
    padding-top: 20px !important;
    margin-top: 0 !important;
}
/* --- 16. VENDOR MARQUEE --- */
.vendor-marquee-wrap {
    padding: 40px 0;
    overflow: hidden;
}
.vendor-label {
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.35);
    letter-spacing: 3px;
    text-align: center;
    margin-bottom: 28px;
}
.vendor-marquee {
    position: relative;
    overflow: hidden;
}
.vendor-marquee::before,
.vendor-marquee::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 80px;
    z-index: 2;
    pointer-events: none;
}
.vendor-marquee::before {
    left: 0;
    background: linear-gradient(to right, #0a0a2e, transparent);
}
.vendor-marquee::after {
    right: 0;
    background: linear-gradient(to left, #0a0a2e, transparent);
}
.vendor-track {
    display: flex;
    gap: 50px;
    align-items: center;
    white-space: nowrap;
}
.vendor-track img {
    height: 32px;
    width: auto;
    object-fit: contain;
    opacity: 0.4;
    filter: brightness(0) invert(1);
    transition: all 0.4s ease;
    flex-shrink: 0;
}
.vendor-track img:hover {
    opacity: 0.8;
    filter: brightness(0) invert(1) drop-shadow(0 0 8px rgba(100, 140, 255, 0.4));
}
/* --- 17. LOGHI CLIENTI BIANCHI --- */
.elementor-element-0477b66 img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.4 !important;
    transition: opacity 0.4s ease !important;
}
.elementor-element-0477b66 img:hover {
    opacity: 0.8 !important;
}
.elementor-element-0477b66 .swiper-wrapper {
    transition-timing-function: linear !important;
}
/* --- 19. CARD COMPETENZE GLASSMORPHISM --- */
.elementor-element-ea22ecf,
.elementor-element-dfe5022,
.elementor-element-46f2d69,
.elementor-element-1f411ec,
.elementor-element-c541a24,
.elementor-element-435c584 {
    background: rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 20px !important;
    padding: 36px 40px !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.elementor-element-ea22ecf:hover,
.elementor-element-dfe5022:hover,
.elementor-element-46f2d69:hover,
.elementor-element-1f411ec:hover,
.elementor-element-c541a24:hover,
.elementor-element-435c584:hover {
    background: rgba(255, 255, 255, 0.10) !important;
    border-color: rgba(100, 140, 255, 0.5) !important;
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4),
                0 0 50px rgba(100, 140, 255, 0.2),
                inset 0 0 30px rgba(100, 140, 255, 0.05) !important;
}
/* --- 20. LOGHI CLIENTI BIANCHI --- */
.elementor-widget-image-carousel img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.4 !important;
    transition: opacity 0.4s ease !important;
}
.elementor-widget-image-carousel img:hover {
    opacity: 0.8 !important;
}
/* --- 21. CARD COMPETENZE PAGE GLASSMORPHISM --- */
.elementor-element-89af6e2,
.elementor-element-2edc3f0,
.elementor-element-190810f,
.elementor-element-2ebd56a,
.elementor-element-ad18bc1,
.elementor-element-9376ac3 {
    background: rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 20px !important;
    padding: 36px 40px !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.elementor-element-89af6e2:hover,
.elementor-element-2edc3f0:hover,
.elementor-element-190810f:hover,
.elementor-element-2ebd56a:hover,
.elementor-element-ad18bc1:hover,
.elementor-element-9376ac3:hover {
    background: rgba(255, 255, 255, 0.10) !important;
    border-color: rgba(100, 140, 255, 0.5) !important;
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4),
                0 0 50px rgba(100, 140, 255, 0.2),
                inset 0 0 30px rgba(100, 140, 255, 0.05) !important;
}/* End custom CSS */