/* ==== MF semantic color tokens + utilities ==== */
:root {
    --text-primary: #000033;
    --text-secondary: #33335c;
    --text-inverse: #fff;
    --text-accent: #6061f6;
    --text-inverse-secondary: #c9c9d5;
    --text-accent-hover: #3e3fc0;
    --text-accent-pressed: #313293;

    --surface-page: #fff;
    --surface-subtle: #efeffe;
    --surface-soft: #f7f9fc;
    --surface-dark: #000033;
    --surface-glass: rgb(255 255 255 / 80%);
    --surface-scrim: rgb(0 0 0 / 40%);

    --border-default: rgb(0 0 0 / 12%);
    --border-strong: #cfcffc;
    --border-accent: #6061f6;
    --border-field: #c0c7d4;

    --cta-default: #6061f6;
    --cta-hover: #3e3fc0;
    --cta-pressed: #313293;
    --cta-disabled: #afb0fa;
    --cta-on-dark: #ffff98;

    --focus-ring: #6061f6;

    --feedback-error: #dc2626;
    --feedback-error-bg: #fef2f2;
    --feedback-error-text: #b91c1c;

    --padding-section-x: 2.5rem;
    --padding-section-x-compact: 1.5rem;
    --padding-section-y-sm: 1rem;
    --padding-section-y-md: 1.5rem;
    --padding-section-y-lg: 3.5rem;
    --padding-card: 1.5rem;
    --padding-card-sm: 1rem;
    --padding-control-x: 1rem;
    --padding-control-y: .5rem;
    --padding-chip-x: .5rem;
    --padding-chip-y: .25rem;
    --padding-snug: .625rem;
    --padding-section-x-lg: 4rem;
    --padding-nav-x: .25rem;
    --padding-panel: 1.5rem;
    --padding-panel-sm: .75rem;
    --padding-section-x-mobile: 1rem;
    --padding-tabs-y: .25rem;
    --padding-drawer-group-y: .5rem;

    --gap-item: 1.5rem;
    --gap-block: 3rem;
    --gap-stack: 1rem;
    --gap-stack-sm: .5rem;
    --gap-stack-xs: .125rem;
    --gap-inline: .5rem;
    --gap-inline-xs: .375rem;
    --gap-inline-lg: .75rem;
    --gap-item-lg: 2rem;
    --gap-column: 5rem;

    --radius-xs: .25rem;
    --radius-sm: .5rem;
    --radius-md: .75rem;
    --radius-lg: 1rem;
    --radius-xl: 1.5rem;
    --radius-pill: 6.25rem;

    --size-control-sm: 2rem;
    --size-control-md: 2.5rem;
    --size-control-lg: 2.75rem;
    --size-bar-top: 2.75rem;
    --size-bar-nav: 4.5rem;
    --size-chip: 1.5rem;
    --size-icon-sm: 1rem;
    --size-panel-lang: 7.5rem;
    --size-panel-utility: 14rem;
    --size-drawer-max: 26.25rem;
    --size-fade-x: 3rem;

    --ghost-hover: #efeffe;
    --ghost-pressed: #cfcffc;

    --border-width-focus: 2px;
    --mf-shadow-overlay:
        0 8px 6px 0 rgb(0 0 51 / 10%),
        0 24px 28px -6px rgb(0 0 51 / 12%),
        0 42px 56px -16px rgb(0 0 51 / 10%);

    --font-family-sans: "Libre Franklin", sans-serif;
    --font-size-xs: .75rem;
    --font-size-sm: .875rem;
    --font-size-base: 1rem;
    --letter-spacing-normal: 0;
}

.mf-text-primary { color: var(--text-primary) !important; }
.mf-text-secondary { color: var(--text-secondary) !important; }
.mf-text-inverse { color: var(--text-inverse) !important; }
.mf-text-accent { color: var(--text-accent) !important; }
.mf-text-inverse-secondary { color: var(--text-inverse-secondary) !important; }
.mf-text-accent-hover { color: var(--text-accent-hover) !important; }
.mf-text-accent-pressed { color: var(--text-accent-pressed) !important; }

.mf-surface-page { background-color: var(--surface-page) !important; }
.mf-surface-subtle { background-color: var(--surface-subtle) !important; }
.mf-surface-soft { background-color: var(--surface-soft) !important; }
.mf-surface-dark { background-color: var(--surface-dark) !important; }
.mf-surface-glass { background-color: var(--surface-glass) !important; }
.mf-surface-scrim { background-color: var(--surface-scrim) !important; }

.mf-border-default { border-color: var(--border-default) !important; }
.mf-border-strong { border-color: var(--border-strong) !important; }
.mf-border-accent { border-color: var(--border-accent) !important; }
.mf-border-field { border-color: var(--border-field) !important; }

.mf-cta-default { background-color: var(--cta-default) !important; }
.mf-cta-hover { background-color: var(--cta-hover) !important; }
.mf-cta-pressed { background-color: var(--cta-pressed) !important; }
.mf-cta-disabled { background-color: var(--cta-disabled) !important; }
.mf-cta-on-dark { background-color: var(--cta-on-dark) !important; }

.mf-focus-ring:focus-visible {
    outline: var(--border-width-focus, 2px) solid var(--focus-ring) !important;
    outline-offset: 2px;
}

.mf-feedback-error { color: var(--feedback-error) !important; }
.mf-feedback-error-bg { background-color: var(--feedback-error-bg) !important; }
.mf-feedback-error-text { color: var(--feedback-error-text) !important; }

