.review_grid_section {
    width: 100%;
    background: #1a1f17;

    & .container {

        & .section_top {
            text-align: center;
            margin-bottom: 5rem;

            & h2 {
                font-weight: 700;
                color: var(--white);
                margin: 0;
                line-height: 1.1;

                @media (max-width: 991px) {
                    font-size: 3rem;
                }
            }
        }

        & .review_grid {
            display: flex;
            flex-wrap: wrap;
            gap: 2.5rem;
            align-items: stretch;

            & .review_card {
                flex: 1 1 calc(33.333% - 1.7rem);
                min-width: 26rem;
                background: rgba(255, 255, 255, 0.05);
                border-top: 3px solid var(--primary);
                border-radius: 0 0 1rem 1rem;
                padding: 3rem;
                display: flex;
                flex-direction: column;
                transition: transform 0.3s ease, box-shadow 0.3s ease;

                @media (max-width: 767px) {
                    flex: 1 1 calc(50% - 1.25rem);
                }

                @media (max-width: 479px) {
                    flex: 1 1 100%;
                }

                &:hover {
                    transform: translateY(-0.3rem);
                }

                & .review_card__stars {
                    font-size: 1.8rem;
                    color: var(--primary);
                    margin: 0 0 1.5rem;
                    letter-spacing: 0.15rem;
                    line-height: 1;
                }

                & .review_card__text {
                    flex: 1;
                    margin-bottom: 2.5rem;

                    & p {
                        color: rgba(255, 255, 255, 0.82);
                        font-size: 1.5rem;
                        line-height: 1.75;
                        margin: 0;
                        font-style: italic;
                    }
                }

                & .review_card__footer {
                    border-top: 1px solid rgba(168, 201, 107, 0.2);
                    padding-top: 1.5rem;
                }

                & .review_card__name {
                    font-size: 1.5rem;
                    font-weight: 700;
                    color: var(--primary);
                    text-transform: uppercase;
                    letter-spacing: 0.08rem;
                    margin: 0 0 0.3rem;
                }

                & .review_card__meta {
                    font-size: 1.3rem;
                    color: rgba(255, 255, 255, 0.4);
                    margin: 0;
                }
            }
        }

        /* 2-column override via data attribute */
        & .review_grid[data-columns="2"] .review_card {
            flex: 1 1 calc(50% - 1.25rem);

            @media (max-width: 767px) {
                flex: 1 1 100%;
            }
        }

        & .call_to_action_buttons {
            margin-top: 5rem;
            text-align: center;
        }
    }

    &.scheme--light {
        background: #f5f7f3;

        & .section_top h2 {
            color: var(--black);
        }

        & .review_grid .review_card {
            background: var(--white);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);

            &:hover {
                box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            }

            & .review_card__text p {
                color: var(--black);
            }

            & .review_card__footer {
                border-top-color: rgba(168, 201, 107, 0.3);
            }

            & .review_card__meta {
                color: rgba(0, 0, 0, 0.55);
            }
        }
    }
}
