/* Cine1 Italia, sito Bianco (ottobre 2026).
   Un solo carattere (Schibsted Grotesk) piu' il monospazio per anni e dati.
   Titoli tutti della stessa misura, didascalie piccole, testata minima. */
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/SchibstedGrotesk-normal-400-700.woff2) format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/SchibstedGrotesk-italic-400-700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-normal-400.woff2) format('woff2')}

:root{
  --bg:#fff;--tx:#0b0b0b;--tx2:#626262;--line:#e3e3e1;--frame:#f1f1ef;--focus:#ad1a61;
  --f:'Schibsted Grotesk','Helvetica Neue',Arial,sans-serif;--mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --h:clamp(2.55rem,5.15vw,4.65rem);--hc:clamp(1.35rem,1.9vw,1.7rem);--lead:clamp(1.55rem,2.7vw,2.45rem);
  --w:500;--lh:.93;--ls:-.04em;
  --gx:clamp(16px,3.2vw,46px);--gap:clamp(16px,2.4vw,34px);--sp:clamp(4.5rem,11vh,8.5rem);
  --ease:cubic-bezier(.22,1,.36,1);color-scheme:light
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--f);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal;text-rendering:optimizeLegibility}
img,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit}
p,h1,h2,h3,h4,dl,dd,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
::selection{background:#0b0b0b;color:#fff}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:var(--gx);top:.6rem;z-index:100;background:#000;color:#fff;padding:.6rem .9rem;font-size:.85rem;transform:translateY(-200%)}
.skip:focus{transform:none}

/* tipografia */
.H{font-size:var(--h);font-weight:var(--w);line-height:var(--lh);letter-spacing:var(--ls);text-wrap:balance}
.k{font-size:.74rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;line-height:1.35;color:var(--tx2)}
.k.on{color:var(--tx)}
.mono,sup.y{font-family:var(--mono);font-weight:400;letter-spacing:0}
.lead{font-size:var(--lead);font-weight:var(--w);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.body{font-size:1.06rem;line-height:1.6;color:var(--tx2);max-width:62ch}
.body p+p{margin-top:1em}
.wrap{padding-inline:var(--gx)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.sec{padding-top:var(--sp)}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:clamp(1.4rem,3vw,2.4rem)}
.arrow{display:inline-flex;align-items:center;gap:.9rem;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.arrow svg{width:2.8rem;height:.72rem;flex:none;transition:transform .45s var(--ease)}
.arrow:hover svg,a:hover>.arrow svg,.arrow:focus-visible svg{transform:translateX(.45rem)}
.ul{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:1px;transition:background-size .4s var(--ease)}
.ul:hover{background-size:0 1px;background-position:100% 100%}

/* testata */
/* menu, logo e lingua: bianchi sulle immagini e sui fondi scuri, neri sul chiaro (.chiaro);
   bianco.js guarda cosa passa sotto ogni elemento. Senza JavaScript resta il negativo */
.top{position:fixed;inset:0 0 auto;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem var(--gx);color:#fff;mix-blend-mode:difference;pointer-events:none}
.js .top{mix-blend-mode:normal}
.top>*{pointer-events:auto;transition:color .3s var(--ease)}
.js .top .chiaro{color:#0b0b0b}
.top .menu{justify-self:start;display:inline-flex;align-items:center;gap:.75rem;font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;padding:.4rem 0}
.top .menu i{display:grid;gap:5px;width:22px}.top .menu i b{display:block;height:1.5px;background:currentColor}
.top .logo{display:block;line-height:0}
.top .logo img{height:clamp(30px,3.1vw,40px);width:auto;transition:filter .3s var(--ease)}
.js .top .logo.chiaro img{filter:invert(1)}
.top .lang{justify-self:end;display:flex;gap:.35rem;font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.top .lang a{opacity:.6}.top .lang a:hover{opacity:1}.top .lang span{opacity:1}
.nav{position:fixed;inset:0;z-index:70;background:#fff;color:#0b0b0b;display:grid;grid-template-rows:auto 1fr auto;padding:1rem var(--gx) 1.4rem;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}
.nav.on{opacity:1;visibility:visible}
.nav .nav-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nav .x{justify-self:start;display:inline-flex;align-items:center;gap:.75rem;font-size:.78rem;font-weight:500;text-transform:uppercase;padding:.4rem 0}
.nav .x i{position:relative;width:22px;height:14px}.nav .x i::before,.nav .x i::after{content:"";position:absolute;left:0;right:0;top:6px;height:1.5px;background:currentColor;transform:rotate(45deg)}.nav .x i::after{transform:rotate(-45deg)}
.nav .nav-logo img{height:clamp(30px,3.1vw,40px);width:auto;filter:invert(1)}
.nav ul{align-self:center;display:grid;gap:.1em}
.nav li a{font-size:clamp(2.4rem,6.4vw,5.6rem);font-weight:var(--w);letter-spacing:var(--ls);line-height:1.02;transition:opacity .25s}
.nav ul:hover a{opacity:.35}.nav ul a:hover,.nav ul a:focus-visible{opacity:1}
.nav li a sup{font-family:var(--mono);font-size:.8rem;letter-spacing:0;vertical-align:super;margin-left:.5rem;font-weight:400}
.nav .nav-foot{display:flex;flex-wrap:wrap;gap:.6rem 2rem;font-size:.78rem;font-weight:500;text-transform:uppercase}
.nav .nav-foot a:hover{opacity:.55}

/* apertura: indice dei titoli sopra l'immagine */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;max-height:1200px;background:#0b0b0b;color:#fff;overflow:hidden;isolation:isolate}
.hero figure{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.hero figure.on{opacity:1}
.hero figure img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,0) 62%),linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,0) 18%)}
.hero ol{position:absolute;z-index:2;left:var(--gx);right:var(--gx);bottom:clamp(1.6rem,6vh,3.4rem)}
.hero li a{display:inline-block;font-size:var(--h);font-weight:var(--w);letter-spacing:var(--ls);line-height:.98;opacity:.5;transition:opacity .35s}
.hero li a[aria-current="true"],.hero li a:hover,.hero li a:focus-visible{opacity:1}
.hero sup{font-family:var(--mono);font-size:max(.62rem,.17em);letter-spacing:0;font-weight:400;margin-left:.55em;vertical-align:super;position:relative;top:-.2em}
.hero .tag{position:absolute;z-index:2;right:var(--gx);bottom:clamp(1.6rem,6vh,3.4rem);max-width:22ch;text-align:right;font-size:.76rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.4}
.hero .tag b{display:block;font-weight:500;opacity:.62}

/* uscite del momento */
.mod{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end}
.mod+.mod{margin-top:var(--sp)}
.mod .pic{grid-column:2 / span 6;display:block;overflow:hidden;background:var(--frame);aspect-ratio:4/5}
.mod .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.mod:hover .pic img{transform:scale(1.035)}
.mod .txt{grid-column:9 / span 4;display:grid;gap:1.6rem;align-content:end}
.mod .txt .d{font-size:1.06rem;line-height:1.5;color:var(--tx2);max-width:34ch;margin-top:1.1rem}
.mod.r .pic{grid-column:6 / span 6;grid-row:1;aspect-ratio:3/2}
.mod.r .txt{grid-column:2 / span 3;grid-row:1}
.mod h3 a:hover{opacity:.6}

/* lettore trailer */
.player{position:relative;background:#000;aspect-ratio:16/9;overflow:hidden}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player .cover{position:absolute;inset:0;display:block;width:100%;color:#fff}
.player .cover img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .4s}
.player .cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,0) 45%)}
.player .cover:hover img{transform:scale(1.02)}
.player .play{position:absolute;z-index:2;left:50%;top:50%;width:clamp(4.2rem,7vw,5.6rem);height:clamp(4.2rem,7vw,5.6rem);margin:calc(clamp(4.2rem,7vw,5.6rem) / -2) 0 0 calc(clamp(4.2rem,7vw,5.6rem) / -2);border:1.5px solid #fff;border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s}
.player .play svg{width:28%;margin-left:8%}
.player .cover:hover .play{background:#fff;color:#000}
.player .cap{position:absolute;z-index:2;left:clamp(.9rem,2vw,1.4rem);right:clamp(.9rem,2vw,1.4rem);bottom:clamp(.8rem,2vw,1.2rem);display:flex;justify-content:space-between;gap:1rem;font-size:.76rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.ytnote{margin-top:.7rem;font-size:.74rem;color:var(--tx2)}
.ytnote a{text-decoration:underline;text-underline-offset:2px}
.trs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.trs .main{grid-column:1 / span 9}
.trs .list{grid-column:10 / span 3;display:grid;gap:1rem;align-content:start}
.trs .list button{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:.8rem;align-items:start;width:100%}
.trs .list button .t{aspect-ratio:16/9;overflow:hidden;background:var(--frame)}
.trs .list button img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.trs .list button:hover img{opacity:.75}
.trs .list button b{display:block;font-size:1rem;font-weight:500;letter-spacing:-.015em;line-height:1.15}
.trs .list button span.k{display:block;margin-top:.3rem}
.trs .list button[aria-current="true"] b::before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:currentColor;margin-right:.45rem;vertical-align:.1em}

/* archivio a colonne sfalsate */
.bar{display:flex;justify-content:space-between;align-items:end;gap:1.2rem 2rem;flex-wrap:wrap;margin-bottom:clamp(1.6rem,3.4vw,2.8rem)}
.ctl{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.76rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.ctl button{color:var(--tx2);padding:.25rem 0;border-bottom:1px solid transparent;transition:color .2s}
.ctl button:hover{color:var(--tx)}
.ctl button[aria-pressed="true"]{color:var(--tx);border-bottom-color:currentColor}
.ctls{display:flex;flex-wrap:wrap;gap:.8rem 2.6rem}
.cols{columns:3 300px;column-gap:var(--gap)}
.cols.mz{columns:auto;display:flex;gap:var(--gap);align-items:flex-start}
.cols.mz>.mzc{flex:1 1 0;min-width:0}
.card{display:block;break-inside:avoid;margin-bottom:clamp(2rem,4vw,3rem);width:100%;text-align:left}
.card .im{display:block;overflow:hidden;background:var(--frame)}
.card img{width:100%;object-fit:cover;transition:transform 1s var(--ease)}
.card:hover img{transform:scale(1.035)}
.card .k{margin-top:.85rem}
.card h3{font-size:var(--hc);font-weight:var(--w);letter-spacing:-.03em;line-height:1.02;margin-top:.3rem}
.card h3 sup{font-family:var(--mono);font-size:.62rem;letter-spacing:0;font-weight:400;margin-left:.4em;vertical-align:super}
.card[hidden]{display:none}
.count{font-size:.76rem;color:var(--tx2);font-family:var(--mono)}

/* la casa */
.house .lead{grid-column:2 / span 9;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.proof{grid-column:2 / span 10;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.proof div{border-top:1px solid var(--tx);padding-top:.8rem}
.proof b{display:block;font-size:var(--hc);font-weight:var(--w);letter-spacing:-.03em;line-height:1.05;margin-bottom:.45rem}
.proof span{font-size:.92rem;color:var(--tx2);display:block;max-width:30ch}
.logos{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem 2.8rem}
.logos img{height:var(--lh,34px);width:auto}
.house .logos{grid-column:2 / span 10;margin-top:clamp(2.6rem,5vw,3.6rem);padding-top:1.8rem;border-top:1px solid var(--line)}
.house .logos-k{grid-column:2 / span 10;margin-top:clamp(2.6rem,5vw,3.6rem)}
.house .logos-k+.logos{margin-top:1rem}

/* servizi */
.svc .pic{grid-column:6 / span 6;grid-row:1;aspect-ratio:4/3;overflow:hidden;background:var(--frame)}
.svc .pic img{width:100%;height:100%;object-fit:cover}
.svc .txt{grid-column:2 / span 3;grid-row:1;display:grid;gap:1.8rem;align-content:space-between}
.svc .areas{display:grid;gap:0;border-top:1px solid var(--tx);margin-top:1.4rem}
.svc .areas li{padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.98rem}
.svc .d{margin-top:1.1rem;color:var(--tx2);font-size:1.02rem;line-height:1.5}

/* piede */
.foot{margin-top:var(--sp);background:#0b0b0b;color:#fff;padding:clamp(2.8rem,6vw,4rem) var(--gx) 1.6rem}
.foot .cols4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem var(--gap)}
.foot .c{border-top:1px solid rgba(255,255,255,.9);padding-top:.75rem}
.foot .c p.k{color:rgba(255,255,255,.55);margin-bottom:.8rem}
.foot ul{display:grid;gap:.4rem;font-size:.95rem}
.foot a:hover{opacity:.6}
.foot .sign{font-size:clamp(3.4rem,11.5vw,11rem);font-weight:var(--w);letter-spacing:-.055em;line-height:.82;margin:clamp(3rem,7vw,5rem) 0 1.4rem;white-space:nowrap}
.foot .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;font-size:.74rem;color:rgba(255,255,255,.6)}

/* scheda film: copertina */
.fcover{position:relative;height:100vh;height:100svh;min-height:540px;max-height:1100px;overflow:hidden;background:#0b0b0b;color:#fff;isolation:isolate}
.fcover>img{width:100%;height:100%;object-fit:cover}
.fcover::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.12) 40%,rgba(0,0,0,0) 60%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 18%)}
.fcover .ttl{position:absolute;z-index:2;left:var(--gx);right:32%;bottom:clamp(1.6rem,6vh,3.2rem)}
.fcover .ttl .k{color:rgba(255,255,255,.8);margin-bottom:.8rem}
.fcover .ttl .alt{margin-top:.7rem;font-size:.95rem;color:rgba(255,255,255,.75)}
.fcover .seal{position:absolute;z-index:2;right:var(--gx);bottom:clamp(1.6rem,6vh,3.2rem);display:flex;align-items:center;gap:.9rem;text-align:right;font-size:.74rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.4}
.fcover .seal img{width:clamp(56px,6vw,74px);height:auto}
.crumbs{padding-top:1.1rem;font-size:.74rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:var(--tx2)}
.crumbs a:hover{color:var(--tx)}
.crumbs span[aria-hidden]{margin:0 .5rem}

/* scheda film: dati */
.info{padding-top:clamp(2rem,4vw,3rem);row-gap:2rem}
.info>div{grid-column:span 4}
.info dt{margin-bottom:.55rem}
.info dd{font-size:var(--hc);font-weight:var(--w);letter-spacing:-.03em;line-height:1.08;text-wrap:balance}
.info dd.small{font-size:1.06rem;letter-spacing:-.01em;line-height:1.35;font-weight:400}
.facts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;border-top:1px solid var(--line);padding-top:1rem;font-family:var(--mono);font-size:.78rem;color:var(--tx2)}
.where{display:grid;gap:.5rem}
.btn{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--tx);padding:.85rem 1rem;font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.25;transition:background .25s,color .25s}
.btn small{display:block;font-size:.7rem;text-transform:none;letter-spacing:0;font-weight:400;opacity:.7;margin-top:.15rem}
.btn:hover,.btn.solid{background:var(--tx);color:var(--bg)}
.btn.solid:hover{background:transparent;color:var(--tx)}
.btn .ar{font-family:var(--mono);font-size:.9rem}
.where .note{font-size:.95rem;line-height:1.4;font-weight:400;letter-spacing:0;color:var(--tx)}
.where .note small{display:block;color:var(--tx2);font-size:.8rem;margin-top:.2rem}

