@layer components {

    .c-cta {
        max-width: 80rem;
        margin-inline: auto;
        padding: var(--section-space) var(--space-7);
        text-align: center;
    }

    @media (max-width: 900px) {
        .c-cta { padding-inline: var(--space-5); }
    }

    .c-cta__title {
        font-family: var(--font-display);
        font-weight: 300;
        font-size: clamp(2.5rem, 5.5vw, 5rem);
        line-height: 1.02;
        letter-spacing: -0.03em;
        margin-bottom: var(--space-6);
    }

    .c-cta__title em {
        font-style: italic;
        color: var(--color-accent);
    }

    .c-cta__copy {
        font-size: var(--fs-body-lg);
        color: var(--color-ink-soft);
        max-width: 52ch;
        margin: 0 auto var(--space-7);
    }

    .c-cta__actions {
        display: flex;
        gap: var(--space-4);
        flex-wrap: wrap;
        justify-content: center;
    }

    /* ── Compact CTA (--compact) ────────────────────────────────────
     Single-row CTA: eyebrow + lede on the left, one button on the right.
     Used on reference / informational pages where the conversion ask is
     low-key (e.g. "Contact our security team"), versus the marketing
     home page's editorial display CTA. */
    .c-cta--compact {
        text-align: left;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-6);
    }

    /* Wrapper grouping eyebrow + lede so the flex layout treats them as
       one column to the left of the action button. */
    .c-cta--compact .c-cta__main {
        max-width: 48ch;
    }

    .c-cta--compact .c-cta__copy {
        font-size: var(--fs-body);
        line-height: 1.55;
        max-width: none;
        margin: var(--space-3) 0 0;
    }

    .c-cta--compact .c-cta__actions {
        justify-content: flex-start;
    }
}
