
:root {
  --bg:     #05080f;
  --bg2:    #080d17;
  --bg3:    #0b1120;
  --cyan:   #00e5ff;
  --orange: #ff6b35;
  --blue:   #00b4d8;
  --text:   #edf2f7;
  --muted:  #4a5568;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{
  font-family:'Manrope',sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:16px;
  line-height:1.7;
  letter-spacing:0.01em;
}
body{overflow-x:hidden;}

::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--cyan);border-radius:2px;}

.font-display{font-family:'Manrope',sans-serif;letter-spacing:-0.02em;}
.font-mono{font-family:'JetBrains Mono',monospace;}

/* Neural network canvas bg */
#neural-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:1;}

/* Cards — premium: stronger glow, thicker border, more padding feel */
.card{
  background:linear-gradient(145deg,rgba(255,255,255,0.04),rgba(0,229,255,0.02));
  border:1px solid rgba(0,229,255,0.13);
  transition:all .35s cubic-bezier(.25,.8,.25,1);
}
.card:hover{
  border-color:rgba(0,229,255,0.32);
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(0,229,255,0.08);
}
.card-orange{
  background:linear-gradient(145deg,rgba(255,255,255,0.04),rgba(255,107,53,0.02));
  border:1px solid rgba(255,107,53,0.13);
}
.card-orange:hover{
  border-color:rgba(255,107,53,0.38);
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(255,107,53,0.08);
}

/* Nav */
nav{
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  background:rgba(5,8,15,0.88);
  border-bottom:1px solid rgba(0,229,255,0.1);
}

/* Buttons */
.btn-cyan{
  background:var(--cyan);
  color:#05080f;
  font-weight:800;
  letter-spacing:0.02em;
  transition:all .2s;
  box-shadow:0 4px 24px rgba(0,229,255,0.35);
}
.btn-cyan:hover{
  background:#33eeff;
  box-shadow:0 8px 40px rgba(0,229,255,0.5);
  transform:translateY(-2px);
}
.btn-outline{
  border:1.5px solid rgba(0,229,255,0.35);
  color:var(--cyan);
  font-weight:600;
  transition:all .2s;
}
.btn-outline:hover{
  background:rgba(0,229,255,0.1);
  border-color:rgba(0,229,255,0.6);
}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .9s cubic-bezier(.25,.8,.25,1) forwards;opacity:0;}
.d1{animation-delay:.1s}.d2{animation-delay:.28s}.d3{animation-delay:.45s}.d4{animation-delay:.65s}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.float{animation:float 7s ease-in-out infinite;}

@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.cursor{animation:blink 1s infinite;}

@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(2);opacity:0}}
.pulse-dot{animation:pulse 2s ease infinite;}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.rd1{transition-delay:.12s}.rd2{transition-delay:.24s}.rd3{transition-delay:.36s}

/* Gradient text */
.grad{
  background:linear-gradient(135deg,var(--cyan) 0%,var(--orange) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* Terminal */
.terminal{
  background:#040810;
  border:1px solid rgba(0,229,255,0.18);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,0.5);
}
.term-bar{
  background:rgba(0,229,255,0.06);
  border-bottom:1px solid rgba(0,229,255,0.1);
  padding:12px 18px;
  display:flex;
  align-items:center;
  gap:8px;
}
.dot{width:11px;height:11px;border-radius:50%;}

/* Tags */
.tag-cyan{background:rgba(0,229,255,0.1);border:1px solid rgba(0,229,255,0.22);color:var(--cyan);font-weight:600;}
.tag-orange{background:rgba(255,107,53,0.1);border:1px solid rgba(255,107,53,0.22);color:var(--orange);font-weight:600;}
.tag-blue{background:rgba(0,180,216,0.1);border:1px solid rgba(0,180,216,0.22);color:var(--blue);font-weight:600;}

/* Divider */
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,229,255,0.22),transparent);}

/* Input */
.inp{
  background:rgba(0,229,255,0.04);
  border:1.5px solid rgba(0,229,255,0.14);
  color:var(--text);
  transition:border-color .2s;
  font-family:'Manrope',sans-serif;
  font-size:15px;
}
.inp:focus{outline:none;border-color:rgba(0,229,255,0.45);}
.inp::placeholder{color:var(--muted);}

/* Service number — bigger, bolder */
.svc-num{
  font-family:'Manrope',sans-serif;
  font-size:3.5rem;
  font-weight:900;
  line-height:1;
  letter-spacing:-0.04em;
  background:linear-gradient(135deg,rgba(0,229,255,0.18),rgba(0,229,255,0.04));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* Progress */
.pbar{background:rgba(0,229,255,0.08);border-radius:6px;overflow:hidden;}
.pfill{height:4px;border-radius:6px;background:linear-gradient(90deg,var(--cyan),var(--orange));transition:width 1.4s ease;}

/* Scroll tech */
.tech-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;}
.tech-row::-webkit-scrollbar{display:none;}

