body {
  font-family: var(--font-body);
  color: var(--color-muted);
  background-color: var(--color-bg);
  margin: 0;
  font-size: var(--fs-md); /* Slightly increased base font size */
  line-height: 1.7; /* Improved line height for readability */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-head);
  color: var(
    --color-primary-900
  ); /* Ensure all headings use the dark primary color */
  font-weight: var(--fw-bold);
  line-height: 1.2; /* Tighter line height for headings */
  letter-spacing: 0.5px; /* Subtle letter spacing for refined look */
}

a {
  color: var(--color-primary-700); /* Darker primary color for links */
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--color-primary-900); /* Darker on hover */
  text-decoration: underline; /* Underline only on hover */
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 22px;
}

p {
  max-width: 72ch;
}

section {
  position: relative;
}
