/* ============================================================
   SIGILENS — sito aziendale
   Palette ufficiale: Blu Abisso #0A1B3D · Rosso Bande #C8102E
   Argento #C3C9D2 · Bianco. Font: Lora (display), IBM Plex Mono
   (eyebrow/dati), Inter (testo).
   ============================================================ */
:root{
  --blu:#0A1B3D; --blu-900:#05112A; --blu-800:#0B1E45; --blu-700:#102858;
  --rosso:#C8102E; --rosso-sc:#A10C24; --rosso-br:#E63148;
  --argento:#C3C9D2; --carta:#FFFFFF; --nebbia:#F4F6FA;
  --ink:#0A1B3D; --testo:#36405C; --tenue:#6B7390; --fioco:#9AA2B6;
  --linea:#E6E9F0; --d-testo:#C7D0E2; --d-tenue:#8E9BB8; --d-linea:#20305A;
  --ombra:0 10px 40px rgba(8,18,45,.12);
  --rad:14px; --max:1160px;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --serif:"Lora",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--testo);background:var(--carta);line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:600;line-height:1.14;margin:0;letter-spacing:-.015em}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--rosso);font-weight:600}
.eyebrow.arg{color:var(--argento)}
.lead{font-size:19px;line-height:1.6;color:var(--testo);max-width:620px}
.dark .lead{color:var(--d-testo)}
section{position:relative}
.sec{padding:110px 0;overflow:hidden}
.sec-dark{background:var(--blu);color:var(--d-testo)}
.sec-dark h1,.sec-dark h2,.sec-dark h3,.sec-dark h4{color:#fff}
.sec-mist{background:var(--nebbia)}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}

/* progress + scroll reveal */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--rosso),var(--rosso-br));z-index:120;box-shadow:0 0 12px rgba(230,49,72,.6)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.40s}