/* Accent line */
.accent-line::after{
  content:'';
  display:block;
  width:56px;
  height:4px;
  margin-top:16px;
  background:linear-gradient(90deg,var(--cyan),var(--orange));
  border-radius:3px;
}

/* Section label */
.section-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--cyan);
  font-family:'JetBrains Mono',monospace;
}

/* Larger body text globally */
p{font-size:15px;}


*{box-sizing:border-box;margin:0;padding:0;}
html{font-family:'Manrope',sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.7;}
body{overflow-x:hidden;min-height:100vh;}

::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--cyan);border-radius:2px;}

#neural-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;}

/* Card */
.glass-card{
  background:linear-gradient(145deg,rgba(255,255,255,0.04),rgba(0,229,255,0.02));
  border:1px solid rgba(0,229,255,0.15);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 32px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(0,229,255,0.05);
}

/* Input */
.inp{
  width:100%;
  background:rgba(255,255,255,0.03);
  border:1.5px solid rgba(0,229,255,0.14);
  color:var(--text);
  border-radius:14px;
  padding:14px 18px;
  font-family:'Manrope',sans-serif;
  font-size:15px;
  font-weight:500;
  transition:border-color .25s, box-shadow .25s, background .25s;
  outline:none;
}
.inp:focus{
  border-color:rgba(0,229,255,0.5);
  background:rgba(0,229,255,0.04);
  box-shadow:0 0 0 4px rgba(0,229,255,0.08);
}
.inp::placeholder{color:var(--muted);}

/* Input wrapper with icon */
.inp-wrap{position:relative;}
.inp-wrap .inp{padding-left:48px;}
.inp-icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  transition:color .25s;
  pointer-events:none;
}
.inp-wrap:focus-within .inp-icon{color:var(--cyan);}

/* Eye toggle */
.eye-btn{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  cursor:pointer;
  transition:color .2s;
  background:none;
  border:none;
  padding:0;
  line-height:0;
}
.eye-btn:hover{color:var(--cyan);}

/* Button */
.btn-main{
  width:100%;
  background:var(--cyan);
  color:#05080f;
  font-family:'Manrope',sans-serif;
  font-weight:800;
  font-size:16px;
  letter-spacing:0.02em;
  border:none;
  border-radius:14px;
  padding:15px;
  cursor:pointer;
  transition:all .25s;
  box-shadow:0 4px 24px rgba(0,229,255,0.35);
}
.btn-main:hover{
  background:#33eeff;
  box-shadow:0 8px 40px rgba(0,229,255,0.5);
  transform:translateY(-2px);
}
.btn-main:active{transform:translateY(0);}

/* Divider */
.or-line{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--muted);
  font-size:13px;
  font-weight:600;
  font-family:'JetBrains Mono',monospace;
}
.or-line::before,.or-line::after{
  content:'';
  flex:1;
  height:1px;
  background:rgba(0,229,255,0.1);
}

/* Social btn */
.btn-social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  background:rgba(255,255,255,0.03);
  border:1.5px solid rgba(255,255,255,0.08);
  color:var(--text);
  font-family:'Manrope',sans-serif;
  font-weight:600;
  font-size:14px;
  border-radius:14px;
  padding:13px;
  cursor:pointer;
  transition:all .25s;
}
.btn-social:hover{
  background:rgba(255,255,255,0.06);
  border-color:rgba(255,255,255,0.15);
  transform:translateY(-1px);
}

/* Tabs */
.tab{
  flex:1;
  text-align:center;
  padding:10px;
  border-radius:10px;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  transition:all .25s;
  color:var(--muted);
  border:none;
  background:none;
  font-family:'Manrope',sans-serif;
}
.tab.active{
  background:rgba(0,229,255,0.1);
  color:var(--cyan);
  border:1px solid rgba(0,229,255,0.2);
}

/* Gradient text */
.grad{
  background:linear-gradient(135deg,var(--cyan) 0%,var(--orange) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* Checkbox */
.cb-wrap{display:flex;align-items:center;gap:10px;cursor:pointer;}
.cb-wrap input[type=checkbox]{
  width:18px;height:18px;
  accent-color:var(--cyan);
  cursor:pointer;
  border-radius:4px;
  flex-shrink:0;
}

/* Fade in */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .7s cubic-bezier(.25,.8,.25,1) both;}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}.d4{animation-delay:.35s}.d5{animation-delay:.45s}

/* Pulse dot */
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(2);opacity:0}}
.pulse-dot{animation:pulse 2s ease infinite;}

/* Error */
.err{color:#ff4d6d;font-size:12px;font-weight:600;margin-top:6px;display:none;}
.inp.error{border-color:rgba(255,77,109,0.5);}
