
/* Layout: a pinned 3D stage; the scene turns module by module while copy panels glow in over it. Single dark world, brand azure. */
:root{
  --night:#040a1c;
  --deep:#0a1838;
  --azure:#3a81ed;
  --azure-hi:#8fc0ff;
  --ink:#f3f7ff;
  --mute:#a9bbdc;
  --line:rgba(143,192,255,.22);
  --f-display:"Bricolage Grotesque", "Arial Black", system-ui, sans-serif;
  --f-accent:"Instrument Serif", Georgia, "Times New Roman", serif;
  --f-body:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{background:var(--night);color:var(--ink)}
body{font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(env(safe-area-inset-top,0px) + 14px) clamp(16px,4vw,40px) 14px;
  background:linear-gradient(to bottom,rgba(4,10,28,.85),rgba(4,10,28,0));}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:34px;height:auto;filter:drop-shadow(0 0 10px rgba(90,162,255,.6))}
.brand span{font-family:var(--f-display);font-weight:800;font-size:19px;letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;text-decoration:none;font:600 15px/1 var(--f-body);
  padding:13px 18px;border-radius:999px;color:#fff;background:var(--azure);
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 10px 30px -8px rgba(58,129,237,.8);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.3) inset,0 14px 36px -6px rgba(58,129,237,1)}
.btn:focus-visible,.rail button:focus-visible{outline:2px solid var(--azure-hi);outline-offset:3px}
.btn.ghost{background:rgba(255,255,255,.06);box-shadow:0 0 0 1px var(--line) inset}
.nav .btn{padding:11px 16px;font-size:14px}

/* STAGE */
.hero{position:relative;height:900vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}
#scene:active{cursor:grabbing}
.vignette{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 40%,transparent 55%,rgba(4,10,28,.75) 100%)}

/* PANELS */
.panels{position:absolute;inset:0;pointer-events:none}
.panel{position:absolute;left:clamp(16px,6vw,88px);top:50%;transform:translateY(-50%);width:min(520px,calc(100% - 32px));
  visibility:hidden}
.panel.on{visibility:visible;pointer-events:auto}
.panel h1,.panel h2{font-family:var(--f-display);font-weight:800;letter-spacing:-.035em;line-height:.98;margin:0 0 18px;text-wrap:balance}
.panel h1{font-size:clamp(40px,6.2vw,78px)}
.panel h2{font-size:clamp(34px,4.6vw,58px)}
.panel p{color:var(--mute);font-size:clamp(16px,1.35vw,18px);max-width:44ch;margin:0 0 22px}
.panel p strong{color:var(--ink);font-weight:600}
.acc{font-family:var(--f-accent);font-style:italic;font-weight:400;letter-spacing:-.01em}
.acc .w{background:linear-gradient(100deg,#fff 0%,#fff 38%,var(--azure-hi) 50%,#fff 62%,#fff 100%);background-size:260% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation-name:glowIn,shine;animation-duration:1s,4s;
  animation-iteration-count:1,infinite;animation-timing-function:cubic-bezier(.2,.7,.2,1),linear}
.panel .w{display:inline-block;opacity:0}
.panel.on .w{animation:glowIn 1s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 45ms + 80ms)}
.panel.on .acc .w{animation:glowIn 1s cubic-bezier(.2,.7,.2,1) both,shine 4s linear infinite;animation-delay:calc(var(--i) * 45ms + 80ms),1.2s}
@keyframes glowIn{
  0%{opacity:0;filter:blur(12px);transform:translateY(.35em) scale(.97);text-shadow:0 0 0 rgba(120,180,255,0)}
  55%{opacity:1;filter:blur(0);transform:none;text-shadow:0 0 28px rgba(120,180,255,.95)}
  100%{opacity:1;filter:none;transform:none;text-shadow:0 0 0 rgba(120,180,255,0)}}
@keyframes shine{from{background-position:130% 0}to{background-position:-130% 0}}
.fade{opacity:0;transform:translateY(12px)}
.panel.on .fade{animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--d,0) * 1ms + 450ms)}
@keyframes fadeUp{to{opacity:1;transform:none}}
.ctas{display:flex;flex-wrap:wrap;gap:10px}
.stat{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:26px}
.stat b{flex:none}
.stat b{font-family:var(--f-display);font-weight:800;font-size:clamp(30px,3.4vw,42px);letter-spacing:-.03em;font-variant-numeric:tabular-nums;
  text-shadow:0 0 24px rgba(58,129,237,.8)}
