        /* =====================================================
           WORSHIP MINISTRY SECTION
        ===================================================== */

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

        .wm-section {
            --wm-navy: #11182d;
            --wm-dark: #18111d;
            --wm-maroon: #5c1728;
            --wm-gold: #dcae4b;
            --wm-light-gold: #f8df9b;
            --wm-cream: #fffaf0;
            --wm-white: #ffffff;
            --wm-text: #48434b;

            position: relative;
            overflow: hidden;
            padding: 95px 0;
            font-family: "Noto Sans Tamil", sans-serif;
            background:
                radial-gradient(circle at 8% 12%, rgba(220, 174, 75, 0.18), transparent 27%),
                radial-gradient(circle at 93% 80%, rgba(92, 23, 40, 0.13), transparent 29%),
                linear-gradient(135deg, #fffdf8 0%, #fff8eb 48%, #f9f3e9 100%);
            color: var(--wm-text);
            isolation: isolate;
        }

        .wm-section::before,
        .wm-section::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            filter: blur(8px);
            pointer-events: none;
            z-index: -1;
        }

        .wm-section::before {
            width: 330px;
            height: 330px;
            top: -130px;
            left: -110px;
            background: rgba(220, 174, 75, 0.14);
            animation: wmFloatOne 8s ease-in-out infinite alternate;
        }

        .wm-section::after {
            width: 430px;
            height: 430px;
            right: -180px;
            bottom: -190px;
            background: rgba(92, 23, 40, 0.11);
            animation: wmFloatTwo 10s ease-in-out infinite alternate;
        }

        .wm-container {
            position: relative;
            z-index: 2;
        }

        /* Decorative circles */

        .wm-decoration {
            position: absolute;
            border: 1px solid rgba(220, 174, 75, 0.28);
            border-radius: 50%;
            pointer-events: none;
            z-index: -1;
        }

        .wm-decoration-one {
            width: 130px;
            height: 130px;
            top: 110px;
            right: 8%;
            animation: wmRotate 16s linear infinite;
        }

        .wm-decoration-two {
            width: 76px;
            height: 76px;
            left: 5%;
            bottom: 20%;
            border-style: dashed;
            animation: wmRotateReverse 12s linear infinite;
        }

        /* Section heading */

        .wm-heading-wrap {
            max-width: 980px;
            margin: 0 auto 42px;
            text-align: center;
        }

        .wm-mini-title {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 15px;
            padding: 9px 19px;
            border: 1px solid rgba(220, 174, 75, 0.48);
            border-radius: 50px;
            background: rgba(255, 255, 255, 0.78);
            box-shadow: 0 8px 30px rgba(60, 39, 24, 0.08);
            color: var(--wm-maroon);
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 1.5px;
            text-transform: uppercase;
        }

        .wm-mini-title i {
            color: var(--wm-gold);
            animation: wmPulse 2s ease-in-out infinite;
        }

        .wm-main-title {
            position: relative;
            display: inline-block;
            margin: 0;
            color: var(--wm-navy);
            font-family: "Archivo Black", "Noto Sans Tamil", sans-serif;
            font-size: clamp(34px, 5vw, 62px);
            line-height: 1.18;
            letter-spacing: -1px;
        }

        .wm-main-title span {
            color: var(--wm-maroon);
        }

        .wm-main-title::after {
            content: "";
            display: block;
            width: 95px;
            height: 4px;
            margin: 18px auto 0;
            border-radius: 20px;
            background: linear-gradient(90deg, transparent, var(--wm-gold), transparent);
        }

        /* Intro bordered box */

        .wm-intro-box {
            position: relative;
            margin: 0 auto 55px;
            padding: 34px 38px;
            overflow: hidden;
            border: 1px solid rgba(220, 174, 75, 0.48);
            border-radius: 25px;
            background:
                linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 249, 236, 0.88)),
                repeating-linear-gradient(
                    45deg,
                    transparent 0,
                    transparent 14px,
                    rgba(220, 174, 75, 0.04) 14px,
                    rgba(220, 174, 75, 0.04) 28px
                );
            box-shadow:
                0 22px 65px rgba(44, 27, 23, 0.11),
                inset 0 1px 0 rgba(255, 255, 255, 0.95);
        }

        .wm-intro-box::before {
            content: "";
            position: absolute;
            width: 150px;
            height: 150px;
            top: -85px;
            right: -65px;
            border-radius: 50%;
            border: 20px solid rgba(220, 174, 75, 0.08);
        }

        .wm-intro-box::after {
            content: "";
            position: absolute;
            width: 8px;
            height: 66%;
            left: 0;
            top: 17%;
            border-radius: 0 10px 10px 0;
            background: linear-gradient(var(--wm-gold), var(--wm-maroon));
            box-shadow: 0 0 18px rgba(220, 174, 75, 0.5);
        }

        .wm-intro-content {
            position: relative;
            z-index: 2;
            margin: 0;
            text-align: center;
            color: #50494e;
            font-size: 17px;
            font-weight: 500;
            line-height: 2;
        }

        .wm-intro-content strong {
            color: var(--wm-maroon);
            font-weight: 800;
        }

        /* Four photo cards */

        .wm-gallery {
            margin-bottom: 75px;
        }

        .wm-photo-card {
            position: relative;
            height: 385px;
            overflow: hidden;
            border: 6px solid rgba(255, 255, 255, 0.94);
            border-radius: 24px;
            background: #ddd;
            box-shadow:
                0 18px 45px rgba(24, 17, 29, 0.18),
                0 0 0 1px rgba(220, 174, 75, 0.45);
            transition:
                transform 0.45s ease,
                box-shadow 0.45s ease;
        }

        .wm-photo-card::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 2;
            background:
                linear-gradient(to top, rgba(12, 11, 20, 0.92), rgba(12, 11, 20, 0.08) 65%),
                linear-gradient(135deg, rgba(220, 174, 75, 0.18), transparent 45%);
        }

        .wm-photo-card::after {
            content: "";
            position: absolute;
            inset: 10px;
            z-index: 3;
            pointer-events: none;
            border: 1px solid rgba(248, 223, 155, 0.55);
            border-radius: 15px;
            transition: inset 0.45s ease;
        }

        .wm-photo-card:hover {
            transform: translateY(-12px);
            box-shadow:
                0 28px 60px rgba(24, 17, 29, 0.24),
                0 0 28px rgba(220, 174, 75, 0.22);
        }

        .wm-photo-card:hover::after {
            inset: 16px;
        }

        .wm-photo-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition:
                transform 0.8s ease,
                filter 0.5s ease;
        }

        .wm-photo-card:hover img {
            transform: scale(1.09);
            filter: brightness(1.07);
        }

        .wm-photo-info {
            position: absolute;
            left: 28px;
            right: 28px;
            bottom: 25px;
            z-index: 5;
            color: #fff;
        }

        .wm-photo-icon {
            display: grid;
            width: 48px;
            height: 48px;
            margin-bottom: 14px;
            place-items: center;
            border: 1px solid rgba(248, 223, 155, 0.64);
            border-radius: 14px;
            background: rgba(220, 174, 75, 0.2);
            backdrop-filter: blur(8px);
            color: var(--wm-light-gold);
            font-size: 20px;
        }

        .wm-photo-info h3 {
            margin: 0 0 7px;
            color: #fff;
            font-size: 20px;
            font-weight: 800;
        }

        .wm-photo-info p {
            margin: 0;
            color: rgba(255, 255, 255, 0.83);
            font-size: 13px;
            line-height: 1.65;
        }

        /* Main content area */

        .wm-content-card {
            height: 100%;
            padding: 42px;
            border: 1px solid rgba(220, 174, 75, 0.36);
            border-radius: 28px;
            background: rgba(255, 255, 255, 0.87);
            box-shadow: 0 20px 60px rgba(43, 28, 26, 0.1);
            backdrop-filter: blur(10px);
        }

        .wm-content-title {
            margin-bottom: 22px;
            color: var(--wm-navy);
            font-size: clamp(27px, 3vw, 38px);
            font-weight: 800;
            line-height: 1.45;
        }

        .wm-content-title span {
            color: var(--wm-maroon);
        }

        .wm-content-card p {
            margin-bottom: 19px;
            color: #514c52;
            font-size: 16px;
            line-height: 2;
        }

        .wm-inline-image {
            position: relative;
            min-height: 275px;
            height: 100%;
            overflow: hidden;
            border-radius: 23px;
            box-shadow: 0 18px 45px rgba(24, 17, 29, 0.18);
        }

        .wm-inline-image::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            background: linear-gradient(to top, rgba(24, 17, 29, 0.55), transparent 60%);
        }

        .wm-inline-image img {
            width: 100%;
            height: 100%;
            min-height: 275px;
            object-fit: cover;
            transition: transform 0.7s ease;
        }

        .wm-inline-image:hover img {
            transform: scale(1.07);
        }

        .wm-image-caption {
            position: absolute;
            left: 25px;
            bottom: 20px;
            z-index: 3;
            color: #fff;
            font-size: 15px;
            font-weight: 700;
        }

        /* Ministry feature items */

        .wm-feature-list {
            margin-top: 28px;
        }

        .wm-feature-item {
            display: flex;
            align-items: flex-start;
            gap: 16px;
            height: 100%;
            padding: 20px;
            border: 1px solid rgba(220, 174, 75, 0.26);
            border-radius: 18px;
            background: linear-gradient(145deg, #fff, #fff9ec);
            transition:
                transform 0.35s ease,
                box-shadow 0.35s ease,
                border-color 0.35s ease;
        }

        .wm-feature-item:hover {
            transform: translateY(-6px);
            border-color: rgba(220, 174, 75, 0.66);
            box-shadow: 0 14px 35px rgba(40, 28, 25, 0.1);
        }

        .wm-feature-icon {
            flex: 0 0 48px;
            display: grid;
            width: 48px;
            height: 48px;
            place-items: center;
            border-radius: 15px;
            background: linear-gradient(135deg, var(--wm-maroon), #8c2940);
            box-shadow: 0 8px 18px rgba(92, 23, 40, 0.25);
            color: #fff;
            font-size: 18px;
        }

        .wm-feature-item h4 {
            margin: 0 0 7px;
            color: var(--wm-navy);
            font-size: 16px;
            font-weight: 800;
        }

        .wm-feature-item p {
            margin: 0;
            color: #6c656a;
            font-size: 13px;
            line-height: 1.7;
        }

        /* Bible verse card */

        .wm-verse-card {
            position: relative;
            height: 100%;
            min-height: 100%;
            overflow: hidden;
            padding: 45px 38px;
            border: 1px solid rgba(248, 223, 155, 0.34);
            border-radius: 28px;
            background:
                radial-gradient(circle at top right, rgba(220, 174, 75, 0.24), transparent 35%),
                linear-gradient(145deg, #15182a, #28131d);
            box-shadow: 0 25px 65px rgba(24, 17, 29, 0.28);
            color: #fff;
        }

        .wm-verse-card::before {
            content: "♪";
            position: absolute;
            top: -36px;
            right: 15px;
            color: rgba(248, 223, 155, 0.07);
            font-family: serif;
            font-size: 210px;
            line-height: 1;
            transform: rotate(-8deg);
        }

        .wm-verse-label {
            position: relative;
            z-index: 2;
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 25px;
            padding: 9px 15px;
            border: 1px solid rgba(248, 223, 155, 0.34);
            border-radius: 50px;
            background: rgba(255, 255, 255, 0.08);
            color: var(--wm-light-gold);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 1px;
        }

        .wm-verse-icon {
            position: relative;
            z-index: 2;
            margin-bottom: 20px;
            color: var(--wm-gold);
            font-size: 38px;
        }

        .wm-verse-text {
            position: relative;
            z-index: 2;
            margin-bottom: 17px;
            color: #fff;
            font-size: 21px;
            font-weight: 600;
            line-height: 1.9;
        }

        .wm-verse-reference {
            position: relative;
            z-index: 2;
            color: var(--wm-light-gold);
            font-size: 15px;
            font-weight: 800;
        }

        .wm-verse-divider {
            position: relative;
            z-index: 2;
            width: 70px;
            height: 3px;
            margin: 28px 0;
            border-radius: 30px;
            background: linear-gradient(90deg, var(--wm-gold), transparent);
        }

        .wm-secondary-verse {
            position: relative;
            z-index: 2;
            margin: 0;
            color: rgba(255, 255, 255, 0.78);
            font-size: 15px;
            line-height: 1.9;
        }

        .wm-secondary-reference {
            display: block;
            margin-top: 10px;
            color: var(--wm-light-gold);
            font-weight: 700;
        }

        /* Call-to-action */

        .wm-cta {
            position: relative;
            margin-top: 65px;
            overflow: hidden;
            padding: 38px 42px;
            border: 1px solid rgba(220, 174, 75, 0.44);
            border-radius: 27px;
            background:
                linear-gradient(110deg, rgba(92, 23, 40, 0.96), rgba(24, 17, 29, 0.97)),
                url("images/worship-pattern.png");
            box-shadow: 0 22px 60px rgba(24, 17, 29, 0.23);
            color: #fff;
        }

        .wm-cta::before {
            content: "";
            position: absolute;
            width: 240px;
            height: 240px;
            top: -135px;
            right: -75px;
            border: 40px solid rgba(220, 174, 75, 0.1);
            border-radius: 50%;
        }

        .wm-cta-content {
            position: relative;
            z-index: 2;
        }

        .wm-cta-icon {
            display: grid;
            width: 63px;
            height: 63px;
            place-items: center;
            border: 1px solid rgba(248, 223, 155, 0.48);
            border-radius: 20px;
            background: rgba(220, 174, 75, 0.15);
            color: var(--wm-light-gold);
            font-size: 25px;
            box-shadow: 0 0 25px rgba(220, 174, 75, 0.16);
        }

        .wm-cta h3 {
            margin: 0 0 10px;
            color: #fff;
            font-size: clamp(23px, 3vw, 32px);
            font-weight: 800;
        }

        .wm-cta p {
            margin: 0;
            color: rgba(255, 255, 255, 0.78);
            font-size: 15px;
            line-height: 1.8;
        }

        .wm-cta-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-width: 185px;
            padding: 14px 23px;
            border: 1px solid var(--wm-light-gold);
            border-radius: 50px;
            background: linear-gradient(135deg, var(--wm-gold), #f0ce7a);
            box-shadow: 0 10px 28px rgba(220, 174, 75, 0.25);
            color: #25161b;
            font-size: 14px;
            font-weight: 800;
            text-decoration: none;
            transition:
                transform 0.35s ease,
                box-shadow 0.35s ease;
        }

        .wm-cta-button:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(220, 174, 75, 0.4);
            color: #25161b;
        }

        .wm-cta-button i {
            transition: transform 0.35s ease;
        }

        .wm-cta-button:hover i {
            transform: translateX(5px);
        }

        /* Animations */

        @keyframes wmFloatOne {
            from {
                transform: translate(0, 0);
            }
            to {
                transform: translate(45px, 35px);
            }
        }

        @keyframes wmFloatTwo {
            from {
                transform: translate(0, 0);
            }
            to {
                transform: translate(-35px, -30px);
            }
        }

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

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

        @keyframes wmPulse {
            0%,
            100% {
                transform: scale(1);
                opacity: 1;
            }
            50% {
                transform: scale(1.18);
                opacity: 0.72;
            }
        }

        /* Responsive */

        @media (max-width: 1199.98px) {
            .wm-photo-card {
                height: 350px;
            }

            .wm-content-card,
            .wm-verse-card {
                padding: 35px 30px;
            }
        }

        @media (max-width: 991.98px) {
            .wm-section {
                padding: 75px 0;
            }

            .wm-photo-card {
                height: 360px;
            }

            .wm-verse-card {
                min-height: auto;
            }

            .wm-cta {
                text-align: center;
            }

            .wm-cta-icon {
                margin: 0 auto;
            }
        }

        @media (max-width: 767.98px) {
            .wm-section {
                padding: 60px 0;
            }

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

            .wm-intro-content {
                font-size: 15px;
                line-height: 1.9;
            }

            .wm-gallery {
                margin-bottom: 50px;
            }

            .wm-photo-card {
                height: 390px;
            }

            .wm-content-card,
            .wm-verse-card {
                padding: 29px 23px;
                border-radius: 22px;
            }

            .wm-content-card p {
                font-size: 15px;
                line-height: 1.9;
            }

            .wm-cta {
                margin-top: 45px;
                padding: 32px 23px;
            }
        }

        @media (max-width: 575.98px) {
            .wm-main-title {
                font-size: 34px;
            }

            .wm-photo-card {
                height: 350px;
            }

            .wm-photo-info {
                left: 23px;
                right: 23px;
                bottom: 23px;
            }

            .wm-feature-item {
                padding: 17px;
            }

            .wm-verse-text {
                font-size: 18px;
            }
        }

        /* Respect reduced-motion preference */

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