:root{--green:#1a3c2f;--bright:#22ac46;--deep:#102f22;--cream:#f6f4ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--green);background:white}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button{background:none;border:0}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #74d984;outline-offset:4px}.mobile{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:0}.container{width:89.744%;margin:auto}.topbar{height:40px;background:#282d2b;color:#ccc;display:flex;align-items:center;justify-content:space-between;padding:0 5.128%;font-size:14px}.latest{display:flex;gap:6px;align-items:center;white-space:nowrap}.latest>span:last-child,.latest>span:nth-child(3){color:#279845}.topbar nav{display:flex;gap:22px;align-items:center}.topbar nav button{padding:0;color:#ccc}.main-header{height:70px;background:#353c39;display:flex;align-items:center;gap:40px;padding:0 5.128%;color:#eee}.wordmark{width:207px;flex-shrink:0}.main-header nav{display:flex;gap:40px;margin-left:auto;align-items:center;font-size:16px;white-space:nowrap}.contact,.solid-button{background:#10351c;color:white;text-transform:uppercase;font-size:12px;font-weight:bold;padding:14px 25px;border-radius:3px;text-align:center;white-space:nowrap}.contact{min-width:130px}.hero{position:relative}.hero picture,.hero picture img{display:block;width:100%}.play{position:absolute;width:5%;height:10%;left:47.5%;top:30%;border-radius:50%}.play:hover{box-shadow:0 0 0 3px #ffffff88}.filiera{background:var(--green);color:#d1dfd4;padding-top:64px;overflow:hidden}.filiera h2{text-align:center;color:var(--bright);text-transform:uppercase;font-size:30px;line-height:1.2;margin-bottom:65px}.chain-scroll{overflow-x:auto;scrollbar-width:none}.chain-scroll::-webkit-scrollbar{display:none}.chain{width:100%;min-width:1300px}.phases{display:grid;grid-template-columns:repeat(9,1fr);padding-left:8.59%;width:105.5%;height:280px}.phase{padding-right:24px}.phase img{height:155px;object-fit:contain}.phase strong{font-size:40px;color:var(--bright);display:block;font-weight:400;line-height:48px}.phase p{font-size:14px;line-height:16px;max-width:135px}.phase .short{display:none}.group-row{height:60px;background:#224d3b;display:flex;align-items:center;padding-left:5.128%}.group-row>img{width:195px}.group-dots{display:grid;grid-template-columns:repeat(9,1fr);flex:1;align-items:center;height:100%}.dot{display:block;width:9px;height:9px;border-radius:50%;background:#e3eee2;box-shadow:0 0 8px #cde4d1;margin:auto}.companies-label{font-size:11px;color:var(--bright);text-transform:uppercase;padding:20px 5.128% 16px}.company{height:60px;display:grid;grid-template-columns:195px repeat(9,1fr);margin-left:5.128%;border-top:1px dotted #26934144;align-items:center}.company>a{height:59px;display:flex;align-items:center}.company img{width:195px;height:59px;object-fit:contain}.company>span{height:100%;display:flex;align-items:center;justify-content:center;border-left:1px dotted #26934144}.company[hidden]{display:none}.show-more{display:block;text-transform:uppercase;font-size:14px;color:#98b09f;margin:70px auto 0;padding:15px 20px}.filiera>.show-more{margin-top:65px;margin-bottom:65px}.sectors{padding:120px 0;overflow:hidden}.section-intro{text-align:center;margin-bottom:40px}.tag{display:inline-block;background:var(--bright);color:white;font-size:12px;line-height:24px;padding:0 9px;text-transform:uppercase}.section-intro h2,h2{font-size:50px;line-height:1.14;font-weight:700}.section-intro h2{margin:12px 0 6px}.section-intro p{font-size:16px;color:#333}.sector-carousel{position:relative;height:690px}.sector-track{height:100%;display:flex;gap:20px;align-items:flex-start;justify-content:center;position:relative;left:0}.sector-card{width:25.128vw;height:580px;flex-shrink:0;position:relative;border-radius:6px;overflow:hidden;color:white}.sector-card img{width:100%;height:100%;object-fit:cover}.sector-card.active{width:33.077vw;height:690px}.sector-card.edge{height:380px;margin-top:200px}.sector-card:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000d)}.sector-card>div{position:absolute;bottom:20px;left:20px;right:20px;z-index:1}.sector-card h3{font-size:36px}.sector-card p{font-size:16px;line-height:20px;margin:7px 0 16px}.sector-card:not(.active) p,.sector-card:not(.active) .discover{display:none}.discover{display:inline-block;background:white;color:#179331;padding:5px 14px;font-size:16px}.carousel-arrow{position:absolute;top:46%;background:white;color:var(--green);width:48px;height:48px;border-radius:50%;font-size:26px;z-index:2}.prev{left:8.3%}.next{right:8.3%}.projects{background:var(--cream);padding:60px 0 74px;border-top:3px solid var(--bright)}.projects h2{margin:8px 0 24px}.project-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px}.project-intro p{font-size:16px;line-height:20px;color:#62685f;padding-top:20px;position:relative}.project-intro p:before{content:'';position:absolute;top:0;left:0;width:70px;height:2px;background:var(--bright)}.solid-button{display:inline-block;min-width:200px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{height:360px;position:relative;overflow:hidden;border-radius:5px;border-top:4px solid var(--bright);color:white}.project-card>img{width:100%;height:100%;object-fit:cover}.project-card:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#000d)}.project-card>div{position:absolute;z-index:1;left:19px;right:19px;bottom:20px}.project-card h3{font-size:36px;line-height:1.18}.project-card p{font-size:16px;line-height:20px;margin:10px 0 20px}.news{background:linear-gradient(var(--green),#245640);color:#f4f5f0;padding:80px 0 70px}.news h2{margin:14px 0 28px}.filter-fields{padding:25px 20px 20px;display:grid;grid-template-columns:repeat(4,1fr) 136px;gap:12px;background:#173b2d}.filter-fields label{font-size:10px;text-transform:uppercase}.filter-fields select{display:block;width:100%;margin-top:13px;border:0;background:#315844;color:#d0dccf;height:50px;padding:0 12px;font-size:16px}.search-button{border:1px solid #adbeaf;color:white;text-transform:uppercase;margin-top:25px}.filter-bottom{border-bottom:1px solid #53705d;padding:12px 20px 25px;display:flex;align-items:center;justify-content:space-between;min-height:65px}.filter-bottom button{text-transform:uppercase;font-size:14px;color:#d1dfcf;text-decoration:underline}.filter-chip{display:inline-flex;gap:10px;border:1px solid #a5bdad;padding:5px 10px;margin-right:8px;font-size:12px;text-transform:uppercase}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.news-card{background:#173b2d;padding:24px 16px;min-height:266px;display:flex;flex-direction:column}.news-meta{display:flex;justify-content:space-between;align-items:center;color:#2bab49;font-size:14px}.news-card .tag{font-size:12px;line-height:20px}.news-card time{font-size:12px;margin:12px 0 14px}.news-card h3{font-size:16px;line-height:20px;max-width:390px}.news-card p{font-size:14px;line-height:20px;margin:28px 0;color:#c2d1c1}.news-card>a{font-size:14px;color:var(--bright);margin-top:auto}.news-card[hidden]{display:none}.news .show-more{margin-top:52px}footer{background:var(--deep);color:#cad7ca;padding:40px 0}.footer-desktop{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}.footer-desktop>a>img{width:182px}.footer-desktop h3{font-size:12px;border-bottom:1px solid #49604a;padding-bottom:12px;margin-bottom:9px}.footer-desktop div a{font-size:12px;line-height:22px;display:block}.copyright{font-size:12px;border-top:1px solid #49604a;margin-top:30px;padding-top:15px}.copyright button{padding:0}dialog{border:0;border-radius:8px;padding:40px;max-width:min(1000px,94vw);background:var(--deep);color:white}dialog::backdrop{background:#000c}dialog video{width:100%;max-height:75vh;display:block}.close-dialog{position:absolute;right:8px;top:4px;font-size:30px}.dialog-body{margin-top:25px;line-height:1.6}.dialog-body input{padding:10px;width:100%;margin:12px 0}.dialog-body a{display:block;color:#70d688}.dialog-body h3{margin:15px 0}
@media(min-width:701px) and (max-width:1400px){.main-header{gap:20px}.main-header nav{gap:20px;font-size:13px}.wordmark{width:180px}.topbar{font-size:11px}.topbar nav{gap:12px}.section-intro h2,h2{font-size:42px}.sector-card h3,.project-card h3{font-size:28px}.sector-carousel{height:44.23vw}.sector-card{height:37.18vw}.sector-card.active{height:44.23vw}.sector-card.edge{height:24.36vw;margin-top:12.82vw}.chain{min-width:1300px}.filiera h2{font-size:26px}}
@media(max-width:1000px) and (min-width:701px){.main-header nav{gap:12px;font-size:11px}.main-header{gap:15px}.wordmark{width:140px}.contact{min-width:90px;padding:12px}.topbar nav a:nth-last-child(-n+2){display:none}.project-grid{gap:12px}.project-card h3{font-size:23px}.project-card p{font-size:14px}.news-grid{gap:12px}.filter-fields{grid-template-columns:repeat(2,1fr)}.search-button{height:40px;margin:0}.sector-card h3{font-size:23px}.filiera h2{font-size:22px}}
@media(max-width:700px){.desktop{display:none!important}.mobile{display:block!important}.container{width:auto;margin:0 20px}.topbar{height:50px;padding:0 20px;font-size:12px}.latest{gap:9px}.topbar nav{display:none}.bell{color:var(--bright);font-size:20px}.main-header{height:60px;padding:0 20px;gap:0;justify-content:space-between}.wordmark{position:absolute;left:50%;transform:translateX(-50%);width:138px}.menu-toggle{font-size:20px;color:#bcc3bc;padding:0}.contact{min-width:70px;padding:10px;font-size:10px}.main-header nav{display:none;position:absolute;top:110px;left:0;right:0;z-index:10;background:#173b2d;margin:0;padding:25px;font-size:18px;white-space:normal;box-shadow:0 10px 20px #0005}.main-header nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.hero picture img{width:100%;height:auto}.play{width:16%;height:7%;left:42%;top:18.5%}.filiera{padding-top:34px}.filiera h2{font-size:22px;line-height:27px;margin-bottom:20px}.scroll-hint{text-align:center;text-transform:uppercase;font-size:12px;color:#a3b8a6;margin-bottom:22px}.chain{min-width:0;width:1300px}.phases{height:110px;padding-left:20px;width:1220px;grid-template-columns:repeat(9,1fr)}.phase img{display:none}.phase strong{font-size:40px;line-height:48px}.phase p{font-size:12px;line-height:14px;max-width:90px}.phase .long{display:none}.phase .short{display:block}.group-row{height:70px;padding-left:20px}.group-row>img{width:106px}.group-dots{grid-template-columns:repeat(9,120px);flex:none}.companies-label{padding:20px 20px 22px;font-size:11px}.company{height:70px;margin-left:20px;grid-template-columns:120px repeat(9,120px)}.company>a{height:69px}.company img{width:110px;height:auto}.dot{width:8px;height:8px}.filiera>.show-more{margin-top:30px;margin-bottom:32px;font-size:12px}.sectors{padding:60px 0 52px}.section-intro{padding:0 20px;margin-bottom:20px}.section-intro .tag{font-size:14px;line-height:24px}.section-intro h2{font-size:36px;line-height:41px;max-width:300px;margin:25px auto 12px}.section-intro p{font-size:16px;line-height:18px;max-width:350px;margin:auto}.sector-carousel{height:462px}.sector-track{gap:10px}.sector-card,.sector-card.active{width:270px;height:462px;border-radius:0}.sector-card:not(.active){height:369px;margin-top:0}.sector-card>div,.sector-card:after{display:none}.carousel-arrow{width:34px;height:34px;font-size:20px;top:45%;opacity:.85}.prev{left:6px}.next{right:6px}.sector-caption{text-align:center;padding:22px 20px 0}.sector-caption p{font-size:16px;line-height:18px;min-height:36px}.sector-caption h3{font-size:24px;margin:24px 0}.sector-caption a{text-transform:uppercase;color:#269d3d;font-weight:bold;font-size:16px;display:block;margin-top:30px}.projects{padding:50px 0 64px}.projects .tag{font-size:10px;line-height:22px}.projects h2{font-size:36px;line-height:41px;margin:24px 0 28px;max-width:365px}.project-intro{margin-bottom:38px}.project-intro p{font-size:16px;line-height:22px;padding-top:25px}.project-intro p:before{width:70px}.project-grid{grid-template-columns:1fr;gap:27px}.project-card{height:287px;border-radius:0}.project-card>div{left:15px;right:15px;bottom:20px}.project-card h3{font-size:22px;line-height:27px}.project-card p{font-size:14px;line-height:17px;margin:11px 0 23px}.discover{font-size:14px;padding:6px 16px}.projects .solid-button{margin-top:25px;line-height:16px;padding:14px;width:100%;font-size:12px}.news{padding:80px 0 84px}.news h2{font-size:36px;line-height:41px;max-width:310px;margin:16px 0 42px}.filter-toggle{width:100%;text-align:left;padding:0 0 20px;font-size:16px;position:relative;border-bottom:1px solid #47644e}.filter-toggle span{position:absolute;right:0;top:-15px;width:46px;height:46px;border:1px solid #9db39c;border-radius:50%;display:grid;place-items:center;font-size:27px}#filters{display:none}#filters.open{display:block;margin-top:15px}.filter-fields{grid-template-columns:1fr;padding:15px}.filter-fields select{font-size:16px}.search-button{height:44px;margin-top:8px}.filter-bottom{padding:12px 0;gap:10px;align-items:flex-start}.filter-chip{margin-bottom:8px}.news-grid{grid-template-columns:1fr;gap:10px;margin-top:28px}.news-card{min-height:266px;padding:24px 16px}.news-card time{margin:12px 0 14px}.news-card h3{font-size:16px;line-height:20px}.news-card p{margin:28px 0 8px;font-size:14px;line-height:20px}.news-card>a{margin-top:auto}.news .show-more{margin-top:55px;font-size:12px}footer{padding:34px 20px 38px}.footer-mobile>img{width:262px;margin-bottom:32px}.footer-mobile address{font-style:normal;font-size:12px;line-height:20px;border-top:1px solid #405540;border-bottom:1px solid #405540;padding:30px 0 36px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:30px 0;border-bottom:1px solid #405540}.footer-links a,.footer-links button{display:block;font-size:12px;line-height:38px;padding:0;text-align:left}.footer-mobile>p{font-size:12px;padding-top:30px;line-height:18px}dialog{padding:40px 20px}.tag{font-size:12px}.hero{background:var(--green)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-copy{position:absolute;inset:0;color:#fff}.hero h1{position:absolute;left:5.128%;top:65.55%;font-size:3.20513vw;line-height:1.16;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:#20a63b}.hero-stats{margin:0}.hero-stats>div{position:absolute}.hero-stats dt{font-size:4.1859vw;font-weight:300;line-height:1.2;letter-spacing:-.055em}.hero-stats dt span{color:#22ab3f}.hero-stats dd{margin:5px 0 0;font-size:1.02564vw}.stat-years{left:52.85%;top:63.5%}.stat-companies{left:65.66%;top:63.5%}.stat-people{left:57.2%;top:77.96%}.hero .play{left:50%;top:35.2%;transform:translate(-50%,-50%);width:3.85vw;height:3.85vw;background:#102f37a6;color:white;display:grid;place-items:center;font-size:1.65vw;padding-left:.3vw}
@media(max-width:700px){.hero h1{left:4.975%;top:52.02%;font-size:10.44776vw;letter-spacing:-.04em;line-height:1.14}.hero-stats dt{font-size:11.9403vw;line-height:1.15;font-weight:300}.hero-stats dd{font-size:3.9801vw;margin-top:8px}.stat-years{left:4.975%;top:68.18%}.stat-people{left:4.975%;top:77.73%}.stat-companies{left:4.975%;top:87.29%}.hero .play{width:11.94vw;height:11.94vw;top:21.48%;font-size:5vw;padding-left:1vw}}
@font-face{font-family:Home Sans;src:url('../assets/home/LiberationSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Home Sans;src:url('../assets/home/LiberationSans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}body{font-family:'Home Sans',Arial,Helvetica,sans-serif}.hero h1{white-space:nowrap}.wordmark img{width:100%}
@media(min-width:701px){.phases{width:1640px;min-width:105.5%}.company{grid-template-columns:208px repeat(9,168px)}.group-dots{grid-template-columns:repeat(9,168px);flex:none}.group-row>img{width:195px;margin-right:13px}.chain{overflow:hidden}.filiera{padding-bottom:12px}.projects{padding-bottom:66px}.news{padding-bottom:66px}footer{padding-bottom:27px}}
@media(min-width:701px) and (max-width:1000px){.main-header nav{gap:9px;font-size:10px}.wordmark{width:125px}.main-header{gap:10px}.topbar{padding:0 3%;font-size:10px}.topbar nav{gap:8px}}
@media(max-width:700px){.hero h1{font-size:10.44776vw;letter-spacing:-.035em}.hero-stats dt{font-family:'Home Sans',Arial,sans-serif;font-weight:400}.sectors{padding-bottom:67px}.news{padding-bottom:54px}.footer-links:first-of-type>div:first-child>a:nth-child(5){display:none}.footer-links{padding:24px 0}.footer-mobile address{padding-bottom:30px}}
.hero h1{letter-spacing:0}.sector-card img[src*="infrastructure"]{transform:scale(1.159);transform-origin:center bottom}.sector-card.edge>div{display:none}.chain-scroll{position:relative}.company>a picture{width:100%}.company>a img{max-height:100%}.filter-chip button{font-size:12px;text-decoration:none;padding:0}.filter-chip{line-height:18px}
@media(max-width:700px){.filiera{padding-bottom:4px}.projects{padding-bottom:46px}.news{padding-bottom:40px}.company>a img{width:112px;height:70px;object-fit:contain}.hero-stats dd{margin-top:10px}}

.topbar{background:#2c2c2c;border-bottom:1px solid #444;color:#eee}
.latest-arrow{width:16px;height:16px;margin-right:4px}
.latest>span:nth-child(3){text-decoration:underline;text-underline-offset:3px;color:#0fa43f}
.topbar nav{gap:0}
.topbar nav>*{display:inline-flex;align-items:center;gap:8px;color:#eee}
.topbar nav>*+*{padding-left:20px;margin-left:12px;background:url('../assets/Vector (3).svg') left center/1px 16px no-repeat}
.topbar nav img{display:block;flex-shrink:0}
.main-header{height:60px;background:linear-gradient(#212527,#353b3e)}
.main-header nav{gap:0}
.main-header nav a+a{padding-left:20px;margin-left:20px;background:url('../assets/Vector (3).svg') left center/1px 16px no-repeat}
.contact,.solid-button{background:#0f2e18}
.contact{min-width:130px;height:40px;display:flex;align-items:center;justify-content:center;padding:0 20px}
.menu-toggle{width:20px;height:14px;position:relative}
.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:'';position:absolute;left:0;right:0;height:1.5px;background:#e8ebe9;transition:transform .2s}
.menu-toggle span{top:6px}.menu-toggle:before{top:0}.menu-toggle:after{bottom:0}
.menu-toggle.is-open span{opacity:0}.menu-toggle.is-open:before{transform:translateY(6px) rotate(45deg)}.menu-toggle.is-open:after{transform:translateY(-6px) rotate(-45deg)}
.hero .play{background:none;padding:0;width:60px;height:60px;top:36.55%}
.hero .play img{width:100%;height:100%}
@media(min-width:701px){.hero h1{top:65.99%}.stat-years,.stat-companies{top:63.97%}.stat-people{top:78.24%}}
.hero-stats dt span{margin-left:.12em;font-size:1.08em}
.chain-wrap{position:relative}
.chain-arrow{position:absolute;z-index:3;top:166px;width:32px;height:32px;padding:0;border-radius:50%}
.chain-arrow img{width:100%;height:100%}
.prev-phase{left:80px}.next-phase{right:56px}
.chain-arrow:hover{filter:brightness(1.12)}
.phases{border-bottom:1px solid #8d9e97}
.phase strong{color:#22a73e}
.phase p{color:#fff}
.group-row{background:#23523f;margin-top:24px}
.dot{width:11px;height:11px;background:#fff;box-shadow:0 0 0 6.5px rgba(255,255,255,.1)}
.company{border-top:0;border-bottom:1px dashed #146e35}
.company>a{border-bottom:0}
.company>span{border-left:1px dashed #146e35}
.companies-label{font-weight:700;color:#22a73e}
.tag{font-weight:700;background:#22a73e}
.sectors .tag{background:#169d48}
.sectors h2{color:#064e2b}
.projects h2{color:#1a3c2e}
.project-intro p:before{width:80px;height:3px;background:#22a73e}
.discover{font-weight:700;color:#00943c;border-radius:4px;height:32px;line-height:32px;padding:0 14px;min-width:99px;text-align:center;transition:background .2s}
.discover:hover{background:#e9f6ee}
.sector-card p{max-width:330px}
.carousel-arrow{background:none;padding:0}
.carousel-arrow img{width:100%;height:100%}
.solid-button{font-size:14px;letter-spacing:.02em}
.filter-fields{background:#1a3c2e}
.filter-fields label{font-weight:700;color:#fff}
.filter-fields select{appearance:none;-webkit-appearance:none;background:#2a493c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' fill='none' stroke='white' stroke-width='1.5'%3E%3Cpath d='M1 1l7 7 7-7'/%3E%3C/svg%3E") right 16px center no-repeat;color:#fff;padding:0 44px 0 12px;cursor:pointer}
.search-button{font-weight:700;font-size:16px;border-color:#fff}
.filter-chip{font-size:14px;border-color:#fff;color:#fff;padding:6px 12px}
.filter-chip button{font-size:14px}
.filter-bottom button{color:#fff}
.news-card{background:#1a3c2e}
.news-card .tag{background:#00943c}
.news-card h3{padding-bottom:16px;border-bottom:1px solid #325044}
.news-card p{margin:24px 0 28px;color:#fff}
.news-card>a{font-weight:700;color:#22a73e}
footer{background:#0e2e21}
.footer-desktop{grid-template-columns:292px repeat(4,1fr);gap:20px}
.footer-desktop>a{mix-blend-mode:lighten}
.footer-desktop h3{border-color:#29453a}
.copyright{border-color:#29453a}
@media(max-width:700px){
.topbar{height:50px}
.main-header{height:60px}
.contact{min-width:70px;height:30px;padding:0 10px}
.hero .play{width:48px;height:48px;top:21.4%}
.carousel-arrow{display:none}
.phases{border-bottom:0}
.phase p{font-weight:700}
.group-row{margin-top:0}
.chain-wrap .chain-arrow{display:none}
.scroll-hint span{font-size:16px;margin-right:8px}
.discover{height:32px;line-height:32px;min-width:88px;font-size:14px}
.sector-caption h3{color:#000}
.sector-caption a{text-decoration:underline;text-underline-offset:3px;color:#00943c}
.filter-toggle span{border-color:#fff;color:#fff}
}
.topbar nav>button+*,.topbar nav>*+button{padding-left:20px;margin-left:12px;background:url('../assets/Vector (3).svg') left center/1px 16px no-repeat}
.latest{margin-left:-24px}
@media(min-width:701px){.hero-stats dd{margin-top:-4px}}
.next-phase{right:40px}
.chain-wrap:after{content:'';position:absolute;top:0;right:0;bottom:0;width:112px;background:linear-gradient(90deg,rgba(26,60,46,0),#1a3c2e 90%);pointer-events:none;z-index:2}
.filiera>.show-more{margin-bottom:40px}
.news-card p{margin-bottom:22px}
@media(max-width:700px){
.latest{margin-left:0}
.hero-stats dd{margin-top:10px}
.chain-wrap:after{display:none}
.filiera>.show-more{margin-bottom:32px}
.sectors{padding-bottom:58px}
.news-grid{gap:12px}
.news-card p{margin:24px 0 8px}
.news .show-more{margin-top:36px;padding-bottom:5px}
.news{padding-bottom:0}
}
@media(max-width:700px){.news{padding-bottom:48px}.projects{padding-bottom:51px}footer{padding-bottom:46px}}
@media(max-width:700px){
.phases{grid-template-columns:123px repeat(8,113px);width:auto}
.phase{padding:0 0 0 14px}.phase:first-child{padding-left:0}
.phase p{max-width:90px;color:#fff}
.group-row>img{margin-right:17px}
.group-dots{grid-template-columns:repeat(9,113px)}
.company{height:71px;grid-template-columns:123px repeat(9,113px)}
.company>a{height:70px}
.chain{width:1160px}
}
@media(max-width:700px){.filiera{padding-top:39px}.scroll-hint{margin-top:8px;margin-bottom:24px}.filiera>.show-more{margin-bottom:19px}.hero h1{top:52.5%}.stat-years{top:68.6%}.stat-people{top:78.15%}.stat-companies{top:87.7%}}
@media(max-width:700px){
.sector-card,.sector-card.active{border-radius:8px}
.sector-caption p{color:#555}
.projects h2{margin:16px 0 20px}
.filter-toggle{border-bottom:0;border-top:1px solid #47644e;padding:22px 0 0}
.filter-toggle span{top:10px}
.news-grid{margin-top:24px}
.news-card h3{padding-bottom:12px}
.news-card p{margin:18px 0 8px}
.news .show-more{margin-top:14px}
}
@media(max-width:700px){.projects{padding-bottom:67px}.news{padding-bottom:93px}}
@media(max-width:700px){.projects h2{margin:20px 0 24px}.projects{padding-bottom:59px}}
@media(min-width:701px){.chain{width:1720px;min-width:0;overflow:visible}.phases{width:auto;min-width:0;padding-left:134px;grid-template-columns:repeat(9,168px)}}
@media(min-width:701px) and (max-width:1400px){.main-header nav a+a{padding-left:12px;margin-left:12px}.topbar nav>*+*{padding-left:12px;margin-left:8px}}
@media(min-width:701px) and (max-width:1000px){.main-header nav a+a{padding-left:6px;margin-left:6px;background:none}.contact{min-width:0;padding:0 12px}.latest{margin-left:0}.topbar nav>*+*{padding-left:8px;margin-left:4px}}
@media(min-width:701px){.company{margin-left:80px}.group-row{padding-left:80px}.companies-label{padding-left:80px}}
.main-header nav a[aria-current=page]{color:#22a73e}
.company .logo-l,.company-desc{display:none}
@media(min-width:701px){
.filiera.is-short .phases{border-bottom-color:transparent}
.filiera.is-short .group-row{height:135px;margin-top:19px}
.filiera.is-short .group-row>img{width:200px;margin-right:8px}
.filiera.is-short .company{height:135px}
.filiera.is-short .company>a{height:134px;flex-direction:column;align-items:flex-start;justify-content:center}
.filiera.is-short .company .logo-s{display:none}
.filiera.is-short .company .logo-l{display:block;width:204px;height:auto;max-height:none;object-fit:initial}
.filiera.is-short .company-desc{display:block;font-size:12px;line-height:16px;color:#b8c5be;max-width:200px;margin-top:4px}
.filiera.is-short .company:nth-child(6) .company-desc{opacity:.45}
.filiera.is-short .company:first-child{border-top:1px dashed #146e35}
.filiera.is-short .chain-arrow{width:48px;height:48px}
.filiera.is-short .prev-phase{left:40px}.filiera.is-short .next-phase{right:40px}
.filiera.is-short>.show-more{margin-top:5px}
}
@media(min-width:701px){.filiera.is-short .chain-arrow{top:53px}.filiera.is-short .group-row{margin-top:17px}.filiera.is-short .companies-label{padding-bottom:11px}.filiera.is-short>.show-more{margin-top:10px}}
/* Independent hero layers: the blur and tint are fully transparent at the top. */
.hero{isolation:isolate;background:#1a3c2e}
.hero-frost{position:absolute;inset:50% 0 0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(26,60,46,0) 0%,rgba(26,60,46,.72) 70%,#1a3c2e 100%);backdrop-filter:blur(17.79px);-webkit-backdrop-filter:blur(17.79px);mask-image:linear-gradient(to bottom,transparent 0%,#000 65%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 65%)}
.hero .hero-art{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-copy{z-index:3}.hero .play{z-index:4}
/* One uninterrupted rail, drawn independently of the transparent illustrations. */
.chain-wrap{--rail-y:96px}
.chain-wrap:before{content:'';position:absolute;top:var(--rail-y);left:64px;right:64px;height:1px;background:#22a73e;z-index:1;pointer-events:none}
.chain-wrap .chain-arrow,.filiera.is-short .chain-arrow{top:var(--rail-y);transform:translateY(-50%);width:48px;height:48px;z-index:4}
.chain-wrap .prev-phase,.filiera.is-short .prev-phase{left:40px}
.chain-wrap .next-phase,.filiera.is-short .next-phase{right:40px}
.phase img{position:relative;z-index:2}
.phase{position:relative}
.phase:not(:first-child):before{content:'';position:absolute;left:-14px;top:155px;bottom:-24px;border-left:1px dashed #146e35}
.group-dots{position:relative}
.group-dots:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,#146e35 0 1px,transparent 1px 168px);mask-image:repeating-linear-gradient(to bottom,#000 0 4px,transparent 4px 8px)}
.companies-label{position:relative;z-index:3;background:#1a3c2e;border:0}
.company,.filiera.is-short .company{border-top:0;border-bottom:1px dashed #146e35}
.company:first-child,.filiera.is-short .company:first-child{border-top:0}
.company .logo-s img{clip-path:inset(4px 0)}
.company .logo-l{clip-path:inset(3px 0)}
@media(max-width:700px){
 .hero-frost{inset:31% 0 0;background:linear-gradient(to bottom,rgba(26,60,46,0) 0%,rgba(26,60,46,.95) 50%,#1a3c2e 100%);mask-image:linear-gradient(to bottom,transparent,#000 45%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 45%)}
 .chain-wrap:before{display:none}
 .phase:not(:first-child):before{left:0;top:0;bottom:0}
 .group-dots:before{background:repeating-linear-gradient(90deg,#146e35 0 1px,transparent 1px 113px)}
 .company>a{position:sticky;left:20px;z-index:4;background:#1a3c2e;box-shadow:-20px 0 #1a3c2e;border-right:1px dashed #146e35}
 .company>span:nth-child(2){border-left:0}
 .company .logo-s img{clip-path:inset(9px 0)}
 .group-row>img{position:sticky;left:20px;z-index:4;background:#23523f;box-shadow:-20px 0 #23523f,17px 0 #23523f}
 .chain{overflow:visible}
}
.group-logo{width:208px;height:100%;display:flex;align-items:center;flex-shrink:0;background:#23523f}
.group-logo img{width:195px}
@media(max-width:700px){
 .group-logo{position:sticky;left:20px;z-index:4;width:123px;box-shadow:-20px 0 #23523f;border-right:1px dashed #146e35}
 .group-logo img{width:106px}
 .companies-label>span{position:sticky;left:20px}
}
/* Interactive company and phase details, shared by both table lengths. */
.phase-trigger{position:relative;z-index:2;display:block;text-align:left;width:100%;min-height:125px;padding:8px 10px;margin-left:-10px;transition:background .18s,color .18s}
.phase-trigger:hover,.phase-trigger:focus-visible{background:#009b3e;color:white}
.phase-trigger:hover strong,.phase-trigger:hover p,.phase-trigger:focus-visible strong,.phase-trigger:focus-visible p{color:white}
.company>a:hover{filter:brightness(1.15)}
.company-preview[hidden],.phase-detail[hidden]{display:none!important}
.company-preview{position:relative;width:min(1155px,calc(100vw - 340px));margin:20px 0 40px 288px;padding-top:35px}
.company-preview-close{position:absolute;right:0;top:0;display:flex;align-items:center;gap:10px;color:white;font-size:14px;padding:0}
.company-preview-close span,.phase-detail-close{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:26px;height:26px;font-size:22px;line-height:1}
.company-preview-card{background:#f6f4f0;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:50px;color:#5b5b55}
.company-preview-copy{display:flex;flex-direction:column;align-items:flex-start;padding:24px 0 16px}
.company-preview-logo{width:306px;max-width:90%;margin-bottom:30px}
.company-preview-copy p{font-size:14px;line-height:1.25;margin-bottom:16px}
.company-preview-photo{width:100%;height:100%;min-height:360px;object-fit:cover}
.company-preview-actions{display:flex;gap:18px;width:100%;margin-top:auto;padding-top:30px}
.company-preview-actions a{flex:1;text-align:center;border:1px solid #5b5b55;border-radius:3px;padding:12px 8px;text-transform:uppercase;font-size:13px;font-weight:bold}
.company-preview-actions a:first-child{background:#10351c;color:white;border-color:#10351c}
.company-preview-actions a:hover{background:#009b3e;color:white;border-color:#009b3e}
@media(max-width:700px){
 .company-preview{width:calc(100vw - 40px);margin:16px 20px 30px;position:sticky;left:20px}
 .company-preview-card{grid-template-columns:1fr;gap:20px;padding:20px}
 .company-preview-copy{padding:0}.company-preview-logo{width:240px;margin-bottom:24px}
 .company-preview-photo{min-height:0;height:230px}.company-preview-actions{gap:10px;padding-top:10px}.company-preview-actions a{font-size:11px}

}
@media(prefers-reduced-motion:reduce){.phase-trigger{transition:none}}

/* Supply-chain geometry matches the desktop/mobile reference crops. */
.phases{height:auto;align-items:stretch;border:0;padding-bottom:0}
.phase{display:flex;flex-direction:column;align-items:stretch;padding-right:24px;padding-bottom:20px;min-width:0}
.phase img{flex:none;height:155px}
.phase-trigger{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:0 10px 0;margin-left:-10px;width:calc(100% + 10px)}
.phase-trigger strong{flex:none}
.phase-trigger p{max-width:135px}
.phase:not(:first-child):before{top:155px;bottom:0}
.group-row,.filiera.is-short .group-row{margin-top:0;border-top:1px dashed #146e35;border-bottom:1px dashed #146e35}
.group-dots:before{display:none}
.group-dots .dot{position:relative}
.group-dots{background:none}
.group-dots:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#146e35 0 1px,transparent 1px 168px);mask-image:repeating-linear-gradient(to bottom,#000 0 2px,transparent 2px 4px);pointer-events:none}
.company:first-child,.filiera.is-short .company:first-child{border-top:1px dashed #146e35}
.company .logo-s{display:flex;align-items:center}
.company .logo-s img{width:195px;height:auto;max-height:none;clip-path:inset(4px 0)}
.company .logo-l{clip-path:inset(4px 0)}
.phase-detail{position:absolute;z-index:5;top:155px;left:-10px;width:780px;padding:0 10px 20px;background:#1a3c2e;color:white;border-left:1px dashed #146e35;border-right:1px dashed #146e35}
.phase-detail-number{display:block;color:#22a73e;font-size:40px;line-height:48px;font-weight:400}
.phase-detail h3{font-size:14px;line-height:16px;max-width:700px;margin:0 35px 18px 0}
.phase-detail p{font-size:16px;line-height:1.35;max-width:none;margin-top:14px}
.phase-detail-close{position:absolute;right:14px;top:4px;padding:0;color:white}
.phase.is-active>.phase-trigger{visibility:hidden}
.phase.is-active~.phase>.phase-trigger{visibility:hidden}
.phases.has-detail{min-height:var(--detail-height);overflow-anchor:none}
@media(max-width:700px){
 .phases{grid-template-columns:123px repeat(8,113px);padding-left:20px;height:auto}
 .phase{padding:0 14px 20px;min-height:96px}
 .phase:first-child{position:sticky;left:20px;z-index:6;padding-left:0;background:#1a3c2e;box-shadow:-20px 0 #1a3c2e;border-right:1px dashed #146e35}
 .phase:not(:first-child):before{top:0;bottom:0}
 .phase:nth-child(2):before{display:none}
 .phase-trigger{padding:0 6px;margin-left:-6px;width:calc(100% + 6px);min-height:0}
 .phase-trigger p{max-width:99px}
 .group-dots:after{background:repeating-linear-gradient(90deg,#146e35 0 1px,transparent 1px 113px)}
 .company .logo-s img{width:112px;height:auto;max-height:none;clip-path:inset(4px 0)}
 .phase-detail{top:0;left:8px;width:calc(100vw - 54px);padding:0 6px 20px}
 .phase:first-child .phase-detail{left:-6px}
 .phase-detail h3,.phase-detail p{font-size:14px;line-height:1.3;max-width:none}
 .phase-detail-close{right:8px}
}
/* Keep raster separators out of the independently drawn table grid. */
@media(min-width:701px){
 .phase img{height:165px}
 .phase:not(:first-child):before,.phase-detail{top:165px}
 .dot{width:14px;height:14px;box-shadow:0 0 0 8px rgba(255,255,255,.1)}
}
@media(max-width:700px){
 .phase{padding-bottom:30px}
 .companies-label{padding:17px 20px 16px}
 .companies-label>span{display:block;width:max-content}
 .company .logo-s img{clip-path:inset(4px 0 10px)}
 .phase-detail p{font-weight:400}
 .group-logo img{width:106px}
}
