/*
 * PSFM Procurement Confidence
 * Selected visual direction: premium Saudi B2B procurement and operations.
 * Final visual layer only. Routes, SEO metadata, forms and lead contracts stay intact.
 */

:root {
    --psfm-pc-navy-950: #041426;
    --psfm-pc-navy-900: #071f3f;
    --psfm-pc-navy-800: #0d2d52;
    --psfm-pc-red: #c8172f;
    --psfm-pc-red-dark: #a91227;
    --psfm-pc-green: #087f53;
    --psfm-pc-ink: #102033;
    --psfm-pc-body: #516076;
    --psfm-pc-muted: #6b7789;
    --psfm-pc-line: #dbe3ec;
    --psfm-pc-line-strong: #c7d2df;
    --psfm-pc-surface: #ffffff;
    --psfm-pc-surface-soft: #f6f8fb;
    --psfm-pc-surface-blue: #eef3f8;
    --psfm-pc-radius-xs: 6px;
    --psfm-pc-radius-sm: 8px;
    --psfm-pc-radius-md: 12px;
    --psfm-pc-shadow-sm: 0 8px 24px rgba(4, 20, 38, .06);
    --psfm-pc-shadow-md: 0 18px 44px rgba(4, 20, 38, .11);
    --psfm-pc-shadow-image: 0 26px 60px rgba(0, 0, 0, .22);
    --psfm-pc-container: 1320px;
    --psfm-pc-section: clamp(72px, 7vw, 96px);
    --psfm-pc-ease: cubic-bezier(.22, 1, .36, 1);
    --psfm-pc-fast: 180ms;
    --psfm-pc-normal: 320ms;
}

