:root{
  --nero:#0b0b0b;
  --nero2:#141414;
  --linea:rgba(255,255,255,.1);
  --grigio:#8a8a8a;
  --chiaro:#c9c9c6;
  --bianco:#f3f2ee;
  --rec:#d8261f;
  --slab:'Zilla Slab',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--nero);color:var(--bianco);font-family:'Inter',system-ui,sans-serif;font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
section{padding:120px 0}
.kicker{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--grigio);margin-bottom:18px}
h1,h2,h3{font-family:var(--slab);font-weight:700;line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(2.1rem,4.6vw,3.6rem)}
h2 em{font-style:italic;font-weight:500;color:var(--chiaro)}
.head{margin-bottom:56px;max-width:760px}
.head__sub{margin-top:18px;color:var(--chiaro);font-size:1.08rem}
.head--row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.link{text-decoration:none;border-bottom:1px solid var(--grigio);padding-bottom:2px;font-size:14px;letter-spacing:.04em;transition:border-color .2s}
.link:hover{border-color:var(--bianco)}

.btn{display:inline-block;text-decoration:none;padding:15px 30px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-radius:40px;transition:transform .2s,background .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn--solid{background:var(--bianco);color:var(--nero)}
.btn--ghost{border:1px solid rgba(255,255,255,.35)}
.btn--ghost:hover{border-color:var(--bianco)}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px 28px;background:rgba(11,11,11,.75);backdrop-filter:blur(12px);border-bottom:1px solid var(--linea)}
.nav__logo img{height:30px;width:auto}
.nav__links{display:flex;gap:28px;align-items:center}
.nav__links a{text-decoration:none;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--chiaro)}
.nav__links a:hover{color:var(--bianco)}
.nav__links .nav__cta{color:var(--nero);background:var(--bianco);padding:9px 18px;border-radius:40px;font-weight:600}
.nav__links .nav__cta:hover{color:var(--nero)}
.nav__short{display:none}
@media(max-width:820px){.nav__links a:not(.nav__cta){display:none}.nav__links .nav__cta{font-size:11px;padding:8px 14px}}
@media(max-width:560px){.nav{padding:14px 20px}.nav__logo img{height:24px}.nav__long{display:none}.nav__short{display:inline}}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;padding:140px 0 90px}
.hero__wall{position:absolute;inset:-4%;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;transform:rotate(-4deg) scale(1.08);opacity:.55}
.hero__wall div{aspect-ratio:16/9;background:#222 center/cover;filter:grayscale(1) contrast(1.1);transition:filter 1.2s,opacity 1.2s;opacity:.7}
.hero__wall div.lit{filter:grayscale(0);opacity:1}
@media(max-width:820px){.hero__wall{grid-template-columns:repeat(3,1fr)}}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.55) 0%,rgba(11,11,11,.7) 45%,var(--nero) 96%)}
.hero__content{position:relative}
.rec{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--chiaro);margin-bottom:28px}
.rec__dot{width:10px;height:10px;border-radius:50%;background:var(--rec);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
.hero h1{font-size:clamp(3rem,9vw,7.4rem)}
.hero__dial{margin-top:26px;font-family:var(--slab);font-size:clamp(1.5rem,3.2vw,2.4rem);font-weight:500;color:var(--chiaro)}
.dial{display:inline-block;color:var(--bianco);font-style:italic;border-bottom:3px solid var(--rec);transition:opacity .35s,transform .35s}
.dial.out{opacity:0;transform:translateY(10px)}
.hero__sub{margin:22px 0 38px;max-width:52ch;color:var(--chiaro);font-size:1.1rem}

/* INTRO */
.intro{border-top:1px solid var(--linea)}
.intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.intro__lead{font-family:var(--slab);font-weight:500;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2}
.intro__text p{color:var(--chiaro);font-size:1.08rem;margin-bottom:20px}
.intro__text strong{color:var(--bianco);font-weight:500}
@media(max-width:820px){.intro__grid{grid-template-columns:1fr;gap:30px}}

/* LAVORI */
.lavori{background:var(--nero2)}
.registri{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px}
.reg{background:none;border:1px solid var(--linea);color:var(--chiaro);font:500 13px 'Inter';letter-spacing:.08em;text-transform:uppercase;padding:11px 18px;border-radius:40px;cursor:pointer;transition:all .2s}
.reg b{color:var(--grigio);margin-right:6px;font-weight:500}
.reg:hover{border-color:var(--chiaro);color:var(--bianco)}
.reg.on{background:var(--bianco);color:var(--nero);border-color:var(--bianco)}
.reg.on b{color:var(--rec)}
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:980px){.works{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.works{grid-template-columns:1fr}}
.work{display:flex;flex-direction:column;transition:opacity .3s,transform .3s}
.work.hide{display:none}
.work--big{grid-column:span 2}
@media(max-width:600px){.work--big{grid-column:auto}}
.thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;cursor:pointer;border:0;padding:0;width:100%;display:block}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .4s;filter:saturate(.85)}
.thumb:hover img{transform:scale(1.04);filter:saturate(1.05)}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55))}
.play{position:absolute;left:16px;bottom:14px;z-index:1;display:flex;align-items:center;gap:10px;font:600 12px 'Inter';letter-spacing:.14em;text-transform:uppercase;color:#fff}
.play::before{content:"";width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 2l5 3-5 3z' fill='%230b0b0b'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s}
.thumb:hover .play::before{transform:scale(1.1)}
.badge{position:absolute;top:12px;left:12px;z-index:1;background:var(--rec);color:#fff;font:600 11px 'Inter';letter-spacing:.12em;padding:4px 9px;border-radius:3px}
.work__body{padding:20px 2px 0}
.work__tag{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--grigio);margin-bottom:8px}
.work__tag i{font-style:normal;color:var(--rec)}
.work h3{font-size:1.45rem;margin-bottom:10px}
.work p{color:var(--chiaro);font-size:.98rem}
.work__client{margin-top:10px;font-size:13px;color:var(--grigio)}

/* TECNICA */
.mezzi{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea)}
.mezzo{padding:34px 26px 10px 0}
.mezzo + .mezzo{padding-left:26px;border-left:1px solid var(--linea)}
.mezzo__n{display:block;font-family:var(--slab);font-size:2.4rem;font-weight:700;margin-bottom:14px}
.mezzo h3{font-size:1.2rem;margin-bottom:10px}
.mezzo p{color:var(--chiaro);font-size:.95rem}
@media(max-width:900px){.mezzi{grid-template-columns:1fr 1fr}.mezzo:nth-child(3){padding-left:0;border-left:0}}
@media(max-width:520px){.mezzi{grid-template-columns:1fr}.mezzo + .mezzo{padding-left:0;border-left:0;border-top:1px solid var(--linea)}}

/* IDENTITÀ */
.identita{background:var(--bianco);color:var(--nero);text-align:center}
.identita .kicker{color:#666}
.identita blockquote{font-family:var(--slab);font-weight:700;font-size:clamp(1.7rem,3.8vw,3rem);line-height:1.15;max-width:24ch;margin:0 auto}
.identita__note{margin:34px auto 0;max-width:56ch;color:#444;font-size:1.05rem}

/* ARCHIVIO */
.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:30px;scrollbar-width:thin}
.tab{flex:none;background:none;border:1px solid var(--linea);color:var(--chiaro);font:500 13px 'Inter';padding:9px 16px;border-radius:40px;cursor:pointer;white-space:nowrap}
.tab:hover{color:var(--bianco);border-color:var(--chiaro)}
.tab.on{background:var(--bianco);color:var(--nero);border-color:var(--bianco)}
.tab span{opacity:.55;margin-left:6px}
.arch{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 18px}
@media(max-width:980px){.arch{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.arch{grid-template-columns:1fr 1fr}}
.arch__msg{grid-column:1/-1;color:var(--grigio)}
.vid{display:flex;flex-direction:column;justify-content:flex-start;text-align:left;background:none;border:0;color:inherit;font:inherit;cursor:pointer}
.vid .thumb{margin-bottom:10px}
.vid .thumb::after{display:none}
.vid__t{font-size:.92rem;line-height:1.35;color:var(--bianco)}
.vid__d{font-size:12px;color:var(--grigio);margin-top:4px}
.vid:hover .vid__t{text-decoration:underline;text-underline-offset:3px}
.arch__foot{margin-top:30px;font-size:14px;color:var(--grigio)}
.arch__foot button{background:none;border:0;border-bottom:1px solid var(--grigio);color:var(--bianco);font:inherit;cursor:pointer;padding-bottom:1px}

/* DIETRO */
.dietro{background:var(--nero2)}
.dietro__grid{display:grid;grid-template-columns:.85fr 1fr;gap:70px;align-items:center}
.dietro__foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.08)}
.dietro__testo h2{margin-bottom:24px}
.dietro__testo p{color:var(--chiaro);font-size:1.08rem;margin-bottom:20px}
@media(max-width:820px){.dietro__grid{grid-template-columns:1fr;gap:36px}.dietro__foto{max-width:420px}}

/* CONTATTI */
.contatti{text-align:center}
.contatti h2{font-size:clamp(2.2rem,5.6vw,4.4rem)}
.contatti p{margin:26px auto 40px;max-width:46ch;color:var(--chiaro);font-size:1.1rem}
.btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* FOOTER */
.foot{border-top:1px solid var(--linea);padding:44px 0 50px}
.foot__row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.foot__logo{height:26px;width:auto}
.foot__links{display:flex;gap:24px;flex-wrap:wrap}
.foot__links a{text-decoration:none;font-size:13px;color:var(--grigio)}
.foot__links a:hover{color:var(--bianco)}
.foot__tag{margin-top:26px;font-size:12px;letter-spacing:.12em;color:var(--grigio)}

/* PLAYER */
.player{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:24px}
.player.on{display:flex}
.player__box{width:100%;max-width:1100px}
.player__ratio{position:relative;padding-top:56.25%;background:#000}
.player__ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player__title{margin-top:14px;font-family:var(--slab);font-size:1.2rem}
.player__x{position:absolute;top:14px;right:22px;background:none;border:0;color:#fff;font-size:38px;line-height:1;cursor:pointer}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
