:root{--ink:#121e2b;--muted:#566675;--blue:#62a3f0;--deep:#2c68aa;--red:#ed222a;--paper:#f4f7fa;--line:#dce4eb;--font:'Manrope',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:132px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,p,figure{margin:0}ul,ol{margin:0;padding:0}em{font-style:normal}[hidden]{display:none!important}::selection{background:var(--blue);color:var(--ink)}.container{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;z-index:90;top:-100px;left:20px;background:#fff;padding:12px 22px}.skip:focus{top:10px}.section{padding:84px 0}.section-soft{background:var(--paper)}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.75rem;line-height:1.7;font-weight:800;letter-spacing:1.5px}.eyebrow:before{content:'';height:2px;width:24px;background:var(--red);flex-shrink:0}.eyebrow.light{color:#d9e7f3}h2{font-family:var(--display);font-weight:600;line-height:1.09;font-size:clamp(2.7rem,4.1vw,3.7rem);letter-spacing:-.3px}h2 em{color:var(--deep)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:57px;padding:17px 23px;font-size:.875rem;line-height:1.6;font-weight:800;transition:background .2s,transform .2s}.button>span{font-size:1.35rem;line-height:1}.button:hover{transform:translateY(-2px)}.button-blue{background:var(--blue);color:var(--ink)}.button-blue:hover{background:#8fbff7}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#2b4864}.button-white{background:#fff;color:var(--ink)}.button-white:hover{background:#e5f0fd}.text-link{display:inline-flex;align-items:center;gap:22px;padding-bottom:7px;border-bottom:1px solid #b9c6d1;font-size:.875rem;font-weight:800;line-height:1.7}.text-link:hover{color:var(--deep)}.text-link span{color:var(--red);font-size:1.3rem}
/* Shared navigation */
.site-header{position:sticky;top:0;z-index:30;background:#fff;box-shadow:0 2px 14px #132f4a09}.utility{background:var(--ink);color:#d4e1eb}.utility .container{display:flex;justify-content:space-between;align-items:center;min-height:29px;gap:20px;font-size:.75rem;letter-spacing:.85px}.utility a{font-size:.8125rem;font-weight:600}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:88px}.brand{display:block;flex-shrink:0;line-height:1}.brand img{width:148px;height:auto}.primary-nav{display:flex;align-items:center;gap:24px;font-size:.875rem;font-weight:600;line-height:1.5}.primary-nav>a{padding:13px 0;white-space:nowrap}.primary-nav .active{color:var(--deep)}.primary-nav a:hover{color:var(--deep)}.nav-group{position:relative;display:flex;align-items:center;gap:0}.nav-group>a{padding:13px 0}.nav-group.is-current>a{color:var(--deep)}.submenu-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:40px;background:none;border:0;padding:0;font-size:1.2rem;line-height:1}.submenu-toggle[aria-expanded=true] span{transform:rotate(180deg)}.submenu{position:absolute;z-index:40;left:-20px;top:calc(100% + 12px);min-width:275px;width:320px;padding:11px 0;background:#fff;box-shadow:0 16px 40px #132f4a24;border-top:3px solid var(--blue)}.submenu a{display:block;padding:12px 20px;font-size:.875rem;font-weight:500;line-height:1.6}.submenu a:hover,.submenu a.active{background:var(--paper);color:var(--deep)}.nav-contact{border-bottom:2px solid var(--red);font-weight:800}.nav-contact span{color:var(--red);margin-left:8px;font-size:1.2rem}.menu-toggle{display:none}
/* Home */
.home-hero{position:relative;isolation:isolate;min-height:655px;background:var(--ink);color:#fff}.hero-visual{position:absolute;inset:0 0 0 auto;width:66%;z-index:-2;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),#121e2b12 75%),linear-gradient(0deg,#121e2b50,transparent 55%)}.hero-inner{padding:75px 0 90px}.hero-copy{max-width:510px}.hero-copy h1{font-family:var(--display);font-weight:600;font-size:clamp(5.1rem,7.8vw,7.1rem);line-height:.99;letter-spacing:-1px;margin:27px 0}.hero-copy h1 em{color:var(--blue)}.hero-copy>p:not(.eyebrow){font-size:1.125rem;line-height:1.9;color:#dce7ef;max-width:420px}.hero-copy .button{margin-top:28px}.hero-signature{font-size:.75rem;letter-spacing:1.2px;margin-top:30px;color:#bfced9}.hero-caption{position:absolute;right:25px;bottom:118px;z-index:1;writing-mode:vertical-rl;color:#fff;font-size:.75rem;letter-spacing:.6px;text-shadow:0 1px 4px #000}.hero-note{position:absolute;right:0;bottom:0;background:#fff;color:var(--ink);display:flex;flex-direction:column;gap:7px;min-width:330px;padding:25px 34px}.hero-note>span{font-size:.8125rem;color:var(--muted)}.hero-note strong{font-size:1rem}.hero-note b{float:right;color:var(--red);font-size:1.3rem;margin-left:25px}.hero-note:hover{background:var(--paper)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:40px}.section-heading h2{margin-top:22px}.section-heading>p{max-width:360px;color:var(--muted);font-size:1rem;line-height:1.9}.company-teaser{display:grid;grid-template-columns:1.05fr 1fr;gap:85px;align-items:center}.company-teaser h2{margin-top:22px}.company-teaser>div>p:not(.eyebrow){font-size:1rem;line-height:1.9;color:var(--muted);margin-top:25px}.company-teaser .text-link{margin-top:25px}.feature-links{display:flex;flex-direction:column;gap:22px}.feature-links>a{display:block;position:relative;padding:30px 70px 30px 30px;background:var(--paper);border-left:3px solid var(--blue)}.feature-links>a>span{font-size:.75rem;letter-spacing:1px;font-weight:700;color:var(--deep)}.feature-links h3{font-size:1.2rem;line-height:1.5;font-weight:700;margin-top:14px;margin-bottom:9px}.feature-links p{font-size:.875rem;color:var(--muted)}.feature-links b{position:absolute;right:28px;top:50%;font-size:1.5rem;color:var(--red)}.feature-links>a:hover{background:#eaf1f7}
/* Six image-and-title sector cards */
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 36px}.category-card{display:grid;grid-template-columns:160px minmax(0,1fr);min-height:160px;align-items:stretch;background:#fff;border-radius:0 9px 9px 0;overflow:hidden;box-shadow:0 12px 32px #152e4b0b;transition:box-shadow .2s,transform .2s}.category-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px #152e4b1a}.category-image{position:relative;display:block;min-height:160px}.category-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.category-label{align-self:center;padding:27px 30px;font-size:1.0625rem;line-height:1.65;font-weight:500;letter-spacing:.1px;color:#25475f;text-transform:uppercase}.category-card[data-sector=verde] img{object-position:40% 50%}.category-card[data-sector=industriali] img{object-position:50% 60%}.category-card[data-sector=ristrutturazioni] img{object-position:50% 32%}.category-card[data-sector=ingegneria] img{object-position:50% 50%}.section-note{font-size:.875rem;color:var(--muted);margin-top:30px;line-height:1.9}
/* Internal page framework */
.page-heading{background:var(--ink);color:#fff;padding:26px 0 55px;border-bottom:5px solid var(--blue)}.breadcrumbs{margin-bottom:30px;font-size:.75rem;color:#b9cbd9;line-height:1.8}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0}.breadcrumbs li+li:before{content:'/';padding:0 12px;color:#788fa2}.breadcrumbs a:hover{color:#fff}.breadcrumbs li[aria-current]{color:#dae6ef}.page-heading h1{font-family:var(--display);font-size:clamp(3.3rem,5.4vw,4.9rem);font-weight:600;line-height:1.05;letter-spacing:-.6px;max-width:980px;margin-top:19px}.page-lead{font-size:1.0625rem;line-height:1.9;max-width:850px;color:#ccdae5;margin-top:24px}.editorial-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:78px;align-items:start}.editorial>h2{font-size:3.25rem;margin-bottom:26px}.editorial>p{font-size:1rem;line-height:1.95;color:var(--muted);margin-bottom:24px}.editorial>p.large-copy{font-size:1.125rem;color:#384d5e}.editorial-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:26px}.page-sidebar{position:sticky;top:145px}.sidebar-label{font-size:.75rem;font-weight:800;letter-spacing:1.2px;color:var(--deep);margin-bottom:12px}.page-sidebar nav>a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.7;color:var(--muted)}.page-sidebar nav>a.active{color:var(--deep);font-weight:800;border-bottom-color:var(--blue)}.page-sidebar nav>a:hover{color:var(--deep)}.sidebar-contact{background:var(--paper);padding:25px;margin-top:32px;border-top:3px solid var(--blue)}.sidebar-contact>span{font-size:.75rem;letter-spacing:.75px;font-weight:700;color:var(--deep)}.sidebar-contact h3{font-family:var(--display);font-size:1.8rem;line-height:1.2;margin-top:15px;font-weight:600}.sidebar-contact p{font-size:.875rem;color:var(--muted);line-height:1.8;margin-top:15px}.sidebar-contact .text-link{margin-top:20px;font-size:.8125rem}.photo{margin:0}.photo>img{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover}.photo figcaption{font-size:.75rem;color:#6d7e8c;line-height:1.7;margin-top:12px}.wide-photo{margin-top:36px}.strength-list>section{display:flex;gap:26px;padding:32px 0;border-top:1px solid var(--line)}.strength-list>section:first-child{padding-top:0;border-top:0}.strength-list>section>span{font-family:var(--display);font-size:2.2rem;color:var(--deep);line-height:1.2;font-weight:600}.strength-list h2{font-size:2.15rem;line-height:1.15;margin-bottom:16px}.strength-list p{font-size:1rem;color:var(--muted);line-height:1.9}.service-photo img{aspect-ratio:1.5}.sector-detail[data-sector=verde] .service-photo img{object-position:40% 55%}.sector-detail[data-sector=industriali] .service-photo img{object-position:50% 60%}.sector-detail[data-sector=ristrutturazioni] .service-photo img{object-position:50% 30%}.sector-detail[data-sector=ingegneria] .service-photo img{object-position:50% 50%}.service-content{padding-top:38px}.service-content h2{margin-top:20px;font-size:3.1rem}.work-list{list-style:none;margin:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.work-list li{padding:17px 0 17px 19px;position:relative;border-top:1px solid var(--line);font-size:1rem;line-height:1.7}.work-list li:before{content:'';position:absolute;left:0;top:29px;width:5px;height:5px;background:var(--blue)}.service-method{padding:28px;background:var(--paper);margin:15px 0 28px}.service-method h3{font-size:1.125rem;line-height:1.5;margin-bottom:13px}.service-method p{font-size:1rem;color:var(--muted);line-height:1.9}.service-method .text-link{margin-top:20px}
/* Method, gallery and contact */
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 70px}.method-grid article{position:relative;border-top:1px solid var(--line);padding-top:26px}.method-grid article>span{font-family:var(--display);font-size:3.5rem;font-weight:600;color:var(--deep);line-height:1}.method-grid h2{font-size:2.4rem;line-height:1.15;margin-top:22px}.method-grid h3{font-size:1rem;font-weight:700;line-height:1.7;margin-top:20px}.method-grid p{font-size:1rem;color:var(--muted);line-height:1.9;margin-top:14px}.method-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid var(--line);margin-top:55px;padding-top:30px}.method-bottom p{font-size:1rem;color:var(--muted);max-width:520px}.gallery-section{background:var(--paper)}.gallery-intro{max-width:830px;font-size:.875rem;line-height:1.9;color:var(--muted);margin-bottom:34px;padding-left:20px;border-left:3px solid var(--blue)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.gallery-open{position:relative;border:0;display:block;padding:0;width:100%;overflow:hidden;background:#e1e8ed;text-align:left}.gallery-open img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;transition:transform .4s}.gallery-open:hover img{transform:scale(1.025)}.gallery-type{position:absolute;bottom:18px;left:18px;background:#121e2bf2;color:#fff;padding:7px 12px;font-size:.75rem;font-weight:700;letter-spacing:.7px}.zoom-mark{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:38px;height:38px;background:#fff;font-size:1.4rem;color:var(--ink)}.gallery-item figcaption{padding-top:18px}.gallery-item h2{font-family:var(--font);font-size:1.0625rem;font-weight:700;line-height:1.7}.gallery-item figcaption>span{font-size:.8125rem;color:var(--muted);display:block;margin-top:5px}.contact-band{background:#274e77;color:#fff;padding:60px 0;position:relative}.contact-band:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:var(--red)}.contact-band .container{display:flex;align-items:center;justify-content:space-between;gap:70px}.contact-band h2{font-size:3.2rem;margin-top:16px}.contact-band p:not(.eyebrow){font-size:1rem;line-height:1.8;color:#d8e4ef;margin-top:18px;max-width:680px}.contact-band .button{flex-shrink:0;min-width:205px}.contact-cards{display:grid;grid-template-columns:1fr;gap:30px}.contact-card{padding:36px;background:var(--paper);border-top:3px solid #b9cbdc;min-width:0}.contact-card-blue{background:#e9f1fa;border-color:var(--blue)}.contact-card h2{font-size:2.5rem;margin:23px 0}.contact-value{display:block;font-size:1.4rem;font-weight:700;line-height:1.9;overflow-wrap:anywhere}.contact-value:hover{color:var(--deep)}.contact-card>p:not(.eyebrow){font-size:.9375rem;color:var(--muted);margin-top:20px;line-height:1.9}.contact-card .button{margin-top:26px}.address-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}.address-grid>div{border-top:1px solid var(--line);padding-top:25px;min-width:0}.address-grid h3{font-size:1.1rem;margin:17px 0 12px;line-height:1.6}.address-grid address,.address-grid a{font-size:.9375rem;font-style:normal;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}.contact-tip{margin-top:50px;padding:27px 30px;border-left:3px solid var(--blue);background:var(--paper)}.contact-tip h3{font-size:1.125rem;margin-bottom:10px}.contact-tip p{font-size:.9375rem;line-height:1.9;color:var(--muted);max-width:920px}.error-links{display:flex;align-items:center;gap:30px;flex-wrap:wrap}body.dialog-open{overflow:hidden}.lightbox{width:min(1320px,95vw);max-width:95vw;max-height:95dvh;border:0;padding:50px 24px 20px;background:var(--ink);color:#fff;overflow:auto}.lightbox::backdrop{background:#050b12e8}.lightbox img{display:block;max-width:100%;max-height:76dvh;width:auto;height:auto;object-fit:contain;margin:auto}.lightbox p{font-size:.875rem;line-height:1.6;margin:16px 0 0;text-align:center;color:#d4e0e9}.lightbox-close{position:absolute;right:20px;top:9px;background:none;border:0;color:#fff;font-size:.875rem;display:flex;align-items:center;gap:15px;padding:3px 6px}.lightbox-close span{font-size:1.6rem}
@media(min-width:1700px){.home-hero{min-height:745px}.hero-inner{padding:95px 0 105px}.hero-copy h1{font-size:7.9rem}}
@media(max-width:1200px){.container{width:calc(100% - 72px)}.primary-nav{gap:18px;font-size:.8125rem}.header-inner{gap:22px}.category-card{grid-template-columns:140px minmax(0,1fr)}.category-label{padding:23px;font-size:1rem}.editorial-layout{gap:45px;grid-template-columns:minmax(0,1fr) 255px}.company-teaser{gap:50px}.contact-band .container{gap:45px}}
@media(max-width:1100px){.header-inner{min-height:78px}.brand img{width:140px}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:0;padding:13px 0 13px 13px;font-size:.875rem;font-weight:700}.menu-bars{width:23px;height:14px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.primary-nav{position:absolute;top:100%;left:0;right:0;background:#fff;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px 36px 25px;max-height:calc(100dvh - 110px);overflow-y:auto;box-shadow:0 15px 25px #132f4a1a;border-top:1px solid var(--line);font-size:1rem}.js .primary-nav:not(.is-open){display:none}.primary-nav>a{padding:14px 0}.nav-group{display:grid;grid-template-columns:1fr 44px;border-bottom:1px solid var(--line)}.nav-group>a{padding:14px 0}.submenu-toggle{width:44px;height:48px}.submenu{position:static;grid-column:1/-1;width:auto;min-width:0;box-shadow:none;border-top:0;border-left:2px solid var(--blue);margin:0 0 13px;padding:0 0 0 10px}.submenu a{font-size:.9375rem;padding:11px 13px}.nav-contact{align-self:flex-start}.hero-visual{width:72%}.hero-visual:after{background:linear-gradient(90deg,var(--ink),#121e2b35),linear-gradient(0deg,#121e2b60,transparent 60%)}.hero-copy{max-width:460px}.hero-copy h1{font-size:6rem}.hero-copy>p:not(.eyebrow){max-width:370px}.hero-note{min-width:305px;padding:23px 28px}.hero-caption{right:18px}.contact-cards{gap:22px}.contact-card{padding:28px}.contact-value{font-size:1.2rem}}
@media(max-width:900px){.section{padding:65px 0}.editorial-layout{grid-template-columns:minmax(0,1fr) 215px;gap:32px}.sidebar-contact{padding:20px}.page-sidebar nav>a{font-size:.8125rem}.category-grid{gap:25px}.category-card{grid-template-columns:118px minmax(0,1fr);min-height:155px}.category-image{min-height:155px}.category-label{padding:20px;font-size:.9375rem}.section-heading{gap:35px}.section-heading>p{max-width:290px}.company-teaser{gap:35px}.company-teaser h2{font-size:2.8rem}.feature-links>a{padding:25px 50px 25px 24px}.feature-links h3{font-size:1.1rem}.feature-links b{right:22px}.work-list{grid-template-columns:1fr}.method-grid{gap:40px}.contact-band h2{font-size:2.8rem}.address-grid{gap:25px}.contact-card h2{font-size:2.1rem}}
@media(max-width:820px){.category-grid{grid-template-columns:1fr}.category-card{grid-template-columns:150px minmax(0,1fr);min-height:150px}.category-image{min-height:150px}.category-label{padding:26px 30px;font-size:1.0625rem}.editorial-layout{grid-template-columns:1fr;gap:44px}.page-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:30px}.sidebar-contact{margin:0}.page-sidebar nav>a{font-size:.875rem}.service-photo img{aspect-ratio:1.6}.work-list{grid-template-columns:1fr 1fr}.company-teaser{grid-template-columns:1fr;gap:35px}.feature-links{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-band .container{align-items:flex-start;flex-direction:column;gap:27px}.contact-cards{grid-template-columns:1fr}.contact-card{padding:34px}.contact-card h2{font-size:2.7rem}.contact-value{font-size:1.4rem}.address-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){html{scroll-padding-top:105px}.container{width:calc(100% - 40px)}.utility .container{min-height:27px;letter-spacing:.1px;font-size:.75rem}.utility a{display:none}.header-inner{min-height:72px}.brand img{width:132px}.primary-nav{padding:12px 20px 24px;max-height:calc(100dvh - 99px)}.home-hero{min-height:700px}.hero-inner{padding:52px 0 143px}.hero-visual{width:100%}.hero-visual img{object-position:62% center}.hero-visual:after{background:linear-gradient(90deg,#121e2bee,#121e2b65),linear-gradient(0deg,#121e2bb0,transparent 70%)}.hero-copy{max-width:100%}.hero-copy h1{font-size:clamp(4.7rem,17vw,6.2rem);margin:27px 0 24px}.hero-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.85;max-width:355px}.hero-signature{font-size:.75rem;letter-spacing:.8px;margin-top:27px}.hero-caption{writing-mode:horizontal-tb;right:20px;bottom:100px;font-size:.75rem;letter-spacing:0;max-width:230px;text-align:right}.hero-note{width:100%;min-width:0;padding:18px 20px;gap:6px}.hero-note>span{font-size:.75rem}.hero-note strong{font-size:.9375rem}.eyebrow{letter-spacing:.9px;font-size:.75rem}.button{padding:17px 21px;font-size:.875rem;gap:25px}.section{padding:55px 0}h2{font-size:2.9rem;line-height:1.1}.section-heading{display:block;margin-bottom:29px}.section-heading h2{margin-top:20px}.section-heading>p{margin-top:23px;max-width:none;font-size:1rem}.category-grid{gap:20px}.category-card{grid-template-columns:112px minmax(0,1fr);min-height:124px}.category-image{min-height:124px}.category-label{padding:20px;font-size:1rem;line-height:1.55;letter-spacing:0}.category-card:hover{transform:none}.company-teaser h2{font-size:2.9rem}.company-teaser>div>p:not(.eyebrow){font-size:1rem;margin-top:24px}.feature-links{grid-template-columns:1fr;gap:18px}.feature-links>a{padding:25px 58px 25px 25px}.feature-links h3{font-size:1.125rem}.feature-links p{font-size:.875rem}.page-heading{padding:20px 0 37px}.breadcrumbs{font-size:.75rem;margin-bottom:25px}.breadcrumbs li+li:before{padding:0 8px}.page-heading h1{font-size:clamp(2.75rem,9.6vw,3.6rem);line-height:1.08;letter-spacing:-.3px;margin-top:18px}.page-lead{font-size:1rem;line-height:1.85;margin-top:21px}.editorial>h2{font-size:2.8rem}.editorial>p.large-copy{font-size:1.0625rem}.editorial>p{font-size:1rem;line-height:1.9}.photo>img{aspect-ratio:1.3}.photo figcaption{font-size:.75rem}.editorial-links{gap:22px;margin-top:25px}.page-sidebar{display:block;padding-top:25px}.sidebar-contact{margin-top:25px;padding:25px}.page-sidebar nav>a{font-size:.9375rem;padding:13px 0}.strength-list>section{gap:19px;padding:26px 0}.strength-list>section>span{font-size:1.8rem}.strength-list h2{font-size:2rem;margin-bottom:14px}.strength-list p{font-size:1rem;line-height:1.9}.service-content{padding-top:28px}.service-content h2{font-size:2.8rem;margin-top:18px}.work-list{grid-template-columns:1fr;margin:23px 0}.work-list li{font-size:1rem;padding-block:15px}.work-list li:before{top:27px}.service-method{padding:24px;margin-bottom:25px}.service-method p{font-size:1rem}.method-grid{grid-template-columns:1fr;gap:33px}.method-grid article{padding-top:23px}.method-grid article>span{font-size:3rem}.method-grid h2{font-size:2.4rem;margin-top:16px}.method-grid h3{font-size:1rem;margin-top:18px}.method-grid p{font-size:1rem}.method-bottom{display:block;margin-top:35px;padding-top:25px}.method-bottom .text-link{margin-top:21px}.gallery{grid-template-columns:1fr;gap:34px}.gallery-open img{aspect-ratio:1.4}.gallery-type{bottom:14px;left:14px;font-size:.75rem;padding:7px 10px;letter-spacing:.5px}.zoom-mark{top:14px;right:14px;width:35px;height:35px}.gallery-item figcaption{padding-top:14px}.gallery-item h2{font-size:1rem}.gallery-item figcaption>span{font-size:.8125rem}.gallery-intro{font-size:.875rem;margin-bottom:26px;padding-left:17px}.contact-band{padding:47px 0}.contact-band h2{font-size:2.8rem}.contact-band p:not(.eyebrow){font-size:1rem;line-height:1.85}.contact-band:before{width:4px}.contact-card{padding:27px 24px}.contact-card h2{font-size:2.4rem;margin:21px 0}.contact-value{font-size:1.2rem}.contact-card .button{font-size:.8125rem;gap:16px}.address-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.address-grid>div{padding-top:24px}.address-grid h3{font-size:1.1rem}.address-grid address,.address-grid a{font-size:1rem}.contact-tip{padding:23px;margin-top:35px}.contact-tip p{font-size:.9375rem}.lightbox{width:96vw;max-width:96vw;padding:48px 12px 18px}.lightbox img{max-height:70dvh}.lightbox p{font-size:.8125rem}.lightbox-close{right:12px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.hero-copy h1{font-size:4.8rem}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-signature{letter-spacing:0}.category-card{grid-template-columns:96px minmax(0,1fr);min-height:120px}.category-image{min-height:120px}.category-label{font-size:.9375rem;padding:16px}.contact-value{font-size:1.08rem}.contact-card{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Photograph-led outdoor work and before/after stories */
.work-focus{background:#121e2b;color:#fff}.work-focus .section-heading>p{color:#c7d5e1}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.focus-card{display:flex;align-items:flex-end;min-height:520px;position:relative;isolation:isolate;overflow:hidden;background:#243a4b}.focus-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}.focus-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071724ed 0%,#07172480 45%,#07172405 80%);z-index:-1}.focus-card:hover>img{transform:scale(1.035)}.focus-card>div{padding:35px;max-width:480px}.focus-card div>span{font-size:.8125rem;letter-spacing:1.5px;font-weight:800}.focus-card h3{font:600 clamp(2.8rem,4vw,3.65rem)/1.02 var(--display);margin:20px 0 18px}.focus-card p{font-size:1rem;line-height:1.8;color:#e0e9f1}.focus-card b{display:inline-block;border-bottom:1px solid #a1b7c8;padding-bottom:6px;margin-top:24px;font-size:.875rem}.focus-credit{color:#9fb3c3;font-size:.75rem;margin-top:19px}.activity-section{background:var(--paper);border-top:1px solid var(--line)}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.activity-card .gallery-open img{aspect-ratio:1.35}.gallery-open img[src$='sfalcio-professionale.jpg']{object-position:center 70%}.activity-card figcaption{padding:24px 0 0}.activity-number{display:block;color:var(--deep);font-size:.75rem;font-weight:800;letter-spacing:.4px}.activity-card h3{font:600 2rem/1.12 var(--display);margin:14px 0}.activity-card p{font-size:1rem;line-height:1.9;color:var(--muted)}.activity-card small{display:block;font-size:.75rem;color:var(--muted);margin-top:13px}.transformations{background:#eaf0f5}.comparison-grid{display:grid;gap:52px}.comparison-card{display:grid;grid-template-columns:245px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:36px;padding-top:32px;border-top:1px solid #c4d2df;align-items:start}.comparison-heading{grid-column:1;grid-row:1}.comparison-heading h3{font:600 2.35rem/1.12 var(--display);margin:18px 0}.comparison-image{grid-column:2;grid-row:1/3}.comparison-image img{aspect-ratio:2;object-fit:contain}.comparison-image:hover img{transform:none}.compare-label{position:absolute;bottom:16px;font-size:.8125rem;font-weight:800;letter-spacing:1px;padding:7px 15px;background:#fff;color:var(--ink);box-shadow:0 1px 10px #0002}.before-label{left:16px}.after-label{left:calc(50% + 16px);background:var(--ink);color:#fff}.comparison-card figcaption{grid-column:1;grid-row:2}.comparison-card figcaption p{font-size:1rem;color:var(--muted);line-height:1.8}.comparison-card figcaption>span{display:block;font-size:.75rem;line-height:1.8;color:#607386;margin-top:18px}.transformations>.container>.text-link{margin-top:36px}.gallery-navigation{border-bottom:1px solid var(--line);background:#fff}.gallery-navigation nav{display:flex;gap:34px;overflow-x:auto;padding-top:22px;padding-bottom:22px}.gallery-navigation a{font-size:.875rem;font-weight:700;white-space:nowrap;border-bottom:2px solid transparent;padding-bottom:5px}.gallery-navigation a:hover{border-color:var(--red);color:var(--deep)}.gallery-group{scroll-margin-top:140px}.gallery-group+.gallery-group{margin-top:70px;padding-top:45px;border-top:1px solid var(--line)}.gallery-group>h2{font-size:3rem;margin-bottom:32px}.gallery-item h3{font-family:var(--font);font-size:1.0625rem;font-weight:700;line-height:1.7}.gallery-item figcaption>span{font-size:.8125rem;color:var(--muted);display:block;margin-top:5px}.activity-card .gallery-open:focus-visible,.comparison-image:focus-visible{outline-offset:5px}
@media(min-width:821px){.category-card:last-child:nth-child(odd){grid-column:1/-1;grid-template-columns:32% minmax(0,1fr);min-height:170px}.category-card:last-child:nth-child(odd) .category-label{font-size:1.2rem}}
@media(max-width:1000px){.focus-card{min-height:480px}.focus-card>div{padding:27px}.focus-card h3{font-size:3rem}.comparison-card{grid-template-columns:200px minmax(0,1fr);column-gap:25px}.comparison-heading h3{font-size:2.1rem}.comparison-card figcaption p{font-size:.9375rem}.activity-grid{gap:25px}}
@media(max-width:820px){.comparison-card{grid-template-columns:1fr;gap:22px;padding-top:28px}.comparison-heading,.comparison-image,.comparison-card figcaption{grid-column:1;grid-row:auto}.comparison-heading h3{margin-bottom:0}.comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.comparison-heading h3{margin-top:0;font-size:2.3rem}.comparison-card figcaption{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.comparison-card figcaption>span{margin:0}.comparison-grid{gap:38px}.focus-card>div{padding:25px}.focus-card h3{font-size:2.75rem}.focus-card{min-height:490px}}
@media(max-width:600px){.focus-grid{grid-template-columns:1fr;gap:23px}.focus-card{min-height:430px}.focus-card>div{padding:27px}.focus-card h3{font-size:3rem}.work-focus .section-heading>p{margin-top:24px}.focus-credit{font-size:.75rem}.activity-grid{grid-template-columns:1fr;gap:35px}.activity-card .gallery-open img{aspect-ratio:1.3}.activity-card figcaption{padding-top:21px}.activity-card h3{font-size:2rem}.comparison-heading{display:block}.comparison-heading h3{font-size:2.3rem;margin-top:16px}.comparison-card figcaption{display:block}.comparison-card figcaption>span{margin-top:12px}.compare-label{font-size:.75rem;letter-spacing:.4px;padding:5px 10px;bottom:10px}.before-label{left:10px}.after-label{left:calc(50% + 10px)}.comparison-image .zoom-mark{top:10px;right:10px;width:30px;height:30px;font-size:1.1rem}.comparison-grid{gap:35px}.gallery-navigation nav{gap:26px;padding-top:18px;padding-bottom:18px}.gallery-group>h2{font-size:2.65rem;margin-bottom:26px}.gallery-group+.gallery-group{margin-top:40px;padding-top:32px}.gallery-group{scroll-margin-top:120px}}
@media(prefers-reduced-motion:reduce){.focus-card:hover>img{transform:none}}
/* Integrated public green management */
.public-green{background:var(--paper);border-bottom:1px solid var(--line)}.public-green-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}.public-green h2{margin-top:23px;font-size:clamp(2.8rem,4.3vw,3.65rem)}.public-green-copy{font-size:1rem;line-height:1.95;color:var(--muted);margin-top:25px}.public-green-feature .text-link{margin-top:25px}.public-photo-main .gallery-open img{aspect-ratio:1.18;object-position:center 55%}.public-photo figcaption{padding-top:15px;line-height:1.7}.public-photo figcaption strong{font-size:.875rem;display:block;font-weight:700}.public-photo figcaption span{font-size:.75rem;display:block;color:var(--muted);margin-top:4px}.public-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:55px}.public-services article{padding-top:23px;border-top:2px solid #90b8df}.public-services article>span{font:600 2rem/1 var(--display);color:var(--deep)}.public-services h3{font:600 1.9rem/1.15 var(--display);margin:17px 0 14px}.public-services p{font-size:1rem;line-height:1.85;color:var(--muted)}.public-pruning{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center;margin-top:55px;padding-top:40px;border-top:1px solid var(--line)}.public-pruning h3{font:600 2.6rem/1.12 var(--display);margin-top:20px}.public-pruning>div>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.9;margin-top:20px}.public-pruning-photos{display:grid;grid-template-columns:1fr 1fr;gap:23px}.public-pruning-photos .gallery-open img{aspect-ratio:1.1;object-position:center}.public-pruning-photos .public-photo:last-child img{object-position:center 30%}
@media(max-width:1000px){.public-green-feature{gap:35px}.public-services{grid-template-columns:1fr 1fr;gap:32px}.public-pruning{grid-template-columns:1fr;gap:30px}.public-pruning-photos{max-width:740px}.public-pruning-photos .gallery-open img{max-height:330px}}
@media(max-width:700px){.public-green-feature{grid-template-columns:1fr;gap:30px}.public-green h2{font-size:3rem}.public-photo-main .gallery-open img{aspect-ratio:1.3}.public-services{margin-top:38px;gap:25px}.public-services h3{font-size:1.7rem}.public-pruning{margin-top:38px;padding-top:30px}.public-pruning h3{font-size:2.5rem}.public-pruning-photos{gap:15px}.public-photo figcaption strong{font-size:.875rem}.public-photo figcaption span{font-size:.75rem}}
@media(max-width:420px){.public-services{grid-template-columns:1fr}.public-green h2{font-size:2.75rem}.public-pruning-photos{grid-template-columns:1fr;gap:28px}.public-pruning-photos .gallery-open img{aspect-ratio:1.25;max-height:none}}
/* Uploaded green-maintenance photographs: full visual sequence */
.public-pruning{grid-template-columns:1fr;gap:32px}.public-pruning>div:first-child{max-width:780px}.public-pruning-photos{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:32px;align-items:start}.public-pruning-photos .public-photo:first-child{grid-column:span 2}.public-pruning-photos .gallery-open img{aspect-ratio:1.2;max-height:none}.public-pruning-photos .public-photo:first-child img{aspect-ratio:2.5;object-position:center}.public-pruning-photos .public-photo:last-child img{object-position:center}.public-photo figcaption p{font-size:.9375rem;color:var(--muted);line-height:1.8;margin-top:8px}.public-pruning-photos img[src$='potatura-cantiere.webp']{object-position:center 45%}.public-pruning-photos .gallery-open img[src$='verde-mezzi-logistica.webp'],.gallery-open img[src$='verde-mezzi-logistica.webp']{object-fit:contain;background:#dfe7ed}.gallery-open img[src$='manutenzione-siepi.webp']{object-position:center 38%}.gallery-open img[src$='potatura-cestello.webp']{object-position:center}
@media(max-width:820px){.public-pruning-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.public-pruning-photos .public-photo:first-child img{aspect-ratio:2.25}.public-pruning-photos .gallery-open img{aspect-ratio:1.25}}
@media(max-width:520px){.public-pruning-photos{grid-template-columns:1fr;gap:30px}.public-pruning-photos .public-photo:first-child{grid-column:auto}.public-pruning-photos .public-photo:first-child img{aspect-ratio:1.8}.public-pruning-photos .gallery-open img{aspect-ratio:1.2}.public-pruning-photos .gallery-open img[src$='potatura-cantiere.webp']{aspect-ratio:.85}.public-pruning-photos .gallery-open img[src$='verde-mezzi-logistica.webp']{aspect-ratio:1}.public-photo figcaption p{font-size:1rem}}
/* Replacement road photographs and completed cycle routes */
.activity-section[data-sector=stradali] .activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-section[data-sector=stradali] .activity-card .gallery-open img{aspect-ratio:1.5}.activity-section[data-sector=stradali] .activity-card:nth-child(n+4) .gallery-open img{aspect-ratio:1.1}.focus-card img[src$='asfalto-superficie-nuova.webp']{object-position:center}.category-card[data-sector=stradali] img,.sector-detail[data-sector=stradali] .service-photo img{object-position:center 45%}
@media(max-width:900px){.activity-section[data-sector=stradali] .activity-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.activity-section[data-sector=stradali] .activity-grid{grid-template-columns:1fr}.activity-section[data-sector=stradali] .activity-card:nth-child(n+4) .gallery-open img{aspect-ratio:1.05}}
/* Supplied excavation imagery */
.category-card[data-sector=scavi] img{object-position:center}.sector-detail[data-sector=scavi] .service-photo{max-width:680px;margin-inline:auto}.sector-detail[data-sector=scavi] .service-photo img{aspect-ratio:1.62;object-position:center}.activity-section[data-sector=scavi] .activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-section[data-sector=scavi] .activity-card .gallery-open img{aspect-ratio:1.15}.activity-section[data-sector=scavi] .gallery-open img[src$='scavi-trincea-stradale.webp']{object-position:center 68%}.gallery-group#scavi .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-group#scavi .gallery-open img{aspect-ratio:1.15}
@media(max-width:900px){.activity-section[data-sector=scavi] .activity-grid,.gallery-group#scavi .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.activity-section[data-sector=scavi] .activity-grid,.gallery-group#scavi .gallery{grid-template-columns:1fr}.activity-section[data-sector=scavi] .activity-card .gallery-open img,.gallery-group#scavi .gallery-open img{aspect-ratio:1.3}}
/* Renovation photo groups */
.renovation-gallery{background:var(--paper);border-top:1px solid var(--line)}.renovation-nav{display:flex;gap:12px 24px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:38px}.renovation-nav a{font-size:.875rem;font-weight:700;border-bottom:2px solid transparent;padding-bottom:5px}.renovation-nav a:hover{color:var(--deep);border-color:var(--red)}.renovation-photo-group{scroll-margin-top:145px}.renovation-photo-group+.renovation-photo-group{margin-top:54px;padding-top:35px;border-top:1px solid var(--line)}.renovation-photo-group>h3{font:600 2.5rem/1.12 var(--display);margin-bottom:28px}.renovation-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.renovation-photo-grid.photo-pair{grid-template-columns:1fr 1fr;max-width:940px}.renovation-photo .gallery-open{aspect-ratio:1.5;background:#dfe7ed}.renovation-photo .gallery-open img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.renovation-photo .photo-native img{object-fit:scale-down}.renovation-photo .photo-native:hover img{transform:none}.renovation-photo figcaption{padding-top:17px}.renovation-photo h4{font-size:1rem;font-weight:700;line-height:1.65;margin:0}.renovation-photo figcaption>span{display:block;font-size:.75rem;line-height:1.7;color:var(--muted);margin-top:7px}
@media(max-width:900px){.renovation-photo-grid{grid-template-columns:1fr 1fr;gap:28px}.renovation-photo-group>h3{font-size:2.3rem}}
@media(max-width:600px){.renovation-photo-grid,.renovation-photo-grid.photo-pair{grid-template-columns:1fr;gap:30px}.renovation-nav{gap:14px 20px;margin-bottom:30px;padding-bottom:22px}.renovation-photo-group+.renovation-photo-group{margin-top:36px;padding-top:28px}.renovation-photo-group>h3{font-size:2.1rem;margin-bottom:24px}.renovation-photo-group{scroll-margin-top:115px}.renovation-photo .gallery-open{aspect-ratio:1.45}.renovation-photo figcaption{padding-top:15px}}
/* Civil construction gallery */
.activity-section[data-sector=civili] .activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-section[data-sector=civili] .gallery-open img{aspect-ratio:1.45;object-position:center}.activity-section[data-sector=civili] .gallery-open img[src$='civili-villa-contemporanea.webp']{object-position:center 52%}.activity-section[data-sector=civili] .gallery-open img[src$='civili-residenza-balcone.webp']{object-position:center}
@media(max-width:900px){.activity-section[data-sector=civili] .activity-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.activity-section[data-sector=civili] .activity-grid{grid-template-columns:1fr}.activity-section[data-sector=civili] .gallery-open img{aspect-ratio:1.4}}
/* Four primary destinations and the COGE opening film. */
@media(min-width:1101px){.primary-nav{gap:38px;font-size:.9375rem}.submenu{top:100%;max-height:calc(100dvh - 135px);overflow-y:auto}.submenu a{padding:10px 20px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-film{min-height:720px;display:flex;flex-direction:column;justify-content:space-between}.home-film .hero-visual{width:100%;inset:0;z-index:-2}.home-film .hero-visual img,.home-film .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.hero-video{opacity:0;transition:opacity .65s}.home-film.is-playing .hero-video{opacity:1}.home-film.has-played .hero-video{opacity:1}.home-film .hero-visual:after{background:linear-gradient(90deg,#0b1928ed 0%,#0b1928c4 28%,#0b192853 56%,#0b192812 100%),linear-gradient(0deg,#0b1928ee 0%,transparent 40%)}.home-film .hero-inner{padding:76px 0 64px}.home-film .hero-copy{max-width:590px}.home-film .hero-copy h1{font-size:clamp(5.2rem,7.5vw,7.6rem);letter-spacing:-.8px;margin:26px 0}.home-film .hero-copy>p:not(.eyebrow){max-width:455px;font-size:1.0625rem;line-height:1.85;color:#f1f5fa}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:30px}.hero-actions .button{margin:0}.film-open{display:inline-flex;align-items:center;gap:12px;min-height:48px;border:0;background:none;color:#fff;font-size:.875rem;font-weight:700;padding:0}.film-open:hover .play-symbol{background:#fff;color:var(--ink)}.play-symbol{display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff9c;border-radius:50%;font-size:.875rem;padding-left:2px;transition:background .2s,color .2s}.home-film .hero-signature{margin-top:32px;letter-spacing:.8px;font-size:.75rem}.film-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:31px}.film-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;width:min(880px,85%)}.film-chapter{border-top:1px solid #ffffff40;padding-top:17px;position:relative}.film-chapter:before{position:absolute;top:-1px;left:0;content:'';width:0;height:2px;background:var(--blue);transition:width .45s}.film-chapter.is-active:before{width:100%}.film-chapter>span{display:block;font-size:.75rem;color:#bccbd7;font-weight:700;letter-spacing:1px}.film-chapter>strong{display:block;font-family:var(--display);font-size:1.7rem;font-weight:500;line-height:1.2;margin-top:7px;color:#dae2e9}.film-chapter.is-active>span,.film-chapter.is-active>strong{color:#fff}.film-toggle{position:absolute;top:24px;right:max(48px,calc((100vw - 1280px)/2));z-index:2;flex-shrink:0;display:flex;align-items:center;gap:9px;border:1px solid #ffffff66;background:#10203380;color:#fff;min-height:44px;padding:10px 15px;font-size:.8125rem}.film-toggle:hover{background:#23415f}.film-toggle-icon{font-size:.875rem;min-width:13px}.film-disclosure{background:#0b1928;color:#aebfce;border-top:1px solid #ffffff17}.film-disclosure .container{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:13px}.film-disclosure p{font-size:.75rem;line-height:1.6}.film-disclosure a{font-size:.8125rem;font-weight:700;color:#fff;white-space:nowrap}.film-disclosure a span{color:var(--blue);margin-left:14px}
.film-dialog{padding:0;border:1px solid #ffffff20;background:#0b1928;color:#fff;width:min(1200px,94vw);max-width:94vw;max-height:92dvh;overflow:auto}.film-dialog::backdrop{background:#030b14ed;backdrop-filter:blur(7px)}.film-dialog-heading{padding:21px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.film-dialog h2{font:600 1.65rem/1.2 var(--display);letter-spacing:0}.film-close{display:flex;align-items:center;gap:16px;min-height:44px;padding:8px 0 8px 16px;border:0;color:#fff;background:none;font-size:.875rem}.film-close span{font-size:1.6rem;line-height:1}.film-player-wrap{position:relative;background:#000}.film-player{width:100%;display:block;max-height:calc(92dvh - 150px);aspect-ratio:16/9;object-fit:contain}.film-player-caption{position:absolute;left:0;bottom:54px;right:0;padding:50px 30px 22px;background:linear-gradient(transparent,#071522c7);pointer-events:none}.film-player-caption span{display:block;color:#adcff7;font-size:.8125rem;letter-spacing:1px;font-weight:700}.film-player-caption strong{display:block;font:500 clamp(1.3rem,3vw,2.6rem)/1.2 var(--display);margin-top:7px;color:#fff}.film-dialog-note{padding:14px 25px;color:#bdcbd6;font-size:.75rem}
@media(min-width:1700px){.home-film{min-height:800px}.home-film .hero-inner{padding-top:100px}}
@media(max-width:1100px){.home-film{min-height:680px}.home-film .hero-inner{padding-top:60px}.home-film .hero-copy h1{font-size:6.3rem}.film-chapters{gap:22px}.film-chapter>strong{font-size:1.45rem}.film-bottom{gap:25px}}
@media(max-width:700px){.home-film{min-height:0;padding-top:58vw}.home-film .hero-visual{height:64vw;max-height:none}.home-film .hero-visual img,.home-film .hero-video{object-position:center}.home-film .hero-visual:after{background:linear-gradient(0deg,#121e2b 0%,#121e2b20 32%,transparent 70%)}.home-film .hero-inner{padding:5px 0 37px}.home-film .hero-copy h1{font-size:clamp(4.2rem,14.5vw,6rem);margin:20px 0}.home-film .hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8;max-width:450px}.hero-actions{gap:22px;margin-top:25px}.hero-actions .button{padding:14px 19px;min-height:52px;gap:22px}.film-open{font-size:.8125rem;gap:9px}.play-symbol{width:36px;height:36px}.home-film .hero-signature{line-height:1.7;margin-top:24px;font-size:.75rem;letter-spacing:.2px}.film-bottom{display:block;padding-bottom:27px}.film-chapters{width:100%;gap:15px}.film-chapter{padding-top:12px}.film-chapter>span{font-size:.75rem;letter-spacing:0}.film-chapter>strong{font-size:1.3rem;line-height:1.2;margin-top:8px;max-width:110px}.film-toggle{top:20px;right:20px;bottom:auto;background:#0b1928d9;padding:8px 12px}.film-disclosure .container{display:block;padding-block:15px}.film-disclosure a{display:inline-block;margin-top:10px}.film-dialog-heading{padding:10px 15px}.film-dialog h2{font-size:1.3rem}.film-close{font-size:.8125rem;gap:10px}.film-player-caption{bottom:42px;padding:25px 15px 12px}.film-player-caption span{font-size:.6875rem}.film-player-caption strong{font-size:1.3rem}.film-dialog-note{padding:12px 15px;font-size:.75rem}}
@media(max-width:370px){.hero-actions{gap:16px}.film-open{font-size:.75rem}.hero-actions .button{font-size:.8125rem}.film-chapter>span{font-size:.75rem}.film-chapter>strong{font-size:1.2rem}}

.film-dialog-note a{text-decoration:underline;text-underline-offset:3px}.film-dialog-note a:hover{color:#fff}
/* Integrated maintenance and Global Service. */
.submenu a[href='/servizi/global-service/']{font-weight:800;color:var(--deep);background:#edf4fc}
.category-card[data-sector=global] img{object-position:48% 50%}
.global-feature{background:#fff}.global-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.global-feature-copy h2{margin:22px 0}.global-feature-copy>p:not(.eyebrow){font-size:1.0625rem;color:var(--muted);line-height:1.9;max-width:490px}.global-keypoints{list-style:none;margin:23px 0 28px;display:flex;flex-direction:column;gap:10px}.global-keypoints li{font-size:.9375rem;padding-left:18px;border-left:2px solid var(--blue)}.global-feature-visual{position:relative;min-height:510px;isolation:isolate;background:var(--ink)}.global-feature-visual>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2}.global-feature-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b1928f2,#0b192805 85%);z-index:-1}.global-feature-label{position:absolute;left:35px;right:30px;bottom:66px;color:#fff}.global-feature-label>span{font-size:.75rem;letter-spacing:1px;font-weight:700}.global-feature-label>strong{display:block;font:600 3.2rem/1.04 var(--display);margin-top:18px}.global-feature-visual>p{position:absolute;left:35px;bottom:23px;font-size:.75rem;color:#c3d0dc}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.audience-card{display:flex;flex-direction:column;align-items:flex-start;padding:29px 28px 30px;border-top:3px solid var(--blue);background:var(--paper);scroll-margin-top:145px}.audience-card>span{font-size:.75rem;color:var(--deep);letter-spacing:.7px;font-weight:800}.audience-card h3{font:600 2.15rem/1.12 var(--display);margin:20px 0 16px}.audience-card p{font-size:1rem;line-height:1.85;color:var(--muted);margin-bottom:25px}.audience-card .text-link{margin-top:auto;font-size:.8125rem;gap:14px}
.maintenance-section{background:#fff}.maintenance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.maintenance-grid article{border-top:1px solid #bdcfde;padding-top:25px}.maintenance-grid article>span{font:600 2.3rem/1 var(--display);color:var(--deep)}.maintenance-grid h3{font:600 2rem/1.15 var(--display);margin:18px 0 15px}.maintenance-grid p{font-size:1rem;color:var(--muted);line-height:1.9}.maintenance-section .container>.text-link{margin-top:35px}.safety-section{background:var(--paper);scroll-margin-top:130px}
.global-intro .container{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}.global-intro-copy h2{margin:22px 0}.global-intro-copy>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.9;margin-top:20px}.global-intro-photo img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;object-position:center 40%}.global-intro-photo figcaption{font-size:.75rem;color:var(--muted);margin-top:10px}.global-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.global-scope-card{background:#fff;display:flex;flex-direction:column}.global-scope-card>img{width:100%;height:auto;aspect-ratio:1.95;object-fit:cover}.global-scope-card:first-child>img{object-position:center 32%}.global-scope-card>div{padding:30px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.global-scope-card h3{font:600 2.3rem/1.15 var(--display);margin-bottom:17px}.global-scope-card p{font-size:1rem;line-height:1.85;color:var(--muted);margin-bottom:24px}.global-scope-card .text-link{margin-top:auto}.global-process{background:var(--ink);color:#fff}.global-process .section-heading>p{color:#c2d1dd}.global-process-list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.global-process-list li{border-top:1px solid #ffffff35;padding-top:25px}.global-process-list li>span{font:600 3.8rem/1 var(--display);color:var(--blue)}.global-process-list h3{font:600 2rem/1.14 var(--display);margin:23px 0 17px}.global-process-list p{font-size:1rem;line-height:1.85;color:#cbd9e4}
.global-plan{background:#eef3f8}.global-plan .container{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.global-plan h2{margin:22px 0}.global-plan .container>div>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.9;max-width:420px}.global-plan dl{margin:0}.global-plan dl>div{padding:22px 0;border-bottom:1px solid #c8d6e2}.global-plan dl>div:first-child{padding-top:0}.global-plan dt{font-weight:800;font-size:1rem;line-height:1.6}.global-plan dd{margin:9px 0 0;font-size:1rem;color:var(--muted);line-height:1.8}.global-questions .container{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.global-questions h2{margin-top:22px}.global-questions details{border-bottom:1px solid var(--line);padding:19px 0}.global-questions details:first-child{padding-top:0}.global-questions summary{font-size:1rem;line-height:1.7;font-weight:700;cursor:pointer;list-style-position:outside;margin-left:20px;padding-left:8px}.global-questions details p{font-size:1rem;color:var(--muted);line-height:1.9;margin:17px 0 0 28px}.global-enquiry{background:#dfeefa;border-top:4px solid var(--blue);scroll-margin-top:130px}.global-enquiry .container{display:flex;justify-content:space-between;align-items:center;gap:60px}.global-enquiry h2{margin:22px 0}.global-enquiry p:not(.eyebrow){max-width:650px;font-size:1rem;line-height:1.9;color:#465e72}.global-enquiry .button{flex-shrink:0}
@media(max-width:1100px){.global-feature-grid,.global-intro .container{gap:40px}.global-feature-visual{min-height:500px}.global-feature-label{left:25px;right:25px}.global-feature-label>strong{font-size:2.9rem}.global-feature-visual>p{left:25px}.global-process-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}.global-plan .container,.global-questions .container{gap:45px}.audience-grid{gap:20px}.audience-card{padding:25px 22px}.global-enquiry .container{align-items:flex-start;flex-direction:column;gap:28px}}
@media(max-width:820px){.global-feature-grid,.global-intro .container,.global-plan .container,.global-questions .container{grid-template-columns:1fr;gap:35px}.global-feature-visual{min-height:400px}.global-feature-copy>p:not(.eyebrow){max-width:650px}.global-intro-photo img{aspect-ratio:1.8}.audience-grid{grid-template-columns:1fr}.audience-card{padding:28px}.audience-card h3{margin-top:16px}.audience-card p{margin-bottom:20px}.maintenance-grid{gap:25px}.maintenance-grid h3{font-size:1.8rem}.global-scope-card>div{padding:25px}.global-scope-card h3{font-size:2rem}.global-plan .container>div>p:not(.eyebrow){max-width:650px}}
@media(max-width:600px){.global-feature-visual{min-height:350px}.global-feature-copy h2{font-size:2.9rem}.global-feature-copy>p:not(.eyebrow){font-size:1rem}.global-feature-label>strong{font-size:2.7rem}.global-feature-label>span{letter-spacing:.4px}.global-keypoints li{font-size:.9375rem}.global-scope-grid,.maintenance-grid,.global-process-list{grid-template-columns:1fr;gap:28px}.global-scope-card>img{aspect-ratio:1.55}.global-scope-card>div{padding:25px 23px}.global-scope-card h3{font-size:2rem}.global-process-list li>span{font-size:3rem}.global-process-list h3{margin-top:17px}.maintenance-grid article{padding-top:21px}.maintenance-grid h3{font-size:1.9rem}.global-plan .container,.global-questions .container{gap:30px}.global-questions summary{font-size:1rem}.audience-card{padding:25px 23px}.audience-card h3{font-size:2rem}.audience-card .text-link{font-size:.875rem}.global-enquiry .button{max-width:100%;gap:22px}.global-intro-photo img{aspect-ratio:1.4}}

.feature-links>a:only-child{grid-column:1/-1}

/* Compact shared footer */
.site-footer{padding:24px 0 8px}
.footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.footer-identity{display:flex;align-items:center;gap:22px;min-width:0}
.site-footer .brand img{width:128px;height:auto}
.footer-identity p{font-size:.875rem;color:var(--muted);line-height:1.6;margin:0}
.footer-identity strong{color:var(--ink)}
.footer-office{display:flex;align-items:center;gap:28px;font-size:.875rem;line-height:1.6}
.footer-office address{font-style:normal;color:var(--muted)}
.footer-contacts a{display:block;white-space:nowrap}
.footer-legal{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:16px;padding-top:8px}
.footer-legal>p{font-size:.75rem;line-height:1.4;color:#647786;margin:0}
.site-footer a:hover{text-decoration:underline}
.photo-credits{font-size:.75rem;line-height:1.4;color:#647786}.photo-credits[open]{max-width:240px}
.photo-credits summary{cursor:pointer;font-weight:700}
.photo-credits p{margin-top:10px}
.photo-credits a{display:block;margin-top:8px}
.back-top{font-size:.75rem;font-weight:700;line-height:1.4;white-space:nowrap}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr;gap:16px}.footer-office{justify-content:space-between;gap:24px}.footer-contacts{display:flex;gap:20px}}
@media(max-width:700px){.footer-contacts{display:block}.footer-legal{grid-template-columns:1fr auto;gap:6px 16px}.footer-legal>p{grid-column:1/-1}.photo-credits{max-width:360px}}
@media(max-width:420px){.site-footer{padding:20px 0 8px}.footer-identity{gap:16px}.site-footer .brand img{width:110px}.footer-main{gap:14px;padding-bottom:14px}.footer-office{gap:12px}.footer-identity p,.footer-office{font-size:.875rem}.footer-legal{padding-top:8px;gap:6px 16px}}

/* Homepage focused on the company film. */
.home-film.home-film--minimal{min-height:0;height:clamp(380px,68svh,820px);padding:0;justify-content:flex-end}
.home-film--minimal .hero-visual{height:100%;max-height:none}
.home-film--minimal .hero-visual img,.home-film--minimal .hero-video{object-position:center}
.home-film--minimal .hero-visual:after{background:linear-gradient(0deg,#0b1928b8,transparent 36%)}
.film-minimal-controls{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:28px}
.film-minimal-note{font-size:.75rem;color:#e7edf3;line-height:1.5;text-align:right}
@media(max-width:700px){.home-film.home-film--minimal{height:auto;aspect-ratio:16/10}.film-minimal-controls{padding-bottom:14px;gap:12px}.home-film--minimal .film-toggle{top:14px;right:20px}.home-film--minimal .hero-visual:after{background:linear-gradient(0deg,#0b1928d9,transparent 55%)}}

/* Service detail pages without the repeated sidebar. */
.editorial-layout.editorial-layout--full{grid-template-columns:minmax(0,1fr)}

/* Excavation gallery: images only, shown without enlarging the supplied originals. */
.activity-section[data-sector=scavi] .activity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.activity-section[data-sector=scavi] .activity-card .gallery-open{aspect-ratio:4/3;background:#e3eaf0}
.activity-section[data-sector=scavi] .activity-card .gallery-open img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:scale-down;object-position:center}
.activity-section[data-sector=scavi] .gallery-open:hover img{transform:none}
@media(max-width:1100px){.activity-section[data-sector=scavi] .activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.activity-section[data-sector=scavi] .activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.activity-section[data-sector=scavi] .zoom-mark{width:28px;height:28px;top:8px;right:8px;font-size:1rem}}

/* The refreshed film contains its own titles and branding. */
.home-film.home-film--minimal{height:auto;aspect-ratio:16/9}
.home-film--minimal .hero-visual:after{background:none}
.home-film--minimal .film-open{background:#0b1928d9;padding:5px 15px 5px 8px;border-radius:30px;min-height:46px}
.home-film--minimal .film-minimal-note{background:#0b1928b8;padding:5px 9px}
.home-film--minimal .film-minimal-controls{padding-bottom:16px}
@media(max-width:700px){.home-film--minimal .film-minimal-controls{padding-bottom:8px}.home-film--minimal .film-open{font-size:.75rem;min-height:34px;padding:3px 10px 3px 5px;gap:7px}.home-film--minimal .play-symbol{width:27px;height:27px;font-size:.75rem}.home-film--minimal .film-toggle{top:8px;right:12px;min-height:34px;padding:6px 9px;font-size:.75rem}.home-film--minimal .film-minimal-note{font-size:.75rem;padding:3px 6px}}
@media(max-width:700px){.home-film.home-film--minimal{aspect-ratio:auto;padding-top:56.25%;padding-bottom:48px}.home-film--minimal .hero-visual{height:calc(100% - 48px)}.home-film--minimal .film-minimal-controls{position:absolute;left:0;right:0;bottom:7px;padding-bottom:0}}

/* Cinematic home: clear promise and three sectors, with one shared film. */
.home-film.home-film--cinematic{height:auto;min-height:0;aspect-ratio:16/9;padding:0;justify-content:flex-end}
.home-film--cinematic .hero-visual{width:100%;height:100%;max-height:none}
.home-film--cinematic .hero-visual:after{background:linear-gradient(90deg,#081827b8 0%,#08182730 68%,transparent),linear-gradient(0deg,#081827b8,transparent 70%)}
.cinematic-copy{position:relative;padding-block:80px 44px}
.cinematic-sectors{font-size:.8125rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;display:flex;gap:14px;align-items:center;color:#d7e9ff}
.cinematic-copy h1{font:600 clamp(3.5rem,6.2vw,6.7rem)/.99 var(--display);letter-spacing:-.6px;margin:22px 0;max-width:820px;text-wrap:balance}
.cinematic-promise{font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.6;color:#e2ebf3}
.cinematic-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}
.home-film--cinematic .film-open{background:#fff;color:var(--ink);border:0;border-radius:30px;min-height:54px;padding:5px 22px 5px 6px;font-size:.875rem;gap:14px}
.home-film--cinematic .play-symbol{background:var(--blue);color:var(--ink);width:43px;height:43px}
.cinematic-contact{font-size:.875rem;font-weight:700;border-bottom:1px solid #ffffff80;padding-block:8px;display:inline-flex;gap:20px;align-items:center}
.cinematic-contact:hover{color:#b9d9ff}.cinematic-note{font-size:.6875rem;color:#c0ceda;line-height:1.5;margin-top:22px}
@media(max-width:900px){.home-film.home-film--cinematic{height:auto;min-height:0;aspect-ratio:auto;padding-top:56.25%;display:block}.home-film--cinematic .hero-visual{height:56.25vw;aspect-ratio:16/9}.home-film--cinematic .hero-visual:after{background:linear-gradient(0deg,#121e2b,transparent 40%)}.cinematic-copy{padding-block:16px 30px}.cinematic-copy h1{font-size:clamp(2.7rem,10vw,4.4rem);margin:16px 0}.cinematic-sectors{font-size:.6875rem;letter-spacing:1px;gap:8px}.cinematic-actions{gap:14px 22px;margin-top:22px}.cinematic-contact{font-size:.8125rem}.cinematic-note{margin-top:18px}.home-film--cinematic .film-toggle{top:12px;right:16px}.home-film--cinematic .film-open{min-height:48px}.home-film--cinematic .play-symbol{width:37px;height:37px}}

/* Narrated film: optional readable transcript inside the player. */
.film-transcript{margin:0 25px 22px;padding-top:14px;border-top:1px solid #ffffff26;color:#dbe4ec;font-size:1rem;line-height:1.65}.film-transcript summary{cursor:pointer;font-size:.875rem;color:#fff;padding-block:5px}.film-transcript p{margin:14px 0}.film-player::cue{background:rgba(5,18,28,.88);color:#fff}
@media(max-width:700px){.film-transcript{margin-inline:15px;margin-bottom:18px}}

/* Expanded photographic service galleries */
.service-showcase{background:var(--paper);border-block:1px solid var(--line)}
.service-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px}
.service-showcase-photo{min-width:0;margin:0}
.service-showcase-photo .gallery-open{display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:#dfe7ed}
.service-showcase-photo .gallery-open img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.service-showcase-photo figcaption{padding-top:15px}
.service-showcase-photo h3{font:600 1.2rem/1.5 var(--font);margin:0;color:var(--ink)}
.service-showcase-note{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:24px}
.service-showcase-photo .gallery-open:focus-visible{outline-offset:5px}
@media(max-width:700px){.service-showcase-grid{grid-template-columns:1fr;gap:28px}.service-showcase-photo h3{font-size:1.1rem}.service-showcase-note{margin-top:20px}}
