:root {
  --bg-main: #0a0a0f;
  --bg-nav: rgba(10,10,15,0.95);
  --bg-modal: #12131a;
  --border-modal: #1e2035;
  --text-primary: #ffffff;
  --text-secondary: rgba(160,185,210,0.52);
  --text-muted: #8a9bb0;
  --accent-primary: #6c63ff;
  --glow-rgb: 108,99,255;
  --nav-height: 80px;
  --ease-cinematic: cubic-bezier(0.25,1,0.5,1);
  --tag-identity: #ff5252;
  --tag-org:      #ffab00;
  --tag-geo:      #00bcd4;
  --tag-date:     #34c39b;
  --tag-number:   #6c63ff;
  --tag-class:    #b06cff;
  --tag-product:  #ff8a50;
  --logo-bg:      #6c63ff;
  /* watermark */
  --wm-color: rgba(169,189,208,0.032);
  --wm-filter: none;
}
[data-theme="light"] {
  --bg-main: #eef0f4;
  --bg-nav: rgba(238,240,244,0.97);
  --bg-modal: #ffffff;
  --border-modal: #d0d6df;
  --text-primary: #1a1d23;
  --text-secondary: rgba(26,29,35,0.55);
  --text-muted: #55647a;
  --accent-primary: #5a52cc;
  --glow-rgb: 90,82,204;
  --logo-bg: #5a52cc;
  --tag-number: #5a52cc;
  --tag-geo: #0097a7;
  /* watermark light: same SVG but with darker ink, no invert needed */
  --wm-color: rgba(80,100,120,0.04);
  --wm-filter: none;
}

