/**
 * Typography Styles
 */

body {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-normal);
    color: var(--color-black);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
}

.heading-display {
    font-family: var(--font-display);
    font-size: clamp(var(--font-size-4xl), 8vw, var(--font-size-5xl));
    font-weight: var(--font-weight-normal);
    letter-spacing: -0.04em;
}

.heading-1 {
    font-size: var(--font-size-4xl);
    letter-spacing: -0.02em;
}

.heading-2 {
    font-size: var(--font-size-3xl);
}

.heading-3 {
    font-size: var(--font-size-2xl);
}

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

/* Body text */
.text-lg {
    font-size: var(--font-size-lg);
}

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

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

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

/* Font weights */
.font-normal {
    font-weight: var(--font-weight-normal);
}

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

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

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

/* Colors */
.text-muted {
    color: var(--color-gray-600);
}

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

.text-success {
    color: var(--color-success);
}

.text-error {
    color: var(--color-error);
}

.text-warning {
    color: var(--color-warning);
}

/* Text alignment */
.text-left {
    text-align: left;
}

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

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