/* ---------- NAV ---------- */
header.nav{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .4s,box-shadow .4s,padding .4s;padding:22px 0}
header.nav.scrolled{background:rgba(8,18,45,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06),0 10px 30px rgba(0,0,0,.35);padding:14px 0}
.nav .row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav .brand{height:34px;display:flex;align-items:center}
.nav .brand img{height:30px}
.nav nav{display:flex;align-items:center;gap:28px}
.nav nav a{font-size:14px;color:#D4DBEC;font-weight:500;position:relative;transition:color .25s}
.nav nav a:after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--rosso);transition:width .3s}
.nav nav a:hover{color:#fff}.nav nav a:hover:after{width:100%}
.nav .menu-btn{display:none;background:none;border:0;cursor:pointer;width:34px;height:28px;position:relative}
.nav .menu-btn span{position:absolute;left:3px;right:3px;height:2px;background:#fff;transition:.3s}
.nav .menu-btn span:nth-child(1){top:5px}.nav .menu-btn span:nth-child(2){top:13px}.nav .menu-btn span:nth-child(3){top:21px}

/* ---------- BUTTONS ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:15px;padding:15px 28px;border-radius:40px;cursor:pointer;border:0;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;isolation:isolate}
.btn .ic{width:16px;height:16px;transition:transform .3s}
.btn-primary{background:linear-gradient(120deg,var(--rosso),var(--rosso-br));color:#fff;box-shadow:0 10px 26px rgba(200,16,46,.38)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(200,16,46,.55)}
.btn-primary:hover .ic{transform:translateX(4px)}
.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.45),transparent 80%);transform:translateX(-120%);transition:transform .7s;z-index:-1}
.btn-primary:hover:before{transform:translateX(120%)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);transform:translateY(-3px)}
.btn-dark{background:var(--blu);color:#fff;box-shadow:var(--ombra)}
.btn-dark:hover{transform:translateY(-3px);background:var(--blu-700)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:radial-gradient(120% 90% at 50% -10%,#13285C 0%,#0A1B3D 50%,#05112A 100%);color:#fff;overflow:hidden}
#net{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.hero-rings{position:absolute;top:50%;left:50%;width:min(900px,120vw);aspect-ratio:1;transform:translate(-50%,-52%);pointer-events:none;opacity:.6}
.hero-rings .ring{fill:none;stroke-width:1}
.hero-rings .r1{stroke:var(--rosso);opacity:.35;animation:spin 60s linear infinite}
.hero-rings .r2{stroke:var(--argento);opacity:.16;animation:spin 90s linear infinite reverse}
.hero-rings .r3{stroke:var(--rosso);opacity:.12;animation:spin 120s linear infinite}
@keyframes spin{to{transform:rotate(360deg);transform-origin:center}}
.hero-glow{position:absolute;top:0;left:50%;width:760px;height:760px;transform:translate(-50%,-30%);background:radial-gradient(circle,rgba(230,49,72,.22),transparent 60%);pointer-events:none;filter:blur(10px)}
.hero .wrap{position:relative;z-index:3;text-align:center;padding-top:80px}
.hero-eye{width:120px;margin:0 auto 10px;filter:drop-shadow(0 6px 30px rgba(230,49,72,.5));animation:floaty 6s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-10px)}}
.hero h1{font-size:clamp(44px,8vw,96px);color:#fff;letter-spacing:-.02em;margin:14px 0 0;opacity:0;transform:translateY(30px);animation:rise .9s .2s cubic-bezier(.2,.7,.2,1) forwards}
.hero .scan{height:2px;width:120px;margin:26px auto;background:linear-gradient(90deg,transparent,var(--rosso),transparent);position:relative;overflow:hidden}
.hero .scan:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff,transparent);animation:sweep 2.6s ease-in-out infinite}
@keyframes sweep{0%{transform:translateX(-120%)}60%,100%{transform:translateX(120%)}}
.hero .sub{font-size:clamp(17px,2.4vw,22px);color:#C3CEE6;max-width:680px;margin:0 auto;opacity:0;animation:rise .9s .5s cubic-bezier(.2,.7,.2,1) forwards}
.hero .cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px;opacity:0;animation:rise .9s .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:2px;color:#9FB0D6;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-cue .dot{width:22px;height:36px;border:1.5px solid #5E6E9C;border-radius:12px;position:relative}
.scroll-cue .dot:before{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:4px;height:7px;border-radius:2px;background:var(--rosso);animation:wheel 1.8s infinite}
@keyframes wheel{0%{opacity:0;top:6px}30%{opacity:1}70%{opacity:1}100%{opacity:0;top:18px}}

/* chip row / metrics */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--rad);overflow:hidden;box-shadow:var(--ombra)}
.metric{background:#fff;padding:26px 16px;text-align:center}
.metric .v{font-family:var(--serif);font-size:34px;color:var(--ink);line-height:1}
.metric .v.sm{font-size:21px}
.metric .l{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--tenue);margin-top:8px;text-transform:uppercase}

/* section heading */
.shead{max-width:720px}
.shead h2{font-size:clamp(30px,4.5vw,46px);margin-top:14px}
.shead.center{margin:0 auto}

