/* Approved Header 1 and shared controls. Scoped to the public shell only.
 * Source: WEB-DESIGN-HANDOFF-20260925. No page-content/hero or URL overrides.
 */
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .dropdown-toggle::after {
    content: "\f078" !important; font-family: "Font Awesome 6 Pro" !important;
    font-size: 10px !important; border: 0 !important; margin-inline-start: 6px;
}
body.psfm-approved-shell {
    --psfm-shell-red: #c8102e;
    --psfm-shell-navy: #142d4e;
    --psfm-shell-blue: #1263e8;
    --psfm-shell-green: #008a58;
    --psfm-shell-ink: #131720;
    --psfm-shell-muted: #566174;
    --psfm-shell-line: #e1e5eb;
    --psfm-shell-header: 82px;
    padding-top: var(--psfm-shell-header) !important;
}
html body.psfm-approved-shell main.main { padding-top: 0 !important; }
html body.psfm-approved-shell > .psfm-refined-header {
    position: fixed !important; inset: 0 0 auto !important;
    height: var(--psfm-shell-header) !important; min-height: 0 !important;
    background: #fff !important; z-index: 10000 !important;
    border-bottom: 1px solid var(--psfm-shell-line);
    box-shadow: 0 5px 18px #142d4e17 !important;
}
@media (min-width: 992px) {
    html body.psfm-approved-shell > .psfm-refined-header::after {
        content: "" !important; position: absolute !important;
        inset: auto 0 0 !important; height: 2px !important;
        background: linear-gradient(90deg, var(--psfm-shell-navy), var(--psfm-shell-blue) 42%, var(--psfm-shell-red)) !important;
        pointer-events: none !important;
    }
}
html:root body.psfm-approved-shell header.psfm-refined-header.header :is(.main-navigation, .navbar) {
    height: 100% !important; min-height: 0 !important; padding: 0 !important;
    background: #fff !important; box-shadow: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .custom-nav-shell {
    height: 100% !important; max-width: 1440px !important; width: 100% !important;
    padding: 0 28px !important; display: flex !important; align-items: center !important;
    justify-content: space-between !important; gap: 24px !important;
    position: relative !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-brand {
    position: static !important; inset: auto !important; transform: none !important;
    display: flex !important; align-items: center !important;
    flex: 0 0 160px !important; width: 160px !important; height: 58px !important;
    padding: 0 !important; margin: 0 !important; background: none !important;
    overflow: visible !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-brand::before,
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-brand::after { display: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-brand picture {
    display: block !important; width: 100% !important; max-width: 100% !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-brand img {
    display: block !important; opacity: 1 !important; visibility: visible !important;
    width: 100% !important; height: auto !important; max-width: 100% !important; max-height: 56px !important;
    object-fit: contain !important; transform: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav {
    background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    flex: 1 !important; gap: clamp(12px, 2vw, 32px) !important;
    align-items: center !important; justify-content: flex-end !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list {
    gap: clamp(4px, 1.2vw, 18px) !important; align-items: center !important; margin: 0 !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list > .nav-item > .nav-link {
    min-height: 44px !important; padding: 11px 6px !important; margin: 0 !important;
    font-size: 15px !important; font-weight: 600 !important; line-height: 22px !important;
    letter-spacing: 0 !important; text-transform: none !important;
    color: var(--psfm-shell-ink) !important; background: transparent !important;
    border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list > .nav-item > .nav-link:is(.active, :hover, [aria-expanded="true"]) {
    color: var(--psfm-shell-red) !important; border-bottom-color: var(--psfm-shell-red) !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list > .nav-item > .nav-link::before { display: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header :is(.header-nav-right, .header-utility-cluster, .language-switcher) {
    display: flex !important; align-items: center !important; flex-direction: row !important;
    flex-wrap: nowrap !important; gap: 12px !important; margin: 0 !important; padding: 0 !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-nav-right { flex: 0 0 auto !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search { display: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .language-switcher {
    min-height: 46px !important; gap: 4px !important;
    border: 0 !important; border-inline-start: 1px solid var(--psfm-shell-line) !important;
    padding-inline-start: 16px !important; border-radius: 0 !important; background: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header :is(.lang-switch-link, .mobile-language-switcher a) {
    font-size: 14px !important; color: #273449 !important; font-weight: 700 !important;
    padding: 4px 2px !important; background: none !important; border: 0 !important;
    border-radius: 0 !important; box-shadow: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header :is(.lang-switch-link, .mobile-language-switcher a).is-active {
    color: var(--psfm-shell-ink) !important; text-decoration: underline !important; text-underline-offset: 6px;
}
@media (min-width: 992px) {
    html:root body.psfm-approved-shell header.psfm-refined-header.header .language-switcher .lang-switch-link {
        display: grid !important; place-items: center !important; min-width: 34px !important; height: 36px !important;
        padding: 0 !important; border-radius: 6px !important; font-weight: 700 !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .language-switcher .lang-switch-link[lang="ar"] {
        min-width: 58px !important; padding-inline: 6px !important; font-size: 14px !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .language-switcher .lang-switch-link.is-active {
        color: var(--psfm-shell-red) !important; background: #fff0f3 !important; text-decoration: none !important;
        box-shadow: inset 0 -2px 0 var(--psfm-shell-red) !important;
    }
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-contact-chip {
    width: 46px !important; min-width: 46px !important; height: 46px !important;
    display: grid !important; place-items: center !important; padding: 0 !important;
    background: var(--psfm-shell-red) !important; color: #fff !important;
    border: 1px solid var(--psfm-shell-red) !important; border-radius: 6px !important; box-shadow: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-contact-chip i {
    color: #fff !important; background: none !important; font-size: 20px !important;
    width: 20px !important; height: 20px !important; line-height: 20px !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social { display: none !important; position: relative !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-trigger {
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important;
    min-width: 94px !important; width: auto !important; height: 46px !important;
    padding: 0 12px !important; background: var(--psfm-shell-red) !important; color: #fff !important;
    border: 1px solid var(--psfm-shell-red) !important; border-radius: 6px !important; box-shadow: none !important;
    font-size: 13px !important; font-weight: 700 !important; line-height: 20px !important; white-space: nowrap !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-trigger i {
    width: 9px !important; height: 9px !important; line-height: 9px !important; font-size: 9px !important;
    color: #fff !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links {
    position: absolute !important; top: calc(100% + 10px) !important; inset-inline-start: auto !important; inset-inline-end: 0 !important;
    display: none !important; width: 230px !important; padding: 8px !important; margin: 0 !important;
    list-style: none !important; background: #fff !important; border: 1px solid var(--psfm-shell-line) !important;
    border-radius: 8px !important; box-shadow: 0 16px 32px #142d4e24 !important; z-index: 10010 !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social.is-open .psfm-header-social-links { display: block !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links a {
    display: flex !important; align-items: center !important; gap: 12px !important; min-height: 40px !important;
    padding: 8px 10px !important; color: var(--psfm-shell-ink) !important; border-radius: 5px !important;
    font-size: 14px !important; font-weight: 600 !important; line-height: 20px !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links a:is(:hover, :focus-visible) {
    color: var(--psfm-shell-red) !important; background: #fff0f3 !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links a i {
    width: 20px !important; text-align: center !important; color: var(--psfm-shell-red) !important; font-size: 17px !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links .psfm-social-facebook i { color: #1877f2 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links .psfm-social-instagram i { color: #d62976 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links .psfm-social-whatsapp-channel i { color: #128c4c !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links .psfm-social-x i { color: #111827 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links .psfm-social-youtube i { color: #ff0033 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links .psfm-social-tiktok i { color: #111827 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-links .psfm-social-linkedin i { color: #0a66c2 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .header-contact-text { display: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn {
    min-height: 46px !important; padding: 12px 18px !important; border-radius: 6px !important;
    background: var(--psfm-shell-red) !important; color: #fff !important;
    font-size: 15px !important; font-weight: 600 !important; line-height: 22px !important;
    border: 0 !important; box-shadow: none !important; white-space: nowrap !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn { display: block !important; margin: 0 !important; padding: 0 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn i {
    height: auto !important; line-height: 1 !important; align-self: center !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn::before,
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn::after { display: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .dropdown-menu {
    background: #fff !important; border: 1px solid var(--psfm-shell-line) !important;
    border-radius: 8px !important; padding: 18px !important; box-shadow: 0 16px 35px #162b4520 !important;
    max-height: calc(100dvh - 110px) !important; overflow-y: auto !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-more {
    width: 620px !important; min-width: 0 !important; inset-inline-start: auto !important;
    inset-inline-end: 0 !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-more.show { display: grid !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-services {
    width: min(560px, calc(100vw - 32px)) !important; min-width: 0 !important;
    max-width: min(560px, calc(100vw - 32px)) !important; max-height: min(76vh, 700px) !important;
    padding: 14px !important; overflow-y: auto !important; overscroll-behavior: contain;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-services.show { display: block !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector + .psfm-service-sector { margin-top: 6px !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector summary {
    display: flex !important; align-items: center !important; gap: 10px !important;
    min-height: 52px !important; padding: 12px 14px !important; cursor: pointer !important;
    color: var(--psfm-shell-ink) !important; background: #f8fafc !important;
    border: 1px solid var(--psfm-shell-line) !important; border-radius: 6px !important;
    font-size: 16px !important; font-weight: 700 !important; line-height: 1.25 !important;
    list-style: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector summary::-webkit-details-marker { display: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector summary > span:first-child { flex: 1 1 auto !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector-count {
    display: grid !important; place-items: center !important; min-width: 26px !important; height: 26px !important;
    padding-inline: 5px !important; color: var(--psfm-shell-muted) !important; background: #fff !important;
    border-radius: 999px !important; font-size: 12px !important; font-weight: 700 !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector summary i { color: var(--psfm-shell-red) !important; font-size: 12px !important; transition: transform .18s ease; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector details[open] summary,
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector summary:is(:hover, :focus-visible) {
    background: #fff4f6 !important; border-color: #edc8d0 !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector details[open] summary i { transform: rotate(180deg) !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector-links {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
    gap: 2px !important; padding: 8px 2px 10px !important; margin: 0 !important; list-style: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector-links .dropdown-item { min-height: 56px !important; padding: 9px 12px !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector-links li + li { border-top: 1px solid #e9edf2 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-related-sites-heading { padding: 10px 12px 8px !important; color: var(--psfm-shell-muted) !important; font-size: 11px !important; letter-spacing: .07em !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-external-site .dropdown-item { background: #f7f9fc !important; border: 1px solid #dfe6ee !important; border-radius: 8px !important; padding: 12px 14px !important; margin-bottom: 6px !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-external-site--ondemand .dropdown-item { border-inline-start: 3px solid var(--psfm-shell-blue) !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-external-site--recruitment .dropdown-item { border-inline-start: 3px solid var(--psfm-shell-red) !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-external-site .dropdown-item:is(:hover, :focus-visible) { background: #fff4f6 !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-external-site-kind { display: block !important; margin-bottom: 4px !important; color: var(--psfm-shell-muted) !important; font-size: 11px !important; font-weight: 700 !important; line-height: 1.2 !important; text-transform: uppercase !important; letter-spacing: .04em !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group + .psfm-menu-group {
    border-inline-start: 1px solid var(--psfm-shell-line); padding-inline-start: 20px;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    background: none; border: 0; color: var(--psfm-shell-ink); padding: 8px 10px 12px;
    font-size: 16px; line-height: 24px; font-weight: 750; text-align: start;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle i { display: none; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-links {
    list-style: none !important; padding: 0 !important; margin: 0 !important;
    position: static !important; width: auto !important; background: none !important;
    opacity: 1 !important; visibility: visible !important; transform: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .dropdown-item {
    display: block !important; white-space: normal !important; padding: 10px !important;
    font-size: 15px !important; line-height: 1.45 !important; border: 0 !important; border-radius: 5px !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .dropdown-item-title {
    color: var(--psfm-shell-ink) !important; font-size: 15px !important; font-weight: 600 !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .dropdown-item-copy {
    display: block !important; color: var(--psfm-shell-muted) !important;
    font-size: 13px !important; line-height: 1.45 !important; margin-top: 3px !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .dropdown-item:is(:hover, :focus, .active) {
    background: #fff2f4 !important; color: var(--psfm-shell-red) !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header :is(a, button):focus-visible {
    outline: 3px solid var(--psfm-shell-blue) !important; outline-offset: 3px !important;
}
/* One accessible dock, rather than the historical duplicate strips. */
html body.psfm-approved-shell :is(.psfm-mobile-action-strip, .psfm-mobile-fixed-controls) { display: none !important; }
html body.psfm-approved-shell .psfm-mobile-action-bar { display: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-mobile-menu-language { display: none !important; }
/* Physical left/right placements intentionally match the approved EN and AR spec. */
html body.psfm-approved-shell .footer-floating-contact.footer-floating-contact:is(.is-email, .is-whatsapp) {
    position: fixed !important; left: 20px !important; right: auto !important; top: auto !important;
    bottom: 20px !important; width: 52px !important; height: 52px !important; z-index: 1001 !important;
}
html body.psfm-approved-shell .footer-floating-contact.footer-floating-contact.is-email { bottom: 84px !important; }
html body.psfm-approved-shell .footer-floating-contact > a {
    display: grid !important; place-items: center !important;
    width: 52px !important; height: 52px !important; padding: 0 !important;
    border-radius: 50% !important; border: 0 !important; color: #fff !important;
    background: var(--psfm-shell-red) !important;
}
html body.psfm-approved-shell .footer-floating-contact.is-whatsapp > a { background: var(--psfm-shell-green) !important; }
html body.psfm-approved-shell .footer-floating-contact i { color: #fff !important; font-size: 24px !important; }
html body.psfm-approved-shell .footer-floating-contact-text { display: none !important; }
html body.psfm-approved-shell #scroll-top {
    position: fixed !important; left: auto !important; right: 20px !important; top: auto !important; bottom: 20px !important;
    width: 52px !important; height: 52px !important; background: var(--psfm-shell-red) !important; color: #fff !important;
    border-radius: 50% !important; z-index: 1001 !important;
}
html body.psfm-approved-shell .psfm-ai-assistant:not(.is-open) {
    top: auto !important; bottom: 84px !important; right: 20px !important; left: auto !important;
    width: 52px !important; height: 52px !important; transform: none !important; z-index: 1002 !important;
    display: block !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important;
}
html body.psfm-approved-shell .psfm-ai-assistant .psfm-ai-launcher {
    background: var(--psfm-shell-blue) !important; color: #fff !important;
    width: 52px !important; height: 52px !important; min-width: 0 !important;
    padding: 0 !important; border: 0 !important; border-radius: 50% !important;
    display: grid !important; place-items: center !important;
}
html body.psfm-approved-shell .psfm-ai-launcher > .psfm-ai-launcher-text,
html body.psfm-approved-shell .psfm-ai-auto-prompt { display: none !important; }
html body.psfm-approved-shell .psfm-ai-launcher i { color: #fff !important; font-size: 24px !important; }
@media (min-width: 992px) {
    html:root body.psfm-approved-shell header.psfm-refined-header.header .mobile-menu-right { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav { display: flex !important; position: static !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list { margin-inline: auto !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle { pointer-events: none; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search {
        display: block !important; position: relative !important; width: 42px !important; min-width: 42px !important;
        height: 42px !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search-trigger {
        display: grid !important; place-items: center !important; width: 42px !important; height: 42px !important;
        padding: 0 !important; color: var(--psfm-shell-ink) !important; background: #fff !important;
        border: 1px solid transparent !important; border-radius: 6px !important; font-size: 18px !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search-trigger:is(:hover, :focus-visible),
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search.is-open .psfm-header-search-trigger {
        color: var(--psfm-shell-red) !important; background: #fff4f6 !important;
        border-color: var(--psfm-shell-line) !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search-panel {
        display: none !important; position: absolute !important; top: calc(100% + 12px) !important;
        inset-inline-start: 0 !important; width: min(320px, calc(100vw - 32px)) !important;
        padding: 8px !important; gap: 6px !important; background: #fff !important;
        border: 1px solid var(--psfm-shell-line) !important; border-radius: 8px !important;
        box-shadow: 0 16px 32px #142d4e24 !important; z-index: 10010 !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search.is-open .psfm-header-search-panel { display: flex !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search-panel input[type="search"] {
        flex: 1 1 auto !important; min-width: 0 !important; height: 40px !important; padding: 8px 10px !important;
        border: 1px solid var(--psfm-shell-line) !important; border-radius: 5px !important;
        background: #fff !important; color: var(--psfm-shell-ink) !important; font-size: 14px !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-search-panel button[type="submit"] {
        flex: 0 0 40px !important; width: 40px !important; height: 40px !important;
        padding: 0 !important; border: 0 !important; border-radius: 5px !important;
        background: var(--psfm-shell-red) !important; color: #fff !important;
    }
    /* One clear CTA; the supporting controls stay quiet against the white header. */
    html:root body.psfm-approved-shell header.psfm-refined-header.header .language-switcher { min-height: 42px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .header-contact-chip {
        width: 42px !important; min-width: 42px !important; height: 42px !important;
        background: #fff !important; color: var(--psfm-shell-red) !important;
        border-color: var(--psfm-shell-line) !important;
        box-shadow: inset 0 -2px 0 #c8102e8c !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .header-contact-chip i {
        color: var(--psfm-shell-red) !important; font-size: 17px !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-trigger {
        height: 42px !important; min-width: 90px !important; padding-inline: 11px !important;
        background: #fff !important; color: var(--psfm-shell-ink) !important;
        border-color: var(--psfm-shell-line) !important; font-weight: 600 !important;
        box-shadow: inset 0 -2px 0 #c8102e8c !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social-trigger i { color: var(--psfm-shell-red) !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header :is(.header-contact-chip, .psfm-header-social-trigger):is(:hover, :focus-visible) {
        background: #fff4f6 !important; border-color: var(--psfm-shell-red) !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn {
        min-height: 42px !important; padding: 10px 14px !important;
        font-size: 14px !important; font-weight: 600 !important;
        box-shadow: inset 0 -2px 0 #8f0d27 !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn:is(:hover, :focus-visible) {
        background: #a70c28 !important;
    }
}
@media (min-width: 1360px) {
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-header-social { display: block !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list > .nav-item > .nav-link { font-size: 13px !important; padding-inline: 4px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn { font-size: 13px !important; padding-inline: 12px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .custom-nav-shell { padding-inline: 18px !important; gap: 16px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .header-brand { flex-basis: 130px !important; width: 130px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list { gap: 2px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav { gap: 12px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .header-nav-right { gap: 8px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .language-switcher { padding-inline-start: 8px !important; }
}
@media (max-width: 991.98px) {
    body.psfm-approved-shell {
        --psfm-shell-header: 72px; --psfm-shell-dock: calc(76px + env(safe-area-inset-bottom, 0px));
        /* Compact inline actions; mobile utilities sit just above their safe-area-aware bar. */
        --psfm-shell-action-height: calc(60px + env(safe-area-inset-bottom, 0px));
        padding-bottom: var(--psfm-shell-dock) !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .custom-nav-shell { padding: 0 16px !important; gap: 12px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .header-brand { width: 132px !important; flex-basis: 132px !important; height: 50px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .mobile-menu-right {
        display: flex !important; position: static !important; inset: auto !important;
        align-items: center !important; justify-content: flex-end !important; gap: 18px !important;
        width: auto !important; height: auto !important; visibility: visible !important; pointer-events: auto !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-mobile-menu-language {
        display: flex !important; align-items: center !important; justify-content: space-between !important;
        flex-wrap: wrap !important; gap: 10px !important; width: 100% !important;
        padding: 4px 8px 14px !important; margin-bottom: 8px !important;
        border-bottom: 1px solid var(--psfm-shell-line) !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-mobile-menu-language-label {
        display: inline-flex !important; align-items: center !important; gap: 8px !important;
        color: var(--psfm-shell-muted) !important; font-size: 13px !important; font-weight: 700 !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-mobile-menu-language-label i {
        color: var(--psfm-shell-red) !important; font-size: 16px !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-mobile-menu-language-options {
        display: inline-flex !important; align-items: center !important; gap: 4px !important;
        padding: 3px !important; border: 1px solid var(--psfm-shell-line) !important;
        border-radius: 7px !important; background: #f7f9fc !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-mobile-menu-language-options a {
        display: inline-flex !important; align-items: center !important; justify-content: center !important;
        min-height: 40px !important; min-width: 48px !important; padding: 8px 11px !important;
        color: var(--psfm-shell-ink) !important; border-radius: 5px !important;
        font-size: 14px !important; line-height: 1.2 !important; font-weight: 700 !important;
        text-decoration: none !important; white-space: nowrap !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-mobile-menu-language-options a:is(.is-active, :hover, :focus-visible) {
        color: var(--psfm-shell-red) !important; background: #fff !important;
        box-shadow: 0 1px 5px #142d4e12 !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .mobile-search-btn { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .navbar-toggler {
        width: 44px !important; height: 44px !important; min-width: 44px !important;
        padding: 0 !important; border: 0 !important; border-radius: 6px !important; margin: 0 !important;
        background: #fff !important; color: var(--psfm-shell-ink) !important; box-shadow: none !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .navbar-toggler i { display: block !important; color: inherit !important; font-size: 24px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-mobile-control-fallback { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav.navbar-collapse {
        position: fixed !important; inset: var(--psfm-shell-header) 0 auto !important;
        width: 100% !important; max-height: calc(100dvh - var(--psfm-shell-header) - var(--psfm-shell-dock) - 66px) !important;
        min-height: 0 !important; padding: 12px 16px 24px !important; margin: 0 !important;
        background: #fff !important; border: 0 !important; border-bottom: 1px solid var(--psfm-shell-line) !important;
        border-radius: 0 !important; box-shadow: 0 20px 30px #14253b18 !important;
        overflow: auto !important; transform: none !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav:not(.show) { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav.show { display: block !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list { display: block !important; width: 100% !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list > .nav-item > .nav-link {
        width: 100% !important; text-align: start !important; font-size: 16px !important; padding: 12px 10px !important;
        border-bottom: 0 !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .psfm-more-nav > .dropdown-toggle { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-more,
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-more.show {
        display: block !important; position: static !important; inset: auto !important;
        width: 100% !important; max-width: 100% !important; max-height: none !important;
        padding: 0 !important; border: 0 !important; box-shadow: none !important;
        opacity: 1 !important; visibility: visible !important; transform: none !important; overflow: visible !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-services,
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-services.show {
        display: block !important; position: static !important; inset: auto !important;
        width: 100% !important; min-width: 0 !important; max-width: 100% !important; max-height: none !important;
        opacity: 1 !important; visibility: visible !important; transform: none !important; overflow: visible !important;
    }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-services:not(.show) { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-service-sector-links { grid-template-columns: 1fr !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group + .psfm-menu-group { border: 0; padding: 0; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle { min-height: 48px; padding: 12px 10px; font-size: 16px; font-weight: 600; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle i { display: inline-block; font-size: 14px; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle[aria-expanded="true"] { color: var(--psfm-shell-red); background: #fff2f4; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle[aria-expanded="false"] + .psfm-menu-group-links { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-toggle[aria-expanded="true"] + .psfm-menu-group-links { display: block !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .header-nav-right { margin-top: 14px !important; border-top: 1px solid var(--psfm-shell-line); padding-top: 20px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .header-utility-cluster { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn { display: block !important; width: 100% !important; margin: 0 !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn { display: flex !important; justify-content: center !important; gap: 16px !important; width: 100% !important; }
    html body.psfm-approved-shell .psfm-mobile-action-bar {
        visibility: visible !important; pointer-events: auto !important; overflow: visible !important;
        min-height: var(--psfm-shell-action-height) !important; max-height: none !important; margin: 0 !important;
        display: grid !important; grid-template-columns: minmax(0,.75fr) minmax(0,1.3fr) minmax(0,1fr) !important;
        gap: 6px !important; position: fixed !important; inset: auto 0 0 !important;
        height: var(--psfm-shell-action-height) !important; padding: 7px 8px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
        width: 100% !important; background: #fff !important; border-top: 1px solid var(--psfm-shell-line);
        z-index: 10002 !important; box-shadow: 0 -4px 15px #14253b10 !important;
    }
    html body.psfm-approved-shell .psfm-mobile-action-bar > a {
        display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: center !important;
        gap: 6px !important; min-width: 0 !important; min-height: 44px !important; padding: 4px 3px !important; border-radius: 5px !important; white-space: nowrap !important;
        color: #fff !important; background: var(--psfm-shell-red) !important; font-size: 12px !important;
        line-height: 1.2 !important; font-weight: 600 !important; border: 0 !important;
    }
    html body.psfm-approved-shell .psfm-mobile-action-bar > a[data-psfm-cta="mobile_sticky_quote"] { background: var(--psfm-shell-navy) !important; }
    html body.psfm-approved-shell .psfm-mobile-action-bar > a[data-psfm-cta="mobile_sticky_whatsapp"] { background: #007a4e !important; }
    html body.psfm-approved-shell .psfm-mobile-action-bar > a :is(i, span) { color: #fff !important; }
    html body.psfm-approved-shell .psfm-mobile-action-bar > a span { font: inherit !important; white-space: nowrap !important; }
    html body.psfm-approved-shell .psfm-mobile-action-bar > a i { flex: 0 0 auto; font-size: 16px !important; line-height: 1 !important; width: auto !important; height: auto !important; margin: 0 !important; }
    html body.psfm-approved-shell .footer-floating-contact.footer-floating-contact:is(.is-email, .is-whatsapp) { display: none !important; }
    html:root body.psfm-approved-shell #scroll-top {
        left: 12px !important; right: auto !important; bottom: calc(var(--psfm-shell-action-height) + 8px) !important;
        width: 46px !important; height: 46px !important;
    }
    html:root body.psfm-approved-shell .psfm-ai-assistant:not(.is-open) {
        opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important;
        left: auto !important; right: 12px !important; top: auto !important;
        bottom: calc(var(--psfm-shell-action-height) + 8px) !important; width: 46px !important; height: 46px !important;
        max-width: 46px !important;
    }
    html:root body.psfm-approved-shell .psfm-ai-assistant .psfm-ai-launcher { width: 46px !important; max-width: 46px !important; height: 46px !important; }
    /* Keep the approved controls in place, but leave Home's first CTA viewport unobstructed. */
    html.psfm-home-mobile-first-viewport body.psfm-approved-shell #scroll-top,
    html.psfm-home-mobile-first-viewport body.psfm-approved-shell .psfm-ai-assistant.is-home-page:not(.is-open) {
        opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    }
    /* Keep the Contact form and final quote CTA clear while preserving the utility dock positions. */
    html.psfm-contact-mobile-critical-viewport body.psfm-approved-shell #scroll-top,
    html.psfm-contact-mobile-critical-viewport body.psfm-approved-shell .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) {
        opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    }
    /* The fixed mobile action bar stays available while footer content remains unobstructed. */
    html.psfm-mobile-footer-viewport body.psfm-approved-shell #scroll-top,
    html.psfm-mobile-footer-viewport body.psfm-approved-shell .psfm-ai-assistant:not(.is-open),
    html.psfm-mobile-footer-viewport.psfm-ai-assistant-viewport-ready body.psfm-approved-shell .psfm-ai-assistant.is-home-page:not(.is-home-mobile-first-viewport):not(.is-open) {
        opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    }
    /* A secondary utility should never cover readable copy, form controls or an on-page CTA. */
    html.psfm-mobile-readable-content-viewport body.psfm-approved-shell #scroll-top,
    html.psfm-mobile-readable-content-viewport body.psfm-approved-shell .psfm-ai-assistant:not(.is-open),
    html.psfm-mobile-readable-content-viewport.psfm-ai-assistant-viewport-ready body.psfm-approved-shell .psfm-ai-assistant.is-home-page:not(.is-home-mobile-first-viewport):not(.is-open) {
        opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    }
    html body.psfm-approved-shell .psfm-ai-assistant.is-open {
        left: 12px !important; right: 12px !important; top: auto !important;
        bottom: calc(var(--psfm-shell-action-height) + 8px) !important; width: auto !important; z-index: 10003 !important;
    }
    html body.psfm-approved-shell .psfm-ai-assistant.is-open .psfm-ai-panel {
        width: 100% !important; max-width: 100% !important;
        max-height: calc(100dvh - var(--psfm-shell-header) - var(--psfm-shell-dock) - 32px) !important;
    }
}
@media (max-width: 360px) {
    html:root body.psfm-approved-shell header.psfm-refined-header.header .custom-nav-shell { gap: 8px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .header-brand { width: 112px !important; flex-basis: 112px !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header .mobile-menu-right { gap: 10px !important; }
}
@media (prefers-reduced-motion: reduce) {
    html:root body.psfm-approved-shell header.psfm-refined-header.header * { transition: none !important; animation: none !important; }
}

/* Retire legacy header/floater paint after matching Header 1 in the browser. */
/* All approved public pages use a plain breadcrumb, not the retired dark/raised banner. */
html:root body.psfm-approved-shell main.main .site-breadcrumb,
html:root body.psfm-approved-shell main.main .site-breadcrumb .site-breadcrumb-wrapper { background: #fff !important; background-image: none !important; min-height: 0 !important; text-shadow: none !important; }
html:root body.psfm-approved-shell main.main .site-breadcrumb::before,
html:root body.psfm-approved-shell main.main .site-breadcrumb::after,
html:root body.psfm-approved-shell main.main .site-breadcrumb .site-breadcrumb-wrapper::before,
html:root body.psfm-approved-shell main.main .site-breadcrumb .site-breadcrumb-wrapper::after,
html:root body.psfm-approved-shell main.main .site-breadcrumb .container::before,
html:root body.psfm-approved-shell main.main .site-breadcrumb .container::after { display: none !important; }
html:root body.psfm-approved-shell main.main .site-breadcrumb .breadcrumb-menu { display: flex !important; flex-wrap: wrap !important; justify-content: flex-start !important; align-items: center !important; gap: 8px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; width: 100% !important; text-align: start !important; }
html:root body.psfm-approved-shell main.main .site-breadcrumb .breadcrumb-menu li { display: inline-flex !important; align-items: center !important; width: auto !important; margin: 0 !important; padding: 0 !important; color: #424b59 !important; text-shadow: none !important; text-transform: none !important; }
html:root body.psfm-approved-shell main.main .site-breadcrumb .breadcrumb-menu :is(a,span) { color: #424b59 !important; text-shadow: none !important; text-transform: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-menu-list {
    flex: 0 1 auto !important; width: auto !important; max-width: none !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn,
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn span,
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .dropdown-item * { text-transform: none !important; letter-spacing: normal !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-btn .theme-btn i {
    background: none !important; color: #fff !important; width: auto !important; height: auto !important; margin-inline-start: 10px !important;
}
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .dropdown-menu.show { opacity: 1 !important; visibility: visible !important; transform: none !important; }
html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-menu-group-links { visibility: inherit !important; }
html body.psfm-approved-shell .psfm-ai-launcher .psfm-ai-launcher-icon { display: grid !important; place-items: center !important; width: auto !important; height: auto !important; background: none !important; }
html body.psfm-approved-shell .psfm-ai-launcher::before,
html body.psfm-approved-shell .psfm-ai-launcher::after { display: none !important; }
@media (min-width: 992px) {
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-more-nav { position: relative !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-services-nav { position: relative !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-services-nav:not(.psfm-hover-suppressed):focus-within > .header-dropdown-services { display: block !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-more:not(.show) { display: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .header-dropdown-more.show { top: calc(100% + 15px) !important; left: auto !important; right: 0 !important; }
    html[dir="rtl"] body.psfm-approved-shell .psfm-refined-header #main_nav .header-dropdown-more.show { right: auto !important; left: 0 !important; }
    html body.psfm-approved-shell .footer-floating-contact.footer-floating-contact:is(.is-email, .is-whatsapp) { display: block !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; }
}
@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-services-nav:not(.psfm-hover-suppressed):hover > .header-dropdown-services { display: block !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
    html:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-services-nav.psfm-hover-suppressed > .header-dropdown-services:not(.show) { display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
}

/* Keep public RTL heroes and catalogue breadcrumbs below the fixed mobile header. */
@media (max-width: 991.98px) {
    html[dir="rtl"]:root body.psfm-approved-shell {
        padding-top: 64px !important;
    }
    html:root body.psfm-approved-shell:has(main.main > .psfm-approved-catalogue) {
        padding-top: 64px !important;
    }
}
/* Physical RTL alignment: the Arabic Services menu must expand into the viewport. */
@media (min-width: 992px) {
    html[dir="rtl"]:root body.psfm-approved-shell header.psfm-refined-header.header #main_nav .psfm-services-nav > .header-dropdown-services {
        left: auto !important;
        right: 0 !important;
    }
}
