.h1 { font-size: var(--fz-5xl); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
.h2 { font-size: var(--fz-3xl); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }
.h3 { font-size: var(--fz-xl); font-weight: 600; line-height: 1.3; }
.h4 { font-size: var(--fz-lg); font-weight: 600; line-height: 1.35; }

.text-gradient {
    background: var(--grad-accent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-gradient-gold {
    background: var(--grad-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-muted { color: var(--text-2); }
.text-sm    { font-size: var(--fz-sm); }
.text-xs    { font-size: var(--fz-xs); }
.text-lg    { font-size: var(--fz-lg); }
.text-xl    { font-size: var(--fz-xl); }

.section-label {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    font-size: var(--fz-sm);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: var(--s-4);
}

.section-label::before {
    content: '';
    display: block;
    width: 20px;
    height: 2px;
    background: var(--accent);
    border-radius: var(--r-full);
}

.section-title {
    font-size: var(--fz-3xl);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin-bottom: var(--s-4);
}

.section-desc {
    font-size: var(--fz-md);
    color: var(--text-2);
    line-height: 1.7;
    max-width: 560px;
}

@media (max-width: 768px) {
    .h1 { font-size: var(--fz-4xl); }
    .h2 { font-size: var(--fz-2xl); }
    .section-title { font-size: var(--fz-2xl); }
}

@media (max-width: 480px) {
    .h1 { font-size: clamp(28px, 8vw, var(--fz-4xl)); }
    .section-title { font-size: var(--fz-xl); }
}
