/*
 * IFA FILTRI theme overrides.
 *
 * Static, cacheable CSS for the local theme customizations. Dynamic values
 * from WordPress Customizer stay in nm-custom-code.php as CSS variables.
 *
 * Structure:
 * 1. Reusable component contracts
 * 2. Product badges
 * 3. Header and navigation
 * 4. Footer system
 * 5. Home/catalog layout
 * 6. Home visual modules
 * 7. Product cards
 * 8. Search, empty states and controls
 * 9. Category covers
 * 10. Responsive adjustments
 */

/* Reusable component contracts
--------------------------------------------------------------- */
.theme-IFA {
    --ifa-font-family: Montserrat, Arial, sans-serif;
    --ifa-color-brand: var(--nm--color-accent, #124389);
    --ifa-color-brand-deep: var(--nm--color-font-highlight, #0d336b);
    --ifa-color-brand-mid: #1f5aa5;
    --ifa-color-brand-soft: #4774ad;
    --ifa-color-ink: var(--nm--color-font-strong, #282828);
    --ifa-color-text: #44515f;
    --ifa-color-muted: #59697c;
    --ifa-color-surface: var(--nm--color-surface, #fbfcfd);
    --ifa-color-surface-muted: var(--nm--color-surface-muted, #eef1f4);
    --ifa-color-surface-brand: #eef3f8;
    --ifa-color-border: var(--nm--color-border, #d8e1ec);
    --ifa-color-on-brand: var(--nm--color-accent-contrast, #fbfcfd);
    --ifa-space-1: 8px;
    --ifa-space-2: 12px;
    --ifa-space-3: 16px;
    --ifa-space-4: 24px;
    --ifa-space-5: 32px;
    --ifa-space-6: 48px;
    --ifa-space-7: 64px;
    --ifa-space-8: 86px;
    --ifa-page-gutter: clamp(20px, 3vw, 56px);
    --ifa-layout-wide: var(--ifa-aligned-content-width, min(calc(100vw - clamp(24px, 3vw, 56px)), 1440px));
    --ifa-layout-content: min(calc(100% - clamp(36px, 6vw, 72px)), 1220px);
    --ifa-layout-readable: 68ch;
    --ifa-type-body-size: 16px;
    --ifa-type-body-line-height: 1.7;
    --ifa-section-space-compact: clamp(40px, 4vw, 58px);
    --ifa-section-space: clamp(54px, 6vw, 86px);
    --ifa-section-space-spacious: clamp(72px, 8vw, 112px);
    --ifa-hero-space: clamp(64px, 7vw, 96px);
    --ifa-type-page-title: clamp(42px, 5vw, 56px);
    --ifa-type-section-title: clamp(30px, 3.4vw, 40px);
    --ifa-type-content-title: clamp(25px, 2.6vw, 30px);
    --ifa-type-title-weight: 800;
    --ifa-type-title-line-height: 1.14;
    --ifa-type-title-letter-spacing: 0;
    --ifa-type-eyebrow-letter-spacing: .04em;
    --ifa-motion-fast: 180ms ease-out;
    --ifa-motion-slow: 650ms cubic-bezier(.22, 1, .36, 1);
    --ifa-focus-ring: 0 0 0 3px color-mix(in srgb, var(--ifa-color-brand) 24%, transparent);
    --ifa-focus-outline-offset: 0;
    --ifa-z-content: 1;
    --ifa-z-controls: 3;
    --ifa-z-overlay: 20;
    font-family: var(--ifa-font-family);
}

.theme-IFA :where(#nm-header, #nm-footer, .nm-page-wrap, .entry-content, .ifa-map) {
    font-family: var(--ifa-font-family);
}

.theme-IFA :where(p, a, button, input, select, textarea, label, li, dt, dd, th, td, small, strong, em) {
    font-family: inherit;
}

.theme-IFA :where(.ifa-surface, .ifa-card, .ifa-panel) {
    color: var(--nm--color-font);
    background: var(--nm--color-surface);
    border: 1px solid var(--nm--color-border);
    border-radius: var(--nm--border-radius-container, 0);
    box-shadow: none;
}

.theme-IFA :where(.ifa-card, .ifa-panel) {
    padding: clamp(20px, 2.4vw, 32px);
}

.theme-IFA :where(.ifa-section) {
    position: relative;
    width: 100%;
    margin: 0;
    padding-block: var(--ifa-section-space);
}

.theme-IFA :where(.ifa-section--flush) {
    padding-block: 0;
}

.theme-IFA :where(.ifa-section--flush-bottom) {
    padding-bottom: 0;
}

.theme-IFA :where(.ifa-section--compact) {
    padding-block: var(--ifa-section-space-compact);
}

.theme-IFA :where(.ifa-section--spacious) {
    padding-block: var(--ifa-section-space-spacious);
}

.theme-IFA :where(.ifa-section--surface-brand) {
    background: var(--ifa-color-surface-brand);
}

.theme-IFA :where(.ifa-section--surface-blue) {
    color: var(--ifa-color-on-brand);
    background: var(--ifa-color-brand);
}

.theme-IFA :where(.ifa-section--surface-blue-deep) {
    color: var(--ifa-color-on-brand);
    background: var(--ifa-color-brand-deep);
}

.theme-IFA :where(.ifa-container) {
    box-sizing: border-box;
    width: var(--ifa-layout-wide);
    max-width: 100%;
    margin-inline: auto;
}

.theme-IFA :where(.ifa-visually-hidden) {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.theme-IFA :where(.ifa-label) {
    color: var(--nm--color-font-strong);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: var(--ifa-type-eyebrow-letter-spacing);
    text-transform: uppercase;
}

.theme-IFA :where(.ifa-section-heading) {
    width: min(100%, 760px);
    margin: 0 auto clamp(32px, 4vw, 48px);
    text-align: center;
}

.theme-IFA :where(.ifa-section-eyebrow) {
    margin: 0 0 10px;
    color: var(--nm--color-accent, #124389);
}

.theme-IFA :where(.ifa-section-title) {
    margin: 0;
    color: var(--nm--color-font-strong, #282828);
    font-family: inherit;
    font-size: var(--ifa-type-section-title);
    font-weight: var(--ifa-type-title-weight);
    letter-spacing: var(--ifa-type-title-letter-spacing);
    line-height: var(--ifa-type-title-line-height);
    text-transform: uppercase;
}

.theme-IFA :where(.ifa-section-subtitle) {
    max-width: 760px;
    margin: 14px auto 0;
    color: var(--nm--color-accent, #124389);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.55;
}

.theme-IFA :where(.ifa-section-description) {
    max-width: var(--ifa-layout-readable);
    margin: 16px auto 0;
    color: var(--ifa-color-text);
    font-family: inherit;
    font-size: var(--ifa-type-body-size);
    font-weight: 400;
    letter-spacing: 0;
    line-height: var(--ifa-type-body-line-height);
}

.theme-IFA :where(.ifa-section-description p) {
    margin: 0;
}

.theme-IFA :where(.ifa-content-title) {
    margin: 0;
    color: var(--nm--color-font-highlight, #0d336b);
    font-family: inherit;
    font-size: var(--ifa-type-content-title);
    font-weight: var(--ifa-type-title-weight);
    letter-spacing: var(--ifa-type-title-letter-spacing);
    line-height: var(--ifa-type-title-line-height);
}

.theme-IFA :where(.ifa-content-description) {
    margin-top: 18px;
    color: #44515f;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.8;
}

.theme-IFA :where(.ifa-content-description p) {
    margin: 0;
}

.theme-IFA :where(.ifa-content-description p + p) {
    margin-top: 12px;
}

.theme-IFA.ifa-navbar-logo-compact:not(.mobile-menu-open) {
    --ifa-header-height: 112px;
    --ifa-header-line-height: 26px;
    --ifa-header-padding-y: 18px;
    --ifa-header-padding-bottom: 18px;
    --ifa-header-menu-offset: 10px;
    --ifa-logo-height: 40px;
    --ifa-header-height-mobile: 86px;
    --ifa-header-line-height-mobile: 42px;
    --ifa-header-padding-y-mobile: 8px;
    --ifa-header-height-small: 70px;
    --ifa-header-line-height-small: 34px;
}

.theme-IFA .nm-header-placeholder {
    height: var(--ifa-header-height);
    transition: height 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-IFA #nm-header,
.theme-IFA.header-on-scroll #nm-header:not(.static-on-scroll) {
    box-sizing: border-box;
    height: var(--ifa-header-height);
    padding-top: var(--ifa-header-padding-y);
    padding-bottom: var(--ifa-header-padding-bottom);
    line-height: var(--ifa-header-line-height);
	    transition:
	        height 520ms cubic-bezier(0.16, 1, 0.3, 1),
	        padding 520ms cubic-bezier(0.16, 1, 0.3, 1),
	        line-height 520ms cubic-bezier(0.16, 1, 0.3, 1),
	        background 520ms cubic-bezier(0.16, 1, 0.3, 1),
	        box-shadow 520ms cubic-bezier(0.16, 1, 0.3, 1);
	    box-shadow: 0 8px 22px rgba(6, 12, 20, 0.12), 0 1px 0 rgba(6, 12, 20, 0.06);
	}

.theme-IFA #nm-header .nm-header-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.theme-IFA #nm-main-menu-ul > li.current-menu-item > a,
.theme-IFA #nm-main-menu-ul > li.current-menu-parent > a,
.theme-IFA #nm-main-menu-ul > li.current-menu-ancestor > a {
    color: var(--nm--color-accent);
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--nm--color-accent);
    text-underline-offset: 7px;
    text-decoration-skip-ink: none;
}

@media all and (min-width: 992px) {
    .theme-IFA #nm-header.stacked .nm-main-menu,
    .theme-IFA #nm-header.stacked-logo-centered .nm-main-menu,
    .theme-IFA #nm-header.stacked-centered .nm-main-menu {
        line-height: var(--ifa-header-line-height);
        margin-top: var(--ifa-header-menu-offset);
        transition:
            line-height 520ms cubic-bezier(0.16, 1, 0.3, 1),
            margin-top 520ms cubic-bezier(0.16, 1, 0.3, 1);
    }

	    .theme-IFA #nm-main-menu-ul > li > a {
	        height: auto;
	        padding-top: 0;
	        padding-bottom: 0;
	        line-height: var(--ifa-header-line-height);
        transition:
            line-height 520ms cubic-bezier(0.16, 1, 0.3, 1),
            padding 520ms cubic-bezier(0.16, 1, 0.3, 1),
            color 180ms ease,
	            text-shadow 520ms cubic-bezier(0.16, 1, 0.3, 1);
	    }

	    .theme-IFA #nm-header.centered .nm-header-inner,
	    .theme-IFA #nm-header.centered .nm-row {
	        height: calc(var(--ifa-header-height) - var(--ifa-header-padding-y) - var(--ifa-header-padding-bottom));
	    }

	    .theme-IFA #nm-header.centered .nm-row {
	        padding-right: 15px !important;
	        padding-left: 15px !important;
	    }

	    .theme-IFA #nm-header.centered .nm-row {
	        display: flex;
	        flex-direction: column;
	        align-items: center;
	        justify-content: center;
	    }

	    .theme-IFA #nm-header.centered .nm-header-logo {
	        position: relative;
	        top: auto;
	        left: auto;
	        display: flex;
	        justify-content: center;
	        width: auto;
	        margin: 0 auto 6px;
	        line-height: 1;
	        transform: none;
	    }

	    .theme-IFA #nm-header.centered .nm-main-menu-wrap {
	        display: flex;
	        justify-content: center;
	        width: 100%;
	        line-height: var(--ifa-header-line-height);
	    }

	    .theme-IFA #nm-header.centered .nm-main-menu {
	        display: flex;
	        justify-content: center;
	        width: 100%;
	        margin-top: var(--ifa-header-menu-offset);
	        margin-left: 0;
	        text-align: center;
	        line-height: var(--ifa-header-line-height);
	        transition:
	            line-height 520ms cubic-bezier(0.16, 1, 0.3, 1),
	            margin-top 520ms cubic-bezier(0.16, 1, 0.3, 1);
	    }

	    .theme-IFA #nm-header.centered #nm-main-menu-ul {
	        display: flex;
	        align-items: center;
	        justify-content: center;
	        gap: 30px;
	        width: 100%;
	        margin: 0;
	        line-height: var(--ifa-header-line-height);
	    }

	    .theme-IFA #nm-header.centered #nm-main-menu-ul > li:not(.nm-menu-offscreen) {
	        display: flex;
	        align-items: center;
	        justify-content: center;
	    }

	.theme-IFA #nm-header.centered #nm-main-menu-ul > li:not(.nm-menu-offscreen) > a {
	        padding-right: 0;
	        padding-left: 0;
	    }
	}

@media all and (max-width: 991px) {
    .theme-IFA .nm-header-placeholder {
        height: var(--ifa-header-height-mobile) !important;
    }

    .theme-IFA #nm-header,
    .theme-IFA.header-on-scroll #nm-header:not(.static-on-scroll) {
        height: var(--ifa-header-height-mobile) !important;
        padding-top: var(--ifa-header-padding-y-mobile) !important;
        padding-bottom: var(--ifa-header-padding-y-mobile) !important;
        line-height: var(--ifa-header-line-height-mobile) !important;
    }

    .theme-IFA #nm-header .nm-header-inner,
    .theme-IFA #nm-header .nm-header-row,
    .theme-IFA #nm-header .nm-header-col {
        height: var(--ifa-header-content-height-mobile) !important;
        line-height: var(--ifa-header-content-height-mobile) !important;
    }

    .theme-IFA #nm-header.stacked-centered .nm-header-logo {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        margin: 0 !important;
        padding-bottom: 0 !important;
        transform: translate(-50%, -50%) !important;
    }

    .theme-IFA #nm-header .nm-main-menu {
        position: absolute !important;
        top: 50% !important;
        left: 14px !important;
        right: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        margin-top: 0 !important;
        line-height: 1 !important;
        transform: translateY(-50%) !important;
        transition:
            transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
            margin-top 520ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .theme-IFA #nm-header .nm-main-menu > ul,
    .theme-IFA #nm-header .nm-main-menu > ul > li.nm-menu-offscreen {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }

    .theme-IFA #nm-header .nm-mobile-menu-button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        appearance: none;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        border: 0;
        background: transparent;
        color: inherit;
        font: inherit;
        line-height: 1 !important;
        cursor: pointer;
    }

    .theme-IFA #nm-header .nm-mobile-menu-button .nm-menu-icon {
        flex: 0 0 16px;
    }
}