.theme-crimson{--accent-primary:#ff5252;--glow-rgb:255,82,82}
.theme-emerald{--accent-primary:#34c39b;--glow-rgb:52,195,155}
.theme-cyan   {--accent-primary:#00bcd4;--glow-rgb:0,188,212}
.theme-amber  {--accent-primary:#ffab00;--glow-rgb:255,171,0}
.theme-silver {--accent-primary:#b0b8c8;--glow-rgb:176,184,200}
[data-theme="light"] .theme-silver{--accent-primary:#546e7a;--glow-rgb:84,110,122}

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:var(--bg-main);color:var(--text-primary);overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh;transition:background .5s,color .5s}
body.no-scroll{overflow:hidden}

/* ─── WATERMARK — two separate pseudo-elements, no invert trick ─── */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='110'%3E%3Ctext x='0' y='18' font-family='Inter,sans-serif' font-size='9' fill='%23a9bdd0' fill-opacity='.042' letter-spacing='3'%3EAnonimizzazione·GDPR·HIPAA·Sovranit%C3%A0·Edge-Native·Air-Gap·Safe-Harbor·Privacy·Segreto·Dati%3C/text%3E%3Ctext x='40' y='36' font-family='Inter,sans-serif' font-size='9' fill='%23a9bdd0' fill-opacity='.042' letter-spacing='3'%3EReal World Evidence·Cartelle cliniche·Fine-Tuning·RAG·Knowledge Base·Ricerca medica%3C/text%3E%3Ctext x='10' y='54' font-family='Inter,sans-serif' font-size='9' fill='%23a9bdd0' fill-opacity='.042' letter-spacing='3'%3EZero-Trust·Digital Air-Gap·RAM Shredding·Fuzzy Search·OCR·Narrative Consistency%3C/text%3E%3Ctext x='50' y='72' font-family='Inter,sans-serif' font-size='9' fill='%23a9bdd0' fill-opacity='.042' letter-spacing='3'%3EFinanza·Due Diligence·Segreto Bancario·Albo Pretorio·M%26A·Virtual Data Room%3C/text%3E%3Ctext x='20' y='90' font-family='Inter,sans-serif' font-size='9' fill='%23a9bdd0' fill-opacity='.042' letter-spacing='3'%3ESafe Harbor·Zero byte·Sovereign Edge·Browser-based·Offline·No server·No cloud%3C/text%3E%3C/svg%3E");
  background-repeat:repeat;background-size:800px 110px;
  opacity:1;transition:opacity .5s;
}
/* In light mode overlay a white-ish tint so the dark watermark stays subtle */
[data-theme="light"] body::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='110'%3E%3Ctext x='0' y='18' font-family='Inter,sans-serif' font-size='9' fill='%233a4a5a' fill-opacity='.055' letter-spacing='3'%3EAnonimizzazione·GDPR·HIPAA·Sovranit%C3%A0·Edge-Native·Air-Gap·Safe-Harbor·Privacy·Segreto·Dati%3C/text%3E%3Ctext x='40' y='36' font-family='Inter,sans-serif' font-size='9' fill='%233a4a5a' fill-opacity='.055' letter-spacing='3'%3EReal World Evidence·Cartelle cliniche·Fine-Tuning·RAG·Knowledge Base·Ricerca medica%3C/text%3E%3Ctext x='10' y='54' font-family='Inter,sans-serif' font-size='9' fill='%233a4a5a' fill-opacity='.055' letter-spacing='3'%3EZero-Trust·Digital Air-Gap·RAM Shredding·Fuzzy Search·OCR·Narrative Consistency%3C/text%3E%3Ctext x='50' y='72' font-family='Inter,sans-serif' font-size='9' fill='%233a4a5a' fill-opacity='.055' letter-spacing='3'%3EFinanza·Due Diligence·Segreto Bancario·Albo Pretorio·M%26A·Virtual Data Room%3C/text%3E%3Ctext x='20' y='90' font-family='Inter,sans-serif' font-size='9' fill='%233a4a5a' fill-opacity='.055' letter-spacing='3'%3ESafe Harbor·Zero byte·Sovereign Edge·Browser-based·Offline·No server·No cloud%3C/text%3E%3C/svg%3E");
}

/* ─── TAG ANIMATION ─── */
.tag{
  display:inline-flex;align-items:center;gap:3px;
  font-family:'JetBrains Mono',monospace;font-size:.7em;font-weight:600;
  letter-spacing:.04em;padding:2px 7px 2px 5px;border-radius:3px;
  line-height:1.5;white-space:nowrap;vertical-align:middle;
  position:relative;top:-1px;cursor:default;
  color:#ffffff;
}
.tag::before{content:'▮';font-size:.6em;opacity:.7}
.tag:hover{filter:brightness(1.12)}
.tag-identity{background:var(--tag-identity)}
.tag-org     {background:var(--tag-org)}
.tag-geo     {background:var(--tag-geo)}
.tag-date    {background:var(--tag-date)}
.tag-number  {background:var(--tag-number)}
.tag-class   {background:var(--tag-class)}
.tag-product {background:var(--tag-product)}

/* Animated tag states */
.tag[data-phase="raw"]{
  background:transparent!important;
  color:var(--text-primary)!important;
  padding:0!important;border-radius:0!important;
  font-family:'Inter',sans-serif!important;
  font-size:1em!important;font-weight:400!important;
  letter-spacing:normal!important;top:0!important;
}
.tag[data-phase="raw"]::before{display:none}

.tag[data-phase="highlight"]{
  background: rgba(255,220,50,0.45)!important;
  color:var(--text-primary)!important;
  padding:1px 4px!important;border-radius:2px!important;
  font-family:'Inter',sans-serif!important;
  font-size:1em!important;font-weight:600!important;
  letter-spacing:normal!important;top:0!important;
  box-shadow:0 0 0 1.5px rgba(255,200,0,.5);
  animation:blink-highlight .35s ease-in-out;
}
[data-theme="light"] .tag[data-phase="highlight"]{
  background:rgba(255,190,0,.35)!important;
  box-shadow:0 0 0 1.5px rgba(200,140,0,.4);
}
.tag[data-phase="highlight"]::before{display:none}

@keyframes blink-highlight{
  0%  {background:transparent!important}
  40% {background:rgba(255,220,50,.55)!important}
  100%{background:rgba(255,220,50,.45)!important}
}

.tag[data-phase="done"]{
  animation: tag-pop .3s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes tag-pop{
  0%  {transform:scale(.75);opacity:.4}
  60% {transform:scale(1.07)}
  100%{transform:scale(1);opacity:1}
}

/* ─── LOGO ─── */
.logo-tag {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.logo-inner {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 1.05rem;
  background-image: linear-gradient(135deg, #6c63ff 10%, #34c39b 100%);
  color: #ffffff;
  padding: 4px 12px; 
  border-radius: 5px;
  letter-spacing: .04em;
  box-shadow: 0 2px 10px rgba(108, 99, 255, 0.2); 
  transition: filter 0.3s, transform 0.3s;
}

.logo-tag:hover .logo-inner {
  filter: brightness(1.15);
  transform: translateY(-1px);
}

/* ─── NAVBAR ─── */
.navbar-top{position:fixed;top:0;left:0;width:100%;z-index:100;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;background:var(--bg-nav);height:var(--nav-height);border-bottom:1px solid transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .5s,border-color .5s}
[data-theme="light"] .navbar-top{border-bottom:1px solid rgba(0,0,0,.07)}
.nav-controls{display:flex;align-items:center;gap:24px}
.header-links{display:flex;gap:32px;align-items:center;position:absolute;left:50%;transform:translateX(-50%)}
.header-links a { color:var(--text-primary); opacity: 0.75; text-decoration:none; font-size:.8rem; font-weight:500; text-transform:uppercase; letter-spacing:.1em; transition:color .3s, opacity .3s; cursor:pointer; }
.header-links a:hover { opacity: 1; }
@media(max-width:900px){.header-links{display:none}}
.toggle-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:4px 0}
.toggle-label { font-size:.72rem; color:var(--text-primary); opacity: 0.75; letter-spacing:.1em; text-transform:uppercase; }
.toggle-track{width:32px;height:16px;border-radius:9px;background:rgba(128,128,128,.2);position:relative;transition:background .3s}
.toggle-thumb { width:10px; height:10px; border-radius:50%; background:var(--text-primary); opacity:0.8; position:absolute; top:3px; left:3px; transition:left .4s cubic-bezier(.22,1,.36,1),background .3s; }
.toggle-btn.active .toggle-track{background:rgba(108,99,255,.25)}
.toggle-btn.active .toggle-thumb { left:19px; background:var(--text-primary); opacity:1; }

main{position:relative;width:100%;z-index:1}

/* ─── PARALLAX ─── */
.parallax-section{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px 8vw;min-height:100vh;overflow:hidden;--intensity:0}
.layer-5{position:absolute;top:10vh;left:0;width:100%;height:100%;padding:0 4vw;z-index:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;transform:translateZ(0)}
.layer-5 p{font-size:clamp(.8rem,1.4vw,1.1rem);font-weight:300;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted);opacity:calc(.08 + (var(--intensity)*.18));transform:translateY(calc(15px - (var(--intensity)*15px)));transition:opacity .1s linear,transform .1s linear}
[data-theme="light"] .layer-5 p{opacity:calc(.1 + (var(--intensity)*.18))}
.highlight-keyword{font-weight:600;color:var(--accent-primary);filter:grayscale(calc(100% - (var(--intensity)*100%)));opacity:calc(.25 + (var(--intensity)*.75));text-shadow:0 0 calc(var(--intensity)*20px) rgba(var(--glow-rgb),calc(var(--intensity)*.8))}
.layer-5 p:nth-child(1){text-align:left;margin-left:2%}
.layer-5 p:nth-child(2){text-align:right;margin-right:15%;font-size:.85em}
.layer-5 p:nth-child(3){text-align:center;margin-left:5%;letter-spacing:.3em}
.layer-5 p:nth-child(4){text-align:right;margin-right:5%}
.layer-5 p:nth-child(5){text-align:left;margin-left:25%;font-size:.9em}
.layer-5 p:nth-child(6){text-align:center;margin-right:20%}
.layer-5 p:nth-child(7){text-align:right;margin-right:2%;font-size:1.1em}
.layer-5 p:nth-child(8){text-align:left;margin-left:10%}
.layer-5 p:nth-child(9){text-align:center;margin-left:30%}
.layer-5 p:nth-child(10){text-align:right;margin-right:25%}
.layer-3 h3 {
  font-size: clamp(.95rem, 2.2vw, 1.35rem);
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1.9;
  color: color-mix(in srgb, var(--text-primary) calc(var(--intensity)*100%), var(--text-muted));
  opacity: calc(.6 + (var(--intensity)*.4));
  transition: color .1s, opacity .1s;
  margin-bottom: 15px; 
}
.layer-2 h2{font-size:clamp(1.6rem,3.5vw,2.1rem);letter-spacing:.06em;text-transform:uppercase;line-height:1.6;color:color-mix(in srgb,var(--text-primary) calc(var(--intensity)*100%),var(--text-secondary));opacity:calc(.7 + (var(--intensity)*.3))}
.text-trigger{background:none;border:none;font-family:inherit;font-size:clamp(3rem,9vw,6.8rem);font-weight:700;color:var(--accent-primary);letter-spacing:-.02em;line-height:1.05;cursor:pointer;position:relative;display:inline-block;transition:color .4s;padding:0}
.text-trigger::after{content:'';position:absolute;bottom:4px;left:0;width:0;height:2px;background:rgba(var(--glow-rgb),.6);transition:width .5s var(--ease-cinematic)}
.text-trigger:hover::after{width:100%}
/* Il cursore a blocco lampeggiante in stile terminale */
.text-trigger::before {
  content: '';
  display: inline-block;
  width: 0.3em;
  height: 0.85em;
  background-color: currentColor;
  margin-right: 10px;
  vertical-align: baseline;
  position: relative;
  top: 0.05em;
  animation: console-blink 1.2s step-end infinite;
}

@keyframes console-blink {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 0; }
}
[data-theme="light"] .text-trigger:hover{color:var(--accent-primary)}
.hero-title {
  font-size: clamp(4.5rem, 14vw, 8.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  pointer-events: none;
  user-select: none;
}
.hero-title .word-plain {
  background-image: linear-gradient(135deg, #6c63ff 10%, #34c39b 100%);
  color: #ffffff;
  padding: 4px 24px;
  border-radius: 8px;
}

.hero-title .hero-bracket {
  position: relative;
  top: -0.06em;
  font-weight: 400;
  opacity: 0.85;
}

.hero-title .word-tag{font-family:'JetBrains Mono',monospace;font-size:.52em;font-weight:700;letter-spacing:.06em;background:var(--tag-number);color:#fff;padding:6px 14px;border-radius:5px;display:inline-flex;align-items:center;gap:6px;position:relative;top:2px;box-shadow:0 0 24px rgba(108,99,255,.4)}
.hero-title .word-tag::before {
  display: none; 
}
.hero-subtitle { font-size: clamp(1rem, 1.5vw, 1.25rem); color: var(--text-primary); opacity: 0.85; margin-top: 24px; line-height: 1.6; max-width: 650px; font-weight: 400; letter-spacing: 0.02em; pointer-events: none; }
[data-theme="light"] .hero-subtitle { color: var(--text-primary); opacity: 0.85; }

.hero-privacy-stamp {
  margin-top: 28px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.85rem;
  font-weight: 700;
  color: #34c39b;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: rgba(52, 195, 155, 0.08);
  border: 1px solid rgba(52, 195, 155, 0.2);
  border-radius: 4px;
}

.hero-privacy-stamp::before {
  content: '▮';
  font-size: 0.8em;
  opacity: 0.8;
  animation: blink-caret 1.5s step-end infinite;
}

@keyframes blink-caret {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 0; }
}

[data-theme="light"] .hero-privacy-stamp {
  background: rgba(52, 195, 155, 0.15);
  color: #2b9a7a;
}

.divider{width:60px;height:1px;background:var(--accent-primary);margin:0 auto;opacity:.3}

/* ─── DOC SAMPLE ─── */
.doc-sample { background:rgba(255,255,255,.03); border:1px solid rgba(138,155,176,.12); border-radius:8px; padding:18px 22px; max-width:600px; margin-top:28px; font-size:1.1rem; line-height:2.2; color:var(--text-primary); opacity:0.9; }
[data-theme="light"] .doc-sample { background:rgba(0,0,0,.03); border-color:rgba(0,0,0,.1); color:var(--text-primary); opacity:0.9; }
.doc-label { font-family:'JetBrains Mono',monospace; font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-primary); opacity:.8; margin-bottom:10px; display:block; }

/* ─── IMPACT CALCULATOR ─── */
#sec-throughput {
  position: relative;
  z-index: 2;
  padding: 80px 8vw;
  background: var(--bg-main);
}

#sec-impact{background:var(--bg-main);position:relative;z-index:2;padding:80px 8vw}

.impact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
@media(max-width:1100px){.impact-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px) {.impact-grid{grid-template-columns:1fr}}

.impact-box{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(138,155,176,.12);
  border-radius:10px;
  padding:28px 24px;
  display:flex;flex-direction:column;gap:0;
  transition:background .3s,border-color .3s;
  position:relative;overflow:hidden;
}
[data-theme="light"] .impact-box{background:#fff;border-color:rgba(0,0,0,.08);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.impact-box:hover{background:rgba(255,255,255,.04)}
[data-theme="light"] .impact-box:hover{background:#f5f7fb}

.impact-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--box-accent,rgba(138,155,176,.2));opacity:.7;transition:opacity .3s}
.impact-box:hover::before{opacity:1}
.impact-box--input  {--box-accent: var(--accent-primary)}
.impact-box--time   {--box-accent: var(--tag-date)}
.impact-box--cost   {--box-accent: var(--tag-identity)}
.impact-box--value  {--box-accent: var(--tag-number)}

/* Etichette dei Box nel calcolatore d'impatto */
.impact-box-label { 
  font-family: 'JetBrains Mono', monospace; 
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase; 
  letter-spacing: .1em; 
  color: var(--text-primary); 
  opacity: 1; 
  margin-bottom: 20px; 
}

.impact-box--input .input-group{margin-bottom:16px}
.impact-box--input .input-group:last-child{margin-bottom:0}
.input-label { font-size:.85rem; color:var(--text-primary); letter-spacing:.05em; display:block; margin-bottom:6px; }
.input-row{display:flex;align-items:center;gap:8px}
.input-row input[type=number],
.impact-box--input select{
  flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(138,155,176,.2);
  border-radius:5px;padding:8px 12px;color:var(--text-primary);
  font-family:'JetBrains Mono',monospace;font-size:.9rem;outline:none;
  transition:border-color .3s,background .3s;width:100%;
}
[data-theme="light"] .input-row input[type=number],
[data-theme="light"] .impact-box--input select{
  background:#f0f2f6;border-color:rgba(0,0,0,.14);color:var(--text-primary);
}
.input-row input[type=number]:focus,
.impact-box--input select:focus{border-color:var(--accent-primary)}
.input-row input[type=number]::-webkit-inner-spin-button{opacity:.4}
.input-unit { font-family:'JetBrains Mono',monospace; font-size:.85rem; color:var(--text-primary); opacity:0.8; white-space:nowrap; }
.impact-box--input select{
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a9bb0'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
  padding-right:32px;
}
.impact-box--input select option{background:var(--bg-modal);color:var(--text-primary)}

.impact-big{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1;
  color:var(--text-primary);margin-bottom:4px;
  transition:color .4s;
}
.impact-big-unit { 
  font-size: 0.95rem;
  color: var(--text-primary); 
  text-transform: uppercase; 
  letter-spacing: .1em; 
  margin-bottom: 16px; 
  opacity: 1; 
}
.impact-sub { font-size:.9rem; color:var(--text-primary); line-height:1.6; margin-bottom:12px; opacity:.8; }
.impact-footnote { font-size:.8rem; color:var(--text-primary); opacity:.8; line-height:1.5; margin-top:auto; padding-top:12px; border-top:1px solid rgba(138,155,176,.1); }

.impact-compare{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:8px}
.compare-bar-wrap{display:flex;align-items:center;gap:10px}
.compare-label { font-size:.8rem; color:var(--text-primary); width:85px; flex-shrink:0; font-family:'JetBrains Mono',monospace; letter-spacing:.04em; }
.compare-track{flex:1;height:5px;background:rgba(138,155,176,.12);border-radius:3px;overflow:hidden}
.compare-fill{height:100%;border-radius:3px;width:0%;transition:width .8s cubic-bezier(.16,1,.3,1)}
.compare-ratio{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--tag-date);margin-top:4px;letter-spacing:.04em}

.impact-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px}

.throughput-header{margin-bottom:56px}
.throughput-header h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);margin-bottom:8px}
.throughput-header p { font-size:.95rem; color:var(--text-primary); opacity:0.8; max-width:480px; line-height:1.7; }
.slider-wrap{margin-bottom:48px}
.slider-row{display:flex;align-items:center;gap:20px;margin-bottom:10px}
.slider-row label { font-family:'JetBrains Mono',monospace; font-size:.85rem; color:var(--text-primary); text-transform:uppercase; letter-spacing:.08em; width:170px; flex-shrink:0; }
input[type=range]{-webkit-appearance:none;appearance:none;flex:1;height:3px;border-radius:2px;background:rgba(138,155,176,.2);outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-primary);cursor:pointer;box-shadow:0 0 8px rgba(var(--glow-rgb),.5)}
[data-theme="light"] input[type=range]{background:rgba(0,0,0,.12)}
.slider-val{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--accent-primary);width:60px;text-align:right;flex-shrink:0}
.result-box{background:rgba(108,99,255,.05);border:1px solid rgba(108,99,255,.2);border-radius:10px;padding:32px 36px;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;margin-bottom:48px}
[data-theme="light"] .result-box{background:rgba(90,82,204,.04);border-color:rgba(90,82,204,.2)}
.result-item{display:flex;flex-direction:column;gap:4px;min-width:130px}
.result-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(2.2rem, 4vw, 3.4rem); 
  font-weight: 700;
  color: var(--accent-primary);
  line-height: 1;
}