.mf-px-section { padding-left: var(--padding-section-x) !important; padding-right: var(--padding-section-x) !important; }
.mf-px-section-compact { padding-left: var(--padding-section-x-compact) !important; padding-right: var(--padding-section-x-compact) !important; }
.mf-py-section-sm { padding-top: var(--padding-section-y-sm) !important; padding-bottom: var(--padding-section-y-sm) !important; }
.mf-py-section-md { padding-top: var(--padding-section-y-md) !important; padding-bottom: var(--padding-section-y-md) !important; }
.mf-py-section-lg { padding-top: var(--padding-section-y-lg) !important; padding-bottom: var(--padding-section-y-lg) !important; }
.mf-p-card { padding: var(--padding-card) !important; }
.mf-p-card-sm { padding: var(--padding-card-sm) !important; }
.mf-px-control { padding-left: var(--padding-control-x) !important; padding-right: var(--padding-control-x) !important; }
.mf-py-control { padding-top: var(--padding-control-y) !important; padding-bottom: var(--padding-control-y) !important; }
.mf-px-chip { padding-left: var(--padding-chip-x) !important; padding-right: var(--padding-chip-x) !important; }
.mf-py-chip { padding-top: var(--padding-chip-y) !important; padding-bottom: var(--padding-chip-y) !important; }
.mf-p-snug { padding: var(--padding-snug) !important; }
.mf-px-snug { padding-left: var(--padding-snug) !important; padding-right: var(--padding-snug) !important; }
.mf-px-section-lg { padding-left: var(--padding-section-x-lg) !important; padding-right: var(--padding-section-x-lg) !important; }
.mf-px-nav { padding-left: var(--padding-nav-x) !important; padding-right: var(--padding-nav-x) !important; }
.mf-p-panel { padding: var(--padding-panel) !important; }
.mf-p-panel-sm { padding: var(--padding-panel-sm) !important; }
.mf-px-section-mobile { padding-left: var(--padding-section-x-mobile) !important; padding-right: var(--padding-section-x-mobile) !important; }
.mf-gap-item { gap: var(--gap-item) !important; }
.mf-gap-block { gap: var(--gap-block) !important; }
.mf-gap-stack { gap: var(--gap-stack) !important; }
.mf-gap-stack-sm { gap: var(--gap-stack-sm) !important; }
.mf-gap-stack-xs { gap: var(--gap-stack-xs) !important; }
.mf-gap-inline { gap: var(--gap-inline) !important; }
.mf-gap-inline-xs { gap: var(--gap-inline-xs) !important; }
.mf-gap-inline-lg { gap: var(--gap-inline-lg) !important; }
.mf-gap-item-lg { gap: var(--gap-item-lg) !important; }
.mf-gap-column { gap: var(--gap-column) !important; }
.mf-radius-xs { border-radius: var(--radius-xs) !important; }
.mf-radius-sm { border-radius: var(--radius-sm) !important; }
.mf-radius-md { border-radius: var(--radius-md) !important; }
.mf-radius-lg { border-radius: var(--radius-lg) !important; }
.mf-radius-xl { border-radius: var(--radius-xl) !important; }
.mf-radius-pill { border-radius: var(--radius-pill) !important; }
.mf-size-control-sm { height: var(--size-control-sm) !important; }
.mf-size-control-md { height: var(--size-control-md) !important; min-height: var(--size-control-md) !important; width: var(--size-control-md) !important; }
.mf-size-control-lg { height: var(--size-control-lg) !important; min-height: var(--size-control-lg) !important; }
.mf-size-bar-top { height: var(--size-bar-top) !important; min-height: var(--size-bar-top) !important; max-height: var(--size-bar-top) !important; }
.mf-size-bar-nav { height: var(--size-bar-nav) !important; min-height: var(--size-bar-nav) !important; max-height: var(--size-bar-nav) !important; }
.mf-size-chip { height: var(--size-chip) !important; }
.mf-size-icon-sm { height: var(--size-icon-sm) !important; width: var(--size-icon-sm) !important; }
.mf-ghost-hover { background-color: var(--ghost-hover) !important; }
.mf-ghost-pressed { background-color: var(--ghost-pressed) !important; }
.mf-font-sans { font-family: var(--font-family-sans) !important; }
.mf-fz-xs { font-size: var(--font-size-xs) !important; }
.mf-fz-sm { font-size: var(--font-size-sm) !important; }
.mf-ls-normal { letter-spacing: var(--letter-spacing-normal) !important; }
/* ==== /MF semantic color tokens + utilities ==== */

/* ==== MF MEGA MENU — desktop ==== */
.main-header {
    --letter-spacing-wide-sm: .6px;
}
.ls-wide-sm { letter-spacing: var(--letter-spacing-wide-sm, .6px); }
.mf-header-desktop,
.mf-header-actions--desktop,
.mf-header-actions--laptop {
    display: none !important;
}
.mf-header-compact { display: block; }

.mf-topbar {
    background: var(--surface-soft) !important;
    color: var(--text-primary) !important;
    display: block;
    overflow: visible;
    padding: 0 !important;
    position: relative;
    transition: height .2s ease, min-height .2s ease, max-height .2s ease, opacity .15s ease;
    z-index: 1100;
}
.main-header.mf-topbar-is-hidden .mf-topbar {
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
    .mf-topbar { transition: none; }
}
.mf-topbar__compliance { min-width: 0; }
.mf-topbar__label {
    white-space: nowrap;
}
.mf-topbar__pill {
    align-items: center;
    border-style: solid;
    border-width: 1px;
    box-sizing: border-box;
    display: inline-flex;
    justify-content: center;
    line-height: 1;
    min-width: 2.8125rem;
    opacity: 1;
    white-space: nowrap;
}
.mf-topbar__utility { display: none !important; }
.mf-topbar .custom-select__selected,
.mf-topbar .navbar-nav .nav-link {
    color: var(--text-primary) !important;
    font-size: inherit !important;
    margin: 0;
}
.mf-topbar .navbar-nav .nav-link {
    background: transparent !important;
    border-radius: var(--radius-xs);
    transition: color .15s ease;
}
.mf-topbar .navbar-nav .nav-link:active {
    color: var(--text-accent-pressed) !important;
}
.mf-topbar .navbar-nav .nav-link:focus-visible {
    color: var(--text-primary) !important;
    outline: var(--border-width-focus) solid var(--focus-ring) !important;
    outline-offset: 2px;
}