@media all and (max-width: 400px) {
    .theme-IFA {
        --ifa-header-content-height-mobile: var(--ifa-header-content-height-small);
    }

    .theme-IFA .nm-header-placeholder {
        height: var(--ifa-header-height-small) !important;
    }

    .theme-IFA #nm-header,
    .theme-IFA.header-on-scroll #nm-header:not(.static-on-scroll) {
        height: var(--ifa-header-height-small) !important;
        line-height: var(--ifa-header-line-height-small) !important;
    }
}

/* Footer system
--------------------------------------------------------------- */
:root {
    --ifa-footer-brand-blue: #124389;
    --ifa-footer-font-color: rgba(251, 252, 253, .78);
    --ifa-footer-highlight-color: #fbfcfd;
    --ifa-footer-border-color: rgba(251, 252, 253, .22);
    --ifa-footer-background-color: var(--ifa-footer-brand-blue);
}

/* IFA footer */
.theme-IFA .nm-footer-bar.ifa-footer {
    --ifa-footer-logo-height: 63px;
    --ifa-footer-brand-logo-gap: 26px;
    color: var(--ifa-footer-font-color);
}

.theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-inner {
    padding-top: 46px;
    padding-bottom: 24px;
    background: var(--ifa-footer-background-color);
    border-top: 1px solid var(--ifa-footer-border-color);
}

@media all and (min-width: 1025px) {
    .theme-IFA .nm-footer-bar.ifa-footer .nm-row {
        position: relative;
        max-width: none;
        width: var(--ifa-aligned-content-width);
        padding-left: 0;
        padding-right: 0;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__bottom {
        position: absolute;
        bottom: 0;
        left: var(--nm--page-column-spacing);
        display: block;
        width: min(calc(58vw - var(--nm--page-column-spacing)), 805px);
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
}

@media all and (min-width: 1025px) and (max-width: 1199px) {
    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-copyright-text {
        font-size: clamp(10.5px, 1.02vw, 11px);
        line-height: 1.4;
        white-space: nowrap;
    }
}

.theme-IFA .ifa-footer__main {
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) minmax(140px, .54fr) minmax(220px, .82fr) minmax(280px, 1fr);
    gap: 34px 44px;
    align-items: start;
}

.theme-IFA .ifa-footer__brand,
.theme-IFA .ifa-footer__section {
    min-width: 0;
}

.theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-logo {
    margin: 0 0 var(--ifa-footer-brand-logo-gap);
}

.theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-logo img {
    width: auto;
    max-width: min(315px, 100%);
    max-height: var(--ifa-footer-logo-height);
}

.theme-IFA .ifa-footer__company {
    margin: 0 0 8px;
    color: var(--ifa-footer-highlight-color);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 600;
}

.theme-IFA .ifa-footer__claim {
    max-width: 520px;
    margin: 0;
    color: var(--ifa-footer-font-color);
    font-size: 14px;
    line-height: 1.7;
    opacity: .88;
}

.theme-IFA .ifa-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.theme-IFA .ifa-footer__socials li {
    margin: 0;
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--ifa-footer-highlight-color);
    background: rgba(251, 252, 253, .08);
    border: 1px solid rgba(251, 252, 253, .32);
    text-decoration: none;
    transition: color var(--ifa-motion-fast), background-color var(--ifa-motion-fast), border-color var(--ifa-motion-fast);
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__socials a:hover,
.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__socials a:focus-visible {
    color: var(--ifa-footer-background-color);
    background: var(--ifa-footer-highlight-color);
    border-color: var(--ifa-footer-highlight-color);
    transform: none;
}

.theme-IFA .ifa-footer__social-icon {
    display: block;
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.theme-IFA .ifa-footer__social-label {
    display: none;
}

.theme-IFA .ifa-footer__heading {
    margin: 0 0 13px;
    color: var(--ifa-footer-highlight-color);
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.theme-IFA .ifa-footer__links {
    display: grid;
    gap: 8px;
    margin: 0;
}

.theme-IFA .ifa-footer__links li {
    margin: 0;
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__links a {
    color: var(--ifa-footer-font-color);
    text-decoration: none;
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__links a:hover {
    color: var(--ifa-footer-highlight-color);
}

.theme-IFA .ifa-footer__meta {
    display: grid;
    gap: 10px;
    margin: 0;
}

.theme-IFA .ifa-footer__meta div {
    display: grid;
    gap: 2px;
}

.theme-IFA .ifa-footer__meta dt {
    color: var(--ifa-footer-font-color);
    font-size: 12px;
    line-height: 1.4;
    opacity: .72;
}

.theme-IFA .ifa-footer__meta dd {
    margin: 0;
    color: var(--ifa-footer-highlight-color);
    font-size: 14px;
    line-height: 1.55;
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__meta a {
    display: inline-block;
    color: var(--ifa-footer-highlight-color);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__meta a:hover {
    text-decoration: underline;
}

.theme-IFA .ifa-footer__certification-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.theme-IFA .ifa-footer__certification-list li {
    margin: 0;
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__certification-list a,
.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__certification-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 122px;
    padding: 14px 16px;
    background: rgba(251, 252, 253, .98);
    border: 1px solid rgba(251, 252, 253, .42);
    box-shadow: 0 12px 24px rgba(4, 20, 44, .14);
    text-decoration: none;
    transition: background-color var(--ifa-motion-fast), border-color var(--ifa-motion-fast);
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__certification-list a:hover,
.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__certification-list a:focus-visible {
    background: rgba(251, 252, 253, 1);
    border-color: var(--ifa-footer-highlight-color);
    box-shadow: 0 12px 24px rgba(4, 20, 44, .14);
    transform: none;
}

.theme-IFA .ifa-footer__certification-list img {
    display: block;
    max-width: 100%;
    max-height: 96px;
    object-fit: contain;
}

.theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__partner-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: inherit;
    text-decoration: none;
}

.theme-IFA .ifa-footer__partner-divider {
    display: block;
    width: 100%;
    height: 1px;
    margin: 18px 0;
    padding: 0;
    border: 0;
    background: rgba(251, 252, 253, .32);
}

.theme-IFA .ifa-footer__partner-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.theme-IFA .ifa-footer__partner-list li {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 10px 14px;
    background: rgba(251, 252, 253, .98);
    border: 1px solid rgba(251, 252, 253, .42);
    box-shadow: 0 12px 24px rgba(4, 20, 44, .14);
}

.theme-IFA .ifa-footer__partner-list img {
    display: block;
    max-width: 142px;
    max-height: 34px;
    object-fit: contain;
}

.theme-IFA .ifa-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    margin-top: 34px;
    padding-top: 18px;
    border-top: 1px solid var(--ifa-footer-border-color);
    color: var(--ifa-footer-font-color);
    font-size: 13px;
    line-height: 1.6;
    opacity: .9;
}

.theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-social {
    gap: 14px;
}

.theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-social a {
    color: var(--ifa-footer-font-color);
}

.theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-social a:hover {
    color: var(--ifa-footer-highlight-color);
}

@media all and (max-width: 991px) {
    .theme-IFA .ifa-footer__main {
        grid-template-columns: minmax(0, 1fr) minmax(180px, .7fr);
    }

    .theme-IFA .ifa-footer__brand {
        grid-column: 1 / -1;
    }

    .theme-IFA .ifa-footer__certifications {
        grid-column: 1 / -1;
    }

    .theme-IFA .ifa-footer__certification-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        max-width: none;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-right .nm-footer-bar-col-inner {
        justify-content: flex-start;
    }

    /* Bar: Text */
    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-text {
        width: 100%;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-right .nm-footer-bar-text {
        justify-content: flex-start;
    }

    /* Bar: Right column inner */
    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-right .nm-footer-bar-col-inner {
        margin-top: var(--nm--footer-content-spacing);
    }
}

@media all and (max-width: 550px) {
    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-inner {
        padding-top: 34px;
        padding-bottom: 22px;
    }

    .theme-IFA .nm-footer-bar.ifa-footer {
        --ifa-footer-logo-height: 68px;
        --ifa-footer-brand-logo-gap: 24px;
    }

    .theme-IFA .ifa-footer__main {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .theme-IFA .ifa-footer__brand {
        text-align: left;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-logo {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-logo img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        max-height: none;
        margin: 0 auto;
        object-fit: contain;
    }

    .theme-IFA .ifa-footer__socials {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        gap: 10px;
    }

    .theme-IFA .ifa-footer__socials li {
        min-width: 0;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__socials a {
        width: 100%;
        height: 44px;
        gap: 8px;
        padding: 0 12px;
        box-sizing: border-box;
    }

    .theme-IFA .ifa-footer__social-label {
        display: inline-block;
        min-width: 0;
        color: inherit;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .theme-IFA .ifa-footer__main > .ifa-footer__section {
        padding-top: 22px;
        border-top: 1px solid rgba(251, 252, 253, .32);
    }

    .theme-IFA .ifa-footer__certification-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        max-width: none;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__certification-list a,
    .theme-IFA .nm-footer-bar.ifa-footer .ifa-footer__certification-item {
        min-height: 100px;
        padding: 10px 12px;
    }

    .theme-IFA .ifa-footer__certification-list img {
        max-height: 78px;
    }

    .theme-IFA .ifa-footer__partner-divider {
        margin: 16px 0;
    }

    .theme-IFA .ifa-footer__partner-list li {
        min-height: 54px;
        padding: 10px 16px;
    }

    .theme-IFA .ifa-footer__partner-list img {
        max-width: 110px;
        max-height: 32px;
    }

    .theme-IFA .ifa-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 28px;
        padding-top: 22px;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .nm-footer-bar-col-inner {
        flex-direction: column;
    }

    /* Bar: Menu */
    .theme-IFA .nm-footer-bar.ifa-footer .menu {
        display: block;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .menu>li {
        display: block;
        padding: 3px 0;
        border-bottom: 1px solid #3a3a3a;
    }

    .theme-IFA .nm-footer-bar.ifa-footer .menu>li:last-child {
        border-bottom: 0 none;
    }
}

.theme-IFA .nm-footer-bar.ifa-footer .nm-row {
    box-sizing: border-box;
    width: 100% !important;
    max-width: var(--ifa-catalog-content-width) !important;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--ifa-layout-gutter) !important;
    padding-left: var(--ifa-layout-gutter) !important;
}

.home.ifa-institutional-home .nm-page-wrap {
    background: #fff;
}

.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open) #nm-header {
    padding-top: var(--ifa-header-padding-y) !important;
    padding-bottom: var(--ifa-header-padding-bottom) !important;
    line-height: var(--ifa-header-line-height) !important;
    background: #fff !important;
}

.home.ifa-institutional-home.header-on-scroll:not(.mobile-menu-open) #nm-header {
    background-color: var(--nm--color-surface, #fbfcfd) !important;
}

.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-header {
    box-shadow: 0 1px 0 rgba(18, 67, 137, 0.1);
}

.home.ifa-institutional-home:not(.mobile-menu-open) #nm-header::before,
.home.ifa-institutional-home:not(.mobile-menu-open) #nm-header::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    transition: opacity 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.home.ifa-institutional-home:not(.mobile-menu-open) #nm-header::before {
    background: #fbfcfd;
    opacity: 0;
}

.home.ifa-institutional-home:not(.mobile-menu-open) #nm-header::after {
    background: linear-gradient(to bottom, rgba(6, 12, 20, 0.88) 0%, rgba(6, 12, 20, 0.58) 56%, rgba(6, 12, 20, 0) 100%);
    opacity: 0;
}

.home.ifa-institutional-home:not(.mobile-menu-open) #nm-header .nm-header-inner {
    position: relative;
    z-index: 1;
}

.home.ifa-institutional-home:not(.mobile-menu-open) #nm-header .nm-main-menu {
    margin-top: var(--ifa-header-menu-offset) !important;
}

@media all and (max-width: 991px) {
    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open) #nm-header {
        padding-top: var(--ifa-header-padding-y-mobile) !important;
        padding-bottom: var(--ifa-header-padding-y-mobile) !important;
        line-height: var(--ifa-header-line-height-mobile) !important;
    }

    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-header {
        background: #fff !important;
        box-shadow: 0 1px 0 rgba(18, 67, 137, 0.1) !important;
    }

    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-header::before,
    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-header::after {
        opacity: 0 !important;
    }

    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) .nm-header-logo .nm-alt-logo {
        opacity: 0 !important;
    }

    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) .nm-header-logo .nm-logo {
        opacity: 1 !important;
    }

    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) .nm-header-logo .nm-alt-logo {
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) .nm-menu-icon span {
        background: var(--ifa-color-ink) !important;
    }

    .home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) .nm-mobile-menu-material-icon {
        color: var(--ifa-color-ink) !important;
    }

    .home.ifa-institutional-home:not(.mobile-menu-open) #nm-header .nm-main-menu {
        margin-top: 0 !important;
    }
}

.home.ifa-institutional-home.ifa-navbar-logo-compact:not(.mobile-menu-open) #nm-header {
    background-color: var(--nm--color-surface, #fbfcfd) !important;
    box-shadow: 0 8px 22px rgba(6, 12, 20, 0.14), 0 1px 0 rgba(6, 12, 20, 0.07);
}

.home.ifa-institutional-home.ifa-navbar-logo-compact:not(.mobile-menu-open) #nm-header::before {
    opacity: 1;
}

.home.ifa-institutional-home.ifa-navbar-logo-compact:not(.mobile-menu-open) #nm-header::after {
    opacity: 0;
}

.home.ifa-institutional-home:not(.mobile-menu-open) .nm-header-logo a {
    position: relative;
    display: inline-block;
}

.home.ifa-institutional-home:not(.mobile-menu-open) .nm-header-logo .nm-logo,
.home.ifa-institutional-home:not(.mobile-menu-open) .nm-header-logo .nm-alt-logo {
    display: inline-block !important;
    height: var(--ifa-logo-height) !important;
    transition:
        opacity 520ms cubic-bezier(0.16, 1, 0.3, 1),
        height 520ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, height, transform;
}

.home.ifa-institutional-home:not(.mobile-menu-open) .nm-header-logo .nm-alt-logo {
    position: absolute;
    top: 0;
    left: 0;
}

.home.ifa-institutional-home.ifa-navbar-logo-compact:not(.mobile-menu-open) .nm-header-logo .nm-alt-logo {
    opacity: 0 !important;
}

.home.ifa-institutional-home.ifa-navbar-logo-compact:not(.mobile-menu-open) .nm-header-logo .nm-logo {
    opacity: 1 !important;
}

.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) .nm-header-logo .nm-alt-logo {
    opacity: 0;
}

.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) .nm-header-logo .nm-logo {
    opacity: 1;
}

.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li > a,
.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li.current-menu-item > a,
.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li.current-menu-parent > a,
.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li.current-menu-ancestor > a {
    color: #707070;
    text-shadow: none;
}

