:root {
    /* Global Gold Theme */
    --gold-home: #97701c;
    --gold-home-hover: #b38522;
    --gold-home-rgb: 151, 112, 28;

    /* Global Website Background Theme */
    --theme-bg: #F3EEE7;
    --theme-bg-rgb: 243, 238, 231;

    /* Global Blue Theme (Founder Section Theme #222d52) */
    --theme-blue: #222d52;
    --theme-blue-hover: #1b2442;
    --theme-blue-rgb: 34, 45, 82;
    --theme-blue-dark: #18203b;
}

html {
    overflow-x: clip;
    background-color: var(--theme-bg);
}

body,
#prototype-body,
.page-content,
#main-content {
    overflow-x: clip;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #4B5563;
    line-height: 1.625;
    background-color: var(--theme-bg);
}

.color-background {
    background-color: var(--theme-bg) !important;
}

/* Seamless section flows without horizontal cut lines */
section {
    border-top: none !important;
    border-bottom: none !important;
}

.transition-all-500 {
    transition: all 500ms ease-in-out;
}

.section-fade-out {
    opacity: 0;
    transform: translateY(-20px);
    pointer-events: none;
}

.section-fade-in {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Optical hanging quote alignment: aligns text letters directly with headings & paragraphs */
.hang-quote {
    display: inline-block;
    margin-left: -0.42em;
}

.hang-punctuation,
blockquote {
    hanging-punctuation: first;
}

.short_heading {
    color: #ba9340 !important;
}

.parallax-bg {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media (max-width: 768px) {
    .parallax-bg {
        background-attachment: scroll;
    }
}

.marquee {
    white-space: nowrap;
    overflow: hidden;
    display: flex;
}

.marquee-content {
    display: flex;
    animation: marquee 40s linear infinite;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* State visibility */
.state-a-only,
.state-b-only {
    display: none;
}

.is-state-a .state-a-only {
    display: block;
}

.is-state-b .state-b-only {
    display: block;
}

/* Specific section visibility */
.state-a-hidden,
.state-b-hidden {
    display: block;
}

.is-state-a .state-a-hidden {
    display: none;
}

.is-state-b .state-b-hidden {
    display: none;
}

.is-state-a .theme-text {
    color: var(--theme-blue);
}

.is-state-b .theme-text {
    color: var(--theme-blue);
}

.is-state-a .theme-bg-accent {
    background-color: var(--gold-home);
}

.is-state-b .theme-bg-accent {
    background-color: var(--gold-home);
}

.is-state-a .theme-border {
    border-color: #DDE2EC;
}

.is-state-b .theme-border {
    border-color: #E4EDF2;
}

/* Theme-adaptive hero gradient overlay */
.theme-gradient-overlay,
.is-state-a .theme-gradient-overlay,
.is-state-b .theme-gradient-overlay {
    background: linear-gradient(to top, rgba(var(--theme-blue-rgb), 0.3), transparent);
}

/* Animation for sections swapping */
.page-content section {
    transition: opacity 400ms ease, transform 400ms ease;
}

/* Mobile Drawer & Navigation */
body.mobile-menu-open {
    overflow: hidden !important;
    touch-action: none !important;
}

#mobile-menu-toggle .mobile-close-icon {
    display: none;
}

#mobile-menu-toggle.open .mobile-bars-icon {
    display: none !important;
}

#mobile-menu-toggle.open .mobile-close-icon {
    display: inline-block !important;
}

#mobile-menu-drawer {
    box-shadow: -10px 0 35px -5px rgba(9, 30, 64, 0.25);
    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform;
    overflow: hidden !important;
    touch-action: manipulation;
}

#mobile-menu-drawer.is-open,
#mobile-menu-drawer.translate-x-0,
body.mobile-menu-open #mobile-menu-drawer {
    transform: translateX(0%) !important;
}

#mobile-menu-backdrop {
    transition: opacity 300ms ease, visibility 300ms ease !important;
}

#mobile-menu-backdrop.is-active,
#mobile-menu-backdrop.opacity-100,
body.mobile-menu-open #mobile-menu-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
}

#mobile-menu-drawer a,
#mobile-menu-drawer button {
    text-decoration: none;
}

#mobile-menu-drawer a:not(.text-\[\#B8932A\]):not(.dropdown-link) {
    color: var(--theme-blue);
}

#mobile-drawer-nav {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

@media (min-height: 520px) {
    #mobile-drawer-nav {
        overflow-y: hidden !important;
    }
}

#mobile-drawer-nav.allow-scroll {
    overflow-y: auto !important;
}

/* Header & Nav Synchronization */
#header {
    transition: background-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
    z-index: 100 !important;
}

#header a,
#header .group,
#header span,
#header i,
#header button#mobile-menu-toggle {
    transition: color 150ms ease;
}

#header.header-scrolled,
#header.menu-open {
    background-color: #ffffff !important;
    background-image: none !important;
    color: #111827 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
}

