/* Emil Software V4 / visual system */
:root{--emil-accent:#208cbd;--emil-ink:#172938;--emil-bg:#fff;--emil-text:#344858}
body,body p,body li,body input,body textarea,body select,body button{font-family:Manrope,Arial,sans-serif!important}
body{font-size:15px;line-height:1.75}body h1,body h2,body h3,body h4,body h5,body h6{font-family:Manrope,Arial,sans-serif!important;letter-spacing:-.035em}
.emil-heading{font-weight:800!important}.emil-lead{font-size:19px}
/* nav language selector sits on same line as the nav links */
#navbar .navbar-nav{display:flex;align-items:center;flex-wrap:nowrap}
#navbar .language-switch{display:flex!important;align-items:center;justify-content:center;gap:9px;height:auto;min-height:0;padding:0 14px!important;align-self:stretch;font:700 12px/1 Manrope,Arial,sans-serif!important;color:#fff}
#navbar .language-switch .lang-active,#navbar .language-switch .lang-divider,#navbar .language-switch a{display:inline-flex;align-items:center;line-height:1!important;padding:0!important;margin:0!important;height:auto!important}
#navbar .language-switch a{opacity:.62;font-size:12px!important}
#navbar .language-switch .lang-active{color:#fff}
/* strong typographic numerals, no generic tiny counters */
.emil-expertise-card{position:relative;overflow:hidden;padding:38px 42px 38px;min-height:335px;display:flex;flex-direction:column;justify-content:flex-start;border-radius:3px}
.emil-expertise-card .emil-number{display:block;font:800 clamp(64px,7vw,100px)/.98 Manrope,Arial,sans-serif!important;letter-spacing:-.095em;color:rgba(29,132,186,.22);margin:0 0 15px;transition:color .35s,transform .35s}
.emil-expertise-card:hover .emil-number{color:rgba(29,132,186,.43);transform:translateX(6px)}
.emil-expertise-card h3{margin:0 0 13px!important}.emil-expertise-card .emil-tags{margin-top:auto;padding-top:24px}
/* one coherent CTA language, no lonely underlined links */
a.emil-cta{display:inline-flex!important;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:14px 22px!important;border:1px solid #218abd!important;border-radius:2px;background:transparent;font:700 12px/1.35 Manrope,Arial,sans-serif!important;letter-spacing:.075em;text-transform:uppercase;text-decoration:none!important;box-shadow:none;transition:background .25s,color .25s,transform .25s,border-color .25s;white-space:normal;text-align:center}
a.emil-cta:after{content:'\2197';font:700 19px/1 Arial,sans-serif;transition:transform .25s}a.emil-cta:hover:after{transform:translate(3px,-3px)}
a.emil-cta-primary{background:#218abd!important;color:#fff!important}a.emil-cta-primary:hover{background:#146c99!important;border-color:#146c99!important;transform:translateY(-2px)}
a.emil-cta-secondary,a.emil-cta-outline{background:transparent!important;color:#167cac!important}a.emil-cta-secondary:hover,a.emil-cta-outline:hover{background:#218abd!important;color:#fff!important}
.emil-actions{gap:14px!important;align-items:stretch!important}.emil-actions .emil-cta{min-width:205px}
.emil-support-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.emil-support-actions .emil-cta{width:260px;max-width:100%;margin:0!important}
.emil-support .emil-cta-on-dark{border-color:rgba(255,255,255,.7)!important;color:#fff!important}.emil-support .emil-cta-on-dark:hover{background:#fff!important;color:#173146!important}
/* visible photographic parallax, layered independently from overlay and content */
.emil-real-parallax{position:relative;isolation:isolate;overflow:hidden}
.emil-real-parallax .emil-parallax-layer{position:absolute;inset:-22% 0;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat;transform:translate3d(0,0,0);will-change:transform;pointer-events:none}
.emil-vision{background:#102c41!important}.emil-vision .emil-parallax-layer{opacity:.26;filter:saturate(.65) contrast(1.1)}
.emil-vision:before{z-index:-1}.emil-vision:after{z-index:-1}
.emil-support-photo{background:#132b3c!important}.emil-support-photo .emil-parallax-layer{opacity:.9;filter:saturate(.75)}
.emil-support-overlay{z-index:-1!important;background:linear-gradient(90deg,rgba(6,19,30,.87),rgba(13,40,57,.66))!important}
.emil-vision>.container,.emil-support>.container{position:relative;z-index:1}
/* consistent contact area (Ultron had mixed legacy font declarations) */
#contact .custom-title h2,#contact .custom-title h3,#contact .contact_form h3,#contact .why-us-right h3,#contact .why-us-right h4{font-family:Manrope,Arial,sans-serif!important;font-weight:700!important;letter-spacing:-.025em!important}
#contact p,#contact a,#contact label,#contact input,#contact textarea,#contact button,#contact .why-us-right{font-family:Manrope,Arial,sans-serif!important}
#contact .contact_form input,#contact .contact_form textarea{font-size:14px!important}
#contact .contact_form button,#contact .contact_form input[type=submit]{font:700 12px Manrope,Arial,sans-serif!important;letter-spacing:.05em}
/* dark mode: keep contrast, including button borders */
body.emil-dark .emil-cta-secondary,body.emil-dark .emil-cta-outline{color:#9edcff!important;border-color:#6abbe5!important}
body.emil-dark .emil-cta-secondary:hover,body.emil-dark .emil-cta-outline:hover{color:#fff!important}
body.emil-dark .emil-expertise-card .emil-number{color:rgba(126,198,237,.32)}
body.emil-dark .emil-support .emil-cta-on-dark{color:#fff!important;border-color:#fff!important}
body.emil-dark #contact h2,body.emil-dark #contact h3{color:#f0f6fb}
@media(max-width:991px){#navbar .navbar-nav{display:block}#navbar .language-switch{justify-content:flex-start;padding:15px 20px!important;min-height:44px} .emil-support-actions{align-items:flex-start}.emil-expertise-card{min-height:0}}
@media(max-width:600px){.emil-actions .emil-cta{width:100%}.emil-expertise-card .emil-number{font-size:75px}.emil-vision .emil-parallax-layer,.emil-support .emil-parallax-layer{inset:-15% 0}}
@media(prefers-reduced-motion:reduce){.emil-real-parallax .emil-parallax-layer{transform:none!important;will-change:auto}a.emil-cta,.emil-expertise-card .emil-number{transition:none}}

/* Emil Software: schede progetti di altezza uniforme su desktop. */
@media (min-width: 992px) {
  #solutions .emil-solution-grid { display: flex; flex-wrap: wrap; align-items: stretch; }
  #solutions .emil-solution-grid > [class*="col-"] { display: flex; }
  #solutions .emil-solution-card { width: 100%; height: 100%; display: flex; flex-direction: column; }
  #solutions .emil-solution-card > a { flex: 1; display: flex; flex-direction: column; width: 100%; }
  #solutions .emil-solution-body { flex: 1; display: flex; flex-direction: column; }
  #solutions .emil-solution-body p { margin-bottom: 0; }
}





/* ==========================================
   SEZIONE 02 – COMPETENZE
   Sfondo geometrico ispirato alla sezione 03
   ========================================== */

#expertise {
    position: relative;
    overflow: hidden;
    isolation: isolate;

    background: linear-gradient(
        135deg,
        #f5f7fa 0%,
        #e9f0f5 55%,
        #dce8f0 100%
    ) !important;
}

/* Cerchio decorativo superiore destro */
#expertise::before {
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    top: -280px;
    right: -200px;

    border: 1px solid rgba(30, 100, 145, 0.13);
    border-radius: 50%;

    box-shadow:
        0 0 0 90px rgba(30, 100, 145, 0.025),
        0 0 0 180px rgba(30, 100, 145, 0.018),
        0 0 0 270px rgba(30, 100, 145, 0.012);

    pointer-events: none;
    z-index: 0;
}

/* Cerchio decorativo inferiore sinistro */
#expertise::after {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    bottom: -300px;
    left: -180px;

    border: 1px solid rgba(30, 100, 145, 0.10);
    border-radius: 50%;

    box-shadow:
        0 0 0 80px rgba(30, 100, 145, 0.025),
        0 0 0 160px rgba(30, 100, 145, 0.015);

    pointer-events: none;
    z-index: 0;
}

/* Contenuti sempre sopra la decorazione */
#expertise > .container {
    position: relative;
    z-index: 1;
}





/* DARK MODE – SEZIONE COMPETENZE */

body.emil-dark #expertise {
    background: linear-gradient(
        135deg,
        #111e29 0%,
        #172b3b 55%,
        #20394b 100%
    ) !important;
}

body.emil-dark #expertise::before,
body.emil-dark #expertise::after {
    border-color: rgba(110, 185, 225, 0.12);
}






/* V5 / contact and footer editorial redesign */
#contact.emil-contact-v5{position:relative;overflow:hidden;padding:112px 0 120px;background:#f4f7fa!important;color:#243a4a}
#contact.emil-contact-v5:before{content:"";position:absolute;width:760px;height:760px;top:-560px;right:-250px;border:1px solid rgba(26,118,166,.11);border-radius:50%;box-shadow:0 0 0 115px rgba(26,118,166,.025),0 0 0 230px rgba(26,118,166,.016);pointer-events:none}
#contact .emil-contact-heading{position:relative;margin-bottom:50px}
#contact .emil-contact-heading .emil-heading{margin:15px 0 18px!important;font-size:clamp(36px,4vw,58px)!important;line-height:1.15!important}
#contact .emil-contact-heading .emil-intro{max-width:670px;margin-bottom:0;color:#536a7a}
#contact .emil-contact-aside{font-size:11px!important;letter-spacing:.16em;line-height:2!important;font-weight:800;color:#8b9ba7;text-align:right;margin-top:42px}
#contact .emil-contact-columns{display:flex;flex-wrap:wrap;align-items:stretch}
#contact .emil-contact-columns>[class*="col-"]{display:flex}
#contact .emil-contact-panel,#contact .emil-contact-form-shell{width:100%;height:100%;border:1px solid #e2eaf0;border-radius:4px}
#contact .emil-contact-panel{padding:38px 35px;background:#153448;color:#edf7ff;box-shadow:0 22px 55px rgba(11,40,61,.09)}
#contact .emil-contact-panel-label,#contact .emil-contact-index{display:block;font-size:10px!important;letter-spacing:.13em!important;font-weight:800!important;line-height:1.6!important}
#contact .emil-contact-panel-label{color:#85c9e8;margin-bottom:25px}
#contact .emil-contact-panel h3{font-size:30px!important;line-height:1.2!important;color:#fff!important;margin:0 0 32px!important;font-weight:800!important}
#contact .emil-contact-group{padding:20px 0;border-top:1px solid rgba(255,255,255,.15)}
#contact .emil-contact-group-last{padding-bottom:0}
#contact .emil-contact-panel .emil-contact-index{color:#80bedf;margin-bottom:10px}
#contact .emil-contact-panel address,#contact .emil-contact-panel p{font-size:14px!important;font-style:normal;line-height:1.8;color:#e4edf3!important;margin:0 0 8px}
#contact .emil-contact-panel a{color:#fff!important;text-decoration:none;overflow-wrap:anywhere}
#contact .emil-contact-panel a:hover{color:#80d1fa!important}
#contact .emil-contact-main-link{display:inline-block;font-size:23px!important;font-weight:800!important;letter-spacing:-.04em}
#contact .emil-contact-email{font-size:15px!important;font-weight:700!important}
#contact .emil-contact-secondary{font-size:12px!important;line-height:1.9;color:#bed0dc;margin-top:5px}
#contact .emil-contact-secondary a{font-size:inherit!important}
#contact .emil-contact-inline{font-size:12px!important;font-weight:700!important;color:#91d9ff!important}
#contact .emil-contact-form-shell{background:#fff;padding:38px 42px 44px;box-shadow:0 22px 55px rgba(11,40,61,.05)}
#contact .emil-contact-form-head{border-bottom:1px solid #e6edf1;padding-bottom:24px;margin-bottom:25px}
#contact .emil-contact-form-head .emil-contact-index{color:#218abd}
#contact .emil-contact-form-head h3{font-size:29px!important;line-height:1.3!important;color:#20394b!important;margin:10px 0!important;font-weight:800!important}
#contact .emil-contact-form-head p{font-size:14px!important;color:#647786!important;margin:0!important}
#contact .contact_form{background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important;border:0!important;min-height:300px}
#contact .contact_form:before,#contact .contact_form:after{display:none!important}
.emil-footer-v5{background:#0d202e!important;color:#c6d5df!important;padding:0!important;border:0!important}
.emil-footer-v5 .emil-footer-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr) minmax(130px,1fr);gap:70px;padding:72px 0 66px}
.emil-footer-v5 .emil-footer-brand img{width:205px;height:auto;max-width:100%}
.emil-footer-v5 .emil-footer-brand p{font-size:13px!important;line-height:1.9!important;color:#afc3d1!important;margin:24px 0 0}
.emil-footer-v5 .emil-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.emil-footer-v5 .emil-footer-links>span{font-size:10px!important;letter-spacing:.15em;font-weight:800;color:#69b9e1;margin-bottom:11px}
.emil-footer-v5 a{color:#d8e5ed!important;text-decoration:none!important;font-size:13px!important;line-height:1.65!important;transition:color .2s}
.emil-footer-v5 a:hover{color:#7bd0f5!important}
.emil-footer-v5 .emil-footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding:25px 0 35px;border-top:1px solid rgba(255,255,255,.14)}
.emil-footer-v5 .emil-footer-company{font-size:11px;color:#a6bac9;white-space:nowrap}
.emil-footer-v5 .emil-footer-separator{padding:0 6px}
.emil-footer-v5 .emil-footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px}
.emil-footer-v5 .emil-footer-legal a{font-size:11px!important;color:#a6bac9!important}
.emil-footer-v5 .emil-footer-legal a:hover{color:#fff!important}
body.emil-dark #contact.emil-contact-v5{background:#10212e!important;color:#f0f6fa}
body.emil-dark #contact .emil-contact-form-shell{background:#1b303e!important;border-color:#304a59!important}
body.emil-dark #contact .emil-contact-form-head{border-color:#304a59}
body.emil-dark #contact .emil-contact-form-head h3{color:#f0f6fa!important}
body.emil-dark #contact .emil-contact-form-head p,body.emil-dark #contact .emil-contact-heading .emil-intro{color:#bbceda!important}
body.emil-dark #contact .emil-contact-panel{background:#0a1b28;border-color:#304a59}
@media(max-width:991px){#contact.emil-contact-v5{padding:75px 0 85px}#contact .emil-contact-columns>[class*="col-"]{width:100%;display:block}#contact .emil-contact-panel{margin-bottom:22px}#contact .emil-contact-aside{display:none}.emil-footer-v5 .emil-footer-top{gap:30px}.emil-footer-v5 .emil-footer-bottom{flex-direction:column}.emil-footer-v5 .emil-footer-legal{justify-content:flex-start}}
@media(max-width:640px){#contact .emil-contact-panel{padding:30px 26px}#contact .emil-contact-form-shell{padding:30px 22px}#contact .emil-contact-form-head h3{font-size:24px!important}.emil-footer-v5 .emil-footer-top{grid-template-columns:1fr 1fr;gap:35px 18px;padding:54px 0}.emil-footer-v5 .emil-footer-brand{grid-column:1/-1}.emil-footer-v5 .emil-footer-company{white-space:normal}}




/* SEZIONE 01 – CHI SIAMO */

#about .emil-image-frame {
    position: relative;
    overflow: hidden;
    margin: 20px 0;
    border-radius: 0 60px 0 60px;
    box-shadow: 0 25px 60px rgba(15, 35, 55, 0.15);
}

/* Elimina la cornice decorativa */
#about .emil-image-frame::before {
    display: none !important;
}

/* Fotografia */
#about .emil-image-frame img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    box-shadow: none;
}

/* Didascalia */
#about .emil-image-caption {
    border-radius: 0;
}

@media (max-width: 767px) {
    #about .emil-image-frame {
        margin: 30px 0;
        border-radius: 0 35px 0 35px;
    }
}


/* SEZIONE 01 – Didascalia fotografia */

#about .emil-image-caption {
    left: auto !important;
    right: 25px;
    bottom: 22px;
    text-align: right;
}