.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li > a:hover,
.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li > a:focus-visible {
    color: var(--ifa-color-brand);
}

.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li.current-menu-item > a,
.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li.current-menu-parent > a,
.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) #nm-main-menu-ul > li.current-menu-ancestor > a {
    color: var(--ifa-color-brand);
    text-decoration-color: var(--ifa-color-brand);
}

.home.ifa-institutional-home:not(.header-on-scroll):not(.mobile-menu-open):not(.ifa-navbar-logo-compact) .nm-menu-icon span {
    background: var(--ifa-color-ink);
}

.theme-IFA #nm-header.nm-header {
    transition:
        background-color 420ms cubic-bezier(0.22, 1, 0.36, 1),
        padding 320ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.theme-IFA.header-on-scroll #nm-header.nm-header,
.home.header-transparency.header-on-scroll #nm-header.nm-header {
    background: var(--nm--color-surface, #fbfcfd) !important;
}

.theme-IFA .nm-header-logo a {
    position: relative;
    display: inline-grid;
    place-items: center;
}

.theme-IFA:not(.home) #nm-header .nm-header-logo .nm-logo,
.theme-IFA:not(.home) #nm-header .nm-header-logo .nm-alt-logo {
    width: auto !important;
    height: var(--ifa-logo-height) !important;
}

.theme-IFA .nm-header-logo .nm-logo,
.theme-IFA .nm-header-logo .nm-alt-logo {
    grid-area: 1 / 1;
    display: block;
    opacity: 0;
    transition:
        opacity 420ms cubic-bezier(0.22, 1, 0.36, 1),
        height 320ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity;
}

.theme-IFA .nm-header-logo .nm-logo,
.theme-IFA.header-on-scroll #nm-header .nm-logo,
.theme-IFA.mobile-menu-open #nm-header .nm-logo,
.theme-IFA #nm-header:hover .nm-logo {
    opacity: 1;
}

.theme-IFA .nm-header-logo .nm-alt-logo,
.theme-IFA.header-on-scroll #nm-header .nm-alt-logo,
.theme-IFA.mobile-menu-open #nm-header .nm-alt-logo,
.theme-IFA #nm-header:hover .nm-alt-logo {
    opacity: 0;
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header,
.home.ifa-institutional-home.no-touch.theme-IFA.header-transparency-light:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover {
    background: #fff !important;
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header .nm-logo,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover .nm-logo {
    opacity: 1;
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header .nm-alt-logo,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover .nm-alt-logo {
    opacity: 0;
}

.theme-IFA #nm-main-menu-ul > li > a,
.theme-IFA .nm-mobile-menu-material-icon,
.theme-IFA .ifa-language-switcher__list,
.theme-IFA .ifa-language-switcher__link,
.theme-IFA .nm-menu-icon span {
    transition:
        color 360ms cubic-bezier(0.22, 1, 0.36, 1),
        background-color 360ms cubic-bezier(0.22, 1, 0.36, 1),
        border-color 360ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header #nm-main-menu-ul > li > a,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover #nm-main-menu-ul > li > a,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header .nm-mobile-menu-material-icon,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover .nm-mobile-menu-material-icon {
    color: var(--ifa-color-ink);
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header #nm-main-menu-ul > li.current-menu-item > a {
    color: var(--ifa-color-brand);
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header .nm-menu-icon span,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover .nm-menu-icon span {
    background: var(--ifa-color-ink);
}

/* Header language switcher
--------------------------------------------------------------- */
.theme-IFA .ifa-language-switcher {
    position: absolute;
    top: 50%;
    right: clamp(20px, 3vw, 44px);
    z-index: 12;
    font-family: Montserrat, Arial, sans-serif;
    line-height: 1;
    transform: translateY(-50%);
}

.theme-IFA .ifa-language-switcher__list {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 3px;
    background: rgba(251, 252, 253, 0.94);
    border: 1px solid rgba(18, 67, 137, 0.18);
    border-radius: 0;
    box-shadow: none;
    list-style: none;
}

.theme-IFA .ifa-language-switcher__item {
    display: block;
    margin: 0;
    padding: 0;
}

.theme-IFA .ifa-language-switcher__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 34px;
    padding: 0 9px;
    color: #707070;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    border: 1px solid transparent;
}

.theme-IFA .ifa-language-switcher__link:hover,
.theme-IFA .ifa-language-switcher__link:focus-visible,
.theme-IFA .ifa-language-switcher__item.is-current .ifa-language-switcher__link {
    color: #fbfcfd;
    background: #124389;
    outline: none;
}

.theme-IFA .ifa-language-switcher__link:focus-visible {
    outline: 2px solid #124389;
    outline-offset: var(--ifa-focus-outline-offset);
}

.theme-IFA .ifa-language-switcher__item.is-current .ifa-language-switcher__link {
    box-shadow: 0 6px 16px rgba(18, 67, 137, 0.14);
}

.theme-IFA .ifa-language-switcher__item:not(.is-current) .ifa-language-switcher__link {
    opacity: 0.72;
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header .ifa-language-switcher__list,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover .ifa-language-switcher__list {
    background: rgba(251, 252, 253, 0.94);
    border-color: rgba(18, 67, 137, 0.18);
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header .ifa-language-switcher__link,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover .ifa-language-switcher__link {
    color: #707070;
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header .ifa-language-switcher__item.is-current .ifa-language-switcher__link,
.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header:hover .ifa-language-switcher__item.is-current .ifa-language-switcher__link {
    color: #fbfcfd;
    background: #124389;
    box-shadow: 0 6px 16px rgba(18, 67, 137, 0.14);
}

.home.ifa-institutional-home.theme-IFA:not(.header-on-scroll):not(.mobile-menu-open) #nm-header .ifa-language-switcher__item:not(.is-current) .ifa-language-switcher__link {
    color: #707070;
    background: transparent;
    opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
    .theme-IFA #nm-header.nm-header,
    .theme-IFA .nm-header-logo .nm-logo,
    .theme-IFA .nm-header-logo .nm-alt-logo,
    .theme-IFA #nm-main-menu-ul > li > a,
    .theme-IFA .nm-mobile-menu-material-icon,
    .theme-IFA .ifa-language-switcher__list,
    .theme-IFA .ifa-language-switcher__link,
    .theme-IFA .nm-menu-icon span {
        transition: none;
    }
}

@media all and (max-width: 991px) {
    .theme-IFA:not(.home) #nm-header .nm-header-logo .nm-logo,
    .theme-IFA:not(.home) #nm-header .nm-header-logo .nm-alt-logo {
        height: 28px !important;
    }

    .theme-IFA #nm-header.stacked-centered .nm-header-logo {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
    }

    .theme-IFA #nm-header.stacked-centered .nm-header-logo a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
    }

    .theme-IFA #nm-header.stacked-centered .nm-header-logo svg,
    .theme-IFA #nm-header.stacked-centered .nm-header-logo img {
        display: block !important;
    }

    .theme-IFA #nm-header .nm-mobile-menu-button .nm-menu-icon {
        top: auto !important;
        left: auto !important;
        right: auto !important;
        flex: 0 0 16px;
        margin: 0 !important;
        transform: none !important;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-row {
        --ifa-header-side-rail: clamp(76px, 18vw, 92px);
        display: grid !important;
        grid-template-columns: var(--ifa-header-side-rail) minmax(0, 1fr) var(--ifa-header-side-rail);
        align-items: center;
        justify-items: center;
        box-sizing: border-box;
        width: calc(100% - 60px);
        max-width: var(--nm--page-width);
        height: var(--ifa-header-content-height-mobile);
        min-height: 58px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 0;
        padding-left: 0;
        gap: 0;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-main-menu-wrap {
        position: static;
        display: flex;
        align-items: center;
        justify-content: center;
        grid-column: 1;
        grid-row: 1;
        align-self: center;
        justify-self: center;
        width: var(--ifa-header-side-rail);
        padding: 0;
        transform: none;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-main-menu {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        grid-column: 1;
        grid-row: 1;
        align-self: center !important;
        justify-self: center !important;
        width: 44px !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        justify-content: center !important;
        transform: none !important;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-mobile-menu-button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px !important;
        min-width: 44px !important;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-header-logo {
        display: grid !important;
        grid-column: 2;
        grid-row: 1;
        align-items: center;
        align-self: center;
        justify-items: center;
        justify-self: center;
        position: static !important;
        top: auto !important;
        left: auto !important;
        height: var(--ifa-header-content-height-mobile) !important;
        margin: 0;
        line-height: 1 !important;
        transform: none !important;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-header-logo a {
        display: inline-grid !important;
        align-items: center !important;
        justify-items: center !important;
        height: var(--ifa-logo-height) !important;
        line-height: 1 !important;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-header-logo .nm-logo,
    .theme-IFA #nm-header.nm-header.centered .nm-header-logo .nm-alt-logo {
        position: static !important;
        grid-area: 1 / 1;
        top: auto !important;
        left: auto !important;
        transform: none !important;
    }

    .theme-IFA #nm-header.nm-header.centered .ifa-language-switcher {
        position: static;
        top: auto;
        right: auto;
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        justify-self: center;
        line-height: 1;
        transform: none;
    }

    .theme-IFA .ifa-language-switcher__list {
        gap: 3px;
        padding: 3px;
    }

    .theme-IFA .ifa-language-switcher__link {
        min-width: 36px;
        min-height: 32px;
        padding: 0 7px;
        font-size: 11px;
    }
}

@media all and (max-width: 520px) {
    .theme-IFA #nm-header.nm-header.centered .nm-row {
        --ifa-header-side-rail: 76px;
        width: calc(100% - 24px);
    }

    .theme-IFA #nm-header.nm-header.centered .nm-main-menu-wrap {
        width: var(--ifa-header-side-rail);
    }

    .theme-IFA #nm-header.nm-header.centered .nm-main-menu {
        width: 36px !important;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-mobile-menu-button {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
    }

    .theme-IFA .ifa-language-switcher__list {
        gap: 2px;
        padding: 2px;
    }

    .theme-IFA .ifa-language-switcher__link {
        min-width: 32px;
        min-height: 30px;
        padding: 0 5px;
        font-size: 10px;
        letter-spacing: 0;
    }
}

@media all and (max-width: 360px) {
    .theme-IFA #nm-header.nm-header.centered .nm-row {
        --ifa-header-side-rail: 72px;
    }
}

/* Home visual modules
--------------------------------------------------------------- */
/* Home slideshow */
.theme-IFA.home #nm-header-placeholder {
    display: block;
}

.theme-IFA.home #nm-header {
    background: var(--ifa-color-surface);
}

.theme-IFA.home .ifa-home-slideshow,
.theme-IFA .ifa-home-slideshow {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: hidden;
    background: var(--ifa-color-brand);
}

.theme-IFA .ifa-home-slideshow__viewport {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 32 / 9;
    min-height: 0;
    max-height: none;
    background: var(--ifa-color-brand);
}

.theme-IFA .ifa-home-slideshow__slide {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 650ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 650ms;
}

.theme-IFA .ifa-home-slideshow__slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transition: opacity 650ms cubic-bezier(.22, 1, .36, 1);
}

.theme-IFA .ifa-home-slideshow__link,
.theme-IFA .ifa-home-slideshow__slide picture,
.theme-IFA .ifa-home-slideshow__slide img {
    display: block;
    width: 100%;
    height: 100%;
}

.theme-IFA .ifa-home-slideshow__slide img {
    object-fit: cover;
}

.theme-IFA .ifa-home-slideshow__localized-caption {
    position: absolute;
    left: 36.1%;
    top: 71.1%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 56.6%;
    height: 15.9%;
    padding: 0 2%;
    color: #fff;
    background: rgb(0, 68, 143);
    font-size: clamp(24px, 3.05vw, 58px);
    font-weight: 700;
    line-height: 1.05;
    text-align: center;
}

.theme-IFA .ifa-home-slideshow__controls {
    position: absolute;
    inset: 0;
    z-index: var(--ifa-z-controls);
    display: block;
    pointer-events: none;
}

/* Theme carousel controls */
.theme-IFA .ifa-carousel-dot,
.theme-IFA .ifa-carousel-arrow {
    pointer-events: auto;
    border: 1px solid rgba(251, 252, 253, .58);
    background: var(--ifa-color-brand);
    color: var(--ifa-color-on-brand);
    transition: background-color var(--ifa-motion-fast), border-color var(--ifa-motion-fast), opacity var(--ifa-motion-fast);
}

.theme-IFA .ifa-carousel-control {
    appearance: none;
    cursor: pointer;
    font: inherit;
    -webkit-tap-highlight-color: transparent;
}

.theme-IFA .ifa-carousel-control:active {
    transform: translateY(-50%);
}

.theme-IFA .ifa-carousel-control[hidden] {
    display: none !important;
}

.theme-IFA .ifa-carousel-arrow {
    display: inline-flex;
    position: absolute;
    top: 50%;
    z-index: var(--ifa-z-controls);
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border-radius: 0;
    font-size: 32px;
    line-height: 1;
    transform: translateY(-50%);
}

.theme-IFA .ifa-carousel-arrow--prev {
    left: clamp(16px, 3vw, 48px);
}

.theme-IFA .ifa-carousel-arrow--next {
    right: clamp(16px, 3vw, 48px);
}

.theme-IFA .ifa-carousel-arrow:hover,
.theme-IFA .ifa-carousel-dot:hover::before {
    background: var(--ifa-color-brand-deep);
    border-color: var(--ifa-color-on-brand);
}

.theme-IFA .ifa-carousel-arrow:focus-visible,
.theme-IFA .ifa-carousel-dot:focus-visible {
    background: var(--ifa-color-brand-deep);
    border-color: var(--ifa-color-on-brand);
    outline: 2px solid var(--ifa-color-on-brand);
    outline-offset: var(--ifa-focus-outline-offset);
}

.theme-IFA .ifa-carousel-dot:focus-visible {
    background: transparent;
}

.theme-IFA .ifa-carousel-dots {
    display: inline-flex;
    position: relative;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 6px;
}

.theme-IFA .ifa-carousel-dot {
    display: grid;
    position: relative;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    opacity: 1;
}

.theme-IFA .ifa-carousel-dot::before {
    display: block;
    width: 10px;
    height: 10px;
    border: 1px solid color-mix(in srgb, var(--ifa-color-on-brand) 58%, transparent);
    border-radius: 50%;
    background: var(--ifa-color-brand);
    content: "";
    opacity: .62;
    transition: background-color var(--ifa-motion-fast), border-color var(--ifa-motion-fast), opacity var(--ifa-motion-fast);
}

.theme-IFA .ifa-carousel-dot.is-active::before {
    background: var(--ifa-color-on-brand);
    border-color: var(--ifa-color-on-brand);
    opacity: 1;
}