/* Header language switcher */
.mf-topbar .main-header__language-switcher-wrapper,
.mf-topbar .js-main-header-language-switcher,
.mf-topbar .custom-select-wrapper {
    height: var(--size-bar-top);
}
.mf-topbar .js-main-header-language-switcher,
.mf-topbar .custom-select-wrapper {
    position: relative;
}
.mf-topbar .custom-select__selected {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    border-radius: var(--radius-xs);
    box-shadow: none !important;
    cursor: pointer;
    display: inline-flex;
    font-family: var(--font-family-sans);
    font-size: var(--font-size-sm) !important;
    font-style: normal;
    font-weight: 500;
    gap: var(--gap-inline-xs);
    height: var(--size-bar-top);
    justify-content: center;
    letter-spacing: var(--letter-spacing-normal);
    line-height: 1.5;
    min-width: 3rem;
    padding: 0 var(--padding-nav-x) !important;
    transition: color .15s ease;
}
.mf-topbar .custom-select__selected::after {
    border: 0 !important;
    border-bottom: 1.5px solid currentColor !important;
    border-right: 1.5px solid currentColor !important;
    content: "";
    display: block;
    height: .375rem;
    margin: 0 !important;
    transform: rotate(45deg) translate(-1px, -1px);
    transform-origin: center;
    transition: transform .15s ease;
    width: .375rem;
}
.mf-topbar .custom-select-wrapper:has(.custom-select__options__show) .custom-select__selected {
    color: var(--text-accent) !important;
}
.mf-topbar .custom-select-wrapper:has(.custom-select__options__show) .custom-select__selected::after {
    transform: rotate(225deg) translate(-1px, -1px);
}
.mf-topbar .custom-select__selected:active {
    background: transparent !important;
    color: var(--text-accent-pressed, #313293) !important;
}
.mf-topbar .custom-select__selected:focus-visible {
    outline: var(--border-width-focus) solid var(--focus-ring) !important;
    outline-offset: 2px;
}
.mf-topbar .custom-select__options {
    background: var(--surface-page) !important;
    border: 1px solid var(--border-default) !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: var(--mf-shadow-overlay) !important;
    box-sizing: border-box;
    display: none !important;
    flex-direction: column;
    gap: var(--gap-stack-sm);
    left: 50% !important;
    list-style: none;
    margin: 0 !important;
    min-width: var(--size-panel-lang);
    overflow: hidden;
    padding: var(--padding-panel-sm) !important;
    position: absolute !important;
    right: auto !important;
    top: 3rem !important;
    transform: translateX(-50%) !important;
    width: var(--size-panel-lang) !important;
    z-index: 20;
}
.mf-topbar .custom-select__options.custom-select__options__show {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.mf-topbar .custom-select__options__option {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    border-radius: var(--radius-sm);
    box-sizing: border-box;
    color: var(--text-primary) !important;
    cursor: pointer;
    display: flex !important;
    flex: 0 0 var(--size-control-lg);
    font-family: var(--font-family-sans);
    font-size: var(--font-size-base) !important;
    font-style: normal;
    font-weight: 500 !important;
    height: var(--size-control-lg) !important;
    justify-content: space-between;
    letter-spacing: var(--letter-spacing-normal);
    line-height: 1.5;
    margin: 0 !important;
    max-height: var(--size-control-lg) !important;
    min-height: var(--size-control-lg) !important;
    padding: var(--padding-control-y) var(--padding-control-x) !important;
    position: relative !important;
    width: 100%;
}
.mf-topbar .custom-select__options__option-icon {
    align-items: center;
    background: transparent url('../../dist/icon__tick--primary-filled.svg') center / contain no-repeat;
    border-radius: 0;
    display: none;
    flex: 0 0 1rem;
    height: 1rem;
    inset: auto !important;
    justify-content: center;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
    width: 1rem;
}
.mf-topbar .custom-select__options__option--active {
    /* Selection is conveyed by the check icon. It is not a filled row. */
    background: transparent !important;
}
.mf-topbar .custom-select__options__option-icon svg { display: none; }
.mf-topbar .custom-select__options__option-icon::after {
    display: none;
}
.mf-topbar .custom-select__options__option--active .custom-select__options__option-icon {
    display: inline-flex;
}
.mf-topbar .custom-select__options__option:active {
    background: var(--ghost-pressed, #cfcffc) !important;
    color: var(--text-primary, #000033) !important;
}
.mf-topbar .custom-select__options__option:focus-visible {
    outline: var(--border-width-focus) solid var(--focus-ring) !important;
    outline-offset: -2px;
}

@media (max-width: 47.999rem) {
    .mf-topbar__label { display: none; }
    .mf-topbar__pills {
        overflow-x: auto;
        scrollbar-width: none;
    }
    .mf-topbar__pills::-webkit-scrollbar { display: none; }
}

.mf-menu {
    position: static !important;
}
.main-header .navbar.mf-size-bar-nav {
    border-bottom: 1px solid var(--border-default);
    padding-bottom: 0;
    padding-top: 0;
}
.main-header.mf-topbar-is-hidden {
    background-color: transparent !important;
    will-change: auto;
}
.main-header.mf-topbar-is-hidden .navbar.mf-size-bar-nav {
    background: transparent !important;
    isolation: isolate;
    position: relative;
}
.main-header.mf-topbar-is-hidden .navbar.mf-size-bar-nav::before {
    -webkit-backdrop-filter: blur(50px);
    background: var(--surface-glass);
    backdrop-filter: blur(50px);
    bottom: 0;
    content: "";
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: auto;
    top: 0;
    width: 100%;
    z-index: 0;
}
.main-header.mf-topbar-is-hidden .navbar.mf-size-bar-nav > .container {
    position: relative;
    z-index: 1;
}
.main-header .navbar.mf-size-bar-nav > .container,
.main-header .navbar.mf-size-bar-nav > .container > .row {
    height: var(--size-bar-nav);
    max-height: var(--size-bar-nav);
    min-height: var(--size-bar-nav);
}
.main-header .navbar .navbar-brand__logo--white { opacity: 0; }
.main-header .navbar .navbar-brand__logo--color { opacity: 1; }
.mf-menu-toggle {
    background-color: var(--surface-page) !important;
    border-style: solid;
    border-width: 1px;
    padding: 0;
    transition: background-color .15s ease, border-color .15s ease;
}
.mf-menu-toggle:active {
    background-color: var(--ghost-pressed) !important;
    border-color: transparent !important;
}
.mf-menu-toggle__icon { display: block; }
.mf-header-cta-primary--md {
    height: var(--size-control-md) !important;
    max-height: var(--size-control-md) !important;
    min-height: var(--size-control-md) !important;
}
.mf-header-cta-primary--lg {
    height: var(--size-control-lg) !important;
    max-height: var(--size-control-lg) !important;
    min-height: var(--size-control-lg) !important;
}
.main-header .mf-header-cta-primary {
    background: var(--cta-default) !important;
    border-color: var(--cta-default) !important;
    color: var(--text-inverse) !important;
    padding-left: var(--padding-control-x) !important;
    padding-right: var(--padding-control-x) !important;
    transform: none !important;
}
.main-header .mf-header-cta-primary::after { display: none !important; }
.main-header .mf-header-cta-primary:active {
    background: var(--cta-pressed) !important;
    border-color: var(--cta-pressed) !important;
}
.main-header .mf-header-cta-primary:focus-visible {
    outline: var(--border-width-focus) solid var(--focus-ring);
    outline-offset: 2px;
}
.mf-header-cta-secondary--md {
    height: var(--size-control-md) !important;
    max-height: var(--size-control-md) !important;
    min-height: var(--size-control-md) !important;
}
.mf-header-cta-secondary--lg {
    height: var(--size-control-lg) !important;
    max-height: var(--size-control-lg) !important;
    min-height: var(--size-control-lg) !important;
}
.main-header .mf-header-cta-secondary {
    background: var(--surface-page) !important;
    border: 1px solid var(--border-default) !important;
    box-shadow: none !important;
    color: var(--text-primary) !important;
    padding-left: var(--padding-control-x) !important;
    padding-right: var(--padding-control-x) !important;
    transform: none !important;
}
.main-header .nav-buttons .crunch-button-wrapper:first-child,
.main-header .nav-buttons .crunch-button-wrapper:first-child .crunch-button,
.main-header .nav-buttons .crunch-button-wrapper:first-child .crunch-button:hover,
.main-header .nav-buttons .crunch-button-wrapper:first-child .crunch-button:active,
.main-header .nav-buttons .crunch-button-wrapper:first-child .crunch-button:focus,
.main-header .nav-buttons .crunch-button-wrapper:first-child .crunch-button:focus-visible {
    box-shadow: none !important;
    filter: none !important;
}
.main-header .mf-header-cta-secondary::after { display: none !important; }
.main-header .mf-header-cta-secondary:active {
    background: var(--ghost-pressed) !important;
}
.main-header .mf-header-cta-secondary:focus-visible {
    outline: var(--border-width-focus) solid var(--focus-ring);
    outline-offset: 2px;
}

@media (max-width: 47.999rem) {
    .main-header .navbar.mf-size-bar-nav > .container {
        padding-left: var(--padding-section-x-mobile);
        padding-right: var(--padding-section-x-mobile);
    }
}

@media (min-width: 48rem) and (max-width: 89.999rem) {
    .mf-header-actions--laptop {
        display: flex !important;
    }
}

/* Laptop (1200–1439): language and login stay in the utility bar.
   They move into the drawer only below the laptop breakpoint. */
@media (min-width: 75rem) and (max-width: 89.999rem) {
    .mf-topbar__utility {
        align-items: stretch !important;
        display: flex !important;
        height: var(--size-bar-top);
    }
    .mf-topbar .js-main-header-language-switcher .custom-select__icon { display: none; }
    .mf-topbar .main-header__language-switcher-wrapper,
    .mf-topbar .js-main-header-language-switcher,
    .mf-topbar .custom-select-wrapper,
    .mf-topbar .navbar-nav,
    .mf-topbar .navbar-nav .dropdown {
        align-items: center;
        align-self: stretch;
        box-sizing: border-box;
        display: flex;
        height: var(--size-bar-top);
        margin: 0 !important;
        padding-bottom: 0 !important;
        padding-top: 0 !important;
        transform: none !important;
    }
    .mf-topbar .navbar-nav .dropdown { position: relative; }
    .mf-topbar .navbar-nav .dropdown > .nav-link {
        align-items: center;
        box-sizing: border-box;
        display: inline-flex;
        height: var(--size-bar-top);
        padding-bottom: 0 !important;
        padding-top: 0 !important;
    }
    .mf-topbar .navbar-nav .dropdown-menu {
        background: var(--surface-page) !important;
        border: 1px solid var(--border-default) !important;
        border-radius: var(--radius-sm) !important;
        box-shadow: var(--mf-shadow-overlay);
        box-sizing: border-box;
        height: 7.5rem !important;
        inset: auto 0 auto auto !important;
        margin: 0 !important;
        min-width: var(--size-panel-utility) !important;
        padding: var(--padding-panel-sm) !important;
        top: 3rem !important;
        transform: none !important;
        width: var(--size-panel-utility) !important;
        z-index: 20;
    }
    .mf-topbar .navbar-nav .dropdown-menu .menu-container,
    .mf-topbar .navbar-nav .dropdown-menu .row {
        display: block;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        width: 100% !important;
    }
    .mf-topbar .navbar-nav .dropdown-item {
        align-items: center;
        background: transparent;
        border: 0;
        border-radius: var(--radius-sm);
        box-sizing: border-box;
        color: var(--text-primary);
        display: flex;
        font-size: var(--font-size-sm);
        font-weight: 500;
        height: var(--size-control-lg) !important;
        line-height: 1.5;
        max-height: var(--size-control-lg) !important;
        min-height: var(--size-control-lg) !important;
        padding: var(--padding-control-y) var(--padding-control-x) !important;
        white-space: nowrap;
        width: 100%;
    }
    .mf-drawer__language,
    .mf-drawer__login { display: none !important; }
}

@media (min-width: 90rem) {
    .main-header .container {
        max-width: 87.5rem;
        padding-left: 0;
        padding-right: 0;
    }
    .mf-header-desktop,
    .mf-header-actions--desktop {
        display: flex !important;
    }
    .mf-header-compact { display: none !important; }
    .mf-topbar__utility {
        align-items: stretch !important;
        display: flex !important;
        height: var(--size-bar-top);
    }
    .mf-topbar .js-main-header-language-switcher .custom-select__icon { display: none; }

    .mf-topbar .main-header__language-switcher-wrapper,
    .mf-topbar .js-main-header-language-switcher,
    .mf-topbar .custom-select-wrapper,
    .mf-topbar .navbar-nav,
    .mf-topbar .navbar-nav .dropdown {
        align-items: center;
        align-self: stretch;
        box-sizing: border-box;
        display: flex;
        height: var(--size-bar-top);
        margin: 0 !important;
        padding-bottom: 0 !important;
        padding-top: 0 !important;
        transform: none !important;
    }
    .mf-topbar .navbar-nav .dropdown { position: relative; }
    .mf-topbar .navbar-nav .dropdown > .nav-link {
        align-items: center;
        box-sizing: border-box;
        display: inline-flex;
        height: var(--size-bar-top);
        padding-bottom: 0 !important;
        padding-top: 0 !important;
    }
    .mf-topbar .navbar-nav .dropdown-menu {
        background: var(--surface-page) !important;
        border: 1px solid var(--border-default) !important;
        border-radius: var(--radius-sm) !important;
        box-shadow: var(--mf-shadow-overlay);
        box-sizing: border-box;
        height: 7.5rem !important;
        inset: auto 0 auto auto !important;
        margin: 0 !important;
        min-width: var(--size-panel-utility) !important;
        padding: var(--padding-panel-sm) !important;
        top: 3rem !important;
        transform: none !important;
        width: var(--size-panel-utility) !important;
        z-index: 20;
    }
    .mf-topbar .navbar-nav .dropdown-menu .menu-container,
    .mf-topbar .navbar-nav .dropdown-menu .row {
        display: block;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        width: 100% !important;
    }
    .mf-topbar .navbar-nav .dropdown-item {
        align-items: center;
        background: transparent;
        border: 0;
        border-radius: var(--radius-sm);
        box-sizing: border-box;
        color: var(--text-primary);
        display: flex;
        font-size: var(--font-size-sm);
        font-weight: 500;
        height: var(--size-control-lg) !important;
        line-height: 1.5;
        max-height: var(--size-control-lg) !important;
        min-height: var(--size-control-lg) !important;
        padding: var(--padding-control-y) var(--padding-control-x) !important;
        white-space: nowrap;
        width: 100%;
    }
    .mf-topbar .navbar-nav .dropdown-item:active {
        background: var(--ghost-pressed) !important;
    }
    .mf-topbar .navbar-nav .dropdown-item:focus-visible {
        box-shadow: none !important;
        outline: var(--border-width-focus) solid var(--focus-ring) !important;
        outline-offset: -2px;
    }

    .main-header .navbar {
        background: var(--surface-page);
        height: var(--size-bar-nav);
        max-height: var(--size-bar-nav);
        min-height: var(--size-bar-nav);
    }
    .main-header .nav-buttons .crunch-button {
        height: var(--size-control-md);
        max-height: var(--size-control-md);
        min-height: var(--size-control-md);
        padding: 0 var(--padding-control-x) !important;
    }
    .main-header .nav-buttons .crunch-button:not(.mf-header-cta-primary):not(.mf-header-cta-secondary)::after { display: none !important; }
    .main-header .nav-buttons .crunch-button-wrapper:first-child .crunch-button {
        background: var(--surface-page) !important;
        border: 1px solid var(--border-default) !important;
        color: var(--text-primary) !important;
    }
    .main-header .nav-buttons .crunch-button-wrapper:last-child .crunch-button {
        background: var(--cta-default) !important;
        border-color: var(--cta-default) !important;
        color: var(--text-inverse) !important;
    }
}

.main-header .navbar,
.main-header .navbar > .container,
.main-header .navbar > .container > .row,
.main-header__nav-wrapper {
    position: static;
}

.mf-menu__item {
    align-items: stretch;
    display: flex;
    position: static;
}
.main-header .navbar .mf-menu .mf-menu__item--dropdown {
    align-items: center;
    height: var(--size-bar-nav);
    position: relative;
}

.mf-menu__link {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--text-primary);
    display: inline-flex;
    font-family: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.mf-menu__toggle { cursor: pointer; }
.mf-menu__link:focus-visible,
.mf-menu__item.is-current > .mf-menu__link { color: var(--text-primary); }
.mf-menu__item.is-open > .mf-menu__link,
.mf-menu__link:active { color: var(--text-accent-pressed); }
.mf-menu__item.is-open > .mf-menu__toggle svg { transform: rotate(180deg); }
.mf-menu__toggle svg { transition: transform .18s ease; }

.mf-mega {
    border-bottom-left-radius: var(--radius-sm);
    border-bottom-right-radius: var(--radius-sm);
    box-shadow: var(--mf-shadow-overlay);
    color: var(--text-primary);
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
    width: min(87.5rem, calc(100vw - 2rem));
    z-index: 1000;
}
.mf-mega[hidden] { display: none !important; }

.mf-dropdown {
    border-color: var(--border-default);
    border-style: solid;
    border-width: 0 1px 1px;
    border-bottom-left-radius: var(--radius-sm);
    border-bottom-right-radius: var(--radius-sm);
    box-shadow: var(--mf-shadow-overlay);
    box-sizing: border-box;
    color: var(--text-primary);
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
    width: 22.5rem;
    z-index: 1000;
}
.mf-dropdown[hidden] { display: none !important; }
.mf-dropdown__items { display: grid; }

.mf-mega__inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mf-mega__inner--with-card { grid-template-columns: 1.08fr 1.08fr 1fr 1.08fr; }

.mf-mega__column { min-width: 0; }
.mf-mega__heading {
    color: var(--text-secondary);
}
.mf-mega__items { display: grid; }

.mf-mega__entry {
    align-items: center;
    color: var(--text-primary);
    display: flex;
    height: 3.9375rem;
    max-height: 3.9375rem;
    min-height: 3.9375rem;
    min-width: 0;
    background: transparent;
    text-decoration: none;
    transition: background-color .15s ease, outline-color .15s ease;
}
.mf-mega__icon {
    align-items: center;
    background: var(--surface-page) !important;
    border: 1px solid var(--border-default) !important;
    display: flex;
    flex: 0 0 var(--size-control-md);
    justify-content: center;
}
.mf-mega__icon img {
    object-fit: contain;
}
.mf-mega__entry.is-muted .mf-mega__icon,
.mf-mega__entry.is-muted .mf-mega__title-row > strong,
.mf-mega__entry.is-muted .mf-mega__copy > span:not(.mf-mega__title-row) {
    opacity: .56;
}
.mf-mega__copy { display: grid; min-width: 0; }
.mf-mega__copy strong {
    align-items: center;
    display: block;
}
.mf-mega__title-row {
    align-items: center;
    display: flex;
    min-width: 0;
}
.mf-mega__badge {
    align-items: center;
    background: var(--surface-page);
    border: 1px solid var(--border-default);
    box-sizing: border-box;
    color: var(--text-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: var(--size-chip);
    justify-content: center;
    line-height: normal;
    margin-left: var(--gap-inline);
    padding-bottom: 0;
    padding-top: 0;
    position: relative;
    vertical-align: middle;
    z-index: 2;
}
.mf-mega__copy > span:not(.mf-mega__title-row) {
    color: var(--text-secondary);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mf-mega__entry:not(.is-unavailable):active { background: var(--ghost-pressed); }
.mf-mega__entry:focus-visible { background: transparent; }
.mf-mega__entry.is-unavailable,
.mf-drawer__child.is-unavailable {
    cursor: default;
    pointer-events: none;
}
.mf-mega__entry--dropdown {
    height: auto;
    max-height: none;
    min-height: var(--size-control-md);
}
.mf-mega__entry--dropdown .mf-mega__copy > span {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.mf-mega__tags {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    height: var(--size-control-lg);
    width: 19.875rem;
}
.mf-mega__tag-hit {
    align-items: center;
    background: transparent;
    border: 0;
    display: inline-flex;
    justify-content: center;
    padding: 0;
    text-decoration: none;
}
.mf-mega__tag-surface {
    align-items: center;
    border: 1px solid var(--border-default);
    box-sizing: border-box;
    color: var(--text-primary);
    display: inline-flex;
    justify-content: center;
    min-width: 4.125rem;
    opacity: 1;
    white-space: nowrap;
}
.mf-mega__tag-hit:active .mf-mega__tag-surface {
    background: var(--ghost-pressed) !important;
    border-color: transparent;
}
.main-header .mf-mega__tag-hit:focus,
.main-header .mf-mega__tag-hit:focus-visible {
    box-shadow: none !important;
    outline: 0 !important;
}
.mf-mega__tag-hit:focus-visible .mf-mega__tag-surface {
    outline: var(--border-width-focus) solid var(--focus-ring);
    outline-offset: 2px;
}

.mf-mega__why-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 19.875rem;
}
.mf-mega__why-card ul {
    display: grid;
    gap: var(--gap-inline-lg);
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}
.mf-mega__why-card li {
    align-items: center;
    display: flex;
}
.mf-mega__why-card svg { color: var(--text-accent); flex: 0 0 1.125rem; }
.mf-mega__case-card strong { color: var(--text-accent); display: block; font-size: 2rem; }
.mf-mega__case-card > span { display: block; font-size: .8rem; margin-top: var(--gap-inline-xs); }
.mf-mega__card-link {
    align-items: center;
    display: inline-flex;
    margin-top: var(--gap-stack);
    text-decoration: none;
}
.mf-mega__card-link:active { background: var(--ghost-pressed); }

@media (hover: hover) {
    .mf-menu-toggle:hover:not(:active):not(:focus-visible) {
        background-color: var(--ghost-hover) !important;
        border-color: transparent !important;
    }
    .mf-topbar .navbar-nav .nav-link:hover:not(:active) {
        background: transparent !important;
        color: var(--text-accent-hover) !important;
    }
    .mf-topbar .custom-select__selected:hover {
        background: transparent !important;
        color: var(--text-accent, #6061f6) !important;
    }
    .mf-topbar .custom-select__options__option:hover:not(:active) {
        background: var(--ghost-hover, #efeffe) !important;
    }
    .main-header .mf-header-cta-primary:hover:not(:active) {
        background: var(--cta-hover) !important;
        border-color: var(--cta-hover) !important;
        transform: none !important;
    }
    .main-header .mf-header-cta-secondary:hover:not(:active) {
        background: var(--ghost-hover) !important;
        transform: none !important;
    }
    .mf-menu__link:hover:not(:active) { color: var(--text-accent); }
    .mf-mega__entry:not(.is-unavailable):hover:not(:active) { background: var(--ghost-hover); }
    .mf-mega__tag-hit:hover:not(:active) .mf-mega__tag-surface {
        background: var(--ghost-hover) !important;
        border-color: transparent;
    }
    .mf-mega__card-link:hover { background: var(--ghost-hover); }

    @media (min-width: 90rem) {
        .main-header .nav-buttons .crunch-button-wrapper:first-child .crunch-button:hover {
            background: var(--ghost-hover) !important;
        }
        .main-header .nav-buttons .crunch-button-wrapper:last-child .crunch-button:hover {
            background: var(--cta-hover) !important;
        }
    }
}

@media (hover: hover) and (min-width: 90rem) {
    .mf-topbar .navbar-nav .dropdown-item:hover:not(:active) {
        background: var(--ghost-hover) !important;
        color: var(--text-primary);
    }
}

@media (min-width: 90rem) {
    .main-header .nav-buttons .crunch-button-wrapper:first-child .crunch-button:active {
        background: var(--ghost-pressed) !important;
    }
    .main-header .nav-buttons .crunch-button-wrapper:last-child .crunch-button:active {
        background: var(--cta-pressed) !important;
        border-color: var(--cta-pressed) !important;
    }
    .main-header .nav-buttons .crunch-button:focus-visible {
        outline: var(--border-width-focus) solid var(--focus-ring);
        outline-offset: 2px;
    }
}

@media (max-width: 1399.98px) {
    .mf-mega {
        padding-inline: var(--padding-panel);
        width: calc(100vw - 2rem);
    }
    .mf-mega__inner,
    .mf-mega__inner--with-card {
        gap: var(--gap-item);
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .mf-mega__column--card { display: none; }
}

/* ==== MF navigation drawer (<1440) ==== */
.mf-drawer__scrim { display: none; }

@media (max-width: 89.999rem) {
    body.crunch-menu--opened .main-content,
    body.crunch-menu--opened .main-header,
    body.crunch-menu--opened .main-header--is-window-scrolled {
        transform: none !important;
    }
    body.crunch-menu--opened .main-header {
        will-change: auto !important;
    }
    body.crunch-menu--opened .main-content::after,
    body.crunch-menu--opened .main-header::after {
        opacity: 0 !important;
        visibility: hidden !important;
    }
    .mf-drawer__scrim {
        background: var(--surface-scrim);
        cursor: default;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity .2s ease;
        visibility: hidden;
        z-index: 1040;
    }
    .main-header .mf-drawer {
        background: var(--surface-page);
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box;
        display: flex !important;
        height: 100dvh;
        max-height: 100dvh;
        min-height: 0;
        overflow: hidden;
        padding: var(--padding-section-x-mobile) var(--padding-section-x-mobile) var(--padding-section-y-md);
        transform: translateX(100%) !important;
        transition: transform .25s ease;
        visibility: hidden;
        width: min(100vw, var(--size-drawer-max));
        z-index: 1050 !important;
    }
    body.crunch-menu--opened .mf-drawer {
        box-shadow: none !important;
        transform: translateX(0) !important;
        visibility: visible;
    }
    body.crunch-menu--opened .crunch-menu__panel--main {
        box-shadow: none !important;
    }
    body.crunch-menu--opened .mf-drawer__scrim {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }
    .mf-drawer__header {
        align-items: center;
        display: flex;
        flex: 0 0 var(--size-control-md);
        justify-content: space-between;
        margin-bottom: var(--gap-stack);
    }
    .mf-drawer__logo {
        display: inline-flex;
        max-width: 8rem;
    }
    .mf-drawer__logo img {
        display: block;
        height: auto;
        max-width: 100%;
    }
    .mf-drawer__close {
        align-items: center;
        background: var(--surface-page);
        border: 1px solid var(--border-default);
        color: var(--text-primary);
        display: inline-flex;
        flex: 0 0 var(--size-control-md);
        font-size: 1.25rem;
        height: var(--size-control-md);
        justify-content: center;
        line-height: 1;
        padding: 0;
    }
    .mf-drawer__body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
    .mf-drawer__body.has-scroll-hint {
        -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--size-fade-x)), rgb(0 0 0 / 72%) calc(100% - 1.35rem), transparent 100%);
        mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--size-fade-x)), rgb(0 0 0 / 72%) calc(100% - 1.35rem), transparent 100%);
    }
    .mf-drawer__nav { width: 100%; }
    .mf-drawer__section { width: 100%; }
    .mf-drawer__row {
        align-items: center;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none !important;
        color: var(--text-primary);
        display: flex;
        font-size: 1rem;
        font-weight: 600;
        height: var(--size-control-lg);
        justify-content: space-between;
        min-height: var(--size-control-lg);
        padding: 0 var(--padding-nav-x);
        position: relative;
        text-align: left;
        text-decoration: none;
        width: 100%;
    }
    .mf-drawer__row::after {
        background: var(--border-default);
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        right: 0;
    }
    .mf-drawer__chevron {
        border-bottom: 1.5px solid currentColor;
        border-right: 1.5px solid currentColor;
        height: .375rem;
        margin-right: .25rem;
        transform: rotate(45deg) translate(-1px, -1px);
        transition: transform .15s ease;
        width: .375rem;
    }
    .mf-drawer__section.is-open > .mf-drawer__section-toggle .mf-drawer__chevron {
        transform: rotate(225deg) translate(-1px, -1px);
    }
    .mf-drawer__section.is-open {
        padding-bottom: var(--padding-drawer-group-y);
    }
    .mf-drawer__section.is-open > .mf-drawer__section-toggle {
        color: var(--text-accent);
    }
    .mf-drawer__section.is-open > .mf-drawer__section-toggle::after { display: none; }
    .mf-drawer__section-panel {
        display: grid;
        gap: 0;
        padding: 0 0 var(--padding-drawer-group-y);
    }
    .mf-drawer__section-panel[hidden],
    .mf-drawer__tab-panel[hidden] { display: none !important; }
    .mf-drawer__tabs-wrap {
        isolation: isolate;
        margin-bottom: 0;
        min-width: 0;
        overflow: hidden;
        padding-bottom: var(--padding-tabs-y);
        position: relative;
    }
    .mf-drawer__tabs-wrap::before,
    .mf-drawer__tabs-wrap::after {
        background: linear-gradient(90deg, transparent, var(--surface-page));
        background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--surface-page) 72%, transparent) 55%, var(--surface-page) 100%);
        bottom: 0;
        content: "";
        opacity: 0;
        pointer-events: none;
        position: absolute;
        right: 0;
        top: 0;
        transition: opacity .15s ease;
        width: var(--size-fade-x);
        z-index: 2;
    }
    .mf-drawer__tabs-wrap::before {
        background: linear-gradient(90deg, var(--surface-page), transparent);
        background: linear-gradient(90deg, var(--surface-page) 0%, color-mix(in srgb, var(--surface-page) 72%, transparent) 55%, transparent 100%);
        left: 0;
        right: auto;
    }
    .mf-drawer__tabs-wrap.has-more-left::before,
    .mf-drawer__tabs-wrap.has-more-right::after { opacity: 1; }
    .mf-drawer__tabs {
        /* The chip starts 4px below the expanded section heading. */
        align-items: flex-end;
        box-sizing: border-box;
        display: flex;
        gap: var(--gap-inline);
        height: var(--size-control-lg);
        overflow-x: auto;
        /* 40px chips sit in a 44px interactive row. The wrapper supplies
           the separate 4px spacing below the row. */
        padding: 0;
        position: relative;
        scrollbar-width: none;
        z-index: 1;
    }
    .mf-drawer__tabs-wrap.has-more-left:not(.has-more-right) .mf-drawer__tabs {
        -webkit-mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / 72%) 1.65rem, #000 var(--size-fade-x), #000 100%);
        mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / 72%) 1.65rem, #000 var(--size-fade-x), #000 100%);
    }
    .mf-drawer__tabs-wrap.has-more-right:not(.has-more-left) .mf-drawer__tabs {
        -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - var(--size-fade-x)), rgb(0 0 0 / 72%) calc(100% - 1.65rem), transparent 100%);
        mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - var(--size-fade-x)), rgb(0 0 0 / 72%) calc(100% - 1.65rem), transparent 100%);
    }
    .mf-drawer__tabs-wrap.has-more-left.has-more-right .mf-drawer__tabs {
        -webkit-mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / 72%) 1.65rem, #000 var(--size-fade-x), #000 calc(100% - var(--size-fade-x)), rgb(0 0 0 / 72%) calc(100% - 1.65rem), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / 72%) 1.65rem, #000 var(--size-fade-x), #000 calc(100% - var(--size-fade-x)), rgb(0 0 0 / 72%) calc(100% - 1.65rem), transparent 100%);
    }
    .mf-drawer__tabs::-webkit-scrollbar { display: none; }
    .mf-drawer__tabs-arrow {
        align-items: center;
        background: transparent;
        border: 0;
        bottom: var(--padding-tabs-y);
        color: var(--text-accent);
        cursor: pointer;
        display: none;
        height: var(--size-control-lg);
        justify-content: center;
        opacity: 0;
        padding: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        transition: opacity .15s ease, color .15s ease;
        width: var(--size-control-lg);
        z-index: 3;
    }
    .mf-drawer__tabs-arrow--prev { left: 0; }
    .mf-drawer__tabs-arrow--next { right: 0; }
    .mf-drawer__tabs-arrow span {
        border-bottom: 1.5px solid currentColor;
        border-right: 1.5px solid currentColor;
        height: .375rem;
        width: .375rem;
    }
    .mf-drawer__tabs-arrow--prev span { transform: rotate(135deg); }
    .mf-drawer__tabs-arrow--next span { transform: rotate(-45deg); }
    .mf-drawer__tabs-arrow:focus-visible {
        outline: var(--border-width-focus) solid var(--focus-ring);
        outline-offset: -2px;
    }
    .mf-drawer__tabs:focus,
    .mf-drawer__tabs:focus-visible {
        box-shadow: none !important;
        outline: 0 !important;
    }
    .mf-drawer__tab {
        background: var(--surface-page);
        border: 1px solid var(--border-default);
        border-radius: var(--radius-sm);
        box-shadow: none !important;
        box-sizing: border-box;
        color: var(--text-primary);
        flex: 0 0 auto;
        height: var(--size-control-md);
        padding-left: var(--padding-control-x);
        padding-right: var(--padding-control-x);
        text-transform: none;
        white-space: nowrap;
    }
    .mf-drawer__tab.is-active {
        background: var(--surface-page) !important;
        border-color: var(--border-accent);
        color: var(--text-accent);
    }
    .mf-drawer__tab-panel {
        display: grid;
        gap: 0;
    }
    .mf-drawer__child {
        align-items: center;
        border-radius: 0;
        color: var(--text-primary);
        box-sizing: border-box;
        display: flex;
        gap: var(--gap-inline-lg);
        height: var(--size-control-lg);
        max-height: var(--size-control-lg);
        min-height: var(--size-control-lg);
        padding: 0 var(--padding-nav-x);
        position: relative;
        text-decoration: none;
    }
    .mf-drawer__child::after {
        background: var(--border-default);
        bottom: 0;
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        right: 0;
    }
    .mf-drawer__child-icon {
        align-items: center;
        display: inline-flex;
        flex: 0 0 1.25rem;
        height: 1.25rem;
        justify-content: center;
    }
    .mf-drawer__child-icon img { max-height: 1.25rem; max-width: 1.25rem; }
    .mf-drawer__child-copy { display: grid; flex: 1 1 auto; min-width: 0; }
    .mf-drawer__child-title-row {
        align-items: center;
        display: flex;
        min-width: 0;
    }
    .mf-drawer__child-copy strong {
        color: var(--text-secondary);
        font-size: .875rem;
        font-weight: 500;
    }
    .mf-drawer__child-copy > span:not(.mf-drawer__child-title-row) {
        display: none;
    }
    .mf-drawer__child.is-muted .mf-drawer__child-icon,
    .mf-drawer__child.is-muted .mf-drawer__child-title-row > strong,
    .mf-drawer__child.is-muted .mf-drawer__child-copy > span:not(.mf-drawer__child-title-row) {
        opacity: .56;
    }
    .mf-drawer__external { color: currentColor; }
    .mf-drawer__footer {
        align-self: stretch;
        flex: 0 0 auto;
        padding-top: var(--gap-stack);
        width: 100%;
    }
    .mf-drawer__language {
        align-items: center;
        display: flex;
        justify-content: space-between;
        min-height: var(--size-control-lg);
    }
    .mf-drawer__eyebrow {
        color: var(--text-secondary);
        font-size: .75rem;
        font-weight: 600;
        text-transform: uppercase;
    }
    .mf-drawer__language-options { display: flex; gap: var(--gap-inline); }
    .mf-drawer__language-option {
        align-items: center;
        border: 1px solid var(--border-default);
        border-radius: var(--radius-sm);
        color: var(--text-primary);
        display: inline-flex;
        font-family: var(--font-family-sans);
        font-size: var(--font-size-xs);
        font-style: normal;
        font-weight: 600;
        height: var(--size-control-md);
        justify-content: center;
        letter-spacing: var(--letter-spacing-normal);
        line-height: 1;
        text-decoration: none;
        width: var(--size-control-md);
    }
    .mf-drawer__language-option.is-active {
        border-color: var(--border-accent);
        color: var(--text-accent);
    }
    .mf-drawer__login {
        margin-top: var(--gap-stack-sm) !important;
        width: 100%;
    }
    /* EN Sign in is a direct link, not an expandable drawer row. */
    .mf-drawer__login--direct .mf-drawer__row {
        justify-content: center;
    }
    .mf-drawer__login--direct .mf-drawer__row::after { display: none; }
    .mf-drawer__login-option {
        align-items: center;
        border-bottom: 1px solid var(--border-default);
        border-radius: 0;
        box-sizing: border-box;
        color: var(--text-secondary);
        display: flex;
        font-size: var(--font-size-sm);
        font-weight: 500;
        gap: var(--gap-inline-lg);
        height: var(--size-control-lg);
        min-height: var(--size-control-lg);
        padding: 0 var(--padding-nav-x);
        text-decoration: none;
        width: 100%;
    }
    /* Retain the 20px child-icon slot even though login destinations have
       no icon; that is the visual indentation used by drawer children. */
    .mf-drawer__login-option::before {
        content: "";
        flex: 0 0 1.25rem;
        width: 1.25rem;
    }
    .mf-drawer .nav-buttons {
        align-items: stretch !important;
        display: grid !important;
        gap: var(--gap-stack-sm) !important;
        padding: var(--gap-stack-sm) 0 0 !important;
        box-sizing: border-box;
        max-width: none !important;
        min-width: 100% !important;
        grid-template-columns: minmax(0, 1fr);
        width: 100% !important;
    }
    .mf-drawer .nav-buttons .crunch-button-wrapper,
    .mf-drawer .nav-buttons .crunch-button {
        box-sizing: border-box;
        display: flex !important;
        font-weight: 500 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
        min-width: 100% !important;
        width: 100% !important;
    }
    .mf-drawer .nav-buttons .crunch-button-wrapper {
        align-self: stretch !important;
    }

    @media (hover: hover) {
        .mf-drawer__row:hover,
        .mf-drawer__child:hover,
        .mf-drawer__login-option:hover { background: var(--ghost-hover); }
        .mf-drawer__tab:hover:not(:active),
        .mf-drawer__language-option:hover:not(:active) { background: var(--ghost-hover); }
    }
    /* Arrow controls exist only in the laptop drawer. On touch, the 48px
       edge fades remain the sole affordance for horizontal swiping. */
    @media (min-width: 75rem) and (hover: hover) and (pointer: fine) {
        .mf-drawer__tabs-wrap::before,
        .mf-drawer__tabs-wrap::after { width: 6rem; }
        .mf-drawer__tabs-wrap.has-more-left:not(.has-more-right) .mf-drawer__tabs {
            -webkit-mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / 72%) 3.3rem, #000 6rem, #000 100%);
            mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / 72%) 3.3rem, #000 6rem, #000 100%);
        }
        .mf-drawer__tabs-wrap.has-more-right:not(.has-more-left) .mf-drawer__tabs {
            -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 6rem), rgb(0 0 0 / 72%) calc(100% - 3.3rem), transparent 100%);
            mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 6rem), rgb(0 0 0 / 72%) calc(100% - 3.3rem), transparent 100%);
        }
        .mf-drawer__tabs-wrap.has-more-left.has-more-right .mf-drawer__tabs {
            -webkit-mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / 72%) 3.3rem, #000 6rem, #000 calc(100% - 6rem), rgb(0 0 0 / 72%) calc(100% - 3.3rem), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / 72%) 3.3rem, #000 6rem, #000 calc(100% - 6rem), rgb(0 0 0 / 72%) calc(100% - 3.3rem), transparent 100%);
        }
        .mf-drawer__tabs-wrap.has-more-left .mf-drawer__tabs-arrow--prev:not(:disabled),
        .mf-drawer__tabs-wrap.has-more-right .mf-drawer__tabs-arrow--next:not(:disabled) {
            display: inline-flex;
            opacity: 1;
            pointer-events: auto;
        }
        .mf-drawer__tabs-arrow:hover:not(:active) { color: var(--text-accent); }
        .mf-drawer__tabs-arrow:active { color: var(--text-accent-pressed); }
    }
    .mf-drawer__row:active,
    .mf-drawer__child:active,
    .mf-drawer__login-option:active,
    .mf-drawer__language-option:active { background: var(--ghost-pressed); }
    .mf-drawer__tab:not(.is-active):active {
        background: var(--surface-page) !important;
        border-color: var(--border-default) !important;
        color: var(--text-primary) !important;
    }
    .mf-drawer__row:focus-visible,
    .mf-drawer__child:focus-visible,
    .mf-drawer__login-option:focus-visible {
        background: transparent;
        border-radius: var(--radius-xs);
        box-shadow: none !important;
        outline-offset: -2px !important;
    }
    .mf-drawer__tab:focus-visible,
    .mf-drawer__language-option:focus-visible {
        box-shadow: none !important;
        outline: var(--border-width-focus) solid var(--focus-ring) !important;
        outline-offset: -2px !important;
    }
}

