/* --- Standards icon cards (Services 879:1345) ---------------------------- */
.standards-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 119px;
    justify-content: center;
    padding-block: 100px;
    max-width: calc(1548px + var(--gutter) * 2);
}

.standards h2 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(32px, 3.33vw, 64px);
    line-height: 1.234;
    text-align: center;
}

.standards .cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 67px 84px;
    width: 100%;
}

.standards .card {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Icons align across the row: with `center` each card's block floated to its
       own vertical middle, so a short card's icon sat lower than its neighbours'
       (client round 14). Padding is the Figma's 49px on every side. */
    justify-content: flex-start;
    gap: 16px;
    min-height: 391px;
    padding: 49px;
    border-radius: 18px;
    background: #F6F6F6;
    text-align: center;
}

.standards .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 72px;
    height: 72px;
    border-radius: 18px;
    background: var(--icon-blue, #0099FF);
    color: var(--white, #ffffff);
}

.standards .badge .cnm-icon {
    width: 36px;
    height: 36px;
}

.standards .card h3 {
    max-width: 361px;
    margin: 0;
    font-size: 24px;
    line-height: 1.375; /* 33/24 in Figma */
    color: var(--brand, #008AF7);
}

.standards .card p {
    margin: 0;
    font-size: 18px;
    line-height: 1.4444;
    color: var(--ink, #212529);
}

@media (max-width: 1399px) {
    .service-rows .card {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 48px;
        padding: 38px 48px;
    }

    .service-rows-inner {
        min-height: 0;
        padding-inline: var(--gutter);
    }

    .standards .cards {
        gap: 48px;
    }

    .cta-band--trust .trust {
        gap: 32px;
    }
}

@media (max-width: 991px) {
    .service-rows .card,
    .service-rows .card-flip {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .service-rows .card-flip img {
        order: 0;
    }

    .service-rows .card-flip .text {
        align-items: flex-start;
        text-align: left;
    }

    .service-rows-inner {
        gap: 40px;
        padding-block: 40px;
    }

    .standards-inner {
        gap: 56px;
        padding-block: 64px;
    }

    .standards .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* Slide count comes from sliders.js at this width; only the rhythm changes. */
    .photo-grid .photo-grid-images {
        padding-block: 32px;
    }

    .cta-band--trust .cta-band-inner {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .cta-band--trust .trust {
        flex-wrap: wrap;
        gap: 24px 32px;
    }
}

@media (max-width: 767px) {
    .standards .cards {
        grid-template-columns: 1fr;
    }

    /* Client round 14: 18px on every Services card at phone width — the copy gets
       the width back (the standards cards' 49px inset was running the longest card
       to eight lines). These live here, after the base rules; the earlier 767 block
       would lose the source-order tie to `.service-rows .card` / `.standards .card`. */
    .service-rows .card,
    .standards .card {
        padding: 18px;
    }

    /* One card per row here, so the `flex-start` above has no row of icons left to
       align against — it just parks the content at the top of the 391px box and
       leaves 40-158px of dead space under the shortest cards. Centre it instead;
       the 2-column band (768-991px) keeps `flex-start`. */
    .standards .card {
        justify-content: center;
    }

    /* Taller crop on phones, in the same spirit as the video band's 4/3 (client
       round 19) — the 747/496 frame reads thin once the card is full width. */
    .service-rows .card img {
        aspect-ratio: 4 / 3;
    }

    .photo-grid-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .cta-band--trust .trust {
        flex-direction: column;
    }
}