@font-face{font-family:'CULTO Sans';src:url(/nuovo/font/CULTOSANS-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'CULTO Sans';src:url(/nuovo/font/CULTOSANS-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'CULTO Sans';src:url(/nuovo/font/CULTOSANS-Black.woff2) format('woff2');font-weight:900;font-display:swap}

:root{--nero:#000;--bianco:#fff;--rosso:#e5322d;--raggio:28px;--margine:clamp(20px,3.2vw,56px);--filo:12px}
*{box-sizing:border-box}
html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--nero)}
/* Niente riquadro al tocco o al clic: resta solo per chi naviga con la tastiera */
:where(a,button,summary,[tabindex]):focus:not(:focus-visible){outline:none}
body{margin:0;background:var(--nero);color:var(--bianco);font:400 17px/1.45 'CULTO Sans',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ol,fieldset{margin:0;padding:0}
img,video,svg{display:block}
section{position:relative}
.nascosto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.menu-aperto{overflow:hidden}

/* Ciufino: sempre piccolo */
.cf{--h:20px;display:block;flex:none;height:var(--h);width:calc(var(--h)*var(--r));overflow:visible}
.scrive{position:relative}
.scrive>svg{display:block;width:100%;height:100%;overflow:visible}
.scrive>canvas{position:absolute;inset:0;width:100%;height:100%}
.in-attesa>svg,.scrivendo>svg{visibility:hidden}
.centrato{display:flex;justify-content:center}
.freccia{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 9'%3E%3Cpath fill='none' stroke='%23000' d='M96 4.5H1M5 .8 1 4.5l4 3.7'/%3E%3C/svg%3E");flex:none;display:block;width:96px;height:9px;background:currentColor;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat;transition:opacity .25s}
.invito{display:inline-flex;align-items:center;gap:14px;min-height:44px}
.invito:hover .freccia,.testa-azione:hover .freccia,.invia:hover .freccia,.scena:hover .freccia{opacity:.5}

/* Sipario: il logo piccolo che si scrive */
.logo{width:100%;height:auto}

/* Testa */
.testa{transition:transform .35s ease;position:fixed;z-index:30;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px var(--margine);color:#fff;mix-blend-mode:difference;pointer-events:none}
.testa.nascosta{transform:translateY(-110%)}
.testa a,.testa button{pointer-events:auto}
.testa-logo{width:74px}
.testa-menu{display:flex;gap:26px;font-size:15px}
.testa-menu a{text-underline-offset:5px}
.testa-menu a:hover,.testa-menu a[aria-current]{text-decoration:underline}
.apri-menu .cf{--h:8.62px}
.apri-chiudi .cf{--h:17.41px}
.testa-apri{display:none;justify-self:start;width:72px;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:15px;text-align:left;cursor:pointer}
.testa-azione{justify-self:end;display:inline-flex;align-items:center;gap:12px;min-height:44px}
.testa-azione .cf{--h:15px}
.testa-azione .freccia{width:64px}
.menu-grande{position:fixed;z-index:29;inset:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:80px var(--margine) 30px;background:#000;font-size:13vw;font-weight:900;line-height:1.05;letter-spacing:-.03em}
.menu-grande[hidden]{display:none}
.menu-grande{overflow:hidden;background:none}
.menu-grande::before{content:"";position:absolute;left:44px;top:42px;width:280vmax;height:280vmax;margin:-140vmax 0 0 -140vmax;border-radius:50%;background:#000;transform:scale(0);transition:transform .62s cubic-bezier(.76,0,.24,1);will-change:transform}
.menu-grande.aperto::before{transform:scale(1)}
.menu-grande a{position:relative}
.menu-grande a{opacity:0;transform:translateY(22px);transition:opacity .25s ease,transform .25s ease}
.menu-grande.aperto a{opacity:1;transform:none;transition:opacity .45s ease calc(.2s + var(--i)*.06s),transform .6s cubic-bezier(.2,.8,.2,1) calc(.2s + var(--i)*.06s)}

/* Apertura */
.apertura{height:100svh;background:var(--bianco);overflow:hidden}
.apertura-video{z-index:1;position:absolute;inset:0;background:var(--nero);overflow:hidden;will-change:clip-path}
.apertura-video video{width:100%;height:100%;object-fit:cover}
.apertura-velo{position:absolute;inset:0;background:rgba(0,0,0,.14)}
.apertura-testo{z-index:2;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 var(--margine);text-align:center;pointer-events:none}
.apertura-frase{font-size:clamp(44px,7.4vw,132px);font-weight:900;line-height:.96;letter-spacing:-.03em}

/* Il filo: morbido e spesso come il tratto del logo */
.filo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.filo path{fill:#000;fill-rule:nonzero}
.filo.lineare{visibility:hidden}
.filo-tela{position:absolute;left:0;width:100%;z-index:1;pointer-events:none}
.lavori .filo-tela{z-index:3}
.lavori .filo{z-index:3}
.filo-chiaro path{fill:#fff}

/* Quello che siamo */
.idea{position:relative;z-index:2;min-height:175svh;padding:24svh var(--margine) 66svh;background:var(--bianco);color:var(--nero);clip-path:inset(-120svh 0 0 0)}
.a-capo-m{display:none}
.idea-grande{position:relative;z-index:2;font-size:clamp(42px,7.4vw,136px);font-weight:900;line-height:.98;letter-spacing:-.03em}
.idea-grande span{display:inline-block}
.idea-grande .blocco{display:contents}
.idea-grande .rossa{color:var(--rosso)}
.idea-invito{position:relative;z-index:2;margin-top:6svh}

/* Il film */
.lavori{height:100svh;overflow:hidden;background:var(--nero)}
.film-striscia{position:absolute;z-index:4;right:10px;top:24svh;width:5px;height:52svh;border-radius:3px;background:rgba(0,0,0,.42);box-shadow:0 0 0 1px rgba(255,255,255,.5);overflow:hidden;pointer-events:none}
.film-pieno{display:block;width:100%;height:100%;background:#fff;transform:scaleY(0);transform-origin:top}
.film-scorri{position:absolute;z-index:4;right:26px;top:calc(76svh - 26px);display:flex;align-items:center;gap:9px;color:#fff;font-size:17px;font-weight:700;text-shadow:0 1px 10px rgba(0,0,0,.65);pointer-events:none}
.film-scorri span{display:block;width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);animation:film-giu 1.3s ease-in-out infinite}
@keyframes film-giu{50%{translate:0 5px}}
.scena{position:absolute;inset:0;display:block;overflow:hidden;will-change:clip-path;background:var(--nero);color:#fff}
.scena img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scena-velo{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0) 62%)}
.scena-testo{position:absolute;left:var(--margine);right:var(--margine);bottom:var(--margine);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.scena-tipo{font-size:clamp(15px,1.3vw,20px)}
.scena-nome{font-size:12.5vw;font-weight:900;line-height:.95;letter-spacing:-.035em;white-space:nowrap;will-change:transform}
.scena-guarda{position:absolute;right:var(--margine);top:50%;display:inline-flex;align-items:center;gap:12px;min-height:44px}
.scena-guarda .cf{--h:22px}

/* Il banco di montaggio */
.servizi{height:100svh;display:flex;flex-direction:column;padding:calc(var(--margine) + 44px) 0 0;background:#0d0d0d;overflow:hidden}
.etichetta{padding:0 var(--margine)}
.serv-testi{position:relative;display:grid;margin:14px var(--margine) 22px}
.serv{grid-area:1/1;opacity:0}
.serv:first-child{opacity:1}
.serv h3{font-size:clamp(46px,7.4vw,132px);font-weight:900;line-height:.96;letter-spacing:-.035em}
.serv p{max-width:34em;margin-top:12px;font-size:clamp(17px,1.5vw,24px);color:rgba(255,255,255,.76)}
.banco{position:relative;flex:1;min-height:200px;border-top:1px solid rgba(255,255,255,.14);overflow:hidden}
.banco-tempo{position:absolute;z-index:3;left:50%;top:6px;margin-left:16px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--rosso)}
.banco-testina{position:absolute;z-index:3;top:0;bottom:0;left:50%;width:1.5px;margin-left:-.75px;background:var(--rosso)}
.banco-testina svg{position:absolute;top:0;left:50%;width:16px;height:18px;margin-left:-8px;fill:var(--rosso)}
.tracce{position:absolute;top:32px;bottom:12px;left:50%;width:max-content;display:grid;grid-template-rows:minmax(0,2.4fr) minmax(0,1fr);gap:6px;will-change:transform}
.traccia{display:flex;gap:4px;min-height:0;overflow:hidden}
.clip{position:relative;flex:none;display:flex;flex-direction:column;width:var(--clip,40vw);border:3px solid var(--c);border-radius:8px;background:#000;overflow:hidden}
.clip-nome{flex:none;height:30px;padding:0 11px;background:var(--c);color:#111;font-size:15px;font-weight:700;line-height:28px;white-space:nowrap}
.clip-foto{flex:1;min-height:0;background-size:cover}
.a1 svg{width:calc((var(--clip,40vw) + 4px)*5);height:100%}
.a1 svg path{fill:rgba(255,255,255,.34)}

/* Il tunnel */
.archivio{height:100svh;overflow:hidden;background:var(--nero)}
.archivio-titolo{transition:opacity .18s;position:absolute;z-index:2;inset:0;display:grid;place-items:center;padding:0 var(--margine);text-align:center;pointer-events:none}
.archivio h2{font-size:clamp(44px,7.4vw,132px);font-weight:900;line-height:.96;letter-spacing:-.03em}
.spazio{position:absolute;inset:0;perspective:1000px;perspective-origin:50% 50%}
.spazio-in{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.carta{position:absolute;display:block;width:clamp(180px,22vw,370px);opacity:0;visibility:hidden;backface-visibility:hidden}
.carta img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;background:#1a1a1a}
.carta span{display:block;margin-top:10px;font-size:clamp(22px,2.3vw,38px);font-weight:900;line-height:1.02;letter-spacing:-.02em}
.fondo{position:absolute;width:calc(56svh*.5625);height:56svh;margin-top:-9svh;opacity:0;overflow:hidden;border-radius:24px;background:#111}
.fondo video{width:100%;height:100%;object-fit:cover}
.archivio-tutti{position:absolute;z-index:3;left:0;right:0;bottom:10svh;display:flex;align-items:center;justify-content:center;gap:16px;min-height:44px;font-size:clamp(23px,2.6vw,40px);font-weight:900;letter-spacing:-.02em;opacity:0;visibility:hidden;transition:opacity .4s}

/* I marchi */
.marchi{padding:18svh 0 14svh;background:var(--bianco);color:var(--nero);overflow:hidden}
.marchi .centrato{position:relative;z-index:2}
.file{position:relative;z-index:2;display:grid;gap:clamp(26px,5svh,54px);margin-top:8svh}
.file-m{display:none}
.fila{display:flex;align-items:center;gap:clamp(42px,6vw,96px);width:max-content;will-change:transform}
.fila img{flex:none;height:calc(clamp(13px,1.5vw,22px)*var(--a,1));width:auto}

/* Contatti: una lettera, si cerchia a mano */
.contatti{padding:32svh var(--margine) 12svh;background:var(--bianco);color:var(--nero);overflow:hidden}
.modulo{position:relative;z-index:2;max-width:1120px;margin:0 auto}
.passo{min-width:0;margin-bottom:6svh;border:0}
.passo[hidden]{display:none}
.passo legend{float:left;width:100%;margin-bottom:.3em;padding:0;font-size:clamp(46px,8vw,146px);font-weight:900;line-height:.98;letter-spacing:-.04em}
.scelte{clear:both;display:flex;flex-wrap:wrap;gap:0 clamp(26px,3.4vw,58px)}
.scelta{position:relative;cursor:pointer}
.scelta input{position:absolute;opacity:0;pointer-events:none}
.scelta>span{position:relative;display:block;padding:.12em .1em;font-size:clamp(24px,3.1vw,52px);font-weight:900;line-height:1.15;letter-spacing:-.025em;color:rgba(0,0,0,.42);transition:color .25s}
.scelta:hover>span,.scelta input:checked+span{color:#000}
.scelta input:focus-visible+span{outline:2px solid #000;outline-offset:3px}
.cerchio{position:absolute;left:-7%;top:-6%;width:114%;height:112%;overflow:visible;pointer-events:none}
.cerchio path{fill:none;stroke:var(--rosso);stroke-width:5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1900;stroke-dashoffset:1900;opacity:0;transition:stroke-dashoffset .7s ease,opacity .1s}
.scelta input:checked+span .cerchio path,.scelte-lavoro .scelta:hover .cerchio path,.invia.inviato .cerchio path{stroke-dashoffset:0;opacity:1}
.righe{clear:both;display:grid;gap:44px}
.righe label{display:grid;gap:6px}
.righe label>span{font-size:clamp(16px,1.4vw,20px)}
.righe input,.righe textarea{display:block;width:100%;padding:.14em 0 .24em;border:0;border-bottom:2px solid #000;border-radius:0;outline:0;background:none;color:#000;font:900 clamp(26px,3.4vw,56px)/1.25 'CULTO Sans',sans-serif;letter-spacing:-.02em;resize:none}
.righe input:focus,.righe textarea:focus{border-bottom-color:var(--rosso)}
.righe textarea{overflow:hidden}
.righe [aria-invalid=true]{border-bottom-color:var(--rosso)}
.privacy{display:flex;align-items:center;gap:12px;min-height:44px;margin-top:30px;font-size:15px;cursor:pointer}
.privacy input{width:20px;height:20px;margin:0;accent-color:#000}
.privacy a,.sottolineato{text-decoration:underline;text-underline-offset:4px}
.invia{display:inline-flex;align-items:center;gap:22px;min-height:60px;margin-top:14px;padding:0 10px;border:0;background:none;color:#000;cursor:pointer}
.invia-parola{position:relative;display:block;padding:8px 16px}
.invia .cf{--h:24px}
.esito{min-height:24px;margin-top:14px;font-size:clamp(17px,1.5vw,22px);font-weight:700}
.mail-piccola{position:relative;z-index:2;max-width:1120px;margin:0 auto;font-size:15px}
.mail-piccola a{text-decoration:underline;text-underline-offset:4px;transition:color .25s}
.mail-piccola a:hover{color:var(--rosso)}
.better{display:inline-flex;align-items:center;gap:clamp(12px,1.6vw,24px);min-height:60px;font-size:clamp(30px,4.2vw,72px);font-weight:900;letter-spacing:-.03em}
.better .better-logo{width:clamp(96px,11vw,170px);transform:translateY(calc(.335em - 43%))}
.better:hover .freccia{opacity:.5}
.lavora-fascia{padding:14svh var(--margine);background:#000;color:#fff}
.lavora-fascia h1,.lavora-fascia h2{margin-bottom:6svh;font-size:clamp(46px,8vw,150px);font-weight:900;line-height:.96;letter-spacing:-.04em}
.lavora-pagina{min-height:100svh;padding-top:22svh}
.lavora-pagina .centrato{margin-bottom:6svh}
.scelte-lavoro .scelta>span{color:rgba(255,255,255,.5);font-size:clamp(28px,4vw,68px)}
.scelte-lavoro .scelta:hover>span{color:#fff}
.punti{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,60px) clamp(18px,3vw,40px);padding:6svh var(--margine)}
.punti h2{margin-bottom:10px;font-size:clamp(25px,2.8vw,46px);font-weight:900;line-height:1;letter-spacing:-.02em}

/* Piede */
.piede{padding:clamp(56px,8svh,96px) var(--margine) 26px;background:#000;color:#fff;font-size:15px}
.piede-alto{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}
.piede-logo{display:block;width:clamp(110px,10vw,150px)}
.piede-grande{display:grid;grid-template-columns:repeat(2,auto);gap:4px clamp(40px,6vw,110px);font-size:clamp(34px,4.4vw,76px);font-weight:900;line-height:1.06;letter-spacing:-.03em}
.piede-grande a{transition:color .2s}
.piede-grande a:hover{color:var(--rosso)}
.piede-info{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:clamp(56px,9svh,110px);padding-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.piede-col{display:grid;align-content:start;gap:6px}
.piede-col a:hover,.piede-fine a:hover{text-decoration:underline;text-underline-offset:3px}
.piede-fine{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:44px;font-size:12px;color:rgba(255,255,255,.7)}

/* Pagine */
.foglio{background:var(--bianco);color:var(--nero)}
.foglio-apre{padding:24svh var(--margine) 9svh}
.foglio-apre h1{margin-top:7svh;max-width:11em;font-size:clamp(50px,10vw,190px);font-weight:900;line-height:.94;letter-spacing:-.04em}
.fine-pagina{display:flex;justify-content:center;padding:13svh var(--margine)}
.persona-titolo .cf{--h:22px}
.testo-piccolo{max-width:640px;margin:0 auto;padding:7svh var(--margine)}
.testo-piccolo p{margin-bottom:1em;font-size:clamp(17px,1.4vw,20px);line-height:1.45}
.testo-piccolo h2{margin-bottom:10px;font-size:clamp(23px,2.2vw,34px);font-weight:900;letter-spacing:-.02em}
.manifesto-fascia{display:grid;justify-items:center;gap:5svh;padding:16svh var(--margine);background:#000;color:#fff;text-align:center}
.manifesto-fascia p{max-width:14em;font-size:clamp(38px,6vw,110px);font-weight:900;line-height:.98;letter-spacing:-.03em}
.freccia-link{display:inline-flex;align-items:center;gap:14px;min-height:44px}
.testo-pagina{max-width:900px;margin:0 auto;padding:7svh var(--margine)}
.testo-pagina p{margin-bottom:1em;font-size:clamp(20px,2.2vw,34px);line-height:1.22;letter-spacing:-.01em}
.testo-pagina h2,.persona h2,.riga-serv h2,.storia h2{font-weight:900;letter-spacing:-.025em;line-height:1}
.testo-pagina h2{margin:1em 0 .4em;font-size:clamp(34px,4.6vw,76px)}
.vuoto{padding:0 .3em;background:#ffe45c;color:#000;font-size:15px;font-weight:400;letter-spacing:0}
.video-largo{padding:0 var(--margine)}
.video-largo video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--raggio)}

/* Progetto */
.p-apre{height:100svh;overflow:hidden;color:#fff;background:#000}
.p-apre img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-apre h1{position:absolute;left:var(--margine);right:var(--margine);bottom:var(--margine);font-size:clamp(50px,11vw,210px);font-weight:900;line-height:.92;letter-spacing:-.04em}
.storia{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:10svh var(--margine)}
.storia h2{margin-bottom:12px;font-size:clamp(30px,3.4vw,56px)}
.p-media{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.4vw,22px);padding:clamp(40px,8svh,90px) var(--margine)}
.p-video,.p-riga{grid-column:1/-1}
.p-video iframe,.p-video video{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:20px;background:#000}
.p-video video[data-hls]{margin-inline:auto;object-fit:contain}
.p-foto{width:100%;height:100%;max-height:92svh;object-fit:cover;border-radius:20px;background:#eee}
.p-riga{padding:2svh 0;font-size:clamp(19px,2vw,32px);font-weight:900;letter-spacing:-.015em}
.p-intro{padding:clamp(40px,8svh,90px) var(--margine) 0;font-size:clamp(22px,2.3vw,38px);font-weight:900;line-height:1.1;letter-spacing:-.02em}
.p-intro+.p-media,.p-intro+.storia{padding-top:clamp(24px,4svh,48px)}
.p-altro{margin:clamp(20px,4svh,48px) 0 0}
.p-didascalia{margin-top:10px;color:rgba(0,0,0,.55);font-size:15px;line-height:1.35}
.p-crediti{padding:2svh var(--margine) 8svh}
.p-crediti h2{margin-bottom:10px;color:rgba(0,0,0,.45);font-size:13px;font-weight:400}
.p-crediti ul{columns:3 240px;column-gap:clamp(20px,3vw,48px);list-style:none;padding:0;margin:0}
.p-crediti li{break-inside:avoid;color:rgba(0,0,0,.62);font-size:13px;line-height:1.55}
.p-dopo{position:relative;display:block;height:70svh;overflow:hidden;color:#fff;background:#000}
.p-dopo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-dopo-testo{position:absolute;left:var(--margine);right:var(--margine);bottom:var(--margine);display:grid;gap:10px}
.p-dopo strong{font-size:clamp(46px,9vw,170px);font-weight:900;line-height:.94;letter-spacing:-.04em}

/* Servizi */
.serv-apre{height:100svh;overflow:hidden;background:#000;color:#fff}
.serv-apre video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.serv-apre h1{position:absolute;left:var(--margine);right:var(--margine);bottom:var(--margine);font-size:clamp(58px,12.5vw,240px);font-weight:900;line-height:.9;letter-spacing:-.045em}
.parole-grandi{padding:12svh 0;overflow:hidden;background:#fff;color:#000}
.parola-fila{display:flex;gap:.5em;width:max-content;font-size:clamp(44px,8.6vw,160px);font-weight:900;line-height:1.02;letter-spacing:-.04em;white-space:nowrap;will-change:transform}
.parola-fila:nth-child(2){color:var(--rosso)}
.righe-serv{display:grid;gap:9svh;padding:3svh var(--margine)}
.riga-serv{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(18px,3vw,50px);align-items:end}
.riga-serv:nth-child(even) img{order:2}
.riga-serv img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.riga-serv h2{font-size:clamp(44px,7vw,130px);letter-spacing:-.035em}
.riga-serv p{margin-top:12px;font-size:clamp(18px,1.7vw,26px)}
.metodo{margin-top:14svh;padding:14svh var(--margine);background:#000;color:#fff}
.metodo-frase{text-align:center;font-size:clamp(38px,6vw,110px);font-weight:900;line-height:.98;letter-spacing:-.03em}

/* AI e chi siamo */
/* AI: la pagina matta */
@keyframes ai-luce{0%{background-position:0% 0%,100% 0%,50% 100%,0 0}50%{background-position:60% 50%,30% 70%,90% 20%,0 0}100%{background-position:0% 0%,100% 0%,50% 100%,0 0}}
.foglio-ai{position:relative;background:#050508;color:#fff;overflow:hidden}
.foglio-ai::before{content:"";position:fixed;inset:-10%;z-index:0;background:radial-gradient(45vmax 45vmax at center,#ff2d6f 0,transparent 68%) no-repeat,radial-gradient(50vmax 50vmax at center,#3b4bff 0,transparent 70%) no-repeat,radial-gradient(42vmax 42vmax at center,#ffb400 0,transparent 68%) no-repeat,#050508;background-size:130% 130%;animation:ai-luce 22s ease-in-out infinite}
.foglio-ai>*{position:relative;z-index:1}
.ai-apre{display:grid;align-content:center;gap:6svh;min-height:100svh;padding:14svh var(--margine)}
.ai-apre h1{font-size:clamp(58px,13vw,260px);font-weight:900;line-height:.88;letter-spacing:-.05em;mix-blend-mode:overlay}
.ai-testo{max-width:1000px;padding:10svh var(--margine)}
.ai-testo p{font-size:clamp(25px,3.6vw,62px);font-weight:900;line-height:1.04;letter-spacing:-.025em}
.ai-testo h2{margin-bottom:18px;font-size:clamp(17px,1.5vw,22px);font-weight:400}
.ai-parole{padding:8svh 0;overflow:hidden}
.ai-parole .parola-fila{font-size:clamp(70px,17vw,320px);color:transparent;-webkit-text-stroke:0;background:linear-gradient(90deg,#fff,#ffb400,#ff2d6f,#3b4bff,#fff);-webkit-background-clip:text;background-clip:text}
.ai-due{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,70px);padding:12svh var(--margine)}
.ai-due h2{margin-bottom:16px;font-size:clamp(44px,7.4vw,136px);font-weight:900;line-height:.94;letter-spacing:-.04em}
.ai-due p{max-width:24em;font-size:clamp(18px,1.7vw,26px)}
.ai-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,22px);padding:6svh var(--margine)}
.ai-cella{display:grid;place-items:center;aspect-ratio:4/5;border-radius:24px;background:linear-gradient(145deg,#ff2d6f,#3b4bff)}
.ai-c2{background:linear-gradient(145deg,#ffb400,#ff2d6f)}.ai-c3{background:linear-gradient(145deg,#3b4bff,#14e0c0)}.ai-c4{background:linear-gradient(145deg,#14e0c0,#ffb400)}.ai-c5{background:linear-gradient(145deg,#8a2bff,#ff2d6f)}.ai-c6{background:linear-gradient(145deg,#ff6a00,#8a2bff)}
.foglio-ai .fine-pagina{color:#fff}
.persona{display:grid;grid-template-columns:minmax(0,clamp(220px,24vw,360px)) minmax(0,1fr);gap:clamp(20px,4vw,70px);align-items:center;padding:9svh var(--margine)}
.persona-foto{display:grid;place-items:center;aspect-ratio:4/5;border-radius:var(--raggio);background:#efefef}
.persona-foto img{width:100%;height:100%;object-fit:cover;border-radius:var(--raggio)}
.persona-titolo{margin-bottom:22px}
.persona p{max-width:30em}
.dichiarazione{display:grid;gap:.5em;max-width:1500px;margin:0 auto;padding:18svh var(--margine)}
.dichiarazione p{font-size:clamp(34px,5.2vw,92px);font-weight:900;line-height:1;letter-spacing:-.035em}
.dichiarazione .dichiarazione-chiude{justify-self:end;max-width:12em;text-align:right;color:var(--rosso)}
.acc{opacity:var(--a,.14);transition:opacity .25s linear}
.persona h2{margin-bottom:20px;font-size:clamp(50px,8vw,150px);letter-spacing:-.04em}
.pagina-contatti{padding-top:20svh}

/* Banner cookie */
html .consenso{--consenso-sfondo:#000;--consenso-testo:#fff;--consenso-font:'CULTO Sans',sans-serif;width:min(430px,calc(100vw - 48px));padding:26px 28px 22px;border:1px solid rgba(255,255,255,.22);border-radius:22px;font-size:14px;line-height:1.42;animation:consenso-entra .5s ease both}
html .consenso h2{width:112px;height:31px;margin:0 44px 16px 0;overflow:hidden;font-size:0;background:url(/assets/img/consenso-cookie.svg) left center/contain no-repeat;animation:consenso-scrive 1s .2s ease-out both}
html .consenso p{margin:0 0 10px;color:rgba(255,255,255,.76)}
html .consenso a{color:#fff;font-size:13px;text-transform:lowercase;text-underline-offset:3px}
html .consenso-x{top:10px;right:10px;color:rgba(255,255,255,.7);font-weight:400}
html .consenso-x:hover{opacity:1;color:#fff}
html .consenso-azioni{margin-top:20px}
html .consenso-azioni button{min-height:44px;border:1px solid #fff;border-radius:999px;background:#fff;color:#000;font-weight:400;text-transform:lowercase;transition:background-color .25s,color .25s}
html .consenso-azioni button:hover{opacity:1;background:#000;color:#fff}
html .consenso-azioni .consenso-largo{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:36px;margin-top:2px;padding:0;border:0;border-radius:0;background:none;color:#fff;text-decoration:none}
html .consenso-azioni .consenso-largo::after{content:"";width:64px;height:9px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 9'%3E%3Cpath fill='none' stroke='%23fff' d='M64 4.5H1M5 .8 1 4.5l4 3.7'/%3E%3C/svg%3E") center/contain no-repeat}
html .consenso-azioni .consenso-largo:hover{background:none;color:rgba(255,255,255,.7)}
html .consenso-riga{min-height:50px;border-top:1px solid rgba(255,255,255,.18);color:#fff}
html .consenso-riga span{color:rgba(255,255,255,.76)}
html .consenso-riga input{width:42px;height:24px;border:1px solid #fff;border-radius:999px;appearance:none;-webkit-appearance:none;background:radial-gradient(circle at 11px 50%,#fff 7px,transparent 7.5px);cursor:pointer;transition:background-color .25s}
html .consenso-riga input:checked{background:radial-gradient(circle at 30px 50%,#000 7px,transparent 7.5px) #fff}
html .consenso :focus-visible{outline:2px solid #fff;outline-offset:3px}
@keyframes consenso-entra{from{opacity:0}to{opacity:1}}
@keyframes consenso-scrive{from{clip-path:inset(-4px 100% -4px 0)}to{clip-path:inset(-4px 0 -4px 0)}}

/* Telefono */
/* Privacy */
.informativa{max-width:900px;margin:0 auto;padding:4svh var(--margine) 12svh;font-size:17px;line-height:1.5}
.informativa h2{margin:2.2em 0 .5em;font-size:clamp(26px,2.6vw,38px);font-weight:900;line-height:1.05;letter-spacing:-.02em}
.informativa h3{margin:1.6em 0 .4em;font-size:20px;font-weight:900}
.informativa p,.informativa ul{margin-bottom:1em}
.informativa ul{padding-left:1.2em}
.informativa a{text-decoration:underline;text-underline-offset:.15em}
.informativa .tabella{overflow-x:auto;margin:1em 0 1.6em}
.informativa table{width:100%;min-width:640px;border-collapse:collapse;font-size:15px}
.informativa th,.informativa td{padding:10px 12px 10px 0;border-bottom:1px solid #e5e5e5;text-align:left;vertical-align:top}
.informativa th{font-weight:900}

.serv-dettagli{display:grid;gap:8px;margin:18px 0 0;font-size:15px;line-height:1.4}
.serv-dettagli div{display:grid;grid-template-columns:150px 1fr;gap:12px}
.serv-dettagli dt{color:rgba(0,0,0,.45)}
.serv-dettagli dd{margin:0}
.serv-lavori{margin-top:22px}
.serv-dettagli a{text-decoration:underline;text-underline-offset:.15em}
@media (max-width:760px){.serv-dettagli div{grid-template-columns:1fr;gap:0}}
@media (max-width:760px){
  :root{--filo:8px}
  .testa{grid-template-columns:1fr auto 1fr;padding:8px var(--margine)}
  .testa-logo{width:62px}
  .testa-menu{display:none}
  .testa-apri{display:block}
  .testa-azione .freccia{display:none}
  .testa-azione .cf{--h:11px}
  .freccia{width:64px}
  .apertura-frase{font-size:15vw}
  .idea{min-height:0;padding:20svh var(--margine) 54svh}
  .idea-grande{font-size:10.6vw}
  .idea{clip-path:none}
  .marchi{padding-bottom:5svh}
  .contatti{position:relative;z-index:2;overflow:visible;padding-top:22svh}
  .idea-grande .blocco{display:block}
  .idea-grande .blocco-b{margin-top:11svh;text-align:right}
  .con-tenuta{height:calc(100svh + var(--corsa));overflow:visible}
  .tenuta{position:sticky;top:0;height:100svh;overflow:hidden}
  .servizi.con-tenuta{display:block;padding:0}
  .servizi .tenuta{display:flex;flex-direction:column;padding-top:66px}
  .file-d{display:none}
  .file-m{display:grid;gap:30px}
  .file-m .fila{gap:42px;animation:fila-va 34s linear infinite}
  .file-m .fila:nth-child(even){animation-direction:reverse;animation-duration:40s}
  .a-capo-m{display:inline}
  .a-capo-d{display:none}
  .a-capo-d.a-capo-d{display:none}
  .scena-testo{bottom:54px}
  .scena-nome{font-size:15.5vw;white-space:normal}
  .scena-guarda{top:auto;right:auto;left:var(--margine);bottom:10px}
  .scena-guarda .cf{--h:18px}
  .servizi{padding-top:66px}
  .serv-testi{min-height:0}
  .serv h3{font-size:11.6vw}
  .clip{--clip:86vw}
  .a1 svg{width:calc((86vw + 4px)*5)}
  .carta{width:46vw}
  .carta img{aspect-ratio:4/5}
  .carta span{font-size:21px}
  .archivio h2{font-size:12.6vw}
  .fila img{height:calc(16px*var(--a,1))}
  .scelte{gap:2px 22px}
  .scelta>span{font-size:7.4vw}
  .righe input,.righe textarea{font-size:7vw}
  .punti{grid-template-columns:1fr}
  .ai-due{grid-template-columns:1fr}
  .piede-alto{grid-template-columns:1fr;gap:36px}
  .piede-grande{grid-template-columns:1fr;font-size:13vw;line-height:1.02}
  .piede-info{grid-template-columns:1fr;gap:20px;margin-top:44px}
  .piede-fine{flex-direction:column;margin-top:34px}
  .foglio-apre{padding-top:18svh}
  .foglio-apre h1{font-size:14vw}
  .storia{grid-template-columns:1fr}
  .p-media{grid-template-columns:1fr}
  .riga-serv{grid-template-columns:1fr}
  .riga-serv:nth-child(even) img{order:0}
  .ai-griglia{grid-template-columns:1fr 1fr}
  .persona{grid-template-columns:1fr}
  .persona-foto{width:62%}
  html .consenso{width:calc(100vw - 24px);padding:22px 22px 16px;border-radius:20px}
}

/* Niente movimento per chi lo chiede */
@media (prefers-reduced-motion:reduce){
  .filo{display:none}
  .lavori,.servizi,.archivio{height:auto}
  html .consenso,html .consenso h2{animation:none}
}

@keyframes fila-va{to{transform:translateX(calc((-100% - 42px)/3))}}

.riga-ai a:first-child{display:block}
.ai-miniatura{display:block;aspect-ratio:4/3;border-radius:12px;background:radial-gradient(circle at 25% 25%,#7c5cff,transparent 58%),radial-gradient(circle at 80% 30%,#ff4d8d,transparent 55%),radial-gradient(circle at 55% 85%,#19c2ff,transparent 60%),#0a0a14}

/* Scrivici: la parola piccola in basso a destra e la chat che si apre */
.scrivici-apri{position:fixed;z-index:28;right:var(--margine);bottom:calc(18px + env(safe-area-inset-bottom));display:grid;align-items:center;justify-items:end;min-width:44px;min-height:44px;padding:0 4px;border:0;background:none;color:#fff;mix-blend-mode:difference;cursor:pointer;transition:opacity .25s}
.angolo-frase{grid-area:1/1;opacity:0;transition:opacity .45s ease}
.angolo-frase.mostra{opacity:1}
.angolo-frase.via{opacity:0}
.angolo-frase[hidden]{display:none}
.angolo-nuvola .cf{--h:26px}
.angolo-nuvola{scale:-1 1}  /* nuvoletta specchiata: la coda guarda dall'altra parte */
.scrivici-apri:hover{opacity:.6}
.menu-aperto .scrivici-apri,.scrivici-aperto .scrivici-apri{opacity:0;pointer-events:none}
/* una risposta di CULTO non ancora vista: puntino rosso sulla nuvoletta (fuori dal pulsante, così il colore resta vero) */
.scrivici-punto{position:fixed;z-index:29;right:calc(var(--margine) - 3px);bottom:calc(18px + env(safe-area-inset-bottom) + 34px);width:10px;height:10px;border-radius:50%;background:var(--rosso);pointer-events:none}
.scrivici-punto[hidden],.menu-aperto .scrivici-punto,.scrivici-aperto .scrivici-punto{display:none}
.scrivici{--coda:10px;--sotto:calc(18px + env(safe-area-inset-bottom));position:fixed;inset:auto calc(var(--da-destra, var(--margine)) + 30px) calc(var(--da-sotto, var(--sotto)) + 50px) auto;width:min(360px,calc(100vw - 2*var(--margine) - 30px));height:min(480px,calc(100svh - var(--margine) - var(--sotto) - 50px));max-width:none;max-height:none;margin:0;padding:0;overflow:visible;flex-direction:column;border:0;background:var(--bianco);color:var(--nero);box-shadow:0 30px 90px rgba(0,0,0,.28);transform-origin:calc(100% + 8px) calc(100% + 28px);opacity:0;scale:.05;border-radius:var(--raggio) var(--raggio) 0 var(--raggio);transition:scale .26s cubic-bezier(.55,0,.8,.2),opacity .12s ease .14s,display .26s allow-discrete,overlay .26s allow-discrete}
.scrivici[open]{display:flex;opacity:1;scale:1;transition:scale .42s cubic-bezier(.3,1.25,.55,1),opacity .12s ease,display .42s allow-discrete,overlay .42s allow-discrete}
@starting-style{.scrivici[open]{opacity:0;scale:.05}}
.scrivici::after{content:"";position:absolute;right:calc(0px - var(--coda));bottom:-6px;width:calc(var(--coda) + 12px);height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 26'%3E%3Cpath fill='%23fff' d='M0 0h12c0 10 2.5 18 10 26-7-.4-12.5-2.4-16-6H0z'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
.scrivici::backdrop{background:rgba(0,0,0,.22)}
.chat-testa{flex:none;display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px 22px}
.chat-logo{width:78px;margin:0}
.scrivici-chiudi{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;background:none;color:#000;cursor:pointer;transition:opacity .25s}
.scrivici-chiudi .cf{--h:13px}
/* la X piccola dove la codina esce dalla finestra, tutta sul bianco: si tocca un quadrato di 44 px */
.chat-chiudi-coda{position:absolute;z-index:1;right:-30px;bottom:-50px;width:44px;height:44px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.chat-chiudi-coda .cf{--h:14px}
.scrivici-chiudi:hover{opacity:.5}
.chat-fili{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:14px 16px 14px;overflow-y:auto;overscroll-behavior:contain;-webkit-mask:linear-gradient(transparent,#000 14px);mask:linear-gradient(transparent,#000 14px)}
.fumetto{max-width:84%;padding:12px 17px 13px;border-radius:24px;font-size:16px;line-height:1.38;white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:pretty;animation:fumetto-entra .25s ease both}
.fumetto-culto{align-self:flex-start;border-bottom-left-radius:10px;background:#f0f0f0}
.fumetto-tu{align-self:flex-end;border-bottom-right-radius:10px;background:#000;color:#fff}
.fumetto-risposta{font-weight:900;font-size:19px;line-height:1.2;letter-spacing:-.01em}
.fumetto-scrive{display:flex;gap:5px;padding:16px 16px 17px}
.fumetto-scrive i{width:7px;height:7px;border-radius:50%;background:#000;opacity:.25;animation:puntini 1s infinite}
.fumetto-scrive i:nth-child(2){animation-delay:.15s}
.fumetto-scrive i:nth-child(3){animation-delay:.3s}
@keyframes puntini{30%{opacity:.8}}
@keyframes fumetto-entra{from{opacity:0}}
.chat-scrivi{flex:none;padding:2px 22px calc(18px + env(safe-area-inset-bottom))}
.chat-scrivi[hidden]{display:none}
.chat-privacy{gap:10px;min-height:40px;margin:0 0 2px;font-size:14px}
.chat-privacy input{width:18px;height:18px}
.chat-privacy[hidden]{display:none}
.chat-riga{display:flex;align-items:flex-end;gap:14px;border-bottom:2px solid #000;transition:border-color .2s}
.chat-riga:focus-within{border-bottom-color:var(--rosso)}
.chat-riga textarea,.chat-riga input{flex:1;min-width:0;max-height:132px;padding:10px 0 9px;border:0;border-radius:0;outline:0;background:none;color:#000;font:400 17px/1.35 'CULTO Sans',sans-serif;resize:none;overflow-y:auto;-webkit-appearance:none;appearance:none}
.chat-riga [hidden]{display:none}
.chat-riga ::placeholder{color:rgba(0,0,0,.4)}
.chat-manda{flex:none;display:grid;place-items:center;min-width:44px;min-height:44px;padding:0 0 6px;border:0;background:none;color:#000;cursor:pointer;transition:opacity .25s}
.chat-manda .cf{--h:13px}
.chat-manda:hover{opacity:.5}
.chat-manda:disabled{opacity:.25;cursor:default}
.scrivici-aperto{overflow:hidden}
@media (max-width:760px){
  .scrivici-apri{right:12px;bottom:calc(10px + env(safe-area-inset-bottom))}
  .scrivici-punto{right:9px;bottom:calc(10px + env(safe-area-inset-bottom) + 30px)}
  .angolo-nuvola .cf{--h:22px}
  .scrivici{--sotto:calc(10px + env(safe-area-inset-bottom));inset:auto calc(var(--da-destra, 12px) + 30px) calc(var(--da-sotto, var(--sotto)) + 50px) 12px;width:auto;height:min(62svh,520px);box-shadow:0 20px 60px rgba(0,0,0,.3)}
}
@media (prefers-reduced-motion:reduce){.scrivici,.scrivici[open]{transition:none;scale:none;border-radius:var(--raggio) var(--raggio) 0 var(--raggio)}.fumetto,.fumetto-scrive i{animation:none}}
