:root{
  --bg:#000;--bg2:#030803;--bg3:#060D06;--bg4:#0A140A;
  --g1:#00FF88;--g2:#00CC6A;--g3:#008C48;--g4:#004D29;
  --gdim:rgba(0,255,136,.07);--gborder:rgba(0,255,136,.18);
  --glow:rgba(0,255,136,.4);--white:#E8FFE8;
  --text:#7AAB8A;--muted:#3D6B4D;--line:rgba(0,255,136,.08);
  --crit:#FF3B3B;--high:#FF8C00;--med:#FFD700;--low:#00FF88;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Rajdhani',sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden;}
@media(pointer:fine){body{cursor:none;}.cur,.cur-ring{display:block;}}
@media(pointer:coarse){.cur,.cur-ring{display:none!important;}}

/* CURSOR */
.cur{position:fixed;width:10px;height:10px;background:var(--g1);border-radius:50%;pointer-events:none;z-index:10001;transform:translate(-50%,-50%);box-shadow:0 0 12px var(--g1),0 0 24px rgba(0,255,136,.3),0 0 0 2px rgba(0,0,0,.8);transition:width .2s,height .2s;}
.cur-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(0,255,136,.4);border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);transition:width .3s,height .3s;}

/* NOISE + GRID */
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(0,255,136,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,136,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0;}

/* SCAN LINE */
.scanline{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--g1),transparent);opacity:.1;z-index:1;animation:scanDown 8s linear infinite;}
@keyframes scanDown{0%{top:-2px}100%{top:100vh}}

/* CANVAS */
#nc{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.4;}


/* ===================== NAV ===================== */
nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:0;background:rgba(0,0,0,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--gborder);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:stretch;height:64px;}
.nav-logo{display:flex;align-items:center;gap:14px;text-decoration:none;padding-right:40px;border-right:1px solid var(--line);margin-right:40px;}
.nav-logo-icon{width:32px;height:32px;border:1px solid var(--g3);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.nav-logo-icon::before{content:'ER';font-family:'Orbitron',sans-serif;font-size:10px;color:var(--g1);font-weight:700;}
.nav-logo-icon::after{content:'';position:absolute;top:-100%;left:0;right:0;height:100%;background:linear-gradient(transparent,rgba(0,255,136,.15));animation:sweep 3s ease infinite;}
@keyframes sweep{0%,100%{top:-100%}50%{top:100%}}
.nlname{font-family:'Orbitron',sans-serif;font-size:13px;font-weight:900;letter-spacing:.08em;display:flex;align-items:center;}
.logo-letter{color:var(--white);opacity:.2;animation:logo-dim 4s linear forwards;}
.logo-letter.lit{opacity:1;animation:none;}
@keyframes logo-dim{0%{opacity:1;}100%{opacity:.2;}}
@keyframes logo-glitch{0%,100%{transform:none;clip-path:none;}10%{transform:translate(-2px,0) skew(-2deg);clip-path:polygon(0 20%,100% 20%,100% 40%,0 40%);}20%{transform:translate(2px,0) skew(1deg);clip-path:none;}30%{transform:translate(-1px,0);clip-path:polygon(0 60%,100% 60%,100% 80%,0 80%);}40%{transform:none;clip-path:none;}}
.nlname{animation:logo-glitch .6s ease 0s 1;}
nav ul{list-style:none;display:flex;align-items:center;gap:4px;flex:1;}
nav ul a{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--muted);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:2px;transition:color .2s,background .2s;}
nav ul a:hover{color:var(--g1);background:var(--gdim);}
.nav-cta{margin-left:auto;display:flex;align-items:center;}
.btn-prim{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--g1);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:10px 22px;border:1px solid var(--g3);text-decoration:none;position:relative;overflow:hidden;transition:border-color .3s,box-shadow .3s;}
.btn-prim::before{content:'';position:absolute;inset:0;background:var(--g1);transform:translateX(-101%);transition:transform .3s ease;}
.btn-prim:hover{border-color:var(--g1);box-shadow:0 0 20px rgba(0,255,136,.2);}
.btn-prim:hover::before{transform:translateX(0);}
.btn-prim span{position:relative;z-index:1;}
.btn-prim:hover span{color:#000;}

/* ===================== LAYOUT ===================== */
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;position:relative;z-index:1;}
section{position:relative;z-index:1;}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}
.sec-tag{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--g3);letter-spacing:.25em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.sec-tag::before{content:'//';color:var(--g1);}
.sec-title{font-family:'Orbitron',sans-serif;font-size:clamp(28px,4vw,48px);font-weight:700;color:var(--white);line-height:1.1;letter-spacing:-.01em;}
.sec-title .ac{color:var(--g1);text-shadow:0 0 20px rgba(0,255,136,.3);}
.sec-desc{max-width:520px;color:var(--muted);font-size:16px;line-height:1.8;margin-top:16px;}

