/* font caricati dal sito (niente server Google, privacy UE) */
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/DMMono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/DMMono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/DMMono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/DMMono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/InstrumentSerif-400i-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/InstrumentSerif-400i-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/InstrumentSerif-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/InstrumentSerif-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Reenie Beanie';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ReenieBeanie-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--k:#08080a;--w:#F6F6F3;--y:#F9B911;--r:#D8321F;--g:clamp(16px,2.4vw,32px);
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--serif:"Instrument Serif",Georgia,serif;--mono:"DM Mono",ui-monospace,Menlo,monospace;--pen:"Reenie Beanie",cursive}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--k);color:var(--w);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,video{display:block;max-width:100%}
i{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em}
html[lang=it] [data-l=en],html[lang=en] [data-l=it]{display:none!important}  /* restano solo i blocchi scritti in una lingua sola */
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:400}
.pen{font-family:var(--pen);color:var(--y);line-height:1}
.dark{background:var(--k);color:var(--w)} .light{background:var(--w);color:var(--k)}
.yellow{background:var(--y);color:var(--k)} .red{background:var(--r);color:var(--w)}
section{padding:clamp(88px,12vw,180px) var(--g);position:relative}

/* barra */
.bar{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px var(--g);color:var(--w);transition:color .3s}
.bar-logo img{height:clamp(20px,2vw,26px);width:auto}
.bar .lk{display:none}
.bar[data-on=light],.bar[data-on=yellow]{color:var(--k)}
.bar[data-on=light] .lw,.bar[data-on=yellow] .lw{display:none}
.bar[data-on=light] .lk,.bar[data-on=yellow] .lk{display:block}
.bar-r{display:flex;gap:20px}
html[lang=it] .le,html[lang=en] .li{opacity:.4}

/* menu */
.menu{position:fixed;inset:0;z-index:60;background:var(--y);color:var(--k);padding:72px var(--g) var(--g);display:flex;flex-direction:column;justify-content:flex-end;transform:translateY(-101%);transition:transform .7s cubic-bezier(.7,0,.2,1)}
.menu.open{transform:none}
.menu-close{position:absolute;top:14px;right:var(--g)}
.menu ol{list-style:none;counter-reset:m}
.menu li{counter-increment:m;border-top:1px solid;display:flex;align-items:baseline;gap:16px}
.menu li::before{content:"0" counter(m);font:12px var(--mono)}
.menu a{font-weight:700;font-size:clamp(40px,8.5vw,118px);letter-spacing:-.055em;line-height:1.02}
.menu a:hover{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em}

/* hero */
.hero{height:100svh;padding:0;overflow:hidden}
.hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:rgba(8,8,10,.22)}
.hero-row,.hero-foot{position:absolute;left:var(--g);right:var(--g);z-index:2;display:flex;justify-content:space-between;gap:12px}
.hero-row{top:50%}
.hero-foot{bottom:20px}
.h1s{font:inherit;letter-spacing:inherit}
.hero-cta{position:absolute;left:var(--g);right:var(--g);bottom:72px;z-index:2;max-width:820px}
.hero-cta h1{font-weight:700;font-size:clamp(34px,4.6vw,76px);letter-spacing:-.055em;line-height:.95;margin-bottom:24px}
.hero-btns{display:flex;gap:18px 44px;flex-wrap:wrap;align-items:baseline}
.pen-link{position:relative;display:inline-block;font-family:var(--pen);font-size:clamp(36px,3.9vw,58px);line-height:1;color:var(--y);transform:rotate(-3deg);transition:transform .3s}
.pen-link.w{color:var(--w);transform:rotate(2deg)}
.pen-link:hover{transform:rotate(-5deg) scale(1.04)} .pen-link.w:hover{transform:rotate(4deg) scale(1.04)}
.scrib{position:absolute;left:-2%;bottom:-8px;width:104%;height:14px;overflow:visible}
.scrib path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:scrib .9s ease-out 1.1s forwards}
.pen-link.w .scrib path{animation-delay:1.5s}
.pen-link:hover .scrib path{animation:scrib .6s ease-out forwards}
@keyframes scrib{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
.case-why{font-size:clamp(17px,1.5vw,22px);line-height:1.35;letter-spacing:-.01em;max-width:62ch;margin:-4px 0 18px}
.blink{animation:blink 1.6s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}

/* intestazioni di sezione */
.head{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid currentColor;margin-bottom:8px}
.head sup{font-size:9px;vertical-align:top}

/* storie */
.rows{list-style:none}
.row{display:grid;grid-template-columns:56px 1fr auto 64px;align-items:baseline;gap:16px;padding:22px 0;border-bottom:1px solid rgba(246,246,243,.16);transition:opacity .3s,color .3s}
.row img{display:none}
.row .t{font-weight:700;font-size:clamp(24px,3.6vw,56px);letter-spacing:-.05em;line-height:1}
.row .p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,36px);letter-spacing:-.02em}
.row .d{text-align:right}
.rows:hover .row:not(:hover){opacity:.28}
.row:hover .t{color:var(--y)}

