/* ========== Base (Matrix style) ========== */
:root{
  --bg:#050805;
  --fg:#d7f7d0;
  --muted:#95b497;
  --neon:#a8ff60;
  --acid:#7cff4d;
  --line:#0f2613;
  --card:#0b120b80;
  --cardBorder:#1f4d26;
  --glass:#0c160d66;
  --shadow:0 10px 30px rgba(0,0,0,.45), 0 0 80px #0b3817 inset;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: radial-gradient(1200px 600px at 50% -10%, #102b14 0%, #0a140b 45%, var(--bg) 80%);
  color:var(--fg);
  font:16px/1.6 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, Noto Sans, sans-serif;
  overflow-x:hidden;
}

/* matrix canvas sits behind */
#matrix{
  position:fixed; inset:0; z-index:-2;
  filter:opacity(.45) blur(.3px) contrast(1.05) saturate(1.1);
}

/* translucent grid glow overlay */
.grid-glow{
  position:fixed; inset:0; z-index:-1;
  background:
    linear-gradient(#0f2a12 1px, transparent 1px) 0 0/ 60px 60px,
    linear-gradient(90deg, #0f2a12 1px, transparent 1px) 0 0/ 60px 60px;
  mask: radial-gradient(ellipse at 50% -10%, rgba(0,0,0,.8) 0, rgba(0,0,0,.2) 60%, transparent 80%);
}

/* ======= Top Nav ======= */
.nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 24px; backdrop-filter:saturate(1.1) blur(8px);
  background:linear-gradient(180deg, rgba(10,20,11,.85), rgba(10,20,11,.35));
  border-bottom:1px solid var(--line);
}
.nav__left{display:flex; align-items:center; gap:10px}
.logo{width:26px; height:26px; border-radius:6px; box-shadow:0 0 0 1px var(--cardBorder), 0 0 20px #2aff81aa}
.logo--xl{width:64px; height:64px; margin-bottom:6px}
.brand{font-weight:700; letter-spacing:.4px}
.nav__right{display:flex; align-items:center; gap:14px}
.nav a{color:var(--fg); text-decoration:none; opacity:.9}
.nav a:hover{opacity:1; text-shadow:0 0 18px var(--neon)}

.btn{
  appearance:none; border:1px solid var(--acid); color:#021105;
  background: linear-gradient(180deg, var(--neon), var(--acid));
  padding:10px 14px; border-radius:14px; font-weight:700; letter-spacing:.3px;
  box-shadow: 0 10px 24px #0e2f15, 0 0 24px #34ff77aa inset;
  transition:.25s transform, .25s box-shadow, .25s filter;
}
.btn:hover{transform:translateY(-1px); filter:saturate(1.2)}
.btn--ghost{
  background:transparent; color:var(--fg); border-color:var(--cardBorder);
  box-shadow: 0 0 0 #0000, 0 0 14px #146b2baa inset;
}
.btn--ghost:hover{box-shadow:0 8px 24px #0e2f15}

/* ======= Sections ======= */
main{display:block}
section{padding:72px 24px; max-width:1180px; margin:auto}
.hero{ text-align:center; padding-top:90px}
.hero .chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:999px; border:1px solid var(--cardBorder);
  background:var(--glass); box-shadow:var(--shadow); font-size:14px; color:var(--muted);
}
.chip .dot{width:8px; height:8px; background:var(--acid); border-radius:50%}
h1{font-size:62px; line-height:1.05; margin:18px 0 10px}
h2{font-size:36px; margin:0 0 10px}
h3{margin:0}
.subtitle{font-size:20px; opacity:.95}
.subline{color:var(--muted)}
.accent{color:var(--neon)}
.muted{color:var(--muted)}
.fine{color:#85a189; font-size:12px}

.cta{display:flex; gap:12px; justify-content:center; margin:26px 0}

.terminal{
  border:1px solid var(--cardBorder); border-radius:16px; background:var(--glass);
  box-shadow:var(--shadow);
  max-width:720px;
}
.term__chrome{padding:10px 12px; border-bottom:1px solid var(--cardBorder)}
.term__chrome .led{display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px}
.led.red{background:#ff5f56}.led.yellow{background:#ffbd2e}.led.green{background:#27c93f}
.code{padding:18px; margin:0; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}
.cyan{color:#9bf6ff}.white{color:#e7ffe7}.green{color:#7bff9a}

/* ======= Cards ======= */
.showcase .cards{
  margin:28px 0 6px; display:grid; gap:16px;
  grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
}
.card{
  border:1px solid var(--cardBorder); border-radius:16px; background:linear-gradient(180deg, #0e1a10cc, #0a140bcc);
  box-shadow:var(--shadow); padding:16px; transform:translateZ(0);
  transition: .25s transform, .25s box-shadow, .25s border-color;
}
.card:hover{transform:translateY(-3px); border-color:#2aff81; box-shadow:0 16px 34px #0008, 0 0 60px #1bff6b22 inset}
.card .row{display:flex; align-items:center; justify-content:space-between}
.provider{color:#99c4a3; font-size:14px}
.badge{border:1px solid #2aff81; padding:4px 10px; border-radius:999px; font-size:12px; box-shadow:0 0 18px #1eff6a55 inset}
.badge.paying{border-color:#d4ff6a; color:#d4ff6a}
.badge.idle{border-color:#497a57; color:#8fb39a}
.grid2{gap:14px; display:grid; grid-template-columns:1fr 1fr}
.value{font-weight:700}
.progress{height:6px; background:#0c1a0f; border:1px solid var(--cardBorder); border-radius:999px; margin-top:10px; overflow:hidden}
.progress span{display:block; height:100%; width:40%; background:linear-gradient(90deg, #7eff66, #c7ffa6); animation:pulse 1.5s infinite ease-in-out}

@keyframes pulse{
  0%{transform:translateX(-100%)}
  50%{transform:translateX(20%)}
  100%{transform:translateX(120%)}
}

.api-demo{margin-top:24px}
.api-demo .code{background:#08140a99; border:1px solid var(--cardBorder); border-radius:16px}

/* ======= Features Grid ======= */
.feature-grid{
  list-style:none; padding:0; margin:24px 0 0;
  display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:16px;
}
.feature-grid li{
  border:1px solid var(--cardBorder); border-radius:16px; padding:16px; background:var(--glass); box-shadow:var(--shadow)
}

/* ======= Tech ======= */
.tech-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:16px}
.tech-card{border:1px solid var(--cardBorder); border-radius:16px; padding:18px; background:linear-gradient(180deg, #0c160dcc, #091109cc); box-shadow:var(--shadow)}
.tech-card .icon{font-size:22px; margin-bottom:8px}
.quote{
  margin-top:20px; padding:18px 20px; border-left:3px solid var(--acid);
  background:#0c160da6; border-radius:12px; font-style:italic;
}

/* ======= Footer ======= */
.footer{ text-align:center; padding-bottom:90px}

/* ======= Reveal on scroll ======= */
.reveal{opacity:0; transform: translateY(16px); transition: .7s opacity, .7s transform}
.reveal.visible{opacity:1; transform:none}

/* ======= Responsive ======= */
@media (max-width:720px){
  h1{font-size:42px}
  .nav__right a{display:none}
  .nav__right .btn--ghost{display:inline-flex}
}