.result-label { 
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-primary); 
  text-transform: uppercase; 
  letter-spacing: .08em;
  line-height: 1.4; 
  opacity: 1;
}
.doc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.doc-card{background:rgba(255,255,255,.025);border:1px solid rgba(138,155,176,.1);border-radius:8px;padding:20px;transition:background .3s;position:relative;overflow:hidden}
[data-theme="light"] .doc-card{background:#fff;border-color:rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.doc-card:hover{background:rgba(255,255,255,.04)}
[data-theme="light"] .doc-card:hover{background:#f5f7fb}
.doc-card-type { 
  font-family: 'JetBrains Mono', monospace; 
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase; 
  letter-spacing: .1em; 
  margin-bottom: 14px; 
  display: inline-flex; 
  align-items: center; 
  gap: 6px; 
  color: var(--text-primary); 
  opacity: 1; 
}
.dc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.doc-card-content { 
  font-size: 1rem;
  line-height: 1.9; 
  color: var(--text-primary); 
  opacity: .9; 
}
.doc-card-bar{position:absolute;bottom:0;left:0;height:2px;background:var(--bar-color);opacity:.4;transition:opacity .3s}
.doc-card:hover .doc-card-bar{opacity:1}

/* ─── VIDEO CAROUSEL ─── */
.video-carousel { 
  display: flex; 
  gap: 24px; 
  overflow-x: auto; 
  scroll-snap-type: x mandatory; 
  padding-bottom: 24px; 
  margin-bottom: 16px;
  scrollbar-width: thin; 
  scrollbar-color: var(--accent-primary) transparent; 
  width: 100%; 
  -webkit-overflow-scrolling: touch;
}
.video-carousel::-webkit-scrollbar { height: 4px; }
.video-carousel::-webkit-scrollbar-track { background: transparent; }
.video-carousel::-webkit-scrollbar-thumb { background: var(--accent-primary); border-radius: 4px; }


.video-card { flex: 0 0 42%; min-width: 320px; max-width: 600px; scroll-snap-align: start; background: rgba(255,255,255,.025); border: 1px solid rgba(138,155,176,.12); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; transition: border-color .3s; }
.video-card:hover { border-color: rgba(138,155,176,.3); }
[data-theme="light"] .video-card { background: #fff; border-color: rgba(0,0,0,.08); }
[data-theme="light"] .video-card:hover { border-color: rgba(0,0,0,.2); }
.video-wrap { position: relative; padding-bottom: 56.25%; height: 0; background: #0a0a0f; }
.video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
.video-info { padding: 24px; }
.video-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.15rem; color: var(--text-primary); margin-bottom: 12px; letter-spacing: -0.01em; }
.video-desc { font-size: 0.9rem; line-height: 1.6; color: var(--text-primary); opacity: 0.8; }
@media(max-width: 900px) { .video-card { flex: 0 0 75%; min-width: 280px; } }
@media(max-width: 600px) { .video-card { flex: 0 0 82%; min-width: 260px; } }


/* ─── SCENARIOS ─── */
.scenarios-grid{display:flex;flex-direction:column;width:100%;margin-top:80px}
.scenario-row{display:grid;grid-template-columns:220px 1fr auto;gap:40px;align-items:start;padding:32px 0;border-top:1px solid rgba(138,155,176,.1);transition:background .3s}
.scenario-row:hover{background:rgba(255,255,255,.02)}
[data-theme="light"] .scenario-row:hover{background:rgba(0,0,0,.02)}
.scn-header{border-left:2px solid var(--row-color);padding-left:20px}
.scn-title{font-size:1.4rem;font-weight:700;color:var(--row-color);margin-bottom:4px;letter-spacing:-.01em;line-height:1.2}
.scn-desc{font-size:1rem;line-height:1.75;color:var(--text-primary)}
.scn-meta { display:inline-block; margin-left:8px; font-size:.85rem; color:var(--text-primary); opacity:0.7; }
.scn-cta{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;text-decoration:none;color:var(--row-color);padding:8px 16px;border:1px solid rgba(138,155,176,.2);border-radius:4px;transition:all .3s;white-space:nowrap;background:none;cursor:pointer;font-family:inherit}
.scn-cta:hover{background:var(--row-color);color:#0a0a0f;border-color:var(--row-color)}
.tag-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(138,155,176,.1)}
.tag-legend-item { display:flex; align-items:center; gap:6px; font-size:.85rem; color:var(--text-primary); letter-spacing:.06em; }
.tag-legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}

/* ─── MODAL ─── */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s var(--ease-cinematic)}
.modal-overlay.active{opacity:1;pointer-events:all}
[data-theme="light"] .modal-overlay{background:rgba(180,185,200,.6);backdrop-filter:blur(12px)}
.modal{background:var(--bg-modal);border:1px solid var(--border-modal);border-radius:16px 16px 0 0;max-width:640px;max-height:85vh;overflow-y:auto;padding:48px 40px;transform:translateY(30px) scale(.96);transition:transform .5s var(--ease-cinematic),background .3s;box-shadow:0 20px 50px rgba(0,0,0,.5)}
[data-theme="light"] .modal{box-shadow:0 20px 50px rgba(0,0,0,.15)}
.modal-overlay.active .modal{transform:translateY(0) scale(1)}
.modal-close { position:absolute; top:18px; right:22px; background:none; border:none; color:var(--text-primary); opacity: 0.5; font-size:1.6rem; cursor:pointer; transition:opacity .3s; }
.modal-close:hover { opacity: 1; }
.modal-accent{width:36px;height:3px;border-radius:2px;background:#6c63ff;margin-bottom:24px}
.modal h2{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}
.modal-sub { font-size:.82rem; color:var(--text-primary); opacity: 0.8; text-transform:uppercase; letter-spacing:.14em; margin-bottom:28px; }
.modal p { color:var(--text-primary); opacity: 0.85; font-size:.95rem; line-height:1.85; margin-bottom:18px; }
.modal p:last-child{margin-bottom:0}
.modal strong{color:var(--text-primary)}
.modal.manifesto-modal{max-width:800px}
.manifesto-section{margin-top:32px;border-top:1px solid rgba(138,155,176,.1);padding-top:24px}
.manifesto-section h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:16px;letter-spacing:.05em}
.stat-row{display:flex;gap:60px;margin-bottom:36px;flex-wrap:wrap}
.stat-item{display:flex;flex-direction:column;gap:4px}
.stat-num{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;line-height:1;color:var(--accent-primary)}
.stat-label { font-size:.78rem; color:var(--text-primary); opacity: 0.8; text-transform:uppercase; letter-spacing:.12em; }

footer{position:relative;z-index:10;background:var(--bg-main);border-top:1px solid rgba(138,155,176,.15);padding:80px 8vw 40px;transition:background .5s}
[data-theme="light"] footer{background:#e4e7ec}
.footer-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:40px}
.footer-col{flex:1;min-width:200px}
.footer-col.right{text-align:right}
.footer-logo{font-weight:700;font-size:1rem;margin-bottom:12px}
.footer-tagline { font-size:.8rem; color:var(--text-primary); opacity:.6; }
.footer-nav{display:flex;flex-direction:column;gap:12px}
.footer-nav a { color:var(--text-primary); opacity: 0.75; text-decoration:none; font-size:.85rem; transition:color .3s, opacity .3s; cursor:pointer; }
.footer-nav a:hover { color:var(--accent-primary); opacity: 1; }
.system-status{font-size:.75rem;color:#34c39b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;display:inline-flex;align-items:center;gap:8px}
.status-dot{width:6px;height:6px;background:#34c39b;border-radius:50%;box-shadow:0 0 8px rgba(52,195,155,.6);animation:pulse 2s infinite}
.copyright { font-size:.75rem; color:var(--text-primary); opacity:.6; line-height:1.6; }

/* ─── PRIVACY BADGE ─── */
.privacy-badge {
  background: rgba(52, 195, 155, 0.08);
  border: 1px solid rgba(52, 195, 155, 0.25);
  color: #34c39b;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  transition: all 0.3s;
}
.privacy-badge:hover {
  background: rgba(52, 195, 155, 0.15);
  border-color: rgba(52, 195, 155, 0.5);
  transform: translateY(-1px);
}
.privacy-badge::before {
  content: '✓';
  font-size: 0.9em;
}
[data-theme="light"] .privacy-badge {
  background: rgba(52, 195, 155, 0.15);
  color: #2b9a7a;
  border-color: rgba(52, 195, 155, 0.3);
}
[data-theme="light"] .privacy-badge:hover {
  background: rgba(52, 195, 155, 0.25);
}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@media(max-width:768px){.footer-content{flex-direction:column;gap:60px}.footer-col.right{text-align:left}}
@media(max-width:900px){.scenario-row{grid-template-columns:1fr;gap:16px;padding:36px 0}.scn-header{border-left:none;padding-left:0;border-top:2px solid var(--row-color);padding-top:12px}.doc-cards{grid-template-columns:1fr}.slider-row label{width:130px}}
@media(max-width:600px){.navbar-top{padding:14px 20px;height:60px}.toggle-label{display:none}.nav-controls{gap:14px}.parallax-section{padding:80px 6vw;min-height:100svh}.modal{padding:36px 24px}.hero-title .word-tag{font-size:.42em}.result-box{padding:24px 20px;gap:24px}}
@media(min-width:768px){
  .modal-overlay{align-items:center}
  .modal{width:100%;max-width:720px;border-radius:12px;margin:0 auto;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.07) inset;transform:scale(.96) translateY(15px);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease}
  [data-theme="light"] .modal{box-shadow:0 20px 60px rgba(0,0,0,.12)}
  .modal-overlay.active .modal{transform:scale(1) translateY(0);opacity:1}
  .modal.manifesto-modal{max-width:900px}
}
.modal::-webkit-scrollbar{width:6px}
.modal::-webkit-scrollbar-track{background:transparent}
.modal::-webkit-scrollbar-thumb{background:rgba(138,155,176,.2);border-radius:3px}

#sec-intro {
  padding-top: 22vh; 
}

@media(max-width: 600px) {
  #sec-intro {
    padding-top: 140px; 
  }

  .parallax-section,
  #sec-throughput,
  #sec-impact,
  footer {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .divider {
    margin-left: 20px !important;
    margin-right: 20px !important;
    width: auto !important;
  }

  .layer-3 h3, 
  .layer-2 h2, 
  .text-trigger, 
  .hero-title,
  .throughput-header h2,
  .throughput-header p {
    text-align: left !important;
    justify-content: flex-start !important;
  }

  .hero-title {
    font-size: 3rem !important; 
    gap: 12px !important; 
  }

  .slider-row {
    gap: 12px; 
  }
  .slider-row label {
    width: 120px; 
    font-size: 0.8rem; 
  }
  .slider-val {
    width: auto; 
    min-width: 45px;
    text-align: right;
    padding-right: 4px; 
  }
  
  /* Buffer zone per il Parallax nella sezione Scenari */
  #scenari {
    padding-bottom: 60px !important; 
  }
  
  .scenarios-grid {
    padding-bottom: 60px;
  }
}

