/* Public copy rhythm. Load after page styles so artwork can evolve separately. */
h1, h2, h3, h4, blockquote {
    text-wrap: balance;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
}
p, li, dd { text-wrap: pretty; }
p a, li a, dd a { overflow-wrap: anywhere; }
.brand, .brand span { white-space: nowrap; }

/* Keep the full brand on one line, with room for its ascenders and descenders. */
.crew-hero h1 {
    font-size: clamp(2rem, 7.6vw, 6.5rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.045em;
    white-space: nowrap;
    max-width: none;
    margin: 0 0 clamp(24px, 3vw, 40px);
}
.crew-hero__line {
    max-width: 30ch;
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: -.025em;
    margin-bottom: 20px;
}
.crew-hero__line span { display: block; }
.crew-hero__intro { max-width: 48ch; font-size: 1rem; line-height: 1.7; margin-bottom: 28px; }
.crew-hero__note { line-height: 1.6; margin-top: 20px; }
.crew-eyebrow { line-height: 1.6; margin-bottom: 20px; }

.community-home h2 {
    line-height: 1.12;
    letter-spacing: -.04em;
    max-width: 22ch;
    margin-bottom: 24px;
}
.crew-join h2 { margin-inline: auto; }
.crew-project h2 { max-width: 13ch; }
.crew-heading > *, .crew-history__layout > *, .crew-alex > *,
.crew-section-top > *, .subpage-hero-shell > * { min-width: 0; }
.crew-heading { column-gap: clamp(32px, 6vw, 80px); align-items: start; }
.crew-section-top { gap: clamp(32px, 5vw, 64px); }
.crew-heading > p:last-child { padding-bottom: 0; }
.crew-activities h3, .community-home .home-team-card h3 { line-height: 1.3; letter-spacing: -.02em; }
.subpage-hero h1, .page-hero h1 { max-width: 24ch; line-height: 1.14; letter-spacing: -.035em; }
.subpage-hero h1 + p { margin-top: 24px; max-width: 60ch; line-height: 1.7; }
.community-editorial h2 { line-height: 1.2; letter-spacing: -.025em; }
.community-editorial p { line-height: 1.75; }

/* The editorial microsites share wrapping rules, while retaining their typefaces. */
.editorial-page main h2:not(.signal__title), .editorial-page main h3,
.editorial-page .hero__headline, .editorial-page .signal__headline {
    line-height: 1.08;
    letter-spacing: -.025em;
    text-wrap: balance;
}
.story-page .hero__title { line-height: 1.02; letter-spacing: -.04em; }
.editorial-page .hero__body, .editorial-page .hero__lede { line-height: 1.7; text-wrap: pretty; }
.preference-content h1 { font-size: clamp(2.25rem, 7vw, 5rem); line-height: 1.12; letter-spacing: -.025em; }

@media (max-width: 760px) {
    .crew-hero h1 { font-size: clamp(2rem, 11vw, 5rem); margin-bottom: 24px; }
    .crew-hero__intro { max-width: 44ch; }
    .community-home h2 { font-size: clamp(2rem, 7vw, 3rem); }
    .crew-join h2 { font-size: clamp(2.25rem, 8vw, 3.5rem); }
    .crew-project h2 { font-size: clamp(2.5rem, 9vw, 4rem); }
    .editorial-page main h2:not(.signal__title) { font-size: clamp(2rem, 8.5vw, 4rem); }
    .story-page .hero__title { font-size: clamp(2.75rem, 11vw, 5rem); }
}
