/* Concept B, revisione: materia, struttura e movimento. Base esistente conservata. */
:root{--paper:#f0f0e8;--white:#fbfcf6;--ink:#17352e;--ink-soft:#4a6057;--water-deep:#315b4e;--water-bright:#d4e5be;--signal:#c2e77e;--line:#ccd2c7;--display:'Helvetica Neue',Helvetica,Arial,sans-serif;--header-height:84px;--shell:min(1280px,calc(100% - 80px))}
html{scroll-padding-top:140px}body{overflow-x:clip}body.dialog-open{overflow:hidden}
:focus-visible{outline:3px solid #497323;outline-offset:5px}.hero :focus-visible,.sector-stage :focus-visible,.method :focus-visible,.contact :focus-visible{outline-color:var(--signal)}
.preview-bar{position:fixed;inset:0 0 auto;min-height:32px;height:32px;padding:6px 32px;font-size:9px;letter-spacing:.08em;background:#17352e;color:#e3e9da}
.site-header{position:fixed;top:32px;min-height:84px;padding-inline:32px;background:rgba(251,252,246,.98);color:var(--ink);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.is-scrolled{box-shadow:0 5px 30px #17352e0d}.brand{padding:0;background:#fff}.brand-logo{width:148px}.site-navigation{font-size:12px;gap:clamp(10px,1.35vw,22px)}
.submenu-toggle{width:28px;height:28px;border-color:#829184}.nav-cta{border:1px solid var(--ink);background:var(--ink);color:var(--white);min-height:42px;padding-inline:18px}.nav-cta:hover{background:#315b4e;color:white}
.submenu{top:calc(100% + 18px);border:1px solid var(--line);box-shadow:0 16px 35px #17352e20}.submenu a:hover{color:#497323}
.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;transform:scaleX(var(--read-progress,0));transform-origin:left;background:#789b44}
main{padding-top:116px}.hero{min-height:730px;height:calc(100svh - 116px);max-height:900px;background:#17352e}.hero-media{will-change:transform;transform:scale(1.025) translateY(var(--hero-shift,0px))}.hero-media video{object-position:center 45%}
.hero-wash{background:linear-gradient(90deg,#112f2be6 0%,#102e2bd9 33%,#17352e36 80%),linear-gradient(0deg,#102d29b3,transparent 50%)}
.hero-copy{padding-top:clamp(125px,15vh,190px);margin-left:max(40px,calc((100vw - 1280px)/2));width:min(850px,calc(100% - 80px));padding-bottom:180px}
.eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:22px}.hero .eyebrow{color:#d5e5cd;display:flex;align-items:center;gap:12px}.hero .eyebrow:before{content:'';width:24px;height:1px;background:var(--signal)}
.hero h1{font-size:clamp(58px,6.9vw,105px);font-weight:500;letter-spacing:-.063em;line-height:1.03;max-width:980px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#dbedc0;letter-spacing:-.065em}
.hero-lede{font-size:17px;line-height:1.6;margin-top:26px;max-width:600px;color:#e6eae4}.hero-actions{gap:32px;margin-top:30px}.button-light{background:var(--signal);min-height:54px;padding:0 23px}.button-light:hover{background:#e0f5b9}.button span,.text-link span{transition:transform .25s}.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}
.hero-structure{position:absolute;right:-2%;top:20%;width:43%;color:#e0edd6;opacity:.37;pointer-events:none;transform:rotate(-4deg);mask-image:linear-gradient(90deg,transparent,black 38%)}
.hero-structure .cm-tech-svg{stroke-width:.9}.hero-structure .cm-tech-guides{display:none}
.video-toggle{top:28px;right:32px;min-height:38px;border-radius:0;background:#17352e55;backdrop-filter:blur(5px)}.motion-toggle{position:absolute;z-index:3;left:max(40px,calc((100vw - 1280px)/2));top:35px;background:none;border:0;border-bottom:1px solid #ffffff6b;padding:0 0 4px;color:#edf2e8;font-size:10px;cursor:pointer}.motion-toggle span{color:var(--signal)}
.sector-rail{position:absolute;z-index:3;bottom:0;left:0;width:100%;display:grid;grid-template-columns:repeat(5,1fr);background:#17352ee8;backdrop-filter:blur(12px);border-top:1px solid #ffffff36;padding:0 32px}.sector-rail a{display:flex;align-items:center;gap:15px;min-height:86px;padding:14px 20px;border-right:1px solid #ffffff24;font-size:13px;transition:background .25s}.sector-rail a:first-child{border-left:1px solid #ffffff24}.sector-rail a>span{color:var(--signal);font-size:10px}.sector-rail b{margin-left:auto;font-size:18px;font-weight:400}.sector-rail a:hover{background:#c2e77e;color:var(--ink)}.sector-rail a:hover>span{color:var(--ink)}
.manifesto{grid-template-columns:55px 1fr 1.15fr;gap:40px;padding-block:90px}.section-number,.competence-id{color:#4b6e37}.manifesto h2{font-size:clamp(38px,4.7vw,70px);font-weight:500;max-width:500px}.manifesto-copy{padding-top:0;font-size:18px;line-height:1.65}.manifesto-copy p{margin-bottom:12px}.manifesto .eyebrow{margin-bottom:18px}.manifesto-copy .text-link{margin-top:5px}
.competences{padding-top:90px;background:#fbfcf6}.competences-intro{grid-template-columns:55px 1fr;gap:40px;margin-bottom:48px}.competences h2,.projects h2,.company h2{font-size:clamp(44px,5.5vw,78px);font-weight:500;letter-spacing:-.055em;line-height:1.04}
.sector-workbench{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start;padding-bottom:90px}.sector-list{border-top:1px solid var(--ink)}.sector-item{border-bottom:1px solid var(--line);scroll-margin-top:155px}.sector-item h3{margin:0}.sector-select{display:grid;grid-template-columns:25px 1fr 24px;gap:16px;width:100%;padding:24px 0;text-align:left;border:0;background:none;font-size:clamp(20px,2.15vw,30px);letter-spacing:-.04em;line-height:1.15;cursor:pointer;font-weight:400}.sector-no{font-size:10px;letter-spacing:.05em;color:#526449;padding-top:6px}.sector-plus{font-size:22px;font-weight:300;align-self:start;transition:transform .3s}.sector-select:hover{color:#497323}.sector-select[aria-expanded=true]{color:var(--ink)}.sector-select[aria-expanded=true] .sector-plus{transform:rotate(90deg)}.sector-item.is-active{border-bottom-color:#17352e}.sector-item.is-active .sector-no{color:var(--ink);background:var(--signal);width:25px;height:25px;text-align:center;padding-top:5px}.sector-detail{padding:0 32px 24px 41px}.sector-detail>p{margin:0 0 17px;color:var(--ink-soft);font-size:15px;line-height:1.65}.sector-detail .text-link{font-size:12px;min-height:36px;gap:16px}.sector-detail .sector-visual{height:280px;margin-top:22px}
.sectors-ready .sector-detail .sector-visual{display:none}.sector-stage{position:sticky;top:144px;background:#17352e;color:#e7eddf;min-width:0;border:1px solid #17352e}.stage-toolbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;font-size:10px;letter-spacing:.13em;border-bottom:1px solid #ffffff24}.view-switch{display:flex;gap:3px;letter-spacing:0}.view-switch button{border:1px solid #ffffff38;background:transparent;color:#e5eddc;font-size:11px;padding:9px 12px;cursor:pointer}.view-switch button[aria-pressed=true]{background:var(--signal);color:var(--ink);border-color:var(--signal)}
.stage-visual{position:relative;height:460px;overflow:hidden;background-image:linear-gradient(#c2e77e09 1px,transparent 1px),linear-gradient(90deg,#c2e77e09 1px,transparent 1px);background-size:28px 28px}.sector-visual{position:relative;overflow:hidden;background:#17352e;color:#e7eddf}.stage-visual .sector-visual{height:100%;background:transparent}.sector-visual img{width:100%;height:100%;object-fit:cover;transition:opacity .55s,transform .7s}.sector-visual .technical-drawing{position:absolute;right:-3%;bottom:0;width:67%;padding:10px;background:#17352eef;transition:width .55s,right .55s,bottom .55s,background .55s;pointer-events:none}.stage-visual .sector-visual>img{animation:photo-enter .7s ease-out backwards}.sector-stage[data-view=drawing] img,.sector-workbench[data-view=drawing] .sector-detail img{opacity:0;transform:scale(1.035)}.sector-stage[data-view=drawing] .technical-drawing{width:100%;right:0;bottom:50%;transform:translateY(50%);background:transparent}.stage-caption{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:20px 22px;font-size:11px;letter-spacing:.05em}.stage-caption>span:last-child{color:#bed0af;font-size:9px;white-space:nowrap}.mobile-view{display:none}
@keyframes photo-enter{from{opacity:.25;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
.prefab-showcase{margin-top:0;padding-block:85px;background:#e4e8dc}.prefab-heading{grid-template-columns:.5fr 1.5fr;margin-bottom:36px}.prefab-heading h3{font-size:clamp(35px,4.1vw,60px);line-height:1.07;font-weight:400}.prefab-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:420px 270px;gap:16px}.prefab-item-large{grid-column:1;grid-row:1}.prefab-item-text{grid-column:2;grid-row:1;background:#315b4e}.prefab-item-wide{grid-column:1;grid-row:2}.prefab-item-last{grid-column:2;grid-row:2;background:var(--white);min-height:0}.prefab-item{min-height:0}.prefab-item h4{font-size:clamp(28px,2.8vw,42px);line-height:1.04}.prefab-item>div:not(.prefab-drawing){padding:28px}.prefab-item p{font-size:14px;color:#e4e9de}.prefab-item-last p{color:var(--ink-soft)}.prefab-item-last span{color:#497323}.prefab-item-last .text-link{font-size:11px;display:inline-flex;margin-right:15px;margin-top:12px;width:fit-content;gap:8px}.prefab-item>.prefab-drawing{position:absolute;inset:-25px 8% auto;padding:0;background:none;opacity:.45;pointer-events:none;transform:rotate(-7deg)}
.detail-breakout{margin-top:0;min-height:400px;grid-template-columns:1fr 1fr;background:#17352e}.detail-breakout>img{height:450px;min-height:0}.detail-breakout figcaption{position:relative;overflow:hidden;min-height:0;padding:45px}.detail-breakout figcaption p{position:relative;z-index:1;margin-top:30px;font-size:clamp(33px,3.8vw,55px);max-width:440px}.breakout-drawing{position:absolute;right:-15%;bottom:-28%;width:90%;color:var(--signal);opacity:.23}
.projects{padding-block:90px}.projects-heading{margin-bottom:18px;align-items:center}.project-filters button{border-radius:0;min-height:42px}.project-filters button[aria-pressed=true]{background:var(--ink)}.filter-status{font-size:11px;color:#536448;margin-block:0 25px}.project-composition{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:480px;gap:16px}.project-featured{grid-row:auto}.project figure{min-height:0}.project figcaption{padding:24px}.project h3,.project-secondary h3,.project-tertiary h3{font-family:var(--display);font-size:clamp(28px,2.7vw,40px);line-height:1.05;letter-spacing:-.045em}.project figcaption>p{font-size:9px;gap:7px}.project figcaption>p span+span:before{margin-right:7px}.project-arrow{width:34px;height:34px;margin-left:6px}.project-composition:has(.project[hidden]){grid-template-rows:460px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-composition[data-active-filter=carpenteria] .project:not([hidden]){grid-column:1/-1}.project-dialog{max-height:calc(100dvh - 36px);scrollbar-gutter:stable}.project-dialog img{max-height:48vh;object-fit:cover}.dialog-copy{padding:30px 36px}.dialog-copy h3{font-size:clamp(34px,4vw,58px);line-height:1.06}.dialog-copy>p:last-child{margin-top:18px}.dialog-close{border:1px solid #d5ddcd}
.method{padding-block:95px;background:#17352e}.method:before{display:none}.method-layout{grid-template-columns:1fr 1.3fr;gap:80px}.method h2{font-size:clamp(50px,5vw,75px);font-weight:400}.method-heading{position:relative;top:auto}.method-heading>p:last-child{font-size:16px;color:#d3ded0}.mission-statement{font-family:Georgia,serif;font-size:clamp(30px,3.6vw,52px);line-height:1.15;letter-spacing:-.035em;padding-top:28px}.method-drawing{position:absolute;width:50%;left:-13%;bottom:-40%;color:#c2e77e;opacity:.12;transform:translateY(var(--drawing-shift,0px));pointer-events:none}
.company{padding-block:90px;grid-template-columns:55px 1fr;gap:40px}.company-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:0 60px}.company-copy>.eyebrow,.company-copy>h2{grid-column:1/-1}.company-lede{font-family:var(--sans);font-size:clamp(23px,2.4vw,34px);line-height:1.4;letter-spacing:-.03em;margin-top:35px;color:var(--ink)}.company-columns{margin-top:40px;padding-top:24px;font-size:17px;line-height:1.7;align-self:start}.vertical-note{margin-top:60px}
.certifications{padding-block:80px;background:#e1e7d9;color:var(--ink)}.certifications .eyebrow.light{color:#426239}.certifications-layout{grid-template-columns:1fr 1.15fr;gap:60px}.certifications h2{font-size:clamp(40px,4.7vw,67px);line-height:1.06;font-weight:400}.certifications ul{border-color:#899c80}.certifications li{min-height:65px;font-family:var(--sans);font-size:clamp(19px,2vw,29px);letter-spacing:-.03em;border-color:#b4c0ac}.certifications li span{color:#456135}
.contact{background:#17352e;min-height:580px;padding-block:90px}.contact:before{opacity:.12}.contact h2{font-size:clamp(57px,7.5vw,104px);line-height:1.04;font-weight:400;max-width:850px}.contact-link{margin-top:35px;font-size:clamp(19px,2.2vw,30px);color:#d9edbf}.contact-meta{margin-top:45px;color:#d2dfc8;gap:45px}.contact-drawing{position:absolute;right:-10%;top:12%;width:57%;color:#c2e77e;opacity:.22;transform:rotate(-7deg);pointer-events:none}.site-footer{padding:32px 40px;border-top:1px solid #ffffff26;background:#17352e}.footer-brand .brand-logo{width:140px}.site-footer p,.site-footer>a:last-child{color:#c5d3ba}
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .hero-media,.motion-off .method-drawing{transform:none}.motion-off .hero-structure{transform:rotate(-4deg)}
@media(min-width:1500px){.sector-stage .stage-visual{height:500px}}
@media(max-width:1160px){.site-navigation{top:116px;bottom:0;padding:20px 30px 35px;background:#fbfcf6}.site-navigation>a:not(.nav-cta),.nav-group>a{font-family:var(--sans);font-size:28px;padding:14px 0}.submenu{border:0}.submenu-toggle{width:44px;height:44px}.nav-cta{margin-top:16px}.menu-toggle{min-height:44px;color:var(--ink)}.sector-workbench{gap:30px}.sector-select{font-size:23px}.stage-visual{height:420px}.sector-rail{padding-inline:20px}.sector-rail a{padding-inline:14px;gap:10px}.project-composition{grid-template-rows:440px}.project figcaption{padding:20px}.project h3,.project-secondary h3,.project-tertiary h3{font-size:30px}.hero-structure{opacity:.24}.prefab-item-last .text-link{font-size:11px}}
@media(max-width:860px){:root{--shell:calc(100% - 40px)}.preview-bar{padding-inline:20px}.site-header{padding-inline:20px}.hero-copy{margin-left:20px;width:calc(100% - 40px);padding-top:140px}.hero{min-height:760px;height:auto}.hero h1{font-size:clamp(58px,8.7vw,75px);max-width:700px}.hero-structure{width:60%;right:-15%;top:30%}.hero-lede{font-size:16px;max-width:540px}.motion-toggle{left:20px}.video-toggle{right:20px}.sector-rail{grid-template-columns:repeat(5,1fr);padding:0}.sector-rail a{flex-wrap:wrap;gap:7px;font-size:11px;padding:15px 12px;min-height:78px}.sector-rail a>span{width:100%;font-size:9px}.sector-rail b{font-size:12px}.manifesto{grid-template-columns:1fr 1.2fr;gap:25px;padding-block:65px}.manifesto .section-number{display:none}.manifesto-copy{grid-column:2;padding:0;font-size:16px}.manifesto h2{font-size:43px}.competences{padding-top:65px}.competences-intro{grid-template-columns:30px 1fr;gap:15px;margin-bottom:35px}.sector-workbench{gap:24px;grid-template-columns:1fr 1fr;padding-bottom:65px}.sector-select{grid-template-columns:20px 1fr 15px;gap:10px;font-size:20px;padding:20px 0}.sector-detail{padding-left:30px;padding-right:8px}.sector-detail>p{font-size:14px}.sector-detail .text-link{font-size:11px}.stage-toolbar{padding:10px 12px;gap:8px}.view-switch button{padding:8px;font-size:10px}.stage-visual{height:380px}.stage-caption{padding:16px 12px}.stage-caption>span:last-child{display:none}.prefab-heading{grid-template-columns:1fr;gap:10px}.prefab-grid{grid-template-rows:350px 310px}.prefab-item>div:not(.prefab-drawing){padding:22px}.prefab-item h4{font-size:30px}.detail-breakout{grid-template-columns:1fr 1fr}.detail-breakout>img{height:350px}.detail-breakout figcaption{padding:30px 24px;min-height:0}.detail-breakout figcaption p{font-size:35px}.projects{padding-block:65px}.projects-heading{flex-direction:row}.project-composition{grid-template-columns:1fr;grid-template-rows:none;gap:20px}.project-featured{grid-column:auto}.project figure{height:380px}.project-composition:has(.project[hidden]){grid-template-columns:1fr;grid-template-rows:none}.project h3,.project-secondary h3,.project-tertiary h3{font-size:36px}.method{padding-block:65px}.method-layout{grid-template-columns:1fr 1fr;gap:40px}.method h2{font-size:54px}.mission-statement{font-size:34px}.company{padding-block:65px;grid-template-columns:30px 1fr;gap:15px}.company-copy{gap:0 30px}.company-lede{font-size:24px}.company-columns{font-size:15px}.certifications{padding-block:65px}.certifications-layout{grid-template-columns:1fr 1.1fr;gap:30px}.certifications h2{font-size:42px}.contact{padding-block:65px;min-height:550px}.contact-drawing{width:90%;right:-40%;top:20%}.contact h2{font-size:68px}.contact-meta{gap:30px}.site-footer{padding-inline:20px}}
@media(max-width:600px){:root{--shell:calc(100% - 36px);--header-height:74px}html{scroll-padding-top:124px}.preview-bar{height:28px;min-height:28px;justify-content:center;padding:0 18px}.preview-bar nav{width:100%;justify-content:space-between;gap:20px;font-size:9px}.preview-long{display:none}.site-header{top:28px;min-height:74px;padding-inline:18px}.brand-logo{width:137px}.site-navigation{top:102px;padding:14px 22px 30px}.site-navigation>a:not(.nav-cta),.nav-group>a{font-size:25px;padding:13px 0}.submenu a{font-size:14px;padding:11px 0}.menu-toggle{font-size:11px}main{padding-top:102px}.hero{min-height:770px;max-height:none;height:auto}.hero-copy{padding-top:116px;padding-bottom:248px;width:calc(100% - 36px);margin-left:18px}.hero .eyebrow{font-size:9px;margin-bottom:23px}.hero h1{font-size:clamp(45px,12.5vw,72px);letter-spacing:-.065em;line-height:1.05}.hero-lede{font-size:15px;line-height:1.6;margin-top:25px}.hero-lede br{display:none}.hero-actions{gap:18px;margin-top:28px;align-items:flex-start}.button{min-height:50px;font-size:12px;gap:25px}.hero-actions .text-link{font-size:12px}.hero-structure{top:35%;right:-40%;width:90%;opacity:.15}.motion-toggle{left:18px;top:27px;font-size:9px}.video-toggle{right:18px;top:18px;font-size:9px;min-height:36px;padding:6px 9px}.video-icon{width:18px;height:18px}.sector-rail{grid-template-columns:repeat(6,1fr);border:0;backdrop-filter:none;background:#17352e}.sector-rail a{grid-column:span 2;min-height:66px;font-size:10px;border-top:1px solid #ffffff30;border-right:1px solid #ffffff30;gap:5px;padding:10px 12px}.sector-rail a:nth-child(4),.sector-rail a:nth-child(5){grid-column:span 3}.sector-rail a:first-child{border-left:0}.sector-rail a>span{font-size:8px}.manifesto{grid-template-columns:1fr;gap:25px;padding-block:52px}.manifesto h2{font-size:43px}.manifesto .eyebrow{margin-bottom:14px}.manifesto-copy{grid-column:1;font-size:16px}.competences{padding-top:52px}.competences-intro{display:block;margin-bottom:28px}.competences-intro .section-number{display:none}.competences h2,.projects h2,.company h2{font-size:43px}.sector-workbench{display:flex;flex-direction:column;gap:0;padding-bottom:52px}.sector-list{width:100%}.sector-stage{display:none!important}.sector-item{scroll-margin-top:122px}.sector-select{font-size:22px;padding:22px 0;grid-template-columns:24px 1fr 20px;gap:12px}.sector-detail{padding:0 0 24px 36px}.sector-detail>p{font-size:15px}.sector-detail .text-link{font-size:12px}.sectors-ready .sector-detail .sector-visual{display:block;margin-left:-36px;height:245px}.sector-visual .technical-drawing{width:65%;right:0}.mobile-view{display:flex;gap:4px;margin:18px 0 0 -36px}.mobile-view button{border:1px solid #17352e55;background:transparent;font-size:11px;padding:10px 14px;cursor:pointer}.mobile-view button[aria-pressed=true]{background:var(--ink);color:white}.sector-workbench[data-view=drawing] .sector-detail .technical-drawing{width:90%;right:5%;bottom:0;background:transparent}.prefab-showcase{padding-block:52px}.prefab-heading h3{font-size:34px}.prefab-grid{display:grid;grid-template-columns:1fr;grid-template-rows:350px 290px 330px auto;gap:14px}.prefab-item-large,.prefab-item-text,.prefab-item-wide,.prefab-item-last{grid-column:1;grid-row:auto;min-height:0}.prefab-item-last{min-height:265px}.prefab-item h4{font-size:33px}.prefab-item>.prefab-drawing{inset:-60px 6% auto;opacity:.32}.detail-breakout{display:block}.detail-breakout>img{height:300px;min-height:0}.detail-breakout figcaption{min-height:275px;padding:30px 24px}.detail-breakout figcaption p{font-size:37px;margin-top:25px}.breakout-drawing{width:65%;bottom:-55%;right:-8%}.projects{padding-block:52px}.projects-heading{flex-direction:column;gap:25px;align-items:flex-start}.project-filters{gap:5px}.project-filters button{padding:0 15px;font-size:11px}.filter-status{margin-top:20px}.project-composition,.project-composition:has(.project[hidden]){display:flex;gap:16px}.project figure,.project-secondary figure,.project-tertiary figure{height:410px;min-height:0}.project h3,.project-secondary h3,.project-tertiary h3{font-size:34px}.project-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.project-dialog img{max-height:38vh;height:240px}.dialog-copy{padding:25px}.dialog-copy h3{font-size:34px}.dialog-copy>p:last-child{font-size:14px}.dialog-close{width:42px;height:42px;top:12px;right:12px}.method{padding-block:55px}.method-layout{grid-template-columns:1fr;gap:40px}.method h2{font-size:50px}.method-heading>p:last-child{margin-top:22px}.mission-statement{font-size:35px}.method-drawing{width:100%;left:-40%;bottom:-5%;opacity:.1}.company{display:block;padding-block:52px}.company-rail{display:none}.company-copy{display:block}.company-lede{font-size:25px;margin-top:28px}.company-columns{font-size:16px;margin-top:25px}.certifications{padding-block:52px}.certifications-layout{grid-template-columns:1fr;gap:30px}.certifications h2{font-size:40px}.certifications li{font-size:25px;min-height:60px}.contact{padding-block:55px;min-height:600px}.contact h2{font-size:clamp(46px,12vw,65px);line-height:1.07}.contact-link{font-size:18px;gap:12px;margin-top:30px}.contact-meta{gap:18px;margin-top:35px}.contact-drawing{width:120%;right:-58%;top:48%;opacity:.15}.site-footer{padding:30px 18px;gap:22px}.footer-brand .brand-logo{width:135px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media,.method-drawing{transform:none}.sector-visual img{animation:none}.cm-tech-svg *{animation:none!important}}

/* Explicit playback remains visible even with system motion reduction. */
@media(prefers-reduced-motion:reduce){.hero-media video.video-requested{visibility:visible}}

.sector-stage[data-view=drawing] .sector-visual>img{animation:none;opacity:0}
.sector-item{scroll-margin-top:16px}
.sector-select[aria-disabled=true]{cursor:default}

/* Revisione su feedback utente: immagini e disegni convivono senza switch. */
.site-header{background:#fbfcf6}
.site-navigation{font-size:14px;gap:clamp(12px,1.3vw,22px);font-weight:500}
.submenu-toggle{display:flex;align-items:center;justify-content:center;flex:none;line-height:1;padding:0;position:relative}
.submenu-toggle>span:first-child{display:block;line-height:1;font-family:Arial,sans-serif;font-size:20px;transform-origin:center;position:relative;top:-1px}
.submenu-toggle[aria-expanded=true]>span:first-child{transform:rotate(45deg)}
.stage-wordmark{color:#cbd9bf;font-size:10px;letter-spacing:.14em}
.stage-visual:after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#17352ed9);pointer-events:none}
.sector-visual .technical-drawing{z-index:2;width:70%;right:-2%;bottom:-1%;background:none;padding:0;color:#f2f6e9;filter:drop-shadow(0 2px 5px #17352e80);opacity:.88}
.stage-visual .sector-visual{overflow:visible}.stage-visual .technical-drawing{z-index:3}
.sector-detail>p{font-size:16px}.sector-detail .text-link{font-size:14px}
.eyebrow{font-size:12px}.sector-rail a{font-size:15px}.sector-rail a>span{font-size:11px}
.stage-caption{font-size:13px}.stage-toolbar{font-size:12px}.project-filters button{font-size:13px}.filter-status{font-size:13px}
.contact-meta{font-size:15px}.site-footer p,.site-footer>a:last-child{font-size:12px}
@media(max-width:1160px){.site-navigation{font-size:16px}.submenu-toggle>span:first-child{font-size:22px}}
@media(max-width:860px){.sector-rail a{font-size:12px}.sector-detail .text-link{font-size:12px}.sector-detail>p{font-size:15px}.stage-toolbar{font-size:10px}}
@media(max-width:600px){.site-navigation>a:not(.nav-cta),.nav-group>a{font-size:27px}.submenu a{font-size:15px}.sector-rail a{font-size:12px}.sector-rail a>span{font-size:10px}.sector-detail .text-link{font-size:14px}.sector-detail>p{font-size:16px}.sector-detail .sector-visual:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#17352ed9);pointer-events:none}.sectors-ready .sector-detail .sector-visual{height:290px}.sector-visual .technical-drawing{width:72%;bottom:-2%;right:-2%}.hero .eyebrow{font-size:10px}}
.submenu a{font-size:14px}
.submenu-toggle>span:first-child{width:12px;height:12px;font-size:0;top:0}
.submenu-toggle>span:first-child:before,.submenu-toggle>span:first-child:after{content:'';position:absolute;background:currentColor}
.submenu-toggle>span:first-child:before{height:1px;width:12px;left:0;top:5.5px}
.submenu-toggle>span:first-child:after{height:12px;width:1px;left:5.5px;top:0}
@media(max-width:600px){.submenu a{font-size:15px}}

/* Menu a tre linee su tutti i dispositivi, su indicazione dell'utente. */
.site-header{padding-inline:40px}
.menu-toggle{display:flex;min-height:52px;min-width:58px;padding:8px;justify-content:center;color:var(--ink)}
.menu-glyph{display:flex;flex-direction:column;justify-content:center;gap:8px;width:42px;height:36px;border:0;border-radius:0;position:relative}
.menu-glyph i{height:2px;width:42px;flex:none;transition:transform .25s,opacity .2s}
.menu-toggle[aria-expanded=true] .menu-glyph i:first-child{transform:translateY(10px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-glyph i:nth-child(2){opacity:0;transform:none}
.menu-toggle[aria-expanded=true] .menu-glyph i:last-child{transform:translateY(-10px) rotate(-45deg)}
.site-navigation{position:fixed;z-index:110;inset:116px 0 0 auto;width:min(650px,100%);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:25px 48px 42px;overflow-y:auto;overscroll-behavior:contain;background:var(--white);color:var(--ink);border-left:1px solid var(--line);box-shadow:-20px 30px 50px #17352e15;animation:menu-enter .3s ease-out}
.site-navigation>a:not(.nav-cta),.nav-group>a{font-family:var(--sans);font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:-.045em;line-height:1.2;padding:15px 0;min-height:65px}
.site-navigation>a:not(.nav-cta){border-bottom:1px solid var(--line)}
.site-navigation>a:not(.nav-cta):after,.nav-group>a:after{display:none}
.site-navigation>a:not(.nav-cta):hover,.nav-group>a:hover{color:#497323}
.nav-group{display:grid;grid-template-columns:1fr auto;gap:0 20px;border-bottom:1px solid var(--line)}
.submenu-toggle{width:44px;height:44px;align-self:center;border-color:#7d8f75}
.submenu{position:static;grid-column:1/-1;width:100%;padding:0 0 18px 20px;border:0;box-shadow:none;background:none}
.submenu a{font-size:17px;padding:12px 0;font-weight:400}
.nav-cta{justify-content:space-between;min-height:58px;margin-top:24px;font-size:22px;letter-spacing:-.025em}
.menu-backdrop{position:fixed;z-index:90;inset:116px 0 0;background:#102b2866;backdrop-filter:blur(4px)}
@keyframes menu-enter{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:600px){.site-header{padding-inline:18px}.menu-toggle{min-width:50px;min-height:48px;padding:7px}.menu-glyph{width:34px;gap:7px}.menu-glyph i{width:34px}.menu-toggle[aria-expanded=true] .menu-glyph i:first-child{transform:translateY(9px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-glyph i:last-child{transform:translateY(-9px) rotate(-45deg)}.site-navigation{inset:102px 0 0;width:100%;padding:18px 24px 35px;border-left:0}.site-navigation>a:not(.nav-cta),.nav-group>a{font-size:28px;padding:13px 0;min-height:60px}.submenu a{font-size:16px}.nav-cta{font-size:20px;min-height:55px;margin-top:20px}.menu-backdrop{top:102px}}

.sector-workbench{scroll-margin-top:16px;overflow-anchor:none}

/* Hero alleggerita: gli accessi ai settori restano nel menu e nell'esploratore. */
.hero-copy{padding-bottom:100px}
@media(max-width:600px){.hero{min-height:690px}.hero-copy{padding-bottom:100px}}

/* Documenti originali: anteprima consultabile e PDF completo. */
.certifications-layout{grid-template-columns:1fr;gap:38px}
.certifications .certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0}
.certifications .certificate-card{display:flex;flex-direction:column;align-items:stretch;border:1px solid #b4c0ac;background:#f8faf4;min-width:0;padding:0}
.certificate-preview{display:block;position:relative;padding:24px;border:0;background:#d5ddce;cursor:zoom-in;width:100%}
.certificate-preview img{width:100%;height:250px;object-fit:contain;display:block;filter:drop-shadow(0 5px 7px #17352e20)}
.certifications .certificate-enlarge{display:block;margin-top:16px;text-transform:none;font-size:13px;letter-spacing:0;font-weight:500;color:#17352e}
.certificate-preview:hover{background:#c8d7bd}
.certificate-copy{padding:24px}.certificate-copy h3{margin:0;font-size:24px;font-weight:500;letter-spacing:-.03em}.certificate-copy p{font-size:15px;line-height:1.5;letter-spacing:0;margin:9px 0 22px;min-height:45px}.certificate-copy a{display:inline-block;font-size:14px;font-weight:600;letter-spacing:0;text-underline-offset:5px;margin-right:20px}
.certificate-dialog{width:min(850px,calc(100vw - 32px));background:#f4f5ef;padding:0}.certificate-dialog-heading{padding:26px 80px 24px 26px;position:sticky;top:0;background:#f4f5ef;z-index:2}.certificate-dialog-heading h3{font-size:24px;margin:0 0 12px}.certificate-dialog .dialog-close{position:fixed;z-index:3;background:#17352e;color:white}.certificate-dialog>img{width:100%;height:auto;max-height:none;object-fit:contain;padding:0 24px 24px;background:#f4f5ef}.certificate-dialog .dialog-close{position:sticky;top:16px;float:right;margin:16px 16px -64px 0}
@media(max-width:860px){.certifications .certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:600px){.certifications .certificate-grid{grid-template-columns:1fr;gap:20px}.certificate-preview img{height:280px}.certificate-copy p{min-height:0}.certificate-dialog-heading{padding:22px 64px 20px 18px}.certificate-dialog-heading h3{font-size:21px}.certificate-dialog-heading .text-link{font-size:12px}.certificate-dialog>img{padding:0 8px 12px}.certificate-dialog .dialog-close{margin:12px 12px -54px 0;top:12px}}

/* Foto delle realizzazioni: sequenze con controlli manuali e autoplay gestito da galleries.js. */
.photo-gallery{background:#112d28;color:#f5f7ef;min-width:0}
.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c2e77e #17352e;outline-offset:-4px}
.gallery-slide{margin:0;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.project-dialog .gallery-slide img{display:block;width:100%;height:52vh;max-height:540px;object-fit:contain;background:#0e2622}
.gallery-slide figcaption{padding:14px 24px;font-size:14px;line-height:1.5;min-height:50px}
.gallery-controls{display:flex;gap:18px;justify-content:center;align-items:center;padding:12px 20px 18px}
.gallery-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d0dec055;background:transparent;color:#e8f1df;font-size:24px;cursor:pointer}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-controls button:not(:disabled):hover{background:#c2e77e;color:#17352e}
.gallery-status{min-width:65px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}
.gallery-thumbs{display:flex;gap:8px;padding:0 24px 22px;overflow-x:auto}.gallery-thumbs button{flex:0 0 76px;min-width:0;padding:0;border:2px solid transparent;opacity:.55;background:none;cursor:pointer}.gallery-thumbs button[aria-pressed=true]{border-color:#c2e77e;opacity:1}.photo-gallery .gallery-thumbs img{display:block;width:100%;height:58px;max-height:58px;aspect-ratio:auto;object-fit:cover}.gallery-count{position:absolute;top:20px;left:20px;z-index:2;background:#17352ecc;color:#f4f7ec;padding:9px 12px;font-size:12px;pointer-events:none}
.project-composition,.project-composition:has(.project[hidden]){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:460px}.project-composition .project{grid-column:auto;grid-row:auto}.project-composition[data-active-filter=carpenteria] .project:not([hidden]){grid-column:auto}.project figure{height:100%}
@media(max-width:600px){.project-composition,.project-composition:has(.project[hidden]){display:grid;grid-template-columns:1fr;grid-auto-rows:410px}.project-dialog .gallery-slide img{height:32vh;max-height:300px}.gallery-slide figcaption{padding:12px 18px;font-size:13px}.gallery-controls{padding-block:5px 12px}.gallery-thumbs{padding:0 16px 16px;gap:5px}.photo-gallery .gallery-thumbs img{height:44px;max-height:44px}.gallery-thumbs button{flex-basis:58px;min-width:0}}