.stat span{color:var(--mute);font-size:15px;line-height:1.3;max-width:20ch}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.tags li{font-size:14px;padding:8px 12px;border-radius:999px;background:rgba(58,129,237,.14);box-shadow:0 0 0 1px var(--line) inset;color:#dce8ff}
.mod-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;
  background:linear-gradient(145deg,#4b90f5,#1f55c4);box-shadow:0 0 26px rgba(58,129,237,.7),0 0 0 1px rgba(255,255,255,.2) inset}
.mod-icon svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(255,255,255,.6))}

/* RAIL */
.rail{position:absolute;right:clamp(16px,3vw,40px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0;z-index:5}
.rail button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:6px 0;color:var(--mute);font:500 14px/1.2 var(--f-body);transition:color .3s}
.rail button i{width:10px;height:10px;border-radius:50%;background:rgba(143,192,255,.25);box-shadow:0 0 0 1px var(--line);transition:all .35s}
.rail button.on{color:var(--ink)}
.rail button.on i{background:var(--azure);box-shadow:0 0 14px 3px rgba(58,129,237,.9);transform:scale(1.3)}

.hint{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--mute);font-size:13px;transition:opacity .4s;pointer-events:none}
.hint i{width:1px;height:34px;background:linear-gradient(var(--azure-hi),transparent);animation:drip 1.8s ease-in-out infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0);opacity:1}70%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.hint.off{opacity:0}

.fallback{position:absolute;inset:0;display:none;place-items:center;color:var(--mute);text-align:center;padding:24px}
.nogl .fallback{display:grid}

/* AFTER */
.after{position:relative;padding-block:clamp(72px,12vw,140px);padding-inline:clamp(16px,6vw,88px);background:linear-gradient(var(--night),var(--deep))}
.after h2{font-family:var(--f-display);font-weight:800;font-size:clamp(30px,4vw,48px);letter-spacing:-.03em;line-height:1.02;margin:0 0 14px;max-width:18ch;text-wrap:balance}
.after p{color:var(--mute);max-width:52ch;margin:0}

/* MOBILE */
@media (max-width:760px){
  .panel{top:auto;bottom:0;left:0;transform:none;width:100%;padding:56px 16px calc(env(safe-area-inset-bottom,0px) + 22px);
    background:linear-gradient(to bottom,rgba(4,10,28,0),rgba(4,10,28,.86) 26%,rgba(4,10,28,.96))}
  .panel.intro{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 70px)}
  .panel h1{font-size:clamp(36px,10.4vw,46px);margin-bottom:12px}
  .panel h2{font-size:clamp(30px,8.6vw,38px);margin-bottom:12px}
  .panel p{margin-bottom:16px;font-size:15.5px}
  .stat{margin-top:18px}
  .mod-icon{width:40px;height:40px;margin-bottom:12px}
  .rail{top:calc(env(safe-area-inset-top,0px) + 74px);right:auto;left:50%;transform:translateX(-50%);flex-direction:row;gap:4px}
  .rail button{padding:8px 5px}
  .rail button span{display:none}
  .nav .btn span.long{display:none}
}
@media (prefers-reduced-motion:reduce){
  .panel .w,.panel.on .w,.fade,.panel.on .fade{animation:none!important;opacity:1;transform:none;filter:none}
  .hint i{animation:none}
}


/* ===== shared section system ===== */
.sec{position:relative;overflow-x:clip;padding-block:clamp(72px,11vw,140px);padding-inline:clamp(16px,6vw,88px);background:var(--night)}
.sec.deep{background:var(--deep)}
.wrap{max-width:1180px;margin:0 auto;min-width:0}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);align-items:center}
.head{max-width:760px;margin-bottom:clamp(36px,5vw,60px)}
.head.row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.sec h2{font-family:var(--f-display);font-weight:800;font-size:clamp(34px,4.6vw,60px);letter-spacing:-.035em;line-height:1;margin:0 0 18px;text-wrap:balance}
.sec h3{font-family:var(--f-display);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0 0 8px;font-size:clamp(19px,1.7vw,22px)}
.sec p{color:var(--mute);margin:0 0 16px;max-width:58ch}
.sec .copy{min-width:0}

