.cards_section {
    & .container {
        position: relative;
        z-index: 2;

        & .main_content {
            width: 100%;
            margin-bottom: 5rem;
            text-align: center;

            & h2,
            & h3 {
                font-size: 5rem;
                font-weight: 400;
                color: var(--primary);
                margin: 0 0 3rem;
            }

            & p {
                color: var(--primary);
                margin: 0;
            }
        }

        & .section_inner {
            width: 100%;
        }

        & .cards-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 5rem;
            justify-content: center;

            & .cards-item {
                display: flex;
                flex: 0 1 calc((100% - 10rem) / 3);
                max-width: 40rem;
                border: 2px solid var(--primary);
                text-align: center;
                background: var(--white);
                flex-direction: column;
                transition: transform 0.3s ease, box-shadow 0.3s ease;

                @media (max-width: 991px) {
                    flex: 0 1 calc((100% - 5rem) / 2);
                }

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

                &.cards-item--linked {
                    color: var(--primary);
                    text-decoration: none;
                    cursor: pointer;

                    & .cards-item__image img {
                        transition: transform 0.5s ease;
                    }

                    &:hover,
                    &:focus-visible {
                        transform: translateY(-4px);
                        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);

                        & .cards-item__image img {
                            transform: scale(1.05);
                        }
                    }

                    &:focus-visible {
                        outline: 2px solid var(--primary);
                        outline-offset: 4px;
                    }
                }

                & .cards-item__image {
                    width: 100%;
                    overflow: hidden;

                    & img {
                        width: 100%;
                        height: 26rem;
                        object-fit: cover;
                        display: block;
                    }
                }

                & .cards-item__body {
                    display: flex;
                    flex-direction: column;
                    flex: 1;
                    padding: 3rem;

                    & .cards-item__heading {
                        color: var(--primary);
                        text-align: center;
                        font-family: "Aboreto", arial, sans-serif;
                        font-size: 2.4rem;
                        font-style: normal;
                        font-weight: 400;
                        line-height: 98%;
                        letter-spacing: 4.6px;
                        text-transform: uppercase;
                        margin: 0 0 2rem;
                    }

                    & .cards-item__text {
                        font-size: 1.5rem;
                        line-height: 1.6;
                        color: var(--primary);
                        margin: 0 0 3rem;
                    }

                    & .call_to_action_buttons {
                        margin-top: auto;
                        display: flex;
                        flex-direction: column;
                        gap: 1.5rem;
                    }
                }
            }
        }
    }
}
