@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap");

:root {
  color-scheme: dark;
  --ink: #f1f7f2;
  --muted: #8d9b98;
  --line: rgba(187, 255, 70, 0.17);
  --lime: #baff46;
  --lime-soft: #d6ff91;
  --surface: #0b1715;
}

* { box-sizing: border-box; }

html { background: #050c0b; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: "DM Sans", system-ui, sans-serif;
  background:
    radial-gradient(circle at 76% 18%, rgba(77, 255, 164, 0.09), transparent 32rem),
    linear-gradient(135deg, #07110f 0%, #050b0a 72%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}

main, footer { position: relative; z-index: 1; }

nav {
  min-height: 92px;
  padding: 0 clamp(24px, 6vw, 96px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.brand { color: var(--ink); text-decoration: none; display: flex; gap: 14px; align-items: center; font-size: 22px; font-weight: 700; }
.brand-mark { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--lime); box-shadow: 0 0 35px rgba(186,255,70,.22); }
.brand-mark i { width: 16px; height: 16px; border: 3px solid #07110f; border-radius: 50%; position: relative; }
.brand-mark i::after { content: ""; position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #07110f; inset: 3px; margin: auto; }

.login-link { color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; border-bottom: 1px solid var(--lime); padding: 8px 0; }

.hero { padding: clamp(76px, 11vw, 150px) clamp(24px, 8vw, 128px) clamp(72px, 10vw, 130px); max-width: 1500px; }
.eyebrow { margin: 0 0 28px; font: 700 12px/1.2 "Space Mono", monospace; letter-spacing: .26em; color: var(--lime); }
h1 { margin: 0; max-width: 1100px; font-size: clamp(54px, 8.1vw, 132px); line-height: .93; letter-spacing: -.065em; font-weight: 600; }
h1 em { color: var(--lime-soft); font-style: normal; }
.intro { max-width: 690px; margin: 42px 0 0; color: #abb8b5; font-size: clamp(18px, 1.8vw, 26px); line-height: 1.5; }
.actions { display: flex; flex-wrap: wrap; gap: 26px; align-items: center; margin-top: 48px; }
.primary { display: inline-flex; gap: 34px; align-items: center; padding: 17px 22px; border-radius: 8px; color: #07110f; background: var(--lime); text-decoration: none; font-weight: 700; transition: transform .18s ease, box-shadow .18s ease; }
.primary:hover { transform: translateY(-2px); box-shadow: 0 14px 38px rgba(186,255,70,.18); }
.private-note { color: var(--muted); font: 700 11px/1.2 "Space Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.private-note b { display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 12px var(--lime); }

.capabilities { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.capabilities article { padding: clamp(28px, 4vw, 62px); min-height: 270px; background: rgba(11,23,21,.54); }
.capabilities article + article { border-left: 1px solid var(--line); }
.capabilities span { color: var(--lime); font: 700 11px/1 "Space Mono", monospace; letter-spacing: .15em; }
.capabilities h2 { margin: 44px 0 14px; font-size: clamp(22px, 2vw, 32px); letter-spacing: -.035em; }
.capabilities p { max-width: 410px; margin: 0; color: var(--muted); line-height: 1.65; }

footer { display: flex; justify-content: space-between; gap: 20px; padding: 32px clamp(24px, 6vw, 96px); color: #65726f; font: 700 10px/1.2 "Space Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 760px) {
  nav { min-height: 76px; }
  .hero { padding-top: 70px; }
  h1 { font-size: clamp(50px, 17vw, 82px); }
  .intro { margin-top: 30px; }
  .capabilities { grid-template-columns: 1fr; }
  .capabilities article { min-height: 220px; }
  .capabilities article + article { border-left: 0; border-top: 1px solid var(--line); }
  footer { flex-direction: column; }
}
