* { box-sizing: border-box; }

:root {
  --ground: #060D09;
  --panel: #0C1710;
  --panel-2: #122018;
  --ink: #E9F5EE;
  --muted: #9DB5A8;
  --faint: #7F9788;
  --accent: #00C88C;
  --lime: #C7FF47;
  --accent-bar: #00A978;
  --blue-bar: #4F84D4;
  --hairline: #1C3226;
  --good: #3FB884;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --display: "Manrope", "Inter", "Segoe UI", system-ui, sans-serif;
}

html { color-scheme: dark; }
body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.shell { max-width: 1060px; margin: 0 auto; padding: 0 26px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 2px;
}
::selection { background: #14402E; }

nav {
  display: flex;
  align-items: baseline;
  gap: 26px;
  padding: 24px 0 20px;
  border-bottom: 1px solid var(--hairline);
}
.wordmark {
  color: var(--ink);
  font-family: var(--mono);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.5px;
}
.wordmark:hover { text-decoration: none; }
.wordmark .by {
  margin-left: 8px;
  color: var(--faint);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 1px;
}
nav .links {
  display: flex;
  gap: 20px;
  margin-left: auto;
  font-size: 13.5px;
  flex-wrap: wrap;
}
nav .links a { color: var(--muted); }
nav .links a:hover,
nav .links a.current { color: var(--accent); }
nav .links a.current,
nav .links a.cta { font-weight: 600; }
nav .links a.cta { color: var(--accent); }

.eyebrow {
  margin: 0 0 14px;
  color: var(--accent);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.2px;
  text-transform: uppercase;
}
h1,
h2,
h3 {
  margin: 0;
  text-wrap: balance;
}
h1,
h2 { font-family: var(--display); }

footer {
  padding: 30px 0 52px;
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  font-size: 13px;
}
footer .cols {
  display: flex;
  gap: 36px;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer .fine {
  max-width: 90ch;
  margin-top: 24px;
  color: var(--faint);
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 560px) {
  nav { flex-wrap: wrap; row-gap: 10px; align-items: flex-start; }
  nav .links { margin-left: 0; flex-basis: 100%; }
}