/* cards */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:1fr 1fr}
.card{background:#fff;border:1px solid var(--linea);border-radius:var(--rad);padding:28px;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s;position:relative;overflow:hidden}
.card.top{border-top:3px solid var(--rosso)}
.card:hover{transform:translateY(-8px);box-shadow:var(--ombra);border-color:#D9DEEA}
.card .k{font-family:var(--mono);font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--rosso-sc);font-weight:600}
.card h3{font-size:21px;margin:12px 0 8px}
.card p{font-size:15px;color:var(--testo)}
.sec-dark .card{background:rgba(255,255,255,.045);border-color:#28396180}
.sec-dark .card p{color:var(--d-testo)}
.sec-dark .card:hover{border-color:#3A4D7A;background:rgba(255,255,255,.07)}

/* question list */
.qlist{max-width:520px;margin:0 auto;border:1px solid var(--linea);border-radius:var(--rad);background:#fff;overflow:hidden;box-shadow:var(--ombra)}
.qlist li{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 24px;border-top:1px solid var(--linea);font-size:16px;color:var(--ink)}
.qlist li:first-child{border-top:0}
.qlist li:before{content:"";width:8px;height:8px;background:var(--rosso);flex:0 0 auto}

/* AI demo */
.ai{display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:center}
.codebox{font-family:var(--mono);font-size:12.5px;line-height:1.7;background:var(--blu-900);color:#8293BA;border:1px solid var(--d-linea);border-radius:var(--rad);padding:22px;min-height:150px;box-shadow:var(--ombra)}
.codebox .cr{white-space:pre-wrap}
.ai-arrow{font-size:28px;color:var(--rosso)}
.aiout{background:#fff;border:1px solid var(--linea);border-left:4px solid var(--rosso);border-radius:var(--rad);padding:22px;box-shadow:var(--ombra)}
.aiout .sev{font-family:var(--mono);font-size:10px;letter-spacing:.5px;background:var(--rosso);color:#fff;padding:3px 9px;border-radius:4px;font-weight:600}
.aiout h4{font-size:17px;margin:0 0 8px}
.aiout .act{color:var(--rosso-sc);font-weight:600;margin-top:10px}

/* pipeline */
.pipe{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{background:#fff;border:1px solid var(--linea);border-radius:var(--rad);padding:20px 16px;position:relative;transition:transform .4s,box-shadow .4s}
.step:hover{transform:translateY(-6px);box-shadow:var(--ombra)}
.step .n{font-family:var(--serif);font-size:24px;color:var(--rosso)}
.step h4{font-size:15.5px;margin:6px 0 4px}
.step p{font-size:13px;color:var(--tenue)}
.step.goal{background:linear-gradient(135deg,var(--rosso),var(--rosso-br));border-color:transparent;color:#fff}
.step.goal .n,.step.goal h4{color:#fff}.step.goal p{color:#FBD9DE}

/* flow */
.flowwrap{background:#fff;border:1px solid var(--linea);border-radius:var(--rad);padding:28px;box-shadow:var(--ombra);overflow-x:auto}
.flowwrap svg{min-width:640px}
.flow-node rect,.flow-node polygon{fill:#fff;stroke:var(--blu);stroke-width:1.4}
.flow-node.red rect{fill:var(--rosso);stroke:var(--rosso)}
.flow-node text{font-family:var(--sans);fill:var(--blu)}
.flow-node.red text{fill:#fff}
.flow-line{stroke:var(--blu);stroke-width:1.6;fill:none;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1s ease}
.flow.in .flow-line{stroke-dashoffset:0}
.flow-line.red{stroke:var(--rosso)}

/* vision mission */
.vm{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vmcard{background:var(--blu-800);border:1px solid var(--d-linea);border-radius:18px;padding:34px;position:relative;overflow:hidden}
.vmcard .lab{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--argento)}
.vmcard .lab span{color:var(--rosso)}
.vmcard .lab em{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:0;color:var(--d-tenue);font-size:13px;margin-left:10px}
.vmcard h3{color:#fff;font-size:24px;margin:16px 0 12px}
.vmcard p{color:var(--d-testo);font-size:15px}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.tier{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:30px 26px;transition:transform .4s,box-shadow .4s}
.tier:hover{transform:translateY(-8px);box-shadow:var(--ombra)}
.tier .nm{font-family:var(--serif);font-size:20px;color:var(--ink);text-align:center}
.tier .pr{font-family:var(--serif);font-size:24px;color:var(--rosso);text-align:center;margin:8px 0 2px}
.tier .cad{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--tenue);text-align:center;text-transform:uppercase;padding-bottom:16px;border-bottom:1px solid var(--linea)}
.tier ul{list-style:none;margin:16px 0 0;padding:0}
.tier li{font-size:13.5px;padding:9px 0 9px 20px;position:relative;border-bottom:1px solid var(--linea);color:var(--testo)}
.tier li:before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;background:var(--rosso)}
.upfront{background:var(--blu);color:#fff;border-radius:18px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;box-shadow:var(--ombra);position:relative;overflow:hidden}
.upfront .big{font-family:var(--serif);font-size:30px;color:#fff}
.upfront .eye-wm{position:absolute;right:120px;top:-20px;width:150px;opacity:.1;pointer-events:none}

/* audience chips */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.aud .a{background:#fff;border:1px solid var(--linea);border-top:3px solid var(--rosso);border-radius:var(--rad);padding:20px 22px;transition:transform .35s,box-shadow .35s}
.aud .a:hover{transform:translateY(-5px);box-shadow:var(--ombra)}
.aud .a h4{font-size:16px}.aud .a p{font-size:13px;color:var(--tenue);margin-top:5px}

/* CTA band */
.ctaband{background:radial-gradient(120% 120% at 50% 0,#13285C,#0A1B3D 60%,#05112A);color:#fff;border-radius:24px;padding:64px 40px;text-align:center;position:relative;overflow:hidden;box-shadow:var(--ombra)}
.ctaband h2{color:#fff;font-size:clamp(28px,4vw,44px)}
.ctaband .sig{width:120px;margin:0 auto 18px;opacity:.95}

/* footer */
footer{background:var(--blu-900);color:var(--d-testo);padding:70px 0 30px}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--d-linea)}
footer .brand img{height:34px;margin-bottom:16px}
footer h5{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--argento);margin:0 0 14px}
footer a{color:#B9C3DB;font-size:14px;display:block;padding:5px 0;transition:color .25s}
footer a:hover{color:#fff}
footer .data div{font-size:13.5px;padding:4px 0;color:#B9C3DB}
footer .data b{color:#fff;font-weight:600}
footer .bot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--d-tenue)}

/* floating symbols */
.wm-float{position:absolute;pointer-events:none;opacity:.05;z-index:0}

/* responsive */
@media(max-width:900px){
  .g3,.pipe,.aud,.tiers{grid-template-columns:1fr 1fr}
  .ai{grid-template-columns:1fr}.ai-arrow{transform:rotate(90deg);justify-self:center}
  .vm,.g2{grid-template-columns:1fr}
  footer .top{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .sec{padding:72px 0}
  .metrics{grid-template-columns:1fr 1fr}
  .g3,.pipe,.aud,.tiers{grid-template-columns:1fr}
  .nav nav{position:fixed;inset:0 0 auto 0;top:0;flex-direction:column;background:var(--blu);padding:90px 28px 30px;transform:translateY(-110%);transition:transform .4s;gap:22px;align-items:flex-start}
  .nav nav.open{transform:none}
  .nav .menu-btn{display:block;z-index:101}
  footer .top{grid-template-columns:1fr}
}
/* ============================================================
   ESTENSIONI — preloader, video hero, glitch, effetti cyber
   ============================================================ */

/* ---------- PRELOADER / INTRO ---------- */
body.preloading{overflow:hidden}
#preloader{position:fixed;inset:0;z-index:9999;background:radial-gradient(120% 90% at 50% 0,#163163,#0A1B3D 55%,#04102A);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .9s ease,visibility .9s}
#preloader.done{opacity:0;visibility:hidden;pointer-events:none}
#preNet{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.pre-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(120,150,210,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(120,150,210,.10) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 24%,transparent 70%);mask-image:radial-gradient(circle at 50% 50%,#000 24%,transparent 70%)}
.pre-scan{position:absolute;left:0;right:0;top:-160px;height:160px;background:linear-gradient(180deg,transparent,rgba(130,160,220,.14),transparent);animation:preScan 2.6s linear infinite}
@keyframes preScan{0%{top:-160px}100%{top:100%}}
.pre-core{position:relative;z-index:3;text-align:center;width:min(430px,84vw)}
.pre-rings{position:absolute;top:38%;left:50%;width:380px;max-width:130%;transform:translate(-50%,-50%);opacity:.5;pointer-events:none}
.pre-rings circle{fill:none;stroke-width:1;transform-origin:center}
.pre-rings circle:nth-child(1){stroke:var(--rosso);opacity:.45;animation:spin 20s linear infinite}
.pre-rings circle:nth-child(2){stroke:var(--argento);opacity:.22;animation:spin 30s linear infinite reverse}
.pre-rings circle:nth-child(3){stroke:var(--rosso);opacity:.18;animation:spin 40s linear infinite}
.pre-rings circle:nth-child(4){stroke:var(--argento);opacity:.14;animation:spin 26s linear infinite reverse}
.pre-logo{width:min(300px,76vw);margin:0 auto;opacity:0;filter:drop-shadow(0 8px 30px rgba(230,49,72,.35));animation:preFade 1.1s .2s forwards}
.pre-tag{font-family:var(--mono);font-size:11px;letter-spacing:6px;color:var(--argento);margin-top:14px;opacity:0;animation:preFade 1s .75s forwards}
@keyframes preFade{to{opacity:1}}
.pre-bar{width:100%;height:3px;background:rgba(255,255,255,.12);border-radius:3px;margin-top:28px;overflow:hidden}
.pre-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rosso),var(--rosso-br));box-shadow:0 0 14px rgba(230,49,72,.75);transition:width .25s ease}
.pre-boot{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--d-tenue);margin-top:11px}
.pre-boot b{color:#fff;font-weight:600}

/* ---------- HERO: video di sfondo + CRT ---------- */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.6}
.hero-video-tint{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(6,16,40,.55),rgba(8,18,45,.35) 40%,rgba(5,15,36,.82));}
#net{z-index:2}
.hero-rings{z-index:2}
.hero-glow{z-index:2}
.hero-noise{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.45;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);mix-blend-mode:overlay;animation:noiseShift 5s steps(6) infinite}
@keyframes noiseShift{to{background-position:0 18px}}

/* ---------- GLITCH sul titolo ---------- */
.hero h1.glitch{position:relative}
.glitch:before,.glitch:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;color:#fff;overflow:hidden;pointer-events:none}
.glitch:before{text-shadow:-2px 0 var(--rosso);clip-path:inset(0 0 56% 0);-webkit-clip-path:inset(0 0 56% 0);animation:glT 5s infinite}
.glitch:after{text-shadow:2px 0 #46b6ff;clip-path:inset(56% 0 0 0);-webkit-clip-path:inset(56% 0 0 0);animation:glB 5.4s infinite}
@keyframes glT{0%,90%,100%{transform:translate(0)}91%{transform:translate(-3px,-2px)}93%{transform:translate(3px,1px)}95%{transform:translate(-2px,2px)}97%{transform:translate(2px,-1px)}}
@keyframes glB{0%,88%,100%{transform:translate(0)}89%{transform:translate(3px,2px)}92%{transform:translate(-3px,-1px)}94%{transform:translate(2px,1px)}96%{transform:translate(-2px,-2px)}}

/* ---------- pulsante pulsante ---------- */
.btn-pulse{animation:btnPulse 2.6s ease-in-out infinite}
@keyframes btnPulse{0%,100%{box-shadow:0 10px 26px rgba(200,16,46,.40)}50%{box-shadow:0 12px 34px rgba(200,16,46,.62),0 0 26px rgba(230,49,72,.45)}}
.cta-note{font-family:var(--mono);font-size:11px;letter-spacing:.5px;color:#9FB0D6;margin-top:16px;text-align:center}

/* ---------- SELETTORE LINGUA ---------- */
.nav-right{display:flex;align-items:center;gap:12px}
.lang{position:relative}
.lang-btn{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#D4DBEC;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.5px;padding:7px 11px;border-radius:30px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.lang-btn:hover{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.4)}
.lang-btn .globe{width:15px;height:15px;flex:0 0 auto}
.lang-btn .chev{width:11px;height:11px;transition:transform .3s}
.lang.open .lang-btn .chev{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;background:#0B1E45;border:1px solid var(--d-linea);border-radius:12px;padding:6px;min-width:172px;box-shadow:0 20px 50px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;z-index:130}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;color:#D4DBEC;font-family:var(--sans);font-size:14px;text-align:left;padding:9px 12px;border-radius:8px;cursor:pointer;transition:background .2s,color .2s}
.lang-menu button:hover{background:rgba(255,255,255,.08);color:#fff}
.lang-menu button b{font-family:var(--mono);font-size:11px;color:var(--rosso-br);min-width:28px;display:inline-block;font-weight:700}

/* ---------- script non-latini ---------- */
html[lang=zh] body,html[lang=zh] .eyebrow,html[lang=zh] .pre-tag{font-family:"Noto Sans SC",var(--sans)}
html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3,html[lang=zh] h4,html[lang=zh] .metric .v,html[lang=zh] .tier .nm,html[lang=zh] .tier .pr,html[lang=zh] .upfront .big{font-family:"Noto Sans SC",var(--serif)}

/* ---------- RTL (arabo) ---------- */
[dir=rtl] body{direction:rtl}
[dir=rtl] body,[dir=rtl] .eyebrow,[dir=rtl] .pre-tag{font-family:"Noto Sans Arabic",var(--sans)}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] h4,[dir=rtl] .metric .v,[dir=rtl] .tier .nm,[dir=rtl] .tier .pr,[dir=rtl] .upfront .big{font-family:"Noto Sans Arabic",var(--serif)}
[dir=rtl] .eyebrow,[dir=rtl] .pre-tag,[dir=rtl] .metric .l,[dir=rtl] .tier .cad,[dir=rtl] footer h5,[dir=rtl] .cta-note,[dir=rtl] .vmcard .lab,[dir=rtl] .card .k,[dir=rtl] .scroll-cue,[dir=rtl] footer .bot{letter-spacing:normal;text-transform:none}
[dir=rtl] .shead,[dir=rtl] .lead,[dir=rtl] .card,[dir=rtl] .vmcard,[dir=rtl] .aiout,[dir=rtl] .tier,[dir=rtl] #report p,[dir=rtl] #piani p,[dir=rtl] #perche h3{text-align:right}
[dir=rtl] .tier li{padding:9px 20px 9px 0}
[dir=rtl] .tier li:before{left:auto;right:0}
[dir=rtl] .qlist li{flex-direction:row-reverse;text-align:right}
[dir=rtl] .lang-menu{right:auto;left:0}
[dir=rtl] .lang-menu button{text-align:right}
[dir=rtl] .nav nav a:after{left:auto;right:0}
[dir=rtl] .card.top{border-top:3px solid var(--rosso)}
[dir=rtl] .aiout{border-left:0;border-right:4px solid var(--rosso)}
[dir=rtl] .btn .ic{transform:scaleX(-1)}
[dir=rtl] .btn-primary:hover .ic{transform:scaleX(-1) translateX(4px)}

/* ---------- gating hero: nascosto durante il preloader, "boom" al via ---------- */
body.preloading .hero h1,body.preloading .hero .sub,body.preloading .hero .cta,body.preloading .hero .eyebrow{animation-play-state:paused;opacity:0}

/* ---------- affinamenti responsive extra ---------- */
@media(max-width:640px){
  .hero-video{opacity:.5}
  .hero-noise{opacity:.3}
  .pre-rings{width:300px}
  .scroll-cue{display:none}
  .hero .wrap{padding-top:40px;padding-bottom:40px}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .hero-video{display:none}
  .glitch:before,.glitch:after{display:none}
  .pre-scan,.hero-noise{display:none}
  .hero h1,.hero .sub,.hero .cta,.hero .eyebrow,.hero-eye{opacity:1!important;transform:none!important}
}
/* nasconde l'indicatore "scorri" quando la finestra è bassa, per non sovrapporsi ai pulsanti */
@media(max-height:940px){.scroll-cue{display:none}}
