@font-face{font-family:Unlearn Display;src:url('/assets/fonts/display-codex.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Unlearn Sans;src:url('/assets/fonts/body-codex.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

/* ---------- Token ---------- */
:root{
  --ink:#101113;          /* superficie 1: la pagina */
  --ink-2:#171a1f;        /* superficie 2: i pannelli */
  --ink-0:#07080a;        /* il buio dell'apertura */
  --paper:#f5f1e9;
  --red:#f8270f;
  --muted:#a9adb2;
  --line:rgba(245,241,233,.14);
  --line-strong:rgba(245,241,233,.28);
  --wrap:1600px;
  --gutter:clamp(26px,6.5vw,112px);
  --chapter-gap:clamp(72px,9vh,82px);   /* respiro fra sezioni come il sito 1.0 (82px) */
  --radius:4px;
  --chair-x:48.7%;
  --chair-y:60%;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --cursor-color:#f8270f;
  --cursor-color-active:#f8270f;
  --cursor-fill-active:rgba(248,39,15,.16);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--ink);scroll-padding-top:96px}
body{margin:0;background:var(--ink);color:var(--paper);font:400 17px/1.6 'Unlearn Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--paper);outline-offset:6px}
::selection{background:var(--red);color:#fff}
img{display:block;max-width:100%;height:auto}
p,h1,h2,h3,figure,dl,dd{margin:0}
[hidden]{display:none!important}
h1,h2,h3{font-family:'Unlearn Display','Arial Narrow',sans-serif;font-weight:600;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance}
h1{font-size:clamp(64px,6.5vw,106px);line-height:.94}
h2{font-size:clamp(44px,3.75vw,54px);line-height:.98}   /* come il sito 1.0: 52–54px sul desktop */
h3{font-size:28px;line-height:1.15;letter-spacing:0}
em{font-style:normal;color:var(--red)}
.desktop-only{display:inline}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:14px}
.skip-link:focus{top:14px}

/* ---------- Testo ---------- */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:#cfd2d5;margin-bottom:26px}
.eyebrow-rule{display:inline-block;width:22px;height:2px;background:var(--red);flex-shrink:0}
.lead{font-size:clamp(19px,1.6vw,24px);line-height:1.45;letter-spacing:-.01em;margin-top:28px;max-width:600px}
.body{font-size:17px;line-height:1.75;color:var(--muted);max-width:560px;margin-top:24px}
.small-note{font-size:12px;line-height:1.7;color:#9a9ea3;max-width:460px;margin-top:22px}
.code-note{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8e9297}
.actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:34px}
.actions--row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:0}
.actions--row .text-link{margin-top:0}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:56px;padding:16px 22px;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:var(--radius);font-size:13px;font-weight:600;letter-spacing:.01em}
.button span{font-size:20px;line-height:1}
.action-note{font-size:11px;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--red);padding:10px 0;margin-top:26px;font-size:14px;font-weight:500}
.text-link span{font-size:18px;transition:transform var(--dur-base) var(--ease-out)}
.text-link:hover span{transform:translateX(3px)}
.nowrap{white-space:nowrap}
.strike{display:inline-block;position:relative;white-space:nowrap}
.strike:after{content:'';position:absolute;left:-2%;right:-2%;top:53%;height:.11em;min-height:5px;background:var(--red);transform:rotate(-4deg);transform-origin:0 50%}

/* Sottolineature analogiche: dentro i testi le parole da far pesare sono in grassetto e nel colore pieno (il resto è grigio) */
p strong,small strong,li strong,dd strong{font-weight:700;color:var(--paper)}
.chapter--light p strong,.chapter--light small strong,.chapter--light li strong{color:var(--ink)}
.proof-flow strong,.funding-steps strong,.hero-funding strong,.terminal-row strong{font-weight:600}

/* ---------- Cursore: cerchietto rosso ---------- */
.ms-cursor-ring{width:44px;height:44px;border-width:1.5px}
.ms-cursor-dot{width:7px;height:7px}

/* ---------- Barra in alto ---------- */
.site-header{position:fixed;z-index:30;top:0;left:0;right:0;height:88px;padding:0 var(--gutter);display:flex;align-items:center;gap:36px;transition:background var(--dur-slow) var(--ease-out),height var(--dur-slow) var(--ease-out)}
.site-header.scrolled{height:72px;background:rgba(16,17,19,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:block;width:150px;flex-shrink:0}
.brand img{width:100%}
.desktop-nav{display:flex;gap:30px;margin-left:auto;font-size:13px;font-weight:500}
.desktop-nav a{position:relative;padding:8px 0}
.desktop-nav a:after{content:'';position:absolute;left:0;bottom:2px;height:1px;width:0;background:var(--red);transition:width var(--dur-base) var(--ease-out)}
.desktop-nav a:hover:after{width:100%}
.header-cta{display:inline-flex;align-items:center;gap:18px;padding:10px 18px;border:1px solid rgba(245,241,233,.28);border-radius:var(--radius);font-size:13px;font-weight:500;white-space:nowrap;transition:background var(--dur-base),color var(--dur-base),border-color var(--dur-base)}
.header-cta:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.header-cta span{font-size:18px;line-height:1}
.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:10px}
.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0;transition:transform var(--dur-base) var(--ease-out)}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:72px 0 0;background:var(--ink);z-index:29;padding:30px var(--gutter);display:flex;flex-direction:column;font-family:'Unlearn Display',sans-serif;font-size:32px;line-height:1.15;text-transform:uppercase;overflow:auto}
.mobile-menu a{padding:16px 0;border-bottom:1px solid var(--line)}

