/* Typography Styles */

/* Base Typography */
body {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-lg);
  /* 1.125rem / 18px - matches homepage */
  line-height: var(--leading-relaxed);
  /* 1.75 - matches homepage */
  color: var(--text-primary);
}

/* Heading Styles */
h1 {
  font-size: var(--font-size-5xl);
  font-weight: 600;
  /* Changed from 700 to 600 for quieter homepage aesthetic */
  color: var(--text-primary);
  margin: 0 0 var(--spacing-sm) 0;
}

h2 {
  font-size: var(--font-size-2xl);
  /* Changed from 3xl to 2xl for hierarchy */
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 var(--spacing-md) 0;
}

h3 {
  font-size: var(--font-size-2xl);
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 var(--spacing-sm) 0;
}

h4 {
  font-size: var(--font-size-xl);
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 var(--spacing-sm) 0;
}

h5 {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 var(--spacing-sm) 0;
}

h6 {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 var(--spacing-sm) 0;
}

/* Paragraph Styles */
p {
  font-size: var(--font-size-lg);
  /* 1.125rem / 18px - matches homepage */
  line-height: var(--leading-relaxed);
  /* 1.75 - matches homepage */
  color: var(--text-primary);
  /* #2c3e50 - primary text color */
  margin: 0 0 var(--spacing-md) 0;
}

p:last-child {
  margin-bottom: 0;
}

/* Subtitle Styles */
.subtitle {
  font-size: var(--font-size-lg);
  font-weight: 400;
  /* Added normal weight for consistency */
  color: var(--text-muted);
  margin: 0;
  line-height: var(--line-height-normal);
}

/* Link Styles */
a {
  color: var(--link-color);
  /* #152028 - darker than text for better visibility */
  font-weight: 500;
  /* Medium weight to make links stand out */
  text-decoration: none;
}

a:hover {
  color: var(--link-color);
  /* Same color, no change */
  text-decoration: underline;
  /* Only underline on hover */
}

/* Links in paragraphs - darker and heavier for better visibility */
p a {
  color: var(--link-color);
  font-weight: 500;
  text-decoration: none;
  /* No underline by default */
}

p a:hover {
  color: var(--link-color);
  text-decoration: underline;
  /* Underline appears on hover */
  text-underline-offset: 2px;
}

/* Responsive Typography */
@media (max-width: 768px) {
  body {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
  }

  h1 {
    font-size: var(--font-size-4xl);
  }

  h2 {
    font-size: var(--font-size-2xl);
  }

  h3 {
    font-size: var(--font-size-xl);
  }

  .subtitle {
    font-size: var(--font-size-base);
  }
}

@media (max-width: 480px) {
  body {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
  }

  h1 {
    font-size: var(--font-size-3xl);
  }

  h2 {
    font-size: var(--font-size-xl);
  }

  h3 {
    font-size: var(--font-size-lg);
  }

  .subtitle {
    font-size: var(--font-size-sm);
  }
}
