html,body{overflow-x:clip!important}
.fm-intro{background:var(--ink,#11110f);color:#fff;padding:clamp(7rem,12vw,12rem) 6vw clamp(4rem,7vw,7rem)}
.fm-label{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent,#ae8963);margin:0 0 2rem}
.fm-big{font:400 clamp(3.7rem,7.2vw,8.5rem)/.91 var(--serif);letter-spacing:-.045em;margin:0 0 2.5rem;max-width:12ch}
.fm-h2{font:400 clamp(2.6rem,4.6vw,5.2rem)/.95 var(--serif);letter-spacing:-.04em;margin:0}
.fm-intro em,.fm-codes em{font-style:normal;color:var(--color-accent,#ae8963)}
.fm-lead{margin:0;max-width:40rem;font-size:clamp(1.05rem,1.35vw,1.3rem);line-height:1.75;color:rgba(255,255,255,.72)}
.fm-fams{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);background:var(--ink,#11110f);color:#fff}
.fm-stage{position:sticky;top:4.5rem;height:calc(100svh - 4.5rem);overflow:hidden;background:#000}
.fm-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .8s,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.fm-stage img.on{opacity:1;transform:none}
.fm-count{position:absolute;left:clamp(1.2rem,3vw,3rem);bottom:clamp(1.2rem,3vw,3rem);display:flex;align-items:baseline;gap:.6rem;font-family:var(--serif);z-index:1;text-shadow:0 .6rem 2rem rgba(0,0,0,.5)}
.fm-count b{font-weight:400;font-size:clamp(3.5rem,6vw,6rem);line-height:1;color:transparent;-webkit-text-stroke:1px #fff}
.fm-count span{font-size:1.1rem;color:rgba(255,255,255,.75)}
.fm-list{padding:0 clamp(2rem,5vw,6rem)}
.fm-fam{min-height:calc(100svh - 4.5rem);display:flex;flex-direction:column;justify-content:center;padding:4rem 0;border-bottom:1px solid rgba(255,255,255,.12);opacity:.35;transition:opacity .5s}
.fm-fam.on{opacity:1}
.fm-n{margin:0 0 1rem;font-size:.66rem;letter-spacing:.24em;color:var(--color-accent,#ae8963)}
.fm-fam h3{margin:0 0 1.4rem;font:400 clamp(2.6rem,4.6vw,5.2rem)/.95 var(--serif);letter-spacing:-.04em}
.fm-fam>p:not(.fm-n):not(.fm-cap):not(.fm-used){margin:0 0 1.6rem;line-height:1.8;color:rgba(255,255,255,.72);max-width:32rem}
.fm-cap{margin:0 0 1.4rem;font-size:.72rem;letter-spacing:.06em;color:rgba(255,255,255,.5)}
.fm-used{margin:0;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;border-top:1px solid rgba(255,255,255,.16);padding-top:1.2rem}
.fm-used span{width:100%;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.fm-used a{color:#fff;text-decoration:none;font-family:var(--serif);font-size:1.15rem;border-bottom:1px solid rgba(255,255,255,.3);transition:color .3s,border-color .3s}
.fm-used a:hover{color:var(--color-accent,#ae8963);border-color:currentColor}
.fm-mob{display:none}
.fm-codes{background:#efe9df;color:#1a1916;padding:clamp(6rem,10vw,10rem) 0 clamp(5rem,8vw,8rem)}
.fm-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,8rem);align-items:end;padding:0 6vw clamp(3rem,5vw,5rem)}
.fm-head p:not(.fm-label){margin:0;line-height:1.8;max-width:34rem;opacity:.72}
.fm-grid{list-style:none;margin:0;padding:0 6vw;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:clamp(1.5rem,2.5vw,2.5rem) clamp(1rem,2vw,2rem)}
.fm-card{margin:0}
.fm-sw{aspect-ratio:1;overflow:hidden;background:#ddd;box-shadow:0 1.2rem 2.4rem rgba(0,0,0,.12)}
.fm-sw img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.fm-card:hover .fm-sw img{transform:scale(1.08)}
.fm-code{margin:1rem 0 .25rem;font:400 1.5rem/1.1 var(--serif);letter-spacing:-.02em}
.fm-use{margin:0 0 .4rem;font-size:.82rem;line-height:1.5;opacity:.7}
.fm-prj{margin:0;font-size:.72rem;letter-spacing:.04em}
.fm-prj a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.25)}
.fm-prj a:hover{color:var(--color-accent,#ae8963);border-color:currentColor}
@media(max-width:900px){.fm-intro{padding:6rem 1.2rem 3.5rem}.fm-big{font-size:clamp(2.8rem,11vw,4.4rem)}.fm-h2,.fm-fam h3{font-size:clamp(2.1rem,8.5vw,3.2rem)}.fm-fams{grid-template-columns:minmax(0,1fr)}.fm-stage{display:none}.fm-list{padding:0 1.2rem}.fm-fam{min-height:0;opacity:1;padding:3rem 0}.fm-mob{display:block;width:calc(100% + 2.4rem);margin:1.6rem -1.2rem 0;aspect-ratio:4/3;object-fit:cover}.fm-head{grid-template-columns:minmax(0,1fr);padding:0 1.2rem 2.5rem}.fm-grid{padding:0 1.2rem;grid-template-columns:1fr 1fr}}.fs{display:grid;grid-template-columns:minmax(320px,5fr) minmax(0,7fr);background:var(--ink,#11110f);color:#fff}
.fs-text{align-self:center;padding:clamp(5rem,8vw,8rem) clamp(2rem,5vw,6rem)}
.fs em{font-style:normal;color:var(--color-accent,#ae8963)}
.fs-text>p:not(.fm-label){margin:1.6rem 0 2rem;line-height:1.8;color:rgba(255,255,255,.72);max-width:34rem}
.fs-facts{margin:0 0 2rem;border-top:1px solid rgba(255,255,255,.16);max-width:34rem}
.fs-facts div{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.16)}
.fs-facts dt{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.fs-facts dd{margin:0;font-family:var(--serif);font-size:1.1rem;text-align:right}
.fs-btns{display:flex;flex-wrap:wrap;gap:1rem}
.fs-demo{position:relative;align-self:center;aspect-ratio:950/900;overflow:hidden}
.fs-demo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.fs-frost{position:absolute;inset:0;background:rgba(238,240,240,.42);-webkit-backdrop-filter:blur(16px) saturate(.7) brightness(1.06);backdrop-filter:blur(16px) saturate(.7) brightness(1.06);clip-path:inset(0 0 22.3% max(47.1%, var(--fs)))}
.fs-frost::after{content:"";position:absolute;left:0;right:0;top:77.7%;height:1px;background:rgba(255,255,255,.55)}
.fs-line{position:absolute;top:0;bottom:0;left:var(--fs);width:1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);pointer-events:none}
.fs-line::after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2.6rem;height:2.6rem;border-radius:50%;background:#fff;color:#11110f;display:grid;place-items:center;font-size:.9rem}
.fs-demo input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.fs-tag{position:absolute;top:1.2rem;padding:.45rem .8rem;background:rgba(17,17,15,.72);color:#fff;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;pointer-events:none}
.fs-a{left:1.2rem}.fs-b{right:1.2rem}
.fs-note{position:absolute;left:0;right:0;bottom:0;margin:0;padding:3rem 1.3rem 1rem;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,0));font-size:.72rem;letter-spacing:.06em;pointer-events:none}
@media(max-width:900px){.fs{grid-template-columns:minmax(0,1fr)}.fs-text{padding:4rem 1.2rem}}
.fm-open{margin:2.5rem 0 0}

/* Due gamme: DI-NOC e FASARA */
html{scroll-behavior:smooth}
#dinoc,#fasara{scroll-margin-top:4.5rem}
.mt{background:#efe9df;color:#1a1916;padding:clamp(6rem,10vw,10rem) 0 0}
.mt-head{padding:0 6vw clamp(3rem,5vw,5rem)}
.mt em{font-style:normal;color:var(--color-accent,#ae8963)}
.mt-grid{display:grid;grid-template-columns:1fr 1fr}
.mt-card{display:flex;flex-direction:column;background:var(--ink,#11110f);color:#fff}
.mt-glass{background:#1c2226}
.mt-img{margin:0;overflow:hidden}
.mt-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.mt-card:hover .mt-img img{transform:scale(1.03)}
.mt-body{display:flex;flex-direction:column;flex:1;padding:clamp(2.5rem,4vw,4rem) clamp(2rem,4vw,4.5rem)}
.mt-num{margin:0 0 1rem;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent,#ae8963)}
.mt-body h3{margin:0 0 1.4rem;font:400 clamp(2.6rem,4.6vw,5.2rem)/.95 var(--serif);letter-spacing:-.04em}
.mt-body h3 span{display:block;margin-top:.6rem;font-family:var(--sans,inherit);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.mt-lead{margin:0 0 2rem;line-height:1.8;color:rgba(255,255,255,.78);max-width:36rem}
.mt-list{margin:0 0 2.2rem;border-top:1px solid rgba(255,255,255,.14)}
.mt-list div{display:grid;grid-template-columns:10rem 1fr;gap:1.2rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.mt-list dt{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);padding-top:.2rem}
.mt-list dd{margin:0;line-height:1.7;color:rgba(255,255,255,.8)}
.mt-btns{margin:auto 0 0;display:flex;flex-wrap:wrap;gap:1rem}
@media(max-width:900px){.mt-grid{grid-template-columns:1fr}.mt-head{padding:0 1.2rem 2.5rem}.mt-body{padding:2.5rem 1.2rem}.mt-list div{grid-template-columns:1fr;gap:.3rem}.mt-body h3{font-size:clamp(2.1rem,8.5vw,3.2rem)}}

/* Marchi 3M in testa alle due gamme */
.brand3m{display:block;align-self:flex-start;flex:none;height:clamp(1.8rem,2.6vw,2.5rem);width:auto;max-width:100%;object-fit:contain;margin:0 0 2rem}
.fm-intro .brand3m{height:clamp(1.9rem,3vw,2.8rem);margin-bottom:2.4rem}
