/* Public layout only: do not import into reserved layouts. */
.public-skip-link{position:fixed;left:1rem;top:-10rem;z-index:2147483647;background:#fff;color:#105384;padding:1rem 1.5rem;border:3px solid #105384;font-weight:700}
.public-skip-link:focus{top:1rem}
:focus-visible{outline:3px solid #111!important;outline-offset:3px;box-shadow:0 0 0 6px #fff!important}
#main-content{scroll-margin-top:110px}
#main-content:focus{outline:none}
/* Preserve the square recruitment image when its width adapts to the column. */
#pg-news img[src$="/images/lavora-con-noi-img.png"]{height:auto;max-width:100%}
#pg-certificazioni img[src^="/images/iso-"]{width:auto;max-width:100%;object-fit:contain}
#pg-lp img.img-h298[src$="/industria4.0-img1.png"]{width:auto;max-width:100%;object-fit:contain}
#pg-lp img.w-100[src$="/industria4.0-software.png"],#pg-lp img.w-100[src$="/gestapp-industria4.0-mes.jpg"]{height:auto}
#pg-lp img.img-sec2[src$="/industria4.0-checose-1.png"]{max-width:100%;height:auto}
#pg-lp .public-industry-hero{position:relative;isolation:isolate;overflow:hidden;background:#105384}
#pg-lp .public-industry-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}
#pg-lp .public-industry-hero .videoHomeMask{height:auto;min-height:650px;min-height:max(650px,85svh);padding:150px max(6vw,24px) 80px;justify-content:flex-start;background:linear-gradient(90deg,rgba(16,83,132,.25),rgba(16,83,132,.05));text-align:left}
#pg-lp .public-industry-hero .caption-home{max-width:760px;text-align:left;text-shadow:0 2px 12px rgba(0,0,0,.5)}
#pg-lp .public-industry-hero h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1.1;margin-bottom:24px}
#pg-lp .public-industry-hero h4{font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.5;margin-bottom:28px}
#pg-lp .public-industry-hero h3{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3}
@media(max-width:767px){#pg-lp .public-industry-hero-image{object-position:60% center}#pg-lp .public-industry-hero .videoHomeMask{min-height:600px;padding:140px 24px 70px;background:rgba(16,83,132,.35)}}
.public-news-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:24px 0}
#public-news-sentinel{height:1px}
#public-news-status{min-height:1.5em}
#public-news-more[aria-disabled="true"]{opacity:.6;cursor:wait}
.public-field-label{display:block;margin-bottom:.4rem;font-weight:600;color:inherit}
.public-icon-button{appearance:none;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;min-width:44px;min-height:44px;padding:.5rem;display:inline-flex;align-items:center;justify-content:center}
.navbar-social .social,.mobile-call{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.public-media-tools{position:absolute;top:100px;right:1rem;z-index:5}
.public-media-tools button{background:#105384;color:#fff;padding:.6rem 1rem;border:2px solid #fff;max-width:240px}
#carouselHome .carousel-indicators li{height:auto;background:transparent;border:0}
#carouselHome .carousel-indicators button{display:block;width:100%;min-width:24px;min-height:24px;background:#fff;border:2px solid #105384;border-radius:3px;padding:0}
#carouselHome .carousel-indicators .active button{background:#105384;border-color:#fff}
#sec-partner .clients-slider{height:auto}
#sec-partner .clients-slider .swiper-wrapper{height:auto}
#sec-partner .clients-slider .swiper-slide{height:auto}
.clients-slider .swiper-pagination{position:static;margin-top:1.5rem}
.public-partner-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px;padding:4px}
.public-partner-controls button{appearance:none;min-height:44px;padding:10px 16px;border:2px solid #105384;border-radius:4px;background:#fff;color:#105384;font:inherit;font-weight:600;cursor:pointer}
.public-partner-controls button:hover:not(:disabled){background:#105384;color:#fff}
.public-partner-controls button:focus-visible{outline:3px solid #105384;outline-offset:3px}
.public-partner-controls button:disabled{opacity:.45;cursor:default}
.section-cstm#sec-contatto-form{background-image:url('/images/public-optimized/bg-img-scrivici.webp')}
.ti-inner,.ti-review-content,.b-description_readmore_button{color:#3d4651!important}
.ti-date{color:#41464e!important;opacity:1!important}
.b-description_readmore_button{font:inherit;background:transparent;border:0;text-decoration:underline;padding:8px 4px;text-align:left;cursor:pointer;min-height:24px}
.clients-slider .swiper-pagination-bullet{width:24px;height:24px}
.clients-slider .swiper-slide>a{display:flex;min-height:111px;align-items:center;justify-content:center}
.clients-slider .swiper-slide img{width:auto!important;height:auto!important;max-width:149px;max-height:111px;object-fit:contain}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.videoItemCarousel{display:none!important}}
@media(max-width:480px){.pnlInformativa button{white-space:normal}.public-media-tools{top:85px}.public-media-tools button{font-size:13px;max-width:180px}}

/* Rich public content: retain paragraphs, fit images and allow wide tables to scroll. */
.public-rich-content{min-width:0;overflow-wrap:anywhere}
.public-rich-content img{max-width:100%!important;height:auto!important}
.public-rich-content table{display:block;max-width:100%;overflow-x:auto}
.public-rich-content a{text-decoration:underline}

/* Keep the footer logo proportional when the template sets its height. */
footer .brand img{width:auto;max-width:100%;object-fit:contain}

/* Homepage positioning: one promise, three areas, separate supporting services. */
#pg-home .public-home-hero{position:relative;isolation:isolate;min-height:650px;min-height:min(850px,90svh);display:flex;align-items:center;background:#105384;color:#fff;padding:150px 0 85px;text-align:left}
#pg-home .public-home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;z-index:-2}
#pg-home .public-home-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,83,132,.95),rgba(16,83,132,.78) 40%,rgba(16,83,132,.12) 78%)}
#pg-home .public-home-hero-content{position:relative}
#pg-home .public-home-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 20px;color:#105384}
#pg-home .public-home-hero .public-home-eyebrow{color:#a9def4}
#pg-home .public-home-hero h1{max-width:760px;color:#fff;font-size:clamp(2.3rem,4.5vw,4.3rem);line-height:1.08;font-weight:700;letter-spacing:-.035em;margin:0 0 26px}
#pg-home .public-home-lead{max-width:600px;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65;color:#e1e9f2;margin-bottom:32px}
#pg-home .public-home-primary{display:inline-flex;align-items:center;gap:24px;background:#fff;color:#105384;border:2px solid #fff;border-radius:4px;padding:16px 23px;font-weight:700;text-decoration:none;min-height:52px}
#pg-home .public-home-primary:hover{background:#d7eef9;border-color:#d7eef9}
#pg-home .public-home-note{font-size:.9rem;color:#cbd8e7;margin:23px 0 0;max-width:550px}
#pg-home .public-home-focus,#pg-home .public-home-product,#pg-home .public-home-opportunities{padding:88px 0;text-align:left}
#pg-home .public-home-focus h2,#pg-home .public-home-product h2,#pg-home .public-home-opportunities h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2;letter-spacing:-.025em;color:#105384;font-weight:700;margin:0 0 20px}
#pg-home .public-home-section-intro{max-width:none;color:#475569;line-height:1.7}
#pg-home .public-home-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:46px}
#pg-home .public-home-areas article{display:flex;flex-direction:column;min-width:0}
#pg-home .public-home-area-image{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;object-position:center;border-radius:6px;margin-bottom:24px;background:#edf2f7}
#pg-home .public-home-areas h3{font-size:1.35rem;line-height:1.35;color:#105384;font-weight:700;margin:0 0 17px}
#pg-home .public-home-areas p{color:#475569;line-height:1.75;margin-bottom:25px}
#pg-home .public-home-area-link,#pg-home .public-home-text-link{color:#105384;font-weight:700;text-decoration:underline;text-underline-offset:4px;line-height:1.6;margin-top:auto;display:inline-flex;gap:12px;align-items:center}
#pg-home .public-home-product{background:#f2f6fa}
#pg-home .public-home-product-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}
#pg-home .public-home-product p:not(.public-home-eyebrow){color:#475569;line-height:1.8;max-width:600px}
#pg-home .public-home-product-visual{position:relative;min-height:230px;background:linear-gradient(135deg,#105384,#124d70);border-radius:8px;display:flex;justify-content:center;align-items:center;gap:25px;overflow:hidden;color:#fff}
#pg-home .public-home-product-cloud{font-size:5rem;color:#b5e0f4}
#pg-home .public-home-product-house{font-size:4rem}
#pg-home .public-home-product-label{position:absolute;bottom:24px;font-size:.85rem;letter-spacing:.05em;color:#d5e8f4}
#pg-home .public-home-opportunities-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}
#pg-home .public-home-opportunities-heading>p{color:#475569;line-height:1.8}
#pg-home .public-home-opportunity-links{display:flex;gap:30px;border-top:1px solid #dbe3eb;border-bottom:1px solid #dbe3eb;margin:20px 0 30px}
#pg-home .public-home-opportunity-links a{flex:1;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px 0;color:#105384;font-weight:700;text-decoration:underline;text-underline-offset:4px}
#pg-home .public-home-other-services{font-size:.95rem;line-height:1.7;color:#475569;margin:0}
#pg-home .public-home-other-services a{color:#105384;text-decoration:underline}
@media(max-width:991px){#pg-home .public-home-hero{min-height:660px}#pg-home .public-home-hero h1{max-width:650px}#pg-home .public-home-areas{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}#pg-home .public-home-product-grid,#pg-home .public-home-opportunities-heading{gap:35px}}
@media(max-width:767px){#pg-home .public-home-hero{padding:140px 0 65px;min-height:680px}#pg-home .public-home-hero::after{background:linear-gradient(90deg,rgba(16,83,132,.94),rgba(16,83,132,.75))}#pg-home .public-home-hero-image{object-position:70% center}#pg-home .public-home-hero h1{font-size:2.6rem;max-width:100%;line-height:1.12}#pg-home .public-home-primary{font-size:.95rem;gap:16px}#pg-home .public-home-focus,#pg-home .public-home-product,#pg-home .public-home-opportunities{padding:58px 0}#pg-home .public-home-areas,#pg-home .public-home-product-grid,#pg-home .public-home-opportunities-heading{grid-template-columns:1fr;gap:30px}#pg-home .public-home-areas{margin-top:32px}#pg-home .public-home-opportunity-links{flex-direction:column;gap:0}#pg-home .public-home-opportunity-links a+a{border-top:1px solid #dbe3eb}#pg-home .public-home-product-visual{min-height:210px}}

/* Dedicated public contact page and compact homepage invitation. */
.public-contact-page #sec-contatto-info{margin-top:0!important;padding-top:140px}
.public-contact-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px;margin-top:24px}
.public-contact-actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;overflow-wrap:anywhere}
.public-contact-page #contactForm{width:100%;min-width:0}
.public-contact-page #sec-contatto-form{scroll-margin-top:100px}
@media(max-width:767px){.public-contact-page #sec-contatto-info{padding-top:100px}.public-home-contact .public-contact-actions{flex-direction:column}.public-home-contact p{max-width:540px;margin-left:auto;margin-right:auto}}

@media(min-width:992px){#pg-home .public-home-hero-content{max-width:none;padding-left:clamp(32px,4vw,96px);padding-right:clamp(32px,4vw,96px)}}

@media(min-width:992px){#pg-home .public-home-areas h3{min-height:4.05em}}

/* Balance short headings and avoid isolated final words in homepage copy. */
#pg-home :is(h1,h2){text-wrap:balance}
#pg-home h3{text-wrap:pretty}
#pg-home p{ text-wrap:pretty }
#pg-home :is(.public-home-area-link,.public-home-text-link,.public-home-opportunity-links a){text-wrap:balance}
#pg-home .public-home-areas article:last-child h3{text-wrap:balance}

#pg-home .public-home-area-visual{display:block;margin:0 0 24px;border-radius:6px}
#pg-home .public-home-area-visual .public-home-area-image{margin:0}
#pg-home .public-home-area-visual:focus-visible{outline:3px solid #105384;outline-offset:5px}
#pg-home .public-home-area-link{font-size:.95rem;min-height:44px}

/* Homepage news: light editorial cards, matching the public service sections. */
#pg-home #sec-news{background:#f2f6fa;background-image:none;padding:80px 0;text-align:left}
#pg-home #sec-news>.container:first-child>.row:first-child .title{color:#105384!important;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;text-align:left;margin-bottom:18px}
#pg-home #sec-news>.container:first-child>.row:first-child p{color:#475569!important;font-weight:400!important;text-align:left;line-height:1.7}
#pg-home #sec-news>.container:first-child>.row:nth-child(2){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0}
#pg-home #sec-news>.container:first-child>.row:nth-child(2)>div{max-width:none;width:auto;padding:0;min-width:0}
#pg-home .box-news-home{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #dde5ed;border-radius:8px;box-shadow:none;margin-bottom:0!important;overflow:hidden;transform:none}
#pg-home .box-news-home:hover{transform:none;box-shadow:0 6px 22px rgba(16,83,132,.08)}
#pg-home .box-news-home .thu-img{height:auto;aspect-ratio:8/5;opacity:1;overflow:hidden}
#pg-home .box-news-home .thu-img img{height:100%;width:100%;object-fit:cover;transform:none}
#pg-home .box-news-home:hover .thu-img img{transform:none}
#pg-home .box-news-home .news-data{background:#fff;padding:20px 20px 0}
#pg-home .box-news-home .news-data .valori{color:#64748b;font-size:.8rem;margin:0}
#pg-home .box-news-home .content-news{display:flex;flex-direction:column;flex:1;padding:14px 20px 20px;background:#fff}
#pg-home .box-news-home .content-news .title{font-size:1.1rem;line-height:1.45;color:#105384;font-weight:700;text-transform:none;margin-bottom:16px;text-wrap:pretty}
#pg-home .box-news-home .content-news .desc{height:auto;font-size:.95rem;line-height:1.7;color:#475569;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:20px}
#pg-home .box-news-home .content-news .continue{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;margin-top:auto;font-size:.9rem;text-transform:none;color:#105384;font-weight:700;text-decoration:underline;text-underline-offset:4px}
#pg-home .box-news-home .content-news .continue:after{content:none}
#pg-home #sec-news #btnNews{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#105384;color:#fff;border:2px solid #105384;border-radius:4px;padding:12px 24px}
#pg-home #sec-news>.container:nth-child(2) .col-12{max-width:100%;margin-left:0;text-align:left}
#pg-home #sec-news>.container:last-child{border-top:1px solid #d5e0e9;padding-top:40px;margin-top:56px!important}
#pg-home #sec-news>.container:last-child .row>.col-12.mt-5{margin-top:0!important}
#pg-home #sec-news>.container:last-child h2{color:#105384!important;font-size:1.65rem;font-weight:700}
#pg-home #sec-news>.container:last-child h3{color:#475569!important;font-size:1rem;font-weight:400}
@media(max-width:991px){#pg-home #sec-news>.container:first-child>.row:nth-child(2){grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:767px){#pg-home #sec-news{padding:56px 0}#pg-home #sec-news>.container:first-child>.row:nth-child(2){grid-template-columns:1fr}#pg-home #sec-news #btnNews{width:100%}#pg-home #sec-news>.container:last-child{margin-top:40px!important}}

#pg-home .box-news-home .thu-img:has(img[src*="img-non-disponibile"]){background:radial-gradient(circle at 85% 15%,#246487,transparent 60%),linear-gradient(135deg,#105384,#0e3657)}
#pg-home .box-news-home .thu-img img[src*="img-non-disponibile"]{opacity:0}
#pg-home .box-news-home .thu-img:has(img[src*="img-non-disponibile"])::before{content:"GestAPP";position:absolute;left:24px;top:30%;color:#fff;font-size:1.8rem;font-weight:700;letter-spacing:-.03em}
#pg-home .box-news-home .thu-img:has(img[src*="img-non-disponibile"])::after{content:"NEWS E APPROFONDIMENTI";position:absolute;left:24px;bottom:26%;color:#b4d9ea;font-size:.6rem;font-weight:600;letter-spacing:.12em}
#pg-home #sec-news #btnNews{width:auto!important;color:#fff!important}
#pg-home .box-news-home a:focus-visible{outline:3px solid #105384;outline-offset:3px}
@media(max-width:767px){#pg-home #sec-news #btnNews{width:100%!important}}

/* Lightweight technology pattern: no extra image requests. */
#pg-home #sec-news{
 background-color:#edf5fa;
 background-image:radial-gradient(ellipse at 100% 0,rgba(35,133,177,.22),transparent 55%),radial-gradient(ellipse at 0 100%,rgba(22,101,143,.14),transparent 50%),linear-gradient(130deg,transparent 62%,rgba(36,112,150,.10) 62%,rgba(36,112,150,.10) 62.15%,transparent 62.15%,transparent 72%,rgba(36,112,150,.07) 72%,rgba(36,112,150,.07) 72.15%,transparent 72.15%),radial-gradient(circle,rgba(25,92,130,.14) 1px,transparent 1.5px);
 background-size:100% 100%,100% 100%,100% 100%,28px 28px;
 background-position:center;
 background-repeat:no-repeat,no-repeat,no-repeat,repeat;
 background-attachment:scroll;
}
@media(max-width:767px){#pg-home #sec-news{background-size:100% 100%,100% 100%,100% 100%,32px 32px}}
#pg-home .box-news-home .content-news .title{height:auto;max-height:none;min-height:4.35em;overflow:visible}

/* Supporting services: two illustrated, readable cards. */
#pg-home .public-home-support-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:32px 0}
#pg-home .public-home-support-cards article{display:flex;flex-direction:column;background:#f2f6fa;border-radius:8px;overflow:hidden;min-width:0}
#pg-home .public-home-support-image{display:block;aspect-ratio:2/1;overflow:hidden}
#pg-home .public-home-support-image img{display:block;width:100%;height:100%;object-fit:cover}
#pg-home .public-home-support-copy{display:flex;flex:1;flex-direction:column;padding:28px}
#pg-home .public-home-support-copy h3{font-size:1.5rem;line-height:1.3;color:#105384;font-weight:700;margin:0 0 18px;text-wrap:balance}
#pg-home .public-home-support-copy p{color:#475569;line-height:1.75;margin-bottom:22px}
#pg-home .public-home-support-copy a{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;margin-top:auto;color:#105384;font-weight:700;text-decoration:underline;text-underline-offset:4px}
#pg-home .public-home-support-cards a:focus-visible{outline:3px solid #105384;outline-offset:-3px}
.public-project-page{background:linear-gradient(135deg,#f2f7fb,#fff);padding:145px 0 80px;text-align:left;color:#475569}
.public-project-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}
.public-project-eyebrow{color:#105384;font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}
.public-project-intro h1{color:#105384;font-weight:700;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.15;text-wrap:balance;margin-bottom:26px}
.public-project-intro p{line-height:1.8;text-wrap:pretty}
.public-project-next{border-top:1px solid #dce5ed;padding-top:24px;margin-top:30px}
.public-project-next h2{font-size:1.25rem;color:#105384;font-weight:700}
.public-project-next ol{padding-left:22px;line-height:1.8}
.public-project-next li{padding-left:5px;margin-top:12px}
.public-project-contact{margin-top:28px;font-size:.95rem}
.public-project-page a{color:#105384;text-decoration:underline;text-underline-offset:3px}
.public-project-form-panel{background:#fff;border:1px solid #dce5ed;border-radius:10px;padding:34px;min-width:0;box-shadow:0 12px 35px rgba(16,83,132,.04)}
.public-project-form-panel h2{font-size:1.65rem;line-height:1.3;color:#105384;font-weight:700;margin-bottom:14px;text-wrap:balance}
.public-project-form-panel>p{font-size:.85rem}
.public-project-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin:28px 0 22px}
.public-project-page label{display:block;color:#105384;font-size:.95rem;font-weight:600;margin:0 0 8px}
.public-project-page label span{font-weight:400}
.public-project-page input:not([type="checkbox"]):not([type="hidden"]),.public-project-page select,.public-project-page textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #94a3b8;border-radius:4px;background:#fff;padding:11px 12px;color:#105384;font:inherit;font-size:16px}
.public-project-page textarea{resize:vertical}
.public-project-page input:focus-visible,.public-project-page select:focus-visible,.public-project-page textarea:focus-visible,.public-project-page button:focus-visible{outline:3px solid #105384;outline-offset:2px}
.public-project-field{margin:0 0 24px}
#project-description-help{font-size:.9rem;line-height:1.6;margin:0 0 10px}
.public-project-page .public-project-privacy{display:flex;align-items:flex-start;gap:12px;font-size:.85rem;line-height:1.65;margin:24px 0}
.public-project-privacy input{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:#105384}
.public-project-submit{display:block;width:100%;min-height:50px;padding:12px 18px;border:2px solid #105384;border-radius:4px;background:#105384;color:#fff;font-weight:700;cursor:pointer}
.public-project-submit:disabled{opacity:.65;cursor:wait}
.public-project-errors{color:#a02020;font-size:.9rem;line-height:1.6}
.public-project-errors:empty,.validation-summary-valid{display:none}
.public-project-errors ul{padding-left:20px}
.public-project-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.public-project-success{padding:18px 0;line-height:1.8}
@media(max-width:991px){.public-project-grid{grid-template-columns:1fr;gap:32px}.public-project-intro{max-width:720px}}
@media(max-width:767px){#pg-home .public-home-support-cards{grid-template-columns:1fr;gap:24px}#pg-home .public-home-support-copy{padding:24px}.public-project-page{padding:105px 0 50px}.public-project-form-panel{padding:24px 18px}.public-project-fields{grid-template-columns:1fr;gap:20px}.public-project-intro h1{font-size:2.15rem}}

body:has(.public-project-page) #main-navbar:not(.scrolledfix){background:#105384}

#pg-home .public-home-note a{color:#d5e8f4;text-decoration:underline;text-underline-offset:3px}
#home-opportunities-title{scroll-margin-top:110px}

/* Public type system: one family, readable body copy, distinct heading weights. */
:root{--public-font:"Montserrat","Segoe UI",Arial,sans-serif}
#main-content{font-family:var(--public-font);font-size:16px;line-height:1.7}
#main-content :is(h1,h2,h3,h4,h5,h6,p,li,a,label,input,textarea,select,button){font-family:var(--public-font)}
#main-content #pg-lp :is(.title,p,span:not([class*="fa"])){font-family:var(--public-font)}
#main-content :is(h1,h2,h3){font-weight:700}
#main-content :is(p,li){font-size:16px;line-height:1.7;text-wrap:pretty}
#main-content :is(p,li) :is(span,strong,b,em,small):not([class*="fa"]){font-size:inherit;line-height:inherit}
#main-content :is(strong,b){font-weight:700}
#main-content #pg-home :is(.public-home-section-intro,.public-home-areas p,.public-home-product p:not(.public-home-eyebrow),.public-home-opportunities p,.box-news-home .desc){font-size:16px;line-height:1.7}
#main-content #pg-home .public-home-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.65}
#main-content #pg-home :is(.public-home-eyebrow,.public-home-note){font-size:13px;line-height:1.6}
#main-content #pg-home .public-home-areas h3{font-size:20px;line-height:1.4}
#main-content #pg-home :is(.public-home-area-link,.public-home-text-link,.public-home-support-copy a){font-size:15px;line-height:1.5}
#main-content #pg-home .box-news-home .content-news .title{font-size:18px;line-height:1.45;text-align:left}
#main-content #pg-home .box-news-home .content-news .continue{font-size:15px;line-height:1.5}
#main-content .public-project-page :is(input,select,textarea){font-size:16px}
#main-content .public-project-page :is(.public-project-eyebrow,.public-project-form-panel>p,#project-description-help,.public-project-errors){font-size:14px;line-height:1.6}
#main-content :is(#pg-news,#pg-certificazioni) h1{font-size:clamp(32px,4vw,48px);line-height:1.2}
#main-content #pg-lp .public-industry-hero h1{font-size:clamp(36px,4.5vw,64px);line-height:1.12}
@media(max-width:767px){#main-content #pg-home .public-home-hero h1{font-size:clamp(32px,8vw,42px);line-height:1.15}#main-content #pg-lp .public-industry-hero h1{font-size:clamp(32px,8vw,42px);line-height:1.15}}

/* Five service areas: use the desktop margins without narrowing the cards. */
@media(min-width:992px){#pg-home .public-home-areas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){#pg-home .public-home-focus>.container{width:calc(100% - 64px);max-width:1440px}#pg-home .public-home-areas{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}}

/* One alignment rule for public page and section headings. */
#main-content :is(h1,h2){text-align:left!important}
#main-content .section-cstm>.container>.row>.col-12>p{text-align:left}
#main-content .public-contact-page #sec-contatto-info>.container>.row:first-child>div{flex:0 0 100%;max-width:100%;margin-left:0}
#main-content .public-contact-page #desc-contatti{max-width:72ch}
#main-content #pg-news h1{margin-left:0!important}
#pg-home #sec-news>.container:last-child .offset-md-3{margin-left:0}

/* Keep public form feedback inside narrow viewports. */
#main-content .conferma{position:fixed;left:16px;right:16px;width:auto;max-width:344px;margin-left:auto;margin-right:auto;height:auto;min-height:60px}
#main-content .conferma :is(.divConf2,.divConf3){width:calc(100% - 72px);height:auto;min-width:0}
#sec-recensioni>.container-fluid>.row{margin-left:0;margin-right:0}
@media(max-width:991px){
 #main-navbar{height:64px!important}
 #main-navbar>.container-cstm{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
 #main-navbar .mobileLink{display:flex;align-items:center;flex:0 0 88px;width:88px;height:44px}
 #main-navbar .mobileLink:first-child{justify-content:flex-start}
 #main-navbar .navbar-brand{margin:0}
 #main-navbar .navbar-brand+.mobileLink{justify-content:flex-end}
 #main-navbar .navbar-toggler{display:inline-flex;align-items:center;justify-content:center;float:none;width:44px;height:44px;padding:0}
 #main-navbar .mobile-call{display:inline-flex;align-items:center;justify-content:center;float:none;width:44px;height:44px}
 #main-navbar .mobile-call i{margin:0!important}
 #main-navbar .navbar-collapse{position:absolute;top:100%;left:0;right:0;margin:0;max-height:calc(100svh - 64px);overflow-y:auto;background:#fff}
 #main-navbar .navbar-collapse .nav-link{display:flex;align-items:center;min-height:44px;padding:12px 16px}
}

/* Incremental 2026 restyling: shared editorial pages, navigation and footer. */
.public-editorial{color:#475569;background:#fff;text-align:left}
.public-editorial-hero{padding:150px 0 64px;background:#f2f6fa;border-bottom:1px solid #dde5ed}
.public-editorial h1{font-size:clamp(32px,4vw,52px);line-height:1.15;max-width:24ch;color:#105384;margin:20px 0 24px;text-wrap:balance}
.public-editorial h2,#pg-home .public-home-projects h2{font-size:clamp(26px,3vw,38px);line-height:1.25;color:#105384;margin:0 0 24px;text-wrap:balance}
.public-editorial h3,.public-content-card h3{color:#105384;font-size:21px;line-height:1.4;margin-bottom:18px}
.public-editorial-lead{max-width:72ch;font-size:18px!important;line-height:1.75}
.public-editorial-section{padding:56px 0;scroll-margin-top:110px}
.public-editorial-section+.public-editorial-section{border-top:1px solid #dde5ed}
.public-editorial-section>p,.public-editorial-section>ul{max-width:80ch}
.public-editorial a:not(.public-action),.public-content-card a{color:#105384;text-decoration:underline;text-underline-offset:4px}
.public-editorial li{margin:12px 0}
.public-editorial blockquote{border-left:4px solid #105384;padding:20px 28px;color:#105384;font-size:24px;max-width:65ch}
.public-solution-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:48px}
.public-solution-image{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:8px}
.public-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0}
.public-content-card{min-width:0;border:1px solid #dce5ed;border-radius:8px;background:#fff;overflow:hidden;scroll-margin-top:110px}
.public-content-card>div{padding:26px}
.public-content-card>img{display:block;width:100%;height:auto;aspect-ratio:1.8;object-fit:cover}
.public-content-card p{margin-bottom:0}
.public-project-card dl{margin:0}.public-project-card dt{font-size:13px;color:#105384;margin:18px 0 5px;text-transform:uppercase;letter-spacing:.04em}
.public-project-card dd{margin:0;font-size:16px;line-height:1.7}
.public-soft-panel{background:#f2f6fa;padding:36px;border-radius:8px;margin:24px 0}
.public-final-cta{padding:44px;background:#105384;border-radius:8px;margin:24px 0 64px;color:#fff}
.public-final-cta h2{color:#fff}.public-final-cta .public-action{background:#fff;color:#105384;border-color:#fff}
.public-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;margin:14px 0;border:2px solid #105384;border-radius:4px;background:#105384;color:#fff!important;font-weight:700;line-height:1.5;text-decoration:none;text-align:center}
.public-final-cta a.public-action{color:#105384!important}
.public-price-table{width:100%;border-collapse:collapse;min-width:520px;color:#105384;background:#fff}
.public-price-table caption{caption-side:top;color:#475569;padding:12px 0}
.public-price-table th,.public-price-table td{padding:18px;text-align:left;border-bottom:1px solid #dce5ed;white-space:nowrap}
.public-price-table thead{background:#105384;color:#fff}.public-price-table tbody tr:nth-child(even){background:#f2f6fa}
.public-table-scroll{overflow-x:auto;margin:28px 0}.public-notice{padding:20px;background:#f2f6fa;border-left:4px solid #105384}
#pg-home .public-home-subtitle{font-size:clamp(22px,2vw,28px);font-weight:600;max-width:40ch;line-height:1.4;margin:22px 0}
#pg-home .public-home-hero::after{background:linear-gradient(90deg,rgba(16,83,132,.78),rgba(16,83,132,.48) 48%,rgba(16,83,132,.08) 85%)}

#pg-home .public-home-projects{padding:72px 0;background:#f2f6fa}
#pg-home #sec-chisiamo .public-about-link{display:block;margin-top:24px;color:#fff;text-decoration:underline;font-weight:700}
#pg-home #sec-chisiamo .text-justify{text-align:left!important}
#pg-home #sec-news>.public-newsletter-secondary{border:0;padding-top:24px;margin-top:24px!important}
.public-newsletter-secondary summary{color:#105384;cursor:pointer;font-weight:600;min-height:44px;padding:12px 0;text-align:left}
.public-newsletter-secondary form{max-width:560px;margin-top:20px}
#pg-home .clients-slider img{width:149px;max-width:100%;height:111px;object-fit:contain}
.public-editorial~footer{margin-top:0}
body:has(.public-editorial) #main-navbar{background:#105384}
#main-navbar .public-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#fff;color:#105384;padding:10px 14px;border:2px solid #fff;border-radius:4px;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none;margin-left:12px}
#main-navbar .public-header-cta[hidden]{display:none!important}
#main-navbar .public-solutions-menu{position:relative}
#main-navbar .public-solutions-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}
#main-navbar .public-solutions-menu summary::-webkit-details-marker{display:none}
#main-navbar .public-solutions-menu summary::after{content:'⌄'}
#main-navbar .public-solutions-menu ul{position:absolute;left:0;top:100%;min-width:285px;padding:12px;list-style:none;background:#fff;border:1px solid #dde5ed;box-shadow:0 8px 24px rgba(16,83,132,.14);border-radius:4px}
#main-navbar .public-solutions-menu li a{display:flex;align-items:center;min-height:44px;padding:9px 12px;color:#105384;text-decoration:none;font-size:14px;line-height:1.4}
#main-navbar .public-solutions-menu li a:hover{background:#f2f6fa;text-decoration:underline}
#main-navbar .public-menu-secondary{border-top:1px solid #dde5ed;margin-top:6px;padding-top:6px}
.public-footer{background:#105384;color:#e2e8f0;padding:0!important}
.public-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:64px;padding-top:60px;padding-bottom:48px}
.public-footer .brand img{max-width:190px;height:auto;display:block;margin-bottom:22px}
.public-footer h2{font-size:18px;font-weight:700;color:#fff;text-align:left;margin:0 0 20px}
.public-footer address{font-style:normal;line-height:1.9;margin-bottom:20px}
.public-footer a{color:#e2e8f0!important;line-height:1.6;text-decoration:none}
.public-footer a:hover{text-decoration:underline}.public-footer ul{padding:0;margin:0;list-style:none}
.public-footer li a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0}
.public-footer-social{display:flex;gap:12px}.public-footer-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #8fa1b8;border-radius:4px}
.public-footer-legal{border-top:1px solid #3b4566;padding:26px 0;font-size:13px}
.public-footer-legal p{font-size:13px;line-height:1.8;margin:0 0 12px}
.public-footer-legal nav{display:flex;gap:12px 28px;flex-wrap:wrap}.public-footer-legal a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
@media(min-width:992px){#main-navbar>.container-cstm{max-width:1600px;width:calc(100% - 40px)}#main-navbar .navbar-brand{width:150px;flex:0 0 150px;background-size:contain}#main-navbar .nav-link{font-size:13px;padding-left:9px;padding-right:9px}#main-navbar .navbar-collapse{min-width:0}}
@media(max-width:1199px) and (min-width:992px){#main-navbar .navbar-brand{width:115px;flex-basis:115px}#main-navbar .nav-link{font-size:12px;padding-left:6px;padding-right:6px}#main-navbar .public-header-cta{font-size:12px;max-width:145px;margin-left:5px;padding:8px}}
@media(max-width:991px){.public-solution-grid{grid-template-columns:1fr;gap:30px}.public-solution-image{max-height:360px}.public-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-footer-grid{gap:30px}#main-navbar .public-solutions-menu ul{position:static;border:0;box-shadow:none;padding:0 16px}#main-navbar .public-solutions-menu summary{color:#105384}#main-navbar .public-header-cta{flex:0 0 calc(100% - 24px);margin:4px 12px 8px;background:#fff;color:#105384}#main-navbar:has(.public-header-cta:not([hidden])){height:120px!important}#main-navbar .navbar-collapse{top:100%}}
@media(max-width:767px){.public-editorial-hero{padding:160px 0 40px}.public-editorial-section{padding:36px 0}.public-card-grid{grid-template-columns:1fr;gap:22px}.public-soft-panel,.public-final-cta{padding:26px 20px}.public-footer-grid{grid-template-columns:1fr;padding-top:42px}.public-footer-grid>nav{border-top:1px solid #3b4566;padding-top:24px}.public-content-card>div{padding:22px}.public-editorial h1{max-width:none}#pg-home .public-home-projects{padding:52px 0}.public-editorial-section:has(.public-price-table){min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.public-campaign{font-family:"Montserrat","Segoe UI",Arial,sans-serif;color:#475569}.public-campaign-header{background:#105384;padding:8px 0}.public-campaign-header img{width:183px;height:80px;object-fit:contain}.public-campaign .public-editorial-hero{padding-top:60px}

#pg-home .public-home-subtitle{color:#fff}

.public-footer p,.public-footer address{color:#e2e8f0!important}

@media(max-width:991px){.public-project-page{padding-top:160px}.public-contact-page #sec-contatto-info{padding-top:160px}#main-content{scroll-margin-top:135px}}

@media(max-width:991px){.public-project-page{padding-top:160px}.public-contact-page #sec-contatto-info{padding-top:160px}#main-content{scroll-margin-top:135px}}

/* Preserve the original light header after scrolling, including legible links and logo. */
body:has(.public-editorial) #main-navbar.scrolledfix{background:#fff}
#main-navbar.scrolledfix .public-header-cta{background:#105384;color:#fff;border-color:#105384}
.public-footer-social i{color:#e2e8f0}
.public-footer-legal nav{padding-left:72px}

/* GESTAPP institutional blue from the original brand stylesheet. */
:root{--public-brand-blue:#105384;--public-brand-dark:#0b3a5c}
.public-footer,.public-final-cta{background:#0b3a5c}

/* Brand colour sampled from the user-provided GESTAPP swatch. */
#main-navbar.scrolledfix .navbar-nav .nav-item .nav-link{color:#105384}
#main-content .bg-blue{background-color:#105384}

/* Five solution pages: graphic treatment using existing assets and icon library. */
.public-solution-page .public-editorial-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0,rgba(16,83,132,.13),transparent 60%),#f2f6fa}
.public-solution-page .public-editorial-hero .public-solution-grid{gap:60px}
.public-solution-page .public-action{gap:18px}.solution-explore{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-left:20px;font-size:14px;font-weight:600}
.solution-hero-visual{position:relative;padding:22px 0 42px;isolation:isolate}
.solution-hero-visual::before{content:"";position:absolute;inset:0 24px 20px -20px;border:1px solid #c5dbe9;border-radius:24px;transform:rotate(-4deg);z-index:-1}
.solution-hero-visual .public-solution-image{aspect-ratio:1.25;max-height:500px;border-radius:12px;box-shadow:0 20px 45px rgba(11,58,92,.12)}
.solution-visual-caption{position:absolute;bottom:8px;left:24px;right:24px;display:flex;gap:18px;align-items:center;padding:20px;background:#fff;border:1px solid #d9e5ed;border-radius:12px;box-shadow:0 12px 30px rgba(11,58,92,.1)}
.solution-visual-caption>div>span{display:block;color:#475569;font-size:13px;margin-bottom:5px}.solution-visual-caption strong{color:#105384;font-size:18px;line-height:1.4}
.solution-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 58px;width:58px;height:58px;border-radius:16px;background:#e8f1f7;color:#105384;font-size:24px}
.solution-visual-dots{position:absolute;right:-12px;top:0;width:90px;height:90px;background:radial-gradient(#105384 1.5px,transparent 2px);background-size:14px 14px;opacity:.23;z-index:-1}
.solution-section-heading{max-width:760px}.solution-section-heading .public-project-eyebrow{margin-bottom:14px}
.solution-challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.solution-challenge{display:flex;gap:20px;align-items:flex-start;background:#f7f9fb;border:1px solid #e1e8ef;border-radius:12px;padding:28px}
.solution-challenge p{margin:0}.solution-small-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;height:42px;border-radius:12px;background:#fff0dc;color:#8d4b00;font-size:18px}
.solution-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.solution-service-card{position:relative;padding:30px 28px 52px;background:#fff;border:1px solid #cfdfeb;border-radius:12px;box-shadow:0 8px 24px rgba(11,58,92,.04);overflow:hidden;transition:transform .2s,box-shadow .2s}
.solution-service-card h3{position:relative;z-index:1;font-size:18px;line-height:1.6;margin:24px 0 0;max-width:32ch}
.solution-card-mark{position:absolute;bottom:-15px;right:16px;font-size:82px;line-height:1;font-weight:700;color:#f0f5f9;pointer-events:none}
.solution-flow{padding:42px;border-radius:16px;background:#edf4f9;margin:24px 0 48px;border:1px solid #d9e6ef;scroll-margin-top:140px}
.solution-flow h2{max-width:26ch}.solution-flow-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;list-style:none;padding:0;margin:36px 0 24px}
.solution-flow-nodes li{position:relative;display:flex;align-items:center;gap:16px;min-width:0;background:#fff;border:1px solid #c6dce9;padding:20px;border-radius:12px;margin:0!important;z-index:0}
.solution-flow-nodes li+li::before{content:"→";position:absolute;right:calc(100% + 14px);font-size:26px;color:#105384}
.solution-flow-nodes li>span{display:flex;align-items:center;justify-content:center;flex:0 0 36px;height:36px;border-radius:50%;background:#105384;color:#fff;font-size:14px;font-weight:700}
.solution-flow-nodes strong{color:#105384;overflow-wrap:anywhere}.solution-flow-note{max-width:75ch;margin:0;color:#475569}
.public-solution-page .solution-benefits{display:grid;grid-template-columns:1fr 1.15fr;gap:55px;background:#105384;border-radius:16px;padding:44px;border:0;color:#fff;margin:32px 0}
.solution-benefits h2,.solution-benefits .public-project-eyebrow{color:#fff}.solution-benefits .solution-icon{background:rgba(255,255,255,.14);color:#fff;margin-bottom:24px}
.solution-benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;justify-content:center;gap:24px}.solution-benefits li{display:flex;align-items:flex-start;gap:18px;margin:0;color:#fff}
.solution-benefits li i{display:flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;background:#fff;color:#105384;border-radius:50%;font-size:13px}
.solution-example{display:grid;grid-template-columns:.65fr 1.35fr;gap:48px;align-items:center}.solution-example-symbol{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:280px;border-radius:16px;color:#105384;background:radial-gradient(circle at 50% 40%,#fff,#e8f1f7);border:1px solid #d9e6ef;text-align:center}.solution-example-symbol i{font-size:62px}.solution-example-symbol span{font-weight:700;font-size:20px;line-height:1.5}
.solution-motion{transition:opacity .6s ease,transform .6s ease;transition-delay:var(--solution-delay,0ms)}.solution-pending{opacity:0;transform:translateY(22px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.solution-service-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(11,58,92,.1)}}
@media(max-width:991px){.public-solution-page .public-editorial-hero .public-solution-grid{gap:30px}.solution-hero-visual{max-width:620px;width:100%;margin:0 auto}.solution-hero-visual .public-solution-image{aspect-ratio:1.7}.solution-service-grid{grid-template-columns:1fr}.solution-service-card{padding:26px;display:flex;align-items:flex-start;gap:24px}.solution-service-card h3{margin:0;max-width:none}.solution-service-card .solution-icon{flex-basis:48px;width:48px;height:48px}.solution-flow-nodes{gap:28px}.solution-flow-nodes li{padding:16px 12px;gap:10px}.solution-flow-nodes li+li::before{right:calc(100% + 5px);font-size:22px}}
@media(max-width:767px){.solution-explore{margin-left:0;margin-top:4px;display:flex;width:max-content}.solution-hero-visual{padding:12px 0 38px}.solution-hero-visual::before{left:0;right:12px;transform:rotate(-2deg)}.solution-visual-caption{left:12px;right:12px;padding:16px;gap:12px}.solution-visual-caption strong{font-size:16px}.solution-visual-dots{right:0}.solution-challenge-grid{grid-template-columns:1fr}.solution-challenge{padding:22px;gap:16px}.solution-service-card{gap:18px;padding:22px}.solution-service-card h3{font-size:17px}.solution-flow{padding:26px 22px}.solution-flow-nodes{grid-template-columns:1fr;gap:30px;margin-top:28px}.solution-flow-nodes li{padding:16px}.solution-flow-nodes li+li::before{content:"↓";right:auto;left:28px;top:-30px}.public-solution-page .solution-benefits{grid-template-columns:1fr;gap:8px;padding:28px 22px}.solution-example{grid-template-columns:1fr;gap:28px}.solution-example-symbol{min-height:180px;flex-direction:row;gap:26px}.solution-example-symbol i{font-size:46px}.solution-example-symbol span{font-size:18px}}
@media(prefers-reduced-motion:reduce){.solution-motion,.solution-pending{opacity:1;transform:none;transition:none}.solution-service-card{transition:none}}
@media print{.solution-pending{opacity:1;transform:none}}

.public-solution-page .solution-icon i{font-size:24px!important;color:inherit!important}.public-solution-page .solution-small-icon i{font-size:18px!important;color:inherit!important}.public-solution-page .solution-example-symbol>i{font-size:62px!important;color:#105384!important}.public-solution-page .solution-benefits li>i{font-size:13px!important;color:#105384!important}

/* Newsletter confirmation: clear grouping, restrained brand colour, responsive dialog. */
#oscuraPaginaN{z-index:2000;background:rgba(11,38,59,.55)}
#pnlPrivacyNewsletter{z-index:2001;position:fixed;left:0;right:0;top:6vh;width:min(660px,calc(100% - 32px));max-height:88vh;max-height:88svh;margin:0 auto;padding:30px;border:1px solid #dce6ef;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(11,38,59,.22);text-align:left!important;color:#475569;overflow-y:auto;overflow-x:hidden;filter:none}
#pnlPrivacyNewsletter .newsletter-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
#pnlPrivacyNewsletter .newsletter-dialog-eyebrow{font-size:12px!important;color:#105384;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}
#pnlPrivacyNewsletter #newsletter-dialog-title{font-size:26px;line-height:1.25;color:#105384;margin:0;max-width:23ch}
#pnlPrivacyNewsletter .newsletter-dialog-close{display:flex;align-items:center;justify-content:center;flex:0 0 40px;height:40px;border:0;border-radius:50%;background:#eff4f8;color:#105384;cursor:pointer;padding:0}
#pnlPrivacyNewsletter .newsletter-dialog-close span{font-size:28px;line-height:1}
#pnlPrivacyNewsletter .newsletter-dialog-intro{font-size:14px!important;line-height:1.7;margin:0 0 24px;color:#475569}
#pnlPrivacyNewsletter .newsletter-consents{display:grid;gap:12px}
#pnlPrivacyNewsletter .newsletter-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;padding:18px;border:1px solid #dce6ef;border-radius:10px;background:#f7f9fb}
#pnlPrivacyNewsletter .newsletter-consent-optional{background:#fff}
#pnlPrivacyNewsletter .newsletter-consent input[type="checkbox"]{position:static;float:none;width:22px;height:22px;min-width:22px;margin:2px 0 0;accent-color:#105384;cursor:pointer}
#pnlPrivacyNewsletter .newsletter-consent-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 8px}
#pnlPrivacyNewsletter .newsletter-consent-heading label{font-size:14px;line-height:1.5;font-weight:700;color:#105384;margin:0;cursor:pointer}
#pnlPrivacyNewsletter .newsletter-consent-heading>span{display:inline-block;font-size:11px;color:#475569;background:#e9eff4;border-radius:4px;padding:2px 7px;line-height:1.5;white-space:nowrap}
#pnlPrivacyNewsletter .newsletter-consent p{font-size:13px!important;line-height:1.65!important;text-align:left!important;margin:0;color:#475569;word-spacing:normal}
#pnlPrivacyNewsletter .newsletter-consent a{color:#105384;text-decoration:underline;text-underline-offset:3px}
#pnlPrivacyNewsletter .newsletter-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid #e0e8ef;margin-top:24px;padding-top:20px}
#pnlPrivacyNewsletter #Contatti_button_N{display:inline-flex;align-items:center;justify-content:center;min-height:46px;width:auto!important;padding:12px 22px;margin:0;background:#105384!important;color:#fff!important;border:2px solid #105384;border-radius:6px;box-shadow:none;font-size:14px!important;font-weight:700;text-transform:none;line-height:1.4;cursor:pointer}
#pnlPrivacyNewsletter .newsletter-dialog-cancel{min-height:46px;padding:12px 18px;border:1px solid #ccd9e4;border-radius:6px;background:#fff;color:#105384;font-size:14px;font-weight:600;cursor:pointer}
#pnlPrivacyNewsletter #PrivacyPanelN{z-index:2002;text-align:left}
#pnlPrivacyNewsletter #RCFooNewsletterErrore:empty{display:none}
@media(max-width:575px){#pnlPrivacyNewsletter{top:16px;max-height:calc(100vh - 32px);max-height:calc(100svh - 32px);padding:22px 18px;border-radius:12px}#pnlPrivacyNewsletter #newsletter-dialog-title{font-size:23px}#pnlPrivacyNewsletter .newsletter-consent{padding:15px 12px;gap:12px}#pnlPrivacyNewsletter .newsletter-dialog-actions{flex-direction:column-reverse;align-items:stretch}#pnlPrivacyNewsletter #Contatti_button_N{width:100%!important}#pnlPrivacyNewsletter .newsletter-dialog-cancel{width:100%}}

#pnlPrivacyNewsletter .newsletter-consent input[type="checkbox"]{transform:none!important;min-height:22px!important;max-width:22px;max-height:22px}#pnlPrivacyNewsletter #newsletter-dialog-title{max-width:none}

@media(min-width:576px){#pnlPrivacyNewsletter{top:24px;max-height:calc(100vh - 48px);max-height:calc(100svh - 48px)}}

/* Explicit light text on genuinely blue panels; keep the light News section separate. */
#main-content :is(.public-final-cta,.solution-benefits,.bg-blue:not(#sec-news)) :is(h1,h2,h3,h4,p,li,li>span,blockquote,.public-project-eyebrow,.public-home-eyebrow){color:#fff!important}
#main-content .public-final-cta a:not(.public-action),#main-content .bg-blue:not(#sec-news) a{color:#fff!important}
#main-content .solution-benefits .solution-icon,#main-content .solution-benefits .solution-icon i{color:#fff!important}
/* A shorter footer with compact, accessible links. */
.public-footer-grid{padding-top:34px;padding-bottom:26px;gap:42px}
.public-footer .brand img{max-width:150px;margin-bottom:14px}
.public-footer address{line-height:1.65;margin-bottom:14px;font-size:14px}
.public-footer h2{margin-bottom:12px;font-size:17px}
.public-footer li{margin:0;padding:0}.public-footer li a{min-height:36px;padding:5px 0;font-size:14px}
.public-footer-social a{width:36px;height:36px}
.public-footer-legal{padding:14px 0}.public-footer-legal p{margin-bottom:4px;line-height:1.6}
.public-footer-legal a{min-height:32px}.public-footer-legal nav{gap:4px 24px}
/* Photography breaks up the text-heavy sections, using existing site assets. */
.public-home-about{padding:64px 0;background:#105384}
.public-home-about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}
#pg-home .public-home-about h2{font-size:clamp(28px,3vw,40px);line-height:1.25;margin:0 0 24px;text-wrap:balance}
#pg-home .public-home-about .public-about-link{display:inline-flex;gap:14px;align-items:center;min-height:44px;margin-top:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.public-about-photo{display:block;width:100%;height:auto;aspect-ratio:1.05;object-fit:cover;border-radius:12px}
.public-project-card>img{aspect-ratio:1.8;object-fit:cover}
.solution-example-photo{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover;border-radius:14px}
.public-context-photo{display:block;width:100%;height:auto;max-height:390px;object-fit:cover;border-radius:14px;margin:0 0 36px;object-position:50% 60%}
@media(max-width:991px){.public-home-about-grid{gap:30px}.public-footer-grid{gap:28px}.public-about-photo{aspect-ratio:1}}
@media(max-width:767px){.public-home-about{padding:44px 0}.public-home-about-grid{grid-template-columns:1fr}.public-about-photo{aspect-ratio:1.6}.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;padding:28px 15px 22px}.public-footer-grid>div:first-child{grid-column:1/-1}.public-footer-grid>nav{padding-top:18px}.public-footer li a{min-height:44px;font-size:14px}.public-footer-social a{width:44px;height:44px}.public-footer-legal{padding:14px 0}.public-footer-legal a{min-height:44px}.solution-example-photo{aspect-ratio:1.6}}

/* Align desktop navigation with the centre of the logo and CTA. */
@media(min-width:992px){#main-navbar>.container-cstm,#main-navbar .navbar-collapse,#main-navbar .navbar-nav{align-items:center}#main-navbar .navbar-nav{margin-top:0;margin-bottom:0}#main-navbar .navbar-nav .nav-item .nav-link{margin-top:0;display:flex;align-items:center;min-height:44px}#main-navbar .nav-item{align-self:center}}

/* Contact and certification pages share the current editorial design language. */
.public-contact-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.public-contact-photo{display:block;width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;border-radius:14px;box-shadow:0 16px 40px rgba(11,58,92,.09)}
.public-contact-modern .public-contact-hero{padding-bottom:60px!important;background:radial-gradient(ellipse at 100% 0,rgba(16,83,132,.12),transparent 65%),#f2f6fa}
.public-contact-modern #desc-contatti{margin:0 0 14px!important;max-width:60ch}.public-contact-modern .public-contact-secondary{margin:12px 0 0}
.public-contact-channels{padding:54px 0}.public-contact-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:30px}
.public-contact-channel-grid article{border:1px solid #d9e5ed;border-radius:12px;padding:24px;background:#fff;min-width:0}
.public-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:#e9f2f8;color:#105384;margin-bottom:20px}
.public-contact-icon i{font-size:22px!important;color:inherit!important}
.public-contact-channel-grid h3{font-size:18px;margin:0 0 12px}.public-contact-channel-grid p{font-size:14px!important;line-height:1.7;margin:8px 0 0}
.public-contact-channel-grid a{display:inline-flex;align-items:center;min-height:36px;overflow-wrap:anywhere;max-width:100%;font-size:14px;font-weight:600}
.public-contact-social{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}.public-contact-social>span{font-size:14px;margin-right:8px}.public-contact-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ccdce8;border-radius:8px;text-decoration:none!important}.public-contact-social i{font-size:18px!important;color:#105384!important}
.public-contact-modern #sec-contatto-form{padding:50px 0!important;background:#f2f6fa}
.public-contact-modern #sec-contatto-form .box-form{position:static;background:#fff;box-shadow:0 10px 35px rgba(11,58,92,.05);border:1px solid #d9e5ed;border-radius:14px;padding:36px;max-width:820px;margin:0 auto;text-align:left}
.public-contact-modern .box-form .form-icon{display:none}.public-contact-modern .box-form .form-wrapper{padding:0;margin:0}
.public-contact-modern .box-form .form-contact{padding:0;text-align:left}.public-contact-modern .form-contact>.row{margin:0}
.public-contact-modern #contactForm .form-control{height:48px;border:1px solid #9eb2c1;border-radius:6px;background:#fff;color:#1f2937;padding:12px 14px;font-size:16px}
.public-contact-modern #contactForm .form-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:16px;background:#f7f9fb;border:1px solid #e0e8ee;border-radius:8px;margin-top:16px!important}
.public-contact-modern #contactForm .form-check>.float-left{float:none!important}.public-contact-modern #contactForm .form-check>.clear{display:none}
.public-contact-modern #contactForm .form-check label{width:auto!important;margin:0!important;float:none!important;font-size:13px;line-height:1.65;text-align:left}
.public-contact-modern #contactForm input[type=checkbox]{position:static;width:22px;height:22px;min-height:22px;transform:none!important;accent-color:#105384;margin:2px 0 0}
.public-contact-modern #Contatti_button{min-height:48px;border:2px solid #105384;border-radius:6px;background:#105384!important;color:#fff!important;font-size:15px;box-shadow:none;text-transform:none}
.public-contact-map{scroll-margin-top:140px}.public-contact-modern .gMap{display:block;width:100%;height:340px}
.public-certifications-modern .public-editorial-hero{background:radial-gradient(ellipse at 100% 0,rgba(16,83,132,.13),transparent 65%),#f2f6fa}
.public-certification-hero-art{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;padding:22px}
.public-certification-hero-art>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:215px;padding:26px 18px;background:#fff;border:1px solid #c9dce9;border-radius:16px;box-shadow:0 14px 30px rgba(11,58,92,.06);text-align:center}
.public-certification-hero-art>div:last-child{margin-top:50px;background:#105384;color:#fff}
.public-certification-hero-art i{font-size:40px!important;color:#105384!important;margin-bottom:20px}.public-certification-hero-art>div:last-child i{color:#fff!important}
.public-certification-hero-art strong{font-size:22px;line-height:1.3}.public-certification-hero-art span{font-size:13px;line-height:1.6;margin-top:10px}
.public-certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:34px}
.public-certificate-card{display:flex;flex-direction:column;border:1px solid #d5e2ec;border-radius:14px;overflow:hidden;background:#fff}
.public-certificate-visual{position:relative;display:flex;align-items:center;justify-content:center;height:210px;background:#eaf2f7;padding:20px}
.public-certificate-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:30px}.public-certificate-copy h3{font-size:26px;margin:0 0 8px}
.public-certificate-copy p{font-size:15px!important;line-height:1.75}.public-certificate-copy .public-certificate-name{font-size:17px!important;font-weight:600;color:#105384;margin-bottom:20px}
.public-certificate-copy .public-action{gap:16px;margin-top:auto;font-size:14px}.public-certificate-copy .public-action i{font-size:14px!important;color:#fff!important}
.public-certification-note{display:flex;align-items:flex-start;gap:16px;background:#f2f6fa;border-radius:10px;padding:24px;margin-top:26px}.public-certification-note>i{font-size:22px!important;color:#105384!important;flex:0 0 22px;margin-top:4px}.public-certification-note p{font-size:14px!important;margin:0}
@media(max-width:991px){.public-contact-hero-grid{grid-template-columns:1fr;gap:30px}.public-contact-photo{aspect-ratio:2;max-height:330px}.public-contact-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-certification-hero-art{max-width:600px;padding:0}.public-certification-hero-art>div{min-height:180px}.public-certification-hero-art>div:last-child{margin-top:0}}
@media(max-width:767px){.public-contact-channels{padding:38px 0}.public-contact-channel-grid{gap:16px}.public-contact-channel-grid article{padding:20px 16px}.public-contact-channel-grid a{font-size:13px;min-height:44px}.public-contact-modern #sec-contatto-form .col-12.col-md-10{margin-left:0;max-width:100%;padding:0}.public-contact-modern #sec-contatto-form .box-form{padding:26px 20px}.public-contact-photo{aspect-ratio:1.6}.public-certificate-grid{grid-template-columns:1fr;gap:24px}.public-certificate-copy{padding:24px}.public-certification-hero-art{gap:14px}.public-certification-hero-art>div{padding:22px 12px}.public-certification-hero-art strong{font-size:19px}.public-contact-modern .gMap{height:280px}}
@media(max-width:380px){.public-contact-channel-grid{grid-template-columns:1fr}}

.public-certification-hero-art strong{color:#105384}.public-certification-hero-art>div:last-child :is(strong,span){color:#fff!important}.public-contact-modern .box-form h2{text-transform:none}

:is(.public-contact-modern,.public-certifications-modern) .public-action{gap:14px}:is(.public-contact-modern,.public-certifications-modern) .public-action span{color:inherit!important}.public-contact-modern #contactForm .form-check .form-text.text-danger{color:#64748b!important}

/* Service-card feedback: quiet blue highlight for mouse and keyboard. */
#pg-home .public-home-areas article{position:relative;isolation:isolate;transition:transform .2s ease}
#pg-home .public-home-areas article::before{content:"";position:absolute;inset:-14px -12px;border:1px solid transparent;border-radius:12px;background:transparent;box-shadow:none;z-index:-1;pointer-events:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
#pg-home .public-home-area-visual{overflow:hidden}
#pg-home .public-home-area-image{transition:transform .25s ease}
#pg-home .public-home-areas article:focus-within::before{background-color:#eaf5fc;border-color:#c9e3f3;box-shadow:0 12px 28px rgba(16,83,132,.10)}
@media(hover:hover) and (pointer:fine){
 #pg-home .public-home-areas article:hover::before{background-color:#eaf5fc;border-color:#c9e3f3;box-shadow:0 12px 28px rgba(16,83,132,.10)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #pg-home .public-home-areas article:hover{transform:translateY(-4px)}
 #pg-home .public-home-areas article:hover .public-home-area-image{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
 #pg-home .public-home-areas article,#pg-home .public-home-areas article::before,#pg-home .public-home-area-image{transition:none!important;transform:none!important}
}

/* News cards use the same interaction language as the service cards. */
#pg-home .box-news-home{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
#pg-home .box-news-home :is(.news-data,.content-news){transition:background-color .2s ease}
#pg-home .box-news-home .thu-img img{transition:transform .25s ease}
#pg-home .box-news-home:focus-within{background-color:#eaf5fc;border-color:#c9e3f3;box-shadow:0 12px 28px rgba(16,83,132,.10)}
#pg-home .box-news-home:focus-within :is(.news-data,.content-news){background-color:#eaf5fc}
@media(hover:hover) and (pointer:fine){
 #pg-home .box-news-home:hover{background-color:#eaf5fc;border-color:#c9e3f3;box-shadow:0 12px 28px rgba(16,83,132,.10)}
 #pg-home .box-news-home:hover :is(.news-data,.content-news){background-color:#eaf5fc}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #pg-home .box-news-home:hover{transform:translateY(-4px)}
 #pg-home .box-news-home:hover .thu-img img{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
 #pg-home .box-news-home,#pg-home .box-news-home :is(.news-data,.content-news),#pg-home .box-news-home .thu-img img{transition:none!important;transform:none!important}
}

/* Compact news covers: photograph and full readable headline share one link. */
#main-content #pg-home .box-news-home .public-news-cover{position:relative;display:flex;align-items:flex-end;min-height:220px;height:auto;aspect-ratio:auto;isolation:isolate}
#main-content #pg-home .box-news-home .public-news-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
#main-content #pg-home .box-news-home .public-news-cover::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,24,40,.06) 0%,rgba(5,24,40,.65) 42%,rgba(5,24,40,.96) 100%);pointer-events:none}
#main-content #pg-home .box-news-home .public-news-image-title{position:relative;width:100%;margin:0;padding:78px 18px 20px;color:#fff!important;font-size:18px;line-height:1.4;font-weight:700;text-align:left;text-wrap:pretty;overflow-wrap:anywhere;text-shadow:0 1px 3px rgba(0,0,0,.3)}
#main-content #pg-home .box-news-home .public-news-cover:has(img[src*="img-non-disponibile"])::before{top:18px;left:18px;font-size:18px;z-index:1}
#main-content #pg-home .box-news-home .content-news{padding-top:12px}
@media(max-width:767px){#main-content #pg-home .box-news-home .public-news-cover{min-height:210px}}

/* Align the five latest homepage news with the five service areas. */
@media(min-width:992px) and (max-width:1199px){#pg-home #sec-news>.container:first-child>.row:nth-child(2){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){#pg-home #sec-news>.container{width:calc(100% - 64px);max-width:1440px}#pg-home #sec-news>.container:first-child>.row:nth-child(2){grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}}

/* One native link per card: pointer, keyboard and modified clicks stay native. */
#pg-home :is(.public-service-card-link,.public-news-card-link){display:flex;flex:1;flex-direction:column;min-width:0;color:inherit!important;text-decoration:none!important;cursor:pointer;user-select:text;-webkit-user-select:text}
#pg-home .public-service-card-link>.public-home-area-link{align-self:flex-start}
#pg-home :is(.public-service-card-link,.public-news-card-link):focus-visible{outline:none!important;box-shadow:none!important}
#pg-home :is(.public-home-areas article,.box-news-home):focus-within{outline:3px solid #105384;outline-offset:5px;border-radius:8px}

/* Colour and context beside the project form, without reducing form space. */
.public-project-photos{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin:28px 0}
.public-project-photos img{display:block;width:100%;height:220px;object-fit:cover;border-radius:10px;background:#eaf2f7}
.public-project-form-jump{display:none}
#project-form-title{scroll-margin-top:110px}
@media(max-width:991px){.public-project-photos{max-width:620px}.public-project-photos img{height:180px}.public-project-form-jump{display:inline-flex;align-items:center;min-height:44px;font-weight:700}}
@media(max-width:480px){.public-project-photos img{height:150px}}

/* Contact channels share the same blue feedback as service and news cards. */
.public-contact-channel-grid article{padding:0;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.public-contact-channel-grid .public-contact-card-link{display:flex;flex-direction:column;align-items:flex-start;width:100%;height:100%;max-width:none;padding:24px;border-radius:inherit;color:inherit!important;text-decoration:none!important;user-select:text;-webkit-user-select:text;cursor:pointer}
.public-contact-value{font-size:14px;line-height:1.6;font-weight:600;color:#105384;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.public-contact-channel-grid article:focus-within{background:#eaf5fc;border-color:#c9e3f3;box-shadow:0 12px 28px rgba(16,83,132,.10);outline:3px solid #105384;outline-offset:5px}
.public-contact-channel-grid .public-contact-card-link:focus-visible{outline:none!important;box-shadow:none!important}
@media(hover:hover) and (pointer:fine){.public-contact-channel-grid article:hover{background:#eaf5fc;border-color:#c9e3f3;box-shadow:0 12px 28px rgba(16,83,132,.10)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.public-contact-channel-grid article:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.public-contact-channel-grid article{transition:none!important;transform:none!important}}
@media(max-width:767px){.public-contact-channel-grid .public-contact-card-link{padding:20px 16px}}

/* Contact form backdrop: soft geometric rings and diagonal accents. */
.public-contact-modern #sec-contatto-form{
 background-color:#edf5fb;
 background-image:radial-gradient(circle at 3% 18%,transparent 0 100px,rgba(16,83,132,.12) 101px 102px,transparent 103px 140px,rgba(16,83,132,.08) 141px 142px,transparent 143px 180px,rgba(16,83,132,.05) 181px 182px,transparent 183px),radial-gradient(circle at 99% 80%,transparent 0 120px,rgba(16,83,132,.10) 121px 122px,transparent 123px 170px,rgba(16,83,132,.06) 171px 172px,transparent 173px),radial-gradient(ellipse at 0 0,rgba(45,143,187,.17),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(80,167,195,.16),transparent 55%),linear-gradient(135deg,transparent 76%,rgba(16,83,132,.045) 76%,rgba(16,83,132,.045) 76.15%,transparent 76.15%);
 background-repeat:no-repeat;background-size:100% 100%;background-attachment:scroll;
 border-top:1px solid #dce9f1;border-bottom:1px solid #dce9f1;
}
.public-contact-modern #sec-contatto-form .box-form{box-shadow:0 18px 44px rgba(16,83,132,.08)}

/* Social links: the same gentle blue feedback, with contrast on the dark footer. */
:is(.public-contact-social,.public-footer-social) a{width:44px;height:44px;min-width:44px;min-height:44px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
:is(.public-contact-social,.public-footer-social) a:is(:focus-visible,:active){background-color:#eaf5fc;border-color:#92c5e2;box-shadow:0 8px 20px rgba(16,83,132,.18)}
:is(.public-contact-social,.public-footer-social) a:is(:focus-visible,:active) i{color:#105384!important}
@media(hover:hover) and (pointer:fine){:is(.public-contact-social,.public-footer-social) a:hover{background-color:#eaf5fc;border-color:#92c5e2;box-shadow:0 8px 20px rgba(16,83,132,.18)}:is(.public-contact-social,.public-footer-social) a:hover i{color:#105384!important}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){:is(.public-contact-social,.public-footer-social) a:hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){:is(.public-contact-social,.public-footer-social) a{transition:none!important;transform:none!important}}

#project-sector-help{display:block;margin-top:7px;font-size:12px;line-height:1.5;color:#475569}

.public-editorial-hero-photo{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;border-radius:14px;box-shadow:0 16px 40px rgba(16,83,132,.08)}
@media(max-width:991px){.public-editorial-hero-photo{aspect-ratio:1.7;max-height:360px}}

.public-project-sector-row,.public-project-full-row{grid-column:1/-1}
.public-project-sector-row{display:grid;grid-template-columns:minmax(0,1fr);gap:22px 18px;align-items:start}
.public-project-sector-row:has(.public-project-custom-sector:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
.public-project-sector-row>div{min-width:0}
@media(max-width:767px){.public-project-sector-row:has(.public-project-custom-sector:not([hidden])){grid-template-columns:minmax(0,1fr);gap:20px}}
.public-project-custom-sector[hidden]{display:none!important}

.public-certificate-visual.public-certificate-quality{background:linear-gradient(100deg,rgba(10,40,61,.22),rgba(10,40,61,.08)),url('/images/public-content/6a6af4306672c46ac75b33ee.webp') center/cover no-repeat}
.public-certificate-visual.public-certificate-security{background:linear-gradient(100deg,rgba(10,40,61,.18),rgba(10,40,61,.06)),url('/images/public-content/968c88e8068573d5dd7a68db.webp') center/cover no-repeat}

.public-certificate-heading{display:flex;align-items:center;gap:20px;width:100%;margin-bottom:22px}
#pg-certificazioni .public-certificate-heading>img{display:block;flex:0 0 auto;width:76px;height:auto;max-width:25%;object-fit:contain;background:#fff}
.public-certificate-heading>div{min-width:0}
.public-certificate-copy .public-certificate-heading h3{margin:0 0 6px}
.public-certificate-copy .public-certificate-heading .public-certificate-name{margin:0}
@media(max-width:380px){.public-certificate-heading{gap:14px}#pg-certificazioni .public-certificate-heading>img{width:60px}.public-certificate-copy .public-certificate-heading h3{font-size:23px}}

.public-it-page #it-services{scroll-margin-top:110px}
.public-it-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}
.public-it-service-grid article{min-width:0;padding:30px;border:1px solid #d5e2ec;border-radius:14px;background:linear-gradient(145deg,#fff,#f5f9fc);box-shadow:0 8px 24px rgba(11,58,92,.04)}
.public-it-service-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#e5f2fa;border-radius:14px;margin-bottom:22px;color:#105384;font-size:25px}
.public-it-service-grid h3{font-size:23px;margin:0 0 14px}
.public-it-service-grid p{font-size:16px;line-height:1.75}
.public-it-service-grid .public-it-service-detail{border-top:1px solid #dce6ef;padding-top:16px;margin:20px 0 0;font-size:14px}
.public-it-service-detail a{text-decoration:underline;text-underline-offset:3px}
.public-it-method{padding:38px;border-radius:16px;background:radial-gradient(ellipse at top right,rgba(90,187,224,.22),transparent 65%),#105384;margin:0 0 24px;color:#fff}
.public-it-method h2,.public-it-method h3,.public-it-method p,.public-it-method .public-project-eyebrow,.public-it-method>a{color:#fff!important}
.public-it-method ol{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.public-it-method li{display:flex;gap:14px;align-items:flex-start;min-width:0}
.public-it-method li>span{font-size:22px;font-weight:700;color:#acdff4}
.public-it-method h3{font-size:18px;margin:0 0 10px}
.public-it-method li p{font-size:14px;line-height:1.7;margin:0}
.public-it-method>a{text-decoration:underline;text-underline-offset:4px}
@media(hover:hover) and (pointer:fine){.public-it-service-grid article:hover{background:#eaf5fc;border-color:#92c5e2;box-shadow:0 12px 28px rgba(16,83,132,.1)}}
@media(max-width:991px){.public-it-method ol{grid-template-columns:1fr;gap:22px}}
@media(max-width:767px){.public-it-service-grid{grid-template-columns:1fr}.public-it-service-grid article{padding:24px}.public-it-method{padding:28px 22px}}

.public-bergamo-panel{position:relative;isolation:isolate;overflow:hidden;min-height:390px;margin:4px 0 44px;border-radius:16px;background:#163c50;display:flex;align-items:flex-end}
.public-bergamo-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.public-bergamo-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,29,44,.88),rgba(7,29,44,.57) 65%,rgba(7,29,44,.15))}
.public-bergamo-panel>div{padding:44px;max-width:760px}
.public-bergamo-panel h2,.public-bergamo-panel p{color:#fff!important}
.public-bergamo-panel h2{font-size:clamp(26px,3vw,36px)}
.public-bergamo-panel p{font-size:16px;line-height:1.8}
.public-bergamo-panel span{display:block;margin-top:20px;color:#dcebf5;font-size:12px}
@media(max-width:767px){.public-bergamo-panel{min-height:420px;margin-bottom:28px}.public-bergamo-panel>div{padding:28px 24px}.public-bergamo-panel:before{background:linear-gradient(0deg,rgba(7,29,44,.92),rgba(7,29,44,.5))}}
.public-it-service-icon i{font-size:25px!important;color:#105384!important}

.public-contracts-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:64px}
.public-contracts-hero-art{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:36px;border:1px solid #d1e1ed;border-radius:18px;background:radial-gradient(circle at 100% 0,#cceafa,transparent 65%),#fff;box-shadow:0 14px 34px rgba(16,83,132,.07)}
.public-contracts-hero-art>i{font-size:54px!important;color:#105384!important;margin-bottom:8px}
.public-contracts-hero-art>span{font-size:13px;color:#475569}.public-contracts-hero-art>strong{font-size:24px;color:#105384;line-height:1.4}
.public-contracts-page #contract-documents{scroll-margin-top:110px}
.public-contracts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}
.public-contract-card{min-width:0;display:flex;background:#fff;border:1px solid #d5e2ec;border-radius:14px;box-shadow:0 8px 24px rgba(11,58,92,.04)}
.public-contract-card:last-child{grid-column:1/-1}
.public-contract-card>a{display:flex;gap:22px;padding:30px;width:100%;text-decoration:none!important;border-radius:inherit;color:#105384}
.public-contract-card>a>div{display:flex;flex-direction:column;flex:1;min-width:0}
.public-contract-card h3{font-size:22px;line-height:1.4;margin:0 0 12px;text-wrap:pretty}
.public-contract-card p{font-size:15px;line-height:1.75;color:#475569;margin:0 0 22px}
.public-contract-icon{display:flex;flex:0 0 48px;align-items:center;justify-content:center;width:48px;height:56px;background:#eaf5fc;border-radius:10px}
.public-contract-icon i{font-size:27px!important;color:#105384!important}
.public-contract-open{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;font-weight:700;margin-top:auto}
.public-contract-open>span{font-size:12px;font-weight:400;color:#475569}.public-contract-open>i{font-size:12px!important;color:#105384!important}
.public-contract-card:focus-within{outline:3px solid #105384;outline-offset:4px;background:#eaf5fc}.public-contract-card>a:focus-visible{outline:none}
.public-contracts-help{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px;background:#f2f6fa;border-radius:14px;margin:0 0 60px}
.public-contracts-help h2{font-size:24px;margin:0 0 10px}.public-contracts-help p{font-size:15px;margin:0}.public-contracts-help>.public-action{flex-shrink:0}
@media(hover:hover) and (pointer:fine){.public-contract-card:hover{background:#eaf5fc;border-color:#92c5e2;box-shadow:0 12px 28px rgba(16,83,132,.12)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.public-contract-card{transition:transform .2s,box-shadow .2s,background-color .2s}.public-contract-card:hover{transform:translateY(-4px)}}
@media(max-width:991px){.public-contracts-hero-grid{grid-template-columns:1fr;gap:30px}.public-contracts-hero-art{max-width:560px}.public-contracts-grid{grid-template-columns:1fr}}
@media(max-width:767px){.public-contracts-hero-art{padding:26px}.public-contract-card>a{padding:24px;gap:16px}.public-contract-card h3{font-size:20px}.public-contracts-help{flex-direction:column;align-items:flex-start;padding:26px 22px}}
@media(max-width:380px){.public-contract-card>a{flex-direction:column}}

.public-legal-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:54px;align-items:start;padding-top:48px;padding-bottom:64px}
.public-legal-index{position:sticky;top:108px;padding:24px;border:1px solid #d5e2ec;border-radius:14px;background:#f2f6fa;min-width:0}
.public-legal-index summary{font-size:16px;font-weight:700;color:#105384;cursor:pointer}
.public-legal-index nav{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.public-legal-index nav a{font-size:14px;line-height:1.6;color:#105384;text-decoration:none}
.public-legal-index nav a:hover,.public-legal-index nav a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.public-legal-index-contact{display:block;border-top:1px solid #d5e2ec;margin-top:22px;padding-top:18px;font-size:13px;overflow-wrap:anywhere}
.public-legal-content{min-width:0;color:#475569}
.public-legal-content .public-legal-document-title{font-size:clamp(22px,2.3vw,28px);line-height:1.45;margin-top:0}
.public-legal-content :is(p,li){font-family:inherit!important;font-size:16px!important;line-height:1.85!important;text-align:left!important;overflow-wrap:anywhere}
.public-legal-content :is(h2,h3){color:#105384;line-height:1.45;scroll-margin-top:110px;text-wrap:pretty}
.public-legal-content h2{font-size:26px;margin:32px 0 18px}
.public-legal-content h3{font-size:21px;margin:26px 0 14px}
.public-legal-content ul{padding-left:24px;margin:18px 0 24px}.public-legal-content li{padding-left:4px;margin-bottom:10px}
.public-legal-content a{color:#105384;text-decoration:underline;text-underline-offset:3px}.public-legal-content a:focus-visible{outline:3px solid #105384;outline-offset:3px}
.public-legal-content img{display:inline-block;max-width:100%;height:auto;vertical-align:middle}
.public-revocation-body{max-width:1040px;padding-bottom:60px}
.public-legal-page #cookie-preferences{scroll-margin-top:110px}
.public-cookie-settings{border:1px solid #d5e2ec;border-radius:14px;overflow:hidden;margin:28px 0;background:#fff}
.public-cookie-setting{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 28px}
.public-cookie-setting+.public-cookie-setting{border-top:1px solid #dce6ef}.public-cookie-setting:nth-child(even){background:#f5f9fc}
.public-cookie-setting h3{font-size:19px;margin:0 0 6px}.public-cookie-setting p{font-size:14px;margin:0;color:#475569}.public-cookie-setting form{flex-shrink:0;margin:0}
.public-cookie-status{font-size:14px;color:#475569}
.public-cookie-choice{min-height:44px;min-width:110px;padding:10px 18px;border:1px solid #105384;border-radius:7px;background:#105384;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.public-cookie-choice:hover{background:#0c426b}.public-cookie-choice:focus-visible{outline:3px solid #105384;outline-offset:4px}
.public-legal-related{font-size:15px}.public-legal-related a{text-decoration:underline;text-underline-offset:3px}
.public-revocation-request{background:#f2f6fa;padding:32px;border-radius:14px;margin-bottom:30px}.public-revocation-request>h2{margin-top:0}
.public-browser-help{border:1px solid #d5e2ec;border-radius:14px;padding:24px 28px;background:#fff}
.public-browser-help>summary{cursor:pointer;font-size:19px;font-weight:700;color:#105384}.public-browser-help>summary:focus-visible{outline:3px solid #105384;outline-offset:5px}
.public-browser-help>.public-legal-content{padding-top:20px}
@media(max-width:991px){.public-legal-grid{grid-template-columns:1fr;gap:30px;padding-top:30px}.public-legal-index{position:static}.public-legal-index nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}}
@media(max-width:767px){.public-legal-grid{padding-bottom:40px}.public-legal-index{padding:22px}.public-legal-index nav{grid-template-columns:1fr}.public-legal-content :is(p,li){font-size:16px!important;line-height:1.75!important}.public-cookie-setting{padding:22px;gap:16px}.public-revocation-request{padding:26px 22px}.public-browser-help{padding:22px}.public-revocation-body{padding-bottom:40px}}
@media(max-width:380px){.public-cookie-setting{align-items:flex-start;flex-direction:column}.public-cookie-setting form,.public-cookie-choice{width:100%}}

/* Keep the founder portrait complete within the editorial hero. */
.public-editorial-hero .public-founder-portrait{width:100%;height:auto;max-width:361px;max-height:none;aspect-ratio:361/466;object-fit:contain;justify-self:center}