/* ===================== HERO ===================== */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 80px;border-bottom:1px solid var(--gborder);}
.hero-tag{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--g3);letter-spacing:.2em;text-transform:uppercase;margin-bottom:32px;display:flex;align-items:center;gap:14px;animation:fi 1s ease both;}
.hero-tag::before{content:'//';color:var(--g1);}
.live-dot{width:7px;height:7px;background:var(--g1);border-radius:50%;box-shadow:0 0 10px var(--g1);animation:pulse 2s infinite;display:inline-block;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.hero-h1{font-family:'Orbitron',sans-serif;font-size:clamp(42px,7vw,96px);font-weight:900;line-height:1;color:var(--white);letter-spacing:-.02em;margin-bottom:8px;animation:fi 1s .1s ease both;}
.glitch{position:relative;color:var(--g1);display:inline-block;}
.hero-type{font-family:'Share Tech Mono',monospace;font-size:clamp(13px,2vw,19px);color:var(--g3);margin-bottom:40px;animation:fi 1s .2s ease both;height:28px;}
.typed{color:var(--g2);}
.cblink{display:inline-block;width:2px;height:1em;background:var(--g1);margin-left:2px;vertical-align:middle;animation:blink 1s step-end infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.hero-desc{max-width:600px;font-size:18px;color:var(--text);line-height:1.75;margin-bottom:48px;animation:fi 1s .3s ease both;}
.hero-desc strong{color:var(--white);}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:56px;animation:fi 1s .4s ease both;}
.btn-sec{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:10px 22px;border:1px solid var(--line);text-decoration:none;transition:all .3s;}
.btn-sec:hover{border-color:var(--gborder);color:var(--g1);}
.metrics{display:flex;gap:0;border:1px solid var(--gborder);animation:fi 1s .5s ease both;}
.metric{flex:1;padding:24px 28px;border-right:1px solid var(--gborder);position:relative;overflow:hidden;}
.metric:last-child{border-right:none;}
.metric::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g1),transparent);animation:shimmer 3s ease infinite;animation-delay:var(--d,0s);opacity:.5;}
@keyframes shimmer{0%,100%{opacity:0;transform:translateX(-100%)}50%{opacity:.5;transform:translateX(100%)}}
.mnum{font-family:'Orbitron',sans-serif;font-size:30px;font-weight:700;color:var(--g1);line-height:1;text-shadow:0 0 20px rgba(0,255,136,.4);}
.mlabel{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-top:6px;}
@keyframes fi{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ===================== THREAT CARDS ===================== */
#servizi{padding:100px 0;border-bottom:1px solid var(--gborder);}
.threat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gborder);border:1px solid var(--gborder);}
.threat-card{background:var(--bg);padding:0;position:relative;overflow:hidden;transition:background .3s;cursor:default;}
.threat-card:hover{background:var(--bg3);}
.tc-header{
  padding:16px 24px 12px;
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.tc-sev{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  padding:4px 10px;
  border-radius:2px;
  flex-shrink:0;
}
.sev-CRITICAL{background:rgba(255,59,59,.15);color:#FF3B3B;border:1px solid rgba(255,59,59,.4);}
.sev-HIGH{background:rgba(255,140,0,.12);color:#FF8C00;border:1px solid rgba(255,140,0,.35);}
.sev-MEDIUM{background:rgba(255,215,0,.1);color:#FFD700;border:1px solid rgba(255,215,0,.3);}
.tc-num{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);}
.tc-body{padding:20px 24px 16px;}
.tc-title{font-family:'Orbitron',sans-serif;font-size:13px;font-weight:700;color:var(--white);margin-bottom:10px;letter-spacing:.03em;line-height:1.3;}
.tc-desc{font-size:13px;color:var(--muted);line-height:1.7;}
.tc-bar-wrap{padding:0 24px 20px;}
.tc-bar-label{display:flex;justify-content:space-between;font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted);margin-bottom:6px;letter-spacing:.08em;}
.tc-bar-bg{height:3px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;}
.tc-bar-fill{height:100%;border-radius:2px;transition:width 1.2s ease;width:0;}
.tc-fill-CRITICAL{background:linear-gradient(90deg,#FF3B3B,#FF6B6B);}
.tc-fill-HIGH{background:linear-gradient(90deg,#FF8C00,#FFAA44);}
.tc-fill-MEDIUM{background:linear-gradient(90deg,#FFD700,#FFE566);}
.tc-fill-LOW{background:linear-gradient(90deg,var(--g3),var(--g1));}
.tc-tags{display:flex;flex-wrap:wrap;gap:5px;padding:0 24px 20px;}
.tc-tag{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted);border:1px solid rgba(0,255,136,.1);padding:3px 7px;letter-spacing:.06em;transition:all .2s;}
.threat-card:hover .tc-tag{border-color:var(--gborder);color:var(--g3);}
.tc-scan-line{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,136,.03),transparent);transition:left .5s ease;}
.threat-card:hover .tc-scan-line{left:100%;}

/* ===================== CVE STACK ANALYZER ===================== */
#cve-section{padding:100px 0;border-bottom:1px solid var(--gborder);}
.cve-status{display:flex;align-items:center;gap:10px;font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--muted);}
.cve-dot{width:8px;height:8px;background:var(--g1);border-radius:50%;box-shadow:0 0 8px var(--g1);animation:pulse 2s infinite;}

/* Stack selector */
.stack-selector{margin-top:56px;}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gborder);border:1px solid var(--gborder);margin-bottom:1px;}
.cat-col{background:var(--bg2);padding:24px 22px;}
.cat-label{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.cat-label::before{content:'//';color:var(--g1);}
.cat-select{width:100%;background:var(--bg);border:1px solid var(--line);padding:10px 14px;color:var(--white);font-family:'Share Tech Mono',monospace;font-size:12px;outline:none;cursor:pointer;transition:border-color .3s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23008C48' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;}
.cat-select:focus{border-color:var(--gborder);}
.cat-select option{background:#020602;}
.selected-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;min-height:28px;}
.chip{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--g2);border:1px solid var(--gborder);padding:4px 10px;display:flex;align-items:center;gap:6px;letter-spacing:.06em;background:var(--gdim);}
.chip-rm{cursor:pointer;color:var(--muted);font-size:14px;line-height:1;transition:color .2s;}
.chip-rm:hover{color:#FF3B3B;}

.analyze-bar{background:var(--bg2);border:1px solid var(--gborder);border-top:none;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.selected-count{font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--muted);}
.selected-count span{color:var(--g1);}
.btn-analyze{display:inline-flex;align-items:center;gap:10px;background:var(--g1);color:#000;font-family:'Share Tech Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:12px 28px;border:none;cursor:pointer;transition:background .2s,box-shadow .3s;position:relative;overflow:hidden;}
.btn-analyze:hover{background:var(--g2);box-shadow:0 0 24px rgba(0,255,136,.3);}
.btn-analyze:disabled{opacity:.5;cursor:not-allowed;}

/* Results */
.cve-results{margin-top:2px;}
.cve-product-block{margin-bottom:2px;}
.cpb-head{background:var(--bg2);border:1px solid var(--gborder);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s;}
.cpb-head:hover{background:var(--bg3);}
.cpb-name{font-family:'Orbitron',sans-serif;font-size:13px;font-weight:700;color:var(--white);letter-spacing:.04em;}
.cpb-meta{display:flex;align-items:center;gap:12px;}
.cpb-count{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--muted);}
.cpb-sev-max{font-family:'Share Tech Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1em;padding:3px 9px;}
.cpb-toggle{font-family:'Share Tech Mono',monospace;font-size:16px;color:var(--g3);transition:transform .3s;}
.cpb-body{display:none;}
.cpb-body.open{display:block;}

/* CVE cards */
.cve-card{background:var(--bg);border:1px solid var(--line);border-top:none;padding:18px 24px;display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:start;transition:background .3s,border-color .3s;}
.cve-card:hover{background:var(--bg3);border-color:var(--gborder);}
.cve-score-wrap{text-align:center;}
.cve-score{font-family:'Orbitron',monospace;font-size:20px;font-weight:700;line-height:1;}
.score-CRITICAL{color:#FF3B3B;text-shadow:0 0 10px rgba(255,59,59,.4);}
.score-HIGH{color:#FF8C00;}
.score-MEDIUM{color:#FFD700;}
.score-LOW{color:var(--g1);}
.score-NONE{color:var(--muted);}
.cve-score-label{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.1em;margin-top:3px;}
.cve-id{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--g2);letter-spacing:.08em;margin-bottom:5px;}
.cve-desc{font-size:13px;color:var(--text);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cve-meta-row{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);margin-top:7px;}
.cve-badge{font-family:'Share Tech Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1em;padding:4px 10px;white-space:nowrap;align-self:center;}
.badge-CRITICAL{background:rgba(255,59,59,.15);color:#FF3B3B;border:1px solid rgba(255,59,59,.35);}
.badge-HIGH{background:rgba(255,140,0,.12);color:#FF8C00;border:1px solid rgba(255,140,0,.3);}
.badge-MEDIUM{background:rgba(255,215,0,.1);color:#FFD700;border:1px solid rgba(255,215,0,.25);}
.badge-LOW{background:var(--gdim);color:var(--g2);border:1px solid var(--gborder);}
.badge-NONE{background:rgba(100,100,100,.1);color:var(--muted);border:1px solid rgba(100,100,100,.2);}

.cve-safe{background:var(--bg);border:1px solid rgba(0,255,136,.15);border-top:none;padding:20px 24px;display:flex;align-items:center;gap:14px;font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--g3);}
.cve-safe-icon{font-size:18px;}
.cve-loading-row{background:var(--bg);border:1px solid var(--line);border-top:none;padding:20px 24px;font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--g3);}
.cve-loading-row::after{content:'...';animation:dots 1.2s steps(3) infinite;}
@keyframes dots{0%{content:''}33%{content:'.'}66%{content:'..'}100%{content:'...'}}
.cve-err-row{background:var(--bg);border:1px solid var(--line);border-top:none;padding:16px 24px;font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--muted);}

@media(max-width:1000px){.cat-grid{grid-template-columns:1fr 1fr;}.analyze-bar{flex-direction:column;align-items:flex-start;}.btn-analyze{width:100%;justify-content:center;}.cve-card{grid-template-columns:auto 1fr;}.cve-badge{display:none;}}
@media(max-width:600px){.cat-grid{grid-template-columns:1fr;}}

/* ===================== PROBLEMA ===================== */
#problema{padding:100px 0;border-bottom:1px solid var(--gborder);}
.prob-box{border:1px solid var(--gborder);background:var(--bg2);padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;position:relative;overflow:hidden;}
.prob-box::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g1),transparent);animation:bpulse 4s ease infinite;}
@keyframes bpulse{0%,100%{opacity:.3}50%{opacity:1}}
.pq{font-family:'Orbitron',sans-serif;font-size:clamp(18px,2.5vw,28px);font-weight:600;color:var(--white);line-height:1.35;letter-spacing:-.01em;}
.pq .hl{color:var(--g1);text-shadow:0 0 15px rgba(0,255,136,.3);border-bottom:1px solid var(--g3);}
.pr p{font-size:15px;color:var(--text);line-height:1.8;margin-bottom:14px;}
.pr strong{color:var(--white);}
.cl{list-style:none;margin:24px 0 32px;}
.cl li{font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;transition:color .2s;}
.cl li:hover{color:var(--g2);}
.cl li::before{content:'>';color:var(--g1);flex-shrink:0;}

/* ===================== BOOKING ===================== */
#booking{padding:100px 0;border-bottom:1px solid var(--gborder);}
.book-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-top:64px;}
.book-info p{font-size:15px;color:var(--text);line-height:1.8;margin-bottom:16px;}
.book-info strong{color:var(--white);}
.book-note{font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--g3);margin-top:24px;padding:16px;border:1px solid var(--gborder);background:var(--bg2);}
.book-note::before{content:'> ';color:var(--g1);}

/* Calendar */
.cal-widget{border:1px solid var(--gborder);background:var(--bg2);}
.cal-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);}
.cal-month{font-family:'Orbitron',sans-serif;font-size:14px;font-weight:700;color:var(--white);}
.cal-btn{background:none;border:1px solid var(--line);color:var(--muted);font-family:'Share Tech Mono',monospace;font-size:12px;padding:6px 12px;cursor:pointer;transition:all .2s;}
.cal-btn:hover{border-color:var(--gborder);color:var(--g1);}
.cal-days-header{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line);}
.cal-dh{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);text-align:center;padding:8px 4px;letter-spacing:.08em;}
.cal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);}
.cal-day{background:var(--bg);padding:0;position:relative;}
.cal-day-num{font-family:'Orbitron',sans-serif;font-size:11px;color:var(--muted);padding:8px 10px 4px;text-align:right;}
.cal-slots{display:flex;flex-direction:column;gap:2px;padding:0 6px 8px;}
.slot-btn{
  background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.15);
  color:var(--g3);font-family:'Share Tech Mono',monospace;font-size:10px;
  padding:4px 6px;cursor:pointer;text-align:center;
  transition:all .2s;letter-spacing:.04em;
}
.slot-btn:hover{background:rgba(0,255,136,.15);border-color:var(--g2);color:var(--g1);box-shadow:0 0 8px rgba(0,255,136,.1);}
.slot-btn.booked{background:rgba(0,255,136,.2);border-color:var(--g2);color:var(--g1);}
.cal-day.past .cal-day-num{color:rgba(61,107,77,.3);}
.cal-day.past .slot-btn{opacity:.3;pointer-events:none;}
.cal-day.today .cal-day-num{color:var(--g1);}

