.bsw-our-partners.wp-block-group.alignfull {
    padding: 0 !important;
    background: #fff;
}

/* ── Header ── */

.bsw-our-partners__header.wp-block-group {
    padding-block: 4rem 3rem !important;
    padding-inline: 1.5rem !important;
}

.bsw-our-partners__supertitle {
    font-family: var(--wp--preset--font-family--cormorant, 'Cormorant', serif) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 60px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #8c857b !important;
    line-height: normal !important;
    margin-block: 0 0 !important;
}

.bsw-our-partners__script {
    font-family: var(--wp--preset--font-family--brittany-signature, 'Brittany Signature', cursive) !important;
    font-size: 60px !important;
    font-style: normal !important;
    color: #ba878f !important;
    line-height: 1 !important;
    margin-block: 0 3.5rem !important;
}

.bsw-our-partners__body {
    font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #373737 !important;
    margin-block: 0 !important;
    max-width: 530px;
    margin-inline: auto !important;
}

/* ── Content grid ── */

.bsw-our-partners__content.wp-block-group {
    padding-block: 0 4rem !important;
    padding-inline: 1.5rem !important;
}

.bsw-our-partners__grid.wp-block-columns {
    align-items: flex-start !important;
    gap: 2rem !important;
    margin-block: 0 !important;
}

/* ── Photo column ── */

.bsw-our-partners__photo.wp-block-image {
    margin: 0 !important;
    position: relative;
    aspect-ratio: 397 / 283; /* Figma crop frame */
    overflow: hidden;
}

/* Match the Figma crop: zoom in and shift right so the column/pole on the
   left edge is cropped out (img sits at width 117.87%, left -17.87%, top 0). */
.bsw-our-partners__photo.wp-block-image img {
    position: absolute;
    top: 0;
    left: -17.87%;
    width: 117.87%;
    max-width: none;
    height: auto;
    display: block;
}

.bsw-our-partners__photo-credit {
    font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif) !important;
    font-style: italic !important;
    font-size: 14px !important;
    color: #baaa7c !important;
    margin-block: 0.5rem 0 !important;
}

/* ── Link columns ── */

.bsw-our-partners__links-col.wp-block-column {
    padding-block-start: 0.75rem;
}

.bsw-our-partners__link-item {
    margin-block: 0 1.5rem !important;
    line-height: normal !important;
}

.bsw-our-partners__link-item:last-child {
    margin-block-end: 0 !important;
}

.bsw-our-partners__link-item a {
    font-family: var(--wp--preset--font-family--cormorant, 'Cormorant', serif) !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #aa747c !important;
    text-decoration: underline !important;
    text-decoration-color: transparent !important;
    text-underline-offset: 4px !important;
    transition: text-decoration-color 0.2s ease;
    line-height: normal !important;
}

.bsw-our-partners__link-item a:hover {
    text-decoration-color: currentColor !important;
}

/* ── Mobile ── */

@media (max-width: 767px) {
    .bsw-our-partners__header.wp-block-group {
        padding-block: 3rem 2rem !important;
    }

    .bsw-our-partners__supertitle {
        font-size: 46px !important;
        letter-spacing: 0.2em !important;
    }

    .bsw-our-partners__script {
        font-size: 52px !important;
    }

    /* Switch to grid so we can reorder photo below links */
    .bsw-our-partners__grid.wp-block-columns {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0 1rem !important;
    }

    /* Photo spans full width and moves below both link columns */
    .bsw-our-partners__photo-col.wp-block-column {
        grid-column: 1 / -1 !important;
        order: 3 !important;
        flex-basis: 100% !important;
        margin-block-start: 30px !important;
    }

    .bsw-our-partners__links-col.wp-block-column {
        order: 1 !important;
        flex-basis: auto !important;
    }

    .bsw-our-partners__links-col.wp-block-column:last-of-type {
        order: 2 !important;
    }

    /* Centre-align link items, tighten font for two-column layout */
    .bsw-our-partners__link-item {
        text-align: center !important;
    }

    .bsw-our-partners__links-col.wp-block-column {
        padding-block-start: 0 !important;
    }
}
