:root{--c-ink:#000;--c-ink-2:#1c1c1c;--c-body:#4a4a4a;--c-muted:#6b6b6b;--c-page:#f6f6f4;--c-surface:#fff;--c-surface-2:#ebebe8;--c-line:#0000001a;--c-line-strong:#0003;--c-grid:#0000000e;--c-accent:#4d6cfa;--c-accent-hover:#3b5bef;--c-accent-ink:#fff;--metal-gunmetal:repeating-linear-gradient(90deg, #ffffff0a 0 1px, transparent 1px 3px), linear-gradient(180deg, #4a4d53 0%, #26282c 42%, #151619 72%, #2c2e33 100%);--metal-blued:repeating-linear-gradient(180deg, #ffffff08 0 1px, transparent 1px 3px), repeating-linear-gradient(180deg, #00000024 0 1px, transparent 1px 7px), linear-gradient(106deg, transparent 6%, #7d96ff1c 22%, transparent 36%, transparent 56%, #96acff12 70%, transparent 84%), radial-gradient(80% 55% at 28% 0%, #aabcf029, transparent 70%), linear-gradient(180deg, #2c2f36 0%, #1c1e23 28%, #121317 64%, #1b1d22 100%);--metal-bar:repeating-linear-gradient(0deg, #fff3 0 1px, transparent 1px 3px), repeating-linear-gradient(0deg, #00000009 0 1px, transparent 1px 5px), linear-gradient(180deg, transparent 58%, #4d6cfa12 100%), linear-gradient(180deg, #f4f6f9 0%, #e2e6ec 40%, #d3d8e0 68%, #e3e7ed 100%);--metal-bar-glint:linear-gradient(100deg, transparent 8%, #ffffffb3 15%, #8096ff29 19%, #fff6 22%, transparent 30%, transparent 44%, #8096ff1f 50%, #ffffff8c 54%, transparent 62%, transparent 72%, #ffffff80 78%, #8096ff26 82%, transparent 90%);--metal-bar-edge:inset 0 1px 0 #fffffff2, inset 0 -1px 0 #fff9, 0 1px 0 #a3a9b3, 0 2px 0 #4d6cfa24, 0 10px 20px -14px #0e163080;--c-dark-bg:#000;--c-dark-bg-2:#0d0d0d;--c-dark-fg:#ffffffb8;--c-dark-fg-muted:#ffffff7a;--c-dark-fg-strong:#fff;--c-dark-line:#ffffff24;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--fs-label:.72rem;--fs-sm:.875rem;--fs-base:1.0625rem;--fs-md:1.1875rem;--fs-lg:clamp(1.3rem, .95rem + .9vw, 1.625rem);--fs-xl:clamp(1.6rem, 1.1rem + 1.6vw, 2.375rem);--fs-2xl:clamp(2.2rem, 1.3rem + 2.9vw, 3.5rem);--fs-3xl:clamp(2.625rem, 1.5rem + 4vw, 4.75rem);--lh-tight:1.06;--lh-snug:1.25;--lh-body:1.8;--ls-label:.1em;--ls-tight:-.02em;--ls-display:-.03em;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.75rem;--s-6:2.5rem;--s-7:3.25rem;--s-8:4rem;--s-9:5.5rem;--s-10:7rem;--s-11:9rem;--section-y:clamp(6.5rem, 13vw, 12.5rem);--header-h:84px;--container:1200px;--gutter:clamp(1.5rem, 5.5vw, 4rem);--radius-sm:2px;--radius:2px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 12px 32px -12px #0000002e;--ease:cubic-bezier(.22, .61, .36, 1);--dur:.2s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-in-out-soft:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-scrub:cubic-bezier(.33, 1, .68, 1);font-family:var(--font-body);font-size:16px;line-height:var(--lh-body);color:var(--c-ink);background:var(--c-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-weight:400}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background:var(--c-page);min-width:320px;min-height:100vh;color:var(--c-ink);margin:0;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,p,figure,blockquote{margin-top:0}#root{flex-direction:column;min-height:100vh;display:flex}::selection{background:var(--c-accent);color:var(--c-accent-ink)}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{--bg:var(--c-page);padding-block:var(--section-y);position:relative}.site-main{flex:1}.skip-link{z-index:100;padding:var(--s-3) var(--s-4);background:var(--c-ink);color:#fff;font-size:var(--fs-sm);position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--s-4);top:var(--s-4)}.photo{display:block}.photo img{filter:grayscale()contrast(1.04);width:100%;height:auto;display:block}.emblem{flex:none;display:block}.emblem img{filter:drop-shadow(0 2px 2px #0000001f)drop-shadow(0 10px 12px #00000024);width:100%;height:auto;transition:transform .5s var(--ease), filter .5s var(--ease);display:block}@media (hover:hover){.service-block:hover .emblem img,.method__step:hover .emblem img{filter:drop-shadow(0 2px 2px #0000001a) drop-shadow(0 16px 18px color-mix(in srgb, var(--c-accent) 30%, transparent))}}.dmark{vertical-align:-.05em;flex:none;width:.7em;height:.7em}.plate,.terr__map{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'><path d='M6 4h9a10 10 0 0 1 0 20H6z' fill='white' stroke='black' stroke-width='2'/></svg>") 14 14,pointer}.headline{font-family:var(--font-display);font-weight:400;font-size:var(--fs-2xl);line-height:var(--lh-snug);letter-spacing:var(--ls-display);color:var(--c-ink);font-variation-settings:"opsz" 96;text-wrap:balance;margin:0}.label{font-family:var(--font-body);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-muted);margin:0;font-weight:600;display:block}.lead{font-size:var(--fs-md);line-height:var(--lh-body);color:var(--c-body);margin:0}.body-text{font-size:var(--fs-base);line-height:var(--lh-body);color:var(--c-body);margin:0}.body-text+.body-text{margin-top:var(--s-5)}.section-head{gap:var(--s-5);padding-top:var(--s-6);margin-bottom:clamp(4rem,8vw,7rem);display:grid;position:relative}.section-head:before{content:"";background:var(--c-ink);width:100vw;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.section-head__meta{align-items:center;gap:var(--s-3);display:flex}.section-head__index{border:1px solid var(--c-ink);background:var(--bg,var(--c-page));font-family:var(--font-display);font-size:var(--fs-md);font-variant-numeric:tabular-nums;color:var(--c-ink);padding:3px 10px;line-height:1.1;position:absolute;top:0;left:0;transform:translateY(-50%)}.section-head__body{gap:var(--s-5) clamp(2.5rem, 7vw, 6rem);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;display:grid}.section-head .lead{max-width:46ch}.key{--key-h:46px;--key-w:calc(var(--key-h) * 1.36);--key-r:9px;width:var(--key-w);height:var(--key-h);border-radius:calc(var(--key-r) + 3px);transition:box-shadow var(--dur) var(--ease);background:linear-gradient(#30333b 0%,#121317 55%,#22252b 100%);flex:none;padding:3px 3px 4px;display:grid;position:relative;box-shadow:inset 0 1px 1px #000000e6,inset 0 0 0 1px #0009,0 1px #ffffff80,0 6px 14px -6px #0a102880}.key__cap{border-radius:var(--key-r);transition:transform .1s var(--ease), box-shadow .1s var(--ease), filter var(--dur) var(--ease);background:linear-gradient(#8499ff 0%,#4a66f3 28%,#2d47cb 68%,#1c309c 100%);place-items:center;display:grid;position:relative;transform:translateY(-1.5px);box-shadow:inset 0 1px #fff9,inset 0 -1px #00002880,0 2px #14246f,0 3px 3px #00000073}.key__cap:before{content:"";border-radius:calc(var(--key-r) - 3px);background:repeating-linear-gradient(0deg,#ffffff24 0 1px,#0000 1px 3px),repeating-linear-gradient(0deg,#00002812 0 1px,#0000 1px 5px),linear-gradient(112deg,#0000 18%,#ffffff6b 34%,#0000 48%,#ffffff29 66%,#0000 80%),radial-gradient(130% 95% at 50% 0,#a6b7ff 0%,#6c86fc 45%,#4d6cfa 72%,#405ff0 100%);position:absolute;inset:2px 4px 6px;box-shadow:0 0 0 1px #ecf1fff2,0 0 0 2px #28346e99,inset 0 1px 2px #ffffff8c,inset 0 -2px 4px #00003c40}.key__label{font-family:var(--font-body);font-size:calc(var(--key-h) * .29);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;color:#f5f8ff;text-shadow:0 0 1px #fff,0 0 5px #afc3fff2,0 0 12px #4d6cfae6;transition:text-shadow var(--dur) var(--ease);place-items:center;padding-left:.07em;font-weight:700;line-height:1;display:grid;position:relative;transform:translateY(-2px)}.key__label svg{width:calc(var(--key-h) * .36);height:calc(var(--key-h) * .36);filter:drop-shadow(0 0 2px #afc3fff2)drop-shadow(0 0 6px #4d6cfae6)}.key--round{--key-w:var(--key-h);border-radius:50%;padding:3px 3px 4px}.key--round .key__cap,.key--round .key__cap:before{border-radius:50%}.key--round .key__cap:before{inset:3px 3px 5px}.key--round .key__label{font-size:calc(var(--key-h) * .44);letter-spacing:0;padding-left:0;font-weight:600}.key--wide{--key-h:50px;--key-w:calc(var(--key-h) * 2.05)}.key--wide .key__label{font-size:calc(var(--key-h) * .3);letter-spacing:.12em;padding-left:.12em}@media (hover:hover){:is(a,button):hover>.key{box-shadow:inset 0 1px 1px #000000e6, inset 0 0 0 1px #0009, 0 1px 0 #ffffff80, 0 0 16px 2px color-mix(in srgb, var(--c-accent) 55%, transparent), 0 6px 14px -6px #0a102880}:is(a,button):hover>.key .key__cap{filter:brightness(1.1)}:is(a,button):hover>.key .key__label{text-shadow:0 0 1px #fff,0 0 6px #d0dbff,0 0 16px #4d6cfa}}:is(a,button):active>.key .key__cap{transform:translateY(.5px);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #00002880,0 .5px #14246f,0 1px 1px #0006}.action{align-items:center;gap:var(--s-3);min-height:44px;font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--c-ink);transition:color var(--dur) var(--ease);font-weight:600;display:inline-flex}.action:hover{color:var(--c-accent-hover)}.action-row{gap:var(--s-3) var(--s-6);flex-wrap:wrap;display:flex}.link-sym{--sym-accent:var(--c-accent);align-items:center;gap:var(--s-2);border-bottom:1px solid var(--c-ink);font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--c-ink);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);padding-bottom:2px;font-weight:600;display:inline-flex}.link-sym:hover{border-color:var(--c-accent);color:var(--c-accent-hover)}.link-sym svg{width:18px;height:18px;transition:transform .4s var(--ease-spring)}.link-sym:hover svg{transform:rotate(-8deg)scale(1.12)}.sym{flex:none;display:block;overflow:visible}.sym .sym__a{color:var(--sym-accent,currentColor)}:is(.section-head__sym,.facts__sym,.index-list__sym,.rail-list__sym,.project__sym,.link-sym svg,.terr__map-hint svg,.map__cta svg,.tb__ext){stroke-width:1.8px}.section-head__sym{--sym-accent:var(--c-accent);width:18px;height:18px;color:var(--c-ink)}.contact .section-head__sym{color:var(--c-dark-fg-strong)}.facts__sym{--sym-accent:var(--c-accent);vertical-align:-3px;width:15px;height:15px;color:var(--c-ink);margin-right:7px;display:inline-block}.index-list__sym{--sym-accent:var(--c-accent);width:24px;height:24px;color:var(--c-ink)}.rail-list__sym{--sym-accent:var(--c-accent);opacity:.8;align-self:center;width:18px;height:18px}.project__sym{--sym-accent:var(--c-accent);width:14px;height:14px}.has-margins{isolation:isolate;position:relative}.margins{--sym-accent:var(--c-accent);z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:clip}.margins__sym{left:var(--x);top:var(--y);width:var(--size);height:var(--size);rotate:var(--rot);color:var(--c-ink);opacity:calc(.15 * var(--o,1));position:absolute}.margins__sym *{vector-effect:non-scaling-stroke;stroke-width:1.25px}.margins__sym [fill=currentColor]{fill:none;stroke:currentColor}:is(.contact,.footer) .margins__sym{color:#fff;opacity:calc(.2 * var(--o,1))}#progetti.has-margins{isolation:auto}#progetti>.margins{z-index:0}#progetti .section-head,#progetti .project-grid,#progetti .drawings__head,#progetti .viewer:not(.is-full){z-index:1;position:relative}.logo{width:100%;height:100%;display:block}.logo--draw path{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.1s var(--ease) both}.logo--draw .logo__ghost path:first-child{animation-delay:80ms}.logo--draw .logo__ghost path:nth-child(2){animation-delay:.26s}.logo--draw .logo__ink path:first-child{animation-delay:.52s}.logo--draw .logo__ink path:nth-child(2){animation-delay:.72s}@keyframes draw{to{stroke-dashoffset:0}}.brand{flex:none;display:inline-flex}.brand__inner{align-items:center;gap:var(--s-3);display:inline-flex}.brand__mark{width:40px;height:40px;color:var(--c-ink);transition:width var(--dur) var(--ease), height var(--dur) var(--ease);flex:none;place-items:center;display:grid}.header--scrolled .brand__mark{width:34px;height:34px}.brand__copy{flex-direction:column;align-items:flex-start;gap:3px;line-height:1.1;display:flex}.brand__name{font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink);white-space:nowrap;font-weight:700}.brand__role{letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);border-top:1px solid var(--c-ink);align-self:stretch;padding-top:3px;font-size:.625rem;font-weight:500}.header{--c-body:#2f333a;--c-muted:#555b64;z-index:50;background:var(--metal-bar);box-shadow:var(--metal-bar-edge);transition:box-shadow var(--dur) var(--ease);position:sticky;top:0}.header:before{content:"";z-index:-1;background:var(--metal-bar-glint) 0 0 / 160% 100% no-repeat;transition:background-position 1.6s var(--ease-out);pointer-events:none;position:absolute;inset:0}.header--scrolled{box-shadow:var(--metal-bar-edge), 0 14px 28px -18px #0e16308c}.header--scrolled:before{background-position:100% 0}.header__inner{justify-content:space-between;align-items:center;gap:var(--s-5);max-width:1440px;height:var(--header-h);transition:height var(--dur) var(--ease);display:flex}.header--scrolled .header__inner{height:66px}.nav{align-items:center;gap:clamp(1.25rem,2.3vw,2.5rem);display:flex}.nav__link{padding-block:var(--s-2);white-space:nowrap;color:var(--c-body);transition:color var(--dur) var(--ease);align-items:baseline;gap:4px;font-size:.84rem;font-weight:500;display:inline-flex;position:relative}.nav__num{letter-spacing:.06em;color:var(--c-muted);font-variant-numeric:tabular-nums;transition:color var(--dur) var(--ease);font-size:.6rem;font-weight:600}.nav{position:relative}.nav:after{content:"";background:var(--c-accent);width:1px;height:2px;transform:translateX(var(--ind-x,0px)) scaleX(var(--ind-w,0));transform-origin:0;opacity:0;transition:transform .7s var(--ease-out), opacity .3s var(--ease);pointer-events:none;position:absolute;bottom:0;left:0}.nav[data-indicator=on]:after{opacity:1}.nav__link:after{content:"";transform-origin:0;height:1px;transition:transform .36s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav__link:hover,.nav__link.is-active{color:var(--c-ink)}.nav__link:hover:after{transform:scaleX(1)}.nav__link.is-active{font-weight:600}.nav__link.is-active .nav__num{color:var(--c-accent-hover)}.header__actions{align-items:center;gap:var(--s-5);flex:none;display:flex}.phone{align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--c-ink);white-space:nowrap;font-weight:500;display:inline-flex}.phone svg{width:14px;height:14px;color:var(--c-muted);transition:color var(--dur) var(--ease)}.phone__text{display:inline-grid;position:relative}.phone__text>*{transition:opacity .36s var(--ease-out), transform .52s var(--ease-out);grid-area:1/1}.phone__label{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-muted);align-self:center;font-weight:600}.phone__num{font-variant-numeric:tabular-nums;opacity:0;transform:translateY(6px)}.phone:hover .phone__label,.phone:focus-visible .phone__label,.header--scrolled .phone__label{opacity:0;transform:translateY(-6px)}.phone:hover .phone__num,.phone:focus-visible .phone__num,.header--scrolled .phone__num{opacity:1;transform:none}.phone:hover svg{color:var(--c-ink)}.header__cta .key--wide{--key-h:42px}.menu-toggle{cursor:pointer;background:0 0;border:0;place-items:center;min-width:44px;height:44px;margin-right:-2px;padding:0;display:none}.menu-toggle .key{--key-h:42px}.menu-toggle[aria-expanded=true] .key .key__cap{filter:brightness(1.1)}.mobile-panel{z-index:60;width:min(380px,88vw);padding:var(--s-5) var(--s-5) var(--s-7);background:var(--c-surface);border-left:1px solid var(--c-line);transition:transform .28s var(--ease);flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%)}.mobile-panel.is-open{transform:translate(0)}.mobile-panel__head{min-height:44px;margin-bottom:var(--s-7);justify-content:space-between;align-items:center;display:flex}.mobile-panel__close{cursor:pointer;background:0 0;border:0;place-items:center;min-width:44px;height:44px;margin-right:-2px;padding:0;display:grid}.mobile-panel__close .key{--key-h:42px}.mobile-nav{border-top:1px solid var(--c-ink);flex-direction:column;display:flex}.mobile-nav__link{align-items:baseline;gap:var(--s-4);padding-block:var(--s-4);border-bottom:1px solid var(--c-line);font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:var(--ls-tight);color:var(--c-ink);display:flex}.mobile-nav__num{font-family:var(--font-body);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--c-muted);font-variant-numeric:tabular-nums;font-weight:600}.mobile-nav__link.is-active .mobile-nav__num{color:var(--c-accent-hover)}.mobile-panel__foot{padding-top:var(--s-7);gap:var(--s-3);flex-direction:column;margin-top:auto;display:flex}.mobile-panel__phone{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--c-ink)}.mobile-panel__mail{margin-bottom:var(--s-3);font-size:var(--fs-sm);color:var(--c-body);overflow-wrap:anywhere}.scrim{z-index:55;cursor:pointer;animation:fade-in .18s var(--ease);background:#00000073;border:0;padding:0;position:fixed;inset:0}.rail{z-index:40;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-2);writing-mode:vertical-rl;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-muted);border-right:1px solid var(--c-line);transition:color var(--dur) var(--ease);font-weight:600;display:none;position:fixed;top:50%;right:0;transform:translateY(-50%)rotate(180deg)}.rail:hover{color:var(--c-ink)}.rail .dmark{transform:rotate(90deg)}.corner{left:var(--s-5);bottom:var(--s-5);z-index:40;align-items:center;gap:var(--s-2);border:1px solid var(--c-ink);background:var(--c-page);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-ink);padding:6px 10px;font-weight:600;display:none;position:fixed}.corner__num{font-family:var(--font-display);font-size:var(--fs-base);letter-spacing:0;font-variant-numeric:tabular-nums;display:inline-flex;overflow:hidden}.corner__roll{display:block}@media (width>=1200px){.rail,.corner{display:inline-flex}}.intro{position:relative}.intro:before{content:"";z-index:0;background-image:linear-gradient(var(--c-grid) 1px, transparent 1px), linear-gradient(90deg, var(--c-grid) 1px, transparent 1px);pointer-events:none;background-position:top;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 60%,#0000 100%);mask-image:linear-gradient(#000 60%,#0000 100%)}.intro__stage{z-index:1;padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(3rem,6vw,5rem);position:relative}.intro__grid{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2rem,4vw,3.5rem) clamp(2.5rem,6vw,5.5rem);display:grid}.intro__head{gap:var(--s-4);flex-direction:column;grid-column:1/-1;display:flex}.masthead{align-items:flex-start;gap:var(--s-2);color:var(--c-ink);flex-direction:column;margin:0;line-height:.92;display:flex}.masthead__pre{font-family:var(--font-body);font-size:var(--fs-md);letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);font-weight:600}.masthead__name{font-family:var(--font-body);letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;transform-origin:0 0;font-size:clamp(2.75rem,5.4vw,5rem);font-weight:700;display:block}.infoline{align-items:center;gap:var(--s-3);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-ink);flex-wrap:wrap;margin:0;font-weight:600;display:flex}.infoline .dmark{color:var(--c-muted)}.intro__body{align-items:flex-start;gap:var(--s-5);flex-direction:column;display:flex}.manifesto{font-family:var(--font-display);font-weight:300;font-size:var(--fs-3xl);letter-spacing:var(--ls-display);color:var(--c-ink);font-variation-settings:"opsz" 144;flex-direction:column;margin:0;line-height:1.02;display:flex}.manifesto__line{margin-bottom:-.14em;padding-bottom:.14em;display:block;overflow:hidden}.manifesto__in{display:block}.intro__lead{max-width:40ch}.intro__plate{align-self:center;margin:0}.plate{perspective:1400px}.plate__picture{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .5s var(--ease);will-change:transform;display:block}.plate__picture img{filter:drop-shadow(0 18px 28px #0000001f);width:100%;height:auto;display:block}.intro__caption{margin-top:var(--s-4);padding-left:var(--s-4);border-left:1px solid var(--c-ink);font-size:var(--fs-sm);color:var(--c-body);flex-direction:column;gap:2px;display:flex}.facts-band{z-index:1;border-top:1px solid var(--c-ink);border-bottom:1px solid var(--c-line);position:relative}.facts{gap:var(--s-5) var(--s-6);padding-block:var(--s-7);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.facts__item{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.facts__item:not(:first-child){padding-left:var(--s-6);border-left:1px solid var(--c-line)}.facts__item dd{font-family:var(--font-display);font-size:var(--fs-lg);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);color:var(--c-ink);margin:0}.service-blocks{flex-direction:column;gap:clamp(6rem,13vw,11rem);display:flex}.service-block{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,7vw,7rem);display:grid}.service-block--flip .service-block__media{grid-area:1/2}.service-block__media{border:1px solid var(--c-line-strong);border-radius:var(--radius);background:var(--c-surface-2);margin:0;overflow:hidden}.service-block__media img{aspect-ratio:3/2;object-fit:cover;transition:transform .7s var(--ease)}.service-block:hover .service-block__media img{transform:scale(1.03)}.service-block__copy{align-items:flex-start;gap:var(--s-4);flex-direction:column;display:flex}.service-block__head{justify-content:space-between;align-items:center;gap:var(--s-4);width:100%;display:flex}.service-block__emblem{width:clamp(4.5rem,7vw,6rem)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.service-block:hover .service-block__emblem img{transform:translateY(-4px)rotate(-2deg)}}.service-block__num{font-family:var(--font-display);letter-spacing:var(--ls-display);color:#00000052;font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:300;line-height:1}.service-block__title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:400;line-height:var(--lh-snug);letter-spacing:var(--ls-tight);color:var(--c-ink);margin:0}.service-block__list{margin:var(--s-2) 0;border-top:1px solid var(--c-line);width:100%;padding:0;list-style:none;display:grid}.service-block__list li{align-items:center;gap:var(--s-3);padding-block:var(--s-4);border-bottom:1px solid var(--c-line);font-size:var(--fs-sm);color:var(--c-ink-2);display:flex}.service-block__list .dmark{width:10px;height:10px;color:var(--c-muted)}.service-index{gap:var(--s-4);flex-direction:column;margin-top:clamp(6rem,12vw,10rem);display:flex}.service-index__head{justify-content:space-between;align-items:baseline;gap:var(--s-4);display:flex}.service-index__count{font-size:var(--fs-sm);color:var(--c-muted);font-variant-numeric:tabular-nums}.index-list{border-top:1px solid var(--c-ink);columns:2;column-gap:clamp(2.5rem,7vw,6rem);margin:0;padding:0;list-style:none}.index-list li{align-items:center;gap:var(--s-4);break-inside:avoid;padding-block:var(--s-5);border-bottom:1px solid var(--c-line);font-size:var(--fs-base);color:var(--c-ink);display:flex}.index-list__num{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--c-muted);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(4.5rem,9vw,8rem) clamp(2rem,5vw,4.5rem);display:grid}.project--lead{grid-column:1/-1;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.project__figure{border:1px solid var(--c-line-strong);border-radius:var(--radius);background:var(--c-surface-2);margin:0;position:relative;overflow:hidden}.project__figure img{aspect-ratio:4/3;object-fit:cover;transition:transform .7s var(--ease)}.project--lead .project__figure img{aspect-ratio:3/2}.project:hover .project__figure img{transform:scale(1.025)}.project__body{gap:var(--s-3);padding-top:var(--s-5);flex-direction:column;display:flex}.project--lead .project__body{padding-top:0}.project__meta{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.project__meta span{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-muted);font-weight:600}.project__meta .is-category{padding:4px var(--s-2);border:1px solid var(--c-ink);color:var(--c-ink);align-items:center;gap:6px;display:inline-flex}.project__title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:400;line-height:var(--lh-snug);letter-spacing:var(--ls-tight);color:var(--c-ink);margin:0}.project--lead .project__title{font-size:var(--fs-xl)}.drawings{gap:var(--s-6);flex-direction:column;margin-top:clamp(6rem,12vw,10rem);display:flex}.drawings__head{gap:var(--s-5) clamp(2.5rem, 7vw, 6rem);padding-top:var(--s-4);border-top:1px solid var(--c-ink);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;display:grid}.drawings__meta{align-items:center;gap:var(--s-3);grid-column:1/-1;display:flex}.drawings__tag{padding:3px var(--s-2);border:1px solid var(--c-accent);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-accent-hover);font-weight:600}.drawings__title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:400;line-height:var(--lh-snug);letter-spacing:var(--ls-tight);color:var(--c-ink);text-wrap:balance;margin:0}.drawings__lead{max-width:46ch}@media (width<=900px){.drawings__head{grid-template-columns:1fr}}.section--grid:before{content:"";z-index:0;opacity:0;background-image:linear-gradient(var(--c-grid) 1px, transparent 1px), linear-gradient(90deg, var(--c-grid) 1px, transparent 1px);pointer-events:none;background-position:top;background-size:48px 48px;position:absolute;inset:0}.section--grid>.container{z-index:1;position:relative}.studio-layout{grid-template-columns:minmax(0,.42fr) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,8vw,8rem);display:grid}.studio__rail{gap:var(--s-4);flex-direction:column;display:flex;position:sticky;top:110px}.rail-list{border-top:1px solid var(--c-ink);margin:0;padding:0;list-style:none}.rail-list li{gap:var(--s-3);padding:var(--s-4) 0 var(--s-4) var(--s-3);border-bottom:1px solid var(--c-line);font-size:var(--fs-sm);color:var(--c-body);grid-template-columns:2.25rem minmax(0,1fr) 1.125rem;display:grid;position:relative}.rail-list li:before{content:"";background:var(--c-accent);transform-origin:top;width:2px;position:absolute;top:0;bottom:-1px;left:0;transform:scaleY(0)}.rail-list__num{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--c-muted);font-variant-numeric:tabular-nums;padding-top:2px;font-weight:600}.studio__main{gap:var(--s-7);flex-direction:column;display:flex}.studio__intro{font-family:var(--font-display);font-size:var(--fs-xl);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);color:var(--c-ink);text-wrap:balance;margin:0}.studio__bio{max-width:64ch}.datasheet{border:1px solid var(--c-ink);background:var(--c-surface)}.datasheet__head{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-ink);flex-wrap:wrap;display:flex}.datasheet__ref{align-items:center;gap:var(--s-2);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-ink);font-weight:600;display:inline-flex}.datasheet__rows{margin:0}.datasheet__row{align-items:baseline;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-line);grid-template-columns:3rem minmax(0,.8fr) minmax(0,1.2fr);display:grid}.datasheet__row:last-child{border-bottom:0}.datasheet__num{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--c-muted);font-variant-numeric:tabular-nums;font-weight:600}.datasheet__row dt{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-muted);font-weight:600}.datasheet__row dd{font-size:var(--fs-sm);color:var(--c-ink);margin:0}.signature{align-items:center;gap:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--c-ink);display:flex}.signature__logo{width:56px;height:56px;color:var(--c-ink);flex:none}.signature__text{flex-direction:column;gap:2px;display:flex}.signature__name{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--fs-xl);letter-spacing:var(--ls-tight);color:var(--c-ink);line-height:1.1}.terr{position:relative}.terr__photo{background:var(--c-surface-2);width:100vw;margin:0 0 0 calc(50% - 50vw);position:relative;overflow:hidden}.terr__photo img{aspect-ratio:21/9;object-fit:cover;object-position:center 70%}@keyframes ping{0%{opacity:.6;transform:scale(.7)}70%,to{opacity:0;transform:scale(1.3)}}.terr__map,.map{--screw:radial-gradient(circle at 42% 38%, #fff 0 .8px, #d8dce1 1.8px, #8c9199 4px, #50555d 5.2px, #00000059 5.8px, transparent 6.4px);--plate:url(/images/metallo/acciaio.webp) center / cover, linear-gradient(180deg, #eceef1, #b8bdc4);--plate-edge:inset 0 1px 0 #ffffffe6, inset 0 -1px 0 #0000004d, 0 0 0 1px #00000059}.terr__map{background:var(--plate);box-shadow:var(--plate-edge), 0 30px 60px -30px #0e16308c;border-radius:10px;margin-top:clamp(3.5rem,7vw,6rem);padding:clamp(10px,1.6vw,18px) clamp(14px,2.2vw,26px) clamp(14px,2.2vw,26px);position:relative}.terr__map:before,.map:before{content:"";z-index:2;background:var(--screw) left top / 13px 13px no-repeat, var(--screw) right top / 13px 13px no-repeat, var(--screw) left bottom / 13px 13px no-repeat, var(--screw) right bottom / 13px 13px no-repeat;pointer-events:none;position:absolute;inset:5px}.terr__map-head{align-items:baseline;gap:var(--s-2) var(--s-4);padding:var(--s-2) var(--s-3) var(--s-3);text-shadow:0 1px #ffffffb3;flex-wrap:wrap;display:flex}.terr__map-head .label{color:#394049}.terr__map-title{font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:var(--ls-tight);color:#13161c}.terr__map-note{font-size:var(--fs-label);color:#474d56;margin-left:auto}.terr__map-scroll{-webkit-overflow-scrolling:touch;background:#040a1d;border-radius:6px;overflow-x:auto;box-shadow:0 0 0 1px #000,0 1px 0 1px #ffffffb3}.terr__map-hint{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-3) 0;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:#394049;text-shadow:0 1px #ffffffb3;margin:0;display:none}.terr__map-hint svg{width:18px;height:18px}@media (width<=900px){.terr__map-hint{display:flex}}.chart{--r-line:#7d96ff29;--r-ink:#a9bbff;--r-text:#cfd9ff;--r-muted:#7c90cc;--r-glass:#050b1e;width:100%;min-width:860px;height:auto;font-family:var(--font-body);background:url(/images/metallo/blu.webp) 50%/cover,#040a1d;display:block}.chart__bg{fill:url(#screen)}.chart__scan{fill:url(#scan);pointer-events:none}.chart__grid line{stroke:var(--r-line);stroke-width:1px}.chart__grid-labels text{letter-spacing:.08em;fill:var(--r-muted);font-size:9px}.chart__rings circle{fill:none;stroke:#7f98ff;stroke-width:1px;stroke-dasharray:4 5;opacity:.65}.chart__rings text{letter-spacing:.08em;fill:#9fb2ff;font-size:9px}.chart__hatch{stroke:#6f8cff;stroke-width:.8px;opacity:.4}.chart__water{stroke:#8aa2ff;stroke-width:.6px;opacity:.6}.chart__park{fill:none;stroke:#4d6cfa29;stroke-width:34px;stroke-linecap:round;stroke-linejoin:round}.chart__park-hatch{fill:url(#hatch);stroke:url(#hatch);stroke-width:34px;stroke-linecap:round;stroke-linejoin:round}.chart__lake{fill:url(#water);stroke:#9fb4ff;stroke-width:1.2px;stroke-linejoin:round}.chart__river-casing{fill:none;stroke:#061032;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.chart__river{fill:none;stroke:#c3d0ff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #6e8cffe6)}.chart__toponym{font-family:var(--font-display);fill:#9db0f5;font-size:13px;font-style:italic}.chart__toponym--small{font-size:11px}.chart__town{fill:#0a1433;stroke:var(--r-ink);stroke-width:1.2px}.chart__label,.chart__grid-labels text,.chart__rings text,.chart__toponym{paint-order:stroke;stroke:var(--r-glass);stroke-width:3px;stroke-linejoin:round}.chart__label{fill:var(--r-text);font-size:11px}.chart__label--capital{letter-spacing:.1em;fill:#fff;font-size:12px;font-weight:700}.chart__capital-ring{fill:none;stroke:#c9d4ff;stroke-width:1.2px}.chart__capital-dot{fill:#fff}.chart__halo{fill:none;stroke:#9fb2ff;stroke-width:1px;opacity:.7;transform-box:fill-box;transform-origin:50%;animation:ping 3s var(--ease) infinite}.chart__d{fill:#fff;stroke:#fff;stroke-width:1.5px;stroke-linejoin:round;filter:drop-shadow(0 0 3px #96afff)drop-shadow(0 0 9px #4d6cfae6)}.chart__leader{fill:none;stroke:#9fb2ff;stroke-width:1px}.chart__callout{fill:#050c22e0;stroke:#7f98ff;stroke-width:1px}.chart__callout-label{letter-spacing:.12em;text-transform:uppercase;fill:#8ea3e6;font-size:9px;font-weight:600}.chart__callout-title{font-family:var(--font-display);fill:#fff;font-size:16px}.chart__callout-coords{letter-spacing:.04em;fill:#b8c6ff;font-size:10px}.chart__scale-block{fill:#9fb2ff;stroke:#9fb2ff;stroke-width:1px}.chart__scale-block--alt{fill:#071030}.chart__scale text{letter-spacing:.06em;fill:#b3c2f7;font-size:9px}.radar__cross line{stroke:#8ca5ff42;stroke-width:1px;stroke-dasharray:2 6}.radar{mix-blend-mode:screen;pointer-events:none}.radar__spin{transform-box:fill-box;transform-origin:50%}.radar__trail{fill:#5877ff;opacity:.026}.radar__beam{stroke:#d6dfff;stroke-width:1.5px;filter:drop-shadow(0 0 4px #6f8cff)}.radar__blip{fill:#b7c6ff;opacity:0;transform-box:fill-box;transform-origin:50%;filter:blur(1px);pointer-events:none}.rose__disc{fill:#040a1dd9;stroke:none}.rose__ring{fill:none;stroke:#9fb2ff;stroke-width:1px}.rose__ring--inner{stroke-width:.6px;opacity:.7}.rose__tick{stroke:#9fb2ff;stroke-width:.7px;opacity:.7}.rose__tick--major{stroke-width:1.2px;opacity:1}.rose__half{fill:#071030;stroke:#9fb2ff;stroke-width:.8px;stroke-linejoin:round}.rose__half--ink{fill:#9fb2ff}.rose__hub{fill:#071030;stroke:#cfd9ff;stroke-width:1px}.rose__label{letter-spacing:.08em;fill:#d9e1ff;paint-order:stroke;stroke:var(--r-glass);stroke-width:3px;stroke-linejoin:round;font-size:10px;font-weight:600}.rose__label--n{fill:#fff;font-size:12px;font-weight:700}.reach{isolation:isolate;width:100vw;height:clamp(580px,86vh,880px);color:var(--c-dark-fg);cursor:crosshair;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:radial-gradient(42% 60% at 18% 66%,#4d6cfa29,#0000 70%),radial-gradient(70% 55% at 55%,#0a0e1ee6,#0000 100%),#000;margin-top:clamp(4rem,8vw,7rem);margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.reach__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.reach__copy{pointer-events:none;position:absolute;top:clamp(2rem,5vh,3.5rem);left:0;right:0}.reach__col{gap:var(--s-3);flex-direction:column;max-width:24rem;display:flex}@media (width>=901px){.reach__copy{top:50%;translate:0 -50%}.reach__hint-text{max-width:24rem}}.reach__copy .label{color:var(--c-dark-fg-muted)}.reach__title{max-width:22ch;font-family:var(--font-display);font-size:var(--fs-xl);font-weight:400;line-height:var(--lh-snug);letter-spacing:var(--ls-tight);color:var(--c-dark-fg-strong);text-wrap:balance;margin:0}.reach__body{max-width:36rem;font-size:var(--fs-base);line-height:var(--lh-body);color:var(--c-dark-fg);margin:0}.reach__labels{pointer-events:none;position:absolute;inset:0}.reach__place{opacity:0;will-change:transform, opacity;width:0;height:0;position:absolute;top:0;left:0}.reach__mark{background:#ffffff2e;border:1px solid #ffffffe6;border-radius:50%;width:9px;height:9px;position:absolute;top:0;left:0;translate:-50% -50%;box-shadow:0 0 14px #ffffff8c}.reach__place--citta .reach__mark{background:radial-gradient(circle,#fff 0 2.4px,#ffffff1a 3px);width:13px;height:13px}.reach__text{border-radius:var(--radius-sm);text-shadow:0 0 3px #000,0 0 8px #000;background:#0000009e;flex-direction:column;gap:1px;width:max-content;padding:3px 8px 4px;display:flex;position:absolute;top:0;left:13px;translate:0 -50%;box-shadow:0 0 0 1px #ffffff14}.reach__place--left .reach__text{text-align:right;align-items:flex-end;left:auto;right:13px}.reach__name{font-family:var(--font-display);letter-spacing:var(--ls-tight);color:#fff;white-space:nowrap;font-size:clamp(.85rem,.75rem + .3vw,1.05rem);line-height:1.15}.reach__place--citta .reach__text{left:18px}.reach__place--citta.reach__place--left .reach__text{left:auto;right:18px}.reach__place--citta .reach__name{font-size:clamp(1rem,.85rem + .55vw,1.4rem);font-weight:500}.reach__km{letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-dark-fg-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.66rem;font-weight:600}.reach__place--home{opacity:1;transition:opacity .6s var(--ease-out)}.reach__place--home .reach__text{text-align:center;transition:opacity .3s var(--ease);align-items:center;top:20px;left:0;translate:-50%}.reach__place--home .reach__name{font-size:clamp(.95rem,.8rem + .5vw,1.25rem);font-weight:500}.reach__place--home .reach__km{color:#8da3ff}.reach__pin{width:26px;height:26px;box-shadow:0 0 0 1px var(--c-accent), 0 0 22px #4d6cfa8c;color:#8da3ff;background:#000;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0;translate:-50% -50%}.reach__pin .dmark{width:12px;height:12px}.reach__pin:after{content:"";border:1px solid var(--c-accent);opacity:0;animation:ping 3s var(--ease) infinite;border-radius:50%;position:absolute;inset:-7px}.reach__tick{opacity:0;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-dark-fg-muted);font-variant-numeric:tabular-nums;white-space:nowrap;transition:opacity .7s var(--ease-out);will-change:transform;font-size:.58rem;font-weight:600;position:absolute;top:0;left:0;translate:6px -50%}.reach__hint{align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--c-dark-fg-muted);pointer-events:none;margin-block:0;line-height:1.4;display:flex;position:absolute;bottom:clamp(1rem,3vh,2rem);left:0;right:0}.reach__hint-dot{background:#fff;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 10px #fffc}.reach__elenco{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}html:not(.js) .reach{height:auto;padding-bottom:var(--s-7)}html:not(.js) .reach__copy{padding-top:var(--s-7);position:static}html:not(.js) .reach__labels,html:not(.js) .reach__hint{display:none}html:not(.js) .reach__elenco{width:auto;height:auto;margin-top:var(--s-6);padding-inline:var(--gutter);clip-path:none;white-space:normal;gap:var(--s-2) var(--s-5);font-size:var(--fs-sm);flex-wrap:wrap;list-style:none;display:flex;position:static}@media (width<=720px){.reach{height:clamp(620px,96svh,820px)}.reach__title{font-size:var(--fs-lg)}.reach__body{font-size:var(--fs-sm);line-height:1.6}.reach__hint{font-size:.75rem}.reach__place--home .reach__km{display:none}}.method{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(2rem,4vw,4rem);margin:0;padding:0;list-style:none;display:grid}.method__step{gap:var(--s-3);padding-top:var(--s-5);flex-direction:column;display:flex;position:relative}.method__step:after{content:"";background:var(--c-ink);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.method__step:before{content:"";background:var(--c-ink);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:0}.method__head{justify-content:space-between;align-items:flex-end;gap:var(--s-3);display:flex}.method__emblem{width:4.5rem}@media (hover:hover) and (prefers-reduced-motion:no-preference){.method__step:hover .method__emblem img{transform:translateY(-4px)rotate(-2deg)}}.method__num{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--c-ink);font-variant-numeric:tabular-nums;font-weight:300;line-height:1}.method__title{font-size:var(--fs-md);letter-spacing:var(--ls-tight);color:var(--c-ink);margin:0;font-weight:600}.method__text{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--c-body);margin:0}.contact{--bg:var(--c-dark-bg);background:var(--c-dark-bg);color:var(--c-dark-fg)}.contact .headline{color:var(--c-dark-fg-strong)}.contact .lead,.contact .body-text{color:var(--c-dark-fg)}.contact .section-head:before{background:var(--c-dark-fg-strong)}.contact .section-head__index{border-color:var(--c-dark-fg-strong);color:var(--c-dark-fg-strong)}.contact .label{color:var(--c-dark-fg-muted)}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(3rem,7vw,7rem);display:grid}.contact-list{border-top:1px solid var(--c-dark-line);margin:0;padding:0;list-style:none}.contact-item{border-bottom:1px solid var(--c-dark-line)}.contact-item__link{gap:var(--s-5);padding:var(--s-6) 0;color:inherit;grid-template-columns:68px minmax(0,1fr);text-decoration:none;display:grid}.contact-item__icon{--key-h:50px}.contact-item__text{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.contact-item__value{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:400;line-height:var(--lh-snug);letter-spacing:var(--ls-tight);color:var(--c-dark-fg-strong);overflow-wrap:anywhere}.contact-item__note{font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--c-dark-fg-muted)}.contact-item__link:focus-visible{outline:2px solid var(--c-accent);outline-offset:4px}.contact__map-col{flex-direction:column;display:flex}.map{background:var(--plate);min-height:360px;box-shadow:var(--plate-edge), 0 30px 60px -30px #000000e6;transition:box-shadow var(--dur) var(--ease);border-radius:10px;flex:1;display:block;position:relative}.map__screen{background:#040a1d;border-radius:6px;position:absolute;inset:16px;overflow:hidden;box-shadow:0 0 0 1px #000,0 1px 0 1px #ffffffb3}.map__crop{display:block;position:absolute;inset:-44px -52px -56px;overflow:hidden}.map__frame{pointer-events:none;filter:grayscale()invert()contrast(1.3)brightness(.72)sepia()hue-rotate(185deg)saturate(3.2);width:100%;height:100%;transition:filter var(--dur) var(--ease);border:0}.map__radar{aspect-ratio:1;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(#96afff4d,#96afff4d) 50%/1px 100% no-repeat,linear-gradient(#96afff4d,#96afff4d) 50%/100% 1px no-repeat,repeating-radial-gradient(circle,#0000 0 59px,#96afff57 59px 60px);border-radius:50%;width:170%;position:absolute;top:50%;left:50%;translate:-50% -50%}.map__radar:after{content:"";background:conic-gradient(#0000 0deg 300deg,#4d6cfa0f 300deg,#6e8cff80 358deg,#e1e9fff2 359.6deg,#0000 360deg);border-radius:50%;position:absolute;inset:0}.map__pin{background:var(--c-accent);width:36px;height:36px;color:var(--c-accent-ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);box-shadow:0 0 0 2px #e1e9ffe6,0 0 18px 4px #4d6cfacc}.map__pin .dmark{width:16px;height:16px}.map__cta{left:var(--s-4);bottom:var(--s-4);align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);color:#dfe6ff;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;text-shadow:0 0 6px #4d6cfae6;background:#050c22d9;border:1px solid #96afff8c;border-radius:4px;font-weight:600;display:inline-flex;position:absolute}.map__cta svg{width:15px;height:15px}.map:hover{box-shadow:var(--plate-edge), 0 0 0 1px #96afff59, 0 30px 60px -30px #000000e6}.map:hover .map__frame{filter:grayscale()invert()contrast(1.3)brightness(.85)sepia()hue-rotate(185deg)saturate(3.2)}.map:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}.map__note{margin:var(--s-3) 0 0;font-size:var(--fs-label);color:var(--c-dark-fg-muted);line-height:1.6}.map__note a{text-underline-offset:.2em;text-decoration:underline}.map__note a:hover{color:var(--c-dark-fg-strong)}.footer{background:var(--metal-blued);color:var(--c-dark-fg);padding-block:clamp(4rem,8vw,7rem);box-shadow:inset 0 1px #becdff47,inset 0 2px #0000008c}.led{--lit:999;background:radial-gradient(120% 140% at 50% 0,#0a1026 0%,#03050c 55%,#000 100%);border-radius:6px;position:relative}.led:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(172deg,#ffffff12 0%,#fff0 38%);position:absolute;inset:0}.led--sign{margin-bottom:clamp(3rem,6vw,5rem);padding:clamp(.9rem,2.6vw,2rem) clamp(1rem,3.2vw,2.5rem);box-shadow:inset 0 2px 14px #000000f2,inset 0 0 0 1px #4d6cfa1a,0 0 0 5px #17181b,0 0 0 6px #ffffff1a,0 18px 40px -18px #4d6cfa59}.led__glass{width:100%;height:auto;display:block;overflow:visible}.led__off{fill:#0e1838}.led__on{fill:#86a0ff;filter:drop-shadow(0 0 1.5px #96afffe6)drop-shadow(0 0 7px #4d6cfabf)}.led__on :is(polygon,circle){opacity:clamp(0, calc(var(--lit) - var(--n)), 1);transition:opacity .14s var(--ease)}.led--readout{--led-h:24px;transition:box-shadow var(--dur) var(--ease);border-radius:4px;place-items:center;padding:0 8px;display:grid;box-shadow:inset 0 1px 4px #000000f2,inset 0 0 0 1px #4d6cfa24,0 1px #ffffff24}.led--readout .led__glass{width:auto;height:var(--led-h)}.led--readout .led__on{filter:drop-shadow(0 0 2px #96afffe6)drop-shadow(0 0 9px #4d6cfab3);transition:fill var(--dur) var(--ease)}.led--readout .led__on :is(polygon,circle){opacity:0;transition:opacity .12s var(--ease)}.led--readout .led__on .is-lit{opacity:1}.titleblock{border:1px solid var(--c-dark-line);grid-template-columns:1.5fr 1fr 1fr .8fr;display:grid}.tb{gap:var(--s-3);min-width:0;padding:var(--s-5);border-right:1px solid var(--c-dark-line);border-bottom:1px solid var(--c-dark-line);font-size:var(--fs-sm);flex-direction:column;line-height:1.55;display:flex}.tb:nth-child(4n){border-right:0}.tb--brand{gap:var(--s-5)}.tb--meta{gap:var(--s-4);border-bottom:0;border-right:0;grid-column:span 4;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.tb--meta>div{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.tb__label{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-dark-fg-muted);font-weight:600;display:block}.tb__value{color:var(--c-dark-fg)}.tb__logo{width:64px;height:64px;color:var(--c-dark-fg-strong)}.tb__brand-copy{flex-direction:column;gap:4px;display:flex}.tb__name{font-size:var(--fs-md);letter-spacing:.08em;text-transform:uppercase;color:var(--c-dark-fg-strong);font-weight:700}.tb__role{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-dark-fg-muted)}.address-mark{border-top:1px solid var(--c-dark-fg-strong);border-bottom:1px solid var(--c-dark-fg-strong);flex-direction:column;max-width:260px;margin:0;display:flex}.address-mark span{padding:var(--s-2) 0;border-bottom:1px solid var(--c-dark-line);font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;color:var(--c-dark-fg-strong);font-weight:600}.address-mark span:last-child{color:var(--c-dark-fg-muted);border-bottom:0}.tb__list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.tb__list a{align-items:center;gap:var(--s-2);color:var(--c-dark-fg);transition:color var(--dur) var(--ease);display:inline-flex}.tb__list a:hover,.tb__value a:hover{color:var(--c-dark-fg-strong)}.tb__break{overflow-wrap:anywhere}.tb__ext{vertical-align:-2px;width:13px;height:13px;margin-right:6px;display:inline-block}.tb__num{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--c-dark-fg-muted);font-variant-numeric:tabular-nums;font-weight:600}.tb__value a{color:var(--c-dark-fg-strong);text-underline-offset:.2em;text-decoration:underline;-webkit-text-decoration-color:var(--c-dark-line);text-decoration-color:var(--c-dark-line)}.progress{z-index:70;background:var(--c-accent);transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.emblem img,.rail-list li:before{transition:none;transform:none}}@media (width<=1400px){.header__phone{display:none}}@media (width<=1240px){.nav{gap:var(--s-4)}}@media (width<=1180px){.header__cta{display:none}}@media (width<=1024px){.method{gap:var(--s-6) var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr))}.titleblock{grid-template-columns:1fr 1fr}.tb:nth-child(4n){border-right:1px solid var(--c-dark-line)}.tb:nth-child(2n){border-right:0}.tb--brand{border-right:0;grid-column:span 2}.tb--meta{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.margins__sym{width:calc(var(--size) * .62);height:calc(var(--size) * .62)}.margins__sym:nth-child(2n),.nav,.header__phone,.header__cta{display:none}.menu-toggle{display:grid}.header__inner,.header--scrolled .header__inner{height:68px}.brand__mark,.header--scrolled .brand__mark{width:36px;height:36px}.section-head__body{grid-template-columns:1fr}.section-head .lead{max-width:60ch}.intro__grid{gap:var(--s-7);grid-template-rows:auto;grid-template-columns:1fr}.masthead__name{white-space:normal;font-size:clamp(2.5rem,11.5vw,4rem);line-height:.95}.manifesto{font-size:clamp(2.25rem,9vw,3.25rem)}.intro__plate{max-width:560px}.facts{grid-template-columns:1fr;gap:0;padding-block:0}.facts__item{padding-block:var(--s-4);border-bottom:1px solid var(--c-line)}.facts__item:not(:first-child){border-left:0;padding-left:0}.service-block,.service-block--flip{gap:var(--s-5);grid-template-columns:1fr}.service-block--flip .service-block__media{grid-column:1}.project--lead,.contact-grid{grid-template-columns:1fr}.studio-layout{gap:var(--s-6);grid-template-columns:1fr}.studio__rail{position:static}.rail-list{gap:0 var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.terr__photo img{aspect-ratio:4/3}.map{aspect-ratio:16/10;flex:none;min-height:0}}@media (width<=640px){.project-grid,.method,.rail-list{grid-template-columns:1fr}.index-list{columns:1}.datasheet__row{grid-template-columns:2.5rem minmax(0,1fr)}.datasheet__row dd{grid-column:2}.contact-item__link{gap:var(--s-3);grid-template-columns:56px minmax(0,1fr)}.contact-item__icon{--key-h:41px}.map{aspect-ratio:4/3}.titleblock{grid-template-columns:1fr}.tb,.tb:nth-child(4n),.tb:nth-child(2n){border-right:0}.tb--brand,.tb--meta{grid-column:auto}.tb--meta{grid-template-columns:1fr}}html.lenis,html.lenis body{height:auto}.lenis.lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.word,.char{margin-block:-.12em;padding-block:.12em;display:inline-flex;overflow:hidden}.word__in,.char__in{display:inline-block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plate__picture{position:relative}.plate__picture:after{content:"";mix-blend-mode:overlay;pointer-events:none;background:linear-gradient(105deg,#0000 38%,#ffffff8c 45%,#748eff42 50%,#ffffff73 55%,#0000 62%) 100% 0/260% 100% no-repeat;position:absolute;inset:1% 4.1% 9.2% 1.2%}.intro__hint{left:50%;bottom:calc(var(--header-h) + var(--s-5));z-index:2;align-items:center;gap:var(--s-3);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-muted);pointer-events:none;flex-direction:column;font-weight:600;display:none;position:absolute;translate:-50%}.intro__hint-line{background:var(--c-line-strong);width:1px;height:56px;position:relative;overflow:hidden}.intro__hint-line:after{content:"";background:var(--c-ink);position:absolute;inset:0;transform:translateY(-100%)}.map__pin:after{content:"";opacity:0;border:1px solid #ffffffb3;border-radius:50%;position:absolute;inset:-6px}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes char-rise{0%{transform:translateY(115%)}to{transform:none}}@keyframes line-rise{0%{transform:translateY(115%)rotate(2.5deg)}to{transform:none}}@keyframes stage-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes plate-rise{0%{opacity:0;transform:perspective(1400px)translateY(48px)rotateX(14deg)}to{opacity:1;transform:perspective(1400px)translateY(0)rotateX(0)}}@keyframes plate-in{0%{opacity:0;transform:perspective(1400px)translateY(55vh)rotateX(34deg)scale(.86)}to{opacity:1;transform:perspective(1400px)translateY(0)rotateX(0)scale(1)}}@keyframes masthead-land{0%{transform:translateY(24vh)scale(1.85)}to{transform:none}}@keyframes sheen{0%{background-position:100% 0}to{background-position:0 0}}@keyframes pen-move{0%{transform:translate(-180px)}to{transform:translate(calc(100vw - 180px))}}@keyframes pen-fade{0%{opacity:0}6%,80%{opacity:1}to{opacity:0}}@keyframes roll-up{0%{transform:translateY(100%)}}@keyframes roll-down{0%{transform:translateY(-100%)}}@keyframes hint-run{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes hint-out{to{opacity:0;transform:translateY(16px)}}@keyframes pin-ping{0%{opacity:.8;transform:scale(.8)}70%,to{opacity:0;transform:scale(2.2)}}@keyframes progress-grow{to{transform:scaleX(1)}}@keyframes parallax{0%{translate:0 -6%}to{translate:0 6%}}@keyframes drift{0%{translate:0 40px}to{translate:0 -40px}}@keyframes grid-pulse{0%{opacity:0}35%,70%{opacity:1}to{opacity:0}}@keyframes intro-grid{0%{opacity:.55}40%{opacity:1}to{opacity:.35}}@keyframes rail-highlight{0%,to{color:var(--c-body)}15%,85%{color:var(--c-ink)}}@keyframes rail-bar{0%,to{transform:scaleY(0)}15%,85%{transform:scaleY(1)}}@keyframes stroke-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes chart-fade{0%{opacity:0}}@keyframes ring-grow{0%{opacity:0;transform:scale(.2)}}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes callout-in{0%{opacity:0;transform:translateY(12px)}}@keyframes rose-settle{0%{transform:rotate(-150deg)}70%{transform:rotate(12deg)}86%{transform:rotate(-4deg)}to{transform:rotate(0)}}@keyframes radar-turn{to{rotate:360deg}}@keyframes radar-blip{0%{opacity:.95;transform:scale(.35)}22%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}@keyframes margin-drift{0%{translate:0 calc(var(--k,0) * 110px);rotate:calc(var(--rot,0deg) - 7deg)}to{translate:0 calc(var(--k,0) * -110px);rotate:calc(var(--rot,0deg) + 7deg)}}@media (prefers-reduced-motion:no-preference){.char__in{animation:char-rise 1.1s var(--ease-out) both;animation-delay:calc(.12s + var(--c,0) * 36ms)}.masthead__pre,.infoline,.intro__lead,.intro__actions,.intro__caption{animation:rise 1s var(--ease-out) both}.masthead__pre{animation-delay:.52s}.infoline{animation-delay:.64s}.manifesto__in{transform-origin:0 100%;animation:line-rise 1.2s var(--ease-out) both;animation-delay:calc(.64s + var(--i,0) * .12s)}.intro__lead{animation-delay:1s}.intro__actions{animation-delay:1.1s}.intro__plate .plate{animation:plate-rise 1.5s .3s var(--ease-out) both}.intro__caption{animation-delay:.9s}.plate__picture:after{animation:sheen 1.9s 1.3s var(--ease-in-out) both}.js .intro__plate:not(.is-visible) .plate,.js .intro__plate:not(.is-visible) .intro__caption,.js .intro__plate:not(.is-visible) .plate__picture:after{animation-play-state:paused}.intro__hint-line:after{animation:hint-run 2.2s var(--ease-in-out) infinite}.corner__roll--up{animation:roll-up .7s var(--ease-out) both}.corner__roll--down{animation:roll-down .7s var(--ease-out) both}.map__pin:after{animation:pin-ping 2.8s var(--ease-out) 2.2s infinite}.js .reveal{opacity:0;transition:opacity .9s var(--ease-out), transform 1.2s var(--ease-out);transition-delay:calc(var(--i,0) * .11s);transform:translateY(36px)}.js .reveal.is-visible{opacity:1;transform:none}.js .reveal-stagger,.js .reveal--host,.js .section-head.reveal,.js .service-block.reveal,.js .project.reveal,.js .intro__plate.reveal{opacity:1;transition:none;transform:none}.js .reveal-stagger>*{opacity:0;transition:opacity .8s var(--ease-out), transform 1s var(--ease-out);transition-delay:calc(min(var(--i,0), 12) * 60ms);transform:translateY(22px)}.js .reveal-stagger.is-visible>*{opacity:1;transform:none}.js .reveal .word__in{transition:transform 1.1s var(--ease-out);transition-delay:calc(var(--words-at,0s) + var(--w,0) * 45ms);transform:translateY(115%)}.js .reveal.is-visible .word__in{transform:none}.js .section-head{--words-at:.24s}.js .section-head:before{clip-path:inset(0 100% 0 0);transition:clip-path 1.5s var(--ease-in-out)}.js .section-head.is-visible:before{clip-path:inset(0)}.js .section-head:after{content:"";background:linear-gradient(90deg, transparent, var(--c-accent));opacity:0;pointer-events:none;width:180px;height:1px;position:absolute;top:0;left:calc(50% - 50vw)}.js .section-head.is-visible:after{animation:pen-move 1.5s var(--ease-in-out) both, pen-fade 1.5s linear both}.js .section-head__index{opacity:0;transition:opacity .5s var(--ease-out) .16s, transform .9s var(--ease-spring) .16s;transform:translateY(-50%)scale(.6)}.js .section-head.is-visible .section-head__index{opacity:1;transform:translateY(-50%)}.js .section-head__meta .label{opacity:0;transition:opacity .7s var(--ease-out) .32s, transform .9s var(--ease-out) .32s;transform:translate(-14px)}.js .section-head .lead{opacity:0;transition:opacity .9s var(--ease-out) .56s, transform 1.1s var(--ease-out) .56s;transform:translateY(20px)}.js .section-head.is-visible .section-head__meta .label,.js .section-head.is-visible .lead{opacity:1;transform:none}.js .wipe{clip-path:inset(100% 0 0 0 round var(--radius));transition:clip-path 1.4s var(--ease-out)}.js .wipe>.photo{transform-origin:50% 100%;transition:transform 1.9s var(--ease-out);transform:scale(1.28)}.js .is-visible>.wipe,.js .is-visible .wipe{clip-path:inset(0 round var(--radius))}.js .is-visible .wipe>.photo{transform:none}.js .service-block .service-block__copy>*{--rd:calc(.26s + var(--k,0) * 90ms);opacity:0;transition:opacity .9s var(--ease-out) var(--rd), transform 1.1s var(--ease-out) var(--rd), color var(--dur) var(--ease), border-color var(--dur) var(--ease);transform:translateY(28px)}.service-block__copy>:nth-child(2){--k:1}.service-block__copy>:nth-child(3){--k:2}.service-block__copy>:nth-child(4){--k:3}.service-block__copy>:nth-child(5){--k:4}.js .service-block.is-visible .service-block__copy>*{opacity:1;transform:none}.js .project .wipe,.js .project .wipe>.photo{transition-delay:calc(var(--i,0) * .12s)}.js .project .project__body{opacity:0;transition:opacity .9s var(--ease-out), transform 1.1s var(--ease-out);transition-delay:calc(var(--i,0) * .12s + .28s);transform:translateY(24px)}.js .project.is-visible .project__body{opacity:1;transform:none}.js .datasheet__row{opacity:0;transition:opacity .7s var(--ease-out), transform .9s var(--ease-out);transition-delay:calc(.22s + var(--i,0) * 70ms);transform:translate(-16px)}.js .datasheet.is-visible .datasheet__row{opacity:1;transform:none}.js .signature__logo path,.js .tb__logo path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.6s var(--ease-in-out)}.js .is-visible .signature__logo .logo__ghost path,.js .is-visible .tb__logo .logo__ghost path{stroke-dashoffset:0;transition-delay:.2s}.js .is-visible .signature__logo .logo__ink path,.js .is-visible .tb__logo .logo__ink path{stroke-dashoffset:0;transition-delay:.65s}.js .method__step:after{transition:transform .7s var(--ease-in-out);transition-delay:calc(var(--i,0) * .26s + .12s);transform:scaleX(0)}.js .method__step:before{transition:transform .6s var(--ease-spring);transition-delay:calc(var(--i,0) * .26s);transform:scale(0)}.js .method.is-visible .method__step:after{transform:scaleX(1)}.js .method.is-visible .method__step:before{transform:scale(1)}.js .method.reveal-stagger>.method__step{transition-delay:calc(var(--i,0) * .26s + .22s)}.js .contact__map-col .map{clip-path:inset(calc(100% + 60px) -60px -60px);transition:clip-path 1.4s var(--ease-out) .15s, border-color var(--dur) var(--ease)}.js .contact__map-col.is-visible .map{clip-path:inset(-60px)}.js .contact__map-col .map__pin{opacity:0;transition:opacity .4s var(--ease-out) .9s, transform .9s var(--ease-spring) .9s;transform:translate(-50%,-320%)}.js .contact__map-col.is-visible .map__pin{opacity:1;transform:translate(-50%,-100%)}.radar__spin,.map__radar:after{animation:radar-turn var(--radar-turn,6s) linear infinite}.radar__blip{animation:radar-blip var(--radar-turn,6s) linear infinite;animation-delay:var(--t,0s)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.progress{animation:linear both progress-grow;animation-timeline:scroll(root)}.margins__sym{animation:linear both margin-drift;animation-timeline:view();animation-range:cover}.service-block__media,.project__figure{overflow:clip}.service-block__media img,.project__figure img{animation:linear both parallax;animation-timeline:view();animation-range:cover;scale:1.14}.service-block__num{animation:linear both drift;animation-timeline:view();animation-range:cover}#studio{view-timeline-name:--studio}.section--grid:before{animation:linear both grid-pulse;animation-timeline:--studio;animation-range:cover}.rail-list li{animation:linear both rail-highlight;animation-timeline:--studio;animation-range:cover calc(12% + var(--i,0) * 76% / 9) cover calc(12% + (var(--i,0) + 1) * 76% / 9)}.rail-list li:before{animation:linear both rail-bar;animation-timeline:--studio;animation-range:cover calc(12% + var(--i,0) * 76% / 9) cover calc(12% + (var(--i,0) + 1) * 76% / 9)}.terr__map{view-timeline-name:--map}.chart__river,.chart__river-casing,.chart__leader{stroke-dasharray:1;animation:linear both stroke-draw;animation-timeline:--map}.chart__river,.chart__river-casing{animation-range:entry 25% contain 30%}.chart__leader{animation-range:contain 5% contain 25%}.chart__park,path.chart__park-hatch,.chart__lake,.chart__toponym{animation:linear both chart-fade;animation-timeline:--map;animation-range:entry 60% contain 35%}.chart__rings circle{transform-box:fill-box;transform-origin:50%;animation:ring-grow var(--ease-scrub) both;animation-timeline:--map;animation-range:entry calc(35% + var(--i,0) * 12%) contain calc(var(--i,0) * 8%)}.chart__rings text,.chart__town,.chart__label,.chart__capital-ring,.chart__capital-dot{animation:linear both chart-fade;animation-timeline:--map;animation-range:entry 45% contain 20%}.rose__spin{transform-box:fill-box;transform-origin:50%;animation:linear both rose-settle;animation-timeline:--map;animation-range:entry 10% contain 45%}.chart__studio .chart__d{transform-box:fill-box;transform-origin:50%;animation:linear both pop;animation-timeline:--map;animation-range:entry 70% contain 5%}.chart__callout-in{animation:callout-in var(--ease-scrub) both;animation-timeline:--map;animation-range:contain 10% contain 30%}}@media (width>=901px) and (prefers-reduced-motion:no-preference){.intro{view-timeline-name:--intro;height:300vh}.intro:before{height:100vh;animation:linear both intro-grid;animation-timeline:--intro;animation-range:contain;display:block;position:sticky;top:0;-webkit-mask-image:none;mask-image:none}.intro__stage{height:100vh;padding-top:var(--header-h);align-items:stretch;margin-top:-100vh;padding-bottom:0;display:flex;position:sticky;top:0;overflow:hidden}.intro__grid{height:100%;padding-top:var(--s-6);padding-bottom:var(--s-6);grid-template-rows:auto minmax(0,1fr)}.intro__head{align-self:start}.intro__hint{animation:linear both hint-out;animation-timeline:--intro;animation-range:contain contain 7%;display:flex}.masthead__pre,.infoline,.manifesto__in,.intro__lead,.intro__actions,.intro__plate .plate,.intro__caption,.plate__picture:after{animation-duration:auto;animation-delay:0s;animation-timing-function:var(--ease-scrub);animation-fill-mode:both;animation-timeline:--intro}.masthead__name{animation:linear both masthead-land;animation-timing-function:var(--ease-in-out-soft);animation-timeline:--intro;animation-range:contain contain 30%}.masthead__pre{animation-name:stage-in;animation-range:contain 22% contain 32%}.infoline{animation-name:stage-in;animation-range:contain 26% contain 38%}.manifesto__in{animation-name:line-rise;animation-range:contain calc(34% + var(--i,0) * 11%) contain calc(47% + var(--i,0) * 11%)}.intro__lead{animation-name:stage-in;animation-range:contain 64% contain 76%}.intro__actions{animation-name:stage-in;animation-range:contain 68% contain 80%}.intro__plate .plate{animation-name:plate-in;animation-range:contain 22% contain 56%}.intro__caption{animation-name:stage-in;animation-range:contain 52% contain 62%}.plate__picture:after{animation-name:sheen;animation-timing-function:linear;animation-range:contain 58% contain 90%}}}@media (prefers-reduced-motion:reduce){.logo--draw path{stroke-dashoffset:0;animation:none}.reach__pin:after,.chart__halo,.map__pin:after{animation:none}.plate__picture{transition:none;transform:none}}.viewer{--viewer-stage-h:clamp(18rem, 72vw, 44rem);border:1px solid var(--c-ink);background:var(--c-surface);color:var(--c-ink);grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""tools""info""panel";display:grid}.viewer__meta,.viewer__item-n,.viewer__status,.viewer__link{font-family:var(--font-body);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-variant-numeric:tabular-nums;font-weight:600}.viewer__stage{height:var(--viewer-stage-h);background-color:var(--c-surface-2);background-image:linear-gradient(var(--c-grid) 1px, transparent 1px), linear-gradient(90deg, var(--c-grid) 1px, transparent 1px);touch-action:pan-y;-webkit-user-select:none;user-select:none;background-size:24px 24px;outline:none;grid-area:stage;place-items:center;display:grid;position:relative;overflow:hidden}.viewer__stage:focus-visible{box-shadow:inset 0 0 0 2px var(--c-accent)}.viewer.is-ready .viewer__stage{cursor:grab}.viewer.is-dragging .viewer__stage{cursor:grabbing}.viewer.is-zoomed .viewer__stage,.viewer.is-full .viewer__stage{touch-action:none}.viewer__sheet{max-width:calc(100% - 2rem);height:calc(100% - 2rem);aspect-ratio:var(--ratio);box-shadow:0 0 0 1px var(--c-line), 0 30px 60px -36px #00000073;background:#fff;position:relative}.viewer.is-ready .viewer__sheet{aspect-ratio:auto;transform-origin:0 0;max-width:none;height:auto;position:absolute;top:0;left:0}.viewer.is-moving .viewer__sheet{will-change:transform}.viewer__img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.viewer__layer{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .32s var(--ease);display:block;position:absolute;inset:0}.viewer__layer.is-in,.viewer__layer--detail{opacity:1}.viewer__layer--detail{transition:none;inset:auto}.viewer__layer[hidden]{display:none}.viewer__status,.viewer__hint{z-index:2;border:1px solid var(--c-ink);background:color-mix(in srgb, var(--c-surface) 94%, transparent);color:var(--c-ink);pointer-events:none;margin:0;padding:6px 10px;position:absolute}.viewer__status{top:12px;left:12px}.viewer__hint{font-size:var(--fs-sm);opacity:0;transition:opacity var(--dur) var(--ease);padding:10px 14px;top:50%;left:50%;translate:-50% -50%}.viewer.is-hinting .viewer__hint{opacity:1}.viewer__tools{z-index:3;border-top:1px solid var(--c-ink);background:var(--metal-gunmetal);grid-area:tools;gap:6px;padding:7px 7px 8px;display:flex;box-shadow:inset 0 1px #ffffff29}.viewer__tools>*{flex:1}@media (width>=900px){.viewer__tools{border:1px solid #000;border-radius:11px;grid-area:stage;place-self:end;margin:12px;box-shadow:inset 0 1px #fff3,0 1px #fff9,0 18px 32px -14px #0000008c}.viewer__tools>*{flex:none}}html:not(.js) .viewer__tools,html:not(.js) .viewer__hint,html:not(.js) .viewer__status{display:none}.viewer__tool{cursor:pointer;background:0 0;border:0;place-items:center;height:40px;padding:0;display:grid;position:relative}.viewer__tool .key{--key-h:40px}.viewer__tool[aria-pressed=true] .key{box-shadow:inset 0 1px 1px #000000e6, 0 0 14px 2px color-mix(in srgb, var(--c-accent) 60%, transparent)}.viewer__tool[aria-pressed=true] .key__cap{filter:brightness(1.12)}.viewer__tool .led{height:100%}.viewer__count{cursor:default}@media (hover:hover){.viewer__zoom:hover .led{box-shadow:inset 0 1px 4px #000000f2, inset 0 0 0 1px #4d6cfa4d, 0 1px 0 #ffffff24, 0 0 12px 1px color-mix(in srgb, var(--c-accent) 45%, transparent)}.viewer__zoom:hover .led__on{fill:#b6c5ff}}.viewer__zoom:active .led__on{fill:#dfe7ff}@media (width<=599px){.viewer__count{display:none}.viewer__tools{gap:5px;padding-inline:6px}.viewer__tool .key{--key-h:36px}.viewer__tool .led{--led-h:17px;padding-inline:5px}}.viewer__info{gap:var(--s-2);padding:var(--s-4) var(--s-5) var(--s-5);border-top:1px solid var(--c-ink);grid-area:info;display:grid}.viewer__info p{margin:0}.viewer__meta{gap:var(--s-1) var(--s-5);color:var(--c-muted);flex-wrap:wrap;display:flex}.viewer__meta span:first-child{color:var(--c-accent-hover)}.viewer__title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:400;line-height:var(--lh-snug);letter-spacing:var(--ls-tight);color:var(--c-ink)}.viewer__note{max-width:70ch;font-size:var(--fs-sm);color:var(--c-body);line-height:1.6}.viewer__links{gap:var(--s-2) var(--s-5);margin-top:var(--s-1);flex-wrap:wrap;display:flex}.viewer__link{align-items:center;gap:var(--s-2);min-height:44px;color:var(--c-ink);text-decoration:underline;-webkit-text-decoration-color:var(--c-line-strong);text-decoration-color:var(--c-line-strong);text-underline-offset:.35em;transition:color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);display:inline-flex}.viewer__link svg{width:16px;height:16px;color:var(--c-accent)}.viewer__link:hover{color:var(--c-accent-hover);-webkit-text-decoration-color:var(--c-accent);text-decoration-color:var(--c-accent)}.viewer__panel{border-top:1px solid var(--c-ink);grid-area:panel;min-width:0}.viewer__list{scrollbar-width:thin;overflow-x:auto}.viewer__list ol{margin:0;padding:0;list-style:none;display:flex}.viewer__item{align-items:center;gap:4px var(--s-3);width:13rem;height:100%;padding:var(--s-3) var(--s-4);border-right:1px solid var(--c-line);color:var(--c-ink);transition:background-color var(--dur) var(--ease);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);display:grid;position:relative}.viewer__item:before{content:"";background:var(--c-accent);transform-origin:0;height:2px;transition:transform var(--dur) var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.viewer__mini{background:var(--c-surface-2);grid-row:1/-1;place-items:center;width:52px;height:52px;display:grid}.viewer__mini img{width:auto;max-width:46px;height:auto;max-height:46px;box-shadow:0 0 0 1px var(--c-line-strong);background:#fff;display:block}.viewer__item-n{color:var(--c-muted);align-self:end}.viewer__item-title{font-size:var(--fs-sm);align-self:start;font-weight:500;line-height:1.3}.viewer__item[aria-current]{background:var(--c-page)}.viewer__item[aria-current]:before{transform:scaleX(1)}.viewer__item[aria-current] .viewer__item-n{color:var(--c-accent-hover)}.viewer__item[aria-current] .viewer__item-title{font-weight:600}@media (hover:hover){.viewer__item:not([aria-current]):hover{background:var(--c-page)}}.viewer__item:focus-visible{outline:2px solid var(--c-accent);outline-offset:-2px}@media (width>=900px){.viewer{--viewer-stage-h:clamp(28rem, 70vh, 44rem);grid-template-columns:minmax(0,1fr) 18rem;grid-template-areas:"stage panel""info panel"}.viewer__panel{contain:size;border-top:0;border-left:1px solid var(--c-ink);scrollbar-width:thin;overflow-y:auto}.viewer__list{overflow:visible}.viewer__list ol{display:block}.viewer__item{border-right:0;border-bottom:1px solid var(--c-line);width:auto;height:auto}.viewer__item:before{transform-origin:top;width:2px;height:auto;top:0;right:auto;transform:scaleY(0)}.viewer__item[aria-current]:before{transform:scaleY(1)}}html.has-viewer-full{overflow:hidden}.viewer.is-full{z-index:80;border:0;grid-template-rows:minmax(0,1fr) auto auto auto;grid-template-areas:"stage""tools""info""panel";position:fixed;inset:0}.viewer.is-full .viewer__stage{height:auto;min-height:0}.viewer.is-full .viewer__info{gap:var(--s-1);padding:var(--s-3) var(--s-4)}.viewer.is-full .viewer__note{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.viewer.is-full .viewer__links{margin-top:0}@media (width<=899px){.viewer.is-full .viewer__note{display:none}.viewer.is-full .viewer__item{padding-block:var(--s-2)}}@media (width>=900px){.viewer.is-full{grid-template:"stage panel"minmax(0,1fr)"info panel"/minmax(0,1fr) 18rem}}@media print{.viewer__tools,.viewer__panel{display:none}}:root{--inox:#cfd3d8;--lastra-corsa:360vh;--lastra-velo:.46;--inox-plaque:linear-gradient(180deg, #f4f6f8 0%, #e1e5ea 55%, #d4d9df 100%);--inox-plaque-bright:linear-gradient(180deg, #f9fafb 0%, #e9ecf0 55%, #dde1e6 100%);--brunito-plaque:linear-gradient(180deg, #2b4779 0%, #172a50 55%, #10203f 100%);--brunito-a:#101e3ee6;--brunito-b:#0b1630e6;--brunito-c:#070e22eb;background:var(--inox)}body{background:0 0}body:before{content:"";height:calc(100vh + var(--lastra-corsa));z-index:-1;pointer-events:none;background:url(/images/metallo/acciaio-continuo.webp) center top / 100% auto repeat-y, var(--inox);transform:translate3d(0, var(--sfondo-y,0px), 0);will-change:transform;position:fixed;top:0;left:0;right:0}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){body:before{animation:linear both lastra-scorre;animation-timeline:scroll(root)}}}@keyframes lastra-scorre{0%{transform:translate(0,0)}to{transform:translate3d(0, calc(-1 * var(--lastra-corsa)), 0)}}body:after{content:"";z-index:-1;pointer-events:none;background: radial-gradient(125% 110% at 50% 45%, transparent 55%, #121e4014 100%),  radial-gradient(70% 85% at 100% 0%, #4d6cfa24, transparent 65%), radial-gradient(80% 70% at 0% 100%, #4d6cfa1f, transparent 65%),  linear-gradient(rgba(255, 255, 255, var(--lastra-velo)), rgba(255, 255, 255, var(--lastra-velo)));position:fixed;inset:0}.margins{display:none}.section{--bg:var(--inox-plaque);background:0 0}#servizi{background:linear-gradient(180deg, #fff0 0, #fff3 var(--section-y), #fff3 calc(100% - var(--section-y)), #fff0 100%)}.section--surface{--bg:var(--inox-plaque-bright);background:radial-gradient(55% 46% at 100% 50%, #4d6cfa17, transparent 70%), linear-gradient(180deg, #fff0 0, #fff6 var(--section-y), #fff6 calc(100% - var(--section-y)), #fff0 100%)}.section--grid{background:linear-gradient(180deg, #1c2c5a00 0, #1c2c5a0a var(--section-y), #1c2c5a0a calc(100% - var(--section-y)), #1c2c5a00 100%)}#metodo{background:linear-gradient(180deg, #14285c00 0, #14285c0a var(--section-y), #14285c0a calc(100% - var(--section-y)), #14285c00 100%)}.contact{--bg:var(--brunito-plaque);background:0 0}.contact:before{content:"";inset:calc(-1.5 * var(--section-y)) 0 0 0;z-index:-1;pointer-events:none;background: repeating-linear-gradient(180deg, #ffffff09 0 1px, transparent 1px 3px),  radial-gradient(70% 50% at 18% 30%, #4d6cfa4d, transparent 62%), radial-gradient(50% 40% at 88% 62%, #6e8cff29, transparent 62%),  linear-gradient(180deg, #182a52e6 0%, #112044e6 45%, var(--brunito-a) 100%);-webkit-mask-image:linear-gradient(to bottom, transparent 0, #0000001f calc(var(--section-y) * .7), #00000080 calc(var(--section-y) * 1.5), #000 calc(var(--section-y) * 2.35));-webkit-mask-image:linear-gradient(to bottom, transparent 0, #0000001f calc(var(--section-y) * .7), #00000080 calc(var(--section-y) * 1.5), #000 calc(var(--section-y) * 2.35));mask-image:linear-gradient(to bottom, transparent 0, #0000001f calc(var(--section-y) * .7), #00000080 calc(var(--section-y) * 1.5), #000 calc(var(--section-y) * 2.35));position:absolute}.footer{background:repeating-linear-gradient(180deg, #ffffff09 0 1px, transparent 1px 3px), radial-gradient(60% 50% at 50% 100%, #4d6cfa38, transparent 65%), linear-gradient(180deg, var(--brunito-a) 0%, var(--brunito-b) 55%, var(--brunito-c) 100%);box-shadow:none}.corner{background:var(--inox-plaque)}