/* Header Logo Toggling */
#header:not(.header-scrolled):not(.menu-open) .header-logo-white {
    display: block !important;
}
#header:not(.header-scrolled):not(.menu-open) .header-logo-dark {
    display: none !important;
}
#header.header-scrolled .header-logo-white,
#header.menu-open .header-logo-white {
    display: none !important;
}
#header.header-scrolled .header-logo-dark,
#header.menu-open .header-logo-dark {
    display: block !important;
}

#header.header-scrolled a,
#header.header-scrolled .group,
#header.header-scrolled span,
#header.header-scrolled i,
#header.header-scrolled button#mobile-menu-toggle,
#header.menu-open a,
#header.menu-open .group,
#header.menu-open span,
#header.menu-open i,
#header.menu-open button#mobile-menu-toggle {
    color: #111827 !important;
}

#header:not(.header-scrolled):not(.menu-open) a:not(.dropdown-link),
#header:not(.header-scrolled):not(.menu-open) .group>a,
#header:not(.header-scrolled):not(.menu-open) span,
#header:not(.header-scrolled):not(.menu-open) i:not(.dropdown-link i),
#header:not(.header-scrolled):not(.menu-open) button#mobile-menu-toggle {
    color: #ffffff !important;
}

/* Dropdown Menu Links */
#header .dropdown-link {
    color: #111827 !important;
}

#header .dropdown-link:hover {
    color: var(--theme-blue) !important;
}

#header button.theme-bg-accent,
#header.header-scrolled button.theme-bg-accent,
#header.menu-open button.theme-bg-accent {
    color: #ffffff !important;
}

#header.header-scrolled #mobile-menu .border-t,
#header.menu-open #mobile-menu .border-t {
    border-color: rgba(0, 0, 0, 0.1) !important;
}

/* Comparison Tool Styling */
.comparison-winner-cell {
    background-color: rgba(184, 147, 42, 0.08) !important;
    color: #B8932A !important;
    font-weight: 600 !important;
}

.comparison-winner-cell .winner-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #B8932A;
    color: #ffffff;
    font-size: 9px;
    border-radius: 9999px;
    width: 14px;
    height: 14px;
    margin-left: 6px;
}

/* Comparison custom select styling */
#compare select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23222d52' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.75rem center;
    background-repeat: no-repeat;
    background-size: 1.25em 1.25em;
    padding-right: 2.5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Modal Smooth Transition Styles */
#strategy-modal {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 280ms cubic-bezier(0.16, 1, 0.3, 1), visibility 280ms cubic-bezier(0.16, 1, 0.3, 1);
}

#strategy-modal.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#strategy-modal #strategy-modal-card {
    opacity: 0;
    transform: scale(0.96) translateY(16px);
    transition: opacity 280ms cubic-bezier(0.16, 1, 0.3, 1), transform 280ms cubic-bezier(0.16, 1, 0.3, 1);
}

#strategy-modal.active #strategy-modal-card {
    opacity: 1;
    transform: scale(1) translateY(0);
}

body.modal-open {
    overflow: hidden;
}

/* ==========================================================================
   Global Uniform Title & Heading Typography System (Home Page Flow)
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6,
.font-playfair {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    font-weight: 500;
}

/* Default Heading Text Color (Inherits in white/dark hero wrappers) */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #0D2B5E;
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
[class*="bg-[#091E40]"] h1,
[class*="bg-[#091E40]"] h2,
[class*="bg-[#0D2B5E]"] h1,
[class*="bg-[#0D2B5E]"] h2,
[class*="bg-heritage-navy"] h1,
[class*="bg-heritage-navy"] h2,
[class*="bg-maritime-teal"] h1,
[class*="bg-maritime-teal"] h2 {
    color: inherit;
}

.font-playfair {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
}

