:root {
            --tj-navy: #12355b;
            --tj-navy-dark: #0b2239;
            --tj-gold: #c58b28;
            --tj-gold-dark: #9b6817;
            --tj-teal: #317873;
            --tj-cream: #f8f5ee;
            --tj-light: #f5f7f9;
            --tj-text: #1f2933;
            --tj-muted: #5c6773;
            --tj-border: #dfe5ea;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 5rem;
        }

        body {
            color: var(--tj-text);
            background-color: #fff;
            font-family:
                Inter,
                system-ui,
                -apple-system,
                BlinkMacSystemFont,
                "Segoe UI",
                sans-serif;
            line-height: 1.65;
        }

        a {
            color: var(--tj-navy);
        }

        a:hover {
            color: var(--tj-gold-dark);
        }

        .skip-link {
            position: absolute;
            top: -5rem;
            left: 1rem;
            z-index: 1100;
            padding: 0.75rem 1rem;
            color: #fff;
            background: var(--tj-navy-dark);
            border-radius: 0.5rem;
        }

        .skip-link:focus {
            top: 1rem;
        }

        .navbar-brand {
            color: var(--tj-navy-dark);
            font-weight: 800;
            letter-spacing: -0.03em;
        }

        .navbar-brand span {
            color: var(--tj-gold-dark);
        }

        .navbar .nav-link {
            color: var(--tj-text);
            font-weight: 600;
        }

        .navbar .nav-link:hover,
        .navbar .nav-link:focus {
            color: var(--tj-gold-dark);
        }

        .section-space {
            padding-block: 5rem;
        }

        .section-header {
            max-width: 48rem;
            margin-inline: auto;
            margin-bottom: 3rem;
            text-align: center;
        }

        .section-eyebrow {
            display: inline-block;
            margin-bottom: 0.75rem;
            color: var(--tj-gold-dark);
            font-size: 0.8rem;
            font-weight: 800;
            letter-spacing: 0.11em;
            text-transform: uppercase;
        }

        .section-title {
            color: var(--tj-navy-dark);
            font-weight: 800;
            letter-spacing: -0.035em;
        }

        .section-description {
            color: var(--tj-muted);
            font-size: 1.075rem;
        }

        .text-muted-custom {
            color: var(--tj-muted);
        }

        .bg-light-custom {
            background-color: var(--tj-light);
        }

        .bg-cream {
            background-color: var(--tj-cream);
        }

        .btn {
            padding: 0.78rem 1.25rem;
            border-radius: 0.65rem;
            font-weight: 700;
        }

        .btn-primary {
            --bs-btn-bg: var(--tj-navy);
            --bs-btn-border-color: var(--tj-navy);
            --bs-btn-hover-bg: var(--tj-navy-dark);
            --bs-btn-hover-border-color: var(--tj-navy-dark);
            --bs-btn-active-bg: var(--tj-navy-dark);
            --bs-btn-active-border-color: var(--tj-navy-dark);
        }

        .btn-accent {
            color: #17120a;
            background-color: var(--tj-gold);
            border-color: var(--tj-gold);
        }

        .btn-accent:hover,
        .btn-accent:focus {
            color: #fff;
            background-color: var(--tj-gold-dark);
            border-color: var(--tj-gold-dark);
        }

        .btn-outline-light:hover,
        .btn-outline-light:focus {
            color: var(--tj-navy-dark);
        }

        .link-arrow {
            display: inline-flex;
            gap: 0.45rem;
            align-items: center;
            font-weight: 700;
            text-decoration: none;
        }

        .link-arrow i {
            transition: transform 0.2s ease;
        }

        .link-arrow:hover i {
            transform: translateX(0.2rem);
        }

        .hero-section {
            position: relative;
            overflow: hidden;
            padding-block: 5rem;
            background:
                radial-gradient(
                    circle at 85% 20%,
                    rgba(197, 139, 40, 0.17),
                    transparent 30%
                ),
                linear-gradient(135deg, #f9fbfd 0%, #f8f5ee 100%);
        }

        .hero-section::after {
            position: absolute;
            right: -8rem;
            bottom: -11rem;
            width: 25rem;
            height: 25rem;
            background: rgba(49, 120, 115, 0.08);
            border-radius: 50%;
            content: "";
        }

        .hero-content {
            position: relative;
            z-index: 1;
        }

        .hero-title {
            max-width: 60rem;
            color: var(--tj-navy-dark);
            font-size: clamp(2.35rem, 6vw, 4.75rem);
            font-weight: 850;
            letter-spacing: -0.055em;
            line-height: 1.05;
        }

        .hero-lead {
            max-width: 48rem;
            color: var(--tj-muted);
            font-size: clamp(1.05rem, 2vw, 1.28rem);
        }

        .hope-badge {
            display: inline-flex;
            gap: 0.65rem;
            align-items: center;
            padding: 0.6rem 0.9rem;
            color: var(--tj-navy-dark);
            background-color: rgba(255, 255, 255, 0.82);
            border: 1px solid rgba(18, 53, 91, 0.14);
            border-radius: 50rem;
            font-size: 0.92rem;
            font-weight: 750;
            box-shadow: 0 0.5rem 1.5rem rgba(18, 53, 91, 0.07);
        }

        .hope-badge i {
            color: var(--tj-gold-dark);
        }

        .trust-line {
            color: var(--tj-muted);
            font-size: 0.92rem;
        }

        .trust-line i {
            color: var(--tj-teal);
        }

        .audience-card,
        .pillar-card,
        .ecosystem-card,
        .topic-card,
        .stat-card {
            height: 100%;
            background-color: #fff;
            border: 1px solid var(--tj-border);
            border-radius: 1rem;
            box-shadow: 0 0.7rem 2rem rgba(18, 53, 91, 0.06);
            transition:
                transform 0.2s ease,
                box-shadow 0.2s ease,
                border-color 0.2s ease;
        }

        .audience-card:hover,
        .pillar-card:hover,
        .ecosystem-card:hover,
        .topic-card:hover {
            border-color: rgba(197, 139, 40, 0.55);
            box-shadow: 0 1rem 2.5rem rgba(18, 53, 91, 0.11);
            transform: translateY(-0.25rem);
        }

        .audience-card.priority {
            border-top: 0.3rem solid var(--tj-gold);
        }

        .audience-card.priority-primary {
            background:
                linear-gradient(
                    145deg,
                    rgba(197, 139, 40, 0.08),
                    transparent 45%
                ),
                #fff;
        }

        .card-icon {
            display: inline-grid;
            width: 3rem;
            height: 3rem;
            color: var(--tj-navy);
            background-color: rgba(18, 53, 91, 0.09);
            border-radius: 0.8rem;
            font-size: 1.25rem;
            place-items: center;
        }

        .priority .card-icon {
            color: var(--tj-gold-dark);
            background-color: rgba(197, 139, 40, 0.14);
        }

        .pillar-card .card-icon {
            color: var(--tj-teal);
            background-color: rgba(49, 120, 115, 0.12);
        }

        .card-title {
            color: var(--tj-navy-dark);
            font-weight: 800;
        }

        .featured-label {
            display: inline-block;
            margin-bottom: 0.75rem;
            padding: 0.3rem 0.65rem;
            color: var(--tj-navy-dark);
            background-color: rgba(197, 139, 40, 0.15);
            border-radius: 50rem;
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }

        .credibility-section {
            color: #fff;
            background-color: var(--tj-navy-dark);
        }

        .credibility-section .section-title,
        .credibility-section .section-description {
            color: #fff;
        }

        .credibility-section .section-description {
            opacity: 0.8;
        }

        .stat-card {
            color: #fff;
            background-color: rgba(255, 255, 255, 0.07);
            border-color: rgba(255, 255, 255, 0.14);
            box-shadow: none;
        }

        .stat-card i {
            color: #e0ad53;
            font-size: 1.5rem;
        }

        .stat-card h3 {
            margin-bottom: 0.25rem;
            color: #fff;
            font-size: 1rem;
            font-weight: 800;
        }

        .stat-card p {
            margin-bottom: 0;
            color: rgba(255, 255, 255, 0.7);
            font-size: 0.9rem;
        }

        .initiative-panel {
            overflow: hidden;
            background-color: var(--tj-navy);
            border-radius: 1.25rem;
            box-shadow: 0 1.25rem 3rem rgba(18, 53, 91, 0.16);
        }

        .initiative-content {
            padding: clamp(2rem, 6vw, 4rem);
            color: #fff;
        }

        .initiative-content h2 {
            color: #fff;
            font-weight: 800;
            letter-spacing: -0.035em;
        }

        .initiative-content p {
            color: rgba(255, 255, 255, 0.78);
            font-size: 1.1rem;
        }

        .initiative-visual {
            display: grid;
            min-height: 20rem;
            padding: 2rem;
            background:
                linear-gradient(
                    135deg,
                    rgba(197, 139, 40, 0.9),
                    rgba(155, 104, 23, 0.95)
                );
            place-items: center;
        }

        .initiative-icon {
            color: rgba(255, 255, 255, 0.92);
            font-size: clamp(6rem, 16vw, 11rem);
        }

        .ecosystem-card {
            position: relative;
            overflow: hidden;
        }

        .ecosystem-card::before {
            position: absolute;
            top: 0;
            left: 0;
            width: 0.3rem;
            height: 100%;
            background-color: var(--tj-teal);
            content: "";
        }

        .topic-card {
            text-decoration: none;
        }

        .topic-card:hover .topic-link {
            color: var(--tj-gold-dark);
        }

        .topic-link {
            color: var(--tj-navy);
            font-weight: 750;
        }

        .newsletter-section {
            color: #fff;
            background:
                linear-gradient(
                    125deg,
                    rgba(11, 34, 57, 0.98),
                    rgba(18, 53, 91, 0.96)
                );
        }

        .newsletter-section h2 {
            color: #fff;
        }

        .newsletter-section p {
            color: rgba(255, 255, 255, 0.78);
        }

        .newsletter-form {
            max-width: 46rem;
        }

        .newsletter-form .form-control {
            min-height: 3.25rem;
            border: 2px solid transparent;
            border-radius: 0.65rem;
        }

        .newsletter-form .form-control:focus {
            border-color: var(--tj-gold);
            box-shadow: 0 0 0 0.25rem rgba(197, 139, 40, 0.25);
        }

        .privacy-note {
            color: rgba(255, 255, 255, 0.66);
            font-size: 0.85rem;
        }

        .final-cta {
            background-color: var(--tj-cream);
        }

        .footer {
            color: rgba(255, 255, 255, 0.78);
            background-color: #071725;
        }

        .footer h2,
        .footer h3 {
            color: #fff;
        }

        .footer a {
            color: rgba(255, 255, 255, 0.75);
            text-decoration: none;
        }

        .footer a:hover,
        .footer a:focus {
            color: #fff;
            text-decoration: underline;
        }

        .footer .social-link {
            display: inline-grid;
            width: 2.6rem;
            height: 2.6rem;
            color: #fff;
            background-color: rgba(255, 255, 255, 0.09);
            border-radius: 50%;
            text-decoration: none;
            place-items: center;
        }

        .footer .social-link:hover,
        .footer .social-link:focus {
            color: var(--tj-navy-dark);
            background-color: var(--tj-gold);
            text-decoration: none;
        }

        .footer-divider {
            border-color: rgba(255, 255, 255, 0.13);
        }

        :focus-visible {
            outline: 3px solid var(--tj-gold);
            outline-offset: 3px;
        }

        @media (min-width: 992px) {
            .hero-section {
                min-height: 45rem;
                display: flex;
                align-items: center;
                padding-block: 7rem;
            }

            .section-space {
                padding-block: 6.5rem;
            }

            .audience-card.priority-primary {
                transform: scale(1.015);
            }

            .audience-card.priority-primary:hover {
                transform: scale(1.015) translateY(-0.25rem);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto;
            }

            *,
            *::before,
            *::after {
                scroll-behavior: auto !important;
                transition-duration: 0.01ms !important;
            }
        }