/* social */
.mega{font-weight:700;font-size:clamp(44px,8.4vw,150px);letter-spacing:-.06em;line-height:.9;margin:clamp(32px,5vw,72px) 0 clamp(32px,5vw,72px);max-width:14ch}
.intro{display:grid;grid-template-columns:7fr 5fr;gap:var(--g);align-items:end;margin-bottom:clamp(48px,7vw,100px)}
.legend p{display:flex;align-items:center;gap:12px;margin-top:10px}
.cam{display:inline-block;font:500 10px/1 var(--mono);letter-spacing:.08em;padding:6px 8px;border-radius:99px}
.cam.c{background:var(--y);color:var(--k)}
.cam.i{background:transparent;color:currentColor;box-shadow:inset 0 0 0 1px currentColor}
.reel .cam{position:absolute;top:10px;left:10px}
.reel .cam.i{color:#fff;background:rgba(8,8,10,.35);box-shadow:inset 0 0 0 1px #fff}
.case{margin-bottom:clamp(56px,8vw,110px)}
.case-head{display:grid;grid-template-columns:56px 1fr auto auto;gap:16px;align-items:center;padding:12px 0;border-top:1px solid;margin-bottom:18px}
.case-head .cn{font-weight:500}
.arrows{display:flex;gap:6px}
.arrows button{width:34px;height:34px;border-radius:99px;box-shadow:inset 0 0 0 1px currentColor;font-size:15px;transition:background .2s,color .2s}
.arrows button:hover{background:var(--k);color:var(--w)}
.reels{display:flex;gap:clamp(8px,1.2vw,18px);overflow-x:auto;scroll-snap-type:x proximity;margin:0 calc(var(--g)*-1);padding:6px var(--g) 14px;scrollbar-width:none;cursor:grab}
.reels::-webkit-scrollbar{display:none}
.reels.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.reels.dragging video{pointer-events:none}
.reel{position:relative;flex:0 0 clamp(190px,17vw,260px);scroll-snap-align:start;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.reel video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:14px;background:#111;display:block}
.reel:nth-child(odd):hover{transform:translateY(-8px) rotate(-1.5deg)}
.reel:nth-child(even):hover{transform:translateY(-8px) rotate(1.5deg)}
.reel figcaption{padding-top:8px;font-size:11px}
.reel.sound::after{content:"♪";position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:99px;background:var(--y);color:var(--k);display:grid;place-items:center;font-size:14px}
/* come funziona */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g);margin-bottom:56px}
.steps li{border-top:1px solid rgba(246,246,243,.5);padding-top:18px}
.steps b{display:block;font-weight:700;font-size:clamp(64px,9vw,150px);letter-spacing:-.06em;line-height:.9;margin-bottom:18px}
.steps h3{font-weight:700;font-size:clamp(26px,2.6vw,40px);letter-spacing:-.04em;margin-bottom:10px}
.steps p{font-size:clamp(17px,1.4vw,21px);line-height:1.4;max-width:30ch}
.red .btn{background:var(--w);color:var(--k)}

