@layer ds.block {
    .word-cloud__inner { display: flex; flex-direction: column; align-items: center; gap: var(--space-7); text-align: center; }

    .word-cloud__head { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); }

    .word-cloud__title { margin: 0; font-family: var(--font-display); font-size: var(--text-h2); font-weight: var(--font-weight-medium); color: var(--color-heading); }

    .word-cloud__cloud {
        margin: 0;
        max-width: 62rem;
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: center;
        gap: var(--space-2) var(--space-5);
        line-height: 1.15;
    }

    .word-cloud__word {
        font-family: var(--font-display);
        font-size: var(--text-h3);
        color: var(--color-heading);
    }

    /* A repeating 6-step rhythm of size/weight/colour so the cloud reads as
       designed without needing a style field per word. */
    .word-cloud__word:nth-child(6n+1) { font-size: var(--text-h1); color: var(--color-heading); }
    .word-cloud__word:nth-child(6n+2) { font-style: italic; font-weight: var(--font-weight-regular); color: var(--color-primary); font-size: var(--text-h4); }
    .word-cloud__word:nth-child(6n+3) { font-family: var(--font-body); font-weight: var(--font-weight-regular); color: var(--brand-sage); font-size: var(--text-h5); }
    .word-cloud__word:nth-child(6n+4) { font-size: var(--text-hero); color: var(--color-heading); }
    .word-cloud__word:nth-child(6n+5) { font-style: italic; font-weight: var(--font-weight-regular); color: var(--color-secondary); font-size: var(--text-h4); }
    .word-cloud__word:nth-child(6n+0) { font-family: var(--font-body); font-weight: var(--font-weight-regular); color: var(--color-heading); font-size: var(--text-h5); }
}