/* reveal: words + fades, triggered by .in on the section */
[data-rv] .w{display:inline-block;opacity:0}
[data-rv].in .w{animation:glowIn 1s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 45ms + 60ms)}
[data-rv].in .acc .w{animation:glowIn 1s cubic-bezier(.2,.7,.2,1) both,shine 4s linear infinite;animation-delay:calc(var(--i) * 45ms + 60ms),1.2s}
[data-rv] .fade{opacity:0;transform:translateY(16px)}
[data-rv].in .fade{animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--d,0) * 1ms + 300ms)}

/* ===== problema ===== */
.pains{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}
.pains li{position:relative;padding:12px 14px 12px 44px;border-radius:14px;background:rgba(255,255,255,.035);box-shadow:0 0 0 1px rgba(143,192,255,.12) inset;color:#d6e2f7}
.pains li::before{content:"";position:absolute;left:15px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;
  background:radial-gradient(circle,#ff6b7a 0 35%,transparent 36%),rgba(255,107,122,.16)}
.compare{min-width:0}
.switch{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:0 0 0 1px var(--line) inset;margin-bottom:18px}
.switch button{all:unset;position:relative;z-index:1;text-align:center;padding:11px 8px;cursor:pointer;font:600 15px/1 var(--f-body);color:var(--mute);border-radius:999px;transition:color .3s}
.switch button[aria-selected="true"]{color:#fff}
.switch button:focus-visible{outline:2px solid var(--azure-hi);outline-offset:2px}
.knob{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:#2a3550;transition:transform .5s cubic-bezier(.5,0,.2,1),background .5s}
.compare.ep .knob{transform:translateX(100%);background:var(--azure);box-shadow:0 0 24px rgba(58,129,237,.7)}
.board{position:relative;aspect-ratio:1;max-width:460px;width:100%;margin:0 auto;border-radius:28px;
  background:radial-gradient(60% 60% at 50% 50%,rgba(58,129,237,.16),transparent 70%),rgba(255,255,255,.02);box-shadow:0 0 0 1px rgba(143,192,255,.1) inset}
.links{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--azure);stroke-width:1.5;stroke-dasharray:6 8;opacity:.15;transition:opacity .6s}
.compare.ep .links{opacity:.9;stroke-dasharray:none;filter:drop-shadow(0 0 6px rgba(58,129,237,.9));animation:spin 30s linear infinite;transform-origin:50% 50%}
@keyframes spin{to{transform:rotate(360deg)}}
.hub{position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;
  background:radial-gradient(circle at 35% 30%,#16295a,#0b1736);box-shadow:0 0 0 1px var(--line) inset;transition:box-shadow .6s}
.hub img{width:42%;opacity:.4;transition:opacity .6s,filter .6s}
.hub span{font-size:12px;color:var(--mute)}
.compare.ep .hub{box-shadow:0 0 0 1px rgba(143,192,255,.5) inset,0 0 50px rgba(58,129,237,.6)}
.compare.ep .hub img{opacity:1;filter:drop-shadow(0 0 10px rgba(143,192,255,.8))}
.piece{position:absolute;width:31%;padding:10px 8px;border-radius:14px;text-align:center;display:grid;gap:3px;
  background:rgba(255,255,255,.03);box-shadow:0 0 0 1px rgba(143,192,255,.1) inset;transform:translate(-50%,-50%);
  transition:all .7s cubic-bezier(.5,0,.2,1)}
.piece b{font:700 13.5px/1.15 var(--f-display);color:#7d8aa6}
.piece em{font-style:normal;font-size:11.5px;color:#5f6c88}
.p1{left:50%;top:15%}.p2{left:84%;top:32%}.p3{left:84%;top:68%}.p4{left:50%;top:85%}.p5{left:16%;top:68%}.p6{left:16%;top:32%}
/* classic: scattered, only one sold */
.compare:not(.ep) .p2{transform:translate(-40%,-80%) rotate(9deg)}
.compare:not(.ep) .p3{transform:translate(-20%,-20%) rotate(-7deg)}
.compare:not(.ep) .p4{transform:translate(-50%,-10%) rotate(5deg)}
.compare:not(.ep) .p5{transform:translate(-62%,-30%) rotate(8deg)}
.compare:not(.ep) .p6{transform:translate(-60%,-75%) rotate(-10deg)}
.compare:not(.ep) .piece.sold{background:rgba(255,107,122,.1);box-shadow:0 0 0 1px rgba(255,107,122,.4) inset}
.compare:not(.ep) .piece.sold b{color:#fff}
.compare:not(.ep) .piece.sold em{color:#ff9aa5}
.compare.ep .piece{background:linear-gradient(150deg,#4a8ff4,#2560d0);box-shadow:0 0 0 1px rgba(255,255,255,.25) inset,0 10px 30px -8px rgba(58,129,237,.9)}
.compare.ep .piece b{color:#fff}
.compare.ep .piece em{color:#dbe8ff}
.board-note{text-align:center;margin:18px auto 0!important;min-height:3.2em;max-width:42ch!important;font-size:15px}

/* ===== metodo: the road ===== */
.road{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:clamp(18px,3vw,28px);--prog:0}
.road::before,.road::after{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:14px;margin-left:-7px;border-radius:7px}
.road::before{background:#0a1430;box-shadow:0 0 0 1px rgba(143,192,255,.12) inset;
  background-image:linear-gradient(to bottom,rgba(143,192,255,.35) 50%,transparent 50%);background-size:2px 14px;background-repeat:repeat-y;background-position:center}
.road::after{background:linear-gradient(var(--azure-hi),var(--azure));box-shadow:0 0 18px rgba(58,129,237,.9),0 0 4px rgba(143,192,255,1);
  transform-origin:top;transform:scaleY(var(--prog));width:4px;margin-left:-2px}
.road li{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;align-items:start}
.road li > i{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#0b1736;box-shadow:0 0 0 2px rgba(143,192,255,.18);transition:all .5s}
.road li > i svg{width:24px;height:24px;fill:none;stroke:#7d8aa6;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}
.road li > div{padding:12px 18px 14px;border-radius:18px;background:rgba(255,255,255,.025);box-shadow:0 0 0 1px rgba(143,192,255,.08) inset;transition:all .5s;min-width:0}
.road li > div p{margin:0;font-size:15.5px}
.road li.lit > i{background:radial-gradient(circle at 35% 30%,#5a9cff,#2560d0);box-shadow:0 0 0 2px rgba(255,255,255,.35),0 0 26px 4px rgba(58,129,237,.75)}
.road li.lit > i svg{stroke:#fff}
.road li.lit > div{background:rgba(58,129,237,.08);box-shadow:0 0 0 1px rgba(143,192,255,.22) inset}
.road li.goal > i{width:72px;height:72px;margin-left:-8px}
.road li.goal h3{color:var(--azure-hi);font-size:clamp(22px,2.2vw,28px)}
@media (min-width:900px){
  .road{max-width:980px;margin:0 auto}
  .road::before,.road::after{left:50%}
  .road li{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:28px}
  .road li > i{grid-column:2}
  .road li > div{grid-column:3;grid-row:1}
  .road li:nth-child(even) > div{grid-column:1;text-align:right}
  .road li:nth-child(even) > div p{margin-left:auto}
  .road li.goal > i{margin-left:-8px}
}

/* ===== come iniziamo ===== */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.step{position:relative;padding:26px 24px;border-radius:22px;background:rgba(255,255,255,.03);box-shadow:0 0 0 1px rgba(143,192,255,.12) inset;min-width:0}
.step .n{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;margin-bottom:18px;font:800 18px/1 var(--f-display);
  background:linear-gradient(145deg,#4b90f5,#1f55c4);box-shadow:0 0 22px rgba(58,129,237,.6)}
.step:nth-child(2){background:linear-gradient(170deg,rgba(58,129,237,.18),rgba(58,129,237,.04));box-shadow:0 0 0 1px rgba(143,192,255,.3) inset}
.plan{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kpi{padding:12px;border-radius:14px;background:rgba(4,10,28,.55);box-shadow:0 0 0 1px rgba(143,192,255,.15) inset}
.kpi small{display:block;font-size:12px;color:var(--mute);line-height:1.25;margin-bottom:6px}
.kpi b{font:800 26px/1 var(--f-display);font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 16px rgba(58,129,237,.8)}
.funnel{grid-column:1/-1;display:grid;gap:5px;justify-items:center}
.funnel span{width:0;max-width:100%;padding:7px 0;text-align:center;font-size:12px;border-radius:8px;color:#fff;white-space:nowrap;overflow:hidden;
  background:linear-gradient(90deg,#2560d0,#4a8ff4);transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
.in .funnel span{width:var(--w)}
.in .funnel span:nth-child(2){transition-delay:.15s}.in .funnel span:nth-child(3){transition-delay:.3s}.in .funnel span:nth-child(4){transition-delay:.45s}

/* ===== stretto contatto (brand azure) ===== */
.sec.azure{background:radial-gradient(120% 90% at 85% 10%,#5b9bff 0%,var(--azure) 45%,#2a64d6 100%)}
.sec.azure p{color:#e8f0ff}
.sec.azure .acc .w{background:linear-gradient(100deg,#fff 0%,#fff 38%,#0b2a7a 50%,#fff 62%,#fff 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text}
.chat{display:grid;gap:10px;padding:18px;border-radius:26px;background:#0b141a;box-shadow:0 30px 80px -20px rgba(6,20,70,.7),0 0 0 1px rgba(255,255,255,.15) inset;min-width:0}
.bub{position:relative;max-width:84%;padding:9px 12px 20px;border-radius:14px;font-size:14.5px;line-height:1.35;color:#e9edef}
.bub b{display:block;font-size:12.5px;color:#f5c26b;margin-bottom:2px}
.bub time{position:absolute;right:10px;bottom:5px;font-size:11px;color:rgba(233,237,239,.6)}
.bub.in{background:#202c33;justify-self:start;border-top-left-radius:4px}
.bub.out{background:#005c4b;justify-self:end;border-top-right-radius:4px}
.bub.voice{display:flex;align-items:center;gap:10px;width:min(270px,84%);padding-bottom:18px}
.play{all:unset;cursor:pointer;flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12)}
.play svg{width:16px;height:16px;fill:#fff}
.play:focus-visible{outline:2px solid #fff;outline-offset:2px}
.wave{flex:1;height:26px;display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}
.wave s{flex:none;width:2px;border-radius:2px;background:rgba(233,237,239,.45);transition:background .15s}
.wave s.p{background:#53bdeb}
.bub.voice.playing .play{background:#53bdeb}

/* ===== chi sono ===== */
.founder{align-items:start}
.media{position:relative;min-width:0}
.photo{margin:0;border-radius:26px;overflow:hidden;aspect-ratio:4/4.4;background:#e9eef7;box-shadow:0 0 0 1px rgba(143,192,255,.2)}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.vid{position:absolute;right:-12px;bottom:-28px;width:42%;max-width:220px;border-radius:18px;overflow:hidden;background:#000;
  box-shadow:0 20px 50px -10px rgba(0,0,0,.7),0 0 0 3px var(--night),0 0 30px rgba(58,129,237,.5)}
.vid video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#000}
blockquote{margin:22px 0;padding:18px 20px;border-radius:18px;font-family:var(--f-accent);font-style:italic;font-size:clamp(22px,2.2vw,28px);line-height:1.2;color:#fff;
  background:linear-gradient(150deg,rgba(58,129,237,.22),rgba(58,129,237,.05));box-shadow:0 0 0 1px rgba(143,192,255,.25) inset}
.sign{display:grid;gap:2px}
.sign b{font:800 20px/1.1 var(--f-display)}
.sign span{color:var(--mute);font-size:14px}

/* ===== risultati ===== */
.proofs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.proof{grid-column:span 2;position:relative;overflow:hidden;padding:24px;border-radius:22px;display:flex;flex-direction:column;gap:4px;
  background:linear-gradient(165deg,rgba(58,129,237,.16),rgba(58,129,237,.03));box-shadow:0 0 0 1px rgba(143,192,255,.22) inset;min-width:0}
.proof.feat{grid-column:span 2;grid-row:span 2;background:radial-gradient(120% 90% at 85% 0%,#5b9bff 0%,#3a81ed 45%,#2458c4 100%);box-shadow:0 30px 70px -25px rgba(58,129,237,.9),0 0 0 1px rgba(255,255,255,.25) inset}
.proof .kind{font-size:13px;color:var(--azure-hi);margin-bottom:10px}
.proof.feat .kind{color:#e3edff}
.proof b{font:800 clamp(34px,3.6vw,46px)/1 var(--f-display);letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 22px rgba(58,129,237,.8)}
.proof.feat b{font-size:clamp(48px,5.4vw,72px);text-shadow:0 0 30px rgba(255,255,255,.35)}
.proof > span:not(.kind){color:#d6e2f7;font-size:15px;margin-bottom:14px}
.proof.feat > span:not(.kind){color:#fff;font-size:17px}
.proof h3{margin:auto 0 0;font-size:18px}
.proof.feat h3{font-size:24px}
.msgs{margin-top:clamp(40px,6vw,64px)}
.msgs > h3{margin-bottom:16px}
.msg-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;margin-inline:-2px;scrollbar-width:thin}
.msg-track .bub{flex:none;width:min(300px,78vw);max-width:none;scroll-snap-align:start;background:#202c33;box-shadow:0 14px 30px -14px rgba(0,0,0,.8)}
.note{font-size:13px!important;color:#7f8eac!important;margin-top:18px!important}
@media (max-width:900px){.proofs{grid-template-columns:repeat(2,minmax(0,1fr))}.proof,.proof.feat{grid-column:span 1;grid-row:auto}.proof.feat{grid-column:1/-1}}
@media (max-width:420px){.proofs{grid-template-columns:minmax(0,1fr)}.proof{padding:20px}}

/* ===== insights ===== */
.more{color:var(--azure-hi);font-weight:600;text-decoration:none}
.more:hover{text-decoration:underline}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.post{display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:22px;text-decoration:none;background:rgba(255,255,255,.03);
  box-shadow:0 0 0 1px rgba(143,192,255,.12) inset;transition:transform .3s,box-shadow .3s,background .3s;min-width:0}
.post:hover,.post:focus-visible{transform:translateY(-4px);background:rgba(58,129,237,.1);box-shadow:0 0 0 1px rgba(143,192,255,.35) inset,0 20px 40px -20px rgba(58,129,237,.8);outline:none}
.post .cat{font-size:13px;color:var(--azure-hi);margin-bottom:6px}
.post p{margin:0;font-size:15px}

/* ===== faq ===== */
.faq{display:grid;gap:10px;min-width:0}
.faq details{border-radius:16px;background:rgba(255,255,255,.03);box-shadow:0 0 0 1px rgba(143,192,255,.12) inset;transition:background .3s}
.faq details[open]{background:rgba(58,129,237,.09)}
.faq summary{list-style:none;cursor:pointer;padding:17px 52px 17px 20px;position:relative;font:700 17px/1.3 var(--f-display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:20px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--azure-hi);border-bottom:2px solid var(--azure-hi);transform:rotate(45deg);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(225deg);margin-top:-2px}
.faq summary:focus-visible{outline:2px solid var(--azure-hi);outline-offset:-2px;border-radius:16px}
.faq details p{padding:0 20px 18px;margin:0;font-size:15.5px}

/* ===== questionario ===== */
.quiz-sec{background:radial-gradient(80% 70% at 80% 30%,rgba(58,129,237,.22),transparent 70%),var(--night)}
.quiz{padding:clamp(20px,3vw,32px);border-radius:28px;background:linear-gradient(170deg,#0f2150,#0a1838);box-shadow:0 0 0 1px rgba(143,192,255,.25) inset,0 40px 90px -30px rgba(58,129,237,.6);min-width:0}
.qbar{height:5px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:16px}
.qbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--azure),var(--azure-hi));box-shadow:0 0 12px var(--azure);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--mute);margin-bottom:14px;min-height:24px}
.qback{all:unset;cursor:pointer;color:var(--azure-hi);font-weight:600}
.qback:focus-visible{outline:2px solid var(--azure-hi);outline-offset:3px}
.qstep{animation:qIn .45s cubic-bezier(.2,.7,.2,1) both}
@keyframes qIn{from{opacity:0;transform:translateX(18px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.qstep h3{font-size:clamp(21px,2.1vw,26px);margin-bottom:16px}
.opts{display:grid;gap:10px}
.opt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:14px;font-size:15.5px;
  background:rgba(255,255,255,.04);box-shadow:0 0 0 1px rgba(143,192,255,.18) inset;transition:all .25s}
.opt::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 2px rgba(143,192,255,.45) inset;transition:all .25s}
.opt:hover{background:rgba(58,129,237,.12)}
.opt:focus-visible{outline:2px solid var(--azure-hi);outline-offset:2px}
.opt.sel{background:rgba(58,129,237,.22);box-shadow:0 0 0 1px var(--azure) inset,0 0 20px rgba(58,129,237,.35)}
.opt.sel::before{background:var(--azure);box-shadow:0 0 0 2px #fff inset,0 0 10px var(--azure)}
.fields{display:grid;gap:12px}
.fields label{display:grid;gap:6px;font-size:14px;color:var(--mute)}
.fields input{font:500 16px/1.2 var(--f-body);color:#fff;padding:14px 14px;border-radius:12px;border:0;background:rgba(255,255,255,.06);box-shadow:0 0 0 1px rgba(143,192,255,.2) inset;width:100%}
.fields input:focus{outline:none;box-shadow:0 0 0 2px var(--azure) inset,0 0 18px rgba(58,129,237,.4)}
.fields .err{color:#ff9aa5;font-size:13.5px;min-height:1.2em;margin:0}
.qsubmit{margin-top:6px;justify-content:center}
.result h3{font-size:clamp(24px,2.6vw,32px)}
.result .tag{display:inline-block;font-size:13px;padding:6px 11px;border-radius:999px;background:rgba(58,129,237,.2);color:#dce8ff;margin-bottom:12px}
.bars{display:grid;gap:10px;margin:18px 0 20px}
.bars div{display:grid;grid-template-columns:110px minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:14px;color:#d6e2f7}
.bars i{height:8px;border-radius:8px;background:rgba(255,255,255,.07);overflow:hidden;position:relative}
.bars i::after{content:"";position:absolute;inset:0;width:var(--v);border-radius:8px;background:linear-gradient(90deg,#2560d0,#6aa8ff);animation:grow 1s cubic-bezier(.2,.7,.2,1) both}
.bars .top i::after{background:linear-gradient(90deg,#ff7a8a,#ffb3bc);box-shadow:0 0 12px rgba(255,122,138,.7)}
.bars b{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}
@keyframes grow{from{width:0}}

/* ===== footer + mobile cta ===== */
.foot{padding-block:56px calc(env(safe-area-inset-bottom,0px) + 90px);padding-inline:clamp(16px,6vw,88px);background:#030816;box-shadow:0 -1px 0 rgba(143,192,255,.1)}
.foot .wrap{display:grid;gap:16px}
.foot p{color:var(--mute);max-width:52ch;margin:0}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot nav a{color:#d6e2f7;text-decoration:none}
.foot nav a:hover{color:#fff;text-decoration:underline}
.foot small{color:#6f7d9c}
.mcta{display:none}

@media (max-width:900px){
  .two{grid-template-columns:minmax(0,1fr)}
  .steps,.posts{grid-template-columns:minmax(0,1fr)}
  .founder .media{margin-bottom:24px;max-width:460px}
}
@media (max-width:760px){
  .mcta{display:block;position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:30;text-align:center;text-decoration:none;
    font:700 16px/1 var(--f-body);color:#fff;padding:17px;border-radius:999px;background:var(--azure);
    box-shadow:0 0 0 1px rgba(255,255,255,.25) inset,0 14px 34px -6px rgba(58,129,237,.9);transform:translateY(160%);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
  .mcta.show{transform:none}
  .vid{right:-4px;width:40%}
  .bars div{grid-template-columns:96px minmax(0,1fr) 30px}
}
@media (prefers-reduced-motion:reduce){
  [data-rv] .w,[data-rv].in .w,[data-rv] .fade,[data-rv].in .fade{animation:none!important;opacity:1;transform:none;filter:none}
  .compare.ep .links{animation:none}
}