/* due pagine a parte */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:var(--g)}
.door{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-height:clamp(320px,40vw,560px);padding:var(--g);overflow:hidden;background:#111}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .4s}
.door:hover img{transform:scale(1.05);opacity:.9}
.door.y{background:var(--y)} .door.y img{object-fit:contain;opacity:1;padding:8%}
.door>span{position:relative}
.door-t{font-weight:700;font-size:clamp(40px,6vw,96px);letter-spacing:-.05em;line-height:.95}

/* manifesto cinetico */
#manifesto{overflow:hidden;padding-left:0;padding-right:0}
.tag{padding:0 var(--g) 24px}
.kin-line{white-space:nowrap;font-weight:700;font-size:clamp(64px,13vw,230px);letter-spacing:-.06em;line-height:.92;transform:translateX(var(--x,0));will-change:transform}
.kin-line:nth-child(2){color:var(--y);-webkit-text-stroke:2px var(--k)}
.lead{font-size:clamp(20px,2.2vw,32px);line-height:1.2;letter-spacing:-.02em;max-width:28ch}
#manifesto .lead{margin:40px var(--g) 0 auto;padding-right:var(--g)}

/* foto: settori, colonne a mosaico, ingrandimento */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(40px,6vw,80px)}
.chips a{padding:9px 15px;border-radius:99px;box-shadow:inset 0 0 0 1px currentColor;transition:background .2s,color .2s}
.chips a:hover{background:var(--y);color:var(--k);box-shadow:none}
.fcat{margin-bottom:clamp(56px,8vw,110px);scroll-margin-top:70px}
.gal{columns:4 240px;column-gap:8px}
.gal figure{break-inside:avoid;margin:0 0 8px;overflow:hidden;cursor:zoom-in}
.gal img{width:100%;height:auto;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.gal figure:hover img{transform:scale(1.03)}
.soon{font-size:clamp(40px,5vw,72px);opacity:.6;transform:rotate(-2deg);padding:10px 0}
.lb{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(8,8,10,.95);place-items:center}
.lb[open]{display:grid}
.lb::backdrop{background:transparent}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb-x{position:absolute;top:16px;right:var(--g);color:var(--w)}

/* workshop: lavori in corso */
.wip{min-height:100svh;display:grid;place-items:center;overflow:hidden;text-align:center}
.tape{position:absolute;left:-10%;width:120%;background:var(--k);color:var(--y);font:500 14px/1 var(--mono);letter-spacing:.1em;padding:14px 0;white-space:nowrap;overflow:hidden}
.tape div{display:inline-block;animation:marq 40s linear infinite}
.t1{top:16%;transform:rotate(-6deg)} .t2{bottom:12%;transform:rotate(4deg)} .t2 div{animation-direction:reverse}
.wip-c{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;max-width:640px}
.wip-logo{width:min(220px,50vw);box-shadow:8px 8px 0 var(--k);animation:wobble 3.2s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg) translateY(-6px)}}
.wip .pen{color:var(--k)}
.wip-t{font-size:clamp(64px,11vw,150px);line-height:.9;font-weight:400;transform:rotate(-3deg)}
.write{display:inline-block;clip-path:inset(0 100% 0 0);animation:write 2.4s steps(32) .3s forwards}
@keyframes write{to{clip-path:inset(0 0 0 0)}}
.dots{animation:blink 1.2s steps(2) infinite}
.wip-bar{width:min(400px,80vw);overflow:visible}
.wip-bar .fill{clip-path:inset(0 100% 0 0);animation:fill 2s cubic-bezier(.3,.9,.3,1) 1s forwards,wiggle 2.4s ease-in-out 3s infinite}
@keyframes fill{to{clip-path:inset(0 34% 0 0)}}
@keyframes wiggle{0%,100%{clip-path:inset(0 34% 0 0)}50%{clip-path:inset(0 30% 0 0)}}
.wip-note{font-size:clamp(34px,4vw,52px);margin-top:-14px;transform:rotate(4deg)}