/* Booking modal */
.book-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:1000;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.book-modal.open{display:flex;}
.book-modal-box{width:min(480px,90vw);border:1px solid var(--gborder);background:#000;box-shadow:0 0 60px rgba(0,255,136,.15);}
.bm-head{padding:20px 24px;border-bottom:1px solid var(--gborder);display:flex;align-items:center;justify-content:space-between;}
.bm-title{font-family:'Orbitron',sans-serif;font-size:14px;color:var(--white);}
.bm-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;line-height:1;}
.bm-close:hover{color:var(--g1);}
.bm-body{padding:28px 24px;}
.bm-slot-info{font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--g1);margin-bottom:20px;padding:12px 16px;border:1px solid var(--gborder);background:var(--bg3);}
.f-group{margin-bottom:18px;}
.f-label{display:block;font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;}
.f-input,.f-select,.f-textarea{width:100%;background:var(--bg3);border:1px solid var(--line);padding:12px 14px;color:var(--white);font-family:'Share Tech Mono',monospace;font-size:13px;outline:none;transition:border-color .3s;appearance:none;}
.f-input:focus,.f-select:focus,.f-textarea:focus{border-color:var(--gborder);}
.f-select option{background:#020602;}
.f-textarea{resize:vertical;min-height:80px;}
.btn-book-confirm{width:100%;background:var(--g1);color:#000;font-family:'Share Tech Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:14px;border:none;cursor:pointer;transition:background .2s;}
.btn-book-confirm:hover{background:var(--g2);}

/* ===================== STACK ===================== */
#stack{padding:100px 0;border-bottom:1px solid var(--gborder);}
.stack-layout{display:grid;grid-template-columns:220px 1fr;gap:48px;margin-top:64px;}
.stack-tabs{display:flex;flex-direction:column;gap:1px;position:sticky;top:80px;align-self:start;}
.tab-btn{background:var(--bg);border:1px solid var(--line);color:var(--muted);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:12px 16px;text-align:left;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;}
.tab-btn::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--g1);transform:scaleY(0);transition:transform .2s;}
.tab-btn:hover{color:var(--g2);background:var(--bg3);}
.tab-btn.active{color:var(--g1);background:var(--bg3);border-color:var(--gborder);}
.tab-btn.active::before{transform:scaleY(1);}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:panelIn .3s ease;}
@keyframes panelIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
.panel-head{font-family:'Orbitron',sans-serif;font-size:20px;font-weight:700;color:var(--g1);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--gborder);text-shadow:0 0 15px rgba(0,255,136,.3);}
.tool-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);gap:16px;transition:background .2s;}
.tool-row:hover{background:rgba(0,255,136,.03);margin:0 -16px;padding:13px 16px;}
.tn{font-size:15px;color:var(--white);font-weight:600;}
.td{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--muted);text-align:right;max-width:300px;line-height:1.5;}
.cert-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.cert-chip{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--g2);border:1px solid var(--gborder);padding:4px 10px;letter-spacing:.08em;display:flex;align-items:center;gap:6px;}
.cert-chip::before{content:'✓';color:var(--g1);}

