/* =========================================
   HEADLINE WIDGETS
   RULE 019: Must be on container and element
   ========================================= */

.base-headline-h1 {
    font-size: clamp(0.875rem, 3vw + 0.5rem, var(--font-size-2xl));
    font-weight: var(--font-weight-extrabold);
    line-height: var(--line-height-tight);
    letter-spacing: -0.02em;
    margin-bottom: 1.35rem;
    max-width: 100%;
    color: var(--color-headline);
    background-image: linear-gradient(95deg, var(--color-headline), var(--color-headline-accent));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 1px 0 var(--color-headline-shadow);
    text-wrap: balance;
}

.base-headline-h2 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    letter-spacing: -0.01em;
    margin-bottom: 1.1rem;
    color: var(--color-headline-soft);
    background-image: linear-gradient(92deg, var(--color-headline-soft), var(--color-headline-accent));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 1px 0 var(--color-headline-shadow);
    text-wrap: balance;
}

.base-headline-h3 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    letter-spacing: -0.005em;
    margin-bottom: 0.8rem;
    color: var(--color-headline);
}

.base-headline-h4 {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    margin-bottom: 0.55rem;
    color: var(--color-text);
}

@media (min-width: 768px) {
    .base-headline-h1 {
        font-size: var(--font-size-3xl);
    }
}