.font-inter {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Standardized Responsive Heading Hierarchy Scale */
h1,
.site-h1,
.page-hero-title {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif;
    font-size: clamp(1.875rem, 4vw, 3rem);
    /* 30px -> 48px */
    line-height: 1.2;
    font-weight: 500;
}

h2,
.site-h2,
.section-heading {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif;
    font-size: clamp(1.625rem, 3.2vw, 2.5rem);
    /* 26px -> 40px */
    line-height: 1.25;
    font-weight: 500;
}

.country-title,
.program-heading {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif;
    font-weight: 500;
    color: #0D2B5E;
}

h3,
.site-h3,
.card-heading {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif;
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    /* 20px -> 24px */
    line-height: 1.3;
    font-weight: 500;
}

h4,
.site-h4 {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    font-size: clamp(1.125rem, 1.6vw, 1.25rem);
    /* 18px -> 20px */
    line-height: 1.35;
    font-weight: 500;
}

h5,
.site-h5 {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    font-size: clamp(1rem, 1.3vw, 1.125rem);
    /* 16px -> 18px */
    line-height: 1.4;
    font-weight: 500;
}

h6,
.site-h6 {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    font-size: clamp(0.875rem, 1.1vw, 1rem);
    /* 14px -> 16px */
    line-height: 1.4;
    font-weight: 500;
}

/* Reusable Global Eyebrows & Subtitles */
.eyebrow-text,
.section-eyebrow {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 0.75rem;
    /* 12px */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #B8932A;
}

/* Reusable Global Body Copy & Paragraph Typography */
p,
.body-paragraph,
.program-desc {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.body-paragraph,
.program-desc {
    font-size: 0.9375rem;
    /* 15px mobile/compact */
    line-height: 1.625;
    color: #4B5563;
    /* text-gray-600 */
}

@media (min-width: 640px) {

    .body-paragraph,
    .program-desc {
        font-size: 1rem;
        /* 16px desktop, identical to home page standard */
    }
}

.program-benefits-list li,
.program-card ul li {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 0.875rem;
    /* 14px */
    line-height: 1.55;
    color: #4B5563;
    /* text-gray-600 */
}

@media (min-width: 640px) {

    .program-benefits-list li,
    .program-card ul li {
        font-size: 0.9375rem;
        /* 15px */
    }
}

/* Standardized Country Flag Size for Program Cards */
.country-flag {
    width: 2rem !important;
    /* 32px (w-8) */
    height: auto !important;
    border-radius: 0.125rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

@media (max-width: 640px) {
    .country-flag {
        width: 1.625rem !important;
        /* 26px on mobile */
    }
}

/* Process Section Sticky Card Stacking & Animation Fix for Live Server */
#process-section {
    overflow: visible !important;
}

.process-step-card {
    position: -webkit-sticky !important;
    position: sticky !important;
    will-change: transform, top;
}

#process-card-1 {
    top: 6rem !important;
    z-index: 10 !important;
}

#process-card-2 {
    top: 7.5rem !important;
    z-index: 20 !important;
}

#process-card-3 {
    top: 9rem !important;
    z-index: 30 !important;
}

#process-card-4 {
    top: 10.5rem !important;
    z-index: 40 !important;
}

#process-card-5 {
    top: 12rem !important;
    z-index: 50 !important;
}

@media (min-width: 1024px) {
    #process-card-1 {
        top: 7rem !important;
    }

    #process-card-2 {
        top: 9rem !important;
    }

    #process-card-3 {
        top: 11rem !important;
    }

    #process-card-4 {
        top: 13rem !important;
    }

    #process-card-5 {
        top: 15rem !important;
    }
}

/* Global Font Utilities to guarantee font consistency across all pages and browsers */
.font-playfair {
    /* font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important; */
    /* font-family: 'Manrope', sans-serif !important; */
    font-family: 'lato', sans-serif !important;
    /* font-family: 'dm sans', sans-serif !important; */
    /* font-family: 'neue montreal', sans-serif !important; */
}

.font-inter {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* ==========================================================================
   Blog Rich Text Content Typography (Matches Website Brand Identity)
   ========================================================================== */
.blog-rich-text,
.blog-modal-content {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #374151;
}

.blog-rich-text h1,
.blog-modal-content h1 {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    font-size: 2.125rem;
    /* 34px default - allows inline span custom size */
    line-height: 1.25 !important;
    font-weight: 500 !important;
    /* Matches website font-medium */
    color: #0D2B5E !important;
    margin-top: 2rem !important;
    margin-bottom: 0.875rem !important;
}

.blog-rich-text h2,
.blog-modal-content h2 {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    font-size: 1.625rem;
    /* 26px default */
    line-height: 1.3 !important;
    font-weight: 500 !important;
    /* Matches website font-medium */
    color: #0D2B5E !important;
    margin-top: 1.75rem !important;
    margin-bottom: 0.75rem !important;
}

.blog-rich-text h3,
.blog-modal-content h3 {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    font-size: 1.375rem;
    /* 22px default */
    line-height: 1.35 !important;
    font-weight: 500 !important;
    /* Matches website font-medium */
    color: #0D2B5E !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.625rem !important;
}

.blog-rich-text h4,
.blog-modal-content h4 {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    font-size: 1.125rem;
    /* 18px default */
    line-height: 1.4 !important;
    font-weight: 500 !important;
    /* Matches website font-medium */
    color: #0D2B5E !important;
    margin-top: 1.25rem !important;
    margin-bottom: 0.5rem !important;
}

.blog-rich-text h5,
.blog-rich-text h6,
.blog-modal-content h5,
.blog-modal-content h6 {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9375rem;
    /* 15px */
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: #1F2937 !important;
    margin-top: 1.25rem !important;
    margin-bottom: 0.5rem !important;
}

/* Ensure any spans or child elements inside headings inherit the website font-family and navy color */
.blog-rich-text h1 *,
.blog-rich-text h2 *,
.blog-rich-text h3 *,
.blog-rich-text h4 *,
.blog-modal-content h1 *,
.blog-modal-content h2 *,
.blog-modal-content h3 *,
.blog-modal-content h4 * {
    font-family: 'Playfair Display', Georgia, Cambria, "Times New Roman", Times, serif !important;
    color: inherit;
}

.blog-rich-text p,
.blog-modal-content p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 1.0625rem;
    /* 17px */
    line-height: 1.8 !important;
    color: #374151 !important;
    margin-bottom: 1.25rem !important;
}