/* ---------- Apertura: aula buia, la luce scatta al primo scroll, poi la camera entra e la poltrona si gira ----------
   L'apertura è alta 100svh + 35vh: il palco resta fermo (sticky) per quei 35vh, poi esce con la pagina. I fotogrammi seguono tutto il tratto. */
.hero{position:relative;height:calc(100svh + 35vh);min-height:640px;background:var(--ink-0)}
.hero-pin{position:sticky;top:0;height:100svh;min-height:640px;display:flex;align-items:center;overflow:hidden;padding:96px 0 40px}
.hero-stage{position:absolute;inset:0;overflow:hidden;background:var(--ink-0)}
.hero-stage canvas,.hero-stage img{position:absolute;inset:0;width:100%;height:100%;display:block}
/* sul desktop il fotogramma copre lo schermo senza ingrandimento, agganciato in alto (il 12% del 13/09 è stato tolto il 14/09; stesso taglio in hero-codex.js) */
.hero-stage img{object-fit:cover;object-position:50% 0}
.hero-stage img[hidden]{display:none}
.hero-shade{display:none;position:absolute;inset:0;z-index:1;pointer-events:none}   /* velatura del palco: solo sul telefono (prima non aveva posizione e non si vedeva) */
.no-js .hero-poster{display:none}
.no-js .hero-stage{background:url(/assets/hero-lit-codex.webp) 50% 58%/cover no-repeat}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.6fr);gap:clamp(40px,6vw,120px);align-items:center}
.hero-pre{display:block;font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(16px,min(1.5vw,2.4vh),22px);line-height:1.15;letter-spacing:.04em;text-transform:uppercase;color:#e2dfd9;margin-bottom:clamp(14px,2.4vh,24px)}   /* pre-headline: era il titolo, Stefano 13/09 */
.hero-pre .eyebrow-rule{vertical-align:middle;margin:0 12px 3px 0}
.hero-copy h1{font-size:clamp(44px,min(5vw,8vh),78px)}
.hero-h1{display:block;max-width:14ch}   /* la riga sopra (hero-pre) sta dentro lo stesso H1 dal 14/09: a vista non cambia niente */
.hero-subtitle{font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(20px,min(2vw,3vh),28px);line-height:1.1;letter-spacing:-.01em;margin-top:clamp(14px,2.4vh,24px)}
.hero-body{font-size:15px;color:#d6d2d3;margin-top:clamp(10px,1.6vh,16px);line-height:1.6;max-width:60ch}
.hero .actions{margin-top:clamp(18px,3vh,30px)}
.hero-funding{display:block;margin-top:clamp(18px,3.2vh,32px);padding:14px 18px 14px 20px;border-left:2px solid var(--red);background:rgba(16,17,19,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);max-width:520px;border-radius:0 var(--radius) var(--radius) 0;transition:background var(--dur-base)}
.hero-funding:hover{background:rgba(23,26,31,.85)}
.hero-funding-label{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:8px}
.hero-funding strong{display:block;font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:19px;line-height:1.15;text-transform:uppercase;letter-spacing:-.01em}
.hero-funding p{font-size:13px;color:var(--muted);margin-top:4px}
/* riquadro del metodo: piccolo e in basso, così non copre la scritta proiettata sullo schermo (Stefano, 14/09) */
.terminal{background:rgba(16,17,19,.72);border:1px solid var(--line-strong);border-radius:var(--radius);padding:22px 26px 20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);justify-self:end;align-self:end;width:100%;max-width:420px}
.terminal .eyebrow{margin-bottom:12px}
.terminal-list{border-top:1px solid var(--line)}
.terminal-row{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.terminal-row>span{font-family:var(--mono);font-size:11px;color:var(--red);padding-top:3px}
.terminal-row strong{display:block;font-weight:600;font-size:16px;line-height:1.2}
.terminal-row small{display:block;font-size:13px;color:#c9c9c9;margin-top:4px;line-height:1.5}
.terminal-code{margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#cfd2d5}
.terminal-code i{font-style:normal;color:var(--red);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* Apertura: etichetta più vicina al titolo */
.hero .eyebrow{margin-bottom:clamp(14px,2.4vh,24px)}
/* Schermi bassi (portatili 1366×768): il testo non deve finire sotto la barra; titolo su meno righe, box fondi più stretto */
@media(min-width:761px) and (max-height:820px){
  .hero-pin{align-items:safe center;padding-top:88px}
  .hero-copy h1{font-size:clamp(40px,6.8vh,68px)}.hero-h1{max-width:17ch}
  .hero-pre{font-size:15px}
  .hero-funding{margin-top:14px;padding:10px 16px 10px 18px}
  .hero-funding p{display:none}
}

/* Fascia che scorre */
.marquee{position:relative;z-index:2;border-block:1px solid var(--line);background:var(--ink);padding-block:16px;overflow:hidden}
.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-group{display:flex;align-items:center;flex-shrink:0;gap:clamp(24px,3vw,48px);padding-right:clamp(24px,3vw,48px)}
.marquee-group span{font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(16px,1.6vw,22px);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:#d6d2d3}
.marquee-group i{width:7px;height:7px;background:var(--red);flex:none;transform:rotate(45deg)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Capitoli ---------- */
main{position:relative;z-index:1}
.chapter{padding-block:var(--chapter-gap);position:relative}
.chapter+.chapter:before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);max-width:var(--wrap);margin:0 auto;height:1px;background:var(--line)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.split--top{align-items:start}
.split--end{align-items:end}
.copy--sticky{position:sticky;top:120px}
.surface{background:var(--ink-2);border-radius:var(--radius)}

/* Capitoli chiari: come il sito 1.0, le sezioni alternano buio e carta (metodo, aree, garanzia, prove, domande su carta).
   I pannelli diventano bianchi, le righe e i grigi si ribaltano; il rosso e i bottoni restano uguali. */
.chapter--light{background:var(--paper);color:var(--ink);color-scheme:light;--ink-2:#fff;--line:rgba(16,17,19,.14);--line-strong:rgba(16,17,19,.3);--muted:#5b5f64}
.chapter:not(.chapter--light)+.chapter--light:before,.chapter--light+.chapter:not(.chapter--light):before{display:none}
.chapter--light .eyebrow{color:#4b4f54}
.chapter--light :is(button,a,summary):focus-visible{outline-color:var(--ink)}
.chapter--light .area-label,.chapter--light .proof-row small,.chapter--light .proof-row em,.chapter--light .proof-case dt,.chapter--light .proof-flow small,.chapter--light .proof-threshold,.chapter--light .proof-case-head>strong small,.chapter--light .guarantee-detail small{color:#6a6e73}
.chapter--light .faq-list details p,.chapter--light .proof-case dd,.chapter--light .guarantee-detail .lead{color:#3a3d42}
.chapter--light .area-grid article:hover{background:#faf8f4}
.chapter--light .proof-bar{background:#e4e0d8}
.chapter--light .proof-bar i{background:#9a9ea3}
.chapter--light .proof-flow-result{background:#fdece9!important}
.chapter--light .scene figcaption{color:var(--paper)}

/* Pannelli immagine con didascalia */
.scene{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--ink-2);aspect-ratio:16/9;min-height:420px;max-height:680px;margin-top:clamp(48px,6vh,72px)}
.scene picture,.scene img{position:absolute;inset:0;width:100%;height:100%}
.scene img{object-fit:cover;object-position:50% 50%;inset:-8% 0;height:116%}
.scene:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(16,17,19,.5) 0%,rgba(16,17,19,.2) 40%,rgba(16,17,19,0) 62%),linear-gradient(0deg,rgba(16,17,19,.45) 0%,rgba(16,17,19,0) 40%)}
.scene:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(245,241,233,.08);border-radius:inherit}
/* velatura solo dietro il testo, mai su tutta la foto */
.scene figcaption{position:absolute;z-index:2;left:clamp(24px,4vw,56px);bottom:clamp(24px,4vw,48px);width:min(560px,50%);display:flex;flex-direction:column;gap:14px;padding:clamp(20px,2.2vw,30px) clamp(22px,2.4vw,34px);background:rgba(16,17,19,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-left:2px solid var(--red);border-radius:0 var(--radius) var(--radius) 0}
.scene figcaption span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--red)}
.scene figcaption strong{font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(30px,3.2vw,46px);line-height:.96;letter-spacing:-.02em;text-transform:uppercase}
.scene--funding{margin-top:0}
.scene--funding img{object-position:50% 20%}
.scene--funding figcaption strong{font-size:clamp(28px,3vw,42px)}

/* 2. Il nemico */
.enemy{padding-block:0;min-height:clamp(560px,72vh,720px);display:flex;align-items:center;isolation:isolate}
.enemy-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.enemy-bg img{width:100%;height:118%;object-fit:cover;object-position:50% 50%;margin-top:-9%}
.enemy:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--ink) 0%,rgba(16,17,19,.98) 8%,rgba(16,17,19,.42) 26%,rgba(16,17,19,0) 40%),linear-gradient(90deg,rgba(16,17,19,.96) 0%,rgba(16,17,19,.82) 42%,rgba(16,17,19,.1) 72%),linear-gradient(0deg,var(--ink) 0%,rgba(16,17,19,0) 18%)}
.enemy .wrap{padding-block:clamp(72px,8vw,96px)}
.enemy-content{max-width:640px;padding-left:28px;border-left:6px solid var(--red)}
.enemy-content h2 span{display:block}
.enemy-content h2 .dim{color:rgba(245,241,233,.5)}   /* "fare formazione" spento, "imparare a fare" rosso: il contrasto sta nei colori */
.enemy-result{margin-top:26px;font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(22px,2vw,28px);line-height:1.1;text-transform:uppercase;color:var(--red);max-width:520px}

/* 3. Metodo */
.method-head{grid-template-columns:1.15fr .85fr}
.method-head h2{font-size:clamp(36px,3.4vw,54px);text-transform:none;letter-spacing:-.03em;line-height:1.02}
.method-head .body{margin-top:0}
.method-steps{list-style:none;padding:0;margin:clamp(48px,6vh,72px) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden}
.method-steps li{background:var(--ink-2);padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:18px;min-height:210px}
.step-number{font-family:'Unlearn Display',sans-serif;font-size:clamp(40px,3.4vw,50px);line-height:1;color:var(--red);font-weight:600;letter-spacing:-.02em}
.method-steps h3{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;line-height:1.4}
.method-steps p{font-size:16px;line-height:1.6;margin-top:10px;color:var(--muted)}
.method .actions{margin-top:clamp(40px,5vh,56px)}

/* 4. Processo */
.process-head .body{margin-top:0;max-width:38ch}
.process-steps{list-style:none;padding:0;margin:clamp(48px,6vh,72px) 0 0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-block:1px solid var(--line)}
.process-steps li{min-height:190px;padding:24px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:30px}
.process-steps li:last-child{border-right:0}
.process-steps span{font-family:var(--mono);font-size:12px;color:var(--red)}
.process-steps strong{margin-top:auto;font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(15px,1.25vw,18px);line-height:1.05;text-transform:uppercase;letter-spacing:-.01em}
.role-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden;margin-top:1px}
.role-grid article{background:var(--ink-2);padding:clamp(28px,3.5vw,44px);min-height:200px}
.role-grid h3{color:var(--red);font-size:clamp(24px,2vw,29px);margin-bottom:18px}
.role-grid p{font-size:16px;line-height:1.75;color:var(--muted);max-width:58ch}

/* 5. Aree */
.areas-title{max-width:12ch}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden;margin-top:clamp(40px,5vh,56px)}
.area-grid article{background:var(--ink-2);padding:clamp(24px,2.6vw,34px);min-height:200px;display:flex;flex-direction:column;gap:14px;transition:background var(--dur-base)}
.area-grid article:hover{background:#1d2127}
.area-grid article:hover h3{color:var(--red)}
.area-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8e9297;font-weight:500}
.area-grid h3{font-size:clamp(22px,2vw,28px);transition:color var(--dur-base)}
.area-grid p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:auto}
.areas .actions{margin-top:clamp(40px,5vh,56px)}

/* 6. Finanziata */
.funding-explainer{margin-top:clamp(48px,6vh,72px);max-width:720px}
.funding-explainer .lead{margin-top:0}
.funding-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden;margin-top:clamp(36px,4vh,48px)}
.funding-steps article{background:var(--ink-2);padding:clamp(22px,2.4vw,30px);min-height:150px;display:flex;flex-direction:column;gap:18px}
.funding-steps span{font-family:var(--mono);font-size:12px;color:var(--red)}
.funding-steps strong{margin-top:auto;font-size:13px;line-height:1.5;font-weight:500;letter-spacing:.02em;text-transform:uppercase}
.funding .actions{margin-top:clamp(40px,5vh,56px)}

/* 7. Garanzia */
.guarantee-card{position:relative;overflow:hidden;background:var(--ink-2);border-radius:var(--radius);border-left:8px solid var(--red);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,72px);padding:clamp(40px,4.5vw,64px) clamp(28px,4.5vw,64px)}
.guarantee-card:before{content:'';position:absolute;right:-12%;bottom:-40%;width:44vw;max-width:640px;aspect-ratio:1;border:1px solid rgba(248,39,15,.35);transform:rotate(45deg);pointer-events:none}
.guarantee-card h2{font-size:clamp(36px,3.1vw,46px);max-width:22ch;line-height:1.02}
.guarantee-card h2 em{display:block;margin-top:.35em}
.guarantee-detail{align-self:center;position:relative;z-index:1}
.guarantee-detail .lead{margin-top:0;color:#d2cdcf;max-width:none}
.guarantee-detail small{display:block;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);color:#918d8e;font-size:12px;line-height:1.7}
.guarantee-image{grid-column:1/-1;position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:3/1;max-height:400px;margin-top:clamp(8px,2vw,24px)}
.guarantee-image img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;object-position:50% 45%}

/* 8. Prove */
.proof-head .body{margin-top:0;max-width:44ch}
.proof-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden;margin-top:clamp(40px,5vh,56px)}
.proof-case{background:var(--ink-2);padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:22px}
.proof-case-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.proof-case-head>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:500}
.proof-case-head>strong{display:flex;flex-direction:column;align-items:flex-end;color:var(--red);font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(36px,3.2vw,46px);line-height:.9;letter-spacing:-.03em;white-space:nowrap}
.proof-case-head>strong small{font-family:'Unlearn Sans',sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8e9297;margin-top:6px;font-weight:500}
.proof-case h3{font-size:24px}
.proof-chart{display:flex;flex-direction:column;gap:12px}
.proof-row{display:grid;grid-template-columns:1fr;gap:8px}
.proof-row>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.proof-row small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8e9297}
.proof-row b{font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:24px;line-height:1}
.proof-row em{color:#8e9297;font-size:16px}
.proof-bar{display:block;height:10px;background:#2a2e35;border-radius:2px;overflow:hidden}
.proof-bar i{display:block;height:100%;width:var(--score);background:#6d7278;transform:scaleX(0);transform-origin:0 50%;transition:transform 2.4s cubic-bezier(.2,.75,.25,1)}
.proof-row--final .proof-bar i{background:var(--red);transition-delay:.26s}
.is-in .proof-bar i{transform:scaleX(1)}
.proof-threshold{font-size:11px;color:#8e9297;letter-spacing:.06em}
.proof-case dl{display:flex;flex-direction:column;gap:14px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.proof-case dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8e9297;margin-bottom:4px}
.proof-case dd{font-size:13px;line-height:1.55;color:#c3c5c7}
.proof-loop-head{margin-top:clamp(56px,7vh,88px);max-width:720px}
.proof-loop-head .lead{margin-top:0}
.proof-flow{list-style:none;padding:0;margin:clamp(32px,4vh,44px) 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden}
.proof-flow li{background:var(--ink-2);padding:clamp(20px,2.2vw,28px);min-height:190px;display:flex;flex-direction:column;gap:22px}
.proof-flow li>span{font-family:var(--mono);font-size:12px;color:var(--red)}
.proof-flow li>div{margin-top:auto}
.proof-flow small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8e9297;margin-bottom:8px}
.proof-flow strong{font-size:14px;line-height:1.5;font-weight:500}
.proof-flow-result{background:#1d1416!important;box-shadow:inset 0 3px 0 var(--red)}

/* 9. FAQ */
.questions h2{font-size:clamp(34px,3vw,44px)}
.questions .split{grid-template-columns:.85fr 1.15fr}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:22px;line-height:1.1;text-transform:uppercase;letter-spacing:-.01em;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font-family:'Unlearn Sans',sans-serif;font-size:22px;font-weight:300;line-height:1;transition:transform var(--dur-base) var(--ease-out),color var(--dur-base)}
.faq-list details[open] summary>span{transform:rotate(45deg);color:var(--red)}
.faq-list details p{font-size:15px;line-height:1.8;color:#c3c5c7;padding:0 40px 24px 0;max-width:600px}

/* 10. Contatto */
.contact{overflow:hidden;min-height:0;display:flex;align-items:center;isolation:isolate}
/* Macchie di luce: cinque cerchi sfocati nella famiglia del rosso UNLEARN, fusi in "screen" sul nero, in movimento lento;
   il sesto segue il mouse (site-codex.js). Tutto sotto il testo e sotto la grana. */
.process,.funding{overflow:hidden;isolation:isolate}
.glow{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.5;
  --glow-size:80%;
  --glow-1:248,39,15;   /* rosso UNLEARN */
  --glow-2:255,110,60;  /* arancio caldo */
  --glow-3:200,20,40;   /* rosso profondo */
  --glow-4:255,60,30;   /* rosso chiaro */
  --glow-5:248,39,15;
  --glow-p:255,140,90}  /* la macchia del mouse */
.glow-blobs{position:absolute;inset:0;filter:blur(60px)}
.glow i{position:absolute;width:var(--glow-size);height:var(--glow-size);top:calc(50% - var(--glow-size)/2);left:calc(50% - var(--glow-size)/2);border-radius:50%;mix-blend-mode:screen;background:radial-gradient(circle at center,rgba(var(--c),.8) 0,rgba(var(--c),0) 50%) no-repeat;will-change:transform}
.glow-b1{--c:var(--glow-1);transform-origin:center;animation:glow-vertical 30s ease infinite}
.glow-b2{--c:var(--glow-2);transform-origin:calc(50% - 400px);animation:glow-circle 20s reverse infinite}
.glow-b3{--c:var(--glow-3);transform-origin:calc(50% + 400px);animation:glow-circle 40s linear infinite}
.glow-b4{--c:var(--glow-4);transform-origin:calc(50% - 200px);animation:glow-horizontal 40s ease infinite;opacity:.7}
.glow-b5{--c:var(--glow-5);transform-origin:calc(50% - 800px) calc(50% + 800px);animation:glow-circle 20s ease infinite}
.glow-pointer{--c:var(--glow-p);width:100%;height:100%;top:-50%;left:-50%;opacity:.7}
@keyframes glow-vertical{0%,100%{transform:translateY(-50%)}50%{transform:translateY(50%)}}
@keyframes glow-horizontal{0%,100%{transform:translateX(-50%)}50%{transform:translateX(50%)}}
@keyframes glow-circle{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
/* Una versione per sezione, così le quattro non sembrano la stessa: il nemico sta sotto la foto (più tenue), processo e finanziata partono spostate e in un altro punto del giro */
.glow--b{z-index:0}   /* nel nemico sta sopra la foto e la sua velatura, sotto il testo */
.enemy .wrap{position:relative;z-index:1}
.glow--c .glow-blobs{transform:translateX(-14%)}
.glow--c i{animation-delay:-12s}
.glow--d{--glow-size:70%}
.glow--d .glow-blobs{transform:translateX(14%)}
.glow--d i{animation-delay:-27s}
/* Velo grigio sulle sezioni chiare: stesse macchie, ma grigio scuro fuso in "moltiplica" sulla carta, appena visibile */
.chapter--light{isolation:isolate;overflow:hidden}
.glow--light{opacity:.22;--glow-1:60,62,68;--glow-2:40,42,48;--glow-3:80,82,88;--glow-4:30,32,36;--glow-5:60,62,68;--glow-p:50,52,58}
.glow--light i{mix-blend-mode:multiply}
.glow.is-off i{animation-play-state:paused}   /* fuori dallo schermo non consuma niente (site-codex.js) */
.contact:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23ffffff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.contact .wrap{position:relative}
.contact h2{font-size:clamp(44px,4.4vw,64px);max-width:16ch}
.contact-line{margin-top:22px;font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(22px,2.2vw,30px);line-height:1.1;text-transform:uppercase;color:var(--red)}
.contact-grid{grid-template-columns:.9fr 1.1fr}

/* Modulo "Richiedi informazioni" */
.lead-form{width:100%;position:relative}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field>span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#cfd2d5}
.field>span small{font-family:'Unlearn Sans',sans-serif;font-size:11px;letter-spacing:0;text-transform:none;color:#8e9297}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:14px 16px;background:var(--ink-2);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--paper);font:inherit;font-size:16px;line-height:1.4;transition:border-color var(--dur-base) var(--ease-out)}
.field textarea{min-height:140px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23f8270f' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.field select:invalid{color:#8e9297}
.field select option{color:var(--paper);background:var(--ink-2)}
.field input::placeholder,.field textarea::placeholder{color:#8e9297}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--red)}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#ff8a7a}
.field--full{grid-column:1/-1}
.check{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:13px;line-height:1.6;color:#c3c5c7;cursor:pointer}
.check input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--red);flex:none}
.check a{text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form .actions{margin-top:26px}
.lead-form button.button{cursor:pointer}
.lead-form button[disabled]{opacity:.6;cursor:wait}
.form-status{margin-top:18px;font-size:14px;line-height:1.6;color:#c3c5c7;max-width:60ch}
.form-status:empty{display:none}
.form-status.is-error{color:#ff8a7a}
.form-status.is-ok{color:var(--paper)}
.form-status a{text-decoration:underline;color:var(--paper)}
.form-note-target{display:none;margin-top:18px;font-size:14px;color:var(--paper)}
.form-note-target:target{display:block}
.detail-form{max-width:900px;margin-top:8px}
.detail-form .lead-form{margin-top:0}

/* Piè di pagina */
.site-footer{border-top:1px solid var(--line);padding-block:40px 28px}
.footer-top{display:flex;align-items:center;gap:36px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.footer-top nav{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.footer-top nav a:hover{color:var(--paper)}
.footer-claim{margin-left:auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8e9297;white-space:nowrap}
.footer-bottom{padding-top:22px;display:flex;justify-content:space-between;gap:24px;font-size:11px;color:#8e9297}
.footer-bottom nav{display:flex;gap:24px}

/* ---------- Pagine interne ---------- */
.detail-page main{padding:150px 0 90px}
.detail-scene{margin:0 0 clamp(48px,6vh,72px)}
.detail-scene .scene{margin-top:0}
.detail-scene--mid{margin:clamp(48px,6vh,72px) 0 0}
.detail-scene--mid figcaption{left:auto;right:clamp(24px,4vw,56px);border-left:0;border-right:2px solid var(--red);border-radius:var(--radius) 0 0 var(--radius)}   /* a destra: il soggetto rosso sta a sinistra */
@media(max-width:760px){.detail-scene--mid figcaption{left:16px;right:16px}}
.detail-intro{max-width:920px;margin-bottom:64px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.detail-intro h1{max-width:820px;font-size:clamp(44px,4.6vw,68px)}
.detail-intro h1 .eyebrow{font-family:'Unlearn Sans',Arial,sans-serif;text-wrap:wrap}   /* l'etichetta sta dentro l'H1 dal 14/09: stesso aspetto di prima */
.detail-h1{display:block}   /* più piccolo del titolo della home: pagina interna, non apertura */
.detail-intro .lead{max-width:640px}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden}
.detail-block{background:var(--ink-2);padding:clamp(26px,3vw,40px);scroll-margin-top:120px}
.detail-block h2{font-size:clamp(26px,2.4vw,32px);margin-bottom:16px}
.detail-block p{font-size:15px;line-height:1.75;color:#c0c3c5;max-width:520px}
.detail-after{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.detail-block .detail-after strong{color:var(--paper)}
.detail-block ul{font-size:14px;line-height:2;color:#c0c3c5;padding-left:19px;margin:14px 0 0}
.detail-cta{padding-top:64px;margin-top:64px;border-top:1px solid var(--line)}
.detail-cta h2{font-size:clamp(40px,4vw,56px)}
.story{max-width:780px}
.story p{font-size:clamp(17px,1.25vw,19px);line-height:1.7;color:#d6d3cd;margin-top:18px;max-width:64ch}
.story p strong{color:var(--paper)}
.story h2{font-size:clamp(30px,2.6vw,38px);margin:clamp(48px,6vh,64px) 0 8px;line-height:1.05}
.story .story-quote{margin:clamp(40px,5vh,56px) 0;padding-left:24px;border-left:6px solid var(--red);font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(30px,3vw,44px);line-height:1;text-transform:uppercase;letter-spacing:-.02em;color:var(--paper);max-width:18ch}
.story .story-quote .dim{color:rgba(245,241,233,.5)}
.story-list{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px 14px}
.story-list li{font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(20px,1.8vw,26px);line-height:1;text-transform:uppercase;letter-spacing:-.01em;padding:12px 16px;border:1px solid var(--line-strong);border-radius:var(--radius)}
.story-people{margin-top:clamp(28px,4vh,40px)}
.story-people .detail-block h2{font-size:clamp(24px,2.2vw,30px);margin:0 0 12px;color:var(--red)}
.story-people .detail-block p{color:#d6d3cd;font-size:16px}
.story-people .detail-block p+p{margin-top:10px}
.story-note{margin-top:1px;background:var(--ink-2);padding:clamp(22px,2.6vw,32px) clamp(26px,3vw,40px);border-radius:var(--radius);border-left:4px solid var(--red)}
.story-note p{margin:0;font-size:16px;color:#d6d3cd;max-width:70ch}
.story .story-close{margin-top:22px;font-family:'Unlearn Display',sans-serif;font-weight:600;font-size:clamp(26px,2.6vw,36px);line-height:1.05;text-transform:uppercase;letter-spacing:-.02em;color:var(--red);max-width:20ch}
.legal-copy{max-width:780px}
.legal-copy h2{font-size:30px;margin:42px 0 16px;line-height:1.1}
.legal-copy h3{font-size:20px;margin:28px 0 12px}
.legal-copy p,.legal-copy li{font-size:14px;line-height:1.8;color:#c5c8cb}
.legal-copy a{text-decoration:underline}
.legal-copy table{display:block;overflow-x:auto;max-width:100%}
.legal-copy td,.legal-copy th{padding:12px;text-align:left;border-bottom:1px solid var(--line)}
.email-link{display:inline-block;margin-top:30px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:3px}

/* ---------- Senza JavaScript: tutto leggibile ---------- */
.no-js [data-reveal],.no-js [data-reveal-rise],.no-js [data-reveal-child]{opacity:1;transform:none}
.no-js .proof-bar i{transform:scaleX(1)}

/* ---------- Tablet ---------- */
@media(max-width:1050px){
  .site-header{gap:22px}
  .desktop-nav{gap:20px}
  .desktop-nav a{font-size:12px}
  .header-cta{font-size:12px;padding:9px 14px;gap:12px}
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:32px}
  .process-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .process-steps li{border-bottom:1px solid var(--line);min-height:150px}
  .process-steps li:nth-child(4n){border-right:0}
  .process-steps li:nth-child(n+5){border-bottom:0}
  .process-steps li:nth-child(7){border-right:1px solid var(--line)}
  .area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .funding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof-cases{grid-template-columns:1fr}
  .proof-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof-flow li{min-height:150px}
}

/* ---------- Telefono: ripensato ---------- */
@media(max-width:760px){
  :root{--chapter-gap:clamp(52px,7vh,64px)}   /* sito 1.0: 58px */
  html{scroll-padding-top:84px}
  .site-header{height:72px;gap:14px}
  .site-header.scrolled{height:64px}
  .brand{width:126px}
  .desktop-nav{display:none}
  .header-cta{margin-left:auto;font-size:11px;gap:10px;padding:8px 12px}
  .header-cta span{font-size:16px}
  .menu-toggle{display:block;margin-right:-10px}
  .mobile-menu{inset:64px 0 0}
  h1{font-size:clamp(42px,11vw,64px);line-height:.98}
  h2{font-size:clamp(36px,10.5vw,44px)}
  .method-head h2{font-size:clamp(34px,10vw,42px)}
  .questions h2{font-size:clamp(32px,9.5vw,40px)}
  .desktop-only{display:none}
  .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:20px}
  .lead{font-size:19px;margin-top:22px}
  .body{font-size:16px;margin-top:18px}
  .actions{margin-top:26px;width:100%}
  .actions .button{width:100%}
  .actions--row{gap:14px}
  .button{font-size:12px;min-height:54px;padding:14px 18px}
  .split,.method-head,.questions .split{grid-template-columns:1fr;gap:34px}
  .copy--sticky{position:static}

  /* Apertura sul telefono (rifatta il 14/09): titolo in alto sul soffitto buio, poltrona al centro, bottone in basso sul pavimento.
     Tutto in uno schermo; box fondi e riquadro del metodo sotto, su fondo pieno */
  .hero{min-height:0;height:auto}
  .hero-pin{position:relative;display:block;padding:0;min-height:0;height:auto;overflow:visible}
  .hero-stage{position:relative;inset:auto;height:max(100svh,640px)}
  .hero-stage img{object-position:50% 58%;transform:none}
  .no-js .hero-stage{background-image:url(/assets/hero-lit-v-codex.webp)}
  /* velature (14/09, video verticale): quella in alto finisce sopra lo schermo proiettato, così la scritta resta leggibile; quella in basso parte sotto la seduta della poltrona */
  .hero-shade{display:block;background:linear-gradient(0deg,var(--ink) 0%,var(--ink) 12%,rgba(16,17,19,.86) 24%,rgba(16,17,19,0) 40%),linear-gradient(180deg,rgba(7,8,10,.82) 0%,rgba(7,8,10,.5) 16%,rgba(7,8,10,0) 28%)}
  .hero-inner{position:relative;z-index:2;display:block;margin-top:-34svh;padding-bottom:8px}   /* sopra il palco: sottotitolo e bottone stanno sul pavimento */
  .hero-title{position:absolute;top:calc(84px - 66svh);left:var(--gutter);right:var(--gutter)}   /* titolo agganciato in alto, sul soffitto buio (il blocco parte a 66svh) */
  .hero-copy{position:static}
  .hero-copy h1{font-size:clamp(38px,10vw,56px);line-height:.96}.hero-h1{max-width:none}
  .hero-pre{font-size:13px;margin-bottom:14px;text-wrap:balance;max-width:24ch}
  .hero-pre .eyebrow-rule{display:none}
  .hero-subtitle{font-size:21px;margin-top:0}
  .hero-body{font-size:14px;margin-top:10px;color:#c9c5c6}
  .hero-copy .actions{margin-top:18px}
  .hero-funding{margin-top:28px;max-width:none;background:var(--ink-2);backdrop-filter:none;-webkit-backdrop-filter:none;padding:20px 20px 20px 22px}
  .hero-funding strong{font-size:20px}
  .terminal{max-width:none;justify-self:stretch;margin-top:16px;padding:24px 22px;background:var(--ink-2);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--line)}
  .terminal-row strong{font-size:16px}
  .marquee-group span{font-size:15px}

  .scene{min-height:0;aspect-ratio:4/5;margin-top:40px}
  .scene figcaption{bottom:22px}
  .scene:before{background:linear-gradient(0deg,rgba(16,17,19,.9) 0%,rgba(16,17,19,.6) 40%,rgba(16,17,19,0) 68%)}
  .scene figcaption{width:auto;left:16px;right:16px;top:auto;bottom:16px;transform:none;padding:18px 20px}
  .scene figcaption strong,.scene--funding figcaption strong{font-size:clamp(28px,8.5vw,40px)}
  .enemy{min-height:0}
  .enemy-bg img{object-position:50% 100%}
  .enemy:after{background:linear-gradient(180deg,var(--ink) 0%,rgba(16,17,19,.98) 12%,rgba(16,17,19,.93) 52%,rgba(16,17,19,.55) 68%,rgba(16,17,19,.05) 84%),linear-gradient(0deg,var(--ink) 0%,rgba(16,17,19,0) 12%)}
  .enemy .wrap{padding-block:64px 220px}
  .enemy-content{padding-left:18px;border-left-width:4px}
  .enemy-result{font-size:20px}
  .method-steps{grid-template-columns:1fr;margin-top:40px}
  .method-steps li{min-height:0;gap:14px;padding:22px}
  .step-number{font-size:36px}
  .process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-steps li{min-height:120px;padding:20px 16px;border-bottom:1px solid var(--line)}
  .process-steps li:nth-child(2n){border-right:0}
  .process-steps li:nth-child(4n){border-right:0}
  .process-steps li:nth-child(n+5){border-bottom:1px solid var(--line)}
  .process-steps li:nth-child(7){border-right:0;border-bottom:0;grid-column:1/-1}
  .process-steps strong{font-size:20px}
  .role-grid{grid-template-columns:1fr}
  .role-grid article{min-height:0;padding:24px}
  .area-grid{grid-template-columns:1fr}
  .area-grid article{min-height:0;padding:22px}
  .funding-steps{grid-template-columns:1fr}
  .funding-steps article{min-height:0;padding:20px;gap:12px}
  .guarantee-card{grid-template-columns:1fr;padding:32px 22px;border-left-width:6px;gap:28px}
  .guarantee-card h2{font-size:clamp(30px,8.5vw,36px)}
  .guarantee-image{aspect-ratio:4/5}
  .proof-case{padding:22px}
  .proof-flow{grid-template-columns:1fr}
  .proof-flow li{min-height:0;padding:20px;gap:14px}
  .faq-list summary{font-size:18px;padding:18px 0}
  .faq-list details p{padding-right:20px}
  .contact{min-height:0}
  .contact h2{font-size:clamp(40px,11vw,56px)}
  .contact-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr;gap:14px}
  .lead-form .actions{width:100%}
  .lead-form .actions .button{width:100%}
  .footer-top{flex-wrap:wrap;gap:18px}
  .footer-top nav{width:100%}
  .footer-claim{margin-left:0;white-space:normal}
  .footer-bottom{flex-direction:column;gap:16px}
  .detail-page main{padding-top:110px}
  .detail-grid{grid-template-columns:1fr}
}
@media(max-width:370px){
  :root{--gutter:18px}
  .header-cta{display:none}
  .menu-toggle{margin-left:auto}
  h1{font-size:40px}
}

/* ---------- Chi non vuole il movimento ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .hero-pin{position:relative}
  .hero{height:100svh}
  .terminal-code i{animation:none}
  .marquee-track{animation:none}
  .glow i{animation:none}
  .glow-pointer{display:none}
  .scene img,.enemy-bg img,.guarantee-image img{transform:none!important}
  .proof-bar i{transform:scaleX(1);transition:none}
}

/* ---------- Guida ai fondi (formazione finanziata, 14/09) ---------- */
.fund-guide a{border-bottom:1px solid var(--red);transition:color var(--dur-fast) var(--ease-out)}
.fund-guide a:hover{color:#fff}
.fund-guide .fund-source{font-size:13px;line-height:1.6;color:#8e9297}

/* ---------- Banner cookie (14/09) ----------
   Accetta e Rifiuta con la stessa evidenza, la X vale come Rifiuta (Garante, linee guida 10/06/2021).
   Superficie 2 con bordo, niente ombre come il resto del sito. Entra come un pannello: 360ms, curva di uscita. */
.cookie-banner{position:fixed;z-index:60;left:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,32px);width:min(460px,calc(100vw - 32px));padding:24px 24px 20px;background:var(--ink-2);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--paper);font-size:14px;line-height:1.6;opacity:0;transform:translateY(var(--reveal-y));transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.cookie-banner.is-in{opacity:1;transform:none}
.cookie-banner .eyebrow{margin-bottom:12px}
.cookie-text{color:#c0c3c5;padding-right:28px}
.cookie-text a{color:var(--paper);border-bottom:1px solid var(--red)}
.cookie-x{position:absolute;top:10px;right:10px;width:40px;height:40px;display:grid;place-items:center;padding:0;background:none;border:0;border-radius:var(--radius);font-size:26px;line-height:1;color:#c0c3c5;transition:color var(--dur-fast) var(--ease-out)}
.cookie-x:hover{color:var(--paper)}
.cookie-options{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.cookie-opt{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:13px;line-height:1.5;color:#c0c3c5;cursor:pointer}
.cookie-opt strong{display:block;color:var(--paper);font-weight:600}
.cookie-opt input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--red)}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.cookie-btn{min-height:46px;padding:12px 16px;background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--paper);font-size:13px;font-weight:600;letter-spacing:.02em;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}
.cookie-btn:hover{border-color:var(--paper);background:rgba(245,241,233,.06)}
.cookie-btn--salva{grid-column:1/-1}
.cookie-link{grid-column:1/-1;justify-self:start;padding:6px 0;background:none;border:0;border-bottom:1px solid var(--red);font-size:13px;font-weight:500;color:var(--paper)}
.footer-cookie{padding:0;background:none;border:0;font-size:inherit;color:inherit;transition:color var(--dur-fast) var(--ease-out)}
.footer-cookie:hover{color:var(--paper)}
.no-js .footer-cookie{display:none}
@media (max-width:760px){.cookie-banner{left:12px;right:12px;bottom:12px;width:auto;padding:20px 18px 16px}}
/* desktop: barra bassa a tutta larghezza, testo a sinistra e scelte a destra, così non copre il bottone dell'apertura */
@media (min-width:1024px){
  .cookie-banner{left:clamp(16px,2.4vw,32px);right:clamp(16px,2.4vw,32px);width:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;align-items:center;padding:18px 72px 18px 28px}
  .cookie-banner .eyebrow{grid-row:1;grid-column:1;margin-bottom:2px}
  .cookie-text{grid-row:2;grid-column:1;padding-right:0;max-width:86ch}
  .cookie-actions{grid-row:1/span 2;grid-column:2;margin-top:0;grid-template-columns:repeat(3,auto);align-items:center;gap:12px}
  .cookie-btn{min-width:150px}
  .cookie-btn--salva,.cookie-link{grid-column:auto}
  .cookie-link{justify-self:center;margin-left:8px}
  .cookie-options{grid-row:3;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .cookie-x{top:50%;transform:translateY(-50%)}
  .cookie-banner:has(.cookie-options:not([hidden])) .cookie-x{top:10px;transform:none}
}
@media (prefers-reduced-motion:reduce){.cookie-banner{transition:none;transform:none}}