/* servizi */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g);margin-top:32px}
.cols h3{font-weight:400;font-size:12px;opacity:.45;margin-bottom:16px}
.cols ul{list-style:none;line-height:2.1;font-size:13px}

/* clienti */
#clienti{overflow:hidden}
.marq{margin:40px calc(var(--g)*-1);white-space:nowrap}
.marq div{display:inline-block;font-weight:700;font-size:clamp(56px,11vw,190px);letter-spacing:-.05em;animation:marq 110s linear infinite}
@keyframes marq{to{transform:translateX(-50%)}}
.clients{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px var(--g)}
.clients li{border-top:1px solid rgba(246,246,243,.4);padding-top:10px}
.shows{margin-top:64px;margin-bottom:16px}

/* workshop */
.ws{display:grid;grid-template-columns:5fr 7fr;gap:var(--g);align-items:center;margin-top:32px}
.ws img{width:100%;max-width:520px}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:8px 40px;margin:32px 0}
.facts dt{opacity:.55;margin-bottom:4px}
.btn{display:inline-block;background:var(--k);color:var(--y);padding:18px 28px;border-radius:999px;font-weight:700;font-size:18px;letter-spacing:-.02em;transition:transform .3s}
.btn:hover{transform:rotate(-3deg) scale(1.04)}
.dark .btn{background:var(--y);color:var(--k)}

/* about */
.about{display:grid;grid-template-columns:5fr 7fr;gap:var(--g);margin-top:32px;align-items:end}
.about img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}
.big{font-weight:700;font-size:clamp(34px,5.2vw,84px);letter-spacing:-.05em;line-height:.98;margin-bottom:28px}
.about .lead{max-width:34ch;margin-bottom:28px}
.ul{border-bottom:1px solid}

/* contatti: modulo */
.contact{max-width:1000px;margin:0 auto}
.textme{font-size:clamp(96px,17vw,250px);transform:rotate(-5deg);margin-bottom:20px}
.contact>.lead{margin-bottom:40px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px var(--g);margin-bottom:48px}
.form label{display:flex;flex-direction:column;gap:8px}
.form .wide{grid-column:1/-1}
.form input,.form textarea{font:400 20px/1.4 var(--sans);color:var(--w);background:transparent;border:0;border-bottom:1px solid rgba(246,246,243,.4);padding:8px 0;border-radius:0;outline:none;resize:vertical}
.form input:focus,.form textarea:focus{border-color:var(--y)}
.form.tried :invalid{border-color:var(--r)}
.form .check{flex-direction:row;align-items:center;gap:12px}
.form .check input{width:18px;height:18px;accent-color:var(--y)}
.form.tried .check input:invalid{outline:1px solid var(--r)}
.hp{position:absolute;left:-9999px}
.form-foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.form .btn{background:var(--y);color:var(--k);border:0;cursor:pointer}
.msg{color:var(--y)}
.card-foot{display:flex;justify-content:space-between;width:100%;color:var(--y);font-weight:500;border-top:1px solid rgba(246,246,243,.2);padding-top:16px}

/* pagine: storia, foto, workshop */
.page{padding-top:clamp(110px,14vw,180px)}
.who{font-family:var(--serif);font-style:italic;font-size:clamp(28px,3.4vw,52px);margin:-12px 0 36px}
.ep-v{position:relative;display:block;margin-bottom:40px;background:#000;overflow:hidden}
.ep-v img{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.75;transition:opacity .3s,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ep-v:hover img{opacity:.9;transform:scale(1.03)}
.ep-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--y);color:var(--k);padding:14px 22px;border-radius:99px;font-weight:500;white-space:nowrap}
.ep-intro{margin-bottom:56px}
.ep-cols{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,5vw,80px)}
.ep-cols h3{font-weight:400;opacity:.5;margin-bottom:18px}
.ep-p{font-size:clamp(17px,1.4vw,21px);line-height:1.55;margin-bottom:18px;max-width:60ch}
.ep-src{list-style:none;line-height:1.7;margin-bottom:36px}
.ep-src li{border-top:1px solid rgba(246,246,243,.2);padding:10px 0}
.ep-nav{display:flex;justify-content:space-between;gap:20px;margin-top:80px;padding-top:16px;border-top:1px solid rgba(246,246,243,.3)}
.ep-nav a:hover,.ep-src a:hover{color:var(--y)}