/* ===================== COMPLIANCE ===================== */
#compliance{padding:100px 0;border-bottom:1px solid var(--gborder);}
.comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gborder);border:1px solid var(--gborder);margin-top:64px;}
.comp-card{background:var(--bg);padding:32px 28px;transition:background .3s;position:relative;overflow:hidden;}
.comp-card:hover{background:var(--bg3);}
.comp-card:hover .cn{text-shadow:0 0 20px rgba(0,255,136,.5);}
.cn{font-family:'Orbitron',sans-serif;font-size:26px;font-weight:900;color:var(--g1);margin-bottom:8px;transition:text-shadow .3s;}
.cf{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);margin-bottom:14px;}
.cd{font-size:13px;color:var(--text);line-height:1.75;}
.comp-bar{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g1),transparent);transform:scaleX(0);transition:transform .4s;}
.comp-card:hover .comp-bar{transform:scaleX(1);}

/* ===================== PROCESSO ===================== */
#processo{padding:100px 0;border-bottom:1px solid var(--gborder);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border:1px solid var(--gborder);}
.step{padding:40px 28px;border-right:1px solid var(--gborder);transition:background .3s;}
.step:last-child{border-right:none;}
.step:hover{background:var(--bg3);}
.sn{font-family:'Orbitron',sans-serif;font-size:48px;font-weight:900;color:rgba(0,255,136,.12);line-height:1;margin-bottom:24px;transition:color .3s;}
.step:hover .sn{color:rgba(0,255,136,.25);}
.st{font-family:'Orbitron',sans-serif;font-size:13px;font-weight:700;color:var(--white);margin-bottom:12px;letter-spacing:.04em;}
.sd{font-size:13px;color:var(--muted);line-height:1.75;}

