:root{--navy:#3D516A;--navyDeep:#1d2e43;--navyDark:#132132;--steel:#3D4347;--ink:#25313d;--muted:#6e7780;--line:#dce3e9;--soft:#eef2f5;--white:#fff;--blueWash:#dae8f3;--wrap:1260px;--side:clamp(22px,5.5vw,92px);--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:15px;line-height:1.75;background:#fff;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}img{display:block;width:100%;object-fit:cover}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.046em;line-height:1.09}h1{font-size:clamp(43px,5.6vw,76px)}h2{font-size:clamp(32px,3.8vw,52px)}h3{font-size:clamp(19px,2vw,27px)}h1 em,h2 em,h3 em{font-style:normal;color:#82a4c5}p{color:var(--muted);max-width:70ch}p+p{margin-top:19px}ul{padding-left:1.2em}.wrap{width:min(calc(100% - var(--side)*2),var(--wrap));margin:auto}.ico,.arr{width:23px;height:23px;flex:0 0 auto}.eyebrow{font-weight:700;font-size:10px;letter-spacing:.20em;text-transform:uppercase;line-height:1.6}.micro-title{font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.section-pad{padding:clamp(80px,9vw,140px) 0}.section-heading{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,2.15fr);gap:5vw;margin-bottom:clamp(35px,5vw,75px)}.section-heading>div:last-child{max-width:830px}.section-heading p{margin-top:20px;font-size:16px}.surface{background:#f2f5f7}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:10px 0;border-bottom:1px solid currentColor;font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;line-height:1.4;transition:gap .3s var(--ease),color .2s}.text-link:hover{gap:38px;color:#7195ba}.text-link .ico{width:17px;height:17px}.skip-link{position:fixed;top:-100px;left:16px;background:white;padding:9px 14px;z-index:100}.skip-link:focus{top:10px}:focus-visible{outline:2px solid #518bbd;outline-offset:4px}
/* HEADER + FULL SCREEN INDEX */
.site-header{height:84px;position:fixed;top:0;left:0;width:100%;z-index:60;background:#fff;transition:background .3s,box-shadow .3s,height .3s}.site-header.scrolled{height:68px;box-shadow:0 8px 26px #18273912}.header-inner{height:100%;width:min(calc(100% - var(--side)*2),1440px);margin:auto;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;margin-right:auto;height:100%}.brand img{width:133px;height:auto;max-height:76px;object-fit:contain}.header-links{display:flex;align-items:center;gap:clamp(20px,3vw,48px);margin:0 32px}.header-links a{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.13em;position:relative}.header-links a::after{content:'';height:1px;position:absolute;left:0;bottom:-6px;width:0;background:var(--navy);transition:width .3s}.header-links a:hover::after{width:100%}.menu-trigger{display:flex;align-items:center;gap:19px;background:var(--navy);border:1px solid var(--navy);color:#fff;padding:12px 18px 12px 22px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;min-height:45px;transition:background .3s}.menu-trigger:hover{background:#233a55}.menu-trigger svg{width:22px;height:22px}.mega-menu{position:fixed;inset:0;z-index:100;background:var(--navyDeep);color:white;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .28s,transform .35s var(--ease),visibility .35s;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain}.mega-menu.open{visibility:visible;opacity:1;transform:none}.menu-top{display:flex;align-items:center;justify-content:space-between;padding:25px var(--side);border-bottom:1px solid #ffffff30;min-height:82px}.menu-dismiss{border:1px solid #ffffff55;background:transparent;color:white;font-size:12px;font-weight:700;display:flex;gap:20px;align-items:center;padding:10px 17px}.menu-dismiss svg{width:19px;height:19px}.menu-content{display:grid;grid-template-columns:1.55fr 1fr;flex:1;min-height:0}.menu-left{padding:clamp(20px,4vw,55px) var(--side);overflow:auto}.menu-left>nav{display:flex;flex-direction:column;border-top:1px solid #ffffff25}.menu-head-link{display:flex;gap:25px;align-items:center;border-bottom:1px solid #ffffff25;padding:7px 0;font-weight:450;font-size:clamp(28px,3.4vw,52px);line-height:1.2;letter-spacing:-.05em;transition:padding-left .25s,color .25s}.menu-head-link>span{width:18px;font-size:10px;letter-spacing:.1em;color:#a0b5c8}.menu-head-link .ico{margin-left:auto;width:23px;height:23px;opacity:.7}.menu-head-link:hover{padding-left:12px;color:#93bce3}.menu-categories{margin-top:34px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.menu-categories h3{font-size:11px;letter-spacing:.04em;font-weight:700;margin-bottom:14px}.menu-categories a{display:block;font-size:11px;color:#b6c5d2;line-height:1.45;margin:0 0 9px}.menu-categories a:hover{color:white}.menu-right{position:relative;min-height:430px;background:var(--navy)}.menu-image{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) brightness(.82);transition:opacity .3s}.menu-right::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07111fbb,transparent 60%)}.menu-right>div{position:absolute;left:7%;bottom:8%;z-index:1}.menu-right>div span{display:block;color:#d9e5f2;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.menu-right>div strong{display:block;font-size:clamp(24px,2.4vw,38px);line-height:1.2;font-weight:450;margin-top:14px}
/* HOME */
.hero-home{padding-top:84px;background:var(--navyDark);color:white}.hero-main{min-height:660px;display:grid;grid-template-columns:1fr 0.98fr}.hero-text{align-self:center;padding:80px clamp(30px,6.5vw,112px) 100px var(--side)}.hero-text .eyebrow{color:#b7cadb}.hero-text h1{font-size:clamp(45px,5.6vw,82px);max-width:630px;margin:30px 0 35px}.hero-text h1 span{display:block;color:#9bbadb}.hero-text p{color:#cbd3da;line-height:1.65;max-width:430px;font-size:16px}.hero-actions{margin-top:42px;display:flex;flex-direction:column;align-items:flex-start;gap:25px}.hero-actions>span{font-size:10px;letter-spacing:.1em;color:#8d9baa;text-transform:uppercase}.hero-media{position:relative;min-height:620px;overflow:hidden}.hero-media img{height:100%;width:100%;position:absolute;inset:0;object-position:54% 50%}.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#142131a0,transparent 45%)}.photo-caption{position:absolute;z-index:1;bottom:35px;left:35px;right:35px;display:flex;justify-content:space-between;gap:20px;color:#fff;font-weight:750;text-transform:uppercase;letter-spacing:.10em;font-size:10px}.hero-bottom{height:53px;padding:0 var(--side);background:#263d55;color:#dde7f0;display:flex;justify-content:space-between;align-items:center;gap:18px;text-transform:uppercase;font-size:9px;letter-spacing:.13em}.hero-bottom .ico{width:14px;height:14px;transform:rotate(90deg);margin-left:10px;vertical-align:middle}.discipline-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(35px,6vw,100px);align-items:center}.discipline-photo{height:460px;position:relative;overflow:hidden}.discipline-photo img{height:100%}.figure-overlay{position:absolute;left:18px;bottom:18px;background:#fff;padding:10px 17px;font-size:11px;font-weight:750;letter-spacing:.04em}.discipline-info{padding:15px 0}.discipline-info>p{font-size:15px}.discipline-info>p:first-of-type{font-size:19px;color:var(--ink);line-height:1.55;margin:28px 0}.capability-pills{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 36px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability-pill{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:16px 12px;display:flex;align-items:center;gap:12px;transition:background .2s,color .2s;font-size:12px;font-weight:680}.capability-pill .ico{color:var(--navy);width:22px;height:22px}.capability-pill:hover{background:var(--navy);color:white}.capability-pill:hover .ico{color:white}.energy-focus{background:var(--soft)}.energy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.energy-card{display:block;background:white;transition:transform .4s var(--ease),box-shadow .4s}.energy-card:hover{transform:translateY(-8px);box-shadow:0 18px 50px #263c5719}.energy-photo{height:270px;overflow:hidden}.energy-photo img{height:100%;transition:transform .7s var(--ease)}.energy-card:hover img{transform:scale(1.06)}.energy-card-foot{display:flex;align-items:center;gap:13px;padding:22px 22px 10px}.energy-card-foot>.ico{color:var(--navy)}.energy-card-foot h3{font-size:21px;flex:1}.energy-card-foot .arr{width:17px;height:17px}.energy-card>p{padding:4px 22px 25px;font-size:13px;line-height:1.65}.service-index-layout{display:grid;grid-template-columns:1.33fr .8fr;gap:50px}.service-index{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:35px 50px minmax(0,1fr) 158px 24px;align-items:center;gap:12px;min-height:75px;border-bottom:1px solid var(--line);position:relative;transition:background .25s,padding .25s}.service-row:hover{background:#f0f4f8;padding-left:9px}.sr-count{font-size:11px;color:#7b8791}.sr-icon{width:39px;height:39px;background:#e6edf3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--navy)}.sr-icon .ico{width:20px;height:20px}.sr-title{font-size:19px;font-weight:540;letter-spacing:-.03em;line-height:1.3}.sr-group{font-size:11px;color:#6e7780}.sr-arrow{width:18px;height:18px}.service-index-photo{min-height:490px;position:relative;overflow:hidden}.service-index-photo>img{position:absolute;inset:0;height:100%;transition:opacity .2s}.service-index-photo span{position:absolute;left:20px;bottom:20px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#1d2e43d9;padding:10px 14px}.section-end{margin-top:35px;text-align:right}.history-band{background:var(--navyDeep);color:white;padding:100px 0}.history-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:9vw;align-items:center}.history-grid .eyebrow{color:#aac1d7}.count-year{display:block;font-size:clamp(105px,15vw,210px);font-weight:300;line-height:1.1;letter-spacing:-.1em;color:#dfe9f2;margin:15px 0}.year-caption{color:#afc4d8;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.history-grid h2{max-width:580px}.history-grid p{color:#c6d3df;margin:35px 0;font-size:15px}.worlds-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,85px);align-items:center}.worlds-visual{height:560px;position:relative}.worlds-visual img{height:100%}.worlds-visual span{position:absolute;left:25px;bottom:25px;background:white;padding:12px 18px;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:700}.worlds-copy h2{margin:25px 0}.worlds-copy p{font-size:15px}.mini-points{display:grid;gap:15px;margin:28px 0 35px}.mini-points>span{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:650}.mini-points svg{color:var(--navy)}.partners{background:#f6f7f9}.partners .section-heading{margin-bottom:32px}.brand-line{display:grid;grid-template-columns:220px minmax(0,1fr);border-top:1px solid var(--line);padding:25px 0 30px;gap:45px}.brand-label h3{font-size:17px;font-weight:600;letter-spacing:-.02em}.brand-label p{font-size:12px;margin-top:10px}.brand-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.logo-cell{background:#fff;min-height:110px;padding:22px 12px;display:flex;align-items:center;justify-content:center;border:1px solid #e3e8ec;transition:transform .3s,box-shadow .3s}.logo-cell:hover{transform:translateY(-3px);box-shadow:0 12px 24px #14263814}.logo-cell img{width:100%;max-height:65px;object-fit:contain}.logo-cell:has(img[src*="edilcomasca"]),.logo-cell:has(img[src*="partner-extra"]){background:#425569}.partners .text-link{margin-top:25px}
/* INSIDE PAGES */
.inner-hero{padding-top:84px}.inner-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);min-height:640px;align-items:center}.inner-copy{padding:110px 0}.inner-copy h1{margin:29px 0;max-width:680px;font-size:clamp(39px,4.6vw,64px)}.inner-copy p{font-size:16px;max-width:540px}.inner-image{height:590px;position:relative;align-self:stretch;margin:30px 0 30px}.inner-image img{height:100%}.image-note{position:absolute;left:20px;bottom:20px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:#fff;padding:13px 17px}.company-hero{background:#e9eef2}.story-layout,.service-reading{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.story-layout h2,.service-reading h2{margin-top:24px}.story-layout>div:last-child,.service-reading>div:last-child{padding-top:16px}.lead-copy{font-size:clamp(18px,2vw,23px);line-height:1.55;letter-spacing:-.025em;color:var(--ink);margin:0 0 30px}.story-layout .text-link{margin-top:25px}.values-grid,.technical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.value-card,.technical-card{min-height:265px;padding:27px 23px;background:white;border:1px solid #e0e7ed;display:flex;flex-direction:column;position:relative;transition:transform .36s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .3s}.value-card:hover,.technical-card:hover{transform:translateY(-8px);background:var(--navy);color:white;border-color:var(--navy);box-shadow:0 18px 36px #132c4a24}.value-card>.ico,.technical-card .tech-icon .ico{width:31px;height:31px;color:var(--navy);margin-bottom:30px}.value-card>span,.technical-card>span:nth-child(2){position:absolute;right:25px;top:30px;color:#8998a6;font-size:11px}.value-card h3,.technical-card h3{font-size:20px;font-weight:540}.value-card p,.technical-card p{font-size:12px;line-height:1.6;margin-top:17px}.value-card:hover .ico,.technical-card:hover .ico{color:white}.value-card:hover p,.technical-card:hover p{color:#c9d9e8}.value-card:hover span,.technical-card:hover span:nth-child(2){color:#c9d9e8}.technical-grid{grid-template-columns:repeat(3,1fr)}.technical-card{min-height:285px}.company-fusion{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.company-fusion>div:first-child{display:grid;grid-template-columns:1.15fr .75fr;gap:12px;height:480px}.company-fusion>div:first-child img{height:100%}.company-fusion>div:first-child img:last-child{align-self:end;height:76%}.company-fusion h2{margin:25px 0}.company-fusion-links{margin-top:25px;border-top:1px solid var(--line)}.company-fusion-links a{display:flex;justify-content:space-between;padding:15px 5px;border-bottom:1px solid var(--line);font-size:13px;font-weight:650}.company-fusion-links .ico{width:17px;height:17px}.rooted{background:#e8eff5}.roots-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.roots-grid h2{margin:25px 0}.roots-grid address{font-style:normal;margin:25px 0 30px;display:grid;gap:6px}.roots-grid address strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin-top:11px}.roots-grid address span{font-size:13px;color:var(--muted)}.roots-grid figure{position:relative}.roots-grid img{height:460px}.roots-grid figcaption{position:absolute;bottom:0;left:0;background:#fff;padding:12px 19px;font-size:11px;font-weight:600}.company-contact{background:var(--navyDeep);color:white}.contact-ribbon{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.contact-ribbon h2{margin-top:18px}.contact-ribbon>div:last-child{display:grid;gap:18px}.contact-ribbon>div:last-child>a:not(.text-link){display:flex;align-items:center;gap:13px;font-size:clamp(13px,1.7vw,18px);overflow-wrap:anywhere}.contact-ribbon>div:last-child .ico{width:20px;height:20px;color:#b1c7df}
.index-hero{background:var(--navyDeep);color:white}.index-intro{display:grid;grid-template-columns:1fr 2.2fr;padding:clamp(90px,10vw,145px) 0;gap:5vw;align-items:start}.index-intro h1{max-width:880px;font-size:clamp(42px,5.2vw,72px)}.index-intro p{color:#cbd8e3;margin-top:23px;max-width:580px;font-size:16px}.index-cover{height:330px;overflow:hidden}.index-cover img{height:100%;object-position:center 43%}.service-filter-head{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:38px}.service-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{border:1px solid #cbd5de;background:white;padding:10px 14px;border-radius:2px;font-size:11px;font-weight:650;transition:background .2s,color .2s}.filter-btn:hover,.filter-btn[aria-pressed="true"]{background:var(--navy);color:white;border-color:var(--navy)}.service-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.svc-tile{min-width:0;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s;background:white}.svc-tile:hover{transform:translateY(-6px);box-shadow:0 14px 36px #18344f1c}.svc-tile[hidden]{display:none!important}.svc-tile-image{height:215px;overflow:hidden}.svc-tile-image img{height:100%;transition:transform .6s}.svc-tile:hover img{transform:scale(1.06)}.svc-tile-details{padding:23px 22px 27px;position:relative;flex:1}.service-line{display:flex;align-items:center;gap:9px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--navy);font-weight:750}.service-line svg{width:16px;height:16px}.svc-tile h3{margin:16px 0;font-size:20px}.svc-tile p{font-size:12px;padding-right:18px;line-height:1.7}.round-arr{position:absolute;right:17px;bottom:15px;color:var(--navy)}.round-arr svg{width:16px;height:16px}.search-index-note{margin:30px 0;color:var(--muted);font-size:12px}.blue-cta{background:var(--navy);color:white}.blue-cta .wrap{display:grid;grid-template-columns:1fr 1.35fr;gap:5vw;align-items:center}.blue-cta .wrap>h2{max-width:700px}.blue-cta p{grid-column:2;color:#d6e0e9}.blue-cta .text-link{grid-column:2;justify-self:start}.partner-hero{background:var(--navyDeep)}.compact-editorial{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.compact-editorial>div:first-child{height:420px}.compact-editorial img{height:100%}.compact-editorial h2{margin:25px 0}.contact-hero{background:var(--navyDeep)}.contact-main{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw}.contact-panel{padding:20px 0}.contact-big{display:flex;gap:18px;align-items:center;padding:26px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;transition:background .25s}.contact-big:first-of-type{margin-top:25px;border-top:1px solid var(--line)}.contact-big>.ico{width:22px;height:22px;color:var(--navy)}.contact-big>span{flex:1;font-size:17px;font-weight:600;line-height:1.4}.contact-big small{display:block;font-size:10px;color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.11em;margin-bottom:8px}.contact-big:hover{background:var(--soft)}.contact-photo{height:480px;position:relative}.contact-photo>img{height:100%}.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.address-grid>div{background:#fff;padding:34px 30px;min-height:250px}.address-grid h3{margin:20px 0 14px}.address-grid address{font-style:normal;color:var(--muted);line-height:1.8}.address-grid a{display:inline-flex;gap:12px;align-items:center;font-weight:700;font-size:12px;margin-top:24px}.address-grid .ico{width:16px;height:16px}.contact-outro{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.contact-outro p{font-size:16px;max-width:490px;align-self:center}
/* SERVICE PAGES */
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:105px;padding:19px 0;font-size:10px;color:#667582;letter-spacing:.04em}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs>span:last-child{color:var(--navy);font-weight:700}.service-hero{background:#e9eff4}.service-hero-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:6vw;align-items:center;min-height:590px}.service-hero-text{padding:65px 0}.service-hero-text h1{font-size:clamp(39px,4.65vw,65px);margin:25px 0}.service-subtitle{font-weight:700;color:var(--navy);font-size:14px;margin:0 0 23px}.service-hero-text>p:not(.service-subtitle){font-size:15px;max-width:490px}.service-hero-text .text-link{margin-top:35px}.service-hero-photo{height:540px;position:relative}.service-hero-photo>img{height:100%}.service-hero-photo>span{position:absolute;left:0;bottom:0;padding:13px 18px;background:white;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.service-overview .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.chips span{font-size:11px;border:1px solid #d9e0e7;padding:8px 13px}.technical-card>.tech-icon{margin:0 0 20px!important}.technical-card .tech-icon svg{margin-bottom:0}.service-photo-break{height:530px;display:grid;grid-template-columns:1.5fr .7fr;gap:10px;position:relative;overflow:hidden}.photo-a,.photo-b{overflow:hidden}.service-photo-break img{height:100%}.break-caption{position:absolute;left:var(--side);bottom:35px;padding:18px 24px;background:var(--navyDeep);color:white;display:grid;gap:9px;min-width:215px}.break-caption span{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#b5cbe1}.break-caption strong{font-size:18px;font-weight:500}.process-layout,.faq-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.process-layout h2,.faq-layout h2{margin:25px 0}.process-layout>div:first-child>p{margin-top:15px}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:28px 5px;border-bottom:1px solid var(--line)}.step>strong{font-size:31px;font-weight:400;color:var(--navy);letter-spacing:-.07em}.step h3{font-size:19px}.step p{font-size:13px;margin-top:9px}.faq-list{border-top:1px solid #cbd7e2}.faq{border-bottom:1px solid #cbd7e2}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;font-size:15px;font-weight:650;line-height:1.45}.faq summary::-webkit-details-marker{display:none}.faq summary .ico{width:16px;height:16px;color:var(--navy);transition:transform .3s}.faq[open] summary .ico{transform:rotate(45deg)}.faq>div{padding:0 15px 22px 0}.faq p{font-size:13px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.directory-wrap{margin:40px 0 22px}.directory-toggle{width:100%;background:var(--soft);border:none;padding:21px 25px;text-align:left;display:flex;align-items:center;justify-content:space-between;color:var(--navyDeep);font-size:13px;font-weight:750}.directory-toggle .ico{width:18px;height:18px}.directory-toggle[aria-expanded="true"] .ico{transform:rotate(45deg)}.service-directory{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-top:none}.service-directory[hidden]{display:none}.service-directory-item{display:flex;gap:11px;align-items:center;padding:15px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.5;border-right:1px solid var(--line)}.service-directory-item.current{background:var(--navy);color:white}.service-directory-item>.ico{width:17px;height:17px}.service-directory-item .end{margin-left:auto;width:14px;height:14px}.related-section>.wrap>.text-link{margin-top:25px}
/* LEGAL + FOOTER */
.legal-top{padding-top:190px;padding-bottom:90px}.legal-top h1{margin:23px 0;font-size:clamp(38px,5vw,65px)}.legal-content{display:grid;grid-template-columns:1fr 2fr;gap:5vw;padding:0 0 120px}.legal-content>div:first-child>p{font-size:12px;background:#eff3f6;padding:24px}.legal-block{padding:28px 0;border-bottom:1px solid var(--line)}.legal-block:first-child{padding-top:0}.legal-block h2{font-size:19px;font-weight:650;letter-spacing:-.02em}.legal-block p{margin-top:15px;font-size:14px}.legal-block a{text-decoration:underline}.global-contact{background:#dfe9f1;padding:82px 0}.global-contact>.wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:center}.global-contact h2{margin-top:22px}.global-contact p{margin-bottom:20px}.footer{background:#142233;color:white;padding:70px 0 20px}.footer-main{display:grid;grid-template-columns:1.35fr .7fr 1fr;gap:7vw;padding-bottom:65px}.footer-brand>img{width:170px;height:auto;object-fit:contain}.footer-brand p{margin-top:28px;color:#b2bfcd;font-size:12px}.footer-main>div h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:25px}.footer-main>div>a{display:block;font-size:12px;margin:9px 0;color:#dae3eb;overflow-wrap:anywhere}.footer-main>div>a:hover{text-decoration:underline}.footer-main>div>p{font-size:12px;color:#a9bccb}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff35;padding-top:23px;gap:20px;color:#a5b6c6;font-size:11px}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:19px;align-items:center}.footer-bottom button{padding:0;background:none;border:none;color:inherit;font-size:11px}.footer-bottom a:hover,.footer-bottom button:hover{color:white}.cookie-banner{position:fixed;z-index:90;left:24px;bottom:24px;background:#fff;color:var(--ink);width:min(525px,calc(100vw - 48px));padding:24px 28px;border:1px solid #d3dce3;box-shadow:0 15px 75px #162c4160}.cookie-banner[hidden]{display:none}.cookie-banner strong{display:block;font-size:16px;font-weight:660}.cookie-banner p{margin-top:9px;font-size:12px}.cookie-banner a{text-decoration:underline}.cookie-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.cookie-buttons button{padding:10px 13px;border:1px solid #aebdc9;background:white;font-size:11px;font-weight:700}.cookie-buttons .btn-primary{background:var(--navy);border-color:var(--navy);color:white}.cookie-dialog{width:min(520px,calc(100vw - 30px));border:none;padding:27px 30px;color:var(--ink);box-shadow:0 20px 85px #12253580}.cookie-dialog::backdrop{background:#0a2031b8}.cookie-dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.cookie-dialog h2{font-size:24px}.cookie-dialog-top button{border:0;background:none;font-size:25px}.cookie-dialog p{font-size:12px;margin-top:18px}.toggle-line{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:15px 0;border-bottom:1px solid var(--line)}#customCursor{position:fixed;z-index:1000;pointer-events:none;top:-20px;left:-20px;width:18px;height:18px;border:1px solid var(--navy);background:#91aec64d;border-radius:50%;transform:translate3d(-50%,-50%,0);opacity:0;transition:width .25s,height .25s,opacity .1s,background .25s;mix-blend-mode:difference}#customCursor.visible{opacity:.8}#customCursor.hover{width:42px;height:42px;background:#ffffff32;border-color:#cbe3f7}
/* REVEALS AND TITLE ANIMATIONS */
[data-reveal]{opacity:1;transform:none;transition:opacity .85s var(--ease),transform .85s var(--ease)}.js-motion [data-reveal]:not(.in-view){opacity:0;transform:translateY(25px)}.animate-title{--title-duration:700ms;transition:transform var(--title-duration) var(--ease),filter var(--title-duration)}.js-motion .animate-title:not(.title-in){transform:translateY(12px);opacity:.87}.animate-title.title-in{transform:translateY(0);opacity:1}.animate-title:hover{filter:brightness(.85)}.js-motion .animate-title.title-in:hover{transform:translateY(-3px)}
@media(max-width:1100px){:root{--side:38px}.header-links{gap:18px;margin:0 8px}.menu-categories{grid-template-columns:repeat(2,1fr)}.menu-right{display:none}.menu-content{grid-template-columns:1fr}.hero-main{min-height:560px}.hero-text{padding-right:35px}.service-row{grid-template-columns:26px 40px minmax(0,1fr) 24px}.sr-group{display:none}.brand-grid{grid-template-columns:repeat(3,1fr)}.values-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){:root{--side:21px}.site-header{height:68px}.header-links{display:none}.brand img{width:104px}.menu-trigger{padding:8px 11px 8px 15px;min-height:41px}.menu-trigger span{font-size:10px}.menu-top{padding:18px var(--side);min-height:62px}.menu-left{padding:22px var(--side)}.menu-head-link{font-size:31px;padding:12px 0}.menu-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px;margin-top:28px}.menu-categories h3{font-size:11px}.menu-categories a{font-size:11px}.section-pad{padding:74px 0}.section-heading{grid-template-columns:1fr;gap:19px;margin-bottom:37px}.section-heading p{font-size:14px}h1{font-size:clamp(39px,9vw,56px)}h2{font-size:clamp(30px,7.6vw,43px)}h3{font-size:20px}.hero-home{padding-top:68px}.hero-main{display:flex;flex-direction:column-reverse;min-height:auto}.hero-media{min-height:310px;height:38vh;max-height:455px}.hero-media img{position:static;height:100%}.hero-text{padding:43px var(--side) 53px}.hero-text h1{font-size:clamp(42px,10.5vw,67px);margin:18px 0 18px}.hero-text p{font-size:14px}.hero-actions{margin-top:24px;gap:16px}.hero-bottom{height:auto;min-height:43px;font-size:8px}.hero-bottom>span:last-child{display:none}.photo-caption{left:20px;right:20px;bottom:18px;font-size:9px}.discipline-grid,.worlds-grid,.history-grid,.story-layout,.company-fusion,.roots-grid,.contact-ribbon,.compact-editorial,.contact-main,.contact-outro,.process-layout,.faq-layout,.service-reading,.service-index-layout{grid-template-columns:1fr;gap:30px}.discipline-photo{height:325px}.discipline-info>p:first-of-type{font-size:17px}.energy-grid{grid-template-columns:1fr;gap:14px}.energy-photo{height:260px}.energy-card-foot h3{font-size:20px}.service-index-photo{display:none}.service-row{grid-template-columns:25px 38px minmax(0,1fr) 17px;min-height:66px;gap:8px}.sr-icon{width:34px;height:34px}.sr-title{font-size:15px}.service-row .ico{width:18px;height:18px}.history-band{padding:77px 0}.count-year{font-size:120px;margin:10px 0 23px}.worlds-visual{height:315px}.worlds-copy h2{margin:18px 0}.brand-line{grid-template-columns:1fr;gap:22px}.brand-grid{grid-template-columns:repeat(2,1fr)}.logo-cell{min-height:90px}.inner-hero{padding-top:68px}.inner-grid{grid-template-columns:1fr;gap:0;min-height:auto}.inner-copy{padding:72px 0 35px}.inner-copy h1{font-size:43px}.inner-image{margin:0;height:340px}.story-layout>div:last-child,.service-reading>div:last-child{padding-top:0}.values-grid,.technical-grid{grid-template-columns:1fr 1fr;gap:10px}.value-card,.technical-card{padding:22px 18px;min-height:238px}.value-card h3,.technical-card h3{font-size:17px}.company-fusion>div:first-child{height:330px}.roots-grid img{height:320px}.contact-ribbon>div:last-child>a:not(.text-link){font-size:14px}.index-intro{grid-template-columns:1fr;gap:18px;padding:80px 0 70px}.index-intro h1{font-size:43px}.index-intro p{font-size:14px}.index-cover{height:220px}.service-filter-head{display:block}.service-filters{margin-top:15px}.filter-btn{padding:9px 11px}.service-tiles,.related-grid{grid-template-columns:1fr 1fr;gap:12px}.svc-tile-image{height:155px}.svc-tile-details{padding:14px 13px 28px}.svc-tile h3{font-size:17px}.svc-tile p{font-size:11px}.service-line{font-size:9px}.blue-cta .wrap{grid-template-columns:1fr;gap:20px}.blue-cta p,.blue-cta .text-link{grid-column:1}.breadcrumbs{margin-top:73px;padding:15px 0;gap:8px;font-size:10px}.service-hero-grid{grid-template-columns:1fr;gap:0;min-height:auto}.service-hero-text{padding:54px 0 40px}.service-hero-text h1{font-size:clamp(36px,9vw,52px);margin:18px 0}.service-hero-photo{height:340px}.service-overview{padding-top:75px}.service-photo-break{height:310px;grid-template-columns:1.4fr .6fr}.break-caption{bottom:14px;left:14px;padding:9px 13px;min-width:unset}.break-caption strong{font-size:13px}.step{grid-template-columns:45px 1fr;gap:9px}.step>strong{font-size:24px}.service-directory{grid-template-columns:1fr 1fr}.contact-photo{height:300px}.contact-big>span{font-size:14px}.address-grid{grid-template-columns:1fr}.contact-outro{gap:20px}.global-contact{padding:70px 0}.global-contact>.wrap{grid-template-columns:1fr;gap:20px}.footer{padding-top:50px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:40px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start}.legal-top{padding-top:140px;padding-bottom:55px}.legal-content{grid-template-columns:1fr;gap:25px}.legal-block h2{font-size:17px}#customCursor{display:none}}
@media(max-width:420px){:root{--side:18px}.hero-media{min-height:250px}.values-grid,.technical-grid,.service-tiles,.related-grid{grid-template-columns:1fr}.value-card,.technical-card{min-height:auto}.service-tiles .svc-tile-image,.related-grid .svc-tile-image{height:205px}.service-directory{grid-template-columns:1fr}.menu-head-link{font-size:27px}.brand-grid{gap:7px}.logo-cell{padding:14px 9px}.contact-big>span{font-size:12px}.contact-big>.ico{width:17px;height:17px}}
@media(hover:none){#customCursor{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.js-motion [data-reveal]:not(.in-view){opacity:1;transform:none}.js-motion .animate-title:not(.title-in){opacity:1;transform:none}}


/* V4 — rifiniture mirate, il layout approvato resta intatto */
.site-header .brand img{width:110px;max-height:59px;object-fit:contain}
.site-header.scrolled .brand img{width:101px;max-height:53px}
/* Schede partner: fondo scuro per loghi monocromatici bianchi */
.partners{background:#f2f5f7}
.partners .section-heading h2,.partners .brand-label h3{color:#20344d!important;opacity:1}
.partners .section-heading h2 em{color:#3D516A}
.partners .brand-label h3{font-weight:700}
.partners .brand-label p,.partners .section-heading p{color:#495869}
.partners .brand-line{border-color:#c6d0d9}
.partners .logo-cell,.partners .logo-cell:has(img[src*="edilcomasca"]),.partners .logo-cell:has(img[src*="partner-extra"]){background:#253b53;border-color:#435973;box-shadow:0 10px 20px #1525380d;transition:background .35s,transform .35s var(--ease),box-shadow .35s}
.partners .logo-cell:hover{background:#304d6b;transform:translateY(-5px);box-shadow:0 16px 28px #0c203b2a}
.partners .logo-cell img{object-fit:contain;max-height:74px}
.partner-hero h1,.partner-hero h1 em{color:#20344d!important}
/* Intro animata per tutti i titoli di contenuto, senza spostare il layout */
.motion-heading{backface-visibility:hidden;transform-origin:left center;will-change:transform,opacity,filter;transition:transform .7s var(--ease),opacity .65s ease,filter .7s ease}
.js-motion .motion-heading:not(.in-view):not(.title-in){opacity:0;transform:translate3d(0,18px,0);filter:blur(4px)}
.motion-heading.in-view,.motion-heading.title-in{opacity:1;filter:blur(0)}
/* Uscita sfumata, ingresso morbido al cambio pagina */
.page-transition{position:fixed;inset:0;z-index:2000;background:#20344d;opacity:0;pointer-events:none;transition:opacity .28s ease-in-out;will-change:opacity}
.page-transition.is-leaving,.page-transition.is-arriving{opacity:1}
.page-transition.is-arriving{transition-duration:.44s}
@media(max-width:760px){.site-header .brand img{width:96px;max-height:52px}.site-header.scrolled .brand img{width:94px;max-height:51px}.partners .logo-cell{min-height:94px}}
@media(prefers-reduced-motion:reduce){.page-transition{display:none!important}.motion-heading{transform:none!important;filter:none!important;opacity:1!important;transition:none!important}}

/* Contrasto differenziato: partner monocromatici chiari su navy, marchi fornitori a colori sul bianco. */
.partners .brand-partners .logo-cell{background:#253b53;border-color:#435973}
.partners .brand-partners .logo-cell:hover{background:#304d6b}
.partners .brand-suppliers .logo-cell,.partners .brand-suppliers .logo-cell:has(img){background:#fff;border-color:#d9e2e9}
.partners .brand-suppliers .logo-cell:hover{background:#f1f5f9}
@media(hover:hover){main .motion-heading.in-view:hover{transform:translate3d(0,-3px,0)}}
