:root{
  --bg:#080b10;
  --panel:#0d141d;
  --line:#1d2937;
  --line-soft:#141e29;
  --text:#e6edf3;
  --muted:#93a1b0;
  --dim:#5f6f80;
  --accent:#4ade80;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  color:var(--text);
  font:16px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased;
  background-color:var(--bg);
  background-image:
    radial-gradient(900px 520px at 12% -10%,rgba(74,222,128,.07),transparent 60%),
    radial-gradient(700px 420px at 100% 0%,rgba(88,166,255,.05),transparent 55%);
  background-attachment:fixed;
}

.wrap{width:min(1080px,calc(100% - 48px));margin-inline:auto}

a{color:inherit}

::selection{background:rgba(74,222,128,.25);color:#fff}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

.skip{
  position:absolute;left:-9999px;top:12px;z-index:100;
  background:var(--accent);color:#04110a;padding:10px 16px;border-radius:6px;
  font-family:var(--mono);font-size:.8rem;text-decoration:none;
}
.skip:focus{left:24px}

/* ---------- header ---------- */

.site-header{
  position:sticky;top:0;z-index:10;
  border-bottom:1px solid var(--line-soft);
  background:rgba(8,11,16,.82);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{
  font-family:var(--mono);font-size:1.05rem;font-weight:700;
  letter-spacing:-.02em;text-decoration:none;
}
.brand .dot{color:var(--accent)}

nav{display:flex;align-items:center;gap:26px;font-family:var(--mono);font-size:.8rem}
nav a{color:var(--muted);text-decoration:none;letter-spacing:.02em;transition:color .15s ease}
nav a:hover{color:var(--text)}
.nav-cta{
  color:#04110a;background:var(--accent);padding:8px 14px;border-radius:6px;
  font-weight:600;transition:background .15s ease;
}
.nav-cta:hover{color:#04110a;background:#6ee7a0}

/* ---------- hero ---------- */

.hero{
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:56px;align-items:center;
  padding:96px 0 84px;
}
.kicker{
  margin:0 0 18px;font-family:var(--mono);font-size:.72rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
}
h1{
  margin:0 0 22px;font-size:clamp(2.4rem,5.2vw,3.9rem);
  line-height:1.05;letter-spacing:-.035em;font-weight:700;
}
h1 .muted{color:var(--dim)}
.lede{max-width:52ch;margin:0 0 30px;color:var(--muted);font-size:1.05rem}

.actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}
.btn{
  display:inline-block;padding:11px 18px;border-radius:6px;
  background:var(--accent);color:#04110a;text-decoration:none;
  font-family:var(--mono);font-size:.82rem;font-weight:600;
  border:1px solid var(--accent);
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.btn:hover{background:#6ee7a0;border-color:#6ee7a0}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn.ghost:hover{color:var(--accent);border-color:var(--accent);background:transparent}

.facts{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.9rem}
.facts li{
  display:grid;grid-template-columns:110px 1fr;gap:16px;
  padding-top:10px;border-top:1px solid var(--line-soft);color:var(--muted);
}
.facts span{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim);padding-top:2px;
}

/* ---------- terminal card ---------- */

.term{
  overflow:hidden;border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(180deg,#0e151e,#0a1017);
  box-shadow:0 30px 80px -40px rgba(0,0,0,.9);
  font-family:var(--mono);font-size:.82rem;
}
.term-bar{
  display:flex;align-items:center;gap:6px;
  padding:10px 14px;border-bottom:1px solid var(--line-soft);background:#0b1118;
}
.term-bar i{display:block;width:9px;height:9px;border-radius:50%;background:#2b3a4a}
.term-bar i:nth-child(1){background:#ff5f57}
.term-bar i:nth-child(2){background:#febc2e}
.term-bar i:nth-child(3){background:#28c840}
.term-bar em{margin-left:auto;font-style:normal;font-size:.7rem;color:var(--dim)}
.term pre{margin:0;padding:20px 18px 24px;line-height:1.9;color:#c7d2dd;overflow-x:auto}
.term .p{color:var(--accent)}
.cursor{color:var(--accent);animation:blink 1.2s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* ---------- sections ---------- */

.section{padding:72px 0;border-top:1px solid var(--line-soft)}
.section-head{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;
  margin-bottom:36px;
}
.num{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--accent)}
h2{margin:0;font-size:1.6rem;letter-spacing:-.02em}
.section-head p{grid-column:2;margin:6px 0 0;max-width:62ch;color:var(--muted);font-size:.95rem}

/* ---------- work cards ---------- */

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{
  padding:22px;border:1px solid var(--line);border-radius:10px;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
  transition:border-color .18s ease,transform .18s ease;
}
.card:hover{border-color:#2f4457;transform:translateY(-2px)}
.card-top{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;font-family:var(--mono);font-size:.66rem;
  letter-spacing:.08em;text-transform:uppercase;
}
.sev{padding:3px 7px;border-radius:4px;font-weight:600}
.sev.critical{color:#ff8a8a;background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.25)}
.sev.high{color:#ffc078;background:rgba(255,169,77,.09);border:1px solid rgba(255,169,77,.22)}
.sev.medium{color:#ffe066;background:rgba(255,212,59,.08);border:1px solid rgba(255,212,59,.2)}
.scope{color:var(--dim)}
.card h3{margin:0 0 10px;font-size:1.02rem;line-height:1.35;letter-spacing:-.01em}
.card p{margin:0;color:var(--muted);font-size:.88rem}
.card .meta{
  margin-top:16px;font-family:var(--mono);font-size:.7rem;
  letter-spacing:.04em;color:var(--dim);
}
.note{margin:18px 0 0;font-family:var(--mono);font-size:.72rem;color:var(--dim)}

.empty{
  padding:44px 28px;text-align:center;
  border:1px dashed var(--line);border-radius:10px;
  background:rgba(255,255,255,.015);
}
.empty-kicker{
  margin:0 0 12px;font-family:var(--mono);font-size:.7rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--accent);
}
.empty h3{margin:0 0 10px;font-size:1.15rem;letter-spacing:-.01em}
.empty p{margin:0 auto;max-width:58ch;color:var(--muted);font-size:.92rem}

/* ---------- toolkit ---------- */

.kit{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.kit h3{
  margin:0 0 14px;font-family:var(--mono);font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.chips li{
  padding:5px 11px;border:1px solid var(--line);border-radius:999px;
  background:rgba(255,255,255,.02);
  font-family:var(--mono);font-size:.75rem;color:#b9c7d4;
}

/* ---------- disclosure ---------- */

#disclosure > .wrap > p{max-width:70ch;color:var(--muted)}
.rules{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;max-width:70ch}
.rules li{position:relative;padding-left:22px;color:var(--muted);font-size:.92rem}
.rules li::before{
  content:"";position:absolute;left:4px;top:.62em;
  width:6px;height:6px;border-radius:50%;background:var(--accent);
}

/* ---------- contact ---------- */

.contact{display:grid;grid-template-columns:1fr 260px;gap:48px;align-items:start}
.links{display:flex;flex-direction:column;gap:10px;font-family:var(--mono);font-size:.85rem}
.links a{
  padding-bottom:8px;border-bottom:1px solid var(--line);
  text-decoration:none;transition:color .15s ease,border-color .15s ease;
}
.links a:hover{color:var(--accent);border-color:var(--accent)}
.links span{color:var(--dim)}
.links .static{
  padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--muted);
}
.pgp h3{
  margin:0 0 8px;font-family:var(--mono);font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
}
.pgp p{margin:0;color:var(--muted);font-size:.88rem}

/* ---------- footer ---------- */

footer{border-top:1px solid var(--line-soft);padding:28px 0 40px}
footer .wrap{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
  font-family:var(--mono);font-size:.72rem;color:var(--dim);
}

/* ---------- responsive ---------- */

@media (max-width:960px){
  .hero{grid-template-columns:1fr;gap:40px;padding:64px 0}
  .cards{grid-template-columns:1fr}
  .kit{grid-template-columns:1fr;gap:28px}
  .contact{grid-template-columns:1fr;gap:28px}
}

@media (max-width:640px){
  .wrap{width:min(1080px,calc(100% - 32px))}
  nav a:not(.nav-cta){display:none}
  .hero{padding:48px 0 56px}
  .facts li{grid-template-columns:92px 1fr;gap:12px}
  .section{padding:56px 0}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cursor{animation:none}
  .card,.btn,nav a,.links a{transition:none}
  .card:hover{transform:none}
}
