:root {
  --bg: #F6F5F0;
  --bg-2: #EFEEE8;
  --ink: #0A0F0B;
  --ink-2: #4B5550;
  --line: rgba(10,15,11,.08);
  --lime: #C6F24E;
  --forest: #0D2A1C;
  --forest-2: #143F2A;
}
html { scroll-behavior: smooth; }
body {
  font-family: 'Satoshi', ui-sans-serif, system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss01","cv11";
}
.display { font-family: 'Cabinet Grotesk','Satoshi',sans-serif; letter-spacing: -0.035em; line-height: 1.02; }
.mono { font-family: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace; }
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 24px 48px -28px rgba(10,20,15,.10);
}
.pill { background: #fff; border:1px solid var(--line); box-shadow: 0 10px 28px -18px rgba(10,20,15,.25); }
.btn-dark {
  background: #0A0F0B; color:#fff; border-radius: 999px;
  transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s;
  box-shadow: 0 10px 24px -10px rgba(10,15,11,.45);
}
.btn-dark:hover { transform: translateY(-1px); box-shadow: 0 16px 30px -10px rgba(10,15,11,.55); }
.btn-dark:active { transform: translateY(1px) scale(.985); }
.btn-lime {
  background: var(--lime); color:#0A0F0B; border-radius: 999px;
  transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 10px 24px -10px rgba(130,170,30,.55);
}
.btn-lime:hover { transform: translateY(-1px); }
.btn-lime:active { transform: translateY(1px) scale(.985); }
.link-hover { position: relative; }
.link-hover::after {
  content:""; position:absolute; left:0; right:0; bottom:-3px; height:1px;
  background: currentColor; transform: scaleX(0); transform-origin: left;
  transition: transform .35s cubic-bezier(.16,1,.3,1);
}
.link-hover:hover::after { transform: scaleX(1); }

/* --- Article prose --- */
.prose { color: #2A302C; font-size: 17px; line-height: 1.78; }
.prose > * + * { margin-top: 1.25em; }
.prose h2 {
  font-family: 'Cabinet Grotesk','Satoshi',sans-serif;
  font-weight: 800; letter-spacing: -0.02em;
  font-size: 28px; line-height: 1.2;
  margin-top: 2.4em; margin-bottom: 0.6em;
  color: var(--ink);
}
.prose h3 {
  font-family: 'Cabinet Grotesk','Satoshi',sans-serif;
  font-weight: 700; letter-spacing: -0.015em;
  font-size: 21px; line-height: 1.25;
  margin-top: 1.8em; margin-bottom: 0.4em;
  color: var(--ink);
}
.prose p { margin: 0; }
.prose strong { color: var(--ink); font-weight: 700; }
.prose em { font-style: italic; color: #1d2320; }
.prose ul { padding-left: 0; list-style: none; }
.prose ul > li {
  position: relative; padding-left: 1.5rem; margin-top: .5em;
}
.prose ul > li::before {
  content: ""; position: absolute; left: 0; top: 0.78em;
  width: 6px; height: 6px; border-radius: 999px; background: var(--lime);
  box-shadow: 0 0 0 3px rgba(198,242,78,.25);
}
.prose blockquote {
  border-left: 3px solid var(--lime);
  padding: .5em 0 .5em 1.25em; margin: 1.6em 0;
  color: #1d2320; font-style: italic;
}
.prose .lead {
  font-size: 19px; line-height: 1.7; color: #1d2320;
  font-weight: 500;
}
.prose hr {
  border: none; border-top: 1px solid var(--line);
  margin: 2.4em 0;
}
.tag-pill {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .35rem .8rem; border-radius: 999px;
  background: #fff; border: 1px solid var(--line);
  font-size: 12px; color: #4B5550;
  font-family: ui-monospace, "JetBrains Mono", monospace;
  letter-spacing: 0.04em;
}
.tag-pill .dot { width: 6px; height: 6px; border-radius: 999px; background: var(--lime); }
.noise {
  position: absolute; inset:0; pointer-events:none; opacity:.08; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.6'/></svg>");
}
