/**
 * PHASE Step 4B.8.2 editorial content primitives.
 *
 * These classes establish reusable editorial relationships without assigning
 * page-specific composition, copy, claims, or heading levels.
 */

.section-header {
    display: grid;
    gap: var(--space-section-header-gap);
    max-inline-size: var(--phase-type-body-measure);
}

.section-header__eyebrow {
    margin-block: 0;
    font-family: var(--font-technical);
    font-size: var(--type-technical-size);
    font-weight: var(--phase-font-weight-emphasis);
    line-height: var(--type-technical-line);
    letter-spacing: var(--type-technical-tracking);
}

.section-header__title,
.section-header__copy {
    margin-block: 0;
}

.section-header__copy {
    max-inline-size: var(--phase-type-supporting-measure);
    font-size: var(--type-supporting-size);
    font-weight: var(--type-supporting-weight);
    line-height: var(--type-supporting-line);
    letter-spacing: var(--type-supporting-tracking);
}

.boundary-block {
    display: grid;
    gap: var(--space-boundary-gap);
    padding: var(--space-disclosure);
    color: var(--text-primary);
    background-color: var(--surface-primary);
    border:
        var(--border-width-0)
        solid
        var(--border-strong);
    border-inline-start-width: var(--state-boundary-width);
    border-radius: var(--phase-radius-structure);
}

.boundary-block__label {
    margin-block: 0;
    font-family: var(--font-technical);
    font-size: var(--type-technical-size);
    font-weight: var(--phase-font-weight-emphasis);
    line-height: var(--type-technical-line);
    letter-spacing: var(--type-technical-tracking);
}

.boundary-block > :last-child {
    margin-block-end: 0;
}

.quote-block {
    display: grid;
    gap: var(--space-quote-gap);
    margin-inline: 0;
    padding-inline-start: var(--space-disclosure);
    font-family: var(--phase-font-editorial);
    font-size: var(--type-lead-size);
    font-weight: var(--type-lead-weight);
    line-height: var(--type-lead-line);
    letter-spacing: var(--type-lead-tracking);
    border-inline-start:
        var(--state-boundary-width)
        solid
        var(--border-strong);
}

.quote-block > :first-child,
.quote-block > :last-child {
    margin-block: 0;
}

.quote-block__source {
    font-family: var(--font-technical);
    font-size: var(--type-caption-size);
    font-style: normal;
    font-weight: var(--type-caption-weight);
    line-height: var(--type-caption-line);
    letter-spacing: var(--type-technical-tracking);
}

.media-caption {
    margin-block-start: var(--space-caption-to-media);
    font-family: var(--font-technical);
    font-size: var(--type-caption-size);
    font-weight: var(--type-caption-weight);
    line-height: var(--type-caption-line);
    letter-spacing: var(--type-caption-tracking);
}
