.scan-modal{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(5,20,100,0.92);
  backdrop-filter:blur(16px) saturate(1.3);
  opacity:0;visibility:hidden;transition:all 0.4s ease;
}
.scan-modal.open{opacity:1;visibility:visible}
.scan-modal-inner{
  text-align:center;padding:48px 40px;
  border:1px solid rgba(188,134,255,0.2);border-radius:16px;
  background:rgba(32,13,87,0.9);
  box-shadow:0 0 80px rgba(85,4,213,0.2), 0 0 120px rgba(188,134,255,0.06);
  max-width:420px;width:90%;animation:modal-in 0.4s ease both;
}
@keyframes modal-in{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}
.scan-modal-title{font-family:'Rajdhani',sans-serif;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;color:var(--b-pale);letter-spacing:0.1em;margin-bottom:8px}
.scan-modal-sub{font-family:'Rajdhani',sans-serif;font-size:clamp(0.9rem,2vw,1.1rem);color:var(--soft-lav);letter-spacing:0.12em;margin-bottom:28px}
.scan-modal-fp{
  width:120px;height:120px;margin:0 auto 24px;position:relative;border-radius:50%;overflow:hidden;
  border:3px solid var(--lavanda);
  box-shadow:0 0 25px rgba(188,134,255,0.4), 0 0 60px rgba(85,4,213,0.2);
  display:flex;align-items:center;justify-content:center;
  animation:fp-glow 2s ease-in-out infinite;
}
.fp-scan-line{
  position:absolute;left:0;right:0;height:4px;
  background:linear-gradient(90deg, transparent, var(--lavanda), var(--neon-purple), var(--lavanda), transparent);
  top:10%;animation:scan-anim 2s ease-in-out infinite;border-radius:2px;z-index:5;
  box-shadow:0 0 15px var(--lavanda), 0 0 30px rgba(85,4,213,0.4);
}
@keyframes scan-anim{0%{top:-5%;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:105%;opacity:0}}
.scan-modal-fp img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.scan-progress{width:100%;height:4px;background:rgba(188,134,255,0.1);border-radius:4px;overflow:hidden;margin-bottom:16px}
.scan-progress-bar{height:100%;width:0;background:linear-gradient(90deg, var(--neon-purple), var(--lavanda), var(--sky));border-radius:4px;transition:width 0.05s linear;box-shadow:0 0 8px rgba(188,134,255,0.4)}
.scan-modal-msg{font-family:'Rajdhani',sans-serif;font-size:10px;letter-spacing:0.2em;color:var(--lavanda);text-transform:uppercase}
section{padding:clamp(40px,7vw,80px) clamp(16px,5vw,60px)}
.section-label{
  font-family:'Orbitron',monospace;font-size:10px;letter-spacing:0.45em;
  color:var(--lavanda);text-transform:uppercase;margin-bottom:10px;
  display:flex;align-items:center;gap:12px;
}
.section-label::before{content:'';width:24px;height:2px;background:linear-gradient(90deg, var(--neon-purple), var(--lavanda));border-radius:1px;box-shadow:0 0 6px rgba(188,134,255,0.3)}
.section-title{font-family:'Orbitron',monospace;font-size:clamp(1.5rem,3.5vw,2.8rem);font-weight:700;letter-spacing:0.05em;color:var(--white);line-height:1.15;margin-bottom:14px}
.section-title span{
  background:linear-gradient(135deg, var(--lavanda), var(--sky));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.section-desc{font-size:clamp(0.9rem,1.4vw,1.05rem);color:var(--dim);line-height:1.7;max-width:580px}
