        /* =====================================================
           FAMILY MINISTRY SECTION
        ===================================================== */

        .family-ministry-section {
            --fm-navy: #14213d;
            --fm-deep: #1b2f4c;
            --fm-gold: #d99b35;
            --fm-orange: #e67635;
            --fm-green: #668f65;
            --fm-cream: #fff9ed;
            --fm-light: #fffdf8;
            --fm-text: #354052;

            position: relative;
            overflow: hidden;
            padding: 100px 0;
            background:
                radial-gradient(circle at 8% 10%, rgba(255, 183, 94, .22), transparent 25%),
                radial-gradient(circle at 92% 80%, rgba(103, 143, 101, .20), transparent 26%),
                linear-gradient(135deg, #fffaf0 0%, #f7fbf4 48%, #fff7e7 100%);
            font-family: "Segoe UI", Arial, sans-serif;
            color: var(--fm-text);
            isolation: isolate;
        }

        .family-ministry-section *,
        .family-ministry-section *::before,
        .family-ministry-section *::after {
            box-sizing: border-box;
        }

        .fm-background-shape {
            position: absolute;
            border-radius: 50%;
            filter: blur(2px);
            pointer-events: none;
            z-index: -1;
        }

        .fm-shape-one {
            width: 350px;
            height: 350px;
            left: -180px;
            top: 100px;
            border: 45px solid rgba(230, 118, 53, .07);
            animation: fmFloat 9s ease-in-out infinite;
        }

        .fm-shape-two {
            width: 280px;
            height: 280px;
            right: -120px;
            bottom: 120px;
            background: rgba(102, 143, 101, .08);
            animation: fmFloat 11s ease-in-out infinite reverse;
        }

        .fm-dots {
            position: absolute;
            width: 180px;
            height: 180px;
            opacity: .18;
            pointer-events: none;
            background-image: radial-gradient(var(--fm-gold) 2px, transparent 2px);
            background-size: 18px 18px;
        }

        .fm-dots-left {
            left: 3%;
            bottom: 5%;
        }

        .fm-dots-right {
            right: 4%;
            top: 6%;
        }

        @keyframes fmFloat {
            0%, 100% {
                transform: translateY(0) rotate(0deg);
            }
            50% {
                transform: translateY(-22px) rotate(7deg);
            }
        }

        /* Section heading */

        .fm-heading-wrap {
            max-width: 860px;
            margin: 0 auto 38px;
            text-align: center;
        }

        .fm-small-title {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 14px;
            padding: 9px 18px;
            border: 1px solid rgba(217, 155, 53, .38);
            border-radius: 50px;
            background: rgba(255, 255, 255, .72);
            color: #a56516;
            font-size: .84rem;
            font-weight: 800;
            letter-spacing: 1.6px;
            text-transform: uppercase;
            box-shadow: 0 8px 25px rgba(53, 64, 82, .08);
        }

        .fm-small-title i {
            color: var(--fm-orange);
        }

        .fm-main-title {
            margin-bottom: 15px;
            color: var(--fm-navy);
            font-size: clamp(2.2rem, 5vw, 4.4rem);
            font-weight: 900;
            letter-spacing: -2px;
            line-height: 1.05;
        }

        .fm-main-title span {
            position: relative;
            display: inline-block;
            color: var(--fm-orange);
        }

        .fm-main-title span::after {
            content: "";
            position: absolute;
            left: 8%;
            bottom: -8px;
            width: 84%;
            height: 5px;
            border-radius: 20px;
            background: linear-gradient(90deg, var(--fm-orange), var(--fm-gold));
        }

        .fm-heading-text {
            max-width: 740px;
            margin: 25px auto 0;
            font-size: 1.06rem;
            line-height: 1.9;
            color: #5f6875;
        }

        /* Intro graphical box */

        .fm-intro-box {
            position: relative;
            margin-bottom: 45px;
            padding: 32px 35px;
            overflow: hidden;
            border: 1px solid rgba(217, 155, 53, .38);
            border-radius: 25px;
            background:
                linear-gradient(120deg, rgba(255, 255, 255, .94), rgba(255, 249, 237, .87)),
                repeating-linear-gradient(
                    45deg,
                    transparent,
                    transparent 14px,
                    rgba(217, 155, 53, .04) 14px,
                    rgba(217, 155, 53, .04) 28px
                );
            box-shadow:
                0 20px 55px rgba(20, 33, 61, .10),
                inset 0 0 0 5px rgba(255, 255, 255, .60);
        }

        .fm-intro-box::before {
            content: "";
            position: absolute;
            width: 170px;
            height: 170px;
            right: -65px;
            top: -75px;
            border-radius: 50%;
            background: linear-gradient(135deg, rgba(230, 118, 53, .18), rgba(217, 155, 53, .04));
        }

        .fm-intro-box::after {
            content: "";
            position: absolute;
            left: 0;
            top: 18%;
            width: 5px;
            height: 64%;
            border-radius: 0 10px 10px 0;
            background: linear-gradient(var(--fm-orange), var(--fm-gold));
        }

        .fm-intro-icon {
            position: relative;
            display: grid;
            flex: 0 0 auto;
            width: 72px;
            height: 72px;
            place-items: center;
            border-radius: 22px;
            color: white;
            font-size: 1.75rem;
            background: linear-gradient(135deg, var(--fm-orange), var(--fm-gold));
            box-shadow: 0 14px 28px rgba(230, 118, 53, .28);
        }

        .fm-intro-icon::after {
            content: "";
            position: absolute;
            inset: -7px;
            border: 1px dashed rgba(230, 118, 53, .42);
            border-radius: 27px;
            animation: fmRotate 14s linear infinite;
        }

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

        .fm-intro-content h2 {
            margin-bottom: 10px;
            color: var(--fm-navy);
            font-size: clamp(1.35rem, 2vw, 1.8rem);
            font-weight: 850;
        }

        .fm-intro-content p {
            margin: 0;
            color: #5c6571;
            font-size: 1rem;
            line-height: 1.95;
        }

        /* Four image cards */

        .fm-photo-card {
            position: relative;
            min-height: 390px;
            height: 100%;
            overflow: hidden;
            border: 7px solid rgba(255, 255, 255, .92);
            border-radius: 24px;
            background: #ddd;
            box-shadow:
                0 18px 45px rgba(20, 33, 61, .18),
                0 0 0 1px rgba(217, 155, 53, .25);
            transition: transform .45s ease, box-shadow .45s ease;
        }

        .fm-photo-card:hover {
            transform: translateY(-9px);
            box-shadow:
                0 27px 60px rgba(20, 33, 61, .23),
                0 0 0 2px rgba(230, 118, 53, .40);
        }

        .fm-photo-card img {
            width: 100%;
            height: 100%;
            min-height: 390px;
            object-fit: cover;
            transition: transform .75s ease, filter .5s ease;
        }

        .fm-photo-card:hover img {
            transform: scale(1.08);
            filter: saturate(1.08);
        }

        .fm-photo-overlay {
            position: absolute;
            inset: auto 0 0;
            padding: 65px 22px 22px;
            color: white;
            background: linear-gradient(
                to top,
                rgba(10, 21, 38, .95),
                rgba(10, 21, 38, .52),
                transparent
            );
        }

        .fm-photo-number {
            position: absolute;
            top: 16px;
            right: 16px;
            display: grid;
            width: 45px;
            height: 45px;
            place-items: center;
            border: 1px solid rgba(255, 255, 255, .52);
            border-radius: 50%;
            color: white;
            font-size: .9rem;
            font-weight: 800;
            background: rgba(20, 33, 61, .68);
            backdrop-filter: blur(8px);
        }

        .fm-photo-icon {
            display: inline-grid;
            width: 42px;
            height: 42px;
            margin-bottom: 12px;
            place-items: center;
            border-radius: 12px;
            background: linear-gradient(135deg, var(--fm-orange), var(--fm-gold));
            box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
        }

        .fm-photo-overlay h3 {
            margin-bottom: 7px;
            font-size: 1.22rem;
            font-weight: 850;
        }

        .fm-photo-overlay p {
            margin: 0;
            color: rgba(255, 255, 255, .82);
            font-size: .88rem;
            line-height: 1.65;
        }

        /* Main content rows */

        .fm-content-wrapper {
            margin-top: 75px;
        }

        .fm-content-row {
            margin-bottom: 80px;
        }

        .fm-content-row:last-child {
            margin-bottom: 0;
        }

        .fm-content-image {
            position: relative;
            max-width: 570px;
            margin: auto;
            padding: 12px;
            border: 1px solid rgba(217, 155, 53, .34);
            border-radius: 30px;
            background: rgba(255, 255, 255, .78);
            box-shadow: 0 20px 55px rgba(20, 33, 61, .14);
        }

        .fm-content-image::before {
            content: "";
            position: absolute;
            width: 85%;
            height: 86%;
            left: -18px;
            bottom: -18px;
            z-index: -1;
            border-radius: 30px;
            background: linear-gradient(135deg, var(--fm-orange), var(--fm-gold));
            opacity: .22;
        }

        .fm-content-row:nth-child(even) .fm-content-image::before {
            left: auto;
            right: -18px;
            background: linear-gradient(135deg, var(--fm-green), var(--fm-gold));
        }

        .fm-content-image img {
            display: block;
            width: 100%;
            height: 440px;
            object-fit: cover;
            border-radius: 21px;
        }

        .fm-image-label {
            position: absolute;
            left: 30px;
            bottom: 30px;
            max-width: calc(100% - 60px);
            padding: 13px 18px;
            border: 1px solid rgba(255, 255, 255, .45);
            border-radius: 14px;
            color: white;
            font-size: .91rem;
            font-weight: 700;
            background: rgba(20, 33, 61, .85);
            backdrop-filter: blur(8px);
            box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
        }

        .fm-content-text {
            padding: 15px 10px;
        }

        .fm-section-tag {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 15px;
            padding: 8px 15px;
            border-radius: 50px;
            color: #9c5a17;
            font-size: .82rem;
            font-weight: 800;
            letter-spacing: .7px;
            background: #fff0d8;
        }

        .fm-content-text h2 {
            margin-bottom: 20px;
            color: var(--fm-navy);
            font-size: clamp(1.7rem, 3vw, 2.7rem);
            font-weight: 900;
            line-height: 1.25;
        }

        .fm-content-text > p {
            margin-bottom: 18px;
            color: #5e6875;
            font-size: 1rem;
            line-height: 2;
        }

        .fm-feature-list {
            margin-top: 25px;
        }

        .fm-feature-item {
            display: flex;
            align-items: flex-start;
            gap: 13px;
            margin-bottom: 15px;
            padding: 13px 15px;
            border: 1px solid rgba(20, 33, 61, .07);
            border-radius: 14px;
            background: rgba(255, 255, 255, .76);
            box-shadow: 0 9px 25px rgba(20, 33, 61, .05);
            transition: transform .3s ease, border-color .3s ease;
        }

        .fm-feature-item:hover {
            transform: translateX(6px);
            border-color: rgba(230, 118, 53, .30);
        }

        .fm-feature-icon {
            display: grid;
            flex: 0 0 auto;
            width: 40px;
            height: 40px;
            place-items: center;
            border-radius: 12px;
            color: white;
            background: linear-gradient(135deg, var(--fm-orange), var(--fm-gold));
        }

        .fm-feature-item h4 {
            margin: 0 0 4px;
            color: var(--fm-navy);
            font-size: 1rem;
            font-weight: 800;
        }

        .fm-feature-item p {
            margin: 0;
            color: #68717d;
            font-size: .9rem;
            line-height: 1.6;
        }

        /* Bible verse */

        .fm-verse-card {
            position: relative;
            margin-top: 28px;
            overflow: hidden;
            padding: 26px 26px 25px 31px;
            border: 1px solid rgba(217, 155, 53, .38);
            border-radius: 20px;
            background:
                linear-gradient(135deg, rgba(20, 33, 61, .97), rgba(27, 47, 76, .94));
            box-shadow: 0 20px 42px rgba(20, 33, 61, .18);
        }

        .fm-verse-card::before {
            content: "\f10d";
            position: absolute;
            right: 22px;
            top: 10px;
            color: rgba(255, 255, 255, .07);
            font-family: "Font Awesome 6 Free";
            font-size: 5rem;
            font-weight: 900;
        }

        .fm-verse-card::after {
            content: "";
            position: absolute;
            left: 0;
            top: 15%;
            width: 5px;
            height: 70%;
            border-radius: 10px;
            background: linear-gradient(var(--fm-gold), var(--fm-orange));
        }

        .fm-verse-card p {
            position: relative;
            z-index: 1;
            margin-bottom: 13px;
            color: rgba(255, 255, 255, .91);
            font-size: 1rem;
            font-style: italic;
            line-height: 1.9;
        }

        .fm-verse-card span {
            position: relative;
            z-index: 1;
            color: #ffd994;
            font-size: .9rem;
            font-weight: 800;
        }

        /* Activities */

        .fm-activities {
            margin-top: 85px;
            padding: 45px 34px;
            overflow: hidden;
            border: 1px solid rgba(217, 155, 53, .25);
            border-radius: 30px;
            background:
                radial-gradient(circle at 10% 10%, rgba(230, 118, 53, .12), transparent 22%),
                radial-gradient(circle at 90% 90%, rgba(102, 143, 101, .13), transparent 25%),
                rgba(255, 255, 255, .72);
            box-shadow: 0 20px 60px rgba(20, 33, 61, .10);
        }

        .fm-activity-heading {
            max-width: 740px;
            margin: 0 auto 35px;
            text-align: center;
        }

        .fm-activity-heading h2 {
            margin-bottom: 14px;
            color: var(--fm-navy);
            font-size: clamp(1.8rem, 3.5vw, 2.8rem);
            font-weight: 900;
        }

        .fm-activity-heading p {
            margin: 0;
            color: #68717d;
            line-height: 1.8;
        }

        .fm-activity-card {
            height: 100%;
            padding: 28px 22px;
            border: 1px solid rgba(20, 33, 61, .08);
            border-radius: 21px;
            text-align: center;
            background: rgba(255, 255, 255, .84);
            box-shadow: 0 12px 30px rgba(20, 33, 61, .07);
            transition: transform .4s ease, box-shadow .4s ease;
        }

        .fm-activity-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 22px 40px rgba(20, 33, 61, .13);
        }

        .fm-activity-card .fm-activity-icon {
            position: relative;
            display: grid;
            width: 70px;
            height: 70px;
            margin: 0 auto 20px;
            place-items: center;
            border-radius: 22px;
            color: white;
            font-size: 1.55rem;
            background: linear-gradient(135deg, var(--fm-orange), var(--fm-gold));
            box-shadow: 0 13px 27px rgba(230, 118, 53, .25);
        }

        .fm-activity-card:nth-child(even) .fm-activity-icon {
            background: linear-gradient(135deg, var(--fm-green), #93ae75);
        }

        .fm-activity-card h3 {
            margin-bottom: 11px;
            color: var(--fm-navy);
            font-size: 1.08rem;
            font-weight: 850;
        }

        .fm-activity-card p {
            margin: 0;
            color: #68717d;
            font-size: .9rem;
            line-height: 1.75;
        }

        /* Final blessing */

        .fm-final-blessing {
            position: relative;
            margin-top: 80px;
            padding: 48px 35px;
            overflow: hidden;
            border-radius: 30px;
            text-align: center;
            color: white;
            background:
                linear-gradient(135deg, rgba(20, 33, 61, .98), rgba(40, 65, 80, .96));
            box-shadow: 0 25px 65px rgba(20, 33, 61, .23);
        }

        .fm-final-blessing::before,
        .fm-final-blessing::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, .12);
        }

        .fm-final-blessing::before {
            width: 250px;
            height: 250px;
            left: -100px;
            top: -120px;
        }

        .fm-final-blessing::after {
            width: 190px;
            height: 190px;
            right: -65px;
            bottom: -85px;
        }

        .fm-final-icon {
            display: grid;
            width: 78px;
            height: 78px;
            margin: 0 auto 22px;
            place-items: center;
            border: 1px solid rgba(255, 255, 255, .35);
            border-radius: 50%;
            color: #ffe1a8;
            font-size: 1.8rem;
            background: rgba(255, 255, 255, .09);
            backdrop-filter: blur(8px);
        }

        .fm-final-blessing h2 {
            position: relative;
            margin-bottom: 16px;
            font-size: clamp(1.7rem, 3vw, 2.65rem);
            font-weight: 900;
        }

        .fm-final-blessing p {
            position: relative;
            max-width: 790px;
            margin: 0 auto;
            color: rgba(255, 255, 255, .82);
            font-size: 1rem;
            line-height: 1.95;
        }

        .fm-final-reference {
            display: inline-block;
            position: relative;
            margin-top: 20px;
            padding: 8px 18px;
            border-radius: 40px;
            color: #ffe1a8;
            font-size: .9rem;
            font-weight: 800;
            background: rgba(255, 255, 255, .08);
        }

        /* Responsive */

        @media (max-width: 991.98px) {
            .family-ministry-section {
                padding: 80px 0;
            }

            .fm-photo-card,
            .fm-photo-card img {
                min-height: 350px;
            }

            .fm-content-image img {
                height: 390px;
            }

            .fm-content-row {
                margin-bottom: 65px;
            }

            .fm-content-text {
                padding-top: 35px;
            }

            .fm-mobile-order-image {
                order: 1;
            }

            .fm-mobile-order-text {
                order: 2;
            }
        }

        @media (max-width: 767.98px) {
            .family-ministry-section {
                padding: 65px 0;
            }

            .fm-main-title {
                letter-spacing: -1px;
            }

            .fm-intro-box {
                padding: 27px 22px;
                border-radius: 20px;
            }

            .fm-intro-inner {
                flex-direction: column;
            }

            .fm-photo-card,
            .fm-photo-card img {
                min-height: 380px;
            }

            .fm-content-image img {
                height: 350px;
            }

            .fm-activities {
                padding: 38px 20px;
            }

            .fm-final-blessing {
                padding: 40px 22px;
            }
        }

        @media (max-width: 575.98px) {
            .family-ministry-section {
                padding: 55px 0;
            }

            .fm-heading-text,
            .fm-intro-content p,
            .fm-content-text > p {
                font-size: .94rem;
            }

            .fm-photo-card,
            .fm-photo-card img {
                min-height: 350px;
            }

            .fm-content-image img {
                height: 310px;
            }

            .fm-content-image {
                padding: 8px;
                border-radius: 23px;
            }

            .fm-content-image img {
                border-radius: 17px;
            }

            .fm-verse-card {
                padding: 23px 20px 22px 25px;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .family-ministry-section *,
            .family-ministry-section *::before,
            .family-ministry-section *::after {
                scroll-behavior: auto !important;
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: .01ms !important;
            }
        }