/* ===================== TARIFFE ===================== */
#tariffe{padding:100px 0;border-bottom:1px solid var(--gborder);}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gborder);border:1px solid var(--gborder);margin-top:64px;}
.tc2{background:var(--bg);padding:48px 36px;position:relative;overflow:hidden;transition:background .3s;display:flex;flex-direction:column;}
.tc2:hover{background:var(--bg3);}
.tc2.feat{background:var(--bg3);}
.tc2.feat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--g3),var(--g1),var(--g3));animation:bpulse 2s ease infinite;}
.t-fl{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--g1);letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px;display:flex;align-items:center;gap:8px;}
.t-fl::before{content:'◆';font-size:8px;animation:pulse 2s infinite;}
.t-nm{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px;}
.t-pr{font-family:'Orbitron',sans-serif;font-size:64px;font-weight:900;color:var(--white);line-height:1;}
.tc2:not(.feat) .t-nm{margin-top:38px;}
.feat .t-pr{color:var(--g1);text-shadow:0 0 30px rgba(0,255,136,.4);}
.t-pr .unit{font-size:20px;color:var(--muted);font-family:'Share Tech Mono',monospace;font-weight:400;}
.t-note{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--g3);margin:12px 0 32px;}
.t-feats{list-style:none;margin-bottom:36px;}
.t-feats li{font-size:14px;color:var(--text);padding:9px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start;}
.t-feats li::before{content:'>';color:var(--g1);font-family:'Share Tech Mono',monospace;flex-shrink:0;}
.tc2 .btn-t{margin-top:auto;}
.btn-t{display:block;text-align:center;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;padding:14px;text-decoration:none;transition:all .3s;border:1px solid var(--gborder);color:var(--muted);position:relative;overflow:hidden;}
.btn-t::before{content:'';position:absolute;inset:0;background:var(--gdim);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.btn-t:hover{color:var(--g1);border-color:var(--g3);}
.btn-t:hover::before{transform:scaleX(1);}
.feat .btn-t{border-color:var(--g3);color:var(--g2);}

/* ===================== CHI SONO ===================== */
#chi-sono{padding:100px 0;border-bottom:1px solid var(--gborder);}
.chi-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:64px;}
.chi-left p{font-size:15px;color:var(--text);line-height:1.85;margin-bottom:16px;}
.chi-left strong{color:var(--white);}
.exp-card{border:1px solid var(--gborder);padding:18px 22px;margin-bottom:2px;background:var(--bg2);transition:border-color .3s,background .3s;}
.exp-card:hover{border-color:var(--g3);background:var(--bg3);}
.er{font-family:'Orbitron',sans-serif;font-size:12px;font-weight:700;color:var(--white);letter-spacing:.04em;}
.ew{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--g3);margin:4px 0 2px;}
.ewh{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);}
.exp-desc{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--line);}
.exp-desc li{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);padding:3px 0;line-height:1.6;}
.exp-desc li::before{content:'> ';color:var(--g3);}
.cert-sec{margin-top:32px;}
.cert-sec-title{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px;}
.cert-pills{display:flex;flex-wrap:wrap;gap:7px;}
.cpill{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--g3);border:1px solid var(--g4);padding:5px 11px;letter-spacing:.05em;transition:all .2s;}
.cpill:hover{color:var(--g1);border-color:var(--gborder);}
.info-grid{display:flex;flex-direction:column;gap:2px;}
.info-box{background:var(--bg2);border:1px solid var(--gborder);padding:22px 26px;}
.ibt{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;}
.tr2{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);gap:12px;}
.tr2:last-child{border-bottom:none;}
.tr2 .tn{font-size:14px;}
.tr2 .td{font-size:11px;}

/* ===================== CONTATTI ===================== */
#contatti{padding:100px 0 140px;}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.ch{font-family:'Orbitron',sans-serif;font-size:clamp(24px,3.5vw,38px);font-weight:700;color:var(--white);line-height:1.2;margin-bottom:16px;}
.ch .ac{color:var(--g1);text-shadow:0 0 20px rgba(0,255,136,.3);}
.cs{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:40px;}
.c-link{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:all .3s;color:var(--text);}
.c-link:hover{color:var(--g1);padding-left:8px;}
.c-icon{width:40px;height:40px;border:1px solid var(--gborder);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;transition:all .3s;}
.c-link:hover .c-icon{border-color:var(--g3);background:var(--gdim);}
.clabel{font-family:'Share Tech Mono',monospace;font-size:13px;}
.csub{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);margin-top:2px;}
.btn-send{width:100%;background:transparent;color:var(--g1);font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:16px;border:1px solid var(--g3);cursor:pointer;transition:all .3s;position:relative;overflow:hidden;}
.btn-send::before{content:'';position:absolute;inset:0;background:var(--g1);transform:translateY(101%);transition:transform .3s ease;}
.btn-send:hover{color:#000;box-shadow:0 0 30px rgba(0,255,136,.3);}
.btn-send:hover::before{transform:translateY(0);}
.btn-send span{position:relative;z-index:1;}

/* FOOTER */
footer{border-top:1px solid var(--gborder);padding:32px 0;z-index:1;position:relative;}
.fi2{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.fc{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--muted);}
.fl{display:flex;gap:24px;}
.fl a{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--muted);text-decoration:none;transition:color .2s;}
.fl a:hover{color:var(--g1);}