html body[class]:not(#psfm-public-visual-unlock) {
    color: var(--psfm-pc-body);
    background: var(--psfm-pc-surface);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

html body[class]:not(#psfm-public-visual-unlock) main.main {
    color: var(--psfm-pc-body);
    background: var(--psfm-pc-surface);
}

html body[class]:not(#psfm-public-visual-unlock) main.main .container {
    width: min(var(--psfm-pc-container), calc(100% - 40px));
    max-width: min(var(--psfm-pc-container), calc(100% - 40px));
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(h1, h2, h3, h4, h5, h6) {
    color: var(--psfm-pc-ink);
    font-family: "Archivo", "Roboto", Arial, sans-serif;
    font-weight: 800;
    letter-spacing: -.022em;
    text-wrap: pretty;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(p, li, dd) {
    color: var(--psfm-pc-body);
    font-family: "Roboto", Arial, sans-serif;
    line-height: 1.68;
}

html body[class]:not(#psfm-public-visual-unlock) :where(a, button, input, select, textarea, summary) {
    transition:
        color var(--psfm-pc-fast) ease,
        background-color var(--psfm-pc-fast) ease,
        border-color var(--psfm-pc-fast) ease,
        box-shadow var(--psfm-pc-fast) ease,
        transform var(--psfm-pc-fast) ease;
}

html body[class]:not(#psfm-public-visual-unlock) :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid rgba(200, 23, 47, .24) !important;
    outline-offset: 3px !important;
}

/* Header */
html body[class]:not(#psfm-public-visual-unlock) > header.header {
    min-height: 80px !important;
    border-bottom: 1px solid rgba(4, 20, 38, .08) !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 4px 18px rgba(4, 20, 38, .05) !important;
    backdrop-filter: blur(14px);
}

html body[class]:not(#psfm-public-visual-unlock) > header.header .main-navigation {
    min-height: 80px !important;
}

html body[class]:not(#psfm-public-visual-unlock) > header.header .container {
    width: min(1420px, calc(100% - 28px)) !important;
    max-width: min(1420px, calc(100% - 28px)) !important;
}

html body[class]:not(#psfm-public-visual-unlock) > header.header .header-brand img {
    width: auto !important;
    max-width: 184px !important;
    height: 58px !important;
    object-fit: contain !important;
}

html body[class]:not(#psfm-public-visual-unlock) > header.header :where(.navbar-nav > li > a, .main-menu > li > a) {
    color: var(--psfm-pc-ink) !important;
    font-family: "Roboto", Arial, sans-serif !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

@media (min-width: 992px) {
    html body[class]:not(#psfm-public-visual-unlock) > header.header .navbar-collapse {
        gap: 12px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-menu-list {
        flex: 1 1 auto !important;
        gap: 0 !important;
        min-width: 0 !important;
        margin-inline-start: auto !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-menu-list > li > :where(a, button) {
        padding-inline: 9px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-nav-right,
    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-utility-cluster,
    html body[class]:not(#psfm-public-visual-unlock) > header.header .language-switcher,
    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-btn {
        width: auto !important;
        min-width: 0 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-nav-right {
        flex: 0 0 auto !important;
        gap: 10px !important;
        margin-inline-start: 0 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-utility-cluster {
        gap: 9px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .language-switcher {
        min-width: 104px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .language-switcher a {
        min-width: 0 !important;
        padding-inline: 8px !important;
        font-size: .7rem !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-contact-chip {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        padding: 0 !important;
        border: 1px solid rgba(200, 23, 47, .22) !important;
        border-radius: 999px !important;
        color: var(--psfm-pc-red) !important;
        background: #fff !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-contact-chip .header-contact-text {
        display: none !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-btn {
        height: auto !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-btn .theme-btn {
        box-sizing: border-box !important;
        flex: 0 0 202px !important;
        width: 202px !important;
        min-width: 202px !important;
        max-width: 202px !important;
        min-height: 54px !important;
        padding-inline: 14px !important;
        font-size: .78rem !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-btn .theme-btn i {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 32px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 999px !important;
        color: var(--psfm-pc-red) !important;
        background: #fff !important;
    }
}

html body[class]:not(#psfm-public-visual-unlock) > header.header :where(.navbar-nav > li > a, .main-menu > li > a):is(:hover, :focus-visible),
html body[class]:not(#psfm-public-visual-unlock) > header.header :where(.navbar-nav > li.active > a, .main-menu > li.active > a) {
    color: var(--psfm-pc-red) !important;
}

html body[class]:not(#psfm-public-visual-unlock) > header.header .navbar-collapse,
html body[class]:not(#psfm-public-visual-unlock) > header.header .dropdown-menu,
html body[class]:not(#psfm-public-visual-unlock) > header.header .psfm-mega-menu {
    border-color: var(--psfm-pc-line) !important;
    background: var(--psfm-pc-surface) !important;
    box-shadow: var(--psfm-pc-shadow-md) !important;
}

/* Shared actions */
html body[class]:not(#psfm-public-visual-unlock) :where(
    .theme-btn,
    .theme-btn-white,
    .theme-btn-outline,
    .vendor-btn,
    .vendor-btn-light,
    .psfm-breadcrumb-action
) {
    min-height: 54px !important;
    padding: 12px 20px !important;
    border-radius: var(--psfm-pc-radius-sm) !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

html body[class]:not(#psfm-public-visual-unlock) :where(.theme-btn, .vendor-btn) {
    border-color: var(--psfm-pc-red) !important;
    color: #fff !important;
    background: var(--psfm-pc-red) !important;
    box-shadow: 0 12px 28px rgba(200, 23, 47, .18) !important;
}

html body[class]:not(#psfm-public-visual-unlock) :where(.theme-btn, .vendor-btn):hover {
    border-color: var(--psfm-pc-red-dark) !important;
    color: #fff !important;
    background: var(--psfm-pc-red-dark) !important;
    box-shadow: 0 16px 32px rgba(169, 18, 39, .22) !important;
    transform: translateY(-2px);
}

html body[class]:not(#psfm-public-visual-unlock) :where(.theme-btn-white, .theme-btn-outline, .vendor-btn-light) {
    border-color: var(--psfm-pc-line-strong) !important;
    color: var(--psfm-pc-navy-900) !important;
    background: #fff !important;
}

html body[class]:not(#psfm-public-visual-unlock) :where(.theme-btn-white, .theme-btn-outline, .vendor-btn-light):hover {
    border-color: rgba(200, 23, 47, .42) !important;
    color: var(--psfm-pc-red) !important;
    background: #fff !important;
    transform: translateY(-2px);
}

html body[class]:not(#psfm-public-visual-unlock) :where(.theme-btn, .theme-btn-white, .theme-btn-outline) > i {
    transition: transform var(--psfm-pc-fast) ease, color var(--psfm-pc-fast) ease;
}

html body[class]:not(#psfm-public-visual-unlock) :where(.theme-btn, .theme-btn-white, .theme-btn-outline):hover > i {
    transform: translateX(3px);
}

html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) :where(.theme-btn, .theme-btn-white, .theme-btn-outline):hover > i {
    transform: translateX(-3px);
}

html body[class]:not(#psfm-public-visual-unlock) a[href*="wa.me"] i {
    color: var(--psfm-pc-green) !important;
}

/* Option 3: Procurement Confidence hero */
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence {
    position: relative;
    overflow: hidden;
    padding: 46px 0 0 !important;
    background: var(--psfm-pc-navy-900) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence > .container {
    position: relative;
    z-index: 1;
    width: min(var(--psfm-pc-container), calc(100% - 40px)) !important;
    max-width: min(var(--psfm-pc-container), calc(100% - 40px)) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-layout {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: clamp(42px, 5vw, 68px) !important;
    min-height: 530px !important;
    padding: 0 0 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy {
    width: 100% !important;
    max-width: 626px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: start !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    margin: 0 0 22px !important;
    padding: 8px 15px 8px 10px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .08) !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: .06em !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-kicker-mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: var(--psfm-pc-red) !important;
    box-shadow: 0 8px 18px rgba(200, 23, 47, .28) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title,
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title > span {
    width: 100% !important;
    max-width: 626px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(2.75rem, 3.65vw, 3.3rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
    text-wrap: pretty !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy > p {
    max-width: 590px !important;
    margin: 16px 0 0 !important;
    color: rgba(255, 255, 255, .8) !important;
    font-size: 1rem !important;
    line-height: 1.62 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 20px 0 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-actions > a {
    min-width: 0 !important;
    min-height: 56px !important;
    padding: 11px 14px !important;
    white-space: nowrap !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-market-note,
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-chip,
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-overlay,
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-stats {
    display: none !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-wrap {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card,
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card.has-admin-banner-loop {
    width: 100% !important;
    max-width: 620px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: var(--psfm-pc-radius-md) !important;
    background: var(--psfm-pc-navy-950) !important;
    box-shadow: var(--psfm-pc-shadow-image) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-banner-slide,
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-banner-slide picture,
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-banner-slide img {
    width: 100% !important;
    height: 100% !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-banner-slide img {
    object-fit: cover !important;
    object-position: center !important;
    transition: transform 900ms var(--psfm-pc-ease), filter 320ms ease !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-shade {
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(4, 20, 38, .02) 42%, rgba(4, 20, 38, .78) 100%) !important;
    pointer-events: none !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card:hover .hero-banner-slide img {
    transform: scale(1.025) !important;
    filter: saturate(1.04) contrast(1.02);
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-chip {
    display: inline-flex !important;
    position: absolute !important;
    z-index: 4 !important;
    inset-block-start: 18px !important;
    inset-inline-start: 18px !important;
    align-items: center !important;
    gap: 8px !important;
    max-width: calc(100% - 36px) !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(255, 255, 255, .3) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(4, 20, 38, .7) !important;
    box-shadow: 0 12px 28px rgba(4, 20, 38, .2) !important;
    backdrop-filter: blur(12px);
    font-size: .74rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-chip i {
    color: #fff !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-overlay {
    display: grid !important;
    position: absolute !important;
    z-index: 4 !important;
    inset-inline: 18px !important;
    inset-block-end: 18px !important;
    gap: 5px !important;
    max-width: none !important;
    padding: 15px 16px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: var(--psfm-pc-radius-sm) !important;
    background: rgba(4, 20, 38, .76) !important;
    box-shadow: 0 16px 34px rgba(4, 20, 38, .24) !important;
    backdrop-filter: blur(14px);
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-overlay span {
    color: rgba(255, 255, 255, .72) !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    letter-spacing: .1em !important;
    line-height: 1.25 !important;
    text-transform: uppercase;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-overlay strong {
    color: #fff !important;
    font-family: "Archivo", "Roboto", Arial, sans-serif !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, .16);
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 20px 18px;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article + article {
    border-inline-start: 1px solid rgba(255, 255, 255, .14);
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    color: #fff;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article > span i {
    color: #fff !important;
    font-size: 1.1rem;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals strong {
    display: block;
    color: #fff;
    font-size: .87rem;
    line-height: 1.3;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals p {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, .68) !important;
    font-size: .76rem;
    line-height: 1.45;
}

/* Proof surfaces are evidence-led and visually distinct without inventing claims. */
html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-proof-strip .proof-metric-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--psfm-pc-line) !important;
    border-radius: var(--psfm-pc-radius-sm) !important;
    background: linear-gradient(180deg, #fff, #f8fafc) !important;
    box-shadow: var(--psfm-pc-shadow-sm) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-proof-strip .proof-metric-card::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-start: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--psfm-pc-red), #e44b5f);
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-proof-strip .proof-metric-counter {
    color: var(--psfm-pc-navy-900) !important;
    font-family: "Archivo", "Roboto", Arial, sans-serif !important;
    letter-spacing: -.04em !important;
}

/* Service finder */
html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-conversion-hub {
    padding-block: 64px var(--psfm-pc-section) !important;
    background: var(--psfm-pc-surface-soft) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-conversion-panel {
    padding: clamp(30px, 4vw, 52px) !important;
    border: 1px solid var(--psfm-pc-line) !important;
    border-radius: var(--psfm-pc-radius-md) !important;
    background: #fff !important;
    box-shadow: var(--psfm-pc-shadow-sm) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-conversion-intro {
    max-width: 720px !important;
    margin: 0 auto 28px !important;
    text-align: center !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-conversion-intro h2 {
    max-width: 720px !important;
    margin: 0 auto 12px !important;
    color: var(--psfm-pc-navy-900) !important;
    font-size: clamp(2rem, 3.4vw, 2.75rem) !important;
    line-height: 1.14 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-conversion-intro p {
    max-width: 680px !important;
    margin: 0 auto !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-smart-search {
    max-width: none !important;
    margin: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-smart-search > label {
    display: block !important;
    margin-bottom: 8px !important;
    color: var(--psfm-pc-ink) !important;
    font-size: .8rem !important;
    font-weight: 800 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-smart-search-field {
    min-height: 60px !important;
    padding: 0 18px !important;
    border: 1px solid var(--psfm-pc-line-strong) !important;
    border-radius: var(--psfm-pc-radius-sm) !important;
    background: #fff !important;
    box-shadow: none !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-smart-search-field:focus-within {
    border-color: var(--psfm-pc-red) !important;
    box-shadow: 0 0 0 4px rgba(200, 23, 47, .09) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-smart-search-field > span {
    color: var(--psfm-pc-muted) !important;
    font-size: .75rem !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-service-filter-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin-top: 14px !important;
    overflow: hidden !important;
    border: 1px solid var(--psfm-pc-line) !important;
    border-radius: var(--psfm-pc-radius-sm) !important;
    background: #fff !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-service-filter-tab {
    flex: 1 1 150px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 0 !important;
    border-inline-end: 1px solid var(--psfm-pc-line) !important;
    border-radius: 0 !important;
    color: var(--psfm-pc-navy-900) !important;
    background: #fff !important;
    box-shadow: none !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-service-filter-tab:last-child {
    border-inline-end: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-service-filter-tab:is(:hover, :focus-visible, .is-active) {
    color: #fff !important;
    background: var(--psfm-pc-navy-900) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-recommendation-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin-top: 30px !important;
}

/* Full-site cards, imagery and forms */
html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-recommendation-card,
    .psfm-service-card,
    .psfm-service-route-card,
    .location-card,
    .seo-card,
    .seo-panel,
    .seo-link-card,
    .seo-list-card,
    .seo-faq-card,
    .faq-item,
    .service-card,
    .project-item,
    .blog-item,
    .contact-form,
    .vendor-form,
    .psfm-service-buying-panel,
    .psfm-service-seo-routes
) {
    border: 1px solid var(--psfm-pc-line) !important;
    border-radius: var(--psfm-pc-radius-md) !important;
    background: #fff !important;
    box-shadow: var(--psfm-pc-shadow-sm) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-recommendation-card,
    .psfm-service-card,
    .psfm-service-route-card,
    .location-card,
    .seo-link-card,
    .service-card,
    .project-item,
    .blog-item
) {
    overflow: hidden;
    transition:
        transform var(--psfm-pc-normal) var(--psfm-pc-ease),
        border-color var(--psfm-pc-fast) ease,
        box-shadow var(--psfm-pc-normal) ease;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-recommendation-card,
    .psfm-service-card,
    .psfm-service-route-card,
    .location-card,
    .seo-link-card,
    .service-card,
    .project-item,
    .blog-item
):hover {
    border-color: rgba(200, 23, 47, .3) !important;
    box-shadow: var(--psfm-pc-shadow-md) !important;
    transform: translateY(-5px);
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-recommendation-media,
    .psfm-service-media,
    .location-card-image,
    .service-img,
    .project-img,
    .blog-img
) {
    overflow: hidden !important;
    aspect-ratio: 16 / 10 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-recommendation-media,
    .psfm-service-media,
    .location-card-image,
    .service-img,
    .project-img,
    .blog-img
) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 520ms var(--psfm-pc-ease) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-recommendation-card,
    .psfm-service-card,
    .location-card,
    .service-card,
    .project-item,
    .blog-item
):hover :where(
    .psfm-recommendation-media,
    .psfm-service-media,
    .location-card-image,
    .service-img,
    .project-img,
    .blog-img
) img {
    transform: scale(1.035);
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea,
    .form-control,
    .form-select
) {
    min-height: 54px !important;
    border: 1px solid var(--psfm-pc-line-strong) !important;
    border-radius: var(--psfm-pc-radius-sm) !important;
    color: var(--psfm-pc-ink) !important;
    background: #fff !important;
    box-shadow: none !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main textarea,
html body[class]:not(#psfm-public-visual-unlock) main.main textarea.form-control {
    min-height: 132px !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea,
    .form-control,
    .form-select
):focus {
    border-color: var(--psfm-pc-red) !important;
    box-shadow: 0 0 0 4px rgba(200, 23, 47, .09) !important;
}

/* Shared breadcrumb and detail heroes */
html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .site-breadcrumb-wrapper,
    .premium-product-hero,
    .seo-banner
) {
    background: var(--psfm-pc-navy-900) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper {
    min-height: 420px !important;
    padding-block: 88px !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .premium-product-hero,
    .seo-card.seo-hero,
    .service-single-hero,
    .industry-hero-card
) {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 88% 16%, rgba(200, 23, 47, .16), transparent 28%),
        linear-gradient(135deg, var(--psfm-pc-navy-900), var(--psfm-pc-navy-950)) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .premium-product-hero,
    .seo-card.seo-hero,
    .service-single-hero,
    .industry-hero-card
) :where(h1, h2, p, li) {
    max-width: 100%;
    overflow-wrap: anywhere;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .premium-product-hero h1 {
    max-width: 760px !important;
    font-size: clamp(2.4rem, 4.2vw, 3.65rem) !important;
    line-height: 1.08 !important;
    text-wrap: pretty !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .premium-product-hero .premium-product-layout {
    min-width: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .premium-product-hero .premium-product-layout > * {
    min-width: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper::before,
html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper::after {
    opacity: .16 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-title,
html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-breadcrumb-title {
    max-width: 900px !important;
    color: #fff !important;
    font-size: clamp(2.45rem, 4.5vw, 3.8rem) !important;
    line-height: 1.08 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-breadcrumb-summary {
    max-width: 760px !important;
    color: rgba(255, 255, 255, .8) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .seo-card.seo-hero {
    overflow: hidden !important;
    border-color: rgba(255, 255, 255, .16) !important;
    color: #fff !important;
    background: var(--psfm-pc-navy-900) !important;
    box-shadow: var(--psfm-pc-shadow-md) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .seo-card.seo-hero :where(h1, h2, h3, p, li) {
    color: #fff !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .seo-card.seo-hero p,
html body[class]:not(#psfm-public-visual-unlock) main.main .seo-card.seo-hero li {
    color: rgba(255, 255, 255, .8) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .seo-hero-media {
    overflow: hidden;
    border-radius: var(--psfm-pc-radius-md) !important;
    box-shadow: var(--psfm-pc-shadow-image);
}

html body[class]:not(#psfm-public-visual-unlock) main.main .seo-hero-media img {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .homepage-shell,
    .seo-section,
    .service-area,
    .about-area,
    .contact-area,
    .project-area,
    .blog-area,
    .team-area,
    .faq-area,
    .premium-product-body
) {
    padding-block: var(--psfm-pc-section);
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .homepage-shell.is-light,
    .seo-page,
    .psfm-services-page
) {
    background: var(--psfm-pc-surface-soft) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .site-title-tagline,
    .seo-kicker,
    .premium-product-kicker
) {
    color: var(--psfm-pc-red) !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .accordion-item {
    overflow: hidden;
    border: 1px solid var(--psfm-pc-line) !important;
    border-radius: var(--psfm-pc-radius-sm) !important;
    background: #fff !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .accordion-button {
    min-height: 60px !important;
    color: var(--psfm-pc-ink) !important;
    background: #fff !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .accordion-button:not(.collapsed) {
    color: var(--psfm-pc-red) !important;
    background: #fff !important;
    box-shadow: inset 0 -1px 0 var(--psfm-pc-line) !important;
}

/* Footer */
html body[class]:not(#psfm-public-visual-unlock) .footer-area {
    margin-top: var(--psfm-pc-section);
    border-top: 4px solid var(--psfm-pc-red);
    color: #cbd5e1;
    background: var(--psfm-pc-navy-950) !important;
}

html body[class]:not(#psfm-public-visual-unlock) .footer-area :where(.footer-widget-title, h2, h3, h4) {
    color: #fff !important;
}

html body[class]:not(#psfm-public-visual-unlock) .footer-area :where(a, p, li) {
    color: #cbd5e1 !important;
}

html body[class]:not(#psfm-public-visual-unlock) .footer-area a:hover {
    color: #fff !important;
    transform: translateX(2px);
}

html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) .footer-area a:hover {
    transform: translateX(-2px);
}

/* Motion */
@keyframes psfm-pc-rise {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes psfm-pc-image-reveal {
    from {
        opacity: 0;
        clip-path: inset(0 12% 0 0 round 12px);
        transform: translateY(14px) scale(.985);
    }
    to {
        opacity: 1;
        clip-path: inset(0 0 0 0 round 12px);
        transform: translateY(0) scale(1);
    }
}

@keyframes psfm-pc-signal-reveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-kicker {
    animation: psfm-pc-rise 560ms var(--psfm-pc-ease) 40ms both;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title {
    animation: psfm-pc-rise 620ms var(--psfm-pc-ease) 110ms both;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy > p {
    animation: psfm-pc-rise 620ms var(--psfm-pc-ease) 180ms both;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-actions {
    animation: psfm-pc-rise 620ms var(--psfm-pc-ease) 250ms both;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card {
    animation: psfm-pc-image-reveal 760ms var(--psfm-pc-ease) 130ms both;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article {
    animation: psfm-pc-signal-reveal 540ms var(--psfm-pc-ease) both;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article:nth-child(2) {
    animation-delay: 70ms;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article:nth-child(3) {
    animation-delay: 140ms;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article:nth-child(4) {
    animation-delay: 210ms;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper > .container,
html body[class]:not(#psfm-public-visual-unlock) main.main .seo-card.seo-hero {
    animation: psfm-pc-rise 640ms var(--psfm-pc-ease) both;
}

html body[class]:not(#psfm-public-visual-unlock) .wow {
    animation-duration: .72s !important;
    animation-timing-function: var(--psfm-pc-ease) !important;
}

html body[class]:not(#psfm-public-visual-unlock) details > summary {
    cursor: pointer;
}

html body[class]:not(#psfm-public-visual-unlock) details[open] > :not(summary) {
    animation: psfm-pc-rise 320ms var(--psfm-pc-ease) both;
}

/* RTL */
html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy {
    text-align: right !important;
}

html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-kicker {
    padding: 8px 10px 8px 15px !important;
}

html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title,
html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title > span {
    line-height: 1.22 !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence {
        padding-top: 44px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-layout {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr) !important;
        gap: 34px !important;
        min-height: 500px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title > span {
        font-size: clamp(2.45rem, 4.5vw, 3.15rem) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article:nth-child(3) {
        border-inline-start: 0;
        border-top: 1px solid rgba(255, 255, 255, .14);
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article:nth-child(4) {
        border-top: 1px solid rgba(255, 255, 255, .14);
    }
}

@media (max-width: 991.98px) {
    html body[class]:not(#psfm-public-visual-unlock) > header.header,
    html body[class]:not(#psfm-public-visual-unlock) > header.header .main-navigation {
        min-height: 64px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-brand img {
        max-width: 154px !important;
        height: 48px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 34px !important;
        min-height: 0 !important;
        padding-bottom: 36px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy {
        max-width: 720px !important;
        margin-inline: auto !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title > span,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy > p {
        max-width: 700px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-wrap,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card {
        max-width: 720px !important;
        margin-inline: auto !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-recommendation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper {
        min-height: 360px !important;
        padding-block: 72px !important;
    }
}

@media (max-width: 767.98px) {
    :root {
        --psfm-pc-section: 58px;
    }

    html[dir="rtl"],
    html[dir="rtl"] body,
    html[dir="rtl"] body main.main {
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .container {
        width: min(100% - 28px, var(--psfm-pc-container));
        max-width: min(100% - 28px, var(--psfm-pc-container));
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence {
        padding-top: 34px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence > .container {
        width: min(100% - 28px, var(--psfm-pc-container)) !important;
        max-width: min(100% - 28px, var(--psfm-pc-container)) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-kicker {
        max-width: 100% !important;
        margin-bottom: 18px !important;
        font-size: .68rem !important;
        letter-spacing: .035em !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title > span {
        font-size: clamp(1.95rem, 8.25vw, 2.45rem) !important;
        line-height: 1.09 !important;
        letter-spacing: -.032em !important;
        overflow-wrap: anywhere !important;
    }

    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title,
    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title > span {
        line-height: 1.22 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy > p {
        margin-top: 16px !important;
        font-size: .92rem !important;
        line-height: 1.55 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-top: 20px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-actions > :first-child {
        grid-column: 1 / -1;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-actions > a {
        min-height: 52px !important;
        padding: 9px 10px !important;
        font-size: .82rem !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 9px;
        padding: 16px 10px;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article + article {
        border-inline-start: 1px solid rgba(255, 255, 255, .14);
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article:nth-child(3) {
        border-inline-start: 0;
        border-top: 1px solid rgba(255, 255, 255, .14);
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article:nth-child(4) {
        border-top: 1px solid rgba(255, 255, 255, .14);
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article > span {
        width: 34px;
        height: 34px;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals strong {
        font-size: .72rem;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals p {
        display: none;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-conversion-hub {
        padding-top: 48px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-conversion-panel {
        padding: 24px 16px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-service-filter-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scroll-snap-type: x proximity;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-service-filter-tab {
        flex: 0 0 auto !important;
        min-width: 150px !important;
        border-inline-end: 1px solid var(--psfm-pc-line) !important;
        scroll-snap-align: start;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-recommendation-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper {
        min-height: 320px !important;
        padding-block: 56px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-title,
    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-breadcrumb-title {
        font-size: clamp(1.9rem, 8vw, 2.35rem) !important;
        line-height: 1.12 !important;
        overflow-wrap: anywhere !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .psfm-breadcrumb-chips,
    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .psfm-breadcrumb-chips {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        scrollbar-width: none;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .psfm-breadcrumb-chips > span,
    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .psfm-breadcrumb-chips > span {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        text-align: start !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .breadcrumb-menu,
    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .breadcrumb-menu {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px 6px !important;
        width: min(100%, 560px) !important;
        height: auto !important;
        min-height: 0 !important;
        margin-inline: auto !important;
        padding: 9px 12px !important;
        overflow: visible !important;
        white-space: normal !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .breadcrumb-menu > li,
    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .breadcrumb-menu > li {
        max-width: 100% !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
        line-height: 1.35 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .breadcrumb-menu > li.active,
    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .breadcrumb-menu > li.active {
        flex: 1 1 100% !important;
        text-align: center !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .premium-product-hero {
        padding-block: 36px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .premium-product-hero h1,
    html body[class]:not(#psfm-public-visual-unlock) main.main .seo-card.seo-hero h1,
    html body[class]:not(#psfm-public-visual-unlock) main.main .service-single-hero h1,
    html body[class]:not(#psfm-public-visual-unlock) main.main .industry-hero-card h1 {
        max-width: 100% !important;
        font-size: clamp(1.82rem, 7.7vw, 2.25rem) !important;
        line-height: 1.12 !important;
        letter-spacing: -.026em !important;
        overflow-wrap: anywhere !important;
        text-wrap: pretty !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .premium-product-hero :where(p, li),
    html body[class]:not(#psfm-public-visual-unlock) main.main .seo-card.seo-hero :where(p, li),
    html body[class]:not(#psfm-public-visual-unlock) main.main .service-single-hero :where(p, li),
    html body[class]:not(#psfm-public-visual-unlock) main.main .industry-hero-card :where(p, li) {
        max-width: 100% !important;
        font-size: .94rem !important;
        line-height: 1.6 !important;
        overflow-wrap: anywhere !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) .psfm-mobile-action-bar.psfm-mobile-three-cta,
    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) .psfm-mobile-action-bar.psfm-mobile-three-cta {
        left: auto !important;
        right: 6px !important;
        width: calc(100dvw - 12px) !important;
        max-width: calc(100dvw - 12px) !important;
        transform: none !important;
    }

    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) .psfm-ai-assistant {
        left: auto !important;
        right: 12px !important;
        transform: none !important;
    }
}

@media (max-width: 575.98px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card.has-admin-banner-loop {
        aspect-ratio: 16 / 10 !important;
        border-radius: var(--psfm-pc-radius-sm) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-smart-search-field > span {
        display: none !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-chip {
        inset-block-start: 12px !important;
        inset-inline-start: 12px !important;
        min-height: 34px !important;
        padding: 7px 10px !important;
        font-size: .68rem !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-overlay {
        inset-inline: 12px !important;
        inset-block-end: 12px !important;
        padding: 11px 12px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-overlay strong {
        display: none !important;
    }
}

/* Keep the dense corporate navigation usable on compact laptops and tablets. */
@media (min-width: 992px) and (max-width: 1359.98px) {
    html {
        --psfm-mobile-action-strip-height: 62px !important;
        --psfm-fixed-header-height: 64px !important;
        --psfm-mobile-bottom-safe-offset: calc(var(--psfm-mobile-action-strip-height) + env(safe-area-inset-bottom, 0px)) !important;
        --psfm-mobile-content-bottom-clearance: calc(var(--psfm-mobile-bottom-safe-offset) + 26px) !important;
    }

    body {
        padding-top: 0 !important;
        padding-bottom: var(--psfm-mobile-content-bottom-clearance) !important;
    }

    main.main {
        padding-top: var(--psfm-fixed-header-height) !important;
        padding-bottom: var(--psfm-mobile-content-bottom-clearance) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header,
    html body[class]:not(#psfm-public-visual-unlock) > header.header .main-navigation {
        min-height: var(--psfm-fixed-header-height) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .custom-nav-shell {
        position: relative !important;
        box-sizing: border-box !important;
        width: calc(100% - 24px) !important;
        max-width: 1140px !important;
        height: var(--psfm-fixed-header-height) !important;
        min-height: var(--psfm-fixed-header-height) !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        padding-block: 0 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-brand {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-brand img {
        width: auto !important;
        max-width: 154px !important;
        height: 48px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .mobile-menu-right {
        display: flex !important;
        visibility: visible !important;
        align-items: center !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
        margin-inline-start: auto !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .mobile-search-btn,
    html body[class]:not(#psfm-public-visual-unlock) > header.header .navbar-toggler {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        font-size: 0 !important;
        line-height: 1 !important;
        box-shadow: 0 10px 22px rgba(4, 20, 38, .1) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .mobile-search-btn {
        border: 1px solid rgba(200, 23, 47, .22) !important;
        color: var(--psfm-pc-red) !important;
        background: #fff !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .navbar-toggler {
        border: 1px solid var(--psfm-pc-navy-900) !important;
        color: #fff !important;
        background: var(--psfm-pc-navy-900) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header :where(.mobile-search-btn, .navbar-toggler) > i {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .psfm-mobile-control-fallback {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        color: inherit !important;
        font-size: .6rem !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav.navbar-collapse {
        display: none !important;
        position: absolute !important;
        z-index: 1005 !important;
        inset: auto 0 !important;
        top: var(--psfm-fixed-header-height) !important;
        width: 100% !important;
        max-height: calc(100vh - var(--psfm-fixed-header-height) - 20px) !important;
        padding: 16px !important;
        border: 1px solid var(--psfm-pc-line) !important;
        border-radius: 0 0 var(--psfm-pc-radius-md) var(--psfm-pc-radius-md) !important;
        background: #fff !important;
        box-shadow: var(--psfm-pc-shadow-md) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav.navbar-collapse.show {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav .header-menu-list {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 4px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav .header-menu-list > .nav-item {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav .header-menu-list > .nav-item > .nav-link {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 10px 12px !important;
        border-radius: var(--psfm-pc-radius-sm) !important;
        font-size: .86rem !important;
        text-align: start !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav .header-nav-right {
        display: none !important;
    }

    body > .psfm-mobile-action-strip,
    .header .main-navigation > .psfm-mobile-action-strip {
        display: block !important;
        visibility: visible !important;
        height: var(--psfm-mobile-action-strip-height) !important;
        min-height: var(--psfm-mobile-action-strip-height) !important;
        pointer-events: auto !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav .dropdown-menu.show {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: none !important;
        margin: 4px 0 8px !important;
        transform: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }
}

/* Laptop navigation stays compact without adding the mobile conversion dock. */
@media (min-width: 1200px) and (max-width: 1359.98px) {
    html {
        --psfm-mobile-action-strip-height: 0px !important;
        --psfm-mobile-bottom-safe-offset: 0px !important;
        --psfm-mobile-content-bottom-clearance: 0px !important;
    }

    body,
    main.main {
        padding-bottom: 0 !important;
    }

    body > .psfm-mobile-action-strip,
    .header .main-navigation > .psfm-mobile-action-strip {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        pointer-events: none !important;
    }
}

/*
 * Premium corporate alignment and motion pass.
 * Keeps the established procurement-confidence direction while giving every
 * public template the same grid discipline, card rhythm and restrained motion.
 */
:root {
    --psfm-pc-copy: 760px;
    --psfm-pc-heading: 880px;
    --psfm-pc-card-gap: clamp(16px, 2vw, 24px);
    --psfm-pc-section-head-gap: clamp(24px, 3vw, 38px);
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .homepage-shell,
    .homepage-proof-strip,
    .homepage-procurement-path,
    .homepage-operational-snapshot,
    .seo-section,
    .about-shell,
    .contact-area,
    .project-area,
    .blog-area,
    .psfm-services-page,
    .premium-product-body
) > .container {
    min-width: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .section-heading,
    .site-heading,
    .seo-section-heading,
    .psfm-buying-panel-head,
    .psfm-service-group-head,
    .about-section-heading,
    .contact-content-header,
    .contact-form-header
) {
    min-width: 0 !important;
    max-width: var(--psfm-pc-heading);
    margin-bottom: var(--psfm-pc-section-head-gap);
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .section-heading,
    .site-heading,
    .seo-section-heading,
    .psfm-buying-panel-head,
    .psfm-service-group-head,
    .about-section-heading,
    .contact-content-header,
    .contact-form-header
) :where(h1, h2, h3) {
    max-width: var(--psfm-pc-heading);
    margin-top: 0;
    line-height: 1.12 !important;
    text-wrap: balance;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .section-heading,
    .site-heading,
    .seo-section-heading,
    .psfm-buying-panel-head,
    .psfm-service-group-head,
    .about-section-heading,
    .contact-content-header,
    .contact-form-header
) > :where(p, .section-description, .site-title-desc) {
    max-width: var(--psfm-pc-copy);
    margin-bottom: 0;
    line-height: 1.65 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .site-heading.text-center,
    .section-heading.text-center,
    .seo-section-heading.text-center
) {
    margin-inline: auto;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .site-heading.text-center,
    .section-heading.text-center,
    .seo-section-heading.text-center
) > :where(h1, h2, h3, p, .section-description, .site-title-desc) {
    margin-inline: auto;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .site-title-tagline,
    .seo-kicker,
    .premium-product-kicker,
    .section-tagline,
    .about-eyebrow,
    .service-group-kicker
) {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin-bottom: 10px;
    color: var(--psfm-pc-red) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .service-category-grid,
    .service-cluster-grid,
    .pillar-grid,
    .city-region-grid,
    .trust-grid,
    .industries-grid,
    .process-grid,
    .seo-link-grid,
    .seo-location-grid,
    .psfm-buying-grid,
    .psfm-service-route-grid,
    .psfm-project-grid,
    .about-card-grid,
    .about-image-grid,
    .client-exposure-grid,
    .jeddah-authority-grid,
    .homepage-insight-grid,
    .homepage-faq-grid
) {
    align-items: stretch !important;
    gap: var(--psfm-pc-card-gap);
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .service-category-grid,
    .service-cluster-grid,
    .pillar-grid,
    .city-region-grid,
    .trust-grid,
    .industries-grid,
    .process-grid,
    .seo-link-grid,
    .seo-location-grid,
    .psfm-buying-grid,
    .psfm-service-route-grid,
    .psfm-project-grid,
    .about-card-grid,
    .about-image-grid,
    .client-exposure-grid,
    .jeddah-authority-grid,
    .homepage-insight-grid,
    .homepage-faq-grid
) > * {
    min-width: 0 !important;
    height: 100%;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .service-category-card,
    .service-cluster-card,
    .pillar-card,
    .city-region-card,
    .trust-card,
    .industry-card,
    .process-step,
    .seo-authority-card,
    .proof-signal-card,
    .proof-metric-card,
    .client-exposure-card,
    .jeddah-authority-card,
    .review-highlight-card,
    .project-highlight-card,
    .homepage-insight-card,
    .homepage-faq-card,
    .psfm-buying-card,
    .psfm-service-route-card,
    .psfm-service-card,
    .psfm-project-card,
    .about-image-card,
    .about-readiness-card,
    .about-support-card,
    .about-panel,
    .contact-coverage-card
) {
    min-width: 0 !important;
    height: 100%;
    border-radius: var(--psfm-pc-radius-md) !important;
    transition:
        transform var(--psfm-pc-normal) var(--psfm-pc-ease),
        border-color var(--psfm-pc-fast) ease,
        box-shadow var(--psfm-pc-normal) ease !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .service-category-card,
    .service-cluster-card,
    .pillar-card,
    .city-region-card,
    .trust-card,
    .industry-card,
    .process-step,
    .seo-authority-card,
    .proof-signal-card,
    .proof-metric-card,
    .client-exposure-card,
    .jeddah-authority-card,
    .review-highlight-card,
    .project-highlight-card,
    .homepage-insight-card,
    .homepage-faq-card,
    .psfm-buying-card,
    .psfm-service-route-card,
    .psfm-service-card,
    .psfm-project-card,
    .about-image-card,
    .about-readiness-card,
    .about-support-card,
    .about-panel,
    .contact-coverage-card
):is(:hover, :focus-within) {
    border-color: rgba(200, 23, 47, .28) !important;
    box-shadow: 0 20px 44px rgba(4, 20, 38, .12) !important;
    transform: translateY(-4px);
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .service-category-card,
    .service-cluster-card,
    .pillar-card,
    .city-region-card,
    .trust-card,
    .industry-card,
    .process-step,
    .seo-authority-card,
    .proof-signal-card,
    .proof-metric-card,
    .client-exposure-card,
    .jeddah-authority-card,
    .review-highlight-card,
    .project-highlight-card,
    .homepage-insight-card,
    .homepage-faq-card,
    .psfm-buying-card,
    .psfm-service-route-card,
    .psfm-service-card,
    .psfm-project-card,
    .about-image-card,
    .about-readiness-card,
    .about-support-card,
    .about-panel,
    .contact-coverage-card
) :where(h2, h3, h4) {
    line-height: 1.25 !important;
    text-wrap: pretty;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .service-category-card,
    .service-cluster-card,
    .pillar-card,
    .city-region-card,
    .trust-card,
    .industry-card,
    .process-step,
    .seo-authority-card,
    .proof-signal-card,
    .proof-metric-card,
    .client-exposure-card,
    .jeddah-authority-card,
    .review-highlight-card,
    .project-highlight-card,
    .homepage-insight-card,
    .homepage-faq-card,
    .psfm-buying-card,
    .psfm-service-route-card,
    .psfm-service-card,
    .psfm-project-card,
    .about-image-card,
    .about-readiness-card,
    .about-support-card,
    .about-panel,
    .contact-coverage-card
) :where(p, li) {
    line-height: 1.6 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-service-media,
    .service-img,
    .location-card-image,
    .psfm-project-card-media,
    .project-img,
    .blog-img,
    .about-image-card picture
) {
    background: var(--psfm-pc-surface-blue);
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-service-media,
    .service-img,
    .location-card-image,
    .psfm-project-card-media,
    .project-img,
    .blog-img,
    .about-image-card picture
) img {
    transform: scale(1.001);
    transition:
        transform 780ms var(--psfm-pc-ease),
        filter var(--psfm-pc-normal) ease !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-service-card,
    .service-card,
    .location-card,
    .psfm-project-card,
    .project-item,
    .blog-item,
    .about-image-card
):is(:hover, :focus-within) :where(
    .psfm-service-media,
    .service-img,
    .location-card-image,
    .psfm-project-card-media,
    .project-img,
    .blog-img,
    picture
) img {
    filter: saturate(1.04) contrast(1.02);
    transform: scale(1.035);
}

html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper > .container {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0 !important;
    max-width: 1120px !important;
    text-align: center;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper :where(
    .site-breadcrumb-title,
    .psfm-breadcrumb-title,
    .psfm-breadcrumb-summary
) {
    margin-inline: auto !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .psfm-breadcrumb-summary {
    margin-top: 16px !important;
    font-size: 1.02rem !important;
    line-height: 1.65 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper :where(
    .psfm-breadcrumb-chips,
    .psfm-breadcrumb-actions
) {
    justify-content: center !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .contact-form,
    .vendor-form,
    .rfq-form,
    .psfm-form-panel
) {
    border-radius: var(--psfm-pc-radius-md) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea,
    .form-control,
    .form-select
) {
    min-height: 52px;
    border-radius: var(--psfm-pc-radius-sm) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main textarea,
html body[class]:not(#psfm-public-visual-unlock) main.main textarea.form-control {
    min-height: 132px;
    resize: vertical;
}

@keyframes psfm-pc-ambient-gradient {
    0%,
    100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

@keyframes psfm-pc-image-breathe {
    0%,
    100% {
        transform: scale(1.001);
    }
    50% {
        transform: scale(1.025);
    }
}

@keyframes psfm-pc-icon-breathe {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-3px);
    }
}

@keyframes psfm-pc-action-nudge {
    0%,
    72%,
    100% {
        transform: translateX(0);
    }
    80% {
        transform: translateX(3px);
    }
    88% {
        transform: translateX(0);
    }
}

@keyframes psfm-pc-rule-travel {
    0%,
    100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

@media (prefers-reduced-motion: no-preference) {
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence {
        background:
            radial-gradient(circle at 82% 18%, rgba(200, 23, 47, .13), transparent 32%),
            linear-gradient(118deg, var(--psfm-pc-navy-950), var(--psfm-pc-navy-900), #12375e) !important;
        background-size: 165% 165% !important;
        animation: psfm-pc-ambient-gradient 18s ease-in-out infinite;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .premium-product-hero,
        .seo-card.seo-hero,
        .service-single-hero,
        .industry-hero-card
    ) {
        background-size: 150% 150% !important;
        animation: psfm-pc-ambient-gradient 20s ease-in-out infinite;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper {
        background-position: center calc(50% + var(--psfm-ambient-scroll, 0px)) !important;
        transition: background-position 80ms linear;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .homepage-hero.is-procurement-confidence
    .hero-visual-card.has-single-slide
    .hero-banner-slide img {
        animation: psfm-pc-image-breathe 16s ease-in-out infinite !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .hero-kicker-mark,
        .proof-signal-icon,
        .pillar-icon,
        .client-exposure-icon,
        .process-step-number
    ) {
        animation: psfm-pc-icon-breathe 5.8s ease-in-out infinite;
        will-change: transform;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .proof-signal-card:nth-child(2) .proof-signal-icon,
        .pillar-card:nth-child(2) .pillar-icon,
        .process-step:nth-child(2) .process-step-number
    ) {
        animation-delay: -1.45s;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .proof-signal-card:nth-child(3) .proof-signal-icon,
        .pillar-card:nth-child(3) .pillar-icon,
        .process-step:nth-child(3) .process-step-number
    ) {
        animation-delay: -2.9s;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .theme-btn,
        .theme-btn-white,
        .theme-btn-outline,
        .psfm-breadcrumb-action
    ) > :where(.fa-arrow-right, .fa-arrow-left, .far.fa-arrow-right, .far.fa-arrow-left) {
        animation: psfm-pc-action-nudge 4.8s ease-in-out infinite;
    }

    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .theme-btn,
        .theme-btn-white,
        .theme-btn-outline,
        .psfm-breadcrumb-action
    ) > :where(.fa-arrow-right, .fa-arrow-left, .far.fa-arrow-right, .far.fa-arrow-left) {
        animation-direction: reverse;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-proof-strip .proof-metric-card::before {
        background-size: 220% 100%;
        animation: psfm-pc-rule-travel 8s ease-in-out infinite;
    }
}

@media (min-width: 1440px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-layout {
        grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr) !important;
        gap: clamp(56px, 4.5vw, 72px) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-wrap {
        justify-self: end;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .seo-link-grid,
        .seo-location-grid,
        .psfm-buying-grid,
        .psfm-service-route-grid,
        .psfm-project-grid,
        .about-card-grid,
        .homepage-insight-grid,
        .homepage-faq-grid
    ) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-layout {
        grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
        gap: clamp(30px, 3.6vw, 44px) !important;
        align-items: center !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy {
        max-width: 100% !important;
        margin-inline: 0 !important;
        text-align: start !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence :where(
        .hero-kicker,
        .hero-main-title,
        .hero-main-title > span,
        .hero-copy > p,
        .hero-actions
    ) {
        margin-inline: 0 !important;
        text-align: start !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title > span {
        max-width: 560px !important;
        font-size: clamp(2.18rem, 3.85vw, 2.62rem) !important;
        line-height: 1.09 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy > p {
        max-width: 550px !important;
        font-size: .94rem !important;
        line-height: 1.56 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-actions {
        max-width: 560px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) .footer-floating-contact {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media (max-width: 767.98px) {
    :root {
        --psfm-pc-card-gap: 14px;
        --psfm-pc-section-head-gap: 22px;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .section-heading,
        .site-heading,
        .seo-section-heading,
        .psfm-buying-panel-head,
        .psfm-service-group-head,
        .about-section-heading,
        .contact-content-header,
        .contact-form-header
    ) :where(h1, h2, h3) {
        font-size: clamp(1.68rem, 7vw, 2.1rem) !important;
        line-height: 1.14 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper {
        min-height: auto !important;
        padding-block: 46px !important;
        background-position: center !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-title,
    html body[class]:not(#psfm-public-visual-unlock) main.main .psfm-breadcrumb-title {
        font-size: clamp(1.82rem, 7.6vw, 2.22rem) !important;
        line-height: 1.12 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .psfm-breadcrumb-summary {
        margin-top: 14px !important;
        font-size: .94rem !important;
        line-height: 1.58 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .psfm-breadcrumb-chips,
    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main .site-breadcrumb-wrapper .psfm-breadcrumb-chips {
        justify-content: center !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence {
        padding-top: 28px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-layout {
        gap: 26px !important;
        padding-bottom: 28px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-kicker {
        margin-bottom: 15px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-copy > p {
        margin-top: 14px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-actions {
        margin-top: 18px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .hero-procurement-signals article {
        min-width: 0;
        padding-block: 14px;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .service-category-card,
        .service-cluster-card,
        .pillar-card,
        .city-region-card,
        .trust-card,
        .industry-card,
        .process-step,
        .seo-authority-card,
        .proof-signal-card,
        .proof-metric-card,
        .client-exposure-card,
        .jeddah-authority-card,
        .review-highlight-card,
        .project-highlight-card,
        .homepage-insight-card,
        .homepage-faq-card,
        .psfm-buying-card,
        .psfm-service-route-card,
        .psfm-service-card,
        .psfm-project-card,
        .about-image-card,
        .about-readiness-card,
        .about-support-card,
        .about-panel,
        .contact-coverage-card
    ):is(:hover, :focus-within) {
        transform: translateY(-2px);
    }
}

@media (max-width: 575.98px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-visual-card.has-admin-banner-loop {
        aspect-ratio: 16 / 9 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title,
    html body[class]:not(#psfm-public-visual-unlock) main.main .homepage-hero.is-procurement-confidence .hero-main-title > span {
        font-size: clamp(1.92rem, 8vw, 2.26rem) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .theme-btn,
        .theme-btn-white,
        .theme-btn-outline,
        .vendor-btn,
        .vendor-btn-light,
        .psfm-breadcrumb-action
    ) {
        min-height: 50px !important;
        padding: 10px 14px !important;
    }
}

/* Final interaction and compact-screen micro-polish */
html body[class]:not(#psfm-public-visual-unlock) :where(
    .theme-btn,
    .theme-btn-white,
    .theme-btn-outline,
    .vendor-btn,
    .vendor-btn-light,
    .psfm-breadcrumb-action,
    .psfm-mobile-action-strip a
):active {
    transform: translateY(1px) scale(.985) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-recommendation-actions,
    .psfm-service-actions,
    .psfm-blog-card-actions
) > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    .psfm-recommendation-actions,
    .psfm-service-actions,
    .psfm-blog-card-actions
) > a > i {
    flex: 0 0 auto;
    line-height: 1;
}

html body[class]:not(#psfm-public-visual-unlock) main.main :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea,
    .form-control,
    .form-select
):focus-visible {
    outline: 0 !important;
    border-color: var(--psfm-pc-red) !important;
    box-shadow:
        0 0 0 4px rgba(200, 23, 47, .09),
        0 10px 24px rgba(4, 20, 38, .06) !important;
}

@media (min-width: 992px) {
    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-menu-list > .nav-item > .nav-link {
        box-shadow: inset 0 -2px 0 transparent;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header .header-menu-list > .nav-item > .nav-link:is(
        :hover,
        :focus-visible,
        .active
    ) {
        background: rgba(200, 23, 47, .045) !important;
        box-shadow: inset 0 -2px 0 var(--psfm-pc-red);
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header :where(
        .dropdown-menu,
        .psfm-mega-menu
    ) {
        border: 1px solid rgba(4, 20, 38, .09) !important;
        border-radius: 14px !important;
        overflow: hidden;
    }
}

@media (max-width: 991.98px) {
    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav.navbar-collapse.show {
        border: 1px solid rgba(4, 20, 38, .09) !important;
        border-radius: 14px !important;
        box-shadow: 0 24px 60px rgba(4, 20, 38, .22) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav.navbar-collapse.show
    .header-menu-list > .nav-item > .nav-link {
        border-radius: 9px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav.navbar-collapse.show
    .header-menu-list > .nav-item > .nav-link:is(:hover, :focus-visible, .active) {
        color: var(--psfm-pc-red) !important;
        background: linear-gradient(90deg, rgba(200, 23, 47, .07), rgba(200, 23, 47, .025)) !important;
        box-shadow: inset 3px 0 0 var(--psfm-pc-red);
    }

    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) > header.header #main_nav.navbar-collapse.show
    .header-menu-list > .nav-item > .nav-link:is(:hover, :focus-visible, .active) {
        box-shadow: inset -3px 0 0 var(--psfm-pc-red);
    }
}

@media (max-width: 360px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main
    .homepage-hero.is-procurement-confidence
    .hero-kicker {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 40px;
        margin-inline: 0 !important;
        padding: 6px 7px !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 5px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-align: center !important;
        font-size: .49rem !important;
        line-height: 1.1 !important;
        letter-spacing: 0 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .homepage-hero.is-procurement-confidence
    .hero-kicker .hero-kicker-mark {
        flex: 0 0 24px !important;
        width: 24px !important;
        height: 24px !important;
        font-size: .68rem !important;
    }

    html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) main.main
    .homepage-hero.is-procurement-confidence
    .hero-kicker {
        padding: 6px 7px !important;
        font-size: .56rem !important;
        letter-spacing: 0 !important;
    }
}

/* Service index and service-detail decision-path polish */
html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-command-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr) !important;
    gap: 22px 28px !important;
    align-items: end !important;
    padding: clamp(26px, 3vw, 38px) !important;
    border: 1px solid rgba(4, 20, 38, .1) !important;
    border-radius: 16px !important;
    background:
        linear-gradient(135deg, rgba(200, 23, 47, .035), transparent 42%),
        #fff !important;
    box-shadow: 0 20px 52px rgba(4, 20, 38, .09) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-command-copy {
    align-self: center;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-command-copy h2 {
    max-width: 760px !important;
    margin-bottom: 12px !important;
    font-size: clamp(2rem, 3vw, 2.75rem) !important;
    line-height: 1.08 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-command-copy p {
    max-width: 700px;
    margin-bottom: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-command-search {
    align-self: end;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-command-field {
    min-height: 58px !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-filter-tabs {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 8px !important;
    border: 1px solid var(--psfm-pc-line) !important;
    border-radius: 12px !important;
    background: #f7f9fc !important;
    overflow: visible !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-filter-tab {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 68px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(4, 20, 38, .08) !important;
    border-radius: 9px !important;
    color: var(--psfm-pc-ink) !important;
    background: #fff !important;
    box-shadow: 0 7px 18px rgba(4, 20, 38, .045) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto;
    line-height: 1.2 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-filter-tab:is(:hover, :focus-visible, .is-active) {
    color: #fff !important;
    border-color: var(--psfm-pc-navy-900) !important;
    background: var(--psfm-pc-navy-900) !important;
    box-shadow: 0 12px 26px rgba(4, 20, 38, .16) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-command-actions {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-command-actions > a {
    min-height: 50px !important;
    border-radius: 9px !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-group {
    padding-block: clamp(48px, 6vw, 78px) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-group-head {
    max-width: 900px !important;
    margin-inline: auto !important;
    padding: clamp(22px, 2.5vw, 30px) !important;
    border: 1px solid rgba(4, 20, 38, .08) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 16px 38px rgba(4, 20, 38, .075) !important;
    text-align: center;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-group-head :where(h2, p) {
    margin-inline: auto;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
    gap: clamp(18px, 2vw, 26px) !important;
    margin-inline: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-grid > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-card {
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid rgba(4, 20, 38, .09) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 15px 38px rgba(4, 20, 38, .075) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-media {
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-body {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column !important;
    padding: clamp(20px, 2vw, 26px) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-body h3 {
    margin: 15px 0 10px !important;
    font-size: clamp(1.25rem, 1.55vw, 1.55rem) !important;
    line-height: 1.16 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-body > p {
    margin-bottom: 16px !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-benefit {
    min-height: 68px;
    margin-top: auto !important;
    border-radius: 10px !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin-top: 16px !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.psfm-services-page .psfm-service-actions > a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 9px 11px !important;
    font-size: .76rem !important;
    line-height: 1.15 !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.seo-page .service-operating-model-grid {
    gap: clamp(16px, 2vw, 24px) !important;
    align-items: stretch !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.seo-page .service-operating-model-card {
    height: 100%;
    border: 1px solid rgba(4, 20, 38, .09) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(4, 20, 38, .07) !important;
}

html body[class]:not(#psfm-public-visual-unlock) main.main
.seo-page .service-operating-model-icon {
    display: inline-grid !important;
    place-items: center;
    width: 46px !important;
    height: 46px !important;
    border-radius: 10px !important;
}

@media (min-width: 992px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main
    .seo-page .service-operating-model-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-command-panel {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        padding: 20px 16px !important;
        border-radius: 12px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-command-copy h2 {
        font-size: clamp(1.55rem, 7.2vw, 2rem) !important;
        line-height: 1.12 !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-filter-tabs {
        grid-column: auto;
        display: grid !important;
        grid-template-columns: none !important;
        grid-auto-flow: column;
        grid-auto-columns: minmax(176px, 72vw);
        gap: 8px !important;
        padding: 7px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scrollbar-width: thin;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-filter-tab {
        min-height: 62px !important;
        scroll-snap-align: start;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-command-actions {
        grid-column: auto;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-command-actions > a {
        min-height: 46px !important;
        padding: 8px 5px !important;
        font-size: .7rem !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-group {
        padding-block: 42px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-group-head {
        margin-bottom: 22px !important;
        padding: 20px 16px !important;
        border-radius: 12px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-benefit {
        min-height: 0;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .seo-page .service-operating-model-card {
        padding: 18px !important;
    }
}

@media (max-width: 575.98px) {
    html body[class]:not(#psfm-public-visual-unlock) main.main
    .seo-page .seo-hero .seo-cta-group {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .seo-page .seo-hero .seo-cta-group > :first-child {
        grid-column: 1 / -1 !important;
        grid-row: 1;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .seo-page .seo-hero .seo-cta-group > :nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .seo-page .seo-hero .seo-cta-group > :nth-child(3) {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .seo-page .seo-hero .seo-cta-group > :nth-child(4) {
        grid-column: 2;
        grid-row: 2;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .seo-page .seo-hero .seo-cta-group > :nth-child(3) {
        min-height: 44px !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main
    .psfm-services-page .psfm-service-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (hover: none) {
    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .service-category-card,
        .service-cluster-card,
        .pillar-card,
        .city-region-card,
        .trust-card,
        .industry-card,
        .process-step,
        .seo-authority-card,
        .proof-signal-card,
        .proof-metric-card,
        .client-exposure-card,
        .jeddah-authority-card,
        .review-highlight-card,
        .project-highlight-card,
        .homepage-insight-card,
        .homepage-faq-card,
        .psfm-buying-card,
        .psfm-service-route-card,
        .psfm-service-card,
        .psfm-recommendation-card,
        .psfm-project-card,
        .about-image-card,
        .about-readiness-card,
        .about-support-card,
        .about-panel,
        .contact-coverage-card
    ):is(:hover, :focus-within) {
        transform: none !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) main.main :where(
        .psfm-recommendation-card,
        .psfm-service-card,
        .location-card,
        .service-card,
        .project-item,
        .blog-item
    ):hover :where(
        .psfm-recommendation-media,
        .psfm-service-media,
        .location-card-image,
        .service-img,
        .project-img,
        .blog-img
    ) img {
        transform: none !important;
    }
}

html body[class]:not(#psfm-public-visual-unlock) .psfm-ai-assistant .psfm-ai-launcher::after {
    top: -3px !important;
    right: -3px !important;
    left: auto !important;
    box-sizing: border-box !important;
    width: 10px !important;
    height: 10px !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    background: #0a9b68 !important;
    box-shadow: 0 0 0 2px rgba(4, 20, 38, .12) !important;
}

html[dir="rtl"] body[class]:not(#psfm-public-visual-unlock) .psfm-ai-assistant .psfm-ai-launcher::after,
html body[class]:not(#psfm-public-visual-unlock) .psfm-ai-assistant[dir="rtl"] .psfm-ai-launcher::after {
    right: auto !important;
    left: -3px !important;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    html body[class]:not(#psfm-public-visual-unlock) *,
    html body[class]:not(#psfm-public-visual-unlock) *::before,
    html body[class]:not(#psfm-public-visual-unlock) *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Popular service routes remain presentation-safe when Design System V2 is disabled. */
html:not([data-psfm-design-system="v2"]) .psfm-popular-services {
    margin-block: 2rem;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border: 1px solid #dfe5ec;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(10, 28, 49, .08);
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-services__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    margin-block-end: 1.5rem;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-services__head h3 {
    max-width: 44rem;
    margin: .5rem 0 0;
    color: #0b1d33;
    font-size: clamp(1.45rem, 2.4vw, 2.1rem);
    line-height: 1.2;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-services__all,
html:not([data-psfm-design-system="v2"]) .psfm-popular-service-card__link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #c9122c;
    font-weight: 800;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-services__all {
    min-height: 44px;
    white-space: nowrap;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-services__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-service-card {
    display: grid;
    grid-template-rows: auto auto auto 1fr auto;
    align-content: start;
    gap: .6rem;
    min-width: 0;
    min-height: 100%;
    padding: 1.25rem;
    border: 1px solid #dfe5ec;
    border-radius: 14px;
    background: #f7f9fc;
    color: #0b1d33;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-service-card:hover,
html:not([data-psfm-design-system="v2"]) .psfm-popular-service-card:focus-visible {
    border-color: #d71920;
    color: #0b1d33;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-service-card__icon {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #fff0f2;
    color: #c9122c;
    font-size: 1.1rem;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-service-card__type {
    color: #5d6b7c;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-service-card strong {
    color: #0b1d33;
    font-size: 1.05rem;
    line-height: 1.3;
}

html:not([data-psfm-design-system="v2"]) .psfm-popular-service-card__copy {
    display: -webkit-box;
    overflow: hidden;
    color: #5d6b7c;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

@media (max-width: 991.98px) {
    html:not([data-psfm-design-system="v2"]) .psfm-popular-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    html:not([data-psfm-design-system="v2"]) .seo-page #service-booking::before,
    html:not([data-psfm-design-system="v2"]) .seo-page #service-booking::after {
        display: none;
        content: none;
    }

    html:not([data-psfm-design-system="v2"]) .seo-page .theme-btn {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
    }

    html:not([data-psfm-design-system="v2"]) .seo-page .theme-btn::after {
        display: none;
    }

    html:not([data-psfm-design-system="v2"]) .seo-page .form-control {
        min-width: 0;
        max-width: 100%;
    }

    html:not([data-psfm-design-system="v2"]) .psfm-popular-services {
        margin-block: 1.5rem;
        padding: 1rem;
    }

    html:not([data-psfm-design-system="v2"]) .psfm-popular-services__head {
        align-items: flex-start;
        flex-direction: column;
        gap: .5rem;
    }

    html:not([data-psfm-design-system="v2"]) .psfm-popular-services__grid {
        grid-template-columns: 1fr;
    }
}
