body {
    font-family: var(--font-main);
    font-optical-sizing: auto;
    font-size: var(--text-base);
    line-height: var(--leading-body);
    color: var(--color-text);
    background: var(--color-bg);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3 {
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-heading);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text-strong);
    text-wrap: balance;
    overflow-wrap: break-word;
}

h1, .h1 { font-size: var(--h1-size); line-height: 1.1; }
h2, .h2 { font-size: var(--h2-size); }
h3, .h3 {
    font-size: var(--h3-size);
    line-height: 1.3;
    font-weight: var(--font-weight-semibold);
    letter-spacing: -0.01em;
}
h4 { font-size: clamp(16px, 1.5vw, var(--text-lg)); line-height: 1.3; }

.h1 span,
.h2 span {
    color: var(--color-link);
}

.section-title {
    font-size: var(--h2-size);
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-heading);
    color: var(--color-text-strong);
}

.section-subtitle {
    font-size: clamp(20px, 3vw, var(--heading-md));
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    color: var(--color-text-strong);
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
    font-size: var(--text-caption);
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--tracking-caps);
    text-transform: uppercase;
    color: var(--color-accent-text);
}

.eyebrow::before {
    content: "";
    flex: 0 0 28px;
    height: 2px;
    border-radius: 2px;
    background: var(--color-accent);
}

.lead {
    max-width: 600px;
    margin-top: 20px;
    font-size: var(--lead-size);
    color: var(--color-text);
}

.text-muted { color: var(--color-text-secondary); }
.nowrap { white-space: nowrap; }

strong, b { font-weight: var(--font-weight-semibold); }