/* footer */
footer{padding:0 var(--g) var(--g)}
.foot{display:flex;justify-content:space-between;gap:12px;padding:16px 0 clamp(40px,6vw,80px);border-top:1px solid rgba(246,246,243,.2)}
.giant{width:100%}

/* cursore e anteprima */
.cur,.pv{position:fixed;left:0;top:0;pointer-events:none;z-index:90;display:none}
html.fine .cur,html.fine .pv{display:block}
html.fine,html.fine *{cursor:none!important}
.cur span{display:block;width:12px;height:12px;border-radius:99px;background:#fff;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .25s,height .25s,padding .25s,background .25s;font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:transparent;white-space:nowrap;overflow:hidden;text-align:center}
.cur.on span{width:auto;height:auto;padding:9px 14px;background:var(--y);color:var(--k);mix-blend-mode:normal}
.pv{width:clamp(280px,26vw,440px);aspect-ratio:16/9;overflow:hidden;opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(-4deg);transition:opacity .25s,transform .45s cubic-bezier(.2,.8,.2,1);z-index:80}
.pv.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--rot,0deg))}
.pv video{width:100%;height:100%;object-fit:cover}

/* comparse allo scroll */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.marq div,.blink,.tape div,.wip-logo,.dots{animation:none}.kin-line{transform:none}.write,.wip-bar .fill{animation:none;clip-path:none}.scrib path{animation:none;stroke-dashoffset:0}}

/* domande frequenti */
.faq{max-width:980px}
.faq details{border-top:1px solid;padding:22px 0}
.faq details:last-child{border-bottom:1px solid}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;font-weight:700;font-size:clamp(22px,2.6vw,38px);letter-spacing:-.04em;line-height:1.1}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-weight:400;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{font-size:clamp(17px,1.5vw,21px);line-height:1.5;max-width:60ch;margin-top:14px}

/* pagine di testo (privacy) */
.legal-t{max-width:70ch}
.legal-t h2{font-weight:700;font-size:clamp(20px,2vw,26px);letter-spacing:-.03em;margin:36px 0 10px}
.legal-t p{font-size:17px;line-height:1.6}
.legal-t a{border-bottom:1px solid}
.legal-t .lead{margin-bottom:24px}

/* telefono */
@media (max-width:760px){
  .hero-row{top:78px;flex-wrap:wrap;row-gap:6px}
  .hero-cta{bottom:56px}
  .hero-row span:nth-child(odd){width:48%}
  .hero-foot>:not(:last-child){display:none}
  .row{grid-template-columns:96px 1fr;grid-template-areas:"img n" "img t" "img p";gap:2px 14px;padding:14px 0;align-items:start}
  .row img{display:block;grid-area:img;width:96px;aspect-ratio:16/9;object-fit:cover}
  .row .n{grid-area:n;opacity:.5} .row .t{grid-area:t} .row .p{grid-area:p} .row .d{display:none}
  .ws,.about,.intro,.doors,.ep-cols,.form,.steps{grid-template-columns:1fr}
  .case-head{grid-template-columns:28px 1fr auto;gap:10px} .case-head>span:nth-child(3){display:none}
  .reel{flex-basis:62vw;scroll-snap-align:center}
  .reels{scroll-snap-type:x mandatory}
  .gal{columns:2}
  .fcat .case-head>span:nth-child(3){display:block;text-align:right} .fcat .case-head>span:nth-child(4){display:none}
  .cols{grid-template-columns:1fr 1fr} .cols div:last-child{grid-column:1/-1}
  .clients{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:repeat(3,auto);gap:8px 20px}
  .card-foot{flex-direction:column;align-items:center;gap:10px}
  .foot{flex-wrap:wrap}
}