/* scheda film: sinossi, galleria, crediti, stampa */
.syn .k.h{grid-column:1 / span 3}
.syn .t{grid-column:4 / span 7}
.syn .logline{font-size:clamp(1.45rem,2.2vw,1.95rem);font-weight:var(--w);letter-spacing:-.025em;line-height:1.2;text-wrap:pretty;margin-bottom:1.6rem}
.syn .body{max-width:none;column-gap:var(--gap)}
.syn .note{margin-top:1.4rem;font-size:.92rem;color:var(--tx2)}
.syn.has-poster .t,.syn.has-poster .quotes{grid-column:4 / span 5}
.syn .poster{grid-column:10 / span 3;grid-row:1 / span 2;align-self:start}
.syn .poster img{width:100%;height:auto;background:var(--frame)}
.syn .poster figcaption,dialog.qv .qposter figcaption{margin-top:.7rem}
dialog.qv .qsyn.has-poster{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:var(--gap);align-items:start}
dialog.qv .qposter img{width:100%;height:auto;background:var(--frame)}
.files li i.soon{color:var(--tx2)}
.quotes{grid-column:4 / span 7;display:grid;gap:1.4rem;margin-top:2.4rem;border-top:1px solid var(--line);padding-top:1.6rem}
.quotes blockquote{margin:0}
.quotes p{font-size:1.15rem;line-height:1.4;letter-spacing:-.01em}
.quotes cite{display:block;margin-top:.45rem;font-style:normal}
.gal .track{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:var(--gx);scroll-padding-inline:var(--gx);overscroll-behavior-x:contain}
.gal .track::-webkit-scrollbar{display:none}
.gal figure{flex:0 0 min(78vw,1040px);scroll-snap-align:start}
.gal figure.v{flex-basis:min(48vw,560px)}
.gal button.s{display:block;width:100%;overflow:hidden;background:var(--frame);cursor:zoom-in}
.gal button.s img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal figure.v button.s img{aspect-ratio:3/4}
.gal button.s:hover img{transform:scale(1.025)}
.gal figcaption{margin-top:.65rem}
.gal .nav2{display:flex;gap:.5rem}
.gal .nav2 button{width:2.7rem;height:2.7rem;border:1px solid var(--tx);display:grid;place-items:center;transition:background .2s,color .2s}
.gal .nav2 button:hover{background:var(--tx);color:var(--bg)}
.gal .nav2 svg{width:1rem;height:1rem}
dialog.lb{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;height:100dvh;margin:0;color:#fff}
dialog.lb::backdrop{background:rgba(8,8,8,.96)}
dialog.lb .in{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:1rem var(--gx) 1.2rem}
dialog.lb .bar2{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;font-weight:500;text-transform:uppercase}
dialog.lb .bar2 button{padding:.5rem 0}
dialog.lb figure{display:grid;place-items:center;min-height:0;padding:1rem 0}
dialog.lb img{max-width:100%;max-height:100%;object-fit:contain}
dialog.lb .nav3{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.76rem;text-transform:uppercase}
dialog.lb .nav3 button{width:2.7rem;height:2.7rem;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center}
dialog.lb .nav3 svg{width:1rem;height:1rem}
.cred .k.h{grid-column:1 / span 3}
.cred dl{grid-column:4 / span 9;border-top:1px solid var(--tx)}
.cred dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:var(--gap);padding:.8rem 0;border-bottom:1px solid var(--line)}
.cred dt{font-size:.74rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:var(--tx2);padding-top:.2rem}
.cred dd{font-size:1.02rem;line-height:1.45}
.cred .logos{grid-column:4 / span 9;margin-top:2.2rem}
.fest{grid-column:4 / span 9;margin-top:2.2rem;display:grid;gap:.5rem}
.fest li{display:flex;gap:1rem;align-items:baseline;font-size:1.02rem}
.fest li .mono{font-size:.78rem;color:var(--tx2);min-width:3.2rem}
.kit .k.h{grid-column:1 / span 3}
.kit .rows{grid-column:4 / span 9}
.files{border-top:1px solid var(--tx)}
.files li a,.files li .nf{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:.95rem 0;border-bottom:1px solid var(--line)}
.files li b{font-size:clamp(1.12rem,1.5vw,1.3rem);font-weight:var(--w);letter-spacing:-.02em;line-height:1.15}
.files li span{font-size:.86rem;color:var(--tx2)}
.files li i{font-style:normal;font-size:.76rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.files li a:hover b{opacity:.6}
.office{margin-top:1.6rem;display:grid;gap:.25rem;font-size:1rem}
.office .k{margin-bottom:.3rem}
.office a{text-decoration:underline;text-underline-offset:3px}

/* serie */
.ep{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.4rem var(--gap);padding:clamp(1.6rem,3vw,2.4rem) 0;border-top:1px solid var(--tx);align-items:start}
.ep:last-child{border-bottom:1px solid var(--tx)}
.ep .n{grid-column:1 / span 1;font-family:var(--mono);font-size:.82rem;padding-top:.3rem}
.ep .im{grid-column:2 / span 5;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--frame)}
.ep .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ep .im:hover img{transform:scale(1.03)}
.ep .t{grid-column:8 / span 5;display:grid;gap:1rem}
.ep h3{font-size:var(--hc);font-weight:var(--w);letter-spacing:-.03em;line-height:1.02}
.ep p.d{color:var(--tx2);font-size:1rem;line-height:1.5}
.ep .acts{display:flex;flex-wrap:wrap;gap:1rem 2rem}