.blog-rich-text ul,
.blog-modal-content ul {
    list-style-type: disc !important;
    padding-left: 1.75rem !important;
    margin-bottom: 1.25rem !important;
    color: #374151 !important;
    font-size: 1.0625rem !important;
    line-height: 1.75 !important;
}

.blog-rich-text ol,
.blog-modal-content ol {
    list-style-type: decimal !important;
    padding-left: 1.75rem !important;
    margin-bottom: 1.25rem !important;
    color: #374151 !important;
    font-size: 1.0625rem !important;
    line-height: 1.75 !important;
}

.blog-rich-text li,
.blog-modal-content li {
    margin-bottom: 0.5rem !important;
}

.blog-rich-text blockquote,
.blog-modal-content blockquote {
    border-left: 4px solid #B8932A !important;
    background: #FAF7F2 !important;
    padding: 1.25rem 1.5rem !important;
    border-radius: 0 1rem 1rem 0 !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-style: italic !important;
    font-size: 1.125rem !important;
    line-height: 1.6 !important;
    color: #0D2B5E !important;
    margin: 1.75rem 0 !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.blog-rich-text a,
.blog-modal-content a {
    color: #B8932A !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    font-weight: 500 !important;
}

.blog-rich-text a:hover,
.blog-modal-content a:hover {
    color: #0D2B5E !important;
}

.blog-rich-text strong,
.blog-rich-text b,
.blog-modal-content strong,
.blog-modal-content b {
    font-weight: 700 !important;
    color: #111827 !important;
}

.blog-rich-text img,
.blog-modal-content img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 1.75rem auto !important;
    border-radius: 1rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
}

/* Category Filter Buttons: Stable colors on normal and hover states */
.category-btn.active,
.category-btn.active:hover {
    background-color: #0D2B5E !important;
    color: #ffffff !important;
    border-color: #0D2B5E !important;
}

.category-btn:not(.active),
.category-btn:not(.active):hover {
    background-color: #ffffff !important;
    color: #374151 !important;
    border-color: #D1D5DB !important;
}

/* FAQ Accordion Styling */
.faq-item {
    transition: border-color 250ms ease, box-shadow 250ms ease, transform 250ms ease;
}

.faq-item:hover {
    box-shadow: 0 10px 25px -5px rgba(13, 43, 94, 0.06), 0 8px 10px -6px rgba(13, 43, 94, 0.04);
}

.faq-item button:focus-visible {
    outline: 2px solid #B8932A;
    outline-offset: -2px;
}

