    :root {
        --wbgm-navy: #071a34;
        --wbgm-blue: #0b3970;
        --wbgm-sky: #2b7fc5;
        --wbgm-gold: #e5b64c;
        --wbgm-light-gold: #f7db8b;
        --wbgm-cream: #fffaf0;
        --wbgm-white: #ffffff;
        --wbgm-text: #263a50;
        --wbgm-muted: #637286;
    }

    .wbgm-page {
        position: relative;
        overflow: hidden;
        background-color: #f4f0e9;
        font-family: "Nunito", sans-serif;
        color: var(--wbgm-text);
    }

    .wbgm-page::before,
    .wbgm-page::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        pointer-events: none;
        filter: blur(2px);
        animation: wbgmFloatingShape 9s ease-in-out infinite;
    }

    .wbgm-page::before {
        width: 320px;
        height: 320px;
        top: 4%;
        left: -180px;
        border: 45px solid rgba(229, 182, 76, .08);
    }

    .wbgm-page::after {
        width: 420px;
        height: 420px;
        right: -240px;
        bottom: 8%;
        border: 60px solid rgba(43, 127, 197, .07);
        animation-delay: 2s;
    }

    @keyframes wbgmFloatingShape {
        0%, 100% {
            transform: translateY(0) rotate(0deg);
        }

        50% {
            transform: translateY(-28px) rotate(10deg);
        }
    }

    /* Intro Banner */

    .wbgm-intro {
        position: relative;
        z-index: 1;
        padding: 90px 0 80px;
        background:
            linear-gradient(120deg, rgba(7, 26, 52, .98), rgba(11, 57, 112, .93)),
            url("https://images.unsplash.com/photo-1504159506876-f8338247a14a?auto=format&fit=crop&w=1920&q=85")
            center/cover no-repeat;
        color: var(--wbgm-white);
    }

    .wbgm-intro::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image:
            linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
        background-size: 42px 42px;
    }

    .wbgm-intro::after {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        right: -180px;
        top: -250px;
        border-radius: 50%;
        border: 75px solid rgba(229, 182, 76, .09);
    }

    .wbgm-intro-content {
        position: relative;
        z-index: 2;
        max-width: 970px;
        margin: auto;
        text-align: center;
    }

    .wbgm-small-label {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 20px;
        padding: 9px 20px;
        border: 1px solid rgba(247, 219, 139, .55);
        border-radius: 50px;
        background: rgba(255, 255, 255, .08);
        color: var(--wbgm-light-gold);
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 1.8px;
        text-transform: uppercase;
        backdrop-filter: blur(10px);
    }

    .wbgm-intro h1 {
        margin-bottom: 22px;
        color: var(--wbgm-white);
        font-family: "Archivo Black", sans-serif;
        font-size: clamp(38px, 6vw, 72px);
        line-height: 1.08;
        letter-spacing: -1.5px;
        text-shadow: 0 8px 28px rgba(0, 0, 0, .35);
    }

    .wbgm-intro h1 span {
        color: var(--wbgm-light-gold);
    }

    .wbgm-intro-description {
        max-width: 880px;
        margin: auto;
        color: rgba(255, 255, 255, .86);
        font-size: 19px;
        line-height: 1.9;
    }

    .wbgm-intro-verse {
        position: relative;
        max-width: 820px;
        margin: 32px auto 0;
        padding: 24px 30px;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, .18);
        border-radius: 18px;
        background: rgba(255, 255, 255, .09);
        box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
        backdrop-filter: blur(12px);
    }

    .wbgm-intro-verse::before {
        content: "\f10d";
        position: absolute;
        top: -16px;
        left: 18px;
        color: rgba(247, 219, 139, .18);
        font-family: "Font Awesome 6 Free";
        font-size: 85px;
        font-weight: 900;
    }

    .wbgm-intro-verse p {
        position: relative;
        margin-bottom: 8px;
        color: #fff;
        font-size: 19px;
        font-weight: 700;
        font-style: italic;
        line-height: 1.75;
    }

    .wbgm-intro-verse span {
        color: var(--wbgm-light-gold);
        font-weight: 800;
    }

    /* Shared Content Sections */

    .wbgm-section {
        position: relative;
        z-index: 2;
        padding: 95px 0;
    }

    .wbgm-section:nth-of-type(even) {
        background: rgba(255, 255, 255, .58);
    }

    .wbgm-section-heading {
        max-width: 940px;
        margin: 0 auto 44px;
        text-align: center;
    }

    .wbgm-section-number {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 58px;
        height: 58px;
        margin-bottom: 18px;
        border: 1px solid rgba(229, 182, 76, .55);
        border-radius: 18px;
        background: linear-gradient(145deg, #fff5d3, #e9bc51);
        box-shadow:
            0 12px 28px rgba(177, 125, 18, .22),
            inset 0 1px 1px rgba(255, 255, 255, .9);
        color: var(--wbgm-navy);
        font-family: "Archivo Black", sans-serif;
        font-size: 23px;
        transform: rotate(-4deg);
    }

    .wbgm-section-heading h2 {
        margin-bottom: 18px;
        color: var(--wbgm-navy);
        font-family: "Archivo Black", sans-serif;
        font-size: clamp(30px, 4vw, 48px);
        line-height: 1.22;
    }

    .wbgm-section-heading h2 span {
        color: var(--wbgm-blue);
    }

    .wbgm-title-line {
        position: relative;
        width: 92px;
        height: 4px;
        margin: 0 auto 25px;
        border-radius: 10px;
        background: linear-gradient(90deg, var(--wbgm-blue), var(--wbgm-gold));
    }

    .wbgm-title-line::before,
    .wbgm-title-line::after {
        content: "";
        position: absolute;
        top: 50%;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--wbgm-gold);
        transform: translateY(-50%);
    }

    .wbgm-title-line::before {
        left: -14px;
    }

    .wbgm-title-line::after {
        right: -14px;
    }

    .wbgm-section-heading > p {
        margin-bottom: 0;
        color: var(--wbgm-muted);
        font-size: 18px;
        line-height: 1.95;
    }

    .wbgm-content-card {
        position: relative;
        height: 100%;
        padding: 38px;
        overflow: hidden;
        border: 1px solid rgba(31, 83, 137, .12);
        border-radius: 25px;
        background:
            linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(245, 250, 255, .94));
        box-shadow:
            0 22px 60px rgba(7, 26, 52, .10),
            inset 0 1px 1px rgba(255, 255, 255, .95);
        transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
    }

    .wbgm-content-card:hover {
        border-color: rgba(229, 182, 76, .48);
        box-shadow:
            0 30px 75px rgba(7, 26, 52, .15),
            0 0 35px rgba(229, 182, 76, .10);
        transform: translateY(-8px);
    }

    .wbgm-content-card::before {
        content: "";
        position: absolute;
        width: 160px;
        height: 160px;
        right: -75px;
        top: -80px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(43, 127, 197, .15), transparent 67%);
    }

    .wbgm-content-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 66px;
        height: 66px;
        margin-bottom: 24px;
        border-radius: 20px;
        background: linear-gradient(145deg, var(--wbgm-navy), var(--wbgm-blue));
        box-shadow: 0 14px 30px rgba(7, 26, 52, .25);
        color: var(--wbgm-light-gold);
        font-size: 27px;
    }

    .wbgm-content-card h3 {
        margin-bottom: 17px;
        color: var(--wbgm-navy);
        font-family: "Archivo Black", sans-serif;
        font-size: 24px;
        line-height: 1.35;
    }

    .wbgm-content-card p {
        margin-bottom: 17px;
        color: #526579;
        font-size: 17px;
        line-height: 1.9;
    }

    .wbgm-feature-list {
        margin: 22px 0 0;
        padding: 0;
        list-style: none;
    }

    .wbgm-feature-list li {
        position: relative;
        margin-bottom: 13px;
        padding-left: 34px;
        color: #43576c;
        font-size: 16.5px;
        font-weight: 700;
        line-height: 1.6;
    }

    .wbgm-feature-list li::before {
        content: "\f00c";
        position: absolute;
        top: 1px;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 23px;
        height: 23px;
        border-radius: 50%;
        background: rgba(229, 182, 76, .18);
        color: #b37800;
        font-family: "Font Awesome 6 Free";
        font-size: 11px;
        font-weight: 900;
    }

    /* Bible Verse Box */

    .wbgm-bible-box {
        position: relative;
        margin-top: 35px;
        padding: 30px 34px 30px 90px;
        overflow: hidden;
        border-left: 5px solid var(--wbgm-gold);
        border-radius: 18px;
        background:
            linear-gradient(115deg, var(--wbgm-navy), var(--wbgm-blue));
        box-shadow: 0 20px 50px rgba(7, 26, 52, .22);
    }

    .wbgm-bible-icon {
        position: absolute;
        top: 28px;
        left: 27px;
        color: var(--wbgm-light-gold);
        font-size: 38px;
    }

    .wbgm-bible-box p {
        margin-bottom: 8px;
        color: rgba(255, 255, 255, .94);
        font-size: 18px;
        font-weight: 700;
        font-style: italic;
        line-height: 1.85;
    }

    .wbgm-bible-box span {
        color: var(--wbgm-light-gold);
        font-size: 15px;
        font-weight: 800;
        letter-spacing: .5px;
        text-transform: uppercase;
    }

    /* Image Gallery */

    .wbgm-gallery {
        margin-top: 45px;
    }

    .wbgm-gallery-heading {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 22px;
    }

    .wbgm-gallery-heading i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 14px;
        background: linear-gradient(145deg, var(--wbgm-gold), #ffe19a);
        color: var(--wbgm-navy);
        font-size: 18px;
    }

    .wbgm-gallery-heading h4 {
        margin: 0;
        color: var(--wbgm-navy);
        font-family: "Archivo Black", sans-serif;
        font-size: 21px;
    }

    .wbgm-photo-box {
        position: relative;
        height: 260px;
        padding: 7px;
        overflow: hidden;
        border: 1px solid rgba(229, 182, 76, .55);
        border-radius: 21px;
        background: linear-gradient(145deg, #fff, #f5e3aa);
        box-shadow:
            0 18px 42px rgba(7, 26, 52, .14),
            inset 0 0 0 3px rgba(255, 255, 255, .75);
        transition: transform .4s ease, box-shadow .4s ease;
    }

    .wbgm-photo-box:hover {
        box-shadow:
            0 26px 55px rgba(7, 26, 52, .22),
            0 0 30px rgba(229, 182, 76, .16);
        transform: translateY(-8px);
    }

    .wbgm-photo-box a {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        overflow: hidden;
        border-radius: 15px;
    }

    .wbgm-photo-box img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .65s ease, filter .4s ease;
    }

    .wbgm-photo-box:hover img {
        filter: brightness(.88);
        transform: scale(1.07);
    }

    .wbgm-photo-box a::after {
        content: "\f00e";
        position: absolute;
        top: 50%;
        left: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 58px;
        height: 58px;
        border: 1px solid rgba(255, 255, 255, .65);
        border-radius: 50%;
        background: rgba(7, 26, 52, .78);
        box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
        color: var(--wbgm-light-gold);
        font-family: "Font Awesome 6 Free";
        font-size: 20px;
        font-weight: 900;
        opacity: 0;
        transform: translate(-50%, -40%) scale(.75);
        transition: .35s ease;
        backdrop-filter: blur(8px);
    }

    .wbgm-photo-box:hover a::after {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

    /* Closing Section */

    .wbgm-closing {
        position: relative;
        z-index: 2;
        padding: 85px 0;
        background:
            linear-gradient(120deg, rgba(7, 26, 52, .98), rgba(11, 57, 112, .94)),
            url("https://images.unsplash.com/photo-1504052434569-70ad5836ab65?auto=format&fit=crop&w=1920&q=85")
            center/cover no-repeat;
        color: #fff;
    }

    .wbgm-closing-box {
        position: relative;
        max-width: 1020px;
        margin: auto;
        padding: 52px;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, .17);
        border-radius: 30px;
        background: rgba(255, 255, 255, .08);
        box-shadow: 0 25px 65px rgba(0, 0, 0, .24);
        text-align: center;
        backdrop-filter: blur(12px);
    }

    .wbgm-closing-box::before {
        content: "";
        position: absolute;
        width: 220px;
        height: 220px;
        top: -120px;
        left: -90px;
        border: 34px solid rgba(229, 182, 76, .12);
        border-radius: 50%;
    }

    .wbgm-closing-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 76px;
        height: 76px;
        margin-bottom: 22px;
        border-radius: 24px;
        background: linear-gradient(145deg, var(--wbgm-gold), #ffe09a);
        box-shadow: 0 15px 35px rgba(0, 0, 0, .22);
        color: var(--wbgm-navy);
        font-size: 31px;
    }

    .wbgm-closing h2 {
        margin-bottom: 20px;
        font-family: "Archivo Black", sans-serif;
        font-size: clamp(30px, 4vw, 47px);
    }

    .wbgm-closing p {
        max-width: 850px;
        margin: 0 auto;
        color: rgba(255, 255, 255, .84);
        font-size: 18px;
        line-height: 1.95;
    }

    /* Lightbox */

    .glightbox-clean .gslide-description {
        display: none;
    }

    .glightbox-clean .gclose,
    .glightbox-clean .gnext,
    .glightbox-clean .gprev {
        background-color: rgba(7, 26, 52, .85);
        border-radius: 50%;
    }

    /* Responsive */

    @media (max-width: 991.98px) {
        .wbgm-intro {
            padding: 75px 0 68px;
        }

        .wbgm-section {
            padding: 75px 0;
        }

        .wbgm-content-card {
            padding: 30px;
        }

        .wbgm-photo-box {
            height: 230px;
        }
    }

    @media (max-width: 767.98px) {
        .wbgm-intro {
            padding: 65px 0 58px;
        }

        .wbgm-intro h1 {
            font-size: 38px;
        }

        .wbgm-intro-description,
        .wbgm-section-heading > p,
        .wbgm-closing p {
            font-size: 17px;
            line-height: 1.85;
        }

        .wbgm-intro-verse {
            padding: 22px;
        }

        .wbgm-intro-verse p {
            font-size: 17px;
        }

        .wbgm-section {
            padding: 65px 0;
        }

        .wbgm-section-heading {
            margin-bottom: 34px;
        }

        .wbgm-section-heading h2 {
            font-size: 31px;
        }

        .wbgm-content-card {
            padding: 27px 23px;
            border-radius: 21px;
        }

        .wbgm-content-card h3 {
            font-size: 22px;
        }

        .wbgm-content-card p {
            font-size: 16.5px;
        }

        .wbgm-bible-box {
            padding: 75px 24px 25px;
        }

        .wbgm-bible-icon {
            top: 22px;
            left: 25px;
        }

        .wbgm-bible-box p {
            font-size: 17px;
        }

        /*
         * Mobile images:
         * Each image is displayed one below another vertically.
         */
        .wbgm-photo-box {
            height: 245px;
        }

        .wbgm-closing {
            padding: 65px 0;
        }

        .wbgm-closing-box {
            padding: 38px 23px;
            border-radius: 24px;
        }
    }

    @media (max-width: 480px) {
        .wbgm-intro h1 {
            font-size: 33px;
        }

        .wbgm-small-label {
            padding: 8px 15px;
            font-size: 12px;
            letter-spacing: 1.2px;
        }

        .wbgm-photo-box {
            height: 220px;
        }
    }

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