/* RESPONSIVE */
@media(max-width:1000px){
  nav ul{display:none;}
  .nav-cta{display:none;}
  .nav-inner{padding:0 16px;}
  .nav-logo{border-right:none;padding-right:16px;margin-right:0;}
  .lang-switch{margin-left:auto;margin-right:8px;}
  .nav-hamburger{margin-left:0;flex-shrink:0;}
  .metrics{flex-wrap:wrap;}
  .metric{min-width:50%;border-bottom:1px solid var(--gborder);}
  .threat-grid,.comp-grid{grid-template-columns:1fr;}
  .prob-box,.book-layout,.chi-grid,.contact-layout{grid-template-columns:1fr;gap:40px;}
  .prob-box{padding:40px 28px;}
  .stack-layout{grid-template-columns:1fr;}
  .stack-tabs{flex-direction:row;flex-wrap:wrap;position:static;}
  .tab-btn{flex:1;min-width:90px;text-align:center;}
  .steps{grid-template-columns:1fr 1fr;}
  .step{border-bottom:1px solid var(--gborder);}
  .t-grid{grid-template-columns:1fr;}
  .cve-card{grid-template-columns:auto 1fr;gap:14px;}
  .cve-badge{display:none;}
  .comp-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .nav-logo{gap:8px;}
  .nlname{font-size:11px;}
  .lang-btn{padding:4px 6px;}
  .hero-actions{flex-direction:column;}
  .btn-prim,.btn-sec{width:100%;justify-content:center;}
  .steps{grid-template-columns:1fr;}
  .comp-grid{grid-template-columns:1fr;}
  .cal-days-header{display:none;}
  .cal-grid{grid-template-columns:1fr;gap:2px;}
  .cal-day{display:flex;align-items:center;gap:8px;padding:8px 12px;}
  .cal-day-num{padding:0;text-align:left;min-width:32px;}
  .cal-slots{flex-direction:row;flex-wrap:wrap;padding:0;gap:4px;}
  .t-grid{grid-template-columns:1fr;}
}
@media(pointer:coarse){
  .cur,.cur-ring{display:none!important;}
  *{cursor:auto!important;}
}

/* LANGUAGE SWITCHER */
.lang-switch{display:flex;align-items:center;gap:4px;margin-left:16px;margin-right:16px;}
.lang-btn{background:none;border:1px solid var(--line);padding:4px 8px;cursor:pointer;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.08em;color:var(--muted);transition:all .2s;text-transform:uppercase;}
.lang-btn:hover{border-color:var(--gborder);color:var(--g2);}
.lang-btn.active{border-color:var(--g3);color:var(--g1);background:var(--gdim);}

