:root {
  --kpd-ink: #20231f;
  --kpd-muted: #646a62;
  --kpd-paper: #f8f5ef;
  --kpd-surface: #ffffff;
  --kpd-sage: #6e7c62;
  --kpd-sage-dark: #42503c;
  --kpd-sand: #d8c8af;
  --kpd-alert: #9d3d32;
  --kpd-line: rgba(32, 35, 31, 0.14);
  --kpd-shadow: 0 18px 50px rgba(32, 35, 31, 0.10);
  --kpd-radius: 22px;
  --kpd-content: 1180px;
  --kpd-space-sm: 18px;
  --kpd-space-md: 32px;
  --kpd-space-lg: 72px;
}

html { scroll-behavior: smooth; }

body {
  color: var(--kpd-ink);
  background: var(--kpd-paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--kpd-ink);
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

a { color: inherit; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #b65f2b !important;
  outline-offset: 3px;
}

.kpd-skip-link {
  position: fixed;
  z-index: 100000;
  left: 16px;
  top: -100px;
  padding: 12px 18px;
  border-radius: 8px;
  background: #fff;
  color: var(--kpd-ink);
  font-weight: 800;
}

.kpd-skip-link:focus { top: 16px; }

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

