:root{
  --bg:#12141a;
  --surface:#1b1f27;
  --border:#2a2f3a;
  --text:#e4e6eb;
  --muted:#8a8f9c;
  --amber:#d4a24c;
  --brick:#c4544a;
  --sage:#5c9e85;
  --mono:'IBM Plex Mono',monospace;
  --display:'Space Grotesk',sans-serif;
  --body:'IBM Plex Sans',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}

body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--body);
  line-height:1.6;
  overflow-x:hidden;
}

.scanline{
  position:fixed;top:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,rgba(212,162,76,0.25),transparent);
  animation:scan 6s linear infinite;
  pointer-events:none;z-index:50;
}
@keyframes scan{
  0%{top:0%}
  100%{top:100%}
}

.topnav{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.4rem 5%;
  position:sticky;top:0;
  background:rgba(18,20,26,0.85);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
  z-index:40;
}
.logo{font-family:var(--mono);font-weight:600;letter-spacing:0.02em;}
.logo-dim{color:var(--muted);}
.nav-links a{
  color:var(--muted);text-decoration:none;font-family:var(--mono);
  font-size:0.85rem;margin-left:1.6rem;transition:color .25s ease;
}
.nav-links a:hover{color:var(--amber);}

.hero{
  padding:4rem 5% 3rem;
  max-width:900px;
  margin:0 auto;
}

.terminal{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 20px 50px -20px rgba(0,0,0,0.6);
  margin-bottom:2.5rem;
}
.terminal-bar{
  display:flex;align-items:center;gap:6px;
  padding:0.7rem 1rem;
  background:#20242e;
  border-bottom:1px solid var(--border);
}
.dot{width:10px;height:10px;border-radius:50%;}
.dot-a{background:#c4544a;}
.dot-b{background:#d4a24c;}
.dot-c{background:#5c9e85;}
.terminal-title{
  margin-left:0.6rem;color:var(--muted);font-family:var(--mono);font-size:0.8rem;
}
.terminal-body{
  padding:1.2rem 1.4rem;
  font-family:var(--mono);
  font-size:0.9rem;
  min-height:2.4rem;
  color:var(--sage);
}
.blink{animation:blink 1s step-start infinite;color:var(--amber);}
@keyframes blink{50%{opacity:0;}}

.hero-title{
  font-family:var(--display);
  font-size:clamp(2rem,5vw,3.2rem);
  font-weight:700;
  line-height:1.15;
  margin-bottom:1.2rem;
}
.accent-amber{color:var(--amber);}
.hero-sub{
  color:var(--muted);
  font-size:1.05rem;
  max-width:560px;
}
.section{
  max-width:1000px;
  margin:0 auto;
  padding:3.5rem 5%;
}
.eyebrow{
  font-family:var(--mono);
  color:var(--muted);
  font-size:0.8rem;
  letter-spacing:0.05em;
}
.section-title{
  font-family:var(--display);
  font-size:1.8rem;
  margin:0.6rem 0 1.6rem;
}
.body-text{
  color:#c7cad2;
  max-width:700px;
  font-size:1.02rem;
}

.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.2rem;
}
.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-left:3px solid var(--sage);
  border-radius:6px;
  padding:1.4rem;
  transition:transform .3s ease, box-shadow .3s ease;
  opacity:0;
  transform:translateY(18px);
}
.card.visible{
  opacity:1;
  transform:translateY(0);
  transition:opacity .6s ease, transform .6s ease;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px -14px rgba(0,0,0,0.55);
}
.card-con{border-left-color:var(--brick);}
.card h3{
  font-family:var(--display);
  font-size:1.05rem;
  margin:0.8rem 0 0.5rem;
}
.card p{color:var(--muted);font-size:0.92rem;}

.icon{width:28px;height:28px;fill:none;stroke:var(--sage);stroke-width:1.6;}
.icon-pro{stroke:var(--sage);}
.icon-con{fill:var(--brick);stroke:var(--brick);}
.icon.pulse{animation:pulseIcon 2.4s ease-in-out infinite;}
@keyframes pulseIcon{
  0%,100%{opacity:1;}
  50%{opacity:0.55;}
}

.gauge-wrap{
  display:flex;flex-direction:column;align-items:center;
  padding:2rem 0;
  opacity:0;transform:translateY(18px);
}
.gauge-wrap.visible{
  opacity:1;transform:translateY(0);
  transition:opacity .6s ease, transform .6s ease;
}
.gauge-svg{width:280px;max-width:100%;}
.gauge-track{
  fill:none;stroke:var(--border);stroke-width:12;stroke-linecap:round;
}
.gauge-fill{
  fill:none;stroke:var(--brick);stroke-width:12;stroke-linecap:round;
  stroke-dasharray:251;
  stroke-dashoffset:251;
  transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1);
}
.gauge-readout{
  text-align:center;margin-top:-3rem;
}
.gauge-number{
  font-family:var(--mono);font-size:2.4rem;color:var(--brick);font-weight:600;
}
.gauge-percent{font-family:var(--mono);color:var(--brick);}
.gauge-label{
  display:block;color:var(--muted);font-size:0.85rem;margin-top:0.3rem;
}

.verdict{
  border-top:1px solid var(--border);
}

.footer{
  text-align:center;
  padding:2rem 5% 3rem;
  color:var(--muted);
  font-family:var(--mono);
  font-size:0.8rem;
}

@media (prefers-reduced-motion:reduce){
  .scanline,.blink,.icon.pulse{animation:none;}
  .card,.gauge-wrap{transition:none;opacity:1;transform:none;}
}