/* pagine testuali */
.ph{padding-top:clamp(7rem,16vh,10rem)}
.ph .k{margin-bottom:1.2rem}
.ph .H{max-width:16ch}
.ph .intro{margin-top:clamp(1.4rem,3vw,2.2rem);font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.45;letter-spacing:-.01em;max-width:44ch;color:var(--tx)}
.split .k.h{grid-column:1 / span 3}
.split .t{grid-column:4 / span 7}
.split .sub{font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:var(--w);letter-spacing:-.035em;line-height:1.05;margin-bottom:1.2rem;text-wrap:balance}
.wide-img{margin-top:var(--sp)}
.wide-img img{width:100%;aspect-ratio:21/9;object-fit:cover}
.wide-img figcaption{padding:.7rem var(--gx) 0}
.pillars{grid-column:4 / span 9;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.pillars div{border-top:1px solid var(--tx);padding-top:.8rem}
.pillars .mono{font-size:.78rem;color:var(--tx2)}
.pillars b{display:block;font-size:var(--hc);font-weight:var(--w);letter-spacing:-.03em;margin:.5rem 0 .4rem}
.pillars span{color:var(--tx2);font-size:.95rem}
.timeline{grid-column:4 / span 9;border-top:1px solid var(--tx)}
.timeline li{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--gap);padding:.85rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.timeline .mono{font-size:.85rem}
.timeline .ts{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem}
.timeline .ts a{font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:var(--w);letter-spacing:-.02em}
.timeline .ts a:hover{opacity:.55}
.timeline .ts span{font-size:.95rem;color:var(--tx2)}
.boiler{grid-column:4 / span 9;display:grid;gap:1.4rem}
.boiler div{border-top:1px solid var(--line);padding-top:1rem}
.boiler p{margin-top:.6rem;font-size:1.02rem;line-height:1.55}
.boiler button{margin-top:.6rem;font-size:.74rem;font-weight:500;text-transform:uppercase;border-bottom:1px solid currentColor}
.routes{grid-column:4 / span 9;border-top:1px solid var(--tx)}
.routes li a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.routes li b{display:block;font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:var(--w);letter-spacing:-.03em;line-height:1.05}
.routes li span{display:block;margin-top:.3rem;font-size:.92rem;color:var(--tx2)}
.routes li a:hover b{opacity:.55}
.routes li svg{width:2.8rem;height:.72rem}
.press-film{border-top:1px solid var(--tx);padding:1.4rem 0 1.8rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:var(--gap)}
.press-film h3{font-size:var(--hc);font-weight:var(--w);letter-spacing:-.03em;line-height:1.05}
.press-film h3 a:hover{opacity:.55}
.press-film .k{margin-top:.4rem}
.press-film .files{border-top:0}
.press-film .files li:first-child a,.press-film .files li:first-child .nf{padding-top:0}
.legal-body{grid-column:4 / span 7;font-size:1rem;line-height:1.65;color:var(--tx)}
.legal-body h2,.legal-body h3{font-size:1.3rem;font-weight:var(--w);letter-spacing:-.02em;line-height:1.2;margin:2rem 0 .7rem}
.legal-body p,.legal-body ul,.legal-body ol{margin:0 0 1rem}
.legal-body ul{list-style:disc;padding-left:1.2rem}
.legal-body ol{list-style:decimal;padding-left:1.2rem}
.legal-body a{text-decoration:underline;text-underline-offset:2px}
.legal-body .tw{overflow-x:auto;margin:0 0 1.4rem}
.legal-body code{font-family:var(--mono);font-size:.82rem;word-break:break-word}
.legal-body table{width:100%;min-width:520px;border-collapse:collapse;font-size:.9rem;margin:0 0 1rem}
.legal-body td,.legal-body th{border-bottom:1px solid var(--line);padding:.5rem .4rem;text-align:left;vertical-align:top}
.nf-404 .H{max-width:14ch}

/* landing: scheda rapida */
dialog.qv{padding:0;border:0;margin:0 0 0 auto;width:min(100vw,980px);max-width:none;height:100vh;height:100dvh;max-height:none;background:#fff;color:var(--tx);overflow:hidden}
dialog.qv::backdrop{background:rgba(10,10,10,.55)}
dialog.qv[open]{animation:qvin .45s var(--ease)}
@keyframes qvin{from{transform:translateX(6%);opacity:0}to{transform:none;opacity:1}}
dialog.qv .in{height:100%;overflow-y:auto;overscroll-behavior:contain}
dialog.qv .qbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:1rem var(--gx);background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0));color:#fff}
dialog.qv .qbar button{display:inline-flex;align-items:center;gap:.7rem;font-size:.78rem;font-weight:500;text-transform:uppercase}
dialog.qv .qcover{position:relative;margin-top:-3.6rem;aspect-ratio:16/10;background:#0b0b0b;color:#fff;overflow:hidden}
dialog.qv .qcover img{width:100%;height:100%;object-fit:cover}
dialog.qv .qcover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0) 55%)}
dialog.qv .qcover .ttl{position:absolute;z-index:2;left:var(--gx);right:var(--gx);bottom:1.4rem}
dialog.qv .qcover .ttl .k{color:rgba(255,255,255,.8);margin-bottom:.6rem}
dialog.qv .qb{padding:1.8rem var(--gx) 3rem;display:grid;gap:2.2rem}
dialog.qv .qgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem var(--gap)}
dialog.qv .qgrid dd{font-size:1.2rem;font-weight:var(--w);letter-spacing:-.02em;line-height:1.15}
dialog.qv .qgal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
dialog.qv .qgal img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--frame)}
dialog.qv .qcred{border-top:1px solid var(--tx)}
dialog.qv .qcred div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
dialog.qv .qcred dt{font-size:.72rem;font-weight:500;text-transform:uppercase;color:var(--tx2);padding-top:.15rem}
html.lock{overflow:hidden}