/* ─── TYPOGRAPHY OVERRIDE PER TITOLI (SPACE GROTESK) ─── */
h1, h2, h3, 
.hero-title, 
.text-trigger, 
.modal h2, 
.scn-title, 
.throughput-header h2 {
  font-family: 'Space Grotesk', sans-serif;
  letter-spacing: -0.03em;
  font-weight: 700;
}

/* Riduciamo leggermente il tracking sul titolo Hero per renderlo un blocco solido */
.hero-title {
  letter-spacing: -0.04em;
}

/* Il bottone interattivo "Il Dato Tossico" ecc. con Space Grotesk è perfetto */
.text-trigger {
  font-weight: 700;
}

/* ─── TOGGLE SVG E HAMBURGER ─── */
.toggle-icon { width:15px; height:15px; flex-shrink:0; opacity:.45; transition:opacity .3s; color:var(--text-primary); }
.toggle-btn.active .toggle-icon { opacity:1; color:var(--accent-primary); }
.nav-divider { width:1px; height:20px; background:rgba(138,155,176,.15); }
.hamburger { display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:5px; width:32px; height:32px; background:none; border:none; cursor:pointer; padding:4px; border-radius:6px; transition:background .2s; }
.hamburger:hover { background:rgba(108,99,255,.1); }
.hamburger span { display:block; height:1.5px; background:var(--text-primary); border-radius:2px; transform-origin:center; transition:width .35s cubic-bezier(.16,1,.3,1), transform .35s cubic-bezier(.16,1,.3,1), opacity .2s; }
.hamburger span:nth-child(1) { width:18px; }
.hamburger span:nth-child(2) { width:12px; opacity:.5; }
.hamburger span:nth-child(3) { width:18px; }
.hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); width:18px; opacity:1; }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); width:18px; }

