/* ── Our Story ───────────────────────────────────────────────
   Figma: desktop 1397:12093, mobile 1397:11825.
   ─────────────────────────────────────────────────────────── */

.our-story {
    padding: var(--section-y) var(--pad-x);
}

.our-story__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: var(--site-max-w);
    margin: 0 auto;
}

/* Desktop: the heading reads as one sentence. */
.our-story__title em {
    font-style: normal;
    color: inherit;
}

.our-story__body {
    display: flex;
}

/* Half and half; the 64px between them is the words' own right padding,
   so the pictures get the whole of their half. */
.our-story__words {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
    flex: 0 0 50%;
    min-width: 0;
    padding-right: 64px;
}

.our-story__text {
    display: flex;
    flex-direction: column;
    gap: 22px;
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: 0.08px;
    color: var(--color-ink-soft);
}

/* The collage is as tall as the words beside it, however long they run.
   (contain: size stops the pictures pushing it taller themselves.) */
.our-story__collage {
    flex: 0 0 50%;
    min-width: 0;
    height: auto;
    contain: size;
}

/* Tablet and mobile — 1024px and below: pictures first, then the words */
@media (max-width: 1024px) {
    .our-story__inner {
        gap: 16px;
    }

    .our-story__body {
        display: contents;
    }

    .our-story__collage {
        height: var(--collage-h);
        contain: none;
        flex: none;
        order: -1;
        margin-bottom: 4px;
    }

    .our-story__title em {
        display: block;
        font-size: 24px;
        font-style: italic;
        line-height: 1.18;
        letter-spacing: -0.12px;
    }

    .our-story__words {
        flex: none;
        padding-right: 0;
        gap: 22px;
    }

    .our-story__text {
        gap: 16px;
        line-height: 1.55;
        letter-spacing: 0.04px;
    }
}
