:root {
  --ink: #0B0B0B; --ink-2: #1A1A1A; --paper: #FFFFFF;
  --rule: #E7E5E0; --mute-1: #4A4A4A; --mute-2: #737373;
  --signal: #C8102E; --signal-wash: #FBE8EC;
  --mute-3: #A3A3A3; --paper-warm: #FBF9F5;
  --font-sans: 'Geist', ui-sans-serif, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'Instrument Serif', ui-serif, Georgia, serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --container: 1280px;
  --container-narrow: 760px;
  --ease-out: cubic-bezier(0.2, 0.6, 0.2, 1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-font-smoothing: antialiased; font-feature-settings: 'ss01', 'cv11'; }
body { font-family: var(--font-sans); color: var(--ink); background: var(--paper); line-height: 1.5; }
a { color: inherit; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

.kd-progress {
  position: fixed; top: 0; left: 0; height: 2px;
  background: var(--signal); z-index: 100; width: 0;
  transition: width 60ms linear;
}

.kd-eyebrow {
  font-family: var(--font-mono); font-weight: 500;
  font-size: 11px; line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--mute-1);
}
.kd-disclaimer {
  font-family: var(--font-sans); font-weight: 400;
  font-size: 11px; line-height: 1.4;
  letter-spacing: 0.01em; color: var(--mute-2);
}

.kd-nav {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 40px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid var(--rule);
}
.kd-nav-mark { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.kd-nav-square {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; background: var(--ink); color: var(--paper);
  font-family: var(--font-sans); font-weight: 700; font-size: 14px; letter-spacing: -0.02em;
}
.kd-nav-wm { font-family: var(--font-sans); font-weight: 600; font-size: 16px; letter-spacing: -0.02em; color: var(--ink); }
.kd-nav-back {
  font-family: var(--font-sans); font-weight: 500; font-size: 14px;
  color: var(--mute-1); text-decoration: none; transition: color 120ms;
}
.kd-nav-back:hover { color: var(--ink); }

.kd-article {
  max-width: var(--container-narrow); margin: 0 auto;
  padding: 64px 40px 96px;
}
.kd-article-eyebrow {
  font-family: var(--font-mono); font-weight: 500; font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--mute-1);
  margin-bottom: 16px;
}
.kd-article h1 {
  font-family: var(--font-sans); font-weight: 600;
  font-size: clamp(32px, 4vw, 48px); line-height: 1.1;
  letter-spacing: -0.025em; margin-bottom: 12px;
}
.kd-article-updated {
  font-family: var(--font-mono); font-size: 12px; color: var(--mute-2);
  margin-bottom: 48px;
}
.kd-article h2 {
  font-family: var(--font-sans); font-weight: 600; font-size: 20px;
  letter-spacing: -0.01em; margin: 48px 0 16px;
  padding-top: 32px; border-top: 1px solid var(--rule);
}
.kd-article h2:first-of-type { margin-top: 0; padding-top: 0; border: 0; }
.kd-article p {
  font-size: 16px; line-height: 1.65; color: var(--mute-1);
  margin-bottom: 16px; max-width: 640px;
}
.kd-article ul {
  margin: 0 0 16px 20px; color: var(--mute-1); font-size: 16px; line-height: 1.65;
}
.kd-article li { margin-bottom: 6px; }
.kd-article strong { color: var(--ink); font-weight: 500; }

.kd-footer {
  background: var(--paper); border-top: 1px solid var(--rule);
  padding: 64px 40px 32px;
}
.kd-footer-top {
  max-width: var(--container); margin: 0 auto;
  display: grid; grid-template-columns: 320px 1fr; gap: 80px;
  padding-bottom: 56px; border-bottom: 1px solid var(--rule);
}
.kd-footer-brand { display: flex; flex-direction: column; gap: 10px; }
.kd-footer-wm {
  font-family: var(--font-sans); font-weight: 600; font-size: 22px;
  letter-spacing: -0.04em; color: var(--ink);
}
.kd-footer-cols {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.kd-footer-col { display: flex; flex-direction: column; gap: 10px; }
.kd-footer-col .kd-eyebrow { margin-bottom: 8px; }
.kd-footer-col a {
  font-family: var(--font-sans); font-size: 14px;
  color: var(--mute-1); text-decoration: none;
  transition: color 120ms;
}
.kd-footer-col a:hover { color: var(--ink); }
.kd-footer-bottom {
  max-width: var(--container); margin: 0 auto; padding-top: 32px;
  display: flex; flex-direction: column; gap: 18px;
}
.kd-footer-disclaim { max-width: 920px; }
.kd-footer-meta {
  display: flex; gap: 12px;
  font-family: var(--font-mono); font-size: 11px; color: var(--mute-2);
}
.kd-footer-meta a { color: var(--mute-2); text-decoration: none; }
.kd-footer-meta a:hover { color: var(--ink); }

@media (max-width: 600px) {
  .kd-nav { padding: 14px 20px; }
  .kd-article { padding: 40px 20px 64px; }
  .kd-footer { padding: 40px 20px 24px; }
  .kd-footer-top { grid-template-columns: 1fr; gap: 40px; }
  .kd-footer-cols { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
  .kd-footer-cols { grid-template-columns: 1fr; }
}
