/* Balanced display typography for desktop and mobile. */
h1,
h2,
h3 {
    line-height: 1.12;
}

h1 {
    font-size: clamp(2.25rem, 4.5vw, 4.8rem);
    letter-spacing: -0.045em;
}

h2 {
    font-size: clamp(1.8rem, 3vw, 3.1rem);
    letter-spacing: -0.035em;
}

.article-hero h1 {
    font-size: clamp(2.15rem, 4vw, 4.3rem);
}

.contact-wrap h1 {
    font-size: clamp(2.25rem, 4vw, 4.5rem);
}

@media (max-width: 600px) {
    h1 {
        font-size: clamp(2.1rem, 10vw, 3rem);
    }

    .hero h1 {
        max-width: min(20ch, 100%);
        font-size: clamp(1.7rem, 8.4vw, 2.45rem);
        line-height: 1.06;
        letter-spacing: -0.04em;
        text-wrap: balance;
        overflow-wrap: normal;
        hyphens: none;
    }

    h2 {
        font-size: clamp(1.7rem, 8vw, 2.35rem);
    }

    .hero-copy > p,
    .intro p,
    .products p,
    .page-hero p,
    .article-hero p {
        font-size: 1.05rem;
    }
}