.theme-IFA .ifa-carousel-pagination {
    position: absolute;
    left: 50%;
    bottom: clamp(16px, 2.2vw, 30px);
    z-index: var(--ifa-z-controls);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    pointer-events: auto;
    transform: translateX(-50%);
}

@media all and (max-width: 1200px) {
    .theme-IFA .ifa-home-slideshow__viewport {
        aspect-ratio: 16 / 9;
    }

    .theme-IFA .ifa-home-slideshow__localized-caption {
        left: 31.6%;
        top: 52.4%;
        width: 62.6%;
        height: 27.9%;
        padding: 0 64px 0 4%;
        font-size: clamp(26px, 5vw, 52px);
        line-height: 1.08;
    }

    .theme-IFA .ifa-home-slideshow__localized-caption--4 {
        left: 38.7%;
        top: 56.1%;
        width: 59.6%;
        height: 13.4%;
        padding: 0 64px 0 2%;
        font-size: clamp(24px, 4.7vw, 48px);
    }
}

@media all and (max-width: 600px) {
    .theme-IFA .ifa-home-slideshow {
        margin-bottom: 0;
    }

    .theme-IFA .ifa-home-slideshow__viewport {
        height: auto;
        aspect-ratio: 4 / 5;
    }

    .theme-IFA .ifa-home-slideshow__localized-caption {
        left: 31.7%;
        top: 41.9%;
        width: 68.3%;
        height: 17.8%;
        padding: 0 58px 0 16px;
        font-size: clamp(20px, 5.8vw, 24px);
        line-height: 1.08;
    }

    .theme-IFA .ifa-home-slideshow__localized-caption--4 {
        left: 11.2%;
        top: 25.2%;
        width: 77.6%;
        height: 8.8%;
        padding: 0 20px;
        font-size: clamp(19px, 5.6vw, 23px);
        white-space: nowrap;
    }

    .theme-IFA .ifa-carousel-arrow {
        width: 44px;
        height: 44px;
        font-size: 28px;
    }

    .theme-IFA .ifa-carousel-arrow--prev {
        left: 10px;
    }

    .theme-IFA .ifa-carousel-arrow--next {
        right: 10px;
    }

    .theme-IFA .ifa-carousel-pagination {
        bottom: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-IFA .ifa-home-slideshow__slide,
    .theme-IFA .ifa-home-slideshow__slide.is-active,
    .theme-IFA .ifa-home-slideshow .ifa-carousel-arrow,
    .theme-IFA .ifa-home-slideshow .ifa-carousel-dot {
        transition: none;
    }
}

/* Home aftermarket claim */
.theme-IFA .ifa-home-aftermarket-claim {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 56px 0;
    overflow: hidden;
    background: var(--ifa-color-surface-brand);
    color: var(--ifa-color-ink);
}

.theme-IFA .ifa-home-aftermarket-claim__inner {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1fr);
    align-items: center;
    gap: 48px;
    width: var(--ifa-layout-wide);
    box-sizing: border-box;
    max-width: none;
    margin: 0 auto;
    padding: 0;
}

.theme-IFA .ifa-home-aftermarket-claim__copy {
    max-width: 610px;
}

.theme-IFA .ifa-home-aftermarket-claim__eyebrow {
    margin: 0 0 13px;
    color: var(--ifa-color-brand);
    font-size: 12px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.theme-IFA .ifa-home-aftermarket-claim__copy h2 {
    margin: 0;
    color: var(--ifa-color-brand-deep);
    font-size: var(--ifa-type-section-title);
    line-height: var(--ifa-type-title-line-height);
    font-weight: var(--ifa-type-title-weight);
    letter-spacing: var(--ifa-type-title-letter-spacing);
}

.theme-IFA .ifa-home-aftermarket-claim__copy p:not(.ifa-home-aftermarket-claim__eyebrow) {
    max-width: 60ch;
    margin: 18px 0 0;
    color: var(--ifa-color-text);
    font-size: 15px;
    line-height: 1.8;
}

.theme-IFA .ifa-home-aftermarket-claim__media {
    position: relative;
    justify-self: stretch;
    min-height: 272px;
    height: 310px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--ifa-color-border);
    background: var(--ifa-color-surface);
}

.theme-IFA .ifa-home-aftermarket-claim__media picture,
.theme-IFA .ifa-home-aftermarket-claim__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.theme-IFA .ifa-home-aftermarket-claim__media img {
    object-fit: cover;
    object-position: right center;
}

@media all and (max-width: 1024px) {
    .theme-IFA .ifa-home-aftermarket-claim {
        padding: 46px 0;
    }

    .theme-IFA .ifa-home-aftermarket-claim__inner {
        grid-template-columns: minmax(0, .96fr) minmax(340px, 1fr);
        gap: 30px;
        width: calc(100% - 60px);
    }

    .theme-IFA .ifa-home-aftermarket-claim__copy h2 {
        font-size: 32px;
        line-height: 1.18;
    }

    .theme-IFA .ifa-home-aftermarket-claim__media {
        height: 260px;
        min-height: 240px;
    }
}

@media all and (max-width: 700px) {
    .theme-IFA .ifa-home-aftermarket-claim {
        padding: 38px 0 0;
    }

    .theme-IFA .ifa-home-aftermarket-claim__inner {
        grid-template-columns: 1fr;
        gap: 26px;
        width: calc(100% - 60px);
    }

    .theme-IFA .ifa-home-aftermarket-claim__copy h2 {
        font-size: 27px;
        line-height: 1.2;
    }

    .theme-IFA .ifa-home-aftermarket-claim__copy p:not(.ifa-home-aftermarket-claim__eyebrow) {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.75;
    }

    .theme-IFA .ifa-home-aftermarket-claim__media {
        width: 100%;
        height: 230px;
        min-height: 230px;
        margin: 0;
    }
}

/* Home certifications */
.theme-IFA.home .ifa-home-editable-slot,
.theme-IFA.home .ifa-home-editable-slot .entry-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.theme-IFA.home .ifa-home-editable-slot .vc_row {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.theme-IFA.home .ifa-home-editable-slot .vc_column_container > .vc_column-inner {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.theme-IFA.home .ifa-home-editable-slot .wpb_content_element,
.theme-IFA.home .ifa-home-editable-slot .wpb_wrapper {
	margin-bottom: 0;
}

/* SiteOrigin adds a 30px gap between top-level rows by default. */
.theme-IFA.home .ifa-home-editable-slot .panel-layout > .panel-grid {
	margin-bottom: 0 !important;
}

.theme-IFA.home .ifa-home-editable-slot .ifa-certifications {
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.theme-IFA .ifa-certifications {
    --ifa-certifications-columns: 3;
    position: relative;
    width: 100%;
    margin: 0;
    padding: clamp(58px, 6vw, 86px) 0 clamp(68px, 7vw, 96px);
    overflow: hidden;
    background: var(--ifa-color-surface);
    color: var(--ifa-color-ink);
}

.theme-IFA .ifa-certifications--columns-1 {
    --ifa-certifications-columns: 1;
}

.theme-IFA .ifa-certifications--columns-2 {
    --ifa-certifications-columns: 2;
}

.theme-IFA .ifa-certifications__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--ifa-catalog-content-width, 1600px);
    margin: 0 auto;
    padding-right: var(--ifa-layout-gutter);
    padding-left: var(--ifa-layout-gutter);
}

.theme-IFA .ifa-certifications__heading {
    width: min(100%, 760px);
    margin: 0 auto clamp(32px, 4vw, 48px);
    text-align: center;
}

.theme-IFA .ifa-certifications__eyebrow {
    margin: 0 0 10px;
    color: var(--nm--color-accent, #124389);
}

.theme-IFA .ifa-certifications__title {
    margin: 0;
    color: var(--nm--color-font-strong, #282828);
    font-size: var(--ifa-type-section-title);
    font-weight: var(--ifa-type-title-weight);
    letter-spacing: var(--ifa-type-title-letter-spacing);
    line-height: var(--ifa-type-title-line-height);
    text-transform: uppercase;
}

.theme-IFA .ifa-certifications__subtitle {
    margin: 14px auto 0;
    color: var(--nm--color-accent, #124389);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.55;
}

.theme-IFA .ifa-certifications__intro {
    max-width: 68ch;
    margin: 16px auto 0;
    color: var(--ifa-color-text);
    font-size: var(--ifa-type-body-size);
    font-weight: 400;
    line-height: var(--ifa-type-body-line-height);
}

.theme-IFA .ifa-certifications__intro p {
    margin: 0;
}

.theme-IFA .ifa-certifications__layout {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, .72fr);
    align-items: stretch;
    gap: clamp(30px, 4vw, 56px);
}

.theme-IFA .ifa-certifications__gallery {
    position: relative;
    min-width: 0;
}

.theme-IFA .ifa-certifications__viewport {
    position: relative;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.theme-IFA .ifa-certifications__viewport::-webkit-scrollbar {
    display: none;
}

.theme-IFA .ifa-certifications__track {
    display: grid;
    grid-template-columns: repeat(var(--ifa-certifications-columns), minmax(0, 1fr));
    gap: clamp(18px, 1.8vw, 26px);
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 4px 4px 12px;
}

.theme-IFA .ifa-certifications__card {
    display: grid;
    width: 100%;
    gap: 14px;
    align-content: start;
    min-height: 100%;
    padding: 12px;
    color: #282828;
    text-align: left;
    background: #eef3f8;
    border: 1px solid #d8e1ec;
    border-radius: 2px;
    cursor: pointer;
    scroll-snap-align: center;
    transition: background-color var(--ifa-motion-fast), border-color var(--ifa-motion-fast);
}

.theme-IFA .ifa-certifications__card:hover,
.theme-IFA .ifa-certifications__card:focus-visible,
.theme-IFA .ifa-certifications__card.is-active {
    background: #fbfcfd;
    border-color: #124389;
    box-shadow: none;
}

.theme-IFA .ifa-certifications__card:focus-visible {
    outline: 2px solid #124389;
    outline-offset: var(--ifa-focus-outline-offset);
}

.theme-IFA .ifa-certifications__card.is-active {
    transform: none;
}

.theme-IFA .ifa-certifications__media {
    display: block;
    width: 100%;
    aspect-ratio: 7 / 10;
    overflow: hidden;
    background: #fbfcfd;
    border: 1px solid #e6ebf0;
}

.theme-IFA .ifa-certifications__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.theme-IFA .ifa-certifications__card-copy {
    display: grid;
    gap: 5px;
    min-height: 66px;
}

.theme-IFA .ifa-certifications__card-label {
    color: #124389;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: uppercase;
}

.theme-IFA .ifa-certifications__card-title {
    color: #282828;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.theme-IFA .ifa-certifications__detail {
    display: flex;
    align-items: center;
    min-height: 100%;
    padding: clamp(28px, 3.4vw, 44px);
    background: #eef3f8;
    border-color: transparent;
}

.theme-IFA .ifa-certifications__detail.ifa-panel {
    border: 0;
}

.theme-IFA .ifa-certifications__panel {
    width: 100%;
}

.theme-IFA .ifa-certifications__detail-label {
    margin: 0 0 12px;
    color: #124389;
}

.theme-IFA .ifa-certifications__detail-title {
    max-width: 15ch;
    margin: 0;
    color: var(--nm--color-font-highlight, #0d336b);
    font-size: var(--ifa-type-content-title);
    font-weight: var(--ifa-type-title-weight);
    letter-spacing: var(--ifa-type-title-letter-spacing);
    line-height: var(--ifa-type-title-line-height);
}

.theme-IFA .ifa-certifications__description {
    margin-top: 18px;
    color: #44515f;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
}

.theme-IFA .ifa-certifications__description p {
    margin: 0;
}

.theme-IFA .ifa-certifications__description p + p {
    margin-top: 12px;
}

.theme-IFA .ifa-certifications__arrow {
    top: 44%;
    width: 44px;
    height: 44px;
    font-size: 28px;
    box-shadow: none;
}

.theme-IFA .ifa-certifications__arrow--prev {
    left: -16px;
}

.theme-IFA .ifa-certifications__arrow--next {
    right: -16px;
}

@media all and (max-width: 1024px) {
    .theme-IFA .ifa-certifications__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .theme-IFA .ifa-certifications__detail {
        min-height: 260px;
    }

    .theme-IFA .ifa-certifications__detail-title {
        max-width: none;
    }

    .theme-IFA .ifa-certifications__arrow--prev {
        left: 0;
    }

    .theme-IFA .ifa-certifications__arrow--next {
        right: 0;
    }
}

@media all and (max-width: 767px) {
    .theme-IFA .ifa-certifications__inner {
        padding-right: var(--ifa-mobile-page-gutter, 20px);
        padding-left: var(--ifa-mobile-page-gutter, 20px);
    }
}

/* Mobile navigation surface and optical alignment
--------------------------------------------------------------- */
@media all and (max-width: 991px) {
    body.theme-IFA #nm-header.nm-header.centered .nm-row,
    body.theme-IFA.mobile-menu-open #nm-header.nm-header.centered .nm-row {
        --ifa-header-side-rail: 96px;
        display: grid !important;
        box-sizing: border-box;
        width: calc(100% - 24px);
        height: var(--ifa-header-content-height-mobile) !important;
        margin-inline: auto;
        padding: 0;
        grid-template-columns: var(--ifa-header-side-rail) minmax(0, 1fr) var(--ifa-header-side-rail);
        align-items: center;
        justify-items: center;
    }

    body.theme-IFA #nm-header.nm-header.centered .nm-main-menu-wrap,
    body.theme-IFA.mobile-menu-open #nm-header.nm-header.centered .nm-main-menu-wrap {
        grid-column: 1;
        width: var(--ifa-header-side-rail);
        justify-self: center;
    }

    body.theme-IFA #nm-header.nm-header.centered .nm-main-menu,
    body.theme-IFA #nm-header.nm-header.centered .nm-mobile-menu-button,
    body.theme-IFA.mobile-menu-open #nm-header.nm-header.centered .nm-mobile-menu-button {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    body.theme-IFA #nm-header.nm-header.centered .nm-header-logo,
    body.theme-IFA.mobile-menu-open #nm-header.nm-header.centered .nm-header-logo {
        grid-column: 2;
        width: 100%;
        justify-self: stretch;
        justify-items: center;
    }

    /* The homepage desktop logo scale must not overflow the mobile center rail. */
    body.theme-IFA.home.ifa-institutional-home #nm-header.nm-header.centered .nm-header-logo .nm-logo,
    body.theme-IFA.home.ifa-institutional-home #nm-header.nm-header.centered .nm-header-logo .nm-alt-logo {
        width: auto !important;
        max-width: calc(100% - 8px);
        height: clamp(24px, 7.2vw, 30px) !important;
    }

    body.theme-IFA #nm-header.nm-header.centered .ifa-language-switcher,
    body.theme-IFA.mobile-menu-open #nm-header.nm-header.centered .ifa-language-switcher {
        grid-column: 3;
        width: var(--ifa-header-side-rail);
        justify-self: center;
    }

    body.theme-IFA #nm-header .ifa-language-switcher__list {
        display: grid;
        box-sizing: border-box;
        width: 96px;
        padding: 2px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px;
    }

    body.theme-IFA #nm-header .ifa-language-switcher__link {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        padding-inline: 4px;
    }

    body.theme-IFA.mobile-menu-open .nm-mobile-menu-holder {
        top: var(--ifa-header-height-mobile);
        height: calc(100dvh - var(--ifa-header-height-mobile));
        background: var(--ifa-color-surface);
    }

    body.theme-IFA.mobile-menu-open #nm-mobile-menu {
        position: absolute !important;
        inset: 0 !important;
        width: 100%;
        height: 100%;
        color: var(--ifa-color-text);
        background: var(--ifa-color-surface) !important;
        border-top: 1px solid var(--ifa-color-border);
        box-shadow: 0 18px 36px rgba(6, 28, 58, .1);
        transform: none;
    }

    body.theme-IFA.mobile-menu-open #nm-mobile-menu .nm-mobile-menu-scroll,
    body.theme-IFA.mobile-menu-open #nm-mobile-menu .nm-mobile-menu-content {
        box-sizing: border-box;
        width: 100%;
        min-height: 100%;
        background: var(--ifa-color-surface);
    }

    body.theme-IFA.mobile-menu-open #nm-mobile-menu .nm-mobile-menu-content {
        padding: 12px 20px 40px;
        border-top: 0;
    }

    body.theme-IFA.mobile-menu-open #nm-mobile-menu .nm-row {
        width: min(100%, 560px);
        margin-inline: auto;
        padding: 0;
    }

    body.theme-IFA.mobile-menu-open #nm-mobile-menu-main-ul {
        margin: 0;
        padding: 0;
    }

    body.theme-IFA.mobile-menu-open #nm-mobile-menu .menu .menu-item {
        margin: 0;
        border-bottom: 1px solid var(--ifa-color-border);
    }

    body.theme-IFA.mobile-menu-open #nm-mobile-menu .menu a {
        display: flex;
        align-items: center;
        min-height: 54px;
        padding: 8px 4px;
        color: var(--ifa-color-ink) !important;
        font-size: 17px;
        font-weight: 650;
        line-height: 1.35;
        text-decoration: none;
        white-space: normal;
    }

    body.theme-IFA.mobile-menu-open #nm-mobile-menu .menu .current-menu-item > a {
        color: var(--ifa-color-brand) !important;
        font-weight: 800;
    }
}

