.content-section {
    min-height: var(--section-scene-min-height);
    padding-block: var(--section-space-block);
}

.section-inner {
    width: min(calc(100% - (var(--page-inline) * 2)), var(--section-content-max));
    margin-inline: auto;
}

.ui-text {
    font-family: var(--font-body);
    font-size: var(--text-ui);
}

.responsive-text__compact {
    display: none;
}

.section-eyebrow {
    color: var(--color-muted);
    font-family: var(--font-body);
    font-size: var(--text-eyebrow);
    font-weight: var(--section-eyebrow-weight);
    line-height: var(--section-eyebrow-line-height);
    letter-spacing: var(--section-eyebrow-letter-spacing);
    text-transform: uppercase;
}

.section-eyebrow--inverse {
    color: var(--color-stage-text);
}

.section-title {
    color: var(--color-heading);
    font-family: var(--font-display);
    font-size: var(--text-section-title);
    font-weight: 430;
    line-height: var(--section-title-line-height);
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.section-title--inverse {
    color: var(--color-stage-text);
}

.section-title--flow {
    margin-top: var(--section-heading-gap);
}

.text-highlight {
    padding-inline: 0.08em;
    margin-inline: -0.02em;
    border-radius: 0.35em;
    background-image: linear-gradient(
        var(--text-highlight-background),
        var(--text-highlight-background)
    );
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 100% var(--text-highlight-height);
    box-decoration-break: clone;
    font-weight: inherit;
    -webkit-box-decoration-break: clone;
}

.section-intro__inner {
    display: grid;
    width: min(
        calc(100% - (var(--page-inline) * 2)),
        var(--transition-content-max)
    );
    row-gap: var(--space-lg);
    text-align: center;
}

.section-intro {
    display: grid;
    min-height: var(--section-scene-min-height);
    padding-block: var(--section-space-block);
    align-items: center;
}

.section-intro__title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.12em 0.24em;
    font-size: var(--text-transition-title);
    line-height: 1.02;
}

.section-intro__blockquote {
    grid-column: 1 / -1;
    margin: 0;
}

.section-intro__phrase {
    display: inline-flex;
    gap: 0.12em 0.24em;
}

.section-intro__word {
    display: inline-block;
    color: var(--color-heading);
}

.section-intro__reveal-word {
    display: inline-block;
}

[data-section-intro].is-enhanced .section-intro__word {
    color: var(--color-heading-idle);
}

[data-section-intro].is-enhanced .section-intro__word.is-lit {
    color: var(--color-heading);
}

.section-intro__attribution {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    gap: var(--space-xs);
}

.section-intro__credit {
    grid-column: 2;
    grid-row: 1;
}

.section-intro__credit strong {
    font-weight: 700;
}

.section-intro__quote-icon {
    grid-column: 1;
    grid-row: 1;
    width: 1.5rem;
    height: 1.5rem;
}

.section-intro__disclaimer {
    grid-column: 2;
    grid-row: 2;
    justify-self: center;
    color: var(--color-muted);
}

@media (prefers-reduced-motion: no-preference) {
    .section-intro--product-handoff {
        /* The animated handoff changes at 80rem; keep its regular-motion resize from shifting the scroll anchor. */
        overflow-anchor: none;
    }
}

@media (min-width: 48rem) {
    .section-intro.section-intro--product-handoff {
        min-height: var(--section-scene-min-height);
    }
}

.section-title--action {
    font-size: var(--text-project-cta);
    font-weight: 600;
    line-height: var(--project-cta-title-line-height);
}

.section-copy {
    color: var(--color-muted);
    font-family: var(--font-body);
    font-size: var(--text-reading);
    font-weight: var(--section-copy-weight);
    line-height: var(--section-copy-line-height);
}

.section-copy--inverse {
    color: var(--color-stage-muted);
}

.section-copy--flow {
    margin-top: var(--section-copy-gap);
}

.card-title {
    color: var(--color-heading);
    font-family: var(--font-display);
    font-size: var(--text-card-title);
    font-weight: var(--card-title-weight);
    line-height: var(--card-title-line-height);
    letter-spacing: -0.025em;
    text-wrap: balance;
}

.card-copy {
    color: var(--color-muted);
    font-family: var(--font-body);
    font-size: var(--text-card-copy);
    font-weight: var(--card-copy-weight);
    line-height: var(--card-copy-line-height);
}

@media (max-width: 47.9375rem) {
    .responsive-text__full {
        display: none;
    }

    .responsive-text__compact {
        display: inline;
    }
}