/* ─── DRAWER MOBILE ─── */
.drawer-backdrop { position:fixed; inset:0; z-index:199; background:rgba(0,0,0,.55); backdrop-filter:blur(4px); opacity:0; pointer-events:none; transition:opacity .4s; }
.drawer-backdrop.open { opacity:1; pointer-events:all; }
.mobile-drawer { position:fixed; top:0; right:0; width:min(300px,100vw); height:100dvh; background:var(--bg-modal); border-left:1px solid rgba(138,155,176,.1); z-index:200; display:flex; flex-direction:column; transform:translateX(110%); transition:transform .45s cubic-bezier(.16,1,.3,1); overflow-y:auto; }
.mobile-drawer.open { transform:translateX(0); }
.drawer-header { display:flex; align-items:center; justify-content:space-between; padding:0 20px; height:var(--nav-height); border-bottom:1px solid rgba(138,155,176,.08); flex-shrink:0; }
.drawer-header-label { font-family:'JetBrains Mono',monospace; font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; color:var(--text-muted); }
.drawer-close { width:30px; height:30px; background:rgba(138,155,176,.07); border:1px solid rgba(138,155,176,.12); border-radius:6px; color:var(--text-primary); font-size:.95rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; font-family:'JetBrains Mono',monospace; opacity:.7; }
.drawer-close:hover { background:rgba(255,82,82,.1); border-color:rgba(255,82,82,.25); color:#ff5252; opacity:1; }
.drawer-body { padding:20px 20px 36px; flex:1; display:flex; flex-direction:column; }
.drawer-status { display:flex; align-items:center; gap:8px; padding:9px 12px; background:rgba(52,195,155,.05); border:1px solid rgba(52,195,155,.12); border-radius:7px; margin-bottom:24px; font-size:.72rem; color:#34c39b; font-family:'JetBrains Mono',monospace; letter-spacing:.08em; }
.drawer-section { margin-bottom:22px; }
.drawer-section-label { font-family:'JetBrains Mono',monospace; font-size:.62rem; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:var(--text-muted); opacity:.55; margin-bottom:8px; padding-bottom:6px; border-bottom:1px solid rgba(138,155,176,.07); }
.drawer-nav { display:flex; flex-direction:column; gap:2px; }
.drawer-nav a { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:7px; text-decoration:none; color:var(--text-primary); font-size:.9rem; font-weight:500; transition:all .2s; cursor:pointer; }
.drawer-nav a:hover { background:rgba(108,99,255,.08); color:var(--accent-primary); }
.nav-icon { font-family:'JetBrains Mono',monospace; font-weight:700; font-size:.65rem; letter-spacing:.04em; color:var(--text-muted); background:rgba(138,155,176,.07); border-radius:4px; padding:3px 6px; flex-shrink:0; transition:all .2s; }
.drawer-nav a:hover .nav-icon { background:rgba(108,99,255,.15); color:var(--accent-primary); }
.nav-label { flex:1; }
.nav-badge { font-family:'JetBrains Mono',monospace; font-size:.58rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:2px 5px; border-radius:3px; background:rgba(52,195,155,.1); color:#34c39b; border:1px solid rgba(52,195,155,.18); flex-shrink:0; }
.nav-arrow { font-size:.65rem; opacity:.2; transition:all .2s; }
.drawer-nav a:hover .nav-arrow { opacity:.55; transform:translateX(3px); }
.drawer-footer { margin-top:auto; padding-top:20px; border-top:1px solid rgba(138,155,176,.08); display:flex; flex-direction:column; gap:8px; }
.drawer-cta { display:flex; align-items:center; justify-content:center; padding:11px 16px; border-radius:7px; border:1px solid rgba(108,99,255,.3); background:rgba(108,99,255,.06); color:var(--accent-primary); font-family:'JetBrains Mono',monospace; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; cursor:pointer; text-decoration:none; transition:all .25s; }
.drawer-cta:hover { background:rgba(108,99,255,.14); border-color:rgba(108,99,255,.5); }
.drawer-privacy { display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:6px; background:rgba(52,195,155,.04); border:1px solid rgba(52,195,155,.12); font-size:.7rem; color:#34c39b; font-family:'JetBrains Mono',monospace; letter-spacing:.06em; cursor:pointer; transition:background .2s; }
.drawer-privacy:hover { background:rgba(52,195,155,.09); }
.drawer-privacy::before { content:'✓'; font-weight:700; }

/* ─── FAQ ACCORDION ─── */
.faq-section { padding: 80px 8vw; position: relative; z-index: 2; background: var(--bg-main); }
.faq-grid { display: flex; flex-direction: column; gap: 16px; max-width: 800px; width: 100%; margin: 40px auto 0 auto; }
#sec-faq .throughput-header { max-width: 800px; width: 100%; margin: 0 auto; }
.faq-item { background: rgba(138,155,176,.04); border: 1px solid rgba(138,155,176,.12); border-radius: 8px; overflow: hidden; transition: background 0.3s, border-color 0.3s; }
[data-theme="light"] .faq-item { background: #fff; border-color: rgba(0,0,0,.08); }
.faq-item:hover { background: rgba(138,155,176,.08); }
.faq-summary { padding: 20px 24px; font-weight: 600; font-size: 1.05rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; list-style: none; color: var(--text-primary); transition: color 0.3s; }
.faq-summary::-webkit-details-marker { display: none; }
.faq-summary::after { content: '+'; font-family: 'JetBrains Mono', monospace; font-size: 1.4rem; font-weight: 400; color: var(--accent-primary); transition: transform 0.35s var(--ease-cinematic); }
.faq-item[open] .faq-summary::after { transform: rotate(45deg); color: #ff5252; }
.faq-content { padding: 0 24px 24px 24px; font-size: 0.95rem; line-height: 1.75; color: var(--text-primary); opacity: 0.9; }

/* ─── VISIBILITÀ MENU E OVERRIDE MOBILE ─── */
@media(min-width: 901px) { 
  .hamburger { display: none !important; } 
}

@media(max-width: 900px) { 
  .header-links, .hide-on-mobile { display: none !important; } 
}

@media(max-width:600px) {
  /* OVERRIDE TIPOGRAFICO MODALI (MOBILE) */
  .modal h2 { font-size: 1.5rem !important; }
  .modal-sub { font-size: 0.9rem !important; margin-bottom: 24px !important; line-height: 1.4; }
  .modal p { font-size: 1rem !important; line-height: 1.6 !important; }
  .modal h4[style] { font-size: 1.1rem !important; margin-bottom: 10px !important; line-height: 1.3 !important; }
  .modal p[style] { font-size: 0.95rem !important; line-height: 1.65 !important; }
  .modal div[style*="padding:16px"], .modal div[style*="padding:18px"] { padding: 16px !important; }
  .stat-row { flex-direction: column !important; gap: 24px !important; margin-bottom: 32px !important; }
  .stat-item { flex-direction: row !important; align-items: baseline !important; gap: 12px !important; }
  .stat-label { text-align: left !important; }
}