@media all and (max-width: 700px) {
    .theme-IFA .ifa-certifications {
        padding: 46px 0 58px;
    }

    .theme-IFA .ifa-certifications__heading {
        margin-bottom: 28px;
    }

    .theme-IFA .ifa-certifications__title {
        overflow-wrap: normal;
        word-break: normal;
        font-size: clamp(24px, 7vw, 27px);
        line-height: 1.18;
    }

    .theme-IFA .ifa-certifications__subtitle {
        font-size: 16px;
    }

    .theme-IFA .ifa-certifications__intro,
    .theme-IFA .ifa-certifications__description {
        font-size: 14px;
        line-height: 1.75;
    }

    .theme-IFA .ifa-certifications__track {
        display: flex;
        gap: 14px;
        width: max-content;
        min-width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    .theme-IFA .ifa-certifications__card {
        flex: 0 0 min(74vw, 250px);
        width: auto;
    }

    .theme-IFA .ifa-certifications__detail {
        padding: 26px 22px;
    }

    .theme-IFA .ifa-certifications__detail-title {
        font-size: 25px;
    }

}

@media (prefers-reduced-motion: reduce) {
    .theme-IFA .ifa-certifications__card,
    .theme-IFA .ifa-certifications__arrow {
        transition: none;
    }
}

/* Home about */
.theme-IFA.home .ifa-home-editable-slot .ifa-home-about {
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.theme-IFA .ifa-home-about {
    --ifa-home-about-overlay: rgba(13, 51, 107, .68);
    --ifa-home-about-text: var(--ifa-color-on-brand);
    --ifa-home-about-text-muted: var(--ifa-color-on-brand);
    --ifa-home-about-text-shadow: 0 1px 2px rgba(6, 28, 58, .72);
    overflow: hidden;
    background-color: var(--ifa-color-brand-deep);
    background-image:
        linear-gradient(var(--ifa-home-about-overlay), var(--ifa-home-about-overlay)),
        url("/wp-content/uploads/site-assets/theme/2026/06/background_ifafiltri.webp?v=20260702151337");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: var(--ifa-home-about-text);
}

.theme-IFA .ifa-home-about__inner {
    display: grid;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--ifa-catalog-content-width, 1600px);
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--ifa-layout-gutter);
    padding-left: var(--ifa-layout-gutter);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(34px, 5vw, 72px);
    align-items: center;
}

.theme-IFA .ifa-home-about__copy {
    max-width: 66ch;
}

.theme-IFA .ifa-home-about__title {
    color: var(--ifa-home-about-text);
    text-shadow: var(--ifa-home-about-text-shadow);
    text-align: left;
}

.theme-IFA .ifa-home-about__description {
    margin-top: 22px;
    color: var(--ifa-home-about-text-muted);
    line-height: 1.78;
    text-shadow: var(--ifa-home-about-text-shadow);
}

.theme-IFA .ifa-home-about__cta {
    margin-top: 28px;
}

.theme-IFA .ifa-home-about__cta:focus-visible {
    outline-color: var(--ifa-color-on-brand);
    outline-offset: 3px;
}

.theme-IFA .ifa-home-about__carousel {
    position: relative;
    min-width: 0;
}

.theme-IFA .ifa-home-about__carousel:focus-visible {
    outline: 2px solid var(--ifa-color-brand);
    outline-offset: var(--ifa-focus-outline-offset);
}

.theme-IFA .ifa-home-about__viewport {
    position: relative;
    aspect-ratio: 3 / 2;
    margin: 0;
    overflow: hidden;
    background: var(--ifa-color-surface);
}

.theme-IFA .ifa-home-about__track {
    display: flex;
    width: 100%;
    height: 100%;
    transform: translate3d(0, 0, 0);
    transition: transform var(--ifa-motion-slow);
    will-change: transform;
}

.theme-IFA .ifa-home-about__slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    margin: 0;
}

.theme-IFA .ifa-home-about__slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.theme-IFA .ifa-home-about__arrow {
    width: 44px;
    height: 44px;
    font-size: 29px;
}

.theme-IFA .ifa-home-about__arrow--prev {
    left: 14px;
}

.theme-IFA .ifa-home-about__arrow--next {
    right: 14px;
}

@media all and (max-width: 1024px) {
    .theme-IFA .ifa-home-about__inner {
        gap: 34px;
    }

    .theme-IFA .ifa-home-about__description {
        font-size: 14px;
        line-height: 1.72;
    }
}

@media all and (max-width: 860px) {
    .theme-IFA .ifa-home-about__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .theme-IFA .ifa-home-about__copy {
        max-width: 70ch;
    }

    .theme-IFA .ifa-home-about__carousel {
        width: 100%;
    }
}

@media all and (max-width: 600px) {
    .theme-IFA .ifa-home-about__title {
        font-size: 29px;
        line-height: 1.18;
    }

    .theme-IFA .ifa-home-about__description {
        margin-top: 18px;
    }

    .theme-IFA .ifa-home-about__cta {
        box-sizing: border-box;
        width: 100%;
        margin-top: 24px;
    }

    .theme-IFA .ifa-home-about__arrow {
        width: 44px;
        height: 44px;
        font-size: 26px;
    }

    .theme-IFA .ifa-home-about__arrow--prev {
        left: 10px;
    }

    .theme-IFA .ifa-home-about__arrow--next {
        right: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-IFA .ifa-home-about__track,
    .theme-IFA .ifa-home-about__arrow,
    .theme-IFA .ifa-home-about .ifa-carousel-dot {
        transition: none;
    }
}

/* Home products carousel */
.theme-IFA .ifa-products-carousel {
    position: relative;
    width: 100%;
    margin: 0;
    padding: clamp(54px, 6vw, 82px) 0 clamp(48px, 4vw, 64px);
    overflow: hidden;
    background: #fbfcfd;
    color: #282828;
}

.theme-IFA .ifa-products-carousel__heading {
    margin: 0 auto 22px;
    padding: 0 24px;
    text-align: center;
}

.theme-IFA .ifa-products-carousel__heading h2 {
    margin: 0;
    color: var(--ifa-color-ink);
    font-size: var(--ifa-type-section-title);
    font-weight: var(--ifa-type-title-weight);
    line-height: var(--ifa-type-title-line-height);
    text-transform: uppercase;
}

.theme-IFA .ifa-products-carousel__viewport {
    position: relative;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: max(24px, calc((100vw - 1220px) / 2));
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.theme-IFA .ifa-products-carousel__viewport::-webkit-scrollbar {
    display: none;
}

.theme-IFA .ifa-products-carousel__track {
    display: flex;
    align-items: stretch;
    width: max-content;
    gap: 24px;
    margin: 0;
    padding: 34px max(24px, calc((100vw - 1220px) / 2)) 20px;
    list-style: none;
}

.theme-IFA .ifa-products-carousel__card {
    flex: 0 0 clamp(276px, 23vw, 329px);
    height: clamp(470px, 36vw, 570px);
    margin: 0;
    scroll-snap-align: center;
}

.theme-IFA .ifa-products-carousel__card--1 {
    --ifa-card-bg: var(--ifa-color-brand);
}

.theme-IFA .ifa-products-carousel__card--2 {
    --ifa-card-bg: var(--ifa-color-brand-deep);
}

.theme-IFA .ifa-products-carousel__card--3 {
    --ifa-card-bg: var(--ifa-color-brand-mid);
}

.theme-IFA .ifa-products-carousel__card--4 {
    --ifa-card-bg: var(--ifa-color-brand-soft);
}

.theme-IFA .ifa-products-carousel__link {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    padding: clamp(30px, 3vw, 40px) 15px clamp(38px, 4vw, 50px);
    overflow: hidden;
    background: var(--ifa-card-bg, var(--ifa-color-brand));
    color: var(--ifa-color-on-brand);
    text-align: center;
    box-shadow: inset 0 0 0 2px transparent;
    transition: background-color var(--ifa-motion-fast), box-shadow var(--ifa-motion-fast);
}

.theme-IFA .ifa-products-carousel__link:hover,
.theme-IFA .ifa-products-carousel__link:focus-visible,
.theme-IFA .ifa-products-carousel__card.is-active .ifa-products-carousel__link {
    color: var(--ifa-color-on-brand);
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ifa-color-on-brand) 74%, transparent);
    transform: none;
}

.theme-IFA .ifa-products-carousel__link:focus-visible {
    box-shadow: none;
    outline: 3px solid var(--ifa-color-brand);
    outline-offset: var(--ifa-focus-outline-offset);
}

.theme-IFA .ifa-products-carousel__link img {
    display: block;
    width: min(80%, 270px);
    height: min(68%, 380px);
    margin: auto auto 30px;
    object-fit: contain;
    transition: none;
}

.theme-IFA .ifa-products-carousel__link:hover img,
.theme-IFA .ifa-products-carousel__link:focus-visible img,
.theme-IFA .ifa-products-carousel__card.is-active img,
.theme-IFA .ifa-products-carousel__card.is-active .ifa-products-carousel__label {
    transform: none;
}

.theme-IFA .ifa-products-carousel__label {
    display: block;
    min-height: 56px;
    color: var(--ifa-color-on-brand);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration-color: transparent;
    text-underline-offset: 5px;
    transition: text-decoration-color var(--ifa-motion-fast);
}

.theme-IFA .ifa-products-carousel__link:hover .ifa-products-carousel__label,
.theme-IFA .ifa-products-carousel__link:focus-visible .ifa-products-carousel__label,
.theme-IFA .ifa-products-carousel__card.is-active .ifa-products-carousel__label {
    text-decoration: underline;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
}

@media all and (max-width: 1024px) {
    .theme-IFA .ifa-products-carousel {
        padding-top: 48px;
    }

    .theme-IFA .ifa-products-carousel__track {
        gap: 20px;
        padding-inline: 28px;
    }

    .theme-IFA .ifa-products-carousel__card {
        flex-basis: clamp(270px, 38vw, 316px);
        height: clamp(440px, 58vw, 520px);
    }
}

@media all and (max-width: 600px) {
    .theme-IFA .ifa-products-carousel {
        margin: 0;
        padding: 44px 0 54px;
    }

    .theme-IFA .ifa-products-carousel__heading {
        margin-bottom: 18px;
    }

    .theme-IFA .ifa-products-carousel__heading h2 {
        font-size: 28px;
    }

    .theme-IFA .ifa-products-carousel__track {
        gap: 16px;
        padding: 24px 58px 14px;
    }

    .theme-IFA .ifa-products-carousel__card {
        flex-basis: min(76vw, 318px);
        height: 430px;
    }

    .theme-IFA .ifa-products-carousel__link {
        padding: 28px 14px 34px;
    }

    .theme-IFA .ifa-products-carousel__link img {
        width: min(82%, 230px);
        height: 270px;
        margin-bottom: 24px;
    }

    .theme-IFA .ifa-products-carousel__label {
        min-height: 50px;
        font-size: 18px;
        line-height: 1.35;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-IFA .ifa-products-carousel__link,
    .theme-IFA .ifa-products-carousel__link img,
    .theme-IFA .ifa-products-carousel__label,
    .theme-IFA .ifa-products-carousel .ifa-carousel-arrow {
        transition: none;
    }
}

/* Shared secondary-page system
--------------------------------------------------------------- */
.theme-IFA .ifa-secondary-page {
    width: 100%;
    overflow: hidden;
    color: var(--ifa-color-text);
    background: var(--ifa-color-surface);
}

.theme-IFA .ifa-page-hero {
    padding-block: var(--ifa-hero-space);
    padding-inline: 0;
    text-align: center;
    background: var(--ifa-color-surface-brand);
    border-bottom: 1px solid var(--ifa-color-border);
}

.theme-IFA .ifa-page-hero__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--ifa-layout-max);
    margin-inline: auto;
    padding-inline: var(--ifa-layout-gutter);
}

