    /* --- PREMIUM LIGHT THEME VARIABLES --- */
    :root {
        --mck-bg: #FFFFFF;
        --mck-blue: #2F5ED9;
        --mck-blue-dark: #1e3a8a;
        
        /* MAIN COLOR: DARK NAVY */
        --mck-navy: #051C2C;
        
        /* HIGHLIGHT COLOR: BLUE */
        --mck-highlight: #2F5ED9; 
        
        --mck-text-main: #051C2C;
        --mck-text-sub: #051C2C; 
        
        --mck-border: #E6E9ED;
        --mck-hover-bg: #F5F8FA;
        
        --mck-social-bg: #051C2C;
        --mck-social-icon: #FFF;
        
        --ease-premium: cubic-bezier(0.4, 0, 0.2, 1);
        
        --col-padding: 32px;
        --item-v-padding: 12px; /* Standardized vertical spacing */
    }

    * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    /* Reset for standalone viewing - Adjusted for partial use */
    /* 
    body {
        font-family: 'Manrope', sans-serif;
        background-color: #f0f2f5;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    } 
    */

    ul { list-style: none; }
    a { text-decoration: none; color: inherit; outline: none; }

    .mck-footer {
            background-color: var(--mck-bg);
            color: var(--mck-navy);
            font-size: 15px;
            line-height: 1.6;
            position: relative;
            width: 100%;
            border-top: 4px solid var(--mck-blue);
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.5fr repeat(5, 1fr);
            max-width: 1600px;
            margin: 0 auto;
            border-bottom: 1px solid var(--mck-border);
        }

        .footer-col {
            padding: 56px var(--col-padding);
            border-right: 1px solid var(--mck-border);
            display: flex;
            flex-direction: column;
            position: relative;
        }

        .footer-col:last-child {
            border-right: none;
            padding: 0;
        }

        /* --- TYPOGRAPHY --- */
        
        .brand-logo {
            font-family: 'Playfair Display', serif;
            font-size: 28px;
            color: var(--mck-navy);
            margin-bottom: 16px;
            line-height: 1.1;
            letter-spacing: -0.02em;
            font-weight: 700;
            font-style: italic;
        }

        h3 {
            font-family: 'Playfair Display', serif;
            font-size: 19px;
            font-weight: 400; 
            margin-bottom: 32px;
            color: var(--mck-navy);
            letter-spacing: 0.01em;
        }

        .tagline {
            font-family: 'Manrope', sans-serif;
            font-size: 10px;
            color: var(--mck-navy);
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 600;
            margin-top: 8px;
        }

        /* --- STANDARDIZED MENU ITEMS --- */
        
        /* We use a shared logic for:
           1. .footer-link (Standard links)
           2. .accordion-header (Dropdown headers)
           3. .accordion-content li a (Links inside Dropdowns)
           4. .link-cta (View All links)
        */

        .footer-link, 
        .accordion-header,
        .accordion-content li a,
        .link-cta {
            display: flex; /* Ensures consistent vertical centering */
            align-items: center;
            width: calc(100% + (var(--col-padding) * 2)); /* Full width of col including padding */
            margin-left: calc(var(--col-padding) * -1);  /* Pull left to edge */
            margin-right: calc(var(--col-padding) * -1); /* Pull right to edge */
            padding: var(--item-v-padding) var(--col-padding); /* Standard Padding */
            
            color: var(--mck-navy);
            font-size: 14px;
            font-weight: 400;
            font-family: 'Manrope', sans-serif;
            
            transition: all 0.2s var(--ease-premium);
            position: relative;
            background: transparent;
            border: none;
            cursor: pointer;
            text-align: left;
        }

        /* HOVER STATES */
        .footer-link:hover, .footer-link.active,
        .accordion-header:not(.active):hover, /* Only hover effect if not already open/active */
        .accordion-content li a:hover, .accordion-content li a.active,
        .link-cta:hover {
            background-color: var(--mck-highlight);
            color: #FFFFFF;
            font-weight: 600;
            padding-left: calc(var(--col-padding) + 4px); /* Slight nudge */
        }
        
        /* HOVER ARROWS */
        .footer-link:hover::after,
        .accordion-content li a:hover::after,
        .link-cta:hover::after {
            content: '→';
            margin-left: auto; /* Push to far right */
            font-weight: bold;
            color: #FFFFFF;
        }

        /* --- ACCORDION SPECIFICS --- */

        .accordion-item {
            margin-bottom: 0; /* Removed spacing so they stack perfectly like a list */
        }

        /* Accordion Header Specifics (Flex for icon) */
        .accordion-header {
            justify-content: space-between;
            font-weight: 500; /* Headers slightly bolder by default */
            font-size: 15px; /* Headers keep 15px to match original design, or change to 14px if strictly needed */
        }

        .accordion-header.active {
            background-color: var(--mck-blue);
            color: #FFFFFF;
            box-shadow: 0 4px 12px rgba(47, 94, 217, 0.2);
        }
        
        .accordion-header.active:hover {
            background-color: var(--mck-blue-dark);
        }

        .icon-indicator {
            font-size: 14px; /* Adjusted to match text size better */
            font-weight: 300;
            color: inherit; /* Inherits from header (Navy or White) */
            transition: transform 0.3s var(--ease-premium);
        }

        .accordion-header.active .icon-indicator {
            transform: rotate(180deg);
        }

        /* Accordion Content Container */
        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s var(--ease-premium), opacity 0.5s var(--ease-premium);
            opacity: 0;
            /* Removed background color and margins, as the children now handle the full width */
        }
        
        .accordion-content.open {
            opacity: 1;
            /* Optional: Add a border to separate opened content if desired */
            /* border-bottom: 1px solid var(--mck-border); */
        }

        /* CTA specific overrides */
        .link-cta {
            margin-top: 12px; /* Add some space before the CTA */
            color: var(--mck-blue); /* Default state is blue for CTA */
            font-weight: 600;
        }

        /* --- LEGAL SECTION & OTHERS --- */

        .col-6-inner {
            padding: 56px 32px;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
        }

        .brand-legal-wrapper {
            margin-top: 40px;
            padding-top: 24px;
            border-top: 1px solid var(--mck-border);
        }

        .legal-text {
            font-family: 'Playfair Display', serif;
            font-style: italic;
            font-size: 13px;
            color: var(--mck-navy);
            margin-bottom: 12px;
        }

        .legal-links {
            display: flex;
            flex-wrap: wrap;
            gap: 12px 16px;
        }
        
        .legal-links li { margin-bottom: 0; }
        
        .legal-links a {
            font-size: 11px;
            color: var(--mck-navy);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: opacity 0.3s, color 0.3s;
        }
        .legal-links a:hover { color: var(--mck-blue); }

        .social-box {
            border-top: 1px solid var(--mck-border);
            padding: 32px;
            display: flex;
            gap: 24px;
            background-color: #F9FAFB;
            align-items: center;
            margin-top: auto;
        }

        .social-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background-color: var(--mck-social-bg);
            color: var(--mck-social-icon);
            transition: all 0.3s var(--ease-premium);
        }

        .social-icon i { font-size: 16px; }

        .social-icon:hover {
            background-color: var(--mck-blue);
            transform: translateY(-3px);
            box-shadow: 0 4px 12px rgba(47, 94, 217, 0.2);
        }

        @media (max-width: 1200px) {
            .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
            .footer-col:nth-child(5) { display: none; }
            .footer-col:last-child { grid-column: span 4; display: flex; flex-direction: row; border-top: 1px solid var(--mck-border); }
            .col-6-inner { padding: 32px; }
            .social-box { flex-grow: 1; border-top: none; border-left: 1px solid var(--mck-border); margin-top: 0; }
        }

        @media (max-width: 900px) {
            :root { --col-padding: 24px; }
            
            .footer-grid { display: flex; flex-direction: column; }
            .footer-col { width: 100%; border-right: none; border-bottom: 1px solid var(--mck-border); padding: 32px var(--col-padding); }
            .footer-col:last-child { flex-direction: column; }
            .social-box { border-left: none; border-top: 1px solid var(--mck-border); }
            h3 { margin-bottom: 20px; }
            
            .legal-links { flex-direction: column; gap: 8px; }
        }

        .footer-logo-image {
            height: 32px;
            display: block;
        }

        .brand-summary {
            margin-top: 24px;
            margin-bottom: 24px;
        }

        .brand-summary-text {
            font-size: 13px;
            color: var(--mck-navy);
            line-height: 1.5;
        }