/* Utility: Hide scrollbars across browsers while retaining scroll functionality */
.no-scrollbar::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.no-scrollbar {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

/* ==========================================================================
   Global Theme Overrides: Gold (#97701c), Background (#F3EEE7), Blue (#222d52)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. GLOBAL WEBSITE BACKGROUND THEME (#F3EEE7)
   -------------------------------------------------------------------------- */
.bg-\[\#FAF7F2\],
.bg-g2w-ivory,
.bg-g2w-linen,
.bg-\[\#F8F7F4\],
.bg-\[\#FAF8F5\],
.bg-\[\#F4EFEA\],
.bg-\[\#F8F9FA\],
.color-background {
    background-color: var(--theme-bg) !important;
}

.bg-\[\#FAF7F2\]\/40 {
    background-color: rgba(var(--theme-bg-rgb), 0.4) !important;
}

.bg-\[\#FAF7F2\]\/50 {
    background-color: rgba(var(--theme-bg-rgb), 0.5) !important;
}

.bg-\[\#FAF7F2\]\/60 {
    background-color: rgba(var(--theme-bg-rgb), 0.6) !important;
}

.bg-\[\#FAF7F2\]\/70 {
    background-color: rgba(var(--theme-bg-rgb), 0.7) !important;
}

/* Global Section Background Fallback: Enforce --theme-bg on non-dark main content sections */
main#main-content>section:not(.bg-heritage-navy):not(.bg-deep-navy):not(.bg-\[\#091E40\]):not(.bg-\[\#0D2B5E\]):not(.bg-\[\#222d52\]):not(.bg-g2w-gold):not(.bg-\[\#B8932A\]):not(#hero-state-a):not(.text-white),
.page-content>section:not(.bg-heritage-navy):not(.bg-deep-navy):not(.bg-\[\#091E40\]):not(.bg-\[\#0D2B5E\]):not(.bg-\[\#222d52\]):not(.bg-g2w-gold):not(.bg-\[\#B8932A\]):not(#hero-state-a):not(.text-white) {
    background-color: var(--theme-bg) !important;
}

/* --------------------------------------------------------------------------
   2. GLOBAL BLUE THEME (#222d52 - Matching Founder Section)
   -------------------------------------------------------------------------- */
/* Blue Backgrounds */
.bg-\[\#0D2B5E\],
.bg-heritage-navy,
.bg-maritime-teal,
.bg-\[\#0B4764\],
.bg-\[\#222d52\],
.bg-\[\#091E40\],
.bg-deep-navy,
.bg-dark-teal,
#footer,
footer#footer,
section.bg-\[\#091E40\] {
    background-color: var(--theme-blue) !important;
}

/* Blue Text */
.text-\[\#0D2B5E\],
.text-heritage-navy,
.text-maritime-teal,
.text-\[\#0B4764\],
.text-\[\#222d52\],
.text-\[\#091E40\],
.text-deep-navy {
    color: var(--theme-blue) !important;
}

/* Blue Borders */
.border-\[\#0D2B5E\],
.border-heritage-navy,
.border-maritime-teal,
.border-\[\#0B4764\],
.border-\[\#091E40\] {
    border-color: var(--theme-blue) !important;
}

/* Blue Hover States */
.hover\:bg-\[\#0D2B5E\]:hover,
.hover\:bg-\[\#091E40\]:hover {
    background-color: var(--theme-blue-hover) !important;
}

.hover\:text-\[\#0D2B5E\]:hover,
.hover\:text-\[\#091E40\]:hover {
    color: var(--theme-blue) !important;
}

.hover\:border-\[\#0D2B5E\]:hover,
.hover\:border-\[\#091E40\]:hover {
    border-color: var(--theme-blue) !important;
}

.group:hover .group-hover\:text-\[\#0D2B5E\],
.group:hover .group-hover\:text-\[\#091E40\] {
    color: var(--theme-blue) !important;
}

.group:hover .group-hover\:bg-\[\#0D2B5E\] {
    background-color: var(--theme-blue) !important;
}

/* Blue Opacity / Transparency Variants */
.bg-\[\#0D2B5E\]\/5 {
    background-color: rgba(var(--theme-blue-rgb), 0.05) !important;
}

.bg-\[\#0D2B5E\]\/10 {
    background-color: rgba(var(--theme-blue-rgb), 0.1) !important;
}

.bg-\[\#0D2B5E\]\/20 {
    background-color: rgba(var(--theme-blue-rgb), 0.2) !important;
}

.border-\[\#0D2B5E\]\/10 {
    border-color: rgba(var(--theme-blue-rgb), 0.1) !important;
}

.border-\[\#0D2B5E\]\/20 {
    border-color: rgba(var(--theme-blue-rgb), 0.2) !important;
}

.text-\[\#0D2B5E\]\/10 {
    color: rgba(var(--theme-blue-rgb), 0.1) !important;
}

.text-\[\#0D2B5E\]\/50 {
    color: rgba(var(--theme-blue-rgb), 0.5) !important;
}

.text-\[\#0D2B5E\]\/60 {
    color: rgba(var(--theme-blue-rgb), 0.6) !important;
}

.text-\[\#0D2B5E\]\/80 {
    color: rgba(var(--theme-blue-rgb), 0.8) !important;
}

/* Modal Backdrops & Overlay Opacities */
.bg-\[\#091E40\]\/70,
.bg-\[\#091E40\]\/80,
#mobile-menu-backdrop,
#strategy-modal .fixed.inset-0.bg-\[\#091E40\]\/70 {
    background-color: rgba(var(--theme-blue-rgb), 0.75) !important;
}

/* Focus rings */
.focus\:border-\[\#0D2B5E\]:focus {
    border-color: var(--theme-blue) !important;
}

.focus\:ring-\[\#0D2B5E\]\/10:focus {
    --tw-ring-color: rgba(var(--theme-blue-rgb), 0.1) !important;
}

/* --------------------------------------------------------------------------
   3. GLOBAL GOLD THEME (#97701c)
   -------------------------------------------------------------------------- */
/* Buttons & Accent Elements */
.theme-bg-accent,
.is-state-a .theme-bg-accent,
body .theme-bg-accent,
#header button.theme-bg-accent,
#header.header-scrolled button.theme-bg-accent,
#header.menu-open button.theme-bg-accent {
    background-color: var(--gold-home) !important;
    color: #ffffff !important;
}

.theme-bg-accent:hover,
#header button.theme-bg-accent:hover {
    background-color: var(--gold-home-hover) !important;
    filter: brightness(1.08) !important;
}

/* Gold Utility Classes */
.bg-g2w-gold,
#ticker-section,
section.bg-g2w-gold,
.bg-g2w-champagne {
    background-color: var(--gold-home) !important;
}

.text-g2w-gold,
.text-g2w-champagne {
    color: var(--gold-home) !important;
}

.border-g2w-gold,
.border-g2w-champagne {
    border-color: var(--gold-home) !important;
}

.bg-g2w-gold\/10 {
    background-color: rgba(var(--gold-home-rgb), 0.1) !important;
}

.border-g2w-gold\/20 {
    border-color: rgba(var(--gold-home-rgb), 0.2) !important;
}

/* Strategy Modal & Form Buttons */
.bg-\[\#B88728\],
.bg-\[\#B8932A\],
.bg-\[\#c9a735\],
.bg-\[\#CFA838\] {
    background-color: var(--gold-home) !important;
}

.hover\:bg-\[\#A3741C\]:hover,
.hover\:bg-\[\#B8932A\]:hover,
.hover\:bg-\[\#c9a735\]:hover {
    background-color: var(--gold-home-hover) !important;
}

/* Direct text & border utilities */
.text-\[\#B8932A\],
.text-\[\#c9a735\],
.text-\[\#B88728\] {
    color: var(--gold-home) !important;
}

.border-\[\#B8932A\],
.border-\[\#c9a735\] {
    border-color: var(--gold-home) !important;
}

.border-t-\[\#B8932A\] {
    border-top-color: var(--gold-home) !important;
}

.bg-\[\#B8932A\]\/10 {
    background-color: rgba(var(--gold-home-rgb), 0.1) !important;
}

.bg-\[\#B8932A\]\/15 {
    background-color: rgba(var(--gold-home-rgb), 0.15) !important;
}

.bg-\[\#B8932A\]\/20 {
    background-color: rgba(var(--gold-home-rgb), 0.2) !important;
}

.border-\[\#B8932A\]\/20 {
    border-color: rgba(var(--gold-home-rgb), 0.2) !important;
}

.border-\[\#B8932A\]\/30 {
    border-color: rgba(var(--gold-home-rgb), 0.3) !important;
}

.hover\:text-\[\#B8932A\]:hover,
.hover\:text-\[\#c9a735\]:hover {
    color: var(--gold-home) !important;
}

.hover\:border-\[\#B8932A\]:hover {
    border-color: var(--gold-home) !important;
}

.group:hover .group-hover\:text-\[\#B8932A\] {
    color: var(--gold-home) !important;
}

.group:hover .group-hover\:bg-\[\#B8932A\] {
    background-color: var(--gold-home) !important;
}

.group:hover .group-hover\:border-\[\#B8932A\] {
    border-color: var(--gold-home) !important;
}

.group:hover .group-hover\:text-\[\#B8932A\]\/25 {
    color: rgba(var(--gold-home-rgb), 0.25) !important;
}

.group:hover .group-hover\:text-white,
.group:hover .group-hover\:text-white i,
.group:hover .group-hover\:text-white svg {
    color: #ffffff !important;
}

/* Process Step Card Icon Box Hover Fix */
.step-card-icon-box {
    background-color: #FAF7F2 !important;
    color: var(--gold-home) !important;
    transition: all 0.3s ease;
}

.step-card-icon-box i {
    color: var(--gold-home) !important;
    transition: color 0.3s ease;
}

.process-step-card:hover .step-card-icon-box {
    background-color: var(--gold-home) !important;
    border-color: var(--gold-home) !important;
}

.process-step-card:hover .step-card-icon-box i {
    color: #ffffff !important;
}

/* Ensure crisp contrast for gold and primary buttons (text stays white on hover) */
button.bg-\[\#B8932A\],
button.bg-\[\#B88728\],
button.bg-g2w-gold,
button.theme-bg-accent,
a.bg-\[\#B8932A\],
a.bg-g2w-gold,
a.theme-bg-accent {
    color: #ffffff !important;
}

button.bg-\[\#B8932A\] *,
button.bg-\[\#B88728\] *,
button.bg-g2w-gold *,
button.theme-bg-accent *,
a.bg-\[\#B8932A\] *,
a.bg-g2w-gold *,
a.theme-bg-accent * {
    color: #ffffff !important;
}

button.bg-\[\#B8932A\]:hover,
button.bg-\[\#B88728\]:hover,
button.bg-g2w-gold:hover,
button.theme-bg-accent:hover,
a.bg-\[\#B8932A\]:hover,
a.bg-g2w-gold:hover,
a.theme-bg-accent:hover {
    color: #ffffff !important;
    background-color: var(--gold-home-hover) !important;
}

button.bg-\[\#B8932A\]:hover *,
button.bg-\[\#B88728\]:hover *,
button.bg-g2w-gold:hover *,
button.theme-bg-accent:hover *,
a.bg-\[\#B8932A\]:hover *,
a.bg-g2w-gold:hover *,
a.theme-bg-accent:hover * {
    color: #ffffff !important;
}

#footer button.bg-\[\#B8932A\],
#footer button.border-\[\#B8932A\]:hover,
#footer a.border-\[\#B8932A\]:hover {
    color: #ffffff !important;
}

/* Ensure hover:text-white and outline buttons turning dark blue/gold always have pure white text on hover */
.hover\:text-white:hover,
button.hover\:text-white:hover,
a.hover\:text-white:hover,
button:hover.hover\:text-white,
a:hover.hover\:text-white,
button.border-\[\#0D2B5E\]:hover,
a.border-\[\#0D2B5E\]:hover,
button.border-heritage-navy:hover,
a.border-heritage-navy:hover,
button.btn-consult:hover,
a.btn-consult:hover,
button.hover\:bg-\[\#0D2B5E\]:hover,
a.hover\:bg-\[\#0D2B5E\]:hover,
button.hover\:bg-\[\#091E40\]:hover,
a.hover\:bg-\[\#091E40\]:hover,
button.hover\:bg-heritage-navy:hover,
a.hover\:bg-heritage-navy:hover,
button.hover\:bg-deep-navy:hover,
a.hover\:bg-deep-navy:hover {
    color: #ffffff !important;
    background-color: var(--theme-blue) !important;
}

.hover\:text-white:hover *,
button.hover\:text-white:hover *,
a.hover\:text-white:hover *,
button:hover.hover\:text-white *,
a:hover.hover\:text-white *,
button.border-\[\#0D2B5E\]:hover *,
a.border-\[\#0D2B5E\]:hover *,
button.border-heritage-navy:hover *,
a.border-heritage-navy:hover *,
button.btn-consult:hover *,
a.btn-consult:hover *,
button.hover\:bg-\[\#0D2B5E\]:hover *,
a.hover\:bg-\[\#0D2B5E\]:hover *,
button.hover\:bg-\[\#091E40\]:hover *,
a.hover\:bg-\[\#091E40\]:hover * {
    color: #ffffff !important;
}

/* ==========================================================================
   Global Button Hover Interaction: Zoom Out on Hover, Zoom In on Leave
   ========================================================================== */
button:not(.no-zoom):not(#mobile-menu-toggle):not(.slider-dot-btn),
a.btn-zoom,
a.theme-bg-accent,
a.inline-flex.rounded-full,
a.inline-block.rounded-full,
.theme-bg-accent {
    transition: transform 0.28s cubic-bezier(0.25, 1, 0.5, 1), background-color 0.28s ease, color 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease !important;
    transform: scale(1);
    transform-origin: center center;
    will-change: transform;
}

button:not(.no-zoom):not(#mobile-menu-toggle):not(.slider-dot-btn):hover,
a.btn-zoom:hover,
a.theme-bg-accent:hover,
a.inline-flex.rounded-full:hover,
a.inline-block.rounded-full:hover,
.theme-bg-accent:hover {
    transform: scale(0.96) !important;
}

button:not(.no-zoom):not(#mobile-menu-toggle):not(.slider-dot-btn):active,
a.btn-zoom:active,
a.theme-bg-accent:active,
a.inline-flex.rounded-full:active,
a.inline-block.rounded-full:active,
.theme-bg-accent:active {
    transform: scale(0.92) !important;
}

/* Comparison Tool Styling */
.comparison-winner-cell {
    background-color: rgba(var(--gold-home-rgb), 0.08) !important;
    color: var(--gold-home) !important;
}

.comparison-winner-cell .winner-badge {
    background-color: var(--gold-home) !important;
}

#comparison-table-wrapper {
    scrollbar-width: thin;
    scrollbar-color: #B8932A rgba(13, 43, 94, 0.08);
    -webkit-overflow-scrolling: touch;
}

#comparison-table-wrapper::-webkit-scrollbar {
    height: 6px;
}

#comparison-table-wrapper::-webkit-scrollbar-track {
    background: rgba(13, 43, 94, 0.05);
    border-radius: 4px;
}

#comparison-table-wrapper::-webkit-scrollbar-thumb {
    background: #B8932A;
    border-radius: 4px;
}

#comparison-table-wrapper::-webkit-scrollbar-thumb:hover {
    background: #9e7b1e;
}

/* Process Section & Progress Bar */
#vertical-progress-bar {
    background-color: var(--gold-home) !important;
}

.faq-item button:focus-visible {
    outline-color: var(--gold-home) !important;
}

/* -------------------------------------------------------------
   Component & Partial Styles (Consolidated for Clean Blade Templates)
   ------------------------------------------------------------- */

/* News & Social Feed Scrollbar */
.news-scroll-container::-webkit-scrollbar {
    width: 5px;
}

.news-scroll-container::-webkit-scrollbar-track {
    background: #FAF7F2;
    border-radius: 9999px;
}

.news-scroll-container::-webkit-scrollbar-thumb {
    background: #D8CFC4;
    border-radius: 9999px;
}

/* Services Pillars Hover Effects */
.pillar-card:hover .pillar-icon-box {
    background-color: #0D2B5E !important;
    border-color: #0D2B5E !important;
    transform: scale(1.08);
}

.pillar-card:hover .pillar-icon-box i {
    color: #E5C77A !important;
}

.pillar-card:hover .pillar-top-accent {
    background-color: #B8932A !important;
}

/* Residency Detail Overview Diagonal Cut */
@media (min-width: 1024px) {
    .overview-diagonal-cut {
        width: 56% !important;
        clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%) !important;
        -webkit-clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%) !important;
    }
}

@media (max-width: 1023px) {
    .overview-diagonal-cut {
        width: 100% !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
    }
}

/* Business Hub 3D Flip Card Effect */
.card-flip-container {
    perspective: 1200px;
    -webkit-perspective: 1200px;
}

.card-flip-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-flip-container:hover .card-flip-inner,
.card-flip-container.is-flipped .card-flip-inner {
    transform: rotateY(-180deg);
    -webkit-transform: rotateY(-180deg);
}

.card-flip-front,
.card-flip-back {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: inherit;
    overflow: hidden;
}

.card-flip-front {
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    z-index: 2;
}

.card-flip-back {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    z-index: 1;
}

/* ==========================================================================
   Rich Text & WYSIWYG Content Styles (News, Blogs & Articles)
   Ensures Bullet Points (UL), Numbered Lists (OL), Tables, Quotes render correctly
   ========================================================================== */
.news-rich-text,
.blog-rich-text,
.prose,
.rich-text-content {
    color: #374151;
}

.news-rich-text ul,
.blog-rich-text ul,
.prose ul,
.rich-text-content ul {
    list-style-type: disc !important;
    padding-left: 1.5rem !important;
    margin-top: 0.75rem !important;
    margin-bottom: 1.25rem !important;
}

.news-rich-text ol,
.blog-rich-text ol,
.prose ol,
.rich-text-content ol {
    list-style-type: decimal !important;
    padding-left: 1.5rem !important;
    margin-top: 0.75rem !important;
    margin-bottom: 1.25rem !important;
}

.news-rich-text ul ul,
.blog-rich-text ul ul,
.prose ul ul,
.rich-text-content ul ul {
    list-style-type: circle !important;
    margin-top: 0.35rem !important;
    margin-bottom: 0.35rem !important;
}

.news-rich-text ol ol,
.blog-rich-text ol ol,
.prose ol ol,
.rich-text-content ol ol {
    list-style-type: lower-alpha !important;
    margin-top: 0.35rem !important;
    margin-bottom: 0.35rem !important;
}

.news-rich-text li,
.blog-rich-text li,
.prose li,
.rich-text-content li {
    display: list-item !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.75 !important;
    padding-left: 0.25rem !important;
}

.news-rich-text li::marker,
.blog-rich-text li::marker,
.prose li::marker,
.rich-text-content li::marker {
    color: #B8932A !important;
    font-size: 1.1em;
}

.news-rich-text p,
.blog-rich-text p,
.prose p,
.rich-text-content p {
    margin-bottom: 1.25rem !important;
    line-height: 1.8 !important;
}

.news-rich-text h2,
.blog-rich-text h2,
.prose h2,
.rich-text-content h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.65rem !important;
    font-weight: 600 !important;
    color: #0D2B5E !important;
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
    line-height: 1.3 !important;
}

@media (min-width: 640px) {
    .news-rich-text h2,
    .blog-rich-text h2,
    .prose h2,
    .rich-text-content h2 {
        font-size: 1.85rem !important;
    }
}

.news-rich-text h3,
.blog-rich-text h3,
.prose h3,
.rich-text-content h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    color: #0D2B5E !important;
    margin-top: 1.75rem !important;
    margin-bottom: 0.75rem !important;
    line-height: 1.35 !important;
}

.news-rich-text h4,
.blog-rich-text h4,
.prose h4,
.rich-text-content h4 {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #0D2B5E !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}

.news-rich-text strong,
.news-rich-text b,
.blog-rich-text strong,
.blog-rich-text b,
.prose strong,
.prose b,
.rich-text-content strong,
.rich-text-content b {
    font-weight: 700 !important;
    color: #111827 !important;
}

.news-rich-text blockquote,
.blog-rich-text blockquote,
.prose blockquote,
.rich-text-content blockquote {
    border-left: 4px solid #B8932A !important;
    background-color: #FAF7F2 !important;
    padding: 1.25rem 1.5rem !important;
    border-radius: 0 1rem 1rem 0 !important;
    font-style: italic !important;
    color: #0D2B5E !important;
    margin: 1.5rem 0 !important;
}

.news-rich-text a,
.blog-rich-text a,
.prose a,
.rich-text-content a {
    color: #B8932A !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}

.news-rich-text a:hover,
.blog-rich-text a:hover,
.prose a:hover,
.rich-text-content a:hover {
    color: #0D2B5E !important;
}

.news-rich-text table,
.blog-rich-text table,
.prose table,
.rich-text-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 1.5rem 0 !important;
    font-size: 0.925rem !important;
}

.news-rich-text th,
.blog-rich-text th,
.prose th,
.rich-text-content th {
    background-color: #0D2B5E !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid #e5e7eb !important;
    text-align: left !important;
}

.news-rich-text td,
.blog-rich-text td,
.prose td,
.rich-text-content td {
    padding: 0.75rem 1rem !important;
    border: 1px solid #e5e7eb !important;
}

.news-rich-text img,
.blog-rich-text img,
.prose img,
.rich-text-content img {
    border-radius: 0.75rem !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 1.5rem auto !important;
}