.theme-IFA .ifa-page-hero__eyebrow {
    margin: 0 0 12px;
    color: var(--ifa-color-brand);
}

.theme-IFA .ifa-page-hero__title {
    margin: 0;
    color: var(--ifa-color-ink);
    font-family: inherit;
    font-size: var(--ifa-type-page-title);
    font-weight: var(--ifa-type-title-weight);
    line-height: var(--ifa-type-title-line-height);
    letter-spacing: var(--ifa-type-title-letter-spacing);
}

.theme-IFA .ifa-page-hero__description {
    max-width: 68ch;
    margin: 20px auto 0;
    color: var(--ifa-color-text);
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.75;
}

.theme-IFA .ifa-certifications-page .ifa-certifications {
    padding-top: clamp(62px, 7vw, 92px);
}

.theme-IFA .ifa-contact-page__content {
    box-sizing: border-box;
    width: var(--ifa-layout-wide);
    max-width: 100%;
    margin-inline: auto;
    padding-block: clamp(64px, 7vw, 104px);
}

.theme-IFA .ifa-contact-page__content > .entry-content {
    margin: 0;
}

@media all and (max-width: 700px) {
    .theme-IFA .ifa-page-hero {
        padding-block: 50px 54px;
    }

    .theme-IFA .ifa-page-hero__description {
        margin-top: 16px;
        font-size: 15px;
    }

    .theme-IFA .ifa-contact-page__content {
        width: calc(100% - 36px);
        padding-block: 48px 62px;
    }
}

/* Company page
--------------------------------------------------------------- */
.theme-IFA .ifa-company {
    --ifa-company-gutter: clamp(22px, 5vw, 76px);
    width: 100%;
    overflow: hidden;
    color: var(--ifa-color-text);
    background: var(--ifa-color-surface);
}

.theme-IFA .ifa-company :where(h1, h2, h3, p, figure) {
    margin-top: 0;
}

.theme-IFA .ifa-company__eyebrow {
    margin-bottom: 14px;
    color: var(--ifa-color-brand);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: var(--ifa-type-eyebrow-letter-spacing);
    text-transform: uppercase;
}

.theme-IFA .ifa-company__facts {
    background: var(--ifa-color-surface);
}

.theme-IFA .ifa-company__facts-inner {
    display: grid;
    width: min(calc(100% - (2 * var(--ifa-company-gutter))), 1320px);
    margin: 0 auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.theme-IFA .ifa-company__fact {
    display: grid;
    gap: 8px;
    padding: clamp(34px, 4vw, 54px) clamp(18px, 3.5vw, 52px);
}

.theme-IFA .ifa-company__fact strong {
    color: var(--ifa-color-brand-deep);
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.035em;
}

.theme-IFA .ifa-company__fact span {
    color: var(--ifa-color-muted);
    font-size: 13px;
    line-height: 1.5;
}

.theme-IFA .ifa-company__section,
.theme-IFA .ifa-company__process-inner {
    box-sizing: border-box;
    width: min(calc(100% - (2 * var(--ifa-company-gutter))), 1320px);
    margin-inline: auto;
}

.theme-IFA .ifa-company__story {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(48px, 9vw, 140px);
    padding-block: clamp(88px, 10vw, 150px);
}

.theme-IFA .ifa-company__section-heading h2,
.theme-IFA .ifa-company__range h2,
.theme-IFA .ifa-company__process h2 {
    margin-bottom: 0;
    color: var(--ifa-color-ink);
    font-size: var(--ifa-type-section-title);
    font-weight: var(--ifa-type-title-weight);
    line-height: var(--ifa-type-title-line-height);
    letter-spacing: var(--ifa-type-title-letter-spacing);
}

.theme-IFA .ifa-company__story-copy {
    max-width: 68ch;
    padding-top: 32px;
}

.theme-IFA .ifa-company__story-copy p,
.theme-IFA .ifa-company__range-copy > p:last-child,
.theme-IFA .ifa-company__process-heading > p:last-child {
    color: var(--ifa-color-text);
}

.theme-IFA .ifa-company__story-copy .ifa-content-description {
    margin-top: 0;
}

.theme-IFA .ifa-company__story-copy p + p {
    margin-top: 22px;
}

.theme-IFA .ifa-company__process {
    padding-block: clamp(56px, 6vw, 80px);
    color: var(--ifa-color-on-brand);
    background: var(--ifa-color-brand-deep);
}

.theme-IFA .ifa-company__process-inner {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: clamp(40px, 6vw, 80px);
}

.theme-IFA .ifa-company__process .ifa-company__eyebrow {
    color: oklch(84% .085 246);
}

.theme-IFA .ifa-company__process h2 {
    max-width: 12ch;
    color: var(--ifa-color-on-brand);
}

.theme-IFA .ifa-company__process-heading > p:last-child {
    max-width: 50ch;
    margin-top: 20px;
    margin-bottom: 0;
    color: oklch(87% .018 247);
}

.theme-IFA .ifa-company__process-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.theme-IFA .ifa-company__process-list li {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: clamp(18px, 2vw, 28px);
    padding: clamp(20px, 2vw, 26px) 0;
    border-top: 1px solid color-mix(in srgb, var(--ifa-color-on-brand) 22%, transparent);
}

.theme-IFA .ifa-company__process-list li:last-child {
    border-bottom: 1px solid color-mix(in srgb, var(--ifa-color-on-brand) 22%, transparent);
}

.theme-IFA .ifa-company__process-index {
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    color: oklch(78% .12 245);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-align: center;
}

.theme-IFA .ifa-company__process-list h3 {
    margin-bottom: 6px;
    color: var(--ifa-color-on-brand);
    font-size: clamp(21px, 2vw, 27px);
    font-weight: 750;
    line-height: 1.15;
}

.theme-IFA .ifa-company__process-list p {
    max-width: 62ch;
    margin-bottom: 0;
    color: oklch(86% .016 247);
    font-size: 15px;
    line-height: 1.6;
}

.theme-IFA .ifa-company__range {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: clamp(50px, 8vw, 120px);
    align-items: center;
    padding-block: var(--ifa-section-space);
}

.theme-IFA .ifa-company__range-copy > p:last-child {
    max-width: 58ch;
    margin-top: 28px;
    margin-bottom: 0;
}

.theme-IFA .ifa-company__range-media {
    display: grid;
    gap: 12px;
}

.theme-IFA .ifa-company__range-media figure {
    height: clamp(104px, 11vw, 154px);
    margin-bottom: 0;
    overflow: hidden;
    background: oklch(98% .004 247);
    border: 1px solid var(--ifa-color-border);
}

.theme-IFA .ifa-company__range-media figure:nth-child(2) {
    transform: translateX(clamp(-24px, -2vw, -10px));
}

.theme-IFA .ifa-company__range-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}

@media all and (max-width: 960px) {
    .theme-IFA .ifa-company__story,
    .theme-IFA .ifa-company__range {
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
    }

    .theme-IFA .ifa-company__process-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .theme-IFA .ifa-company__story-copy {
        padding-top: 0;
    }

    .theme-IFA .ifa-company__process h2 {
        max-width: 18ch;
    }

    .theme-IFA .ifa-company__range-media {
        width: min(100%, 780px);
        margin-left: auto;
    }

}

@media all and (max-width: 640px) {
    .theme-IFA .ifa-company {
        --ifa-company-gutter: 20px;
    }

    .theme-IFA .ifa-company__facts-inner {
        width: calc(100% - (2 * var(--ifa-company-gutter)));
        grid-template-columns: minmax(0, 1fr);
    }

    .theme-IFA .ifa-company__fact,
    .theme-IFA .ifa-company__fact:last-child {
        grid-template-columns: minmax(120px, .7fr) minmax(0, 1fr);
        align-items: baseline;
        padding: 25px 0;
    }

    .theme-IFA .ifa-company__fact strong {
        font-size: 31px;
    }

    .theme-IFA .ifa-company__process {
        padding-block: 44px;
    }

    .theme-IFA .ifa-company__process-heading > p:last-child {
        margin-top: 16px;
    }

    .theme-IFA .ifa-company__process-list li {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
        padding-block: 16px;
    }

    .theme-IFA .ifa-company__range-media figure {
        height: 104px;
    }

    .theme-IFA .ifa-company__range-media figure:nth-child(2) {
        transform: none;
    }

}