/* STICKY CTA MOBILE */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:600;padding:12px 16px;background:rgba(0,0,0,.95);border-top:1px solid var(--gborder);backdrop-filter:blur(12px);transform:translateY(100%);transition:transform .3s ease;}
.sticky-cta.visible{transform:translateY(0);}
.sticky-cta a{display:block;text-align:center;background:var(--g1);color:#000;font-family:'Share Tech Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:14px;text-decoration:none;}
@media(max-width:1000px){.sticky-cta{display:block;}}

/* NOSCRIPT FALLBACK */
.noscript-fallback{background:#000;color:#00FF88;font-family:monospace;padding:60px 32px;text-align:center;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;}
.noscript-fallback h1{font-size:24px;margin-bottom:10px;}
.noscript-fallback a{color:#00FF88;}

/* SOCIAL PROOF BAR */
.proof-bar{padding:48px 0;border-bottom:1px solid var(--gborder);}
.proof-label{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;text-align:center;margin-bottom:20px;}
.proof-logos{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;}
.proof-name{font-family:'Orbitron',sans-serif;font-size:13px;color:var(--muted);letter-spacing:.06em;transition:color .3s;}
.proof-name:hover{color:var(--g2);}

/* CVE LINK CARD (replaces full analyzer) */
.cve-link-card{border:1px solid var(--gborder);background:var(--bg2);padding:48px;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:48px;transition:border-color .3s,background .3s;text-decoration:none;color:inherit;position:relative;overflow:hidden;}
.cve-link-card:hover{border-color:var(--g3);background:var(--bg3);}
.cve-link-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g1),transparent);animation:bpulse 4s ease infinite;}
.cve-link-info{flex:1;}
.cve-link-title{font-family:'Orbitron',sans-serif;font-size:clamp(18px,2.5vw,28px);font-weight:700;color:var(--white);margin-bottom:8px;}
.cve-link-title .ac{color:var(--g1);text-shadow:0 0 20px rgba(0,255,136,.3);}
.cve-link-desc{font-size:14px;color:var(--muted);line-height:1.7;max-width:500px;}
.cve-link-btn{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--g1);border:1px solid var(--g3);padding:14px 28px;white-space:nowrap;transition:all .3s;}
.cve-link-card:hover .cve-link-btn{background:var(--g1);color:#000;}
@media(max-width:600px){.cve-link-card{flex-direction:column;padding:32px 24px;text-align:center;}.cve-link-btn{width:100%;text-align:center;}}

/* ===== CAPTCHA MATH CHALLENGE — multi-step ===== */
.captcha-block{margin-bottom:18px;}
.captcha-label{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;display:block;}
.cstep{padding:8px 0;transition:opacity .3s;}
.cstep.locked{opacity:.3;pointer-events:none;}
.cstep.active{opacity:1;pointer-events:auto;}
.cstep-tag{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.cstep.active .cstep-tag{color:var(--g3);}
.cstep-lock{font-size:10px;}
.cstep-sep{height:1px;background:var(--line);margin:6px 0;}
.captcha-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.captcha-challenge{font-family:'Share Tech Mono',monospace;font-size:14px;color:var(--g1);background:var(--bg3);border:1px solid var(--gborder);padding:9px 14px;flex-shrink:0;text-shadow:0 0 8px rgba(0,255,136,.25);user-select:none;-webkit-user-select:none;letter-spacing:.1em;}
.captcha-challenge .cn{display:inline-block;}
.captcha-challenge .cop{display:inline-block;opacity:.6;margin:0 5px;}
.ceq{font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--muted);}
.captcha-input{width:76px;background:var(--bg);border:1px solid var(--line);padding:9px 10px;color:var(--white);font-family:'Share Tech Mono',monospace;font-size:14px;outline:none;text-align:center;transition:border-color .3s,box-shadow .3s;-moz-appearance:textfield;}
.captcha-input::-webkit-outer-spin-button,.captcha-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.captcha-input:focus{border-color:var(--gborder);}
.captcha-input.ok{border-color:var(--g3);box-shadow:0 0 8px rgba(0,255,136,.15);}
.captcha-input.err{border-color:#FF3B3B;box-shadow:0 0 6px rgba(255,59,59,.15);}
.captcha-hint{font-family:'Share Tech Mono',monospace;font-size:10px;color:#FF3B3B;margin-top:6px;display:none;}
.captcha-hint.show{display:block;}
.captcha-cooldown{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);margin-top:6px;display:none;}
.captcha-cooldown.show{display:block;}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}
.captcha-canvas{display:block;border:1px solid var(--gborder);background:var(--bg3);image-rendering:pixelated;}
.captcha-lockout{font-family:'Share Tech Mono',monospace;font-size:10px;color:#FF8C00;margin-top:6px;display:none;letter-spacing:.05em;}
.captcha-lockout.show{display:block;}
.captcha-attempts{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted);margin-top:4px;}


/* ===== MOBILE NAV ===== */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;margin-left:auto;align-self:center;cursor:pointer;padding:8px;background:transparent;border:1px solid var(--g3);transition:border-color .2s;}
.nav-hamburger:hover{border-color:var(--g1);}
.nav-hamburger span{display:block;height:1px;background:var(--g1);transition:all .3s;transform-origin:center;}
.nav-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-nav{display:none;position:fixed;top:64px;left:0;right:0;background:rgba(0,0,0,.97);border-bottom:1px solid var(--gborder);z-index:499;backdrop-filter:blur(20px);}
.mobile-nav.open{display:block;animation:mnavIn .2s ease;}
@keyframes mnavIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mobile-nav ul{list-style:none;padding:16px 0;}
.mobile-nav ul li a{display:block;font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--muted);text-decoration:none;letter-spacing:.15em;text-transform:uppercase;padding:14px 32px;border-bottom:1px solid var(--line);transition:color .2s,background .2s;}
.mobile-nav ul li a:hover{color:var(--g1);background:var(--gdim);}
.mobile-nav ul li:last-child a{border-bottom:none;}
@media(max-width:1000px){.nav-hamburger{display:flex;}}
/* === UTILITY CLASSES (replacing inline styles) === */
.u-noscript-note{margin-top:20px;font-size:12px;color:#666;}
.u-flex-col{display:flex;flex-direction:column;line-height:1;}
.u-mobile-lang-row{padding:14px 32px;display:flex;gap:8px;}
.u-mobile-lang-btn{flex:1;}
.u-hero-sub{font-size:.55em;color:var(--g3);letter-spacing:.05em;}
.u-metric-d0{--d:0s;}.u-metric-d1{--d:.5s;}.u-metric-d2{--d:1s;}.u-metric-d3{--d:1.5s;}
.u-mb-64{margin-bottom:64px;}
.u-mb-0{margin-bottom:0;}
.u-mb-28{margin-bottom:28px;}
.u-mt-28{margin-top:28px;}
.u-inline-flex{display:inline-flex;}
.u-cve-privacy{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);margin-top:12px;padding:8px 12px;border:1px solid var(--line);}
.u-legend-row{display:flex;align-items:center;gap:12px;font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--muted);}
.u-legend-row-mb{margin-bottom:8px;}
.u-legend-avail{width:12px;height:12px;background:rgba(0,255,136,.2);border:1px solid rgba(0,255,136,.4);display:inline-block;}
.u-legend-past{width:12px;height:12px;background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.15);opacity:.4;display:inline-block;}
.u-price-custom{font-size:24px;letter-spacing:.08em;}
.u-tr2-noborder{border:none;}

.u-faded{opacity:.4;}

/* COOKIE BANNER */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:rgba(0,0,0,.95);border-top:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;gap:12px;font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--muted);z-index:9999;flex-wrap:wrap;}
.cookie-banner a{color:var(--g3);text-decoration:underline;}
.cookie-ok{background:var(--gborder);color:#000;border:none;padding:6px 16px;font-family:'Share Tech Mono',monospace;font-size:12px;cursor:pointer;letter-spacing:.06em;}
.cookie-ok:hover{background:var(--g2);}
.cookie-banner.hidden{display:none;}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}

