        .cm-ministries-section,
        .cm-ministries-section * {
            box-sizing: border-box;
        }

        .cm-ministries-section {
            --cm-white: #ffffff;
            --cm-title: #102f55;
            --cm-text: #45596d;
            --cm-blue: #2677cb;
            --cm-blue-light: #5aa6e8;

            position: relative;
            isolation: isolate;
            overflow: hidden;
            padding: 95px 0 105px;
            background: #3a455a;
        }

        .cm-ministries-section::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -3;
            opacity: 0.35;
            background-image:
                linear-gradient(30deg, rgba(255,255,255,.14) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.14) 87.5%),
                linear-gradient(150deg, rgba(255,255,255,.14) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.14) 87.5%),
                linear-gradient(30deg, rgba(255,255,255,.1) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.1) 87.5%),
                linear-gradient(150deg, rgba(255,255,255,.1) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.1) 87.5%);
            background-position: 0 0, 0 0, 35px 0px, 35px 60px;
            background-size: 10px 10px;
        }

        .cm-ministries-section::after {
            content: "";
            position: absolute;
            width: 520px;
            height: 520px;
            top: -290px;
            right: -170px;
            z-index: -2;
            border: 85px solid rgba(255, 255, 255, 0.1);
            border-radius: 50%;
        }

        .cm-floating-shape {
            position: absolute;
            z-index: -1;
            pointer-events: none;
        }

        .cm-floating-shape-one {
            width: 210px;
            height: 210px;
            left: -90px;
            bottom: 7%;
            border: 2px solid rgba(255, 255, 255, 0.24);
            border-radius: 42% 58% 60% 40% / 48% 42% 58% 52%;
            transform: rotate(28deg);
        }

        .cm-floating-shape-two {
            width: 135px;
            height: 135px;
            top: 24%;
            right: 3%;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255,255,255,.18);
            border-radius: 35px;
            transform: rotate(32deg);
        }

        .cm-section-heading {
            margin: 0 auto 52px;
            text-align: center;
        }

        .cm-heading-label {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 15px;
            padding: 8px 18px;
            color: #174a78;
            background: rgba(255, 255, 255, 0.94);
            border: 1px solid rgba(255, 255, 255, 0.7);
            border-radius: 50px;
            box-shadow: 0 10px 28px rgba(16, 67, 112, 0.18);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 1.8px;
            text-transform: uppercase;
        }

        .cm-section-title {
            margin: 0 0 22px;
            color: var(--cm-white);
            font-family: "Archivo Black", sans-serif;
            font-size: clamp(34px, 5vw, 62px);
            line-height: 1.08;
            letter-spacing: -1.8px;
            text-shadow: 0 10px 28px rgba(25, 78, 122, 0.35);
        }

        .cm-subtitle-box {
            position: relative;
            margin: 0 auto;
            padding: 20px 70px;
            overflow: hidden;
            color: #eff9ff;
            background: rgba(255, 255, 255, 0.12);
            border: 1px solid rgba(255, 255, 255, 0.52);
            border-radius: 20px;
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.24),
                0 18px 42px rgba(17, 70, 116, 0.2);
            backdrop-filter: blur(12px);
        }

        .cm-subtitle-box::before,
        .cm-subtitle-box::after {
            content: "";
            position: absolute;
            width: 42px;
            height: 42px;
            border: 9px solid rgba(255, 255, 255, 0.16);
            transform: rotate(45deg);
        }

        .cm-subtitle-box::before {
            left: 20px;
            top: -13px;
        }

        .cm-subtitle-box::after {
            right: 20px;
            bottom: -13px;
        }

        .cm-subtitle-box p {
                position: relative;
                z-index: 1;
                margin: 0;
                font-size: 26px;
                line-height: 40px;
                font-weight: 600;
        }

        .cm-card-column {
            display: flex;
        }

        .cm-ministry-card {
            --card-accent: #ef7f31;
            --card-accent-rgb: 239, 127, 49;
            --card-bg-one: #fff4e8;
            --card-bg-two: #ffe4ca;

            position: relative;
            display: flex;
            width: 100%;
            min-height: 265px;
            padding: 22px;
            overflow: hidden;
            border: 1px solid rgba(var(--card-accent-rgb), 0.46);
            border-radius: 28px;
            background:
                radial-gradient(circle at 95% 10%, rgba(var(--card-accent-rgb), .22) 0 38px, transparent 39px),
                radial-gradient(circle at 78% 115%, rgba(255,255,255,.85) 0 105px, transparent 107px),
                linear-gradient(135deg, var(--card-bg-one), var(--card-bg-two));
            box-shadow:
                0 16px 38px rgba(26, 65, 98, 0.18),
                0 0 0 1px rgba(255, 255, 255, 0.75) inset;
            transition:
                transform 0.45s cubic-bezier(.2,.75,.25,1),
                box-shadow 0.45s ease,
                border-color 0.45s ease;
        }

        .cm-ministry-card::before {
            content: "";
            position: absolute;
            inset: -2px;
            z-index: -1;
            border-radius: 30px;
            background: linear-gradient(
                120deg,
                transparent 12%,
                rgba(var(--card-accent-rgb), .18) 31%,
                rgba(var(--card-accent-rgb), .9) 50%,
                rgba(255,255,255,.85) 57%,
                transparent 78%
            );
            background-size: 240% 100%;
            animation: cmCardGlow 5s linear infinite;
        }

        .cm-ministry-card::after {
            content: "";
            position: absolute;
            width: 160px;
            height: 160px;
            top: -84px;
            right: -70px;
            border: 24px solid rgba(var(--card-accent-rgb), 0.12);
            border-radius: 50%;
        }

        .cm-ministry-card:hover {
            transform: translateY(-10px);
            border-color: rgba(var(--card-accent-rgb), 0.85);
            box-shadow:
                0 25px 55px rgba(21, 65, 100, 0.25),
                0 0 24px rgba(var(--card-accent-rgb), 0.38),
                inset 0 1px 0 rgba(255, 255, 255, 0.88);
        }

        .cm-card-orange {
            --card-accent: #ec7527;
            --card-accent-rgb: 236, 117, 39;
            --card-bg-one: #fff6ea;
            --card-bg-two: #ffdec1;
        }

        .cm-card-green {
            --card-accent: #3eaa70;
            --card-accent-rgb: 62, 170, 112;
            --card-bg-one: #effff4;
            --card-bg-two: #ccefd8;
        }

        .cm-card-red {
            --card-accent: #df5962;
            --card-accent-rgb: 223, 89, 98;
            --card-bg-one: #fff2f3;
            --card-bg-two: #ffd3d6;
        }

        .cm-card-gold {
            --card-accent: #c99821;
            --card-accent-rgb: 201, 152, 33;
            --card-bg-one: #fffbea;
            --card-bg-two: #f5e3a6;
        }

        .cm-card-gray {
            --card-accent: #6d7f91;
            --card-accent-rgb: 109, 127, 145;
            --card-bg-one: #f7fafc;
            --card-bg-two: #dce5eb;
        }

        .cm-card-purple {
            --card-accent: #8f63c7;
            --card-accent-rgb: 143, 99, 199;
            --card-bg-one: #faf4ff;
            --card-bg-two: #e7d5f8;
        }

        .cm-card-coral {
            --card-accent: #e76f51;
            --card-accent-rgb: 231, 111, 81;
            --card-bg-one: #fff5ef;
            --card-bg-two: #ffd9c9;
        }

        .cm-card-mint {
            --card-accent: #319b91;
            --card-accent-rgb: 49, 155, 145;
            --card-bg-one: #effdfc;
            --card-bg-two: #ccefeb;
        }

        .cm-image-panel {
            position: relative;
            flex: 0 0 190px;
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 0;
        }

        .cm-image-ring {
            position: relative;
            width: 180px;
            height: 180px;
            padding: 8px;
            border-radius: 50%;
            background: linear-gradient(
                135deg,
                var(--card-accent),
                rgba(255,255,255,.98),
                var(--card-accent)
            );
            box-shadow:
                0 0 0 5px rgba(255,255,255,.78),
                0 0 0 8px rgba(var(--card-accent-rgb), .55),
                0 0 26px rgba(var(--card-accent-rgb), .58);
        }

        .cm-image-ring::before {
            content: "";
            position: absolute;
            inset: -10px;
            border: 2px dashed rgba(var(--card-accent-rgb), .78);
            border-radius: 50%;
            animation: cmRingRotate 16s linear infinite;
        }

        .cm-image-ring::after {
            content: "";
            position: absolute;
            inset: 3px;
            border: 2px solid rgba(255,255,255,.84);
            border-radius: 50%;
            pointer-events: none;
        }

        .cm-image-ring img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%;
            transition: transform 0.6s cubic-bezier(.2,.75,.25,1);
        }

        .cm-ministry-card:hover .cm-image-ring img {
            transform: scale(1.07);
        }

        .cm-image-badge {
            position: absolute;
            left: 50%;
            bottom: -8px;
            z-index: 3;
            transform: translateX(-50%);
            min-width: 106px;
            padding: 7px 12px;
            color: var(--cm-white);
            background: var(--card-accent);
            border: 3px solid rgba(255,255,255,.95);
            border-radius: 50px;
            box-shadow: 0 8px 18px rgba(var(--card-accent-rgb), .35);
            font-size: 10px;
            font-weight: 900;
            line-height: 1;
            text-align: center;
            letter-spacing: 1px;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .cm-card-content {
            position: relative;
            z-index: 2;
            display: flex;
            flex: 1;
            flex-direction: column;
            justify-content: center;
            min-width: 0;
            padding: 10px 5px 10px 27px;
        }

        .cm-card-number {
            position: absolute;
            right: 3px;
            top: -8px;
            color: rgba(var(--card-accent-rgb), .13);
            font-family: "Archivo Black", sans-serif;
            font-size: 68px;
            line-height: 1;
        }

        .cm-card-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 39px;
            height: 39px;
            margin-bottom: 11px;
            color: var(--card-accent);
            background: rgba(255,255,255,.8);
            border: 1px solid rgba(var(--card-accent-rgb), .28);
            border-radius: 12px;
            box-shadow: 0 8px 17px rgba(var(--card-accent-rgb), .13);
        }

        .cm-card-title {
            position: relative;
            z-index: 1;
            margin: 0 0 10px;
            color: var(--cm-title);
            font-family: "Archivo Black", sans-serif;
            font-size: clamp(20px, 2vw, 27px);
            line-height: 1.2;
            letter-spacing: -0.6px;
        }

        .cm-card-description {
            display: -webkit-box;
            min-height: 52px;
            margin: 0 0 18px;
            overflow: hidden;
            color: var(--cm-text);
            font-size: 14.5px;
            font-weight: 600;
            line-height: 1.75;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

        .cm-read-more {
            align-self: flex-start;
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-top: auto;
            padding: 10px 17px;
            color: #fff;
            background: var(--card-accent);
            border: 1px solid var(--card-accent);
            border-radius: 50px;
            box-shadow: 0 9px 20px rgba(var(--card-accent-rgb), .27);
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .7px;
            text-decoration: none;
            text-transform: uppercase;
            transition:
                transform .35s ease,
                box-shadow .35s ease,
                background .35s ease;
        }

        .cm-read-more i {
            font-size: 11px;
            transition: transform .35s ease;
        }

        .cm-read-more:hover {
            color: #fff;
            transform: translateY(-3px);
            box-shadow: 0 13px 25px rgba(var(--card-accent-rgb), .4);
        }

        .cm-read-more:hover i {
            transform: translateX(4px);
        }

        @keyframes cmRingRotate {
            to {
                transform: rotate(360deg);
            }
        }

        @keyframes cmCardGlow {
            0% {
                background-position: 140% 0;
            }
            100% {
                background-position: -140% 0;
            }
        }

        @media (max-width: 1199.98px) {
            .cm-ministry-card {
                min-height: 250px;
                padding: 20px;
            }

            .cm-image-panel {
                flex-basis: 165px;
            }

            .cm-image-ring {
                width: 155px;
                height: 155px;
            }

            .cm-card-content {
                padding-left: 22px;
            }
        }

        @media (max-width: 991.98px) {
            .cm-ministries-section {
                padding: 80px 0 90px;
            }

            .cm-section-heading {
                margin-bottom: 42px;
            }

            .cm-ministry-card {
                min-height: 240px;
            }

            .cm-image-panel {
                flex-basis: 175px;
            }

            .cm-image-ring {
                width: 165px;
                height: 165px;
            }
        }

        @media (max-width: 767.98px) {
            .cm-ministries-section {
                padding: 35px 0 35px;
            }

            .cm-section-title {
                letter-spacing: -1px;
            }

            .cm-subtitle-box {
                padding: 17px 24px;
                border-radius: 16px;
            }

            .cm-subtitle-box p {
                font-size: 14px;
                line-height: 1.7;
            }

            .cm-ministry-card {
                min-height: 190px;
                padding: 16px;
                border-radius: 22px;
            }

            .cm-ministry-card::before {
                border-radius: 24px;
            }

            .cm-image-panel {
                flex: 0 0 112px;
            }

            .cm-image-ring {
                width: 102px;
                height: 102px;
                padding: 5px;
                box-shadow:
                    0 0 0 3px rgba(255,255,255,.78),
                    0 0 0 6px rgba(var(--card-accent-rgb), .55),
                    0 0 18px rgba(var(--card-accent-rgb), .5);
            }

            .cm-image-ring::before {
                inset: -8px;
            }

            .cm-image-badge {
                bottom: -10px;
                min-width: 82px;
                max-width: 100px;
                padding: 6px 8px;
                font-size: 8px;
                letter-spacing: .6px;
            }

            .cm-card-content {
                padding: 4px 0 4px 17px;
            }

            .cm-card-number {
                top: -2px;
                font-size: 48px;
            }

            .cm-card-icon {
                width: 31px;
                height: 31px;
                margin-bottom: 7px;
                border-radius: 9px;
                font-size: 13px;
            }

            .cm-card-title {
                margin-bottom: 6px;
                font-size: 18px;
                line-height: 1.2;
            }

            .cm-card-description {
                min-height: 43px;
                margin-bottom: 11px;
                font-size: 12.5px;
                line-height: 1.65;
            }

            .cm-read-more {
                gap: 7px;
                padding: 8px 13px;
                font-size: 10px;
            }
        }

        @media (max-width: 420px) {
            .cm-ministry-card {
                min-height: 176px;
                padding: 13px;
            }

            .cm-image-panel {
                flex-basis: 94px;
            }

            .cm-image-ring {
                width: 84px;
                height: 84px;
            }

            .cm-image-badge {
                min-width: 72px;
                max-width: 86px;
                font-size: 7px;
            }

            .cm-card-content {
                padding-left: 13px;
            }

            .cm-card-icon {
                display: none;
            }

            .cm-card-title {
                padding-right: 15px;
                font-size: 16px;
            }

            .cm-card-description {
                font-size: 14.5px;
                line-height: 1.55;
            }

            .cm-read-more {
                padding: 7px 11px;
                font-size: 9px;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .cm-ministry-card::before,
            .cm-image-ring::before {
                animation: none;
            }

            .cm-ministry-card,
            .cm-image-ring img,
            .cm-read-more,
            .cm-read-more i {
                transition: none;
            }
        }