@media (prefers-reduced-motion: reduce) {
    .theme-IFA .ifa-company *,
    .theme-IFA .ifa-company *::before,
    .theme-IFA .ifa-company *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

.theme-IFA.home .ifa-home-products-fallback {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.theme-IFA.home .ifa-home-products-fallback__link {
    display: grid;
    gap: 12px;
    height: 100%;
    color: #282828;
    text-align: center;
}

.theme-IFA.home .ifa-home-products-fallback__link img {
    width: 100%;
    height: auto;
    border: 1px solid #e6ebf0;
    background: #fbfcfd;
}

.theme-IFA.home .ifa-home-products-fallback__title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

@media all and (max-width: 1024px) {
    .theme-IFA.home .ifa-home-products-fallback {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media all and (max-width: 768px) {
    .theme-IFA.home .ifa-home-products-fallback {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

/* Unified frontend controls
--------------------------------------------------------------- */
.theme-IFA .ifa-button,
.theme-IFA .ifa-button--primary,
.theme-IFA .button,
.theme-IFA input[type="button"],
.theme-IFA input[type="submit"],
.theme-IFA .nm_btn,
.theme-IFA .nm-infload-btn,
.theme-IFA .nm-infload-to-top,
.theme-IFA .page-numbers li a,
.theme-IFA .page-numbers li span,
.theme-IFA .webmit-search-btn,
.theme-IFA .webmit-search-product-btn,
.theme-IFA .webmit-search-part-btn,
.theme-IFA .webmit-action-btn,
.theme-IFA .webmit-year-button {
    min-height: var(--ifa-control-height);
    padding: 0 22px;
    color: var(--ifa-control-primary-text);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: var(--ifa-control-height);
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
    background: var(--ifa-control-primary-bg);
    border: 1px solid var(--ifa-control-primary-bg);
    border-radius: var(--ifa-control-radius);
    box-shadow: none;
    cursor: pointer;
    transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, opacity 0.18s ease;
}

.theme-IFA .ifa-button {
    display: inline-flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    text-decoration: none;
    vertical-align: middle;
}

.theme-IFA .ifa-button:hover,
.theme-IFA .ifa-button--primary:hover,
.theme-IFA .button:hover,
.theme-IFA input[type="button"]:hover,
.theme-IFA input[type="submit"]:hover,
.theme-IFA .nm_btn:hover,
.theme-IFA .nm-infload-btn:hover,
.theme-IFA .nm-infload-to-top:hover,
.theme-IFA .page-numbers li a:hover,
.theme-IFA .webmit-search-btn:hover,
.theme-IFA .webmit-search-product-btn:hover,
.theme-IFA .webmit-search-part-btn:hover,
.theme-IFA .webmit-action-btn:hover,
.theme-IFA .webmit-year-button:hover {
    color: var(--ifa-control-hover-text);
    background: var(--ifa-control-hover-bg);
    border-color: var(--ifa-control-hover-bg);
}

.theme-IFA .ifa-button:disabled,
.theme-IFA .ifa-button.is-disabled,
.theme-IFA .ifa-button[aria-disabled="true"],
.theme-IFA .button:disabled,
.theme-IFA input[type="button"]:disabled,
.theme-IFA input[type="submit"]:disabled,
.theme-IFA .webmit-search-btn:disabled,
.theme-IFA .webmit-search-product-btn:disabled,
.theme-IFA .webmit-search-part-btn:disabled,
.theme-IFA .webmit-action-btn:disabled {
    color: var(--ifa-control-text-muted);
    background: var(--ifa-control-bg-muted);
    border-color: var(--ifa-control-bg-muted);
    opacity: 0.55 !important;
    cursor: default;
}

.theme-IFA .ifa-button--secondary,
.theme-IFA .ifa-button--ghost,
.theme-IFA .ifa-button--choice,
.theme-IFA .ifa-icon-button,
.theme-IFA .ifa-stepper-button,
.theme-IFA .ifa-select-trigger,
.theme-IFA .button.border,
.theme-IFA .page-numbers li a,
.theme-IFA .page-numbers li span,
.theme-IFA .nm-infload-to-top,
.theme-IFA .webmit-year-button,
.theme-IFA .webmit-select-trigger,
.theme-IFA .nm-qty-minus,
.theme-IFA .nm-qty-plus {
    color: var(--ifa-control-text);
    background: var(--ifa-control-bg);
    border: 1px solid var(--ifa-control-border);
    border-radius: var(--ifa-control-radius);
    box-shadow: none;
}

.theme-IFA .ifa-icon-button,
.theme-IFA .ifa-stepper-button,
.theme-IFA .ifa-select-trigger,
.theme-IFA .webmit-select-trigger,
.theme-IFA .nm-qty-minus,
.theme-IFA .nm-qty-plus {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--ifa-control-height-small);
    min-width: var(--ifa-control-height-small);
    height: var(--ifa-control-height-small);
    min-height: var(--ifa-control-height-small);
    padding: 0;
    line-height: 1;
}

.theme-IFA .ifa-button--secondary:hover,
.theme-IFA .ifa-button--ghost:hover,
.theme-IFA .ifa-button--choice:hover,
.theme-IFA .ifa-icon-button:hover,
.theme-IFA .ifa-stepper-button:hover,
.theme-IFA .ifa-select-trigger:hover,
.theme-IFA .button.border:hover,
.theme-IFA .page-numbers li a:hover,
.theme-IFA .nm-infload-to-top:hover,
.theme-IFA .webmit-year-button:hover,
.theme-IFA .webmit-select-trigger:hover,
.theme-IFA .nm-qty-minus:hover,
.theme-IFA .nm-qty-plus:hover {
    color: var(--ifa-control-hover-text);
    background: var(--ifa-control-hover-bg);
    border-color: var(--ifa-control-hover-bg);
}

.theme-IFA .ifa-button.is-active,
.theme-IFA .ifa-button[aria-pressed="true"],
.theme-IFA .page-numbers li span.current {
    color: var(--ifa-control-hover-text);
    background: var(--ifa-control-hover-bg);
    border-color: var(--ifa-control-hover-bg);
}

.theme-IFA .ifa-button--choice.is-active,
.theme-IFA .ifa-button--choice[aria-pressed="true"],
.theme-IFA .webmit-year-button.is-active,
.theme-IFA .webmit-year-button[aria-pressed="true"] {
    color: var(--ifa-control-hover-text);
    background: var(--ifa-control-hover-bg);
    border-color: var(--ifa-control-hover-bg);
}

.theme-IFA .ifa-button--choice.is-active .ifa-button__bullet,
.theme-IFA .ifa-button--choice[aria-pressed="true"] .ifa-button__bullet,
.theme-IFA .webmit-year-button.is-active .webmit-year-button__bullet,
.theme-IFA .webmit-year-button[aria-pressed="true"] .webmit-year-button__bullet {
    background: currentColor;
}

.theme-IFA .ifa-field,
.theme-IFA .ifa-input,
.theme-IFA .ifa-select,
.theme-IFA .ifa-textarea,
.theme-IFA input[type="text"],
.theme-IFA input[type="email"],
.theme-IFA input[type="search"],
.theme-IFA input[type="tel"],
.theme-IFA input[type="url"],
.theme-IFA input[type="password"],
.theme-IFA select,
.theme-IFA textarea,
.theme-IFA .webmit-input,
.theme-IFA .webmit-text-input,
.theme-IFA .webmit-select {
    min-height: var(--ifa-control-height);
    color: var(--ifa-control-text);
    background: var(--ifa-control-bg);
    border: 1px solid var(--ifa-control-border);
    border-radius: var(--ifa-control-radius);
    box-shadow: none;
}

.theme-IFA .ifa-field:focus,
.theme-IFA .ifa-input:focus,
.theme-IFA .ifa-select:focus,
.theme-IFA .ifa-textarea:focus,
.theme-IFA input[type="text"]:focus,
.theme-IFA input[type="email"]:focus,
.theme-IFA input[type="search"]:focus,
.theme-IFA input[type="tel"]:focus,
.theme-IFA input[type="url"]:focus,
.theme-IFA input[type="password"]:focus,
.theme-IFA select:focus,
.theme-IFA textarea:focus,
.theme-IFA .webmit-input:focus,
.theme-IFA .webmit-text-input:focus,
.theme-IFA .webmit-select:focus {
    border-color: var(--ifa-control-hover-bg);
    outline: none;
}

.theme-IFA .ifa-button:focus-visible,
.theme-IFA .ifa-button--primary:focus-visible,
.theme-IFA .ifa-button--secondary:focus-visible,
.theme-IFA .ifa-button--ghost:focus-visible,
.theme-IFA .ifa-button--choice:focus-visible,
.theme-IFA .ifa-icon-button:focus-visible,
.theme-IFA .ifa-stepper-button:focus-visible,
.theme-IFA .ifa-select-trigger:focus-visible,
.theme-IFA .button:focus-visible,
.theme-IFA input[type="button"]:focus-visible,
.theme-IFA input[type="submit"]:focus-visible,
.theme-IFA .nm_btn:focus-visible,
.theme-IFA .page-numbers li a:focus-visible,
.theme-IFA .webmit-search-btn:focus-visible,
.theme-IFA .webmit-search-product-btn:focus-visible,
.theme-IFA .webmit-search-part-btn:focus-visible,
.theme-IFA .webmit-action-btn:focus-visible,
.theme-IFA .webmit-year-button:focus-visible,
.theme-IFA .webmit-select-trigger:focus-visible {
    outline: 2px solid var(--ifa-control-hover-bg);
    outline-offset: var(--ifa-focus-outline-offset);
}

.theme-IFA .ifa-select-wrap,
.theme-IFA .webmit-search-form--showcase .webmit-select-wrap {
    position: relative;
}

.theme-IFA .ifa-select {
    padding-right: 62px;
    line-height: 1.25;
    appearance: none;
    -webkit-appearance: none;
    background-image: none;
}

.theme-IFA .webmit-search-form--showcase .webmit-select {
    padding-right: 62px;
    line-height: 1.25;
    appearance: none;
    -webkit-appearance: none;
    background-image: none;
}

.theme-IFA .ifa-select-trigger,
.theme-IFA .webmit-search-form--showcase .webmit-select-trigger {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    right: 12px;
    bottom: auto;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    margin-top: -16px;
    color: transparent;
    font-size: 0;
    border: 1px solid var(--ifa-control-border);
    background: var(--ifa-control-bg);
    pointer-events: none;
    box-sizing: border-box;
    z-index: 1;
}

.theme-IFA .ifa-select-trigger::before,
.theme-IFA .webmit-search-form--showcase .webmit-select-trigger::before {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--ifa-control-text);
    border-bottom: 2px solid var(--ifa-control-text);
    content: "";
    transform: translateY(-2px) rotate(45deg);
}

.theme-IFA .ifa-checkbox-label,
.theme-IFA .webmit-search-form--showcase .webmit-checkbox-label {
    gap: 10px;
    color: var(--ifa-control-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
}

.theme-IFA .ifa-checkbox-input,
.theme-IFA .webmit-search-form--showcase .webmit-checkbox-input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

/* Contact page system
--------------------------------------------------------------- */
.theme-IFA.page-id-544 .nm-page-default,
.theme-IFA.page-id-12400 .nm-page-default {
    padding-top: clamp(56px, 6vw, 96px);
    padding-bottom: clamp(64px, 7vw, 112px);
}

.theme-IFA.page-id-544 .nm-page-default {
    width: auto;
    max-width: var(--nm--page-width);
}

.theme-IFA.page-id-544 .nm-page-default-col {
    padding-right: 0;
    padding-left: 0;
}

.theme-IFA .ifa-contact {
    color: var(--ifa-control-text);
}

.theme-IFA .ifa-contact,
.theme-IFA .ifa-contact > .wp-block-group__inner-container {
    max-width: none;
}

.theme-IFA .wp-block-columns.ifa-contact__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.82fr);
    align-items: stretch;
    gap: 0;
    margin: 0;
    overflow: hidden;
    background: var(--ifa-control-bg);
    border: 1px solid var(--ifa-control-border);
    box-shadow: none;
}

.theme-IFA .ifa-contact__info,
.theme-IFA .ifa-contact__form-panel {
    min-width: 0;
    flex-basis: auto !important;
    margin: 0;
}

.theme-IFA .ifa-contact__info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px, 4.4vw, 70px);
    color: rgba(251, 252, 253, 0.86);
    background: var(--nm--color-accent);
}

.theme-IFA .ifa-contact__info h2,
.theme-IFA .ifa-contact__info h3 {
    max-width: 820px;
    margin: 0 0 22px;
    color: #fbfcfd;
    font-size: var(--ifa-type-section-title);
    font-weight: var(--ifa-type-title-weight);
    line-height: var(--ifa-type-title-line-height);
    letter-spacing: var(--ifa-type-title-letter-spacing);
}

.theme-IFA .ifa-contact__info h2 strong,
.theme-IFA .ifa-contact__info h3 strong {
    color: inherit;
}

.theme-IFA .ifa-contact__info p {
    max-width: 760px;
    margin: 0 0 22px;
    color: rgba(251, 252, 253, 0.82);
    font-size: clamp(16px, 1.16vw, 18px);
    line-height: 1.74;
}

.theme-IFA .ifa-contact__info p:first-of-type,
.theme-IFA .ifa-contact__info p:nth-of-type(2) {
    color: rgba(251, 252, 253, 0.96);
    font-size: clamp(17px, 1.35vw, 21px);
    line-height: 1.58;
}

.theme-IFA .ifa-contact__info p:last-child {
    margin-bottom: 0;
}

.theme-IFA .ifa-contact__form-panel {
    display: flex;
    align-items: center;
    padding: clamp(30px, 3.5vw, 56px);
    background: var(--ifa-control-bg);
}

.theme-IFA .ifa-contact__form {
    width: 100%;
}

.theme-IFA .ifa-contact__form div.wpcf7,
.theme-IFA .ifa-contact__form .wpcf7 {
    margin-left: 0;
    overflow: visible;
}

.theme-IFA .ifa-contact__form .wpcf7-form {
    display: grid;
    gap: 16px;
}

.theme-IFA .ifa-contact__form .wpcf7-form > p {
    margin: 0;
    padding: 0;
}

.theme-IFA .ifa-contact-form__field {
    display: grid;
    gap: 8px;
    color: var(--ifa-control-text);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: var(--ifa-type-eyebrow-letter-spacing);
    text-transform: uppercase;
}

.theme-IFA .ifa-contact-form__field br {
    display: none;
}

.theme-IFA .ifa-contact__form .webmit-input,
.theme-IFA .ifa-contact__form .wpcf7 .wpcf7-form-control:not(.wpcf7-submit) {
    width: 100%;
    min-height: var(--ifa-control-height);
    padding: var(--nm--inputs-padding-vertical) var(--nm--inputs-padding-horizontal);
    color: var(--ifa-control-text);
    background: var(--ifa-control-bg);
    border: 1px solid var(--ifa-control-border);
    box-shadow: none;
    transition:
        border-color 180ms cubic-bezier(0.22, 1, 0.36, 1),
        background-color 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.theme-IFA .ifa-contact__form textarea.webmit-input,
.theme-IFA .ifa-contact__form .wpcf7 textarea.wpcf7-form-control {
    min-height: 150px;
    resize: vertical;
}

.theme-IFA .ifa-contact__form .webmit-input:focus,
.theme-IFA .ifa-contact__form .wpcf7 .wpcf7-form-control:not(.wpcf7-submit):focus {
    background: #fbfcfd;
    border-color: var(--ifa-control-hover-bg);
    outline: none;
}

.theme-IFA .ifa-contact__form span.wpcf7-not-valid-tip {
    margin-top: 6px;
    color: #f27362;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
}

.theme-IFA .ifa-contact-form__submit {
    width: 100%;
}

.theme-IFA .ifa-contact__form div.wpcf7-response-output {
    margin: 2px 0 0;
    padding: 0;
    color: var(--ifa-control-text-muted);
}

@media all and (max-width: 991px) {
    .theme-IFA .wp-block-columns.ifa-contact__layout {
        grid-template-columns: 1fr;
    }

    .theme-IFA .ifa-contact__info,
    .theme-IFA .ifa-contact__form-panel {
        padding: clamp(30px, 5vw, 46px);
    }
}

@media all and (max-width: 767px) {
    .theme-IFA.page-id-544 .nm-page-default,
    .theme-IFA.page-id-12400 .nm-page-default {
        padding-top: 42px;
        padding-bottom: 56px;
    }

    .theme-IFA.page-id-544 .nm-page-default {
        width: calc(100vw - 36px);
    }

    .theme-IFA .ifa-contact__info h2,
    .theme-IFA .ifa-contact__info h3 {
        font-size: clamp(25px, 8vw, 34px);
    }

    .theme-IFA .ifa-contact__info p,
    .theme-IFA .ifa-contact__info p:first-of-type,
    .theme-IFA .ifa-contact__info p:nth-of-type(2) {
        font-size: 16px;
    }
}

@media all and (max-width: 550px) {
    .theme-IFA.page-id-544 .nm-page-default {
        width: calc(100vw - 28px);
    }

    .theme-IFA .ifa-contact__info,
    .theme-IFA .ifa-contact__form-panel {
        padding: 26px 20px;
    }
}

/* Institutional typography hardening
--------------------------------------------------------------- */
.theme-IFA :where(.ifa-page-title) {
    margin: 0;
    font-family: inherit;
    font-size: var(--ifa-type-page-title);
    font-weight: var(--ifa-type-title-weight);
    line-height: var(--ifa-type-title-line-height);
    letter-spacing: var(--ifa-type-title-letter-spacing);
}

.theme-IFA .ifa-company__fact span {
    color: var(--ifa-color-muted);
}

.theme-IFA .ifa-generic-page.nm-row {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.theme-IFA .ifa-generic-page > .nm-page-default-col {
    width: 100%;
    padding: 0;
}

.theme-IFA .ifa-generic-page .entry-content {
    color: var(--ifa-color-text);
    font-size: var(--ifa-type-body-size);
    line-height: var(--ifa-type-body-line-height);
}

.theme-IFA .ifa-generic-page .entry-content:not(:has(.ifa-institutional-hero)) {
    box-sizing: border-box;
    width: min(calc(100% - clamp(36px, 6vw, 72px)), 920px);
    margin-inline: auto;
    padding-block: clamp(54px, 7vw, 92px);
}

.theme-IFA .ifa-generic-page .entry-content:not(:has(.ifa-institutional-hero)) :where(p, li) {
    max-width: var(--ifa-layout-readable);
}

.theme-IFA .ifa-generic-page .entry-content :where(p, li) {
    color: var(--ifa-color-text);
    font-size: var(--ifa-type-body-size);
    line-height: var(--ifa-type-body-line-height);
}

.theme-IFA .ifa-generic-page .ifa-institutional-hero h1 {
    font-size: var(--ifa-type-page-title);
    font-weight: var(--ifa-type-title-weight);
    line-height: var(--ifa-type-title-line-height);
    letter-spacing: var(--ifa-type-title-letter-spacing);
}

.theme-IFA .ifa-generic-page .ifa-institutional-hero p {
    max-width: var(--ifa-layout-readable);
    margin-inline: auto;
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.75;
}

.theme-IFA .ifa-generic-page .ifa-institutional-section,
.theme-IFA .ifa-generic-page .ifa-institutional-markets {
    box-sizing: border-box;
    width: var(--ifa-layout-content);
    max-width: 100%;
    margin-inline: auto;
}

.theme-IFA .ifa-generic-page .ifa-institutional-section {
    padding-block: clamp(60px, 7vw, 96px);
}

.theme-IFA .ifa-generic-page .ifa-institutional-section--split {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(44px, 8vw, 110px);
    align-items: start;
}

.theme-IFA .ifa-generic-page .ifa-institutional-copy {
    max-width: var(--ifa-layout-readable);
    padding-top: 28px;
}

.theme-IFA .ifa-generic-page .ifa-institutional-copy p + p {
    margin-top: 20px;
}

.theme-IFA .ifa-generic-page .ifa-institutional-grid {
    display: grid;
    box-sizing: border-box;
    width: var(--ifa-layout-content);
    max-width: 100%;
    margin-inline: auto;
    padding-bottom: clamp(60px, 7vw, 96px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 36px);
}

.theme-IFA .ifa-generic-page .ifa-institutional-grid article {
    padding: clamp(24px, 3vw, 34px);
    background: var(--ifa-color-surface-brand);
    border: 1px solid var(--ifa-color-border);
}

.theme-IFA .ifa-world-page .ifa-institutional-grid--markets {
    display: none;
}

/* SiteOrigin is the page composition layer; IFA sections own their spacing. */
.theme-IFA .ifa-builder-page,
.theme-IFA .ifa-builder-content,
.theme-IFA .ifa-builder-content > .panel-layout,
.theme-IFA .ifa-builder-row,
.theme-IFA .ifa-builder-row > .panel-grid-cell {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* SiteOrigin rows are layout wrappers: IFA sections own all vertical rhythm. */
.theme-IFA .ifa-builder-content > .panel-layout > .panel-grid {
    margin-bottom: 0 !important;
}

.theme-IFA .ifa-builder-row .so-panel,
.theme-IFA .ifa-builder-row .widget,
.theme-IFA .ifa-builder-row .textwidget {
    margin: 0 !important;
}

.theme-IFA .ifa-builder-row .textwidget::before,
.theme-IFA .ifa-builder-row .textwidget::after {
    display: none;
}

@media all and (max-width: 767px) {
    .theme-IFA .ifa-generic-page .ifa-institutional-section--split,
    .theme-IFA .ifa-generic-page .ifa-institutional-grid {
        grid-template-columns: 1fr;
    }

    .theme-IFA .ifa-generic-page .ifa-institutional-copy {
        padding-top: 0;
    }

    .theme-IFA .ifa-language-switcher__link {
        min-width: 44px;
        min-height: 44px;
    }

    .theme-IFA #nm-header.nm-header.centered .nm-main-menu,
    .theme-IFA #nm-header.nm-header.centered .nm-mobile-menu-button {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
    }
}

/* Unified hover contract: chromatic feedback, stable geometry
--------------------------------------------------------------- */
body.theme-IFA {
    --ifa-hover-color: var(--ifa-color-brand-deep);
    --ifa-hover-border: var(--ifa-color-brand);
    --ifa-hover-surface: var(--ifa-color-surface-brand);
}

body.theme-IFA :where(main, footer) a {
    transition-duration: 180ms;
    transition-timing-function: cubic-bezier(.22, 1, .36, 1);
}

body.theme-IFA main :where(a:not(.ifa-button)):hover {
    color: var(--ifa-hover-color);
}

body.theme-IFA :where(a, button, [role="button"]):hover img,
body.theme-IFA :where(a, button, [role="button"]):focus-visible img {
    transform: none !important;
}

body.theme-IFA :where(
    .ifa-certifications__card,
    .ifa-products-carousel__link,
    .ifa-footer__socials a,
    .ifa-footer__certification-list a
):is(:hover, :focus-visible) {
    translate: none;
    scale: 1;
}

/* Site-wide footer-aligned layout contract
--------------------------------------------------------------- */
body.theme-IFA {
    --ifa-layout-max: var(--ifa-catalog-content-width, 1600px);
    --ifa-layout-gutter: var(--ifa-page-gutter);
    --ifa-layout-wide: min(100%, var(--ifa-layout-max));
    --ifa-layout-content: min(100%, var(--ifa-layout-max));
}

/* SiteOrigin editor presets. They provide safe layout choices without inline CSS. */
body.theme-IFA .ifa-builder-row.ifa-so-spacing--standard {
    padding-block: var(--ifa-section-space);
}

body.theme-IFA .ifa-builder-row.ifa-so-spacing--compact {
    padding-block: var(--ifa-section-space-compact);
}

body.theme-IFA .ifa-builder-row.ifa-so-spacing--spacious {
    padding-block: var(--ifa-section-space-spacious);
}

body.theme-IFA .ifa-builder-row.ifa-so-spacing--flush {
    padding-block: 0;
}

body.theme-IFA .ifa-builder-row.ifa-so-surface--brand {
    background: var(--ifa-color-surface-brand);
}

body.theme-IFA .ifa-builder-row.ifa-so-surface--blue,
body.theme-IFA .ifa-builder-row.ifa-so-surface--blue-deep {
    color: var(--ifa-color-on-brand);
}

body.theme-IFA .ifa-builder-row.ifa-so-surface--blue {
    background: var(--ifa-color-brand);
}

body.theme-IFA .ifa-builder-row.ifa-so-surface--blue-deep {
    background: var(--ifa-color-brand-deep);
}

body.theme-IFA .ifa-builder-row.ifa-so-surface--blue :where(h1, h2, h3, h4, h5, h6, p, a),
body.theme-IFA .ifa-builder-row.ifa-so-surface--blue-deep :where(h1, h2, h3, h4, h5, h6, p, a) {
    color: inherit;
}

body.theme-IFA .ifa-builder-row.ifa-so-content--wide > .panel-grid-cell,
body.theme-IFA .ifa-builder-row.ifa-so-content--readable > .panel-grid-cell {
    box-sizing: border-box;
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--ifa-layout-gutter);
}

body.theme-IFA .ifa-builder-row.ifa-so-content--wide > .panel-grid-cell {
    max-width: var(--ifa-layout-max);
}

body.theme-IFA .ifa-builder-row.ifa-so-content--readable > .panel-grid-cell {
    max-width: calc(var(--ifa-layout-readable) + (2 * var(--ifa-layout-gutter)));
}

/* Keyboard bypass link */
body.theme-IFA .ifa-skip-link {
    display: inline-flex;
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100000;
    padding: 12px 18px;
    min-height: 44px;
    box-sizing: border-box;
    align-items: center;
    color: var(--ifa-color-on-brand);
    background: var(--ifa-color-brand-deep);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transform: translateY(calc(-100% - 24px));
    transition: transform var(--ifa-motion-fast);
}

body.theme-IFA .ifa-skip-link:focus {
    outline: 2px solid var(--ifa-color-on-brand);
    outline-offset: 3px;
    transform: translateY(0);
}

body.theme-IFA :where(.ifa-container, .ifa-section-heading, .ifa-page-hero__inner, .ifa-institutional-section, .ifa-institutional-grid) {
    min-width: 0;
}

body.theme-IFA :where(.ifa-page-title, .ifa-section-title, .ifa-content-title, .ifa-page-hero__title, .ifa-content-description, .ifa-section-description) {
    overflow-wrap: anywhere;
}

body.theme-IFA :where(.ifa-container),
body.theme-IFA .ifa-home-aftermarket-claim__inner,
body.theme-IFA .ifa-contact-page__content,
body.theme-IFA .ifa-company__facts-inner,
body.theme-IFA .ifa-company__section,
body.theme-IFA .ifa-company__process-inner,
body.theme-IFA .ifa-generic-page .ifa-institutional-section,
body.theme-IFA .ifa-generic-page .ifa-institutional-markets,
body.theme-IFA .ifa-generic-page .ifa-institutional-grid,
body.theme-IFA .ifa-generic-page .entry-content:not(:has(.ifa-institutional-hero)) {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--ifa-layout-max);
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--ifa-layout-gutter);
    padding-left: var(--ifa-layout-gutter);
}

