:root{--ink:#101820;--ink2:#18232d;--grafite:#626c75;--line:#d6dce1;--soft:#f2f5f6;--paper:#fbfcfc;--blue:#16364f;--blue2:#071C6E;--ia:#0432C5;--ia-scuro:#021A5E;--cyan:#9cc9d7;--mono:'IBM Plex Mono',monospace;--sans:'Archivo',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden;overflow-x:clip}::selection{background:var(--ia);color:#fff}.wrap{width:min(1280px,calc(100% - 56px));margin:auto}.grid-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-2;background-image:linear-gradient(to right,rgba(2,26,94,.085) 1px,transparent 1px),linear-gradient(to bottom,rgba(2,26,94,.085) 1px,transparent 1px),linear-gradient(to right,rgba(16,24,32,.014) 1px,transparent 1px),linear-gradient(to bottom,rgba(16,24,32,.014) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}.lab,.doccode,.cursor-coord,.coord{font:500 10px/1.25 var(--mono);letter-spacing:.1em;text-transform:uppercase}.page-progress{position:fixed;left:0;top:0;width:100%;height:2px;z-index:100;background:transparent}.page-progress i{display:block;height:100%;width:0;background:var(--ia);box-shadow:0 0 10px rgba(4,50,197,.45)}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(251,252,252,.89);backdrop-filter:blur(15px) saturate(1.2);border-bottom:1px solid var(--line)}.top-in{min-height:78px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px}.marchio{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);width:max-content}.mark{width:29px;height:29px;border:1px solid var(--ink);position:relative;display:block;overflow:hidden}.mark:before,.mark:after{content:"";position:absolute;background:var(--ink)}.mark:before{width:1px;top:4px;bottom:4px;left:50%}.mark:after{height:1px;left:4px;right:4px;top:50%}.mark i:first-child{position:absolute;width:7px;height:7px;background:var(--ia);right:3px;top:3px}.mark i:last-child{position:absolute;left:-4px;bottom:-4px;width:17px;height:17px;border:1px solid var(--ink);transform:rotate(45deg)}.brand-copy{display:flex;align-items:baseline;gap:9px}.brand-copy b{font-size:15px}.brand-copy small{font:500 10px var(--mono);color:var(--grafite)}.nav{display:flex;gap:22px}.nav a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:600;position:relative;padding:28px 0 27px}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:var(--ia);transition:right .25s ease}.nav a:hover:after{right:0}.nav a span{font:500 9px var(--mono);color:var(--ia);margin-right:5px}.doccode{color:var(--grafite);border-left:1px solid var(--line);padding-left:23px}.menu-btn,.mobile-nav{display:none}
/* hero */
.hero{padding:94px 0 48px}.hero-copy{margin-bottom:42px}.hero-kicker{display:flex;align-items:center;gap:10px}.tick{width:18px;height:2px;background:var(--ia);display:inline-block;flex:0 0 auto}.hero-status{margin-left:auto;font:500 9px var(--mono);letter-spacing:.1em;color:var(--grafite);display:flex;gap:7px;align-items:center}.hero-status i{width:6px;height:6px;border-radius:50%;background:var(--ia);animation:statusPulse 1.7s 3}@keyframes statusPulse{50%{opacity:.25}}.hero h1{font-size:clamp(56px,7.15vw,104px);line-height:.91;letter-spacing:-.058em;margin:22px 0 30px;max-width:1130px;font-weight:600}.hero-lead{display:grid;grid-template-columns:minmax(0,860px) 1fr;gap:40px;align-items:end}.sub{font-size:19px;line-height:1.65;color:#39434c;max-width:860px;margin:0}.hero-index{justify-self:end;display:grid;grid-template-columns:auto auto;gap:5px 16px;text-align:right;font:500 9px var(--mono);letter-spacing:.1em;color:#8a939b}.hero-index span:last-child{grid-column:1/-1;color:var(--ia)}
/* hero engineering viewport */
.tavola{position:relative;border:1px solid var(--ink);background:rgba(255,255,255,.77);overflow:hidden}.hero-viewport{box-shadow:0 18px 60px rgba(15,26,35,.045)}.tavola:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 49.9%,rgba(17,24,32,.03) 50%,transparent 50.1%);pointer-events:none}.tavola-testa{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);position:relative;z-index:7;background:rgba(251,252,252,.74)}.viewport-corners i{position:absolute;width:17px;height:17px;z-index:9;pointer-events:none}.viewport-corners i:nth-child(1){left:7px;top:48px;border-left:1px solid var(--ia);border-top:1px solid var(--ia)}.viewport-corners i:nth-child(2){right:7px;top:48px;border-right:1px solid var(--ia);border-top:1px solid var(--ia)}.viewport-corners i:nth-child(3){left:7px;bottom:7px;border-left:1px solid var(--ia);border-bottom:1px solid var(--ia)}.viewport-corners i:nth-child(4){right:7px;bottom:7px;border-right:1px solid var(--ia);border-bottom:1px solid var(--ia)}.phase-rail{position:absolute;z-index:8;left:16px;top:59px;display:flex;border:1px solid var(--line);background:rgba(251,252,252,.88);backdrop-filter:blur(8px)}.phase{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;color:var(--grafite);padding:8px 11px;display:flex;align-items:center;gap:8px;cursor:pointer;font:500 9px var(--mono);letter-spacing:.08em}.phase:last-child{border-right:0}.phase span{color:#949ca3}.phase b{font:600 9px var(--mono)}.phase.active{background:var(--ink);color:#fff}.phase.active span{color:var(--ia)}.dis{width:100%;display:block;min-height:324px}.dis *{vector-effect:non-scaling-stroke}.filo,.sottile,.quota,.terreno,.asse{fill:none;stroke:var(--ink)}.filo{stroke-width:1.5}.sottile,.quota{stroke-width:.7}.terreno{stroke:#7b858e;stroke-width:1.1}.terrain-hatch{fill:rgba(22,54,79,.025);stroke:none}.asse{stroke:var(--ia);stroke-width:1;stroke-dasharray:6 5}.dis text{font:500 11px var(--mono);fill:var(--ink)}.dis .rosso{fill:var(--ia)}.draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw var(--dur) ease forwards;animation-delay:var(--del)}.fade{opacity:0;animation:fade .5s ease forwards;animation-delay:var(--del)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}.bim-layer{opacity:0;animation:bimflash 6s ease 3.4s 2}.bim-layer rect{fill:rgba(4,50,197,.09);stroke:var(--ia);stroke-width:.7}@keyframes bimflash{0%,72%,100%{opacity:0}78%,88%{opacity:1}}.hero-scan{position:absolute;z-index:5;left:-12%;top:44px;width:12%;bottom:0;background:linear-gradient(90deg,transparent,rgba(4,50,197,.06),rgba(4,50,197,.14),transparent);border-right:1px solid rgba(4,50,197,.38);animation:heroScan 6.8s ease-in-out 3.2s 2;pointer-events:none}@keyframes heroScan{0%,15%{left:-12%}70%,100%{left:100%}}.viewport-hud{position:absolute;left:16px;bottom:14px;display:flex;gap:16px;font:500 9px var(--mono);color:#777f87;z-index:6}.viewport-hud span:before{content:"+";color:var(--ia);margin-right:5px}.model-status{position:absolute;right:16px;bottom:14px;z-index:7;display:flex;align-items:center;gap:10px;padding:8px 11px;background:rgba(251,252,252,.91);border:1px solid var(--line);font:500 9px var(--mono)}.model-status strong{color:var(--ia)}.pulse{width:6px;height:6px;border-radius:50%;background:var(--ia);box-shadow:0 0 0 0 rgba(4,50,197,.5);animation:pulse 2s 3}@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(4,50,197,0)}}.hero-viewport[data-phase="terrain"] .phase-structure,.hero-viewport[data-phase="terrain"] .phase-information{opacity:.16}.hero-viewport[data-phase="structure"] .phase-terrain{opacity:.46}.hero-viewport[data-phase="structure"] .phase-information{opacity:.12}.hero-viewport[data-phase="information"] .phase-terrain{opacity:.42}.hero-viewport[data-phase="information"] .phase-structure{opacity:.78}.hero-viewport .phase-terrain,.hero-viewport .phase-structure,.hero-viewport .phase-information{transition:opacity .55s ease}.dati{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink);border-top:0}.dati>div{padding:17px 20px;border-right:1px solid var(--line);position:relative}.dati>div:last-child{border-right:0}.dati>div:before{content:"";position:absolute;left:0;top:0;width:0;height:2px;background:var(--ia);transition:width .35s}.dati>div:hover:before{width:100%}.dati b{display:block;font-size:25px;margin-top:4px;letter-spacing:-.025em}.dati small{display:block;font:400 9px var(--mono);color:var(--grafite);margin-top:4px;text-transform:uppercase;letter-spacing:.06em}
/* disciplines */
.discipline-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:76px;background:rgba(255,255,255,.5)}.disciplines{display:grid;grid-template-columns:repeat(6,1fr)}.disciplines a{position:relative;min-height:190px;padding:21px 16px;text-decoration:none;color:var(--ink);border-right:1px solid var(--line);overflow:hidden}.disciplines a:first-child{border-left:1px solid var(--line)}.disciplines a:before{content:attr(data-code);position:absolute;right:-8px;bottom:-24px;font:700 55px var(--mono);color:rgba(17,24,32,.032);transition:.35s}.disciplines a:hover:before{color:rgba(4,50,197,.085);transform:translate(-5px,-4px)}.disciplines span{font:500 9px var(--mono);color:var(--ia)}.disciplines b,.disciplines em{display:block;position:relative;z-index:2}.disciplines b{margin-top:18px;font-size:15px}.disciplines em{font-style:normal;font:400 9px var(--mono);color:var(--grafite);margin-top:5px}.disc-icon{position:absolute;left:12px;right:12px;bottom:14px;width:calc(100% - 24px);height:68px;fill:none;stroke:rgba(16,24,32,.22);stroke-width:1;vector-effect:non-scaling-stroke}.disc-icon path,.disc-icon circle{stroke-dasharray:420;stroke-dashoffset:0;transition:stroke .3s,stroke-dashoffset .65s}.disc-icon .disc-ia{stroke:rgba(4,50,197,.55)}.disciplines a:hover .disc-icon path,.disciplines a:hover .disc-icon circle{stroke:rgba(16,24,32,.68);animation:retrace .75s ease}.disciplines a:hover .disc-icon .disc-ia{stroke:var(--ia)}@keyframes retrace{0%{stroke-dashoffset:420}100%{stroke-dashoffset:0}}
/* sections */
.sez{padding:112px 0}.sez-testa{display:flex;align-items:center;gap:12px;margin-bottom:36px}.sez-testa h2{font-size:31px;margin:0;letter-spacing:-.03em}.rule{height:1px;background:var(--line);flex:1}.oltre{font:500 10px var(--mono);color:var(--ink);text-decoration:none;white-space:nowrap}.oltre:hover{color:var(--ia)}.works-hint{color:#8c959d;white-space:nowrap}
/* works photo -> drawing */
.works-grid{display:grid;grid-template-columns:1.47fr .8fr;grid-template-rows:270px 270px;gap:14px}.work-card{position:relative;overflow:hidden;display:block;color:white;text-decoration:none;background:#0b1319;border:1px solid #202a33;isolation:isolate;transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s ease}.work-main{grid-row:1/3}.work-photo,.work-blueprint{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(180deg,rgba(5,13,19,.04),rgba(5,13,19,.74)),var(--img);background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .7s ease,opacity .55s}.work-photo{z-index:0}.work-blueprint{z-index:1;opacity:0;filter:grayscale(1) contrast(1.42) brightness(1.2);background-image:linear-gradient(180deg,rgba(7,31,48,.30),rgba(5,22,35,.68)),var(--tech-img,var(--img));background-blend-mode:multiply,normal;clip-path:inset(0 0 0 100%)}.blueprint-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;opacity:0;background-image:linear-gradient(rgba(210,235,241,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(210,235,241,.12) 1px,transparent 1px);background-size:34px 34px;clip-path:inset(0 0 0 100%)}.wipe-line{position:absolute;z-index:7;top:0;bottom:0;left:100%;width:1px;background:rgba(255,255,255,.7);box-shadow:0 0 16px rgba(4,50,197,.25);opacity:0}.wipe-line:before{content:attr(data-label);position:absolute;top:48px;right:8px;writing-mode:vertical-rl;font:700 9px var(--mono);letter-spacing:.14em;color:rgba(255,255,255,.72)}.wipe-line i{position:absolute;left:-3px;top:17%;width:7px;height:7px;background:var(--ia)}.scan{position:absolute;z-index:6;left:0;right:0;top:-10%;height:1px;background:var(--ia);box-shadow:0 0 14px rgba(4,50,197,.95);opacity:0}.cad-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:4;pointer-events:none}.cad-svg .cad-draw,.cad-svg .cad-dim,.cad-svg .cad-target{fill:none;stroke:#dcecf0;stroke-width:1.05;opacity:0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.cad-svg .cad-dim{stroke-width:.68;stroke-dasharray:4 4}.cad-svg .cad-target{stroke:var(--ia);stroke-width:1.2}.cad-svg .cad-labels{opacity:0}.cad-svg text{fill:#edf7f8;font:500 10px var(--mono);letter-spacing:.05em;paint-order:stroke;stroke:rgba(6,20,29,.55);stroke-width:2px}.cad-svg .cad-draw path,.cad-svg .cad-dim path,.cad-svg .cad-target>*{stroke-dasharray:2100;stroke-dashoffset:2100}.cad-callout{position:absolute;z-index:5;opacity:0;font:700 9px var(--mono);letter-spacing:.09em;color:#eef7f8;transition:opacity .35s .4s,transform .45s .35s;transform:translateY(6px)}.cad-callout span{display:inline-block;width:26px;height:1px;background:var(--ia);vertical-align:middle;margin-right:6px}.cad-callout.c1{left:7%;top:19%}.cad-callout.c2{right:6%;top:34%}.cad-callout.c3{right:8%;bottom:16%}.work-copy{position:absolute;left:24px;bottom:24px;z-index:9;max-width:80%;transition:transform .55s ease,text-shadow .35s ease}.work-copy em{display:block;color:#fff;font:500 9px var(--mono);letter-spacing:.1em;opacity:.78}.work-copy h3{font-size:28px;line-height:1.04;margin:7px 0;letter-spacing:-.035em}.work-main .work-copy h3{font-size:43px;max-width:680px}.work-copy p{margin:0;font:400 11px var(--mono);opacity:.82}.work-no{position:absolute;right:18px;top:18px;font:500 9px var(--mono);z-index:9}.tech-state{position:absolute;left:18px;top:18px;z-index:9;display:flex;border:1px solid rgba(255,255,255,.55);background:rgba(11,19,25,.34);font:700 9px var(--mono);letter-spacing:.1em}.tech-state i,.tech-state b{font-style:normal;padding:5px 7px;font-weight:500}.tech-state b{border-left:1px solid rgba(255,255,255,.35);color:#b9c3ca}.work-card:hover,.work-card.is-tech{transform:translateY(-4px);box-shadow:0 18px 44px rgba(7,17,24,.13)}.work-card:hover .work-photo,.work-card.is-tech .work-photo{transform:scale(1.025);filter:grayscale(.25) contrast(1.04)}.work-card:hover .work-blueprint,.work-card.is-tech .work-blueprint{opacity:1;clip-path:inset(0 0 0 43%);transition:clip-path .95s cubic-bezier(.18,.72,.22,1),opacity .25s}.work-card:hover .blueprint-grid,.work-card.is-tech .blueprint-grid{opacity:1;clip-path:inset(0 0 0 43%);transition:clip-path .95s cubic-bezier(.18,.72,.22,1),opacity .4s}.work-card:hover .wipe-line,.work-card.is-tech .wipe-line{left:43%;opacity:1;transition:left .95s cubic-bezier(.18,.72,.22,1),opacity .15s}.work-card:hover .scan,.work-card.is-tech .scan{opacity:1;animation:scan 2.5s ease-in-out 1}@keyframes scan{0%{top:-10%}100%{top:112%}}.work-card:hover .cad-svg .cad-draw,.work-card.is-tech .cad-svg .cad-draw{opacity:.84}.work-card:hover .cad-svg .cad-dim,.work-card.is-tech .cad-svg .cad-dim{opacity:.58}.work-card:hover .cad-svg .cad-target,.work-card.is-tech .cad-svg .cad-target{opacity:1}.work-card:hover .cad-svg .cad-labels,.work-card.is-tech .cad-svg .cad-labels{opacity:.92;transition:opacity .35s .65s}.work-card:hover .cad-svg .cad-draw path,.work-card.is-tech .cad-svg .cad-draw path{animation:cadTrace 1.45s ease forwards}.work-card:hover .cad-svg .cad-dim path,.work-card.is-tech .cad-svg .cad-dim path{animation:cadTrace 1.2s ease .22s forwards}.work-card:hover .cad-svg .cad-target>*,.work-card.is-tech .cad-svg .cad-target>*{animation:cadTrace .85s ease .5s forwards}.work-card:hover .cad-callout,.work-card.is-tech .cad-callout{opacity:1;transform:none}.work-card:hover .tech-state b,.work-card.is-tech .tech-state b{background:var(--ia);color:#fff}.work-card:hover .work-copy,.work-card.is-tech .work-copy{transform:translateY(-5px);text-shadow:0 2px 16px rgba(0,0,0,.62)}@keyframes cadTrace{to{stroke-dashoffset:0}}.works-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.bottone{display:inline-flex;align-items:center;gap:12px;margin-top:22px;border:1px solid currentColor;padding:12px 15px;text-decoration:none;color:inherit;font:500 10px var(--mono);letter-spacing:.04em;transition:background .25s,color .25s}.bottone:hover{background:#fff;color:var(--ink)}.bottone.light{margin-top:0;background:transparent}.bottone.light:hover{background:var(--ink);color:#fff}.fr{color:var(--ia)}
/* method / engineering console */
.method{padding:126px 0;background:var(--soft);color:var(--ink);position:relative;overflow:hidden}.method:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(17,24,32,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,24,32,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,transparent,black 48%,black)}.method-grid{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:78px;align-items:center}.method-copy .lab{color:var(--grafite)}.method-copy h2{font-size:clamp(58px,6vw,82px);line-height:.88;letter-spacing:-.045em;margin:18px 0 31px}.method-copy p{color:#39414a;max-width:520px}.process-console{border:1px solid var(--ink);background:#fff;box-shadow:none}.console-top{height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font:500 9px var(--mono);letter-spacing:.08em;color:var(--grafite)}.console-top strong{color:var(--ink)}.console-canvas{position:relative;min-height:390px;background:transparent}.console-canvas svg{width:100%;display:block;min-height:350px}.console-canvas svg *{vector-effect:non-scaling-stroke}.pc-grid path{fill:none;stroke:rgba(17,24,32,.07);stroke-width:1}.pc-base{fill:none;stroke:var(--ink);stroke-width:1.25}.pc-design,.pc-check,.pc-validate,.pc-axis{fill:none;stroke-width:.85}.pc-design{stroke:var(--grafite)}.pc-design text,.pc-check text,.pc-validate text,.pc-axis text{fill:var(--grafite);stroke:none;font:500 10px var(--mono)}.pc-axis{stroke:rgba(4,50,197,.7);stroke-dasharray:5 5}.pc-check{opacity:0;stroke:var(--ia)}.pc-check .load{marker-end:none}.pc-check .moment{stroke:var(--blue);stroke-width:1.3}.pc-validate{opacity:0;stroke:var(--ink)}.pc-validate rect{stroke:var(--ia);fill:rgba(4,50,197,.04)}.pc-validate .approved{fill:var(--ink);font-size:17px;font-weight:600}.process-console[data-stage="1"] .pc-design{opacity:1}.process-console[data-stage="2"] .pc-design{opacity:.22}.process-console[data-stage="2"] .pc-check{opacity:1}.process-console[data-stage="3"] .pc-design,.process-console[data-stage="3"] .pc-check{opacity:.14}.process-console[data-stage="3"] .pc-validate{opacity:1}.pc-design,.pc-check,.pc-validate{transition:opacity .45s}.process-console[data-stage="2"] .pc-check .load{animation:loadPulse 1.2s ease-in-out 4 alternate}.process-console[data-stage="2"] .pc-check .moment{stroke-dasharray:800;stroke-dashoffset:800;animation:cadTrace 1.1s ease forwards}@keyframes loadPulse{to{transform:translateY(6px)}}.process-console[data-stage="3"] .pc-validate rect{stroke-dasharray:700;stroke-dashoffset:700;animation:cadTrace .9s ease forwards}.console-data{position:absolute;left:14px;right:14px;bottom:9px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:rgba(251,252,252,.94)}.console-data span{padding:9px 11px;border-right:1px solid var(--line)}.console-data span:last-child{border-right:0}.console-data i,.console-data b{display:block;font-style:normal;font:700 9px var(--mono);letter-spacing:.08em}.console-data i{color:var(--grafite)}.console-data b{color:var(--ink);margin-top:3px}.process-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.process-tabs button{appearance:none;background:#fff;color:var(--grafite);border:0;border-right:1px solid var(--line);padding:13px 14px;text-align:left;cursor:pointer;min-height:78px}.process-tabs button:last-child{border-right:0}.process-tabs span{display:block;color:var(--ia);font:700 9px var(--mono)}.process-tabs b{display:block;color:var(--ink);margin-top:5px;font-size:12px}.process-tabs small{display:block;font:400 8px var(--mono);margin-top:3px}.process-tabs button.active{background:var(--soft)}.process-tabs button.active b{color:var(--ink)}.process-tabs button.active:before{content:"";display:block;position:absolute}.console-note{margin:0;padding:7px 12px;border-top:1px solid var(--line);color:var(--grafite);font:400 8px var(--mono);text-align:right}
/* digital */
.digital{padding-top:128px;padding-bottom:128px}.digital-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:76px;align-items:center}.digital h2{font-size:clamp(44px,5vw,64px);line-height:.98;letter-spacing:-.042em;margin:16px 0 26px}.digital p{max-width:570px;color:var(--grafite);line-height:1.7}.digital-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:28px}.digital-tags span{border:1px solid var(--line);padding:6px 8px;font:700 9px var(--mono);letter-spacing:.08em}.digital-scene{background:var(--blue2);border:1px solid var(--ink);color:#fff;box-shadow:0 26px 66px rgba(15,30,42,.13)}.scene-head,.scene-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;font:700 9px var(--mono);letter-spacing:.08em;color:#A9BEF2}.scene-head{border-bottom:1px solid rgba(255,255,255,.14)}.scene-head span:last-child{color:#EDF2FF}.scene-head i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ia);margin-right:6px}.scene-foot{border-top:1px solid rgba(255,255,255,.14)}.scene-foot strong{color:#fff}.federated{width:100%;display:block}.federated *{vector-effect:non-scaling-stroke}.fed-grid{fill:url(#miniGrid);stroke:none}.fed-civil,.fed-struct,.fed-mep,.fed-nodes,.fed-core,.fed-out{fill:none;stroke:#C3D4FA;stroke-width:.9}.fed-civil{stroke:#7C9EE8}.fed-struct{stroke:#EDF2FF}.fed-mep{stroke:#5FA8FF;stroke-width:1.4}.fed-nodes circle{fill:var(--ia-scuro);stroke:#9DB8F5}.fed-nodes text,.fed-core text,.fed-out text{fill:#EDF2FF;stroke:none;font:500 9px var(--mono)}.fed-core polygon{fill:rgba(176,210,220,.065);stroke:#c6d9df}.fed-core text:first-of-type{font-size:20px;font-weight:600}.fed-out rect{fill:rgba(4,50,197,.05);stroke:var(--ia)}.data-packets circle{fill:#CFE0FF;filter:drop-shadow(0 0 5px rgba(207,224,255,.9))}.digital-scene.in-view .layer-a{animation:layerA 7s ease-in-out infinite alternate}.digital-scene.in-view .layer-b{animation:layerB 7s ease-in-out .5s infinite alternate}.digital-scene.in-view .layer-c{animation:layerC 7s ease-in-out 1s infinite alternate}@keyframes layerA{to{transform:translateY(4px)}}@keyframes layerB{to{transform:translateY(-5px)}}@keyframes layerC{to{transform:translateY(-10px)}}
/* manifesto contacts footer */
.manifesto{padding:70px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:rgba(255,255,255,.58)}.manifesto-grid{display:grid;grid-template-columns:190px 1fr auto;gap:36px;align-items:center}.manifesto blockquote{margin:0;font-size:clamp(30px,3.4vw,50px);line-height:1.03;letter-spacing:-.04em}.manifesto blockquote b{font-weight:600;color:var(--ia)}.contatti{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.contatti>div{padding:22px 20px;border-right:1px solid var(--line);position:relative}.contatti>div:last-child{border-right:0}.contatti p{margin:7px 0 12px}.contatti a{color:var(--ink)}.coord{color:#a0a8ae}.muted{color:var(--grafite)}.cartiglio{padding:0 0 34px}.cart-box{border:1px solid var(--ink);display:grid;grid-template-columns:1fr 2.25fr}.cart-int{padding:20px}.cart-int b{font-size:16px}.cart-int p{font:400 10px/1.65 var(--mono);color:var(--grafite)}.cart-campi{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;border-left:1px solid var(--ink)}.cart-campi div{padding:11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cart-campi strong{display:block;margin-top:4px;font:600 10px var(--mono)}.chiusura{display:flex;justify-content:space-between;padding-top:10px}.chiusura a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}.chiusura a:hover{border-bottom-color:var(--ia)}.cursor-coord{position:fixed;right:16px;bottom:16px;z-index:30;display:flex;gap:10px;padding:7px 9px;background:rgba(251,252,252,.88);border:1px solid var(--line);color:var(--grafite);pointer-events:none}
/* mobile */
@media(max-width:1040px){.doccode{display:none}.works-hint{display:none}.method-grid{grid-template-columns:1fr;gap:52px}.method-copy{max-width:760px}.digital-grid{grid-template-columns:1fr;gap:44px}.digital-copy{max-width:760px}.manifesto-grid{grid-template-columns:1fr}.manifesto .bottone{justify-self:start}}
@media(max-width:820px){.wrap{width:min(100% - 28px,1280px)}.top-in{min-height:68px}.brand-copy{display:block}.brand-copy b,.brand-copy small{display:block}.brand-copy small{margin-top:2px}.nav{display:none}.menu-btn{display:block;width:42px;height:42px;border:1px solid var(--line);background:transparent;position:relative}.menu-btn i{position:absolute;left:10px;right:10px;height:1px;background:var(--ink);transition:.25s}.menu-btn i:first-child{top:16px}.menu-btn i:last-child{top:24px}.menu-btn[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:grid;grid-template-columns:1fr 1fr;max-height:0;overflow:hidden;transition:max-height .35s;background:var(--paper)}.mobile-nav.open{max-height:190px;border-top:1px solid var(--line)}.mobile-nav a{padding:13px 20px;text-decoration:none;color:var(--ink);border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.mobile-nav a span{font:500 9px var(--mono);color:var(--ia);margin-right:6px}.hero{padding-top:62px}.hero h1{font-size:clamp(48px,10vw,70px)}.hero-lead{grid-template-columns:1fr}.hero-index{display:none}.sub{font-size:17px}.phase-rail{top:54px;left:10px}.phase b{display:none}.phase{padding:7px 9px}.dis{min-height:260px}.viewport-hud{display:none}.model-status{right:10px;bottom:8px}.dati{grid-template-columns:1fr 1fr}.dati>div:nth-child(2){border-right:0}.dati>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.disciplines{grid-template-columns:1fr 1fr}.disciplines a:nth-child(2n){border-right:1px solid var(--line)}.works-grid{display:block}.work-card{min-height:350px;margin-bottom:12px}.work-main{min-height:470px}.work-main .work-copy h3,.work-copy h3{font-size:31px}.work-card .work-blueprint,.work-card .blueprint-grid{clip-path:inset(0 0 0 54%)}.work-card.is-tech .work-blueprint,.work-card.is-tech .blueprint-grid{clip-path:inset(0 0 0 40%)}.work-card.is-tech .wipe-line{left:40%}.works-foot{align-items:flex-start;gap:14px;flex-direction:column}.console-canvas{min-height:330px}.console-canvas svg{min-height:300px}.process-tabs small{display:none}.manifesto{padding:56px 0}.contatti{grid-template-columns:1fr}.contatti>div{border-right:0;border-bottom:1px solid var(--line)}.cart-box{grid-template-columns:1fr}.cart-campi{border-left:0;border-top:1px solid var(--ink);grid-template-columns:1fr 1fr}.cursor-coord{display:none}}
@media(max-width:560px){.mark{width:27px;height:27px}.brand-copy b{font-size:13px}.brand-copy small{font-size:8px}.hero-kicker .hero-status{display:none}.hero h1{font-size:43px;line-height:.94}.tavola-testa{gap:7px;flex-direction:column;padding:9px 10px}.phase-rail{top:74px}.dis{min-height:225px}.model-status span:not(.pulse){display:none}.dati>div{padding:14px}.dati b{font-size:21px}.discipline-strip{margin-top:52px}.disciplines{grid-template-columns:1fr}.disciplines a{min-height:132px}.disciplines a:first-child{border-left:0}.disciplines a{border-left:0;border-right:0!important;border-bottom:1px solid var(--line)}.disc-icon{left:auto;width:150px;right:10px;bottom:8px}.sez{padding:82px 0}.sez-testa{flex-wrap:wrap}.sez-testa .rule{order:3;flex-basis:100%}.work-card{min-height:315px}.work-main{min-height:410px}.work-copy{left:18px;bottom:18px}.work-main .work-copy h3,.work-copy h3{font-size:27px}.cad-callout.c2{display:none}.method{padding:88px 0}.method-copy h2{font-size:52px}.console-top span:first-child{display:none}.console-canvas{min-height:280px}.console-canvas svg{min-height:260px}.console-data{grid-template-columns:1fr 1fr}.console-data span:nth-child(2){display:none}.process-tabs button{padding:11px 9px}.digital h2{font-size:39px}.scene-foot span:nth-child(2){display:none}.manifesto blockquote{font-size:33px}.cart-campi{grid-template-columns:1fr}.chiusura{display:block}.chiusura span{display:block;margin-top:8px}}
@media(hover:none){.work-card.in-view .work-blueprint,.work-card.in-view .blueprint-grid{opacity:1;clip-path:inset(0 0 0 58%)}.work-card.in-view .wipe-line{opacity:1;left:58%}.work-card.in-view .cad-svg .cad-draw{opacity:.55}.work-card.in-view .cad-svg .cad-dim{opacity:.35}.work-card.in-view .cad-svg .cad-target{opacity:1}.work-card.in-view .cad-svg .cad-labels{opacity:.68}.work-card.in-view .cad-svg .cad-draw path,.work-card.in-view .cad-svg .cad-dim path,.work-card.in-view .cad-svg .cad-target>*{animation:cadTrace 1.4s ease forwards}.work-card.in-view .cad-callout{opacity:.72;transform:none}.work-card.in-view .tech-state b{color:#fff}.work-card.is-tech .tech-state b{background:var(--ia)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.draw{stroke-dashoffset:0}.fade{opacity:1}.data-packets{display:none}}
@media(hover:none){.work-card.in-view.is-tech .work-blueprint,.work-card.in-view.is-tech .blueprint-grid{clip-path:inset(0 0 0 40%)}.work-card.in-view.is-tech .wipe-line{left:40%}}
