:root{--blue:#071d49;--ink:#101010;--muted:#5d626a;--paper:#fff;--grey:#f2f3f5;--title:'Cormorant Garamond',Georgia,serif;--sub:'Montserrat',sans-serif;--body:'Manrope',sans-serif;--h2:clamp(2.8rem,5.2vw,5.7rem);--h3:clamp(1.2rem,1.6vw,1.6rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--blue);background:var(--paper);font:16px/1.75 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--title);font-weight:400;line-height:1.03;letter-spacing:-.035em}h2{font-size:var(--h2)}h3{font:500 var(--h3)/1.4 var(--sub)}em{font-weight:400}p+p{margin-top:20px}header{height:106px;padding:10px 4.5%;display:flex;align-items:center;gap:32px;background:#fff;position:relative;z-index:20}.brand{margin-right:auto}.brand img{width:112px;height:85px;object-fit:contain}nav{display:flex;gap:25px;align-items:center;font:500 14px var(--sub)}nav a{padding:12px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--blue)}.contact-top{font:500 14px var(--sub);border-bottom:1px solid #bac1ce;padding:12px 0}.menu-button{border:0;background:none;width:30px;padding:5px 0;display:grid;gap:7px}.menu-button span{height:1px;background:var(--blue);width:26px}#mobile-menu{position:absolute;z-index:30;right:0;top:106px;width:min(460px,100%);padding:40px;background:white;box-shadow:0 20px 30px #071d4920}#mobile-menu a{display:block;font:32px/1.8 var(--title)}[hidden]{display:none!important}.hero{height:calc(100svh - 106px);min-height:620px;max-height:1000px;position:relative;overflow:hidden;background:#25313a;color:white}.hero video{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#03112ab8,#06152f12 90%),linear-gradient(0deg,#05152a80,transparent 30%)}.hero-copy{position:absolute;top:15%;left:7%;}.eyebrow,.overline{font:500 12px/1.6 var(--sub);letter-spacing:.17em}.hero h1{font-size:clamp(5rem,9.5vw,10.8rem);margin:25px 0}.hero-description{font-size:18px;line-height:1.7}.button{display:inline-flex;gap:40px;align-items:center;justify-content:space-between;border:1px solid #ffffff80;padding:17px 24px;margin-top:32px;font:500 14px/1.5 var(--sub);transition:background .25s,color .25s}.button:hover{background:white;color:var(--blue)}.hero-bottom{position:absolute;left:7%;right:5%;bottom:28px;display:flex;align-items:center;justify-content:space-between;font:12px var(--sub);letter-spacing:.1em}.hero-bottom button{border:1px solid #ffffff80;color:white;background:transparent;padding:8px 14px;font-size:12px}.section{padding:110px 7%}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;margin-top:35px}.intro-text{padding-top:12px}.lead{font:400 20px/1.7 var(--sub);letter-spacing:-.025em;margin-bottom:24px}.intro-text p:not(.lead),.luxury-copy>p:not(.lead):not(.eyebrow){color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid #9da8b9;padding-bottom:7px;margin-top:28px;font:500 14px/1.7 var(--sub)}.solutions{background:var(--grey)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px}.section-head .eyebrow{margin-bottom:22px}.section-head>p{color:var(--muted)}.material-grid{display:grid;grid-template-columns:1fr 1fr .85fr;gap:28px}.picture{overflow:hidden;height:350px}.picture img{height:100%;width:100%;object-fit:cover;transition:transform 1.2s}.material:hover .picture img{transform:scale(1.055)}.material .overline{display:block;margin:25px 0 14px;font-size:11px}.material h3{display:flex;justify-content:space-between}.material p{font-size:14px;color:var(--muted);margin-top:10px}.resilient{padding:25px;background:white;position:relative;overflow:hidden}.resilient .overline{margin:0 0 28px}.resilient h3{font-size:var(--h3)}.material-words{font:400 clamp(25px,3vw,48px)/1.2 var(--title);letter-spacing:.04em;margin-top:45px;color:#8995a9}.inspiration{height:620px;position:relative;background:var(--blue);color:white;overflow:hidden}.inspiration>img{width:100%;height:100%;object-fit:cover}.inspiration:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#031329ca,#03132920)}.inspiration-copy{position:absolute;z-index:2;left:7%;top:20%;max-width:650px}.inspiration h2{margin:20px 0}.inspiration-copy>p:not(.eyebrow){max-width:460px}.image-note{position:absolute;z-index:2;bottom:15px;right:25px;font-size:12px}.services>.eyebrow{margin-bottom:25px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.service-grid article{border-top:1px solid #bdc5d1;padding-top:20px}.service-grid article>span{font:italic 27px var(--title);color:#929bad}.service-grid h3{margin:25px 0 18px}.service-grid p{color:var(--muted)}.contract{background:var(--blue);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.contract h2{margin-top:32px}.contract-body{align-self:center}.soa{font:500 12px/1.5 var(--sub);letter-spacing:.08em;display:block;border-bottom:1px solid #ffffff50;padding-bottom:24px;margin-bottom:30px}.contract-body>p:not(.lead){color:#d0d6e0}.luxury{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.luxury-img img{height:570px;width:100%;object-fit:cover}.luxury h2{margin:28px 0}.contact{text-align:center;background:var(--grey)}.contact h2{margin:28px 0}.contact-actions{display:flex;justify-content:center;gap:45px;margin:35px 0 65px}.contact-actions a{border-bottom:1px solid #9da8b9;padding:10px 0;font:500 16px var(--sub)}.locations{border-top:1px solid #c8cdd5;padding-top:45px;display:grid;grid-template-columns:1fr 1fr;max-width:800px;margin:auto;gap:30px}.locations p{margin:15px 0;font-size:14px}.locations a{font-size:14px}footer{padding:45px 7% 25px}.footer-top{display:flex;align-items:center;gap:60px;padding-bottom:35px}.footer-top img{width:110px;height:85px;object-fit:contain}.footer-top p{font:italic 25px/1.3 var(--title)}.footer-top>a{margin-left:auto;font-size:13px}.legal{border-top:1px solid #d6d9df;padding-top:25px;display:flex;justify-content:space-between;gap:30px;color:var(--muted);font-size:12px;line-height:1.9}.legal>div{display:flex;flex-direction:column;align-items:flex-end}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}a:focus-visible,button:focus-visible{outline:2px solid #7991bc;outline-offset:5px}.reveal{transition:opacity .8s,transform .8s}.js .reveal{opacity:0;transform:translateY(25px)}.js .reveal.visible{opacity:1;transform:none}@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}@media(max-width:1050px){nav{display:none}.material-grid{grid-template-columns:1fr 1fr}.resilient{grid-column:1/-1}.material-words{display:none}.picture{height:300px}.section{padding:80px 6%}.intro-grid{gap:7%}.contract{gap:6%}.luxury-img img{height:480px}}@media(max-width:650px){header{height:88px;padding:6px 6%;gap:25px}.brand img{width:90px;height:70px}#mobile-menu{top:88px}.hero{height:calc(92svh - 88px);min-height:590px}.hero-copy{top:15%;left:7%;right:7%}.hero h1{font-size:clamp(4.7rem,17vw,7rem)}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero-description{font-size:16px}.hero-bottom>span{display:none}.hero-bottom{font-size:10px}.section{padding:65px 7%}.intro-grid,.luxury,.contract{grid-template-columns:1fr;gap:35px}.section-head{display:block}.section-head>p{margin-top:25px}.material-grid{grid-template-columns:1fr;gap:40px}.picture{height:360px}.resilient{grid-column:auto;padding:30px}.inspiration{height:610px}.inspiration-copy{right:7%;top:17%}.service-grid{grid-template-columns:1fr;gap:30px}.service-grid h3{margin:15px 0}.luxury-img img{height:400px}.contact-actions{flex-direction:column;gap:10px;align-items:center;margin-bottom:45px}.locations{grid-template-columns:1fr;gap:35px}.footer-top{gap:25px;flex-wrap:wrap}.footer-top>a{margin-left:0}.legal{flex-direction:column}.legal>div{align-items:flex-start}.lead{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.picture img{transition:none!important}.js .reveal{opacity:1;transform:none}}
/* Editorial projects and footer */
.projects{background:#fff;padding-bottom:125px}.projects-heading{margin-bottom:44px}.projects-heading>.eyebrow{margin-bottom:22px}.projects-headline{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:8%}.projects-headline>div{max-width:390px;color:var(--muted)}.projects-headline span{display:block;margin-top:25px;font:500 11px var(--sub);letter-spacing:.17em;color:var(--blue)}.projects-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-card{min-height:455px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#fff;isolation:isolate}.project-card:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(140deg,#061532,#182f56);transition:transform .7s,filter .7s}.project-one:before{background:linear-gradient(145deg,#071d49 10%,#405577)}.project-two:before{background:linear-gradient(145deg,#07162f,#536578)}.project-three:before{background:linear-gradient(145deg,#143258,#0a1b31)}.project-card:after{content:'';position:absolute;right:-50px;bottom:-115px;border:1px solid #ffffff31;border-radius:50%;height:320px;width:320px;z-index:-1;transition:transform .8s}.project-card:hover:before{transform:scale(1.04);filter:brightness(1.12)}.project-card:hover:after{transform:translate(-40px,-22px)}.project-number,.project-foot{font:500 11px var(--sub);letter-spacing:.12em}.project-number{display:flex;justify-content:space-between;gap:10px}.project-number>span{text-align:right;color:#d8dfeb}.project-card h3{font:400 clamp(2.5rem,4vw,5rem)/.98 var(--title);margin:14px 0 12px;letter-spacing:-.04em}.project-card div>p{font:400 14px var(--sub);color:#e2e6ee}.project-card div>p:last-child{font-size:13px}.projects-note{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--muted)}.projects-note a{margin-top:0;color:var(--blue)}.footer-feature{background:#071d49;color:white;padding:70px 7% 45px}.footer-feature .eyebrow{color:#b8c7df}.footer-feature-row{display:flex;justify-content:space-between;align-items:end;gap:25px}.footer-feature-row h2{font-size:clamp(4rem,7vw,8rem);margin-top:17px}.footer-feature-row>a{height:70px;width:70px;border:1px solid #cad4e5;border-radius:50%;display:grid;place-items:center;font:34px var(--title);transition:background .3s,color .3s,transform .3s}.footer-feature-row>a:hover{background:white;color:var(--blue);transform:rotate(45deg)}footer{padding:0;background:#f5f6f8}.footer-main{padding:70px 7%;display:grid;grid-template-columns:2fr 1fr 1.2fr 1.4fr;gap:32px}.footer-identity img{width:125px;height:95px;object-fit:contain}.footer-identity p{margin-top:30px;font:italic 27px/1.25 var(--title)}.footer-column h3{font:600 12px var(--sub);letter-spacing:.13em;text-transform:uppercase;margin:0 0 25px}.footer-column a,.footer-column p{display:block;color:#596474;font-size:14px;line-height:1.7;margin:0 0 12px}.footer-column a:hover,.footer-bottom a:hover{text-decoration:underline}.footer-bottom{margin:0 7%;border-top:1px solid #c9ced8;padding:23px 0 32px;display:flex;gap:25px;justify-content:space-between;align-items:center;font:12px/1.7 var(--sub);color:#5d6673}.footer-bottom>div{display:flex;gap:20px}.corporate{min-height:calc(100svh - 106px);max-width:1150px;margin:auto}.corporate h1{font-size:clamp(4rem,8vw,8rem);margin:25px 0 70px}.corporate dl{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid #bec9d8}.corporate dt,.corporate dd{padding:18px 0;margin:0;border-bottom:1px solid #bec9d8}.corporate dt{font:500 14px var(--sub)}.corporate>p:last-child{margin-top:45px;color:var(--muted);max-width:650px}body:has(.hero) .hero-copy h1{animation:heroEnter 1.2s ease both}body:has(.hero) .hero-description{animation:heroEnter 1.2s .18s ease both}@keyframes heroEnter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(max-width:950px){.projects-rail{grid-template-columns:1fr 1fr}.project-card:last-child{grid-column:1/-1;min-height:300px}.footer-main{grid-template-columns:1.5fr 1fr;row-gap:55px}}@media(max-width:650px){.projects{padding-bottom:80px}.projects-headline{display:block}.projects-headline>div{margin-top:25px}.projects-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-7vw;padding-right:7vw;gap:12px;scrollbar-width:thin}.project-card,.project-card:last-child{min-width:min(83vw,370px);min-height:450px;scroll-snap-align:start}.projects-note{display:block}.projects-note a{margin-top:12px}.footer-feature{padding:60px 7% 45px}.footer-feature-row{align-items:end}.footer-feature-row h2{font-size:clamp(3.8rem,12vw,5.5rem)}.footer-feature-row>a{width:50px;height:50px;flex:none}.footer-main{grid-template-columns:1fr 1fr;padding:55px 7%;gap:45px 20px}.footer-identity{grid-column:1/-1}.footer-column:last-child{grid-column:1/-1}.footer-bottom{display:block;padding:25px 0}.footer-bottom>div{margin:17px 0;flex-wrap:wrap}.corporate dl{grid-template-columns:1fr}.corporate dt{padding-bottom:0;border-bottom:0}.corporate dd{padding-top:5px}}
/* Tre fondi in sequenza: blu, bianco, grigio azzurro; la sequenza ricomincia. */
:root{--color-one:#071d49;--color-two:#fff;--color-three:#e9edf2;--on-blue:#eef3fa;--display-size:clamp(3.25rem,5.6vw,6.2rem);--heading-size:clamp(1.35rem,1.75vw,1.7rem);--copy-size:1rem;--label-size:.75rem}body{background:var(--color-two);font-size:var(--copy-size)}header{padding-left:7%;padding-right:7%}.section h2,.inspiration h2{font-size:var(--display-size);line-height:1.05;letter-spacing:-.035em}.section h3,.footer-column h3,.locations h3{line-height:1.35}.section-head,.projects-heading{width:100%}.eyebrow,.overline,.project-number,.project-foot,.soa{font-family:var(--sub);font-size:var(--label-size);line-height:1.55;letter-spacing:.13em}.hero .eyebrow{font-size:var(--label-size);letter-spacing:.13em}.hero-description{font-size:1.125rem}.lead{font-size:1.25rem}.material h3,.service-grid h3,.resilient h3,.locations h3{font-size:var(--heading-size)}.intro-text p:not(.lead),.section-head>p,.projects-headline>div>p,.material p,.service-grid p,.contract-body>p:not(.lead),.luxury-copy>p:not(.lead):not(.eyebrow),.inspiration-copy>p:not(.eyebrow),.projects-note>p,.locations p{font-size:var(--copy-size);line-height:1.75}.text-link,.button{font-size:.875rem}.projects-headline span{font-size:var(--label-size)}.project-card h3{font:400 clamp(3rem,4.3vw,5.4rem)/1.02 var(--title);letter-spacing:-.035em}.project-card div>p,.project-card div>p:last-child{font-size:.875rem;line-height:1.55}.project-number,.project-foot{font-size:var(--label-size)}
.hero,.solutions,.contract,.footer-feature{background:var(--color-one);color:var(--on-blue)}.intro,.inspiration,.luxury,.footer-main,.footer-bottom{background:var(--color-two);color:var(--blue)}.projects,.services,.contact{background:var(--color-three);color:var(--blue)}.projects-headline>div>p,.projects-note>p,.service-grid p{color:#455469}.solutions .section-head>p,.solutions .material p{color:#d2deed}.solutions .material:not(.resilient){color:var(--on-blue)}.solutions .resilient{background:#fff;color:var(--blue);padding:28px}.solutions .resilient p{color:#526075}.solutions .resilient .text-link{color:var(--blue)}.solutions .picture{background:#e5eaf1}.services .service-grid article{border-color:#a5b0be}.contract-body>p:not(.lead){color:#d2deed}
.inspiration{height:auto;display:grid;grid-template-columns:1fr 1fr;min-height:650px;overflow:hidden;background:var(--color-two);color:var(--blue)}.inspiration:after{display:none}.inspiration-copy{position:static;z-index:auto;max-width:none;align-self:center;padding:90px 10% 90px 14%}.inspiration-copy h2{margin:25px 0}.inspiration-copy>p:not(.eyebrow){color:#526075;max-width:470px}.inspiration-copy .button{border-color:#9cabc0;color:var(--blue)}.inspiration-copy .button:hover{background:var(--blue);color:white}.inspiration-image{position:relative;overflow:hidden;min-height:520px}.inspiration-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s}.inspiration-image:hover img{transform:scale(1.04)}.image-note{background:#ffffffdd;color:var(--blue);padding:7px 10px;font:500 .75rem var(--sub)}
.footer-main{padding-left:7%;padding-right:7%}.footer-bottom{margin:0;padding-left:7%;padding-right:7%;border-top:1px solid #c9ced8}.hero-bottom{left:7%;right:7%}.contact-actions a{font-size:1rem}.footer-feature-row h2{font-size:clamp(4rem,7vw,8rem)}
@media(max-width:1050px){header{padding-left:6%;padding-right:6%}.inspiration-copy{padding:65px 8% 65px 12%}}@media(max-width:700px){.inspiration{display:flex;flex-direction:column;min-height:0}.inspiration-copy{padding:70px 7% 55px}.inspiration-image{min-height:460px;height:60vh;max-height:600px}.inspiration-image img{position:absolute;inset:0}.hero .eyebrow{font-size:.75rem}.hero-description,.lead{font-size:1.125rem}.project-card h3{font-size:clamp(3rem,11vw,4.4rem)}.section h2,.inspiration h2{font-size:clamp(3.25rem,10.5vw,5rem)}.material h3,.service-grid h3,.locations h3{font-size:1.35rem}.footer-bottom{padding:25px 7%}.inspiration .button{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.inspiration-image img{transition:none!important}.hero-copy h1,.hero-description{animation:none!important}}
/* Direction: an architectural journal, sparse type and visible material. */
:root{--rule:#a8b4c0;--ease-luxe:cubic-bezier(.22,1,.36,1)}
header{height:94px;background:#fff;border-bottom:1px solid #071d4915}header .brand img{height:78px;width:104px}nav{gap:clamp(16px,1.7vw,29px)}nav a{font-size:.76rem;letter-spacing:.035em;transition:color .35s}nav a:hover{color:#587096}.contact-top{font-size:.76rem;letter-spacing:.035em}.menu-button{margin-left:8px}.menu-button span{transition:transform .4s var(--ease-luxe),width .4s var(--ease-luxe)}.menu-button:hover span:first-child{width:17px}.menu-button:hover span:last-child{width:30px}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}#mobile-menu{top:94px;animation:menuEnter .45s var(--ease-luxe)}@keyframes menuEnter{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
.scroll-progress{position:fixed;left:0;top:0;height:2px;background:#637da8;width:0;z-index:80;pointer-events:none}.hero{height:calc(100svh - 94px)}.hero-copy{top:auto;bottom:16%;left:7%;max-width:970px}.hero h1{font-size:clamp(5.3rem,10.4vw,11.5rem);line-height:.87;letter-spacing:-.048em;margin:26px 0 23px}.hero h1 em{padding-left:.13em}.hero-description{max-width:380px;font-size:1rem;line-height:1.65}.hero .button{margin-top:27px}.hero-shade{background:linear-gradient(90deg,#03112ac9,#06152f24 75%),linear-gradient(0deg,#05152a88,transparent 38%)}.hero-bottom{bottom:24px}.hero-bottom a{border-bottom:1px solid #ffffff91;padding-bottom:5px;transition:opacity .3s}.hero-bottom a:hover{opacity:.65}
.section{padding-top:clamp(100px,10vw,170px);padding-bottom:clamp(100px,10vw,170px)}.section h2,.inspiration h2{letter-spacing:-.045em}.eyebrow{font-weight:500;letter-spacing:.15em}.intro .eyebrow{border-top:1px solid var(--rule);padding-top:16px}.intro-grid{margin-top:48px;grid-template-columns:1.24fr .76fr;gap:7%;align-items:end}.intro-grid h2{font-size:clamp(4.3rem,6.1vw,7.3rem);line-height:.95}.intro-text{max-width:410px;margin-left:auto}.intro-text .lead{font-size:1.05rem;letter-spacing:0;font-weight:600}.intro-text p:not(.lead){line-height:1.8}.text-link{transition:padding-left .4s var(--ease-luxe),border-color .4s}.text-link:hover{padding-left:10px;border-color:currentColor}
.projects{padding-top:clamp(100px,9vw,145px);padding-bottom:clamp(100px,9vw,145px)}.projects-heading{margin-bottom:64px}.projects-headline{grid-template-columns:1.5fr .5fr;gap:8%;align-items:end}.projects-headline>div{padding-bottom:9px}.projects-headline span{margin-top:21px}.projects-ledger{border-top:1px solid #8190a3}.project-row{display:grid;grid-template-columns:.14fr 1fr .55fr;align-items:center;gap:20px;padding:43px 10px;border-bottom:1px solid #a8b4c0;transition:padding .55s var(--ease-luxe),background .55s,color .55s}.project-row:hover{padding-left:26px;padding-right:26px;background:#071d49;color:#f0f4fa}.project-index,.project-name>span{font:500 .72rem/1.6 var(--sub);letter-spacing:.13em;text-transform:uppercase}.project-index{align-self:start;padding-top:13px}.project-name h3{font:400 clamp(3.2rem,5vw,6.1rem)/.95 var(--title);letter-spacing:-.044em;margin-top:7px}.project-row>p{font:400 .96rem/1.6 var(--body);text-align:right;max-width:230px;justify-self:end}.projects-note{margin-top:35px}.projects-note p{font:400 1rem/1.7 var(--body)}.projects-note a{white-space:nowrap}
.solutions .section-head{margin-bottom:52px}.material-grid{grid-template-columns:1.15fr .85fr;gap:0 42px}.material:first-child .picture{height:560px}.material:nth-child(2){padding-top:100px}.material:nth-child(2) .picture{height:440px}.material .overline{margin:22px 0 9px}.material h3{font-family:var(--title);font-weight:400;font-size:clamp(2.5rem,3.2vw,4.4rem);line-height:1.08;letter-spacing:-.035em}.material p{max-width:500px}.resilient{grid-column:1/-1;display:grid;grid-template-columns:.95fr 1.25fr .75fr;align-items:center;gap:30px;padding:32px 0 0!important;margin-top:90px;border-top:1px solid #94a6c4;background:transparent!important;color:var(--on-blue)!important}.resilient .overline{margin:0}.resilient h3{font-size:clamp(2.4rem,3.2vw,4rem)}.resilient p{color:#d2deed!important;margin:0}.resilient .text-link{grid-column:3;grid-row:1;text-align:right;color:var(--on-blue)!important;margin:0;border-color:#d2deed}.material-words{display:none}.image-reveal{position:relative;overflow:hidden}.image-reveal:after{content:'';position:absolute;inset:0;background:#071d49;transform:translateX(0);transition:transform 1.15s var(--ease-luxe);z-index:2;pointer-events:none}.image-reveal.is-shown:after{transform:translateX(103%)}.image-reveal img{transition:transform 1.3s var(--ease-luxe)}.image-reveal:hover img{transform:scale(1.045)}
.inspiration{min-height:760px}.inspiration-copy{padding-top:120px;padding-bottom:120px}.inspiration-copy>p:not(.eyebrow){margin-top:32px}.inspiration-image{min-height:760px}.inspiration-image img{object-position:55% center}.inspiration h2{max-width:670px}.inspiration .button{border:0;border-bottom:1px solid #a8b4c0;padding:15px 0;gap:65px}
.services .section-head{margin-bottom:70px}.service-grid{gap:0;display:block}.service-grid article{display:grid;grid-template-columns:105px .67fr 1fr;align-items:start;gap:35px;border-top:1px solid #a8b4c0;padding:36px 0 40px}.service-grid article:last-child{border-bottom:1px solid #a8b4c0}.service-grid article>span{font:italic 2rem/1 var(--title);color:#8797a9}.service-grid h3{font:400 clamp(2.5rem,3.4vw,4.4rem)/1 var(--title);letter-spacing:-.038em;margin:0}.service-grid p{max-width:470px}.contract{min-height:740px;align-items:center}.contract-title{align-self:center}.contract h2{margin-top:50px}.contract-body{border-left:1px solid #9caeca;padding-left:50px}.contract .button{border:0;border-bottom:1px solid #c3cfe0;padding-left:0;padding-right:0}.luxury{gap:10%;grid-template-columns:1fr .85fr}.luxury-img img{height:730px}.luxury .lead{margin-top:35px}.contact h2{font-size:clamp(4.4rem,8vw,8.5rem)}.contact .locations{padding-top:60px}.footer-feature-row h2{font-size:clamp(5rem,9vw,11rem);letter-spacing:-.05em}.footer-main{padding-top:90px;padding-bottom:100px}
@media(max-width:1100px){nav{gap:16px}.projects-headline{grid-template-columns:1.1fr .9fr}.project-row{grid-template-columns:70px 1fr .55fr}.material:first-child .picture{height:470px}.material:nth-child(2){padding-top:65px}.material:nth-child(2) .picture{height:380px}.service-grid article{grid-template-columns:70px .7fr 1fr}.contract-body{padding-left:35px}.luxury-img img{height:590px}}
@media(max-width:700px){header{height:82px}#mobile-menu{top:82px}.hero{height:calc(92svh - 82px);min-height:620px}.hero-copy{bottom:18%;left:7%;right:7%}.hero h1{font-size:clamp(4.8rem,17vw,7.5rem)}.hero-bottom a{font-size:.65rem}.section{padding-top:85px;padding-bottom:85px}.intro-grid{display:block;margin-top:36px}.intro-grid h2{font-size:clamp(3.9rem,12vw,6rem)}.intro-text{margin:45px 0 0;max-width:100%}.projects-heading{margin-bottom:42px}.projects-headline{display:block}.projects-headline>div{margin-top:27px}.project-row{grid-template-columns:58px 1fr;gap:8px 13px;padding:29px 0}.project-row:hover{padding-left:0;padding-right:0;background:transparent;color:var(--blue)}.project-index{padding-top:4px}.project-name h3{font-size:clamp(2.9rem,11vw,4.5rem)}.project-row>p{grid-column:2;justify-self:start;text-align:left;font-size:.85rem}.projects-note p{font-size:.9rem}.material-grid{display:block}.material:first-child .picture{height:430px}.material:nth-child(2){padding-top:50px}.material:nth-child(2) .picture{height:360px}.material h3{font-size:2.8rem}.resilient{display:block;margin-top:65px;padding-top:28px!important}.resilient h3{font-size:2.8rem;margin:20px 0}.resilient .text-link{display:inline-block;margin-top:20px}.inspiration{min-height:0}.inspiration-copy{padding:85px 7% 65px}.inspiration-image{min-height:510px;height:60vh}.service-grid article{grid-template-columns:42px 1fr;gap:6px 18px;padding:32px 0}.service-grid article>span{font-size:1.6rem}.service-grid h3{font-size:2.75rem}.service-grid p{grid-column:2;margin-top:10px}.contract{min-height:0}.contract h2{margin-top:26px}.contract-body{border-left:0;border-top:1px solid #9caeca;padding:30px 0 0}.luxury-img img{height:460px}.footer-feature-row h2{font-size:clamp(4.2rem,12vw,6rem)}.footer-main{padding-top:65px;padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){.image-reveal:after{display:none}.project-row,.menu-button span{transition:none!important}.scroll-progress{display:none}}
/* Multi-material commercial hierarchy: stone and resilient floors lead. */
.solutions .material-grid{grid-template-columns:1.06fr .94fr;gap:0 7%}.solutions .stone .picture{height:610px}.solutions .stone h3{display:block;position:relative;padding-right:30px}.solutions .stone h3 span{position:absolute;right:0;bottom:0}.solutions .stone p{max-width:380px}.solutions .resilient{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:540px;margin:75px 0 0;padding:36px 0 30px!important;border-top:1px solid #9eaecc;border-bottom:1px solid #9eaecc}.solutions .resilient .overline{margin-bottom:30px}.solutions .resilient h3{font:400 clamp(4rem,6vw,7.5rem)/.84 var(--title);letter-spacing:-.055em;margin:0 0 36px}.solutions .resilient p{max-width:430px;line-height:1.75}.solutions .resilient .text-link{grid-column:auto;grid-row:auto;text-align:left;margin-top:25px}.solutions .wood-note{grid-column:1/-1;display:grid;grid-template-columns:.45fr 1.25fr auto;gap:40px;align-items:center;margin-top:90px;padding:28px 0;border-top:1px solid #9eaecc;border-bottom:1px solid #9eaecc}.solutions .wood-note .overline{margin:0}.solutions .wood-note p{max-width:none;margin:0;color:#d2deed;font-size:1rem}.solutions .wood-note strong{color:#fff;font-weight:600}.solutions .wood-note>a{font:500 .875rem var(--sub);white-space:nowrap;border-bottom:1px solid #c4d1e2;padding-bottom:6px}.inspiration-image img{object-position:center center}.luxury{min-height:0;display:grid;grid-template-columns:1.4fr 1fr;gap:12%;padding-top:100px;padding-bottom:100px;border-bottom:1px solid #d4dbe2}.luxury h2{font-size:clamp(4rem,6vw,7rem);margin:25px 0 0}.luxury-aside{align-self:end;max-width:410px}.luxury-aside p{font-size:1rem;line-height:1.8}.luxury-aside .text-link{margin-top:20px}
@media(max-width:1050px){.solutions .stone .picture{height:520px}.solutions .resilient{min-height:480px}.solutions .wood-note{grid-template-columns:.4fr 1fr;gap:25px}.solutions .wood-note>a{grid-column:2}.luxury{gap:6%}}
@media(max-width:700px){.solutions .material-grid{display:block}.solutions .stone .picture{height:410px}.solutions .resilient{display:block;margin:65px 0 0;min-height:0;padding:28px 0 35px!important}.solutions .resilient h3{font-size:clamp(4.4rem,16vw,6.5rem);margin-bottom:30px}.solutions .wood-note{display:block;margin-top:45px}.solutions .wood-note p{margin:18px 0}.solutions .wood-note>a{display:inline-block}.luxury{display:block;padding-top:80px;padding-bottom:80px}.luxury h2{margin-bottom:25px}.luxury-aside{max-width:none}}

/* Progetti: photographic editorial spread */
.projects{overflow:hidden}.projects-heading{margin-bottom:70px}.projects-headline>div{padding-bottom:7px}.project-gallery{display:grid;grid-template-columns:1.18fr .82fr;gap:7%;align-items:start}.project-feature-secondary{padding-top:180px}.project-photo{position:relative;overflow:hidden;background:#bec7cf;height:clamp(490px,57vw,750px)}.project-feature-secondary .project-photo{height:clamp(400px,43vw,580px)}.project-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72);transition:transform 1.2s var(--ease-luxe),filter 1.2s var(--ease-luxe)}.project-feature:first-child .project-photo img{object-position:52% 55%}.project-feature-secondary .project-photo img{object-position:50% 50%}.project-photo:hover img{transform:scale(1.04);filter:saturate(.95)}.project-photo-label{position:absolute;z-index:2;top:26px;left:27px;color:white;font:600 11px var(--sub);letter-spacing:.16em;text-shadow:0 1px 8px #121b2a88}.project-photo-label span{margin:0 6px;opacity:.65}.project-caption{padding:26px 0 0;display:grid;grid-template-columns:1fr minmax(130px,.7fr);align-items:end;gap:25px}.project-place{font:600 10px var(--sub);letter-spacing:.17em;color:#697a8d}.project-caption h3{font:400 clamp(3.25rem,5vw,6rem)/.86 var(--title);letter-spacing:-.045em;color:var(--blue);margin:13px 0 0}.project-caption h3 em{font-weight:400}.project-caption p{font-size:.875rem;line-height:1.65;color:#4d5d6a;max-width:255px;margin:0 0 4px}.project-references{border-top:1px solid #aebbc8;border-bottom:1px solid #aebbc8;padding:25px 0;margin-top:85px;display:grid;grid-template-columns:26% 1fr;gap:20px;align-items:center}.project-references>span{font:600 10px var(--sub);letter-spacing:.17em;color:#718296}.project-references p{margin:0;font:400 clamp(1.1rem,1.6vw,1.4rem)/1.45 var(--title);color:var(--blue)}.project-references i{font-style:normal;padding:0 12px;color:#9aabba}.projects-note{margin-top:30px}
@media(max-width:900px){.project-gallery{gap:5%}.project-feature-secondary{padding-top:110px}.project-caption{grid-template-columns:1fr}.project-caption p{max-width:340px}.project-photo{height:570px}.project-feature-secondary .project-photo{height:450px}}
@media(max-width:650px){.projects-heading{margin-bottom:43px}.project-gallery{display:block}.project-feature-secondary{padding-top:63px}.project-photo,.project-feature-secondary .project-photo{height:auto;aspect-ratio:4/5}.project-caption{padding-top:23px;grid-template-columns:1fr auto;gap:16px}.project-caption h3{font-size:clamp(3.7rem,12vw,5.5rem)}.project-caption p{font-size:.78rem;max-width:160px}.project-references{display:block;margin-top:65px}.project-references p{margin-top:15px}.project-references i{padding:0 5px}}
@media(max-width:420px){.project-caption{display:block}.project-caption p{margin-top:19px;max-width:280px}}
@media(prefers-reduced-motion:reduce){.project-photo img{transition:none!important}}

/* Cinematic opening inspired by the grammar of film: MP identity and navigation. */
body.home>header{position:absolute;left:0;right:0;top:0;z-index:30;height:100px;color:#fff;background:linear-gradient(180deg,rgba(3,13,29,.75),rgba(3,13,29,0));border:0;padding:0 5.5%}.brand img{width:112px;height:84px}body.home>header nav a,body.home>header .contact-top{color:#fff}body.home>header nav a:hover{color:#d6e4ff}body.home>header .contact-top{border:1px solid rgba(255,255,255,.7);border-radius:100px;padding:12px 20px;transition:background .3s,color .3s}body.home>header .contact-top:hover{background:#fff;color:var(--blue)}body.home>header .menu-button span{background:#fff}#mobile-menu{top:100px}
.hero{height:100svh;max-height:none;min-height:690px;background:#061429}.hero video{position:absolute;inset:0;filter:saturate(.76) brightness(.83);object-position:center center}.hero-shade{background:linear-gradient(180deg,rgba(2,9,23,.38) 0%,transparent 28%,rgba(4,13,29,.20) 56%,rgba(3,11,24,.74) 100%),linear-gradient(90deg,rgba(3,12,29,.13),transparent 35%)}.hero-copy{position:absolute;top:45%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%);width:min(1100px,88%);max-width:none;text-align:center;display:flex;flex-direction:column;align-items:center}.hero .eyebrow{font:600 .72rem var(--sub);letter-spacing:.3em;color:#f5f7fb}.hero h1{font-size:clamp(6rem,12.1vw,12.5rem);line-height:.74;letter-spacing:-.055em;margin:36px 0 28px;text-shadow:0 8px 45px rgba(1,9,19,.20)}.hero h1 em{padding:0;font-weight:400}.hero-description{font:400 clamp(1rem,1.35vw,1.28rem)/1.5 var(--sub);letter-spacing:.02em;margin:8px 0 28px}.hero-cta{border:1px solid rgba(255,255,255,.7);padding:13px 23px;border-radius:100px;font:500 .85rem var(--sub);display:inline-flex;gap:32px;align-items:center;transition:background .35s,color .35s,transform .35s}.hero-cta:hover{background:#fff;color:var(--blue);transform:translateY(-3px)}.hero-scene{position:absolute;bottom:83px;left:50%;transform:translateX(-50%);width:min(660px,78%);min-height:74px;display:flex;align-items:center;gap:18px;padding:13px 21px;border:1px solid rgba(255,255,255,.33);border-radius:10px;background:rgba(6,18,37,.25);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.hero-scene-mark{width:47px;height:47px;flex:none;border:1px solid #e8eef8a9;background:url('assets/marble.jpg') center/cover}.hero-scene div{display:flex;flex-direction:column;gap:4px;min-width:0}.hero-scene small{font:600 .65rem var(--sub);letter-spacing:.16em;color:#d7e2ee}.hero-scene strong{font:400 .86rem var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-scene-index{margin-left:auto;white-space:nowrap;font:500 .7rem var(--sub);color:#e4ebf7}.hero-bottom{bottom:26px;left:5.5%;right:5.5%;font-size:.65rem}.hero-bottom button{border:0;border-bottom:1px solid #ffffffa3;padding:7px 1px;border-radius:0;background:transparent}.hero-bottom>span{display:block}
/* Project showcase: one authenticated photograph, then a reference index. */
.projects{background:#e9edf2;padding-bottom:115px}.projects-heading{margin-bottom:64px}.project-spotlight{display:grid;grid-template-columns:.93fr 1.07fr;min-height:600px;background:#071d49;color:#fff;overflow:hidden}.project-spotlight-copy{display:flex;flex-direction:column;justify-content:space-between;padding:39px clamp(32px,4vw,66px)}.project-spotlight-kicker,.project-spotlight-foot{font:500 .7rem var(--sub);letter-spacing:.18em;color:#d0ddef}.project-spotlight-copy>div>p:first-child{font:italic clamp(1.5rem,2.1vw,2.2rem) var(--title);color:#c4d2e6;margin:0 0 6px}.project-spotlight h3{font:400 clamp(6rem,10vw,12rem)/.8 var(--title);letter-spacing:-.055em;margin:0 0 26px}.project-spotlight h3 span{color:#9eb7d6}.project-spotlight-copy>div>p:last-child{font:400 1rem/1.7 var(--body);max-width:340px;color:#d9e3ef}.project-spotlight-image{position:relative;min-height:600px;overflow:hidden}.project-spotlight-image img{width:100%;height:100%;object-fit:cover;object-position:50% 72%;display:block;filter:saturate(.79);transition:transform 1.3s var(--ease-luxe)}.project-spotlight:hover img{transform:scale(1.035)}.project-index-list{margin-top:74px}.project-index-head{display:grid;grid-template-columns:1fr 1fr;padding:0 0 13px;border-bottom:1px solid #97aabd;font:600 .69rem var(--sub);letter-spacing:.17em;color:#62788d}.project-index-item{display:grid;grid-template-columns:9% 1fr 32% 3%;gap:10px;align-items:center;border-bottom:1px solid #a8b9c9;padding:22px 0;transition:padding .35s,color .35s}.project-index-item>span:first-child{font:500 .75rem var(--sub);color:#637991}.project-index-item h3{font:400 clamp(2.75rem,4.9vw,5.3rem)/.95 var(--title);letter-spacing:-.045em;margin:0;color:var(--blue)}.project-index-item p{font:400 .9rem/1.5 var(--body);color:#4c6074;margin:0}.project-index-item>span:last-child{font:400 1.7rem var(--title);color:#8198b4;transition:transform .35s}.project-index-item:hover{padding-left:15px;color:var(--blue)}.project-index-item:hover>span:last-child{transform:translate(4px,-4px)}.projects-note{margin-top:35px}
@media(max-width:850px){body.home>header{height:86px}#mobile-menu{top:86px}.hero{min-height:680px}.hero h1{font-size:clamp(6rem,17vw,10rem)}.hero-scene{bottom:95px}.project-spotlight{min-height:540px}.project-spotlight-image{min-height:540px}.project-spotlight h3{font-size:clamp(6rem,12vw,9rem)}}
@media(max-width:650px){body.home>header{height:82px;padding:0 6%}.brand img{width:88px;height:68px}#mobile-menu{top:82px}.hero{height:100svh;min-height:670px}.hero-copy{top:43%;width:92%}.hero .eyebrow{font-size:.6rem;letter-spacing:.2em}.hero h1{font-size:clamp(4.7rem,17vw,7.5rem);line-height:.8;margin:29px 0 27px}.hero-description{font-size:.95rem}.hero-scene{width:86%;bottom:78px;padding:10px 13px;gap:11px;min-height:64px}.hero-scene-mark{width:40px;height:40px}.hero-scene strong{font-size:.73rem}.hero-scene small{font-size:.55rem}.hero-scene-index{display:none}.hero-bottom{left:7%;right:7%;bottom:19px}.hero-bottom>span{display:none}.projects-heading{margin-bottom:42px}.project-spotlight{display:flex;flex-direction:column-reverse;min-height:0}.project-spotlight-image{height:440px;min-height:0}.project-spotlight-copy{min-height:390px;padding:26px 27px 30px}.project-spotlight h3{font-size:clamp(6.8rem,24vw,9rem)}.project-index-list{margin-top:58px}.project-index-head{grid-template-columns:1fr}.project-index-head span:last-child{display:none}.project-index-item{grid-template-columns:40px 1fr 22px;gap:5px 11px;padding:21px 0}.project-index-item h3{font-size:clamp(2.9rem,11vw,4.3rem)}.project-index-item p{grid-column:2;font-size:.82rem}.project-index-item>span:last-child{grid-column:3;grid-row:1 / span 2}.projects-note{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.project-spotlight-image img,.hero-cta{transition:none!important}}

.project-index-item{grid-template-columns:9% 1fr 32%}.project-index-item:hover{padding-left:0}.project-index-item:hover h3{font-style:italic}@media(max-width:650px){.project-index-item{grid-template-columns:40px 1fr}.project-index-item p{grid-column:2}}

/* Readable title on the supplied low-angle architectural footage. */
.hero video{filter:saturate(.8) brightness(.62)}.hero-scene-mark{background-image:url('assets/superfici-poster.jpg')}

/* The opening reveals the film after the brand mark; never blocks a slow connection. */
.intro-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#071d49;color:#fff;transform:translateY(0);transition:transform .9s cubic-bezier(.76,0,.24,1);will-change:transform}.intro-screen.is-exiting{transform:translateY(-101%);pointer-events:none}.intro-identity{display:flex;flex-direction:column;align-items:center;gap:22px;animation:introIdentity 1.15s ease-out both}.intro-identity img{width:clamp(185px,23vw,300px);height:auto;filter:drop-shadow(0 4px 25px #08142d65)}.intro-rule{display:block;width:clamp(175px,23vw,280px);height:1px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}.intro-rule:after{content:'';position:absolute;inset:0;background:#fff;transform-origin:left;animation:introProgress 1.45s ease-in-out both}.intro-label{font:500 .63rem var(--sub);letter-spacing:.28em;color:#d7e3f2}@keyframes introIdentity{from{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes introProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}.hero-copy{top:44%;width:min(1140px,88%)}.hero h1{font-size:clamp(4.9rem,8.2vw,8.6rem);line-height:.95;letter-spacing:-.045em;margin:23px 0 20px;white-space:nowrap}.hero h1 em{font-weight:400}.hero-description{font-size:clamp(.94rem,1.15vw,1.08rem);margin:0 0 22px}.hero .eyebrow{font-size:.66rem}.hero-cta{padding:11px 21px;font-size:.82rem}
@media(max-width:850px){.hero-copy{width:90%}.hero h1{font-size:clamp(4.2rem,9vw,6.6rem);white-space:normal}}
@media(max-width:650px){.hero-copy{top:41%;width:88%}.hero h1{font-size:clamp(4.2rem,14vw,6.3rem);line-height:.91;margin:20px 0 20px}.hero-description{font-size:.87rem;line-height:1.5;max-width:260px}.intro-identity img{width:195px}}
@media(prefers-reduced-motion:reduce){.intro-screen{display:none}.intro-identity,.intro-rule:after{animation:none}.hero h1{transition:none}}

.intro-screen{animation:introFallback 0s 4s forwards}@keyframes introFallback{to{visibility:hidden;pointer-events:none}}

/* A quiet, centered brand reveal; the film and its editorial title emerge behind it. */
.intro-screen{display:grid;place-items:center;background:#020916;transform:none!important;opacity:1;visibility:visible;transition:opacity .92s cubic-bezier(.2,.7,.2,1),visibility .92s;will-change:opacity}
.intro-screen:before,.intro-screen:after{content:none!important}
.intro-screen.is-exiting{opacity:0;visibility:hidden;pointer-events:none}
.intro-identity{position:relative;inset:auto;z-index:2;display:flex;justify-content:center;align-items:center;animation:introLogo 1.15s cubic-bezier(.2,.8,.2,1) both;transition:opacity .55s ease,transform .8s ease,filter .8s ease;pointer-events:none}
.intro-identity img{width:clamp(180px,23vw,295px);height:auto;filter:drop-shadow(0 8px 28px #01071744);animation:none}
.intro-screen.is-exiting .intro-identity{opacity:0;transform:scale(1.04);filter:blur(2px)}
@keyframes introLogo{from{opacity:0;filter:blur(6px);transform:scale(.96)}to{opacity:1;filter:blur(0);transform:scale(1)}}
.hero-copy{transition:opacity .8s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
body.intro-active .hero-copy{opacity:0;transform:translate(-50%,-46%)}
.hero-copy>*{transition:opacity .8s ease,transform .95s cubic-bezier(.2,.8,.2,1)}
body.intro-active .hero-copy>*{opacity:0;transform:translateY(18px)}
.hero-copy>h1{transition-delay:.1s}.hero-copy>.hero-description{transition-delay:.2s}.hero-copy>.hero-cta{transition-delay:.3s}
.corporate{padding-top:85px}.corporate dl{margin-top:0}.corporate dt{font-weight:600;color:#60728b}.corporate dd{font-size:1rem}.corporate dd a{border-bottom:1px solid #9badc0}.corporate dd a:hover{border-color:#071d49}
@media(max-width:650px){.intro-meta{bottom:25px;left:7%;right:7%;font-size:.53rem;letter-spacing:.12em}.intro-meta span:last-child{text-align:right}.corporate{padding-top:65px}.corporate h1{margin-bottom:45px}.corporate dd{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.intro-screen{display:none!important}body.intro-active .hero-copy{opacity:1;transform:translate(-50%,-50%)}}

/* Navigation and dedicated editorial pages. */
.site-header{height:96px;padding:0 5.5%;display:flex;align-items:center;gap:30px;position:sticky;top:0;z-index:60;background:#fff;transition:height .4s,background .4s,box-shadow .4s;box-shadow:0 1px 0 #071d4912}
.site-header.is-scrolled{height:78px;box-shadow:0 9px 28px #071d4914}
.site-header .brand{flex:none;margin-right:auto;z-index:2}.site-header .brand img{width:103px;height:76px;transition:width .4s,height .4s}.site-header.is-scrolled .brand img{width:90px;height:68px}
.site-nav{display:flex;align-items:center;gap:clamp(14px,1.8vw,32px);white-space:nowrap}.site-nav a{font:500 .78rem/1.5 var(--sub);letter-spacing:.035em;position:relative;border:0;padding:13px 0;transition:color .3s,opacity .3s}.site-nav a:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .48s var(--ease-luxe)}.site-nav a:hover:after,.site-nav a[aria-current="page"]:after{transform:scaleX(1);transform-origin:left}.site-nav:hover a:not(:hover){opacity:.6}
.site-header .menu-button{flex:none;z-index:61;width:44px;height:44px;padding:12px 7px;display:flex;flex-direction:column;justify-content:center;gap:8px;border:1px solid currentColor;border-radius:50%;color:inherit;transition:background .3s,color .3s,transform .35s}.site-header .menu-button:hover{transform:rotate(90deg);background:#071d49;color:#fff}.site-header .menu-button span{height:1px;width:27px;background:currentColor;transform-origin:center;transition:transform .35s,background .35s}.site-header .menu-button span:last-child{width:19px;align-self:flex-end}.site-header .menu-button:hover span:last-child{width:27px}
body.home>.site-header{position:fixed;top:0;left:0;right:0;height:96px;background:linear-gradient(180deg,rgba(3,13,29,.72),transparent);box-shadow:none;color:#fff}.home>.site-header.is-scrolled{height:78px;background:rgba(4,19,47,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 9px 28px #01102536}.home>.site-header .brand img{width:103px;height:76px}.home>.site-header .menu-button span{background:currentColor}.home>.site-header .menu-button:hover{background:#fff;color:var(--blue)}
body.menu-open{overflow:hidden}body.menu-open>.site-header{background:#071d49!important;color:#fff!important;box-shadow:none!important;backdrop-filter:none!important}body.menu-open .site-header .brand img{filter:brightness(0) invert(1)}body.menu-open .site-header .site-nav{visibility:hidden}body.menu-open .site-header .menu-button{color:#fff}body.menu-open .site-header .menu-button span:first-child{transform:translateY(4.5px) rotate(45deg);width:27px}body.menu-open .site-header .menu-button span:last-child{transform:translateY(-4.5px) rotate(-45deg);width:27px}body.menu-open .site-header .menu-button:hover{background:#fff;color:var(--blue)}
#mobile-menu{position:fixed;inset:0;top:0;z-index:55;width:100vw;height:100svh;overflow:auto;box-shadow:none;background:#071d49;color:#fff;padding:clamp(115px,15vh,150px) 7% 34px;display:flex;flex-direction:column;animation:menuFade .38s ease both}
.menu-panel-head,.menu-panel-foot{display:flex;justify-content:space-between;gap:30px;font:500 .68rem/1.6 var(--sub);letter-spacing:.14em;color:#b9cbe1}.menu-panel-head{padding-bottom:18px;border-bottom:1px solid #ffffff58}.menu-panel-foot{border-top:1px solid #ffffff58;padding-top:20px;margin-top:auto}.menu-panel-foot a{font:500 .82rem var(--sub);letter-spacing:0;color:#fff}
#mobile-menu nav{display:block;padding:20px 0 28px;margin:auto 0;max-width:1200px}#mobile-menu nav a{display:grid;grid-template-columns:65px minmax(0,1fr) 50px;gap:22px;align-items:center;padding:7px 0;color:#fff;border:0;font:400 clamp(2.9rem,5.65vw,6.5rem)/1.02 var(--title);letter-spacing:-.045em;transition:color .35s,transform .35s;animation:menuItem .65s both}
#mobile-menu nav a:nth-child(1){animation-delay:.06s}#mobile-menu nav a:nth-child(2){animation-delay:.11s}#mobile-menu nav a:nth-child(3){animation-delay:.16s}#mobile-menu nav a:nth-child(4){animation-delay:.21s}#mobile-menu nav a:nth-child(5){animation-delay:.26s}#mobile-menu nav a:nth-child(6){animation-delay:.31s}
#mobile-menu nav a+ a{border-top:1px solid #ffffff28}#mobile-menu nav a>span:first-child{font:500 .68rem/1 var(--sub);letter-spacing:.08em;color:#9bb1d0}#mobile-menu nav a>span:last-child{font:400 1.7rem/1 var(--title);justify-self:end;opacity:0;transform:translate(-12px,12px);transition:opacity .35s,transform .35s}#mobile-menu nav a:hover,#mobile-menu nav a[aria-current="page"]{color:#b9d0f0}#mobile-menu nav a:hover{transform:translateX(7px)}#mobile-menu nav a:hover>span:last-child{opacity:1;transform:none}
@keyframes menuFade{from{opacity:0}to{opacity:1}}@keyframes menuItem{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.inner-page{color:var(--blue)}.inner-page .site-header nav a{color:var(--blue)}.inner-page.menu-open .site-header nav a{color:#fff}.inner-page main{overflow:hidden}
.page-hero{min-height:min(680px,82svh);background:#071d49;color:white;position:relative;display:flex;align-items:center;overflow:hidden;isolation:isolate}.page-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(120deg,#061b44,#0b2553)}.page-hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#051735d6,#071d4957 78%)}
.page-hero-inner{position:relative;z-index:2;width:min(1200px,86%);margin:auto;padding:90px 0 95px}.page-hero h1{font:400 clamp(5.2rem,10vw,11rem)/.85 var(--title);letter-spacing:-.055em;margin:38px 0 24px}.page-hero h1 em{font-style:italic}.page-hero-inner>p:not(.eyebrow){max-width:620px;font:400 clamp(1rem,1.35vw,1.22rem)/1.8 var(--body);color:#e0e9f6}.page-hero .eyebrow{color:#bacce5}.page-scroll{display:inline-flex;align-items:center;gap:45px;padding:13px 0;border-bottom:1px solid #c5d2e4;margin-top:48px;font:500 .73rem/1.3 var(--sub);letter-spacing:.14em}.page-scroll span{font:400 1.3rem var(--title);transition:transform .3s}.page-scroll:hover span{transform:translateY(5px)}.page-hero-number{position:absolute;bottom:37px;right:7%;color:#cbd8e9;font:500 .72rem var(--sub);letter-spacing:.15em}
.hero-realizzazioni:before{background:url('assets/senago-editoriale.webp') 54% 58%/cover}.hero-realizzazioni:after{background:linear-gradient(90deg,#061831ed,#06183160 90%)}.hero-azienda:before{background:url('assets/stone-wide.jpg') center/cover}.hero-soluzioni:before{background:url('assets/marble.jpg') center 58%/cover}.hero-contract:before{background:linear-gradient(125deg,#051532,#183862)}.hero-luxury:before{background:linear-gradient(135deg,#0d234c,#3c4e70)}.hero-contatti:before{background:linear-gradient(135deg,#071d49,#153766)}
.page-section{padding:clamp(95px,11vw,155px) 7%}.page-section.white{background:#fff}.page-section.mist{background:#e9edf2}.page-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:22px 8%;align-items:end;margin-bottom:60px}.page-intro .section-label{grid-column:1/-1}.page-intro h2,.page-split h2,.page-bridge h2{font:400 clamp(3.7rem,6vw,7rem)/.97 var(--title);letter-spacing:-.045em}.page-intro>p{color:#526075;max-width:450px;line-height:1.85;padding-bottom:6px}.section-label{font:500 .74rem/1.55 var(--sub);letter-spacing:.16em}.page-split{display:grid;grid-template-columns:1fr .75fr;gap:12%;align-items:end}.page-split h2{margin-top:30px}.page-prose{max-width:510px;color:#4f5d6e;line-height:1.85}.page-prose .text-link{color:var(--blue)}
.case-study{display:grid;grid-template-columns:1.13fr .87fr;min-height:630px;background:#071d49;color:#fff}.case-image{overflow:hidden;min-height:630px}.case-image img{height:100%;width:100%;object-fit:cover;object-position:50% 65%}.case-text{padding:55px 10%;display:flex;flex-direction:column;justify-content:center}.case-text .section-label{color:#bbcce5}.case-text h3{font:400 clamp(5rem,9vw,10rem)/.85 var(--title);margin:45px 0 32px;letter-spacing:-.05em}.case-text p{color:#d1dfef;max-width:340px}.case-text .text-link{width:max-content;margin-top:55px;color:#fff}
.editorial-list{border-top:1px solid #94a6b9}.editorial-row{display:grid;grid-template-columns:65px 1fr .7fr;align-items:center;gap:25px;border-bottom:1px solid #aab9c8;padding:26px 0}.editorial-row>span{font:500 .8rem var(--sub);color:#697f96}.editorial-row h3{font:400 clamp(3rem,4.8vw,5.6rem)/1 var(--title);letter-spacing:-.04em}.editorial-row p{color:#4e5d6e;justify-self:end;text-align:right;margin:0}.page-bridge{padding:clamp(100px,11vw,165px) 7%;min-height:470px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.page-bridge.navy{background:#071d49;color:#fff}.page-bridge.mist{background:#e9edf2;color:#071d49}.page-bridge h2{margin:26px 0 42px}.line-button{display:inline-flex;padding:14px 0;border-bottom:1px solid currentColor;font:500 .88rem var(--sub);transition:letter-spacing .3s}.line-button:hover{letter-spacing:.035em}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step-grid article{border-top:1px solid #9baec1;padding:20px 0 0}.step-grid article>span{font:italic 2rem var(--title);color:#7a91a8}.step-grid article h3{font:400 clamp(2.5rem,3.2vw,4.2rem)/1 var(--title);margin:28px 0 18px}.step-grid article p{max-width:330px;color:#4f5d6e}.contract-badge{font:600 .78rem var(--sub);letter-spacing:.14em;border-top:1px solid #9baec1;padding-top:23px;margin-top:65px}
.material-feature{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:8%}.material-photo{height:min(650px,55vw);overflow:hidden}.material-photo img{width:100%;height:100%;object-fit:cover}.material-caption{border-top:1px solid #bdc8d4;padding:22px 0}.material-caption span,.address-grid span{font:500 .72rem var(--sub);letter-spacing:.16em}.material-caption p{font:400 clamp(2rem,2.8vw,3.6rem)/1.12 var(--title);max-width:320px;margin-top:35px}
.contact-directory{border-top:1px solid #b2beca}.contact-directory a{display:grid;grid-template-columns:16% 1fr 30px;gap:20px;align-items:center;border-bottom:1px solid #b2beca;padding:28px 0;transition:padding-left .3s}.contact-directory a:hover{padding-left:15px}.contact-directory a span{font:500 .73rem var(--sub);letter-spacing:.14em}.contact-directory a strong{font:400 clamp(2rem,4vw,5rem)/1.06 var(--title);letter-spacing:-.04em;overflow-wrap:anywhere}.contact-directory a span:last-child{font:400 1.8rem var(--title)}.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.address-grid>div{border-top:1px solid #a6b8c9;padding:27px 0}.address-grid h3{font:400 clamp(3rem,5vw,5.5rem)/1 var(--title);margin:40px 0 20px}.address-grid p{margin:0 0 26px}.address-grid a{font:500 .88rem var(--sub);border-bottom:1px solid #8c9eaf;padding-bottom:7px}
.inner-page .corporate{min-height:0}.inner-page .corporate h1{margin-bottom:55px}
@media(max-width:1160px){.site-header .site-nav{display:none}.page-hero{min-height:580px}}
@media(max-width:700px){.site-header,.site-header.is-scrolled,body.home>.site-header,body.home>.site-header.is-scrolled{height:78px;padding:0 6%}.site-header .brand img,.site-header.is-scrolled .brand img,body.home>.site-header .brand img{width:83px;height:65px}.site-header .menu-button{width:42px;height:42px}#mobile-menu{padding:105px 7% 26px}#mobile-menu nav{padding:18px 0}#mobile-menu nav a{grid-template-columns:30px minmax(0,1fr) 25px;gap:10px;font-size:clamp(2.4rem,9vw,4rem);padding:12px 0}#mobile-menu nav a>span:last-child{opacity:.65;font-size:1.15rem;transform:none}.menu-panel-head,.menu-panel-foot{font-size:.62rem}.menu-panel-foot{display:block}.menu-panel-foot a{display:block;margin-top:12px}.page-hero{min-height:550px}.page-hero-inner{width:86%;padding:75px 0}.page-hero h1{font-size:clamp(4.6rem,16vw,7rem);margin:30px 0}.page-hero-inner>p:not(.eyebrow){font-size:1rem}.page-scroll{margin-top:35px}.page-hero-number{bottom:25px}.page-section{padding:80px 7%}.page-intro,.page-split{display:block;margin-bottom:40px}.page-intro h2,.page-split h2,.page-bridge h2{font-size:clamp(3.7rem,12vw,5.9rem);margin:27px 0}.page-intro>p{max-width:100%}.page-prose{margin-top:35px}.case-study{display:flex;flex-direction:column;min-height:0}.case-image{height:420px;min-height:0}.case-text{padding:40px 7%;min-height:360px}.case-text h3{font-size:6.5rem;margin:25px 0}.case-text .text-link{margin-top:30px}.editorial-row{grid-template-columns:36px 1fr;gap:4px 12px}.editorial-row h3{font-size:clamp(2.7rem,11vw,4.5rem)}.editorial-row p{grid-column:2;justify-self:start;text-align:left}.step-grid{grid-template-columns:1fr;gap:35px}.step-grid article h3{margin:15px 0}.material-feature{display:block}.material-photo{height:420px}.material-caption{margin-top:26px}.page-bridge{padding:85px 7%;min-height:370px}.contact-directory a{grid-template-columns:1fr 30px;gap:6px}.contact-directory a strong{grid-row:2;font-size:clamp(2.1rem,7vw,3.7rem)}.contact-directory a span:last-child{grid-column:2;grid-row:2}.address-grid{grid-template-columns:1fr;gap:35px}.address-grid h3{margin:22px 0}}
@media(prefers-reduced-motion:reduce){#mobile-menu,#mobile-menu nav a{animation:none!important}.site-header,.site-nav a,.site-nav a:after,.menu-button,.menu-button span,.page-scroll span{transition:none!important}}
.projects-links{display:flex;gap:32px;align-items:center;flex-wrap:wrap}.projects-links .text-link{margin:0}@media(max-width:650px){.projects-links{gap:15px}.projects-links .text-link{margin-top:12px}}

/* Shared visual rhythm: midnight blue, white, cool grey, then repeat. */
.page-section.navy,.page-bridge.navy{background:var(--color-one);color:var(--on-blue)}
.page-bridge.white{background:var(--color-two);color:var(--blue)}
.inner-page .page-intro h2,.inner-page .page-split h2,.inner-page .page-bridge h2,.inner-page .editorial-blue h2{font-family:var(--title);font-size:var(--display-size);line-height:1.05;font-weight:400;letter-spacing:-.035em}
.inner-page .page-hero h1{font-family:var(--title);font-size:clamp(4.9rem,8.2vw,8.6rem);line-height:.95;font-weight:400;letter-spacing:-.045em}
.inner-page .page-prose,.inner-page .page-intro>p,.inner-page .editorial-blue p,.inner-page .step-grid p,.inner-page .editorial-row p,.inner-page .selection-notes p{font:400 var(--copy-size)/1.75 var(--body)}
.inner-page .section-label,.inner-page .eyebrow{font:500 var(--label-size)/1.55 var(--sub);letter-spacing:.13em}
.inner-page .step-grid h3,.inner-page .selection-notes h3{font:400 clamp(2.5rem,3.2vw,4rem)/1.05 var(--title)}
.inner-page .page-hero h1,.inner-page .page-hero-inner>p:not(.eyebrow),.inner-page .page-scroll{animation:innerHero 1s cubic-bezier(.2,.8,.2,1) both}
.inner-page .page-hero-inner>p:not(.eyebrow){animation-delay:.12s}.inner-page .page-scroll{animation-delay:.24s}
@keyframes innerHero{from{opacity:0;transform:translateY(21px)}to{opacity:1;transform:none}}
.hero-contract:before{background:url('assets/gres-contract-ambiente.webp') center 58%/cover}.hero-luxury:before{background:url('assets/parquet-luxury-ambiente.webp') center 55%/cover}
.hero-contract:after,.hero-luxury:after{background:linear-gradient(90deg,#051735e9,#071d4980 65%,#071d4935)}
.editorial-blue{overflow:hidden}.editorial-blue .section-label{color:#b8cbe4}.blue-layout{display:grid;grid-template-columns:1.1fr .72fr;gap:12%;align-items:end}.blue-layout h2{margin-top:28px}.blue-layout>div:last-child{max-width:485px}.blue-layout p{color:#d3dfed}.blue-layout .line-button{margin-top:30px}
.editorial-media{position:relative;margin:0;overflow:hidden;background:#aebac7;isolation:isolate}.editorial-media img{display:block;width:100%;height:100%;object-fit:cover;transform:translateY(var(--drift,0px)) scale(1.055);transition:transform .7s ease,filter .9s;will-change:transform}.editorial-media:hover img{filter:saturate(1.12);transform:translateY(var(--drift,0px)) scale(1.09)}.editorial-media figcaption{position:absolute;right:22px;bottom:18px;z-index:3;padding:7px 9px;background:#071d49c7;color:#fff;font:500 .65rem/1.45 var(--sub);letter-spacing:.08em;text-align:right;max-width:60%}.editorial-media.wide-media{height:clamp(390px,48vw,690px)}
.wide-media-wrap{margin-top:100px}.wide-media-wrap .editorial-media{height:clamp(410px,55vw,730px)}.wide-media-wrap img{object-position:center}.feature-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:9%;align-items:end}.feature-copy{border-top:1px solid #b6c1ce;padding-top:25px;max-width:400px}.feature-copy span{font:500 var(--label-size) var(--sub);letter-spacing:.13em}.feature-copy p{font-size:var(--copy-size);line-height:1.8;margin:32px 0 0;color:#4e5e70}.feature-layout .editorial-media{height:clamp(520px,52vw,720px)}.material-ledger{margin-top:76px}.business-showcase .editorial-media{height:clamp(420px,48vw,650px);margin-top:78px}.business-showcase .editorial-media img{object-position:center 60%}
.selection-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid #a7b7c8;margin-top:60px;padding-top:26px}.selection-notes>div{border-right:1px solid #a7b7c8;padding:0 26px 0 0}.selection-notes>div:last-child{border:0}.selection-notes span{font:500 var(--label-size) var(--sub);letter-spacing:.13em}.selection-notes p{margin-top:26px;color:#4e5e70;max-width:310px}
@media(max-width:950px){.blue-layout{gap:6%}.feature-layout{grid-template-columns:.8fr 1.2fr;gap:5%}}
@media(max-width:700px){.inner-page .page-hero h1{font-size:clamp(4.2rem,14vw,6.3rem)}.inner-page .page-intro h2,.inner-page .page-split h2,.inner-page .page-bridge h2,.inner-page .editorial-blue h2{font-size:clamp(3.25rem,11vw,5.2rem)}.blue-layout,.feature-layout,.selection-notes{display:block}.blue-layout>div:last-child{margin-top:35px}.feature-copy{margin-bottom:35px}.feature-layout .editorial-media{height:440px}.wide-media-wrap{margin-top:65px}.editorial-media.wide-media,.wide-media-wrap .editorial-media,.business-showcase .editorial-media{height:380px}.business-showcase .editorial-media{margin-top:55px}.editorial-media figcaption{right:10px;bottom:10px;font-size:.6rem;max-width:80%}.material-ledger{margin-top:48px}.selection-notes{padding-top:0;margin-top:40px}.selection-notes>div{border-right:0;border-top:1px solid #a7b7c8;padding:20px 0}.selection-notes p{margin-top:13px}.selection-notes>div:last-child{border-top:1px solid #a7b7c8}}
@media(prefers-reduced-motion:reduce){.inner-page .page-hero h1,.inner-page .page-hero-inner>p:not(.eyebrow),.inner-page .page-scroll{animation:none!important}.editorial-media img{transform:none!important;transition:none!important}}
.hero-image-note{position:absolute;left:7%;bottom:38px;color:#d6e3f4;font:500 .64rem/1.5 var(--sub);letter-spacing:.13em;text-shadow:0 1px 4px #071d49}@media(max-width:700px){.hero-image-note{left:7%;bottom:26px;font-size:.58rem}}

/* La qualificazione è leggibile come elemento editoriale, insieme al marchio fornito. */
.soa-feature{display:flex;align-items:center;gap:1.4rem;margin:0 0 2rem;padding:1rem 1.35rem 1rem 1rem;border:1px solid rgba(255,255,255,.28);border-radius:3px;background:rgba(255,255,255,.08);max-width:31rem}.soa-feature img,.soa-business img{flex:none;width:5.9rem;height:5.9rem;padding:.4rem;border-radius:50%;background:white;object-fit:contain}.soa-feature>div{display:flex;flex-direction:column;align-items:start;gap:.05rem}.soa-feature .soa{margin:0;font-size:.73rem;letter-spacing:.13em}.soa-feature strong,.soa-business strong{font:500 1.6rem/1.15 var(--sub);letter-spacing:-.025em}.soa-caption{font-size:.79rem;opacity:.8}.soa-business{display:flex;align-items:center;gap:1.4rem;max-width:33rem;margin:3rem auto 0;padding:1rem 1.5rem;background:#fff;border:1px solid #d7deeb;color:var(--blue)}.soa-business p{margin:0;font:500 .95rem/1.5 var(--sub);text-transform:uppercase;letter-spacing:.06em}.soa-business strong{display:block;margin-top:.28rem;text-transform:none;letter-spacing:-.025em}@media(max-width:600px){.soa-feature{gap:.85rem;padding:.75rem}.soa-feature img,.soa-business img{width:4.6rem;height:4.6rem}.soa-feature strong,.soa-business strong{font-size:1.18rem}.soa-business{gap:.85rem;padding:.8rem}.soa-caption{font-size:.7rem}}
/* Portfolio: dieci referenze per pagina, tipografia e fotografie editoriali. */
.folio-hero{background:var(--blue);min-height:570px}.folio-hero-photo:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/torri-eni-rielaborazione-2.webp') center 42%/cover}.folio-hero-photo:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,18,43,.87),rgba(4,18,43,.22))}.folio-selection{padding-top:64px}.folio-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.folio-section-head>p{font:400 2.3rem/1.1 var(--title)}.folio-section-head>p span{font:400 .85rem/1.4 var(--body);margin-left:15px;color:var(--muted)}.folio-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:28px 0;border-top:1px solid #d9dfe8;border-bottom:1px solid #d9dfe8;margin:34px 0 50px}.folio-pagination>div{display:flex;gap:8px}.folio-pagination a{font:500 .9rem/1.2 var(--sub);transition:background .25s,color .25s,transform .25s}.folio-pagination>div a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9dfe8}.folio-pagination a[aria-current=page]{color:white;background:var(--blue);border-color:var(--blue)}.folio-pagination>div a:hover{background:#e8ecf3}.folio-pagination a[aria-current=page]:hover{background:var(--blue)}.folio-pagination a:focus-visible,.folio-thumb:focus-visible{outline:3px solid #778eba;outline-offset:4px}.folio-pager-direction:last-child{text-align:right}.folio-records{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.folio-record{display:flex;gap:25px;border-bottom:1px solid #d9dfe8;padding:45px 0;min-height:230px}.folio-record .section-label{text-transform:uppercase;font-size:.76rem;letter-spacing:.14em}.folio-record h2{font-size:clamp(2rem,3vw,3.35rem);line-height:1.04;margin:13px 0}.folio-record p{font-size:.95rem}.folio-detail{display:block;color:var(--muted);font-size:.85rem;margin-top:8px}.folio-number{font:400 2.3rem/1 var(--title);color:#a6b0c1;padding-top:4px;min-width:40px}.folio-record:hover .folio-number{color:var(--blue)}.folio-record:hover h2{transform:translateX(5px)}.folio-record h2{transition:transform .4s var(--ease-luxe)}.folio-feature{grid-column:1/-1;margin-bottom:35px}.folio-feature-heading{display:grid;grid-template-columns:1fr auto;gap:12px;margin:0 0 28px}.folio-feature-heading>.section-label{grid-column:1/-1;text-transform:uppercase}.folio-feature-heading h2{font-size:clamp(3rem,6vw,6rem)}.folio-feature-heading>p{align-self:end;color:var(--muted)}.folio-main{display:block;overflow:hidden;background:#071d49;aspect-ratio:3/2;max-height:780px}.folio-main img{width:100%;height:100%;object-fit:cover;transition:opacity .22s,transform .8s}.folio-main:hover img{transform:scale(1.025)}.folio-thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.folio-thumb{padding:0;background:none;border:0;text-align:left;color:var(--blue);opacity:.65;transition:opacity .25s}.folio-thumb[aria-pressed=true],.folio-thumb:hover{opacity:1}.folio-thumb img{width:100%;height:140px;object-fit:cover;border-bottom:3px solid transparent}.folio-thumb[aria-pressed=true] img{border-color:var(--blue)}.folio-thumb span{display:block;font:500 .75rem/1.4 var(--sub);letter-spacing:.04em;margin-top:10px}.folio-caption{font-size:.78rem;line-height:1.5;color:var(--muted);margin-top:22px!important;max-width:620px}@media(max-width:700px){.folio-hero{min-height:520px}.folio-records{grid-template-columns:1fr}.folio-record{min-height:0;padding:30px 0}.folio-section-head{align-items:start;flex-direction:column}.folio-section-head>p{font-size:1.8rem}.folio-pagination{grid-template-columns:1fr 1fr;gap:20px;margin:25px 0 35px}.folio-pagination>div{grid-column:1/-1;grid-row:1;justify-content:center}.folio-pagination>span:first-child,.folio-pagination>.folio-pager-direction:first-child{grid-column:1;grid-row:2}.folio-pagination>.folio-pager-direction:last-child,.folio-pagination>span:last-child{grid-column:2;grid-row:2}.folio-feature-heading{display:block}.folio-feature-heading h2{margin:15px 0}.folio-main{aspect-ratio:4/3}.folio-thumbnails{gap:8px}.folio-thumb img{height:80px}.folio-thumb span{font-size:.65rem}.folio-caption{font-size:.75rem}.folio-record h2{font-size:2.4rem}.folio-feature{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){.folio-main img,.folio-record h2{transition:none}.folio-record:hover h2,.folio-main:hover img{transform:none}}

.folio-project{padding:25px 0 45px;border-bottom:1px solid #d9dfe8;min-width:0}.folio-card-heading{margin-bottom:24px;min-height:140px}.folio-card-heading h2{font-size:clamp(2.3rem,3.6vw,4rem);margin:16px 0 10px;line-height:1.05}.folio-card-heading p{font-size:.9rem;color:var(--muted)}.folio-project .folio-thumb img{height:90px}.folio-project .folio-main{aspect-ratio:3/2}.folio-project .folio-main img{object-fit:contain}.folio-project .folio-caption{font-size:.75rem}.folio-project .folio-thumb span{font-size:.68rem}.folio-project .section-label{text-transform:uppercase}@media(max-width:700px){.folio-card-heading{min-height:0}.folio-project .folio-thumb img{height:80px}.folio-card-heading h2{font-size:2.7rem}}

/* Keep scrolling on compositor-friendly properties and preserve header geometry. */
html{scrollbar-gutter:stable}
.site-header,.site-header.is-scrolled,body.home>.site-header,body.home>.site-header.is-scrolled{height:96px;transition:background .25s,box-shadow .25s}
.site-header .brand img,.site-header.is-scrolled .brand img{width:103px;height:76px;transition:transform .25s}
.site-header.is-scrolled .brand img{transform:scale(.94)}
.home>.site-header.is-scrolled{background:rgba(4,19,47,.97);backdrop-filter:none;-webkit-backdrop-filter:none}
.editorial-media[data-depth] img{transition:none;will-change:auto}
.editorial-media[data-depth]:hover img{transform:translateY(var(--drift,0px)) scale(1.055);filter:none}
.scroll-progress{width:100%;transform-origin:left;transition:none}
@media(max-width:700px){.site-header,.site-header.is-scrolled,body.home>.site-header,body.home>.site-header.is-scrolled{height:78px}.site-header .brand img,.site-header.is-scrolled .brand img{width:88px;height:68px}}
@media(prefers-reduced-motion:reduce){.site-header .brand img{transition:none!important}.copy-motion .case-copy{opacity:1;transform:none;transition:none}}

/* Contact form */
.form-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.contact-form{max-width:1100px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 6%}
.contact-form label{display:flex;flex-direction:column;gap:12px}
.contact-form label>span{font:500 .72rem var(--sub);letter-spacing:.16em;text-transform:uppercase;color:#526075}
.contact-form input,.contact-form select,.contact-form textarea{font:400 1.05rem/1.5 var(--body);color:var(--ink);background:transparent;border:0;border-bottom:1px solid #a6b8c9;border-radius:0;padding:10px 0;width:100%;transition:border-color .25s}
.contact-form select{appearance:none;background:linear-gradient(45deg,transparent 50%,currentColor 50%) right 6px top 55%/6px 6px no-repeat,linear-gradient(-45deg,transparent 50%,currentColor 50%) right 0 top 55%/6px 6px no-repeat;padding-right:24px;cursor:pointer}
.contact-form textarea{resize:vertical;min-height:140px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-bottom-color:var(--blue);box-shadow:0 1px 0 var(--blue)}
.contact-form :focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.contact-form input:user-invalid,.contact-form textarea:user-invalid{border-bottom-color:#b3261e}
.form-wide{grid-column:1/-1}
.contact-form .form-consent{flex-direction:row;align-items:flex-start;gap:14px;margin:38px 0 34px;max-width:720px;font-size:.92rem;line-height:1.6;color:#526075}
.contact-form .form-consent>span{font:400 .92rem/1.6 var(--body);letter-spacing:0;text-transform:none;color:#526075}
.form-consent input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--blue)}
.form-consent a{text-decoration:underline}
.form-submit{display:inline-flex;gap:14px;align-items:center;background:var(--blue);color:#fff;border:0;border-radius:0;padding:18px 30px;font:500 .88rem var(--sub);letter-spacing:.04em;cursor:pointer;transition:background .25s,letter-spacing .3s}
.form-submit:hover{background:#0c2c6b;letter-spacing:.07em}
.page-intro a{text-decoration:underline}
@media(max-width:700px){.form-grid{grid-template-columns:1fr;gap:28px}.form-submit{width:100%;justify-content:center}}

/* Intro only on the first visit of the session */
.intro-seen .intro-screen{display:none!important}

/* Azienda: team and key facts */
.navy .page-intro>p{color:#c9d7ea}
.navy .page-intro h2{color:#fff}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,36px)}
.team-grid article{border-top:1px solid rgba(255,255,255,.28);padding-top:22px}
.team-portrait{display:block;aspect-ratio:3/4;overflow:hidden;background:#0c2c6b}
.team-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.team-tag{display:block;margin:24px 0 12px;font:500 .72rem var(--sub);letter-spacing:.16em;text-transform:uppercase;color:#b8cbe4}
.team-grid h3{font:400 clamp(2.2rem,2.6vw,3.2rem)/1 var(--title);letter-spacing:-.03em;margin:0 0 12px;color:#fff}
.team-grid p{margin:0;color:#c9d7ea;line-height:1.7}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:clamp(70px,8vw,110px) 0 0;border-top:1px solid #b2beca}
.facts-grid>div{padding-top:26px}
.facts-grid dd{margin:0;font:400 clamp(3.8rem,6vw,7rem)/1 var(--title);letter-spacing:-.04em;color:var(--blue)}
.facts-grid dt{margin-top:14px;font:500 .72rem/1.6 var(--sub);letter-spacing:.14em;text-transform:uppercase;color:#526075;order:2}
.facts-grid>div{display:flex;flex-direction:column}
@media(max-width:1100px){.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.facts-grid{grid-template-columns:1fr 1fr;gap:34px 24px}}
@media(max-width:560px){.team-grid{grid-template-columns:1fr;max-width:460px}}

/* Legal notes page */
.legal-text{max-width:860px}
.corporate .legal-text h2{font:400 clamp(2.2rem,3.4vw,3.4rem)/1.05 var(--title);letter-spacing:-.03em;margin:64px 0 18px;color:var(--blue)}
.corporate .legal-text p,.corporate .legal-text li{line-height:1.8;color:#3c4656;margin:0 0 16px}
.corporate .legal-text ul{padding-left:1.2em;margin:0 0 16px}
.corporate .legal-text a{text-decoration:underline;text-underline-offset:3px}
.corporate .legal-update{margin-top:56px;padding-top:20px;border-top:1px solid #bec9d8;font:500 .8rem var(--sub);letter-spacing:.08em;color:#5d6673}
.project-image-note a{text-decoration:underline;text-underline-offset:3px}

/* Attesta logo: shown whole, unaltered, never cropped */
.soa-feature img,.soa-business img{border-radius:0;padding:.3rem}

.luxury-aside .text-link{display:flex;width:fit-content;margin-top:16px}
.page-bridge .line-button+.line-button{margin-top:18px}

/* Quality pass: typography, touch, quick contact bar, related projects, form state */
h1,h2,h3{text-wrap:balance}
a,button,label,select{touch-action:manipulation}
html{-webkit-tap-highlight-color:rgba(7,29,73,.12)}
.form-submit[disabled]{opacity:.65;cursor:progress;letter-spacing:.04em}
.mobile-cta{display:none}
@media(max-width:700px){
.mobile-cta{display:grid;grid-template-columns:1fr 1.7fr;position:fixed;left:0;right:0;bottom:0;z-index:55;background:#071d49;border-top:1px solid rgba(255,255,255,.2);padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%);transition:transform .35s}
.show-cta .mobile-cta{transform:none}
.mobile-cta a{display:block;text-align:center;padding:17px 10px;color:#fff;font:500 .82rem var(--sub);letter-spacing:.06em}
.mobile-cta a+a{background:#fff;color:#071d49}
body.show-cta{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
body.menu-open .mobile-cta{display:none}
}
@media(prefers-reduced-motion:reduce){.mobile-cta{transition:none}}
.project-related{padding:clamp(70px,8vw,110px) 7%;background:#fff}
.project-related ul{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid #b2beca}
.project-related a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #b2beca;font:400 clamp(1.9rem,3vw,3rem)/1.1 var(--title);color:var(--blue);transition:padding-left .3s}
.project-related a:hover{padding-left:12px}
.project-related a span:last-child{font:500 .74rem var(--sub);letter-spacing:.12em;text-transform:uppercase;color:#526075;text-align:right}