@media all and (min-width: 992px) {
    body.theme-IFA #nm-header.nm-header.centered .nm-row {
        box-sizing: border-box;
        width: 100%;
        max-width: var(--ifa-layout-max);
        padding-right: var(--ifa-layout-gutter);
        padding-left: var(--ifa-layout-gutter);
    }
}

/* Shared company history
--------------------------------------------------------------- */
.theme-IFA .ifa-company-history {
    color: var(--ifa-color-text);
    background: transparent;
}

.theme-IFA .ifa-company-history__inner {
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
    gap: clamp(52px, 8vw, 128px);
    align-items: center;
    padding-top: var(--ifa-section-space);
    padding-bottom: var(--ifa-section-space);
}

.theme-IFA .ifa-company-history__title {
    max-width: 16ch;
    margin: 0;
    color: var(--ifa-color-ink);
}

.theme-IFA .ifa-company-history__intro {
    max-width: 62ch;
    margin: 26px 0 0;
}

.theme-IFA .ifa-company-history__timeline {
    margin: clamp(34px, 4vw, 52px) 0 0;
    padding: 0;
    list-style: none;
    border-bottom: 1px solid var(--ifa-color-border);
}

.theme-IFA .ifa-company-history__timeline li {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: clamp(18px, 2.5vw, 34px);
    align-items: center;
    padding: clamp(22px, 2.5vw, 30px) 0;
    border-top: 1px solid var(--ifa-color-border);
}

.theme-IFA .ifa-company-history__marker {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    color: var(--ifa-color-on-brand);
    background: var(--ifa-color-brand);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .06em;
}

.theme-IFA .ifa-company-history__timeline h3 {
    margin: 0 0 8px;
    color: var(--ifa-color-ink);
    font-size: clamp(20px, 2vw, 25px);
}

.theme-IFA .ifa-company-history__timeline p {
    max-width: 62ch;
    margin: 0;
    color: var(--ifa-color-text);
    font-size: var(--ifa-type-body-size);
    line-height: var(--ifa-type-body-line-height);
}

.theme-IFA .ifa-company-history__media {
    min-height: clamp(430px, 40vw, 630px);
    margin: 0;
    overflow: hidden;
    background: var(--ifa-color-surface);
    border: 1px solid var(--ifa-color-border);
}

.theme-IFA .ifa-company-history__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center;
}

/* Solidarity Lamp
--------------------------------------------------------------- */
.theme-IFA .ifa-solidarity {
    width: 100%;
    overflow: hidden;
    color: var(--ifa-color-text);
    background: var(--ifa-color-surface);
}

.theme-IFA .ifa-solidarity :where(h1, h2, h3, p, figure) {
    margin-top: 0;
}

.theme-IFA .ifa-solidarity__overview,
.theme-IFA .ifa-solidarity__impact {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(50px, 9vw, 140px);
    align-items: start;
    padding-top: var(--ifa-section-space);
    padding-bottom: var(--ifa-section-space);
}

.theme-IFA .ifa-solidarity__section-heading h2,
.theme-IFA .ifa-solidarity__impact-copy h2,
.theme-IFA .ifa-solidarity__process h2,
.theme-IFA .ifa-solidarity__cta h2 {
    margin: 0;
    color: var(--ifa-color-ink);
}

.theme-IFA .ifa-solidarity__copy {
    max-width: 68ch;
    padding-top: 30px;
}

.theme-IFA .ifa-solidarity__copy p,
.theme-IFA .ifa-solidarity__impact-copy .ifa-content-description p {
    margin: 0;
}

.theme-IFA .ifa-solidarity__copy p + p,
.theme-IFA .ifa-solidarity__impact-copy .ifa-content-description p + p {
    margin-top: 22px;
}

.theme-IFA .ifa-solidarity__process {
    padding-top: var(--ifa-section-space);
    padding-bottom: var(--ifa-section-space);
    color: var(--ifa-color-on-brand);
    background: var(--ifa-color-brand);
}

.theme-IFA .ifa-solidarity__process-heading {
    width: min(100%, 920px);
    margin: 0 auto clamp(32px, 4vw, 48px);
    text-align: center;
}

.theme-IFA .ifa-solidarity__process .ifa-label {
    color: oklch(88% .07 246);
}

.theme-IFA .ifa-solidarity__process h2 {
    max-width: 22ch;
    margin-right: auto;
    margin-left: auto;
    color: var(--ifa-color-on-brand);
}

.theme-IFA .ifa-solidarity__process-description {
    max-width: 68ch;
    margin: 20px auto 0;
    color: oklch(90% .018 247);
}

.theme-IFA .ifa-solidarity__process-list {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    border-top: 1px solid color-mix(in srgb, var(--ifa-color-on-brand) 28%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--ifa-color-on-brand) 28%, transparent);
}

.theme-IFA .ifa-solidarity__process-list li {
    padding: clamp(30px, 4vw, 48px);
    border-left: 1px solid color-mix(in srgb, var(--ifa-color-on-brand) 28%, transparent);
}

.theme-IFA .ifa-solidarity__process-list li:last-child {
    border-right: 1px solid color-mix(in srgb, var(--ifa-color-on-brand) 28%, transparent);
}

.theme-IFA .ifa-solidarity__process-index {
    display: flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    color: var(--ifa-color-brand-deep);
    background: var(--ifa-color-on-brand);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.theme-IFA .ifa-solidarity__process-list h3 {
    margin: 0 0 14px;
    color: var(--ifa-color-on-brand);
}

.theme-IFA .ifa-solidarity__process-list p {
    max-width: 42ch;
    margin: 0;
    color: oklch(91% .016 247);
    font-size: var(--ifa-type-body-size);
    line-height: var(--ifa-type-body-line-height);
}

.theme-IFA .ifa-solidarity__impact {
    align-items: center;
}

.theme-IFA .ifa-solidarity__impact:not(:has(.ifa-solidarity__impact-media)) {
    grid-template-columns: minmax(0, 820px);
    justify-content: center;
    text-align: center;
}

.theme-IFA .ifa-solidarity__impact:not(:has(.ifa-solidarity__impact-media)) .ifa-content-description {
    margin-inline: auto;
}

.theme-IFA .ifa-solidarity__impact-media {
    min-height: clamp(300px, 28vw, 440px);
    margin: 0;
    overflow: hidden;
    background: var(--ifa-color-surface-brand);
    border: 1px solid var(--ifa-color-border);
}

.theme-IFA .ifa-solidarity__impact-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: right center;
}

.theme-IFA .ifa-solidarity__impact-copy .ifa-content-description {
    max-width: 62ch;
    margin: 28px 0 0;
}

.theme-IFA .ifa-solidarity__cta {
    padding-top: var(--ifa-section-space);
    padding-bottom: var(--ifa-section-space);
    text-align: center;
    background: var(--ifa-color-surface-brand);
}

.theme-IFA .ifa-solidarity__cta-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.theme-IFA .ifa-solidarity__cta h2 {
    max-width: 20ch;
}

.theme-IFA .ifa-solidarity__cta .ifa-button {
    margin-top: 32px;
}

@media all and (max-width: 960px) {
    .theme-IFA .ifa-company-history__inner,
    .theme-IFA .ifa-solidarity__overview,
    .theme-IFA .ifa-solidarity__impact {
        grid-template-columns: minmax(0, 1fr);
        gap: 44px;
    }

    .theme-IFA .ifa-company-history__media {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .theme-IFA .ifa-company-history__media img {
        min-height: 0;
    }

    .theme-IFA .ifa-solidarity__copy {
        padding-top: 0;
    }

}

@media all and (max-width: 700px) {
    .theme-IFA .ifa-solidarity__process-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .theme-IFA .ifa-solidarity__process-list li,
    .theme-IFA .ifa-solidarity__process-list li:last-child {
        padding: 30px 0;
        border-right: 0;
        border-bottom: 1px solid color-mix(in srgb, var(--ifa-color-on-brand) 28%, transparent);
        border-left: 0;
    }

    .theme-IFA .ifa-solidarity__process-list li:last-child {
        border-bottom: 0;
    }

    .theme-IFA .ifa-solidarity__process-index {
        margin-bottom: 20px;
    }

    .theme-IFA .ifa-solidarity__cta .ifa-button {
        box-sizing: border-box;
        width: 100%;
    }
}

@media all and (max-width: 640px) {
    .theme-IFA .ifa-company-history__timeline li {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 16px;
    }

    .theme-IFA .ifa-company-history__marker {
        width: 40px;
        height: 40px;
    }
}
