/* Typography Styles */

/* Headings */
h1, h2, h3, h4, h5, h6 {
  margin-bottom: var(--spacing-4);
  line-height: var(--line-height-tight);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary-600);
}

h1 {
  font-size: var(--font-size-4xl);
  letter-spacing: -0.025em;
  margin-bottom: var(--spacing-6);
}

h2 {
  font-size: var(--font-size-3xl);
  letter-spacing: -0.02em;
}

h3 {
  font-size: var(--font-size-2xl);
  letter-spacing: -0.015em;
}

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

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

h6 {
  font-size: var(--font-size-base);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Paragraphs */
p {
  margin-bottom: var(--spacing-4);
  color: var(--color-neutral-800);
}

.section-header p {
  font-size: var(--font-size-lg);
  color: var(--color-neutral-700);
}

/* Links */
a {
  color: var(--color-primary-500);
  transition: color var(--transition-fast) ease;
}

a:hover {
  color: var(--color-primary-600);
}

/* Lists */
ul, ol {
  margin-bottom: var(--spacing-4);
  padding-left: var(--spacing-6);
}

li {
  margin-bottom: var(--spacing-2);
}

/* Form elements */
label {
  display: block;
  margin-bottom: var(--spacing-2);
  font-weight: var(--font-weight-medium);
  color: var(--color-neutral-800);
}

/* Various text utilities */
.text-small {
  font-size: var(--font-size-sm);
}

.text-large {
  font-size: var(--font-size-lg);
}

.text-muted {
  color: var(--color-neutral-600);
}

.text-primary {
  color: var(--color-primary-500);
}

.text-accent {
  color: var(--color-accent-500);
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.font-light {
  font-weight: var(--font-weight-light);
}

.font-medium {
  font-weight: var(--font-weight-medium);
}

.font-bold {
  font-weight: var(--font-weight-bold);
}

/* Logo specific styles */
.logo span {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary-600);
}

.logo span::before {
  content: "◼";
  margin-right: 0.25em;
  color: var(--color-accent-500);
}

/* Testimonial content */
.testimonial-content p {
  font-style: italic;
  font-size: var(--font-size-lg);
}

.testimonial-author h4 {
  margin-bottom: var(--spacing-1);
}

.testimonial-author p {
  margin-bottom: 0;
  font-size: var(--font-size-sm);
  color: var(--color-neutral-600);
}

/* Responsive typography */
@media (max-width: 768px) {
  h1 {
    font-size: var(--font-size-3xl);
  }
  
  h2 {
    font-size: var(--font-size-2xl);
  }
  
  h3 {
    font-size: var(--font-size-xl);
  }
  
  .section-header p {
    font-size: var(--font-size-base);
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: var(--font-size-2xl);
  }
  
  h2 {
    font-size: var(--font-size-xl);
  }
}