@media (min-width: 48rem) and (max-width: 89.999rem) {
    .mf-drawer__scrim {
        bottom: 0;
        display: block;
        top: var(--mf-drawer-top, calc(var(--size-bar-top) + var(--size-bar-nav)));
    }
    .main-header .mf-drawer {
        bottom: 0;
        height: auto;
        max-height: none;
        top: var(--mf-drawer-top, calc(var(--size-bar-top) + var(--size-bar-nav))) !important;
        width: var(--size-drawer-max);
    }
    .mf-drawer__header { display: none; }
    .mf-menu-toggle::after {
        color: var(--text-primary);
        content: "×";
        display: none;
        font-size: 1.25rem;
        font-weight: 400;
        line-height: 1;
    }
    body.crunch-menu--opened .mf-menu-toggle__icon { display: none; }
    body.crunch-menu--opened .mf-menu-toggle::after { display: block; }
}

@media (max-width: 47.999rem) {
    body.crunch-menu--opened .main-header {
        top: 0 !important;
        transform: none !important;
    }
    .main-header .mf-drawer {
        bottom: 0 !important;
        height: calc(100dvh - var(--size-bar-top));
        inset: var(--size-bar-top) 0 0 auto !important;
        max-height: calc(100dvh - var(--size-bar-top));
        max-width: none;
        padding-top: max(var(--padding-section-x-mobile), env(safe-area-inset-top));
        position: fixed !important;
        width: 100vw;
        z-index: 1200 !important;
    }
    .main-header.mf-topbar-is-hidden .mf-drawer {
        height: 100dvh;
        inset-block-start: 0 !important;
        max-height: 100dvh;
    }

    @media (hover: hover) {
        .mf-drawer__row:hover,
        .mf-drawer__child:hover,
        .mf-drawer__login-option:hover {
            background: transparent !important;
            color: var(--text-accent) !important;
        }
        .mf-drawer__child:hover .mf-drawer__child-copy strong {
            color: var(--text-accent) !important;
        }
        .mf-drawer__tab:hover:not(:active),
        .mf-drawer__language-option:hover:not(:active) {
            background: var(--surface-page) !important;
            color: var(--text-accent) !important;
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .main-header .mf-drawer,
    .mf-drawer__scrim { transition: none; }
}
/* ==== /MF MEGA MENU ==== */