/* consenso alle statistiche */
.c1-consenso{position:fixed;right:var(--gx);bottom:1rem;z-index:95;width:min(calc(100vw - var(--gx) * 2),540px);background:#0b0b0b;color:#fff;padding:1rem 1.1rem;display:grid;gap:.85rem;font-size:.9rem;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.c1-consenso[hidden]{display:none}
.c1-consenso a{text-decoration:underline;text-underline-offset:2px}
.c1-consenso .b{display:flex;gap:.6rem;justify-content:flex-end}
.c1-consenso button{border:1px solid #fff;padding:.6rem 1.15rem;font-size:.76rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.c1-consenso button:hover,.c1-consenso button:focus-visible{background:#fff;color:#0b0b0b}
.foot li button{font:inherit;color:inherit;text-align:left}
.foot li button:hover{opacity:.6}

/* anteprima riservata */
.c1-anteprima{position:fixed;left:var(--gx);bottom:1rem;z-index:90;display:flex;gap:.8rem;align-items:center;background:#0b0b0b;color:#fff;padding:.55rem .8rem;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.c1-anteprima a{text-decoration:underline;text-underline-offset:2px;opacity:.75}

/* tablet e telefono */
@media (max-width:1080px){
  .trs .main,.trs .list{grid-column:1 / -1}
  .trs .list{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:1.4rem calc(var(--gx) * -1) 0;padding:0 var(--gx);scroll-padding-inline:var(--gx)}
  .trs .list::-webkit-scrollbar{display:none}
  .trs .list li{flex:0 0 min(46vw,260px);scroll-snap-align:start}
  .trs .list button{grid-template-columns:1fr;gap:.55rem}
  .trs .list button b{font-size:.95rem}
}
@media (max-width:900px){
  body{font-size:16px}
  .top{grid-template-columns:1fr auto 1fr;padding:.85rem var(--gx)}
  .hero .tag{display:none}
  .hero li a{font-size:clamp(2.05rem,9vw,3rem);line-height:1.02}
  .mod .pic,.mod.r .pic,.mod .txt,.mod.r .txt,.svc .pic,.svc .txt,.house .lead,.proof,.house .logos,.house .logos-k,
  .syn .k.h,.syn .t,.syn .poster,.quotes,.cred .k.h,.cred dl,.cred .logos,.fest,.kit .k.h,.kit .rows,.info>div,.ep .n,.ep .im,.ep .t,
  .split .k.h,.split .t,.pillars,.timeline,.boiler,.routes,.legal-body{grid-column:1 / -1!important;grid-row:auto!important}
  .mod .pic,.mod.r .pic{aspect-ratio:4/5}
  .mod .txt,.svc .txt{margin-top:1.3rem;gap:1.2rem}
  .proof,.pillars{grid-template-columns:1fr;gap:1.4rem}
  .foot .cols4{grid-template-columns:1fr 1fr}
  .fcover .ttl{right:var(--gx)}
  .fcover .seal{display:none}
  .syn .k.h,.cred .k.h,.kit .k.h,.split .k.h{margin-bottom:1rem}
  .files li a,.files li .nf{grid-template-columns:minmax(0,1fr) auto}
  .files li span{grid-column:1;grid-row:2}
  .files li i{grid-row:1 / span 2;align-self:center}
  .gal figure{flex-basis:86vw}.gal figure.v{flex-basis:70vw}
  .press-film{grid-template-columns:1fr;gap:1rem}
  .ep .t{margin-top:.4rem}
  .cred dl div{grid-template-columns:1fr;gap:.2rem}
  .syn .poster{max-width:min(62vw,320px);margin-top:2.4rem}
  dialog.qv .qsyn.has-poster{grid-template-columns:1fr}
  dialog.qv .qposter{max-width:200px}
  dialog.qv{width:100vw}
  dialog.qv .qgrid{grid-template-columns:1fr}
  dialog.qv .qgal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline li{grid-template-columns:3.6rem minmax(0,1fr)}
}
@media (max-width:520px){
  .foot .cols4{grid-template-columns:1fr}
  .top .lang a,.top .lang span{font-size:.74rem}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.shot .hero,.shot .fcover{height:860px!important;min-height:0!important}