/* ===================== SECURITY DIAGNOSTIC ===================== */
#diagnostic{padding:80px 0;border-bottom:1px solid var(--gborder);}

.diag-hidden{display:none!important;}

/* Intro */
.diag-intro{max-width:680px;}
.diag-intro .sec-title{margin:12px 0 16px;}
.diag-intro .sec-desc{font-size:15px;color:var(--text);line-height:1.8;margin-bottom:28px;}
#diagStart{cursor:pointer;border:1px solid var(--g3);background:transparent;padding:12px 28px;font-size:12px;}
#diagStart:hover{border-color:var(--g1);}

/* Quiz wrapper */
.diag-quiz{max-width:720px;}

/* Progress bar */
.diag-prog-wrap{width:100%;height:2px;background:var(--line);margin-bottom:24px;overflow:hidden;}
.diag-prog-bar{height:100%;background:var(--g1);width:0%;transition:width .4s ease;box-shadow:0 0 8px rgba(0,255,136,.4);}

/* Counter */
.diag-counter{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px;}

/* Question */
.diag-question{font-family:'Orbitron',sans-serif;font-size:16px;font-weight:600;color:var(--white);letter-spacing:.04em;line-height:1.5;margin-bottom:28px;}

/* Options */
.diag-options{display:flex;flex-direction:column;gap:10px;}
.diag-opt{background:var(--bg2);border:1px solid var(--gborder);padding:14px 20px;cursor:pointer;font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--text);letter-spacing:.06em;text-align:left;transition:border-color .2s,background .2s,color .2s;position:relative;overflow:hidden;}
.diag-opt::before{content:'';position:absolute;inset:0;background:var(--g1);transform:translateX(-101%);transition:transform .25s ease;opacity:.04;}
.diag-opt:hover{border-color:var(--g3);color:var(--white);}
.diag-opt:hover::before{transform:translateX(0);}
.diag-opt-prefix{color:var(--g3);margin-right:10px;}

/* Result */
.diag-result{max-width:720px;}
.diag-res-badge{display:inline-flex;align-items:center;gap:8px;font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.15em;padding:6px 14px;border-width:1px;border-style:solid;margin-bottom:20px;}
.diag-res-badge.sev-urgent{color:var(--crit);border-color:rgba(255,59,59,.4);background:rgba(255,59,59,.05);}
.diag-res-badge.sev-high{color:var(--high);border-color:rgba(255,140,0,.4);background:rgba(255,140,0,.05);}
.diag-res-badge.sev-med{color:var(--med);border-color:rgba(255,215,0,.4);background:rgba(255,215,0,.05);}
.diag-res-badge.sev-low{color:var(--g1);border-color:rgba(0,255,136,.4);background:rgba(0,255,136,.05);}
.diag-res-title{font-family:'Orbitron',sans-serif;font-size:20px;font-weight:700;color:var(--white);letter-spacing:.04em;margin-bottom:16px;line-height:1.35;}
.diag-res-section{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--g3);letter-spacing:.2em;text-transform:uppercase;margin:24px 0 8px;}
.diag-res-text{font-family:'Rajdhani',sans-serif;font-size:15px;color:var(--text);line-height:1.8;}
.diag-res-steps{list-style:none;margin:0;padding:0;}
.diag-res-steps li{font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--text);padding:5px 0;line-height:1.65;}
.diag-res-steps li::before{content:'[→] ';color:var(--g2);}
.diag-res-closing{font-family:'Rajdhani',sans-serif;font-size:15px;color:var(--white);line-height:1.8;margin-top:16px;font-weight:500;}
.diag-res-divider{border:none;border-top:1px solid var(--line);margin:28px 0;}

/* Email form inside result */
.diag-email-wrap{background:var(--bg2);border:1px solid var(--gborder);padding:24px 28px;margin-top:28px;}
.diag-email-title{font-family:'Orbitron',sans-serif;font-size:13px;font-weight:700;color:var(--white);letter-spacing:.06em;margin-bottom:6px;}
.diag-email-sub{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);margin-bottom:18px;}
.diag-email-row{display:flex;gap:10px;flex-wrap:wrap;}
.diag-email-row .f-input{flex:1;min-width:180px;}
.diag-send-btn{background:transparent;border:1px solid var(--g3);color:var(--g1);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.1em;padding:10px 22px;cursor:pointer;transition:border-color .2s,box-shadow .2s;white-space:nowrap;}
.diag-send-btn:hover{border-color:var(--g1);box-shadow:0 0 14px rgba(0,255,136,.18);}
.diag-ts-wrap{margin:8px 0;}
.diag-sent{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--g2);letter-spacing:.08em;margin-top:10px;}
.diag-error-msg{color:#ff5555;}
.diag-sent-msg{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--g2);letter-spacing:.08em;margin-top:12px;display:none;}
.diag-sent-msg.visible{display:block;}

/* Privacy note */
.diag-privacy{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted);margin-top:10px;opacity:.7;}

/* Restart button */
.diag-restart-btn{background:transparent;border:1px solid var(--line);color:var(--muted);font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.1em;padding:8px 18px;cursor:pointer;margin-top:24px;transition:border-color .2s,color .2s;}
.diag-restart-btn:hover{border-color:var(--g3);color:var(--text);}

@media(max-width:700px){
  .diag-email-row{flex-direction:column;}
  .diag-question{font-size:14px;}
}
