/* CEO V2, 20/09/2026. A single responsive scale and editorial system. */
:root{--v2-space:56px;--v2-ink:#132b23;--v2-muted:#596760;--v2-paper:#f2f6f3;--v2-line:#dbe5dd}
body{font-size:16px;line-height:1.6}
main h1,main .hero__title{font-size:44px!important;line-height:1.15!important}
main h2{font-size:34px!important;line-height:1.15!important}
main h3{font-size:26px!important;line-height:1.15!important}
main h4{font-size:20px!important;line-height:1.15!important}
main p,main li,main dt,main dd{font-size:16px!important;line-height:1.6}
main .eyebrow,main small,main .small-print,main .sites-illustration-note,main .sites-map__disclaimer,main time{font-size:14px!important;line-height:1.6!important}
main .button,main .text-link,main .project-detail,main label,main input,main select,main textarea,.site-nav__link,.site-nav__account,.site-nav__submenu a{font-size:14px!important}
main .section,.revision-section,.home-welcome,.factory-estimator{padding-block:var(--v2-space)}
.revision-hero{padding-block:72px}.revision-hero h1{max-width:780px}.revision-hero p:not(.eyebrow){max-width:660px}
.revision-hero--image:before{background:linear-gradient(90deg,#081d17f0,#081d17b5 58%,#081d1720)}
.v2-editorial{padding-block:var(--v2-space);scroll-margin-top:110px;overflow:hidden}
.v2-editorial:nth-of-type(even){background:var(--v2-paper)}
.v2-editorial__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:56px;align-items:start}
.v2-editorial.is-reversed .v2-editorial__grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.v2-editorial.is-reversed .v2-editorial__copy{order:2}.v2-editorial.is-reversed .v2-editorial-image,.v2-editorial.is-reversed .v2-certificate-preview{order:1}
.v2-editorial h2{margin:10px 0 24px;max-width:740px}.v2-editorial .revision-prose{max-width:760px}
.v2-editorial .revision-prose h3{margin:28px 0 12px}.v2-editorial .revision-prose p{margin-bottom:18px}
.v2-subtitle{font-weight:500;font-size:20px!important;color:var(--v2-muted)}
.v2-editorial-image{margin:0;position:relative;border-radius:8px;overflow:hidden;align-self:stretch;min-height:330px;max-height:580px}
.v2-editorial-image img{width:100%;height:100%;min-height:330px;object-fit:cover;transition:transform .6s}
.v2-editorial-image:hover img{transform:scale(1.035)}
.v2-editorial-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 16px 12px;background:linear-gradient(transparent,#071c17d9);font-size:11px;color:white;line-height:1.4}
.v2-editorial .revision-list{padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;margin-block:24px}
.v2-editorial .revision-list li{padding:16px 18px 16px 30px;border:1px solid var(--v2-line);border-radius:5px;background:#ffffffad;position:relative}
.v2-editorial .revision-list li:before{content:'';position:absolute;left:14px;top:25px;width:5px;height:5px;border-radius:50%;background:#0b8f3a}
.v2-editorial--final{background:#103b2b!important;color:white}.v2-editorial--final h2,.v2-editorial--final p{color:white}.v2-editorial--final .v2-editorial-image{min-height:240px;max-height:320px}.v2-editorial--final img{min-height:240px}
.text-link,.sites-text-link{display:inline-block;transition:color .2s,transform .2s;text-underline-offset:6px}
.text-link:hover,.text-link:focus-visible,.sites-text-link:hover,.sites-text-link:focus-visible{color:#034721;text-decoration:underline;transform:translateX(4px)}
.factory-type-grid strong{font-weight:500!important;font-size:14px!important}
.v2-home-flow{background:linear-gradient(180deg,#fff 0%,#f0f6f2 45%,#e8f0eb 100%);position:relative}
.v2-home-flow .project-teaser,.v2-home-flow .home-news{background:transparent}
.v2-home-flow .revision-banner{margin-block:0;border-radius:10px}.v2-home-flow .project-card{box-shadow:0 12px 36px #193d2510}
.v2-home-flow .home-news{position:relative}.v2-home-flow .home-news:before{content:'';display:block;position:absolute;left:50%;top:0;width:1px;height:32px;background:#0b8f3a}
.revision-team-grid{gap:24px}.revision-team-card{transition:transform .25s,box-shadow .25s}.revision-team-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #143c2415}
.revision-team-card h3{font-size:22px!important}.revision-team-card .revision-placeholder{background:radial-gradient(circle at 50% 35%,#fff,#e5eee8);min-height:220px}
.revision-person-links a{opacity:1;transition:background .2s,color .2s,transform .2s}
.revision-person-links a:hover{background:#0b8f3a;color:white;transform:translateY(-2px)}
.revision-person-links a[aria-label^=LinkedIn]:hover{background:#0a66c2}
.v2-demo-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10000;width:min(440px,calc(100% - 32px));padding:18px 24px;background:#173b2a;color:white;border-radius:8px;box-shadow:0 10px 35px #0003}
.v2-team-photo{min-height:330px;display:grid;align-content:center;justify-items:center;background:linear-gradient(135deg,#e1ebe5,#f6f9f6);border-radius:8px;text-align:center;padding:30px}.v2-team-photo svg{width:70px;height:70px;color:#0b8f3a}
.v2-certificate-preview{padding:28px;background:#e2eae5;border-radius:10px;align-self:start;box-shadow:inset 0 0 0 1px #d2dfd5}
.v2-certificate-preview>a{display:block;position:relative}.v2-certificate-preview img{display:block;width:100%;max-height:560px;object-fit:contain;background:white;box-shadow:0 12px 30px #12342120;transition:transform .3s}
.v2-certificate-preview a:hover img{transform:scale(1.035)}.v2-document-action{display:block;text-align:center;font-size:14px;font-weight:600;padding-top:20px;color:#076533}
.v2-document-pending{min-height:380px;border:1px dashed #9db8a7;background:#fff;display:grid;align-content:center;justify-items:center;gap:15px;padding:24px;text-align:center;color:#426450}.v2-document-pending svg{width:60px;height:60px}.v2-document-pending strong{font-size:36px}
#attestazione-soa-og1 .v2-certificate-preview{background:#e8ede3}#esco .v2-certificate-preview{background:#dceee5}
.revision-process{max-width:1120px;margin:38px auto 0;text-align:center;gap:30px}.revision-process li>span{margin-inline:auto;width:60px;height:60px;box-shadow:0 0 0 8px #e1eee5}.revision-process li:not(:last-child):after{left:calc(50% + 44px);width:calc(100% - 58px);top:29px;z-index:0}.revision-process h3{font-size:24px!important}
.revision-section:has(>.revision-process){max-width:none;width:100%;background:linear-gradient(130deg,#eef5ef,#fff);text-align:center;padding-inline:5%}
.revision-process.is-visible li>span{animation:v2-step .6s both}.revision-process li:nth-child(2)>span{animation-delay:.15s}.revision-process li:nth-child(3)>span{animation-delay:.3s}.revision-process li:nth-child(4)>span{animation-delay:.45s}
@keyframes v2-step{from{transform:scale(.8);box-shadow:0 0 0 0 #0b8f3a20}to{transform:scale(1);box-shadow:0 0 0 8px #e1eee5}}
.v2-property-image{margin:0;position:relative}.v2-property-image img{width:100%;aspect-ratio:1.4;object-fit:cover;display:block;transition:transform .4s}.v2-property-image figcaption{font-size:11px;padding:8px 14px;background:#e7f0e9;color:#345440}
.revision-property-card{background:white;box-shadow:0 8px 26px #1641280a;transition:transform .3s,box-shadow .3s}.revision-property-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #16412815}.revision-property-card h3{font-size:24px!important}
.v2-property-banner{display:grid;grid-template-columns:1fr 1.2fr;background:#edf4ef;margin-block:var(--v2-space);overflow:hidden;border-radius:10px}.v2-property-banner>img{width:100%;height:100%;max-height:440px;object-fit:cover}.v2-property-banner>div{padding:44px}.v2-property-banner h2{margin-block:12px 22px}
.revision-offices article{padding:0;overflow:hidden;background:white;box-shadow:0 10px 25px #1438270a}.revision-offices article>div{padding:24px}.revision-offices figure{margin:0}.revision-offices img{width:100%;aspect-ratio:1.7;object-fit:cover}.revision-offices figcaption{font-size:11px;color:#5a685e;padding:7px 15px;background:#edf4ef}
.v2-contact-hub{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin-top:40px;align-items:stretch}.v2-contact-hub .revision-map{margin:0;min-height:410px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background-color:#e5eee7;background-image:linear-gradient(#fff7 1px,transparent 1px),linear-gradient(90deg,#fff7 1px,transparent 1px);background-size:32px 32px}.v2-contact-hub .revision-map:has(iframe){padding:0}.v2-contact-hub .revision-map iframe{min-height:450px;height:100%;flex:1}.v2-map-glyph svg{width:46px;height:46px;color:#0b8f3a}
.v2-contact-data{padding:32px 10px}.v2-contact-data dl>div{display:grid;grid-template-columns:125px 1fr;border-bottom:1px solid var(--v2-line);gap:16px;padding:14px 0}.v2-contact-data dt{display:flex;gap:12px;align-items:center;font-weight:600}.v2-contact-data dt svg{width:20px;height:20px;color:#0b8f3a}.v2-contact-data dd{margin:0;overflow-wrap:anywhere}
.revision-form-section{background:linear-gradient(130deg,#f0f5f1,#fff);border:1px solid var(--v2-line);border-radius:12px;padding:40px;margin-bottom:var(--v2-space)}
.revision-form-section>h2,.revision-form-section>p{max-width:680px}.revision-form{max-width:none;gap:24px}.revision-form input,.revision-form select,.revision-form textarea{border-color:#ccd9d0;border-radius:7px;box-shadow:0 2px 5px #122e1703;transition:border-color .2s,box-shadow .2s}.revision-form input:focus,.revision-form select:focus,.revision-form textarea:focus{border-color:#0b8f3a;box-shadow:0 0 0 3px #0b8f3a13}.revision-form input[type=file]{padding:20px;border-style:dashed;background:#f8fbf9}.revision-form input::file-selector-button{border:0;border-radius:4px;background:#e2eee6;color:#17472d;padding:9px 14px;margin-right:16px;font:inherit;cursor:pointer}.revision-form .revision-consent{padding:16px;background:#e8f0eb;border-radius:6px}.revision-form .revision-consent input{min-width:20px;height:20px;accent-color:#0b8f3a}.revision-form button{min-width:220px}
.revision-jobs{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.revision-jobs>p{grid-column:1/-1}.revision-job-card{background:white;box-shadow:0 8px 30px #1a40200a;transition:transform .25s,border-color .25s}.revision-job-card:hover{border-color:#0b8f3a;transform:translateY(-4px)}.v2-job-demo>svg{width:40px;height:40px;color:#0b8f3a;margin-block:10px}.v2-job-demo h3{margin-block:16px}.v2-job-demo .eyebrow{font-size:12px!important}
.sites-map{border:1px solid var(--v2-line);border-radius:10px;padding:16px;background:#f2f6f3!important;color:var(--v2-ink)}.sites-map__caption{position:static;margin:0 0 14px;font-size:14px!important;color:var(--v2-ink)}.sites-map__canvas{max-width:none;margin:0!important;background:#e8f0eb;touch-action:pan-y;border-radius:6px;cursor:grab}.sites-map__canvas:active{cursor:grabbing}.revision-map-layer{will-change:auto;right:auto;bottom:auto}.sites-italy{image-rendering:auto;filter:none;pointer-events:none}.revision-marker{font-size:14px;transition:background .15s;box-shadow:0 2px 5px #0002}
.sites-map__hint,.sites-map__disclaimer{padding:14px 0 0;color:#4a6052!important}.sites-map__hint{font-size:14px!important}.sites-map__disclaimer{font-size:12px!important}
.sites-toolbar,.sites-catalog-controls{background:#f1f6f2;border:1px solid var(--v2-line);padding:20px;border-radius:8px}.sites-toolbar{margin-bottom:12px}.sites-region-control{display:flex!important;align-items:center;gap:12px}.sites-region-control label,.sites-legend,.sites-legend span{font:500 14px/1.5 Montserrat,sans-serif!important}.sites-region-control select{min-height:44px;min-width:175px;background:white;border:1px solid #c9d8cd;border-radius:5px;padding:8px 12px}.sites-catalog-controls{margin-bottom:22px}.sites-catalog-controls input,.sites-catalog-controls select{background:white;border-radius:5px}.sites-filters button{font-size:14px!important;min-height:44px;padding:10px 18px}.sites-stage{border:0}.sites-selector{max-height:690px!important}.sites-selector button strong{font-size:20px!important}.sites-selector button small,.sites-selector button em,.revision-selector-summary{font-size:14px!important;line-height:1.5}.sites-selector button:hover{background:#edf5ef}
.sites-preview__card{background:#f4f7f4;border:1px solid var(--v2-line);border-radius:10px;padding:30px;gap:30px!important}.sites-preview__body{grid-column:1;grid-row:1;padding:0!important}.sites-preview__media{grid-column:2;grid-row:1/3;align-self:start}.factory-preview-facts{grid-column:1;grid-row:2}.factory-site-facts{display:grid;gap:0;padding:20px;background:#edf3ee;border-radius:7px}.factory-site-facts>div{display:grid;grid-template-columns:140px minmax(0,1fr)!important;gap:16px;align-items:start;border-bottom:1px solid #d7e3db;padding:12px 0}.factory-site-facts>div:last-child{border-bottom:0}.factory-site-facts dt{font-weight:500}.factory-site-facts dd{margin:0!important;line-height:1.5!important}.factory-site-facts svg{flex-shrink:0}.factory-milestones{gap:8px}.factory-milestones strong,.factory-milestones span{font-size:12px!important;line-height:1.4}.factory-milestones .is-unknown i{background:#e2e9e4;border:1px dashed #728a79;color:#53705e}.v2-stages-heading{font-size:20px!important;margin-top:28px}.factory-progress p{gap:16px}.sites-project{align-items:start}.sites-project__body{grid-column:1;grid-row:1}.sites-project__media{grid-column:2;grid-row:1;position:sticky;top:120px}.v2-project-region{display:flex;align-items:center;gap:10px;color:#0b8f3a}.v2-project-region svg{width:20px;height:20px}.v2-project-fact strong{font-size:32px}
.revision-footer{padding-top:44px!important}.revision-footer h2{font-size:20px;line-height:1.2;margin-bottom:20px}.revision-footer p,.revision-footer a,.revision-footer address,.revision-footer li{font-size:14px;line-height:1.5}.revision-footer li{margin:6px 0}.revision-footer li ul{margin:8px 0 10px}.revision-footer__grid{padding-bottom:32px}.v2-footer-contacts li{display:flex;gap:12px;align-items:flex-start;margin:10px 0!important}.v2-footer-contacts svg{flex:0 0 18px;width:18px;height:18px;color:#83b999;margin-top:2px}.revision-footer__social{gap:2px}.revision-footer__social a{gap:10px;min-height:32px}.revision-footer__social span{width:28px;height:28px;border:0}.revision-footer__social svg{width:18px;height:18px}.revision-footer__social a:hover{color:var(--social-color);transform:translateX(3px)}.social-instagram{--social-color:#f777a7}.social-facebook{--social-color:#1877f2}.social-whatsapp{--social-color:#25d366}.social-linkedin{--social-color:#0a66c2}
@media(max-width:900px){.v2-editorial__grid,.v2-editorial.is-reversed .v2-editorial__grid{gap:30px;grid-template-columns:1.3fr 1fr}.v2-editorial.is-reversed .v2-editorial__copy{order:0}.v2-editorial .revision-list{grid-template-columns:1fr}.v2-contact-hub{grid-template-columns:1fr}.sites-preview__body,.sites-preview__media,.factory-preview-facts{grid-column:1;grid-row:auto}.sites-project__media{position:static}.v2-property-banner>div{padding:30px}}
@media(max-width:680px){:root{--v2-space:38px}main h1,main .hero__title{font-size:34px!important}main h2{font-size:28px!important}main h3{font-size:23px!important}main h4{font-size:20px!important}main p,main li,main dt,main dd{font-size:16px!important}main input,main select,main textarea{font-size:16px!important}.revision-hero{padding-block:52px}.v2-editorial__grid,.v2-editorial.is-reversed .v2-editorial__grid{grid-template-columns:1fr;gap:26px}.v2-editorial-image{min-height:230px;max-height:280px}.v2-editorial-image img{min-height:230px}.v2-editorial.is-reversed .v2-editorial__copy{order:0}.v2-editorial.is-reversed .v2-editorial-image{order:1}.revision-team-grid{grid-template-columns:1fr}.revision-process{grid-template-columns:1fr 1fr;gap:32px 20px}.revision-process li:after{display:none}.revision-process h3{font-size:20px!important}.revision-process p{font-size:14px!important}.v2-certificate-preview{max-width:360px;width:100%;margin:auto}.v2-property-banner{grid-template-columns:1fr}.v2-property-banner>img{max-height:240px}.revision-form-section{padding:26px 20px}.revision-form-grid{gap:20px}.revision-jobs{grid-template-columns:1fr}.v2-contact-data{padding:12px 0}.v2-contact-data dl>div{grid-template-columns:100px minmax(0,1fr);gap:10px}.v2-contact-data dd{font-size:14px!important}.sites-stage{display:block!important}.sites-selector{margin-block:22px;max-height:400px!important}.sites-preview__card{padding:20px;display:flex!important;flex-direction:column}.sites-preview__media{order:1}.factory-preview-facts{order:2}.sites-project{display:flex;flex-direction:column}.sites-project__media{order:1;width:100%}.factory-site-facts{padding:15px}.factory-site-facts>div{grid-template-columns:110px minmax(0,1fr)!important;gap:10px}.factory-site-facts dt,.factory-site-facts dd{font-size:14px!important}.factory-milestones{display:grid;grid-template-columns:repeat(3,1fr);row-gap:20px}.factory-milestones li:after{display:none}.sites-catalog-controls{grid-template-columns:1fr;padding:16px}.sites-map{padding:12px}.sites-map__hint,.sites-map__disclaimer{font-size:12px!important}.revision-map-controls{gap:5px}.revision-map-controls button{min-width:38px;padding-inline:8px;font-size:14px}.revision-footer__grid{gap:30px}.revision-footer__social{grid-template-columns:1fr 1fr}.v2-home-flow .home-news:before{height:20px}}
/* Keep component headings on the same desktop scale, including dense cards. */
@media(min-width:681px){main .revision-team-card h3,main .revision-process h3,main .revision-property-card h3,main .v2-stages-heading{font-size:26px!important}main .mce-version-b .mce-panel h2{font-size:34px!important}}
.sites-project__description p:first-child{display:block}
.v2-service-tabs{margin-block:28px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.v2-service-tabs a{font-size:14px;min-width:0;transition:background .2s,transform .2s}.v2-service-tabs a:hover{transform:translateY(-3px)}.v2-service-tabs a[aria-current=page]{background:#0b8f3a;color:white}.v2-service-tabs a[aria-current=page] svg{color:white}
@media(max-width:680px){.v2-service-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v2-service-tabs a:last-child{grid-column:1/-1}.v2-service-tabs a{font-size:13px;padding:16px}}
/* Closed mobile navigation must not create an off-canvas scroll area or tab stops. */
@media(max-width:900px){.site-nav{transform:none;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s,visibility .2s}.site-nav.is-open{visibility:visible;opacity:1;pointer-events:auto}}
@media(min-width:681px) and (max-width:900px){.revision-process li:nth-child(even):after{display:none}}
main .mce-version-b .mce-button,main .mce-version-b .mce-link,main .mce-version-b legend{font-size:14px!important}
/* Final contract: legacy component rules cannot override the CEO's desktop scale. */
@media(min-width:681px){#content h1{font-size:44px!important}#content h2{font-size:34px!important}#content h3{font-size:26px!important}#content h4{font-size:20px!important}#content h1,#content h2,#content h3,#content h4{line-height:1.15!important}}
#site-navigation .site-nav__link,#site-navigation .site-nav__account,#site-navigation .site-nav__submenu a{font-size:14px!important}
#content figcaption,#content .mce-small,#content .mce-eyebrow{font-size:14px!important}
@media(min-width:681px){#content .mce-b-stage strong,#content .factory-milestones strong,#content .factory-milestones span{font-size:14px!important}}
@media(prefers-reduced-motion:reduce){.revision-process.is-visible li>span{animation:none}.v2-editorial-image:hover img,.revision-team-card:hover,.revision-job-card:hover,.revision-property-card:hover,.text-link:hover,.sites-text-link:hover{transform:none}}
/* Geographic groups remain at their source coordinates, including maximum zoom. */
.sites-map-group{margin-top:16px;padding:18px;background:#fff;border:1px solid #c8d9ce;border-radius:8px}
.sites-map-group[hidden]{display:none}
.sites-map-group__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sites-map-group .sites-map-group__heading h3{margin:0;font-size:20px;line-height:1.3;overflow-wrap:anywhere}
.sites-map-group__heading>button{flex:0 0 44px;min-height:44px;border:1px solid #c8d9ce;border-radius:6px;background:#fff;color:#174236;font-size:26px;cursor:pointer}
.sites-map-group>p{margin:10px 0 14px;font-size:14px;line-height:1.6;color:#53695c}
.sites-map-group__list{display:grid;gap:8px;max-height:320px;overflow:auto;overscroll-behavior:contain;padding:3px}
.sites-map-group__list>button{display:grid;gap:5px;width:100%;min-height:64px;text-align:left;padding:12px;border:1px solid #dce5df;border-radius:6px;background:#fff;color:#174236;font:inherit;cursor:pointer;overflow-wrap:anywhere}
.sites-map-group__list>button strong{font-size:15px;line-height:1.4}
.sites-map-group__list>button span{font-size:13px;line-height:1.4}
.sites-map-group__list>button[aria-pressed="true"]{border-color:#0b8f3a;background:#eef7f0;box-shadow:inset 3px 0 #0b8f3a}
.sites-map-group button:focus-visible{outline:2px solid #0b8f3a;outline-offset:2px}
