/* assets/css/public/typography.css */

body {
    font-family: var(--font-primary);
    color: var(--text-primary);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--text-primary);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}

.text-primary-color { color: var(--primary) !important; }
.text-secondary-color { color: var(--secondary) !important; }
.text-accent-color { color: var(--accent-text) !important; }
.text-muted { color: var(--text-muted) !important; }

/* Scale per Phase 2 rules */
.display-hero {
    font-size: clamp(40px, 5vw, 56px);
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.display-section {
    font-size: clamp(32px, 4vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.text-card-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.text-body {
    font-size: 16px;
    color: var(--text-secondary);
}

.text-caption {
    font-size: 14px;
    color: var(--text-muted);
}
