        :root {
            --tgm-navy: #07152c;
            --tgm-navy-light: #10274a;
            --tgm-blue: #154e8f;
            --tgm-gold: #e9b949;
            --tgm-gold-light: #ffe29a;
            --tgm-cream: #fffaf0;
            --tgm-white: #ffffff;
            --tgm-text: #344054;
            --tgm-border: rgba(233, 185, 73, 0.42);
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            font-family: "Nunito", sans-serif;
            color: var(--tgm-text);
            overflow-x: hidden;
        }

        .tgm-page {
            overflow: hidden;
            background: #ffffff;
        }

        .tgm-section {
            position: relative;
            padding: 105px 0;
            isolation: isolate;
        }

        .tgm-section-light {
            background:
                radial-gradient(circle at 10% 15%, rgba(233,185,73,.14), transparent 24%),
                radial-gradient(circle at 90% 85%, rgba(21,78,143,.10), transparent 25%),
                linear-gradient(135deg, #ffffff 0%, #fffaf0 50%, #f6faff 100%);
        }

        .tgm-section-dark {
            color: #ffffff;
            background:
                radial-gradient(circle at 15% 15%, rgba(233,185,73,.18), transparent 23%),
                radial-gradient(circle at 90% 80%, rgba(42,106,177,.27), transparent 26%),
                linear-gradient(135deg, #061225 0%, #0b2142 52%, #07172e 100%);
        }

        .tgm-container {
            position: relative;
            z-index: 3;
        }

        .tgm-pattern {
            position: absolute;
            inset: 0;
            z-index: -2;
            pointer-events: none;
            opacity: .55;
            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: 45px 45px;
        }

        .tgm-section-light .tgm-pattern {
            background-image:
                linear-gradient(rgba(21,78,143,.035) 1px, transparent 1px),
                linear-gradient(90deg, rgba(21,78,143,.035) 1px, transparent 1px);
        }

        .tgm-glow {
            position: absolute;
            width: 280px;
            height: 280px;
            border-radius: 50%;
            filter: blur(18px);
            opacity: .18;
            z-index: -1;
            animation: tgmFloat 7s ease-in-out infinite;
        }

        .tgm-glow-one {
            top: 50px;
            left: -100px;
            background: var(--tgm-gold);
        }

        .tgm-glow-two {
            right: -110px;
            bottom: 40px;
            background: #3388dd;
            animation-delay: -3s;
        }

        @keyframes tgmFloat {
            0%, 100% {
                transform: translateY(0) scale(1);
            }
            50% {
                transform: translateY(-25px) scale(1.06);
            }
        }

        .tgm-small-title {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            margin-bottom: 18px;
            color: #a26d00;
            font-size: 15px;
            font-weight: 800;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .tgm-section-dark .tgm-small-title {
            color: var(--tgm-gold-light);
        }

        .tgm-small-title::before,
        .tgm-small-title::after {
            content: "";
            width: 28px;
            height: 2px;
            background: var(--tgm-gold);
        }

        .tgm-title {
            margin-bottom: 24px;
            color: #0a2850;
            font-family: "Archivo Black", sans-serif;
            font-size: clamp(34px, 4.2vw, 58px);
            line-height: 1.17;
            letter-spacing: -1.2px;
        }

        .tgm-section-dark .tgm-title {
            color: #ffffff;
        }

        .tgm-title span {
            color: var(--tgm-gold);
        }

        .tgm-lead {
            max-width: 1050px;
            margin-bottom: 22px;
            font-size: 19px;
            line-height: 1.9;
            font-weight: 500;
        }

        .tgm-section-dark .tgm-lead {
            color: rgba(255,255,255,.84);
        }

        .tgm-content-box {
            position: relative;
            margin-top: 35px;
            padding: 35px;
            border: 1px solid rgba(21,78,143,.13);
            border-radius: 24px;
            background: rgba(255,255,255,.76);
            box-shadow:
                0 20px 55px rgba(15,40,75,.12),
                inset 0 1px 0 rgba(255,255,255,.95);
            backdrop-filter: blur(12px);
        }

        .tgm-section-dark .tgm-content-box {
            border-color: rgba(233,185,73,.22);
            background: linear-gradient(
                135deg,
                rgba(255,255,255,.085),
                rgba(255,255,255,.025)
            );
            box-shadow:
                0 25px 65px rgba(0,0,0,.30),
                inset 0 1px 0 rgba(255,255,255,.12);
        }

        .tgm-content-box::before {
            content: "";
            position: absolute;
            top: 18px;
            bottom: 18px;
            left: 0;
            width: 4px;
            border-radius: 10px;
            background: linear-gradient(
                to bottom,
                transparent,
                var(--tgm-gold),
                transparent
            );
        }

        .tgm-content-box p {
            margin-bottom: 18px;
            font-size: 18px;
            line-height: 1.9;
        }

        .tgm-section-dark .tgm-content-box p {
            color: rgba(255,255,255,.84);
        }

        .tgm-feature-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px;
            margin-top: 28px;
        }

        .tgm-feature-item {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            padding: 18px;
            border: 1px solid rgba(21,78,143,.10);
            border-radius: 16px;
            background: rgba(255,255,255,.66);
            transition: .35s ease;
        }

        .tgm-section-dark .tgm-feature-item {
            border-color: rgba(255,255,255,.10);
            background: rgba(255,255,255,.055);
        }

        .tgm-feature-item:hover {
            transform: translateY(-5px);
            border-color: rgba(233,185,73,.50);
            box-shadow: 0 15px 30px rgba(5,25,55,.12);
        }

        .tgm-feature-icon {
            display: grid;
            flex: 0 0 48px;
            width: 48px;
            height: 48px;
            place-items: center;
            border-radius: 14px;
            color: #ffffff;
            font-size: 19px;
            background: linear-gradient(135deg, #d89a19, #f4cb62);
            box-shadow: 0 10px 22px rgba(216,154,25,.28);
        }

        .tgm-feature-item h4 {
            margin: 2px 0 5px;
            color: #15345c;
            font-size: 18px;
            font-weight: 800;
        }

        .tgm-section-dark .tgm-feature-item h4 {
            color: #ffffff;
        }

        .tgm-feature-item p {
            margin: 0;
            font-size: 15.5px;
            line-height: 1.65;
        }

        .tgm-verse {
            position: relative;
            margin-top: 32px;
            padding: 28px 30px 28px 78px;
            border: 1px solid rgba(233,185,73,.43);
            border-radius: 20px;
            background:
                linear-gradient(135deg, rgba(233,185,73,.15), rgba(255,255,255,.56));
            box-shadow: 0 14px 35px rgba(28,48,76,.10);
            overflow: hidden;
        }

        .tgm-section-dark .tgm-verse {
            background:
                linear-gradient(135deg, rgba(233,185,73,.17), rgba(255,255,255,.035));
        }

        .tgm-verse-icon {
            position: absolute;
            top: 25px;
            left: 27px;
            color: var(--tgm-gold);
            font-size: 34px;
        }

        .tgm-verse p {
            margin-bottom: 8px;
            color: #17385f;
            font-family: Georgia, serif;
            font-size: 20px;
            font-style: italic;
            line-height: 1.75;
        }

        .tgm-section-dark .tgm-verse p {
            color: #ffffff;
        }

        .tgm-verse strong {
            color: #9a6800;
            font-size: 15px;
            letter-spacing: .5px;
        }

        .tgm-section-dark .tgm-verse strong {
            color: var(--tgm-gold-light);
        }

        .tgm-gallery {
            margin-top: 52px;
        }

        .tgm-gallery-heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            margin-bottom: 24px;
        }

        .tgm-gallery-heading h3 {
            margin: 0;
            color: #12345d;
            font-family: "Archivo Black", sans-serif;
            font-size: 25px;
        }

        .tgm-section-dark .tgm-gallery-heading h3 {
            color: #ffffff;
        }

        .tgm-gallery-heading span {
            color: #768399;
            font-size: 15px;
            font-weight: 700;
        }

        .tgm-section-dark .tgm-gallery-heading span {
            color: rgba(255,255,255,.64);
        }

        .tgm-image-card {
            position: relative;
            height: 255px;
            padding: 7px;
            border: 1px solid rgba(233,185,73,.32);
            border-radius: 20px;
            background: rgba(255,255,255,.78);
            box-shadow: 0 18px 40px rgba(6,31,65,.15);
            overflow: hidden;
            transition: transform .4s ease, box-shadow .4s ease;
        }

        .tgm-section-dark .tgm-image-card {
            background: rgba(255,255,255,.07);
            box-shadow: 0 18px 45px rgba(0,0,0,.34);
        }

        .tgm-image-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 25px 55px rgba(9,38,73,.23);
        }

        .tgm-image-card a {
            display: block;
            width: 100%;
            height: 100%;
            border-radius: 14px;
            overflow: hidden;
        }

        .tgm-image-card img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            transition: transform .65s ease, filter .4s ease;
        }

        .tgm-image-card:hover img {
            transform: scale(1.07);
            filter: saturate(1.08);
        }

        .tgm-image-card::after {
            content: "\f00e";
            position: absolute;
            right: 17px;
            bottom: 17px;
            display: grid;
            width: 42px;
            height: 42px;
            place-items: center;
            border-radius: 50%;
            color: #ffffff;
            font-family: "Font Awesome 6 Free";
            font-size: 15px;
            font-weight: 900;
            background: rgba(7,21,44,.82);
            box-shadow: 0 8px 20px rgba(0,0,0,.25);
            pointer-events: none;
            opacity: 0;
            transform: scale(.7);
            transition: .35s ease;
        }

        .tgm-image-card:hover::after {
            opacity: 1;
            transform: scale(1);
        }

        .tgm-callout {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 28px;
            margin-top: 40px;
            padding: 31px 34px;
            border: 1px solid rgba(233,185,73,.28);
            border-radius: 22px;
            background: linear-gradient(
                135deg,
                rgba(21,78,143,.08),
                rgba(233,185,73,.14)
            );
        }

        .tgm-section-dark .tgm-callout {
            background: linear-gradient(
                135deg,
                rgba(255,255,255,.06),
                rgba(233,185,73,.13)
            );
        }

        .tgm-callout h4 {
            margin-bottom: 8px;
            color: #10335c;
            font-size: 24px;
            font-weight: 800;
        }

        .tgm-section-dark .tgm-callout h4 {
            color: #ffffff;
        }

        .tgm-callout p {
            margin: 0;
            font-size: 17px;
            line-height: 1.7;
        }

        .tgm-section-dark .tgm-callout p {
            color: rgba(255,255,255,.76);
        }

        .tgm-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            flex: 0 0 auto;
            padding: 14px 24px;
            border: 1px solid #e8b53e;
            border-radius: 12px;
            color: #142238;
            font-size: 16px;
            font-weight: 800;
            text-decoration: none;
            background: linear-gradient(135deg, #f6cc66, #d99a19);
            box-shadow: 0 12px 28px rgba(217,154,25,.27);
            transition: .35s ease;
        }

        .tgm-btn:hover {
            color: #ffffff;
            transform: translateY(-3px);
            box-shadow: 0 18px 35px rgba(217,154,25,.38);
        }

        .tgm-divider {
            width: 85px;
            height: 4px;
            margin: 0 0 25px;
            border-radius: 10px;
            background: linear-gradient(90deg, var(--tgm-gold), transparent);
        }

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

            .tgm-image-card {
                height: 225px;
            }

            .tgm-callout {
                align-items: flex-start;
                flex-direction: column;
            }
        }

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

            .tgm-title {
                font-size: 34px;
                letter-spacing: -.5px;
            }

            .tgm-lead,
            .tgm-content-box p {
                font-size: 17px;
                line-height: 1.8;
            }

            .tgm-content-box {
                padding: 26px 21px;
                border-radius: 19px;
            }

            .tgm-feature-list {
                grid-template-columns: 1fr;
            }

            .tgm-verse {
                padding: 72px 22px 25px;
            }

            .tgm-verse-icon {
                top: 22px;
                left: 23px;
            }

            .tgm-verse p {
                font-size: 18px;
            }

            .tgm-gallery-heading {
                align-items: flex-start;
                flex-direction: column;
                gap: 5px;
            }

            /*
             * Mobile images:
             * One image per row in vertical order.
             */
            .tgm-gallery .col-md-4 {
                width: 100%;
            }

            .tgm-image-card {
                height: 230px;
                margin-bottom: 8px;
            }

            .tgm-callout {
                padding: 26px 22px;
            }
        }

        @media (max-width: 480px) {
            .tgm-image-card {
                height: 215px;
            }

            .tgm-small-title {
                font-size: 12px;
                letter-spacing: 1.4px;
            }

            .tgm-feature-item {
                padding: 15px;
            }
        }

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