/* PSFM public UI final polish: structure-preserving layout, spacing, and responsive sizing only. */
:root {
    --psfm-fixed-header-height: 78px;
    --psfm-polish-navy: #07172c;
    --psfm-polish-steel: #102847;
    --psfm-polish-red: #c9151d;
    --psfm-polish-line: #e5eaf0;
    --psfm-polish-surface: #f8fafc;
    --psfm-polish-muted: #5b6575;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    padding-top: var(--psfm-fixed-header-height) !important;
    color: #111827;
    background: #ffffff;
}

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

body,
button,
input,
select,
textarea {
    letter-spacing: 0 !important;
}

.main-navigation {
    min-height: var(--psfm-fixed-header-height) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid rgba(16, 40, 71, 0.09) !important;
    box-shadow: 0 10px 24px rgba(7, 23, 44, 0.08) !important;
}

.main-navigation .custom-nav-shell,
html[dir="rtl"] .main-navigation .custom-nav-shell {
    max-width: min(1480px, calc(100vw - 24px)) !important;
    min-height: var(--psfm-fixed-header-height) !important;
    padding: 8px 10px !important;
    gap: 8px !important;
    align-items: center !important;
}

.main-navigation .header-brand img,
.main-navigation .navbar-brand img {
    max-height: 48px !important;
    width: auto !important;
}

.main-navigation .navbar-collapse {
    align-items: center !important;
    min-width: 0 !important;
}

.main-navigation .header-menu-list {
    min-width: 0 !important;
    gap: 2px !important;
}

.main-navigation .navbar-nav .nav-link,
html[dir="rtl"] .main-navigation .navbar-nav .nav-link {
    min-height: 38px !important;
    padding: 8px 8px !important;
    border-radius: 8px !important;
    color: #172033 !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

.main-navigation .navbar-nav .nav-link:hover,
.main-navigation .navbar-nav .nav-link.active {
    background: #fff1f2 !important;
    color: var(--psfm-polish-red) !important;
}

.main-navigation .header-nav-right,
.main-navigation .header-utility-cluster {
    gap: 7px !important;
}

.main-navigation .language-switcher {
    padding: 3px !important;
    border-radius: 8px !important;
    background: var(--psfm-polish-surface) !important;
}

.main-navigation .lang-switch-link {
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 6px 8px !important;
    border-radius: 7px !important;
    font-size: 0.72rem !important;
}

.main-navigation .header-contact-chip {
    position: relative !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    justify-content: center !important;
    overflow: visible !important;
    border-radius: 8px !important;
    background: #fff5f5 !important;
    border-color: rgba(201, 21, 29, 0.18) !important;
}

.main-navigation .header-contact-chip i,
.main-navigation .header-contact-chip .header-contact-text {
    pointer-events: none !important;
}

.main-navigation .header-contact-chip i {
    width: 36px !important;
    height: 36px !important;
    background: transparent !important;
}

.main-navigation .header-contact-text {
    display: none !important;
}

.main-navigation .header-btn .theme-btn {
    min-height: 40px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    font-size: 0.8rem !important;
    white-space: nowrap !important;
}

.header .header-menu-list > .dropdown > .dropdown-menu:not(.show) {
    pointer-events: none !important;
}

.header .header-menu-list > .dropdown:hover > .dropdown-menu,
.header .header-menu-list > .dropdown:focus-within > .dropdown-menu,
.header .header-menu-list > .dropdown > .dropdown-menu.show {
    pointer-events: auto !important;
}

.header .dropdown-menu {
    border-radius: 8px !important;
    border-color: var(--psfm-polish-line) !important;
    box-shadow: 0 18px 44px rgba(7, 23, 44, 0.14) !important;
}

.theme-btn,
.theme-btn-white,
.theme-btn-outline,
.psfm-breadcrumb-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 8px !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.homepage-hero {
    min-height: auto !important;
    padding-top: clamp(56px, 5.2vw, 78px) !important;
    padding-bottom: clamp(48px, 4.8vw, 68px) !important;
}

.homepage-shell,
.contact-area,
.blog-area,
.about-area,
.service-area,
.project-area {
    padding-top: clamp(56px, 5.8vw, 84px) !important;
    padding-bottom: clamp(56px, 5.8vw, 84px) !important;
}

.hero-layout {
    gap: clamp(20px, 2.4vw, 34px) !important;
}

.hero-copy h1,
.hero-main-title,
.site-breadcrumb .breadcrumb-title,
.breadcrumb-title {
    letter-spacing: 0 !important;
    text-wrap: balance !important;
    overflow-wrap: anywhere !important;
}

.hero-copy h1,
.hero-main-title {
    font-size: clamp(2.05rem, 2.85vw, 3.05rem) !important;
    line-height: 1.1 !important;
}

.site-breadcrumb-wrapper,
.hero-banner {
    min-height: 260px !important;
    height: auto !important;
    padding-top: clamp(58px, 5.2vw, 78px) !important;
    padding-bottom: clamp(42px, 4.4vw, 58px) !important;
}

.site-breadcrumb .breadcrumb-title,
.breadcrumb-title {
    font-size: clamp(2rem, 3.2vw, 3rem) !important;
    line-height: 1.12 !important;
}

p,
li,
.blog-text,
.footer-contact a,
.footer-list a {
    overflow-wrap: anywhere;
    word-break: normal;
}

.blog-title,
.blog-title a,
.service-card-title,
.location-card-title,
.industry-card h3,
.industry-card h4,
.workspace-content h4 {
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
}

.blog-item,
.service-card,
.location-card,
.industry-card,
.workspace-item,
.project-item {
    border-radius: 8px !important;
}

.footer-area {
    background: linear-gradient(135deg, var(--psfm-polish-steel), var(--psfm-polish-navy)) !important;
}

.footer-widget-wrapper {
    row-gap: 28px !important;
}

.footer-widget-box {
    min-width: 0 !important;
}

.footer-widget-title {
    min-height: 0 !important;
    margin-bottom: 14px !important;
    font-size: 1.02rem !important;
    line-height: 1.25 !important;
}

.footer-list,
.footer-contact ul {
    gap: 8px !important;
}

.footer-contact ul li,
.footer-contact ul li a,
html[dir="rtl"] .footer-contact ul li,
html[dir="rtl"] .footer-contact ul li a {
    align-items: flex-start !important;
    gap: 9px !important;
    line-height: 1.45 !important;
}

.footer-floating-contact .btn {
    min-height: 42px !important;
    padding: 9px 14px !important;
    gap: 8px !important;
    border-radius: 8px !important;
}

.psfm-ai-assistant,
.psfm-ai-assistant.is-home-page,
.psfm-ai-assistant.is-conversion-critical-page {
    right: 20px !important;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
    width: 52px !important;
    max-width: 52px !important;
    z-index: 1110 !important;
}

html[dir="rtl"] .psfm-ai-assistant,
.psfm-ai-assistant[dir="rtl"] {
    right: auto !important;
    left: 20px !important;
}

.psfm-ai-assistant:not(.is-open) .psfm-ai-panel,
.psfm-ai-assistant.is-auto-opened:not(.is-open) .psfm-ai-panel,
.psfm-ai-assistant[data-assistant-mode="visual"] .psfm-ai-panel {
    display: none !important;
}

.psfm-ai-launcher,
.psfm-ai-assistant.is-home-page .psfm-ai-launcher,
.psfm-ai-assistant.is-conversion-critical-page .psfm-ai-launcher {
    text-decoration: none !important;
    position: relative !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    overflow: visible !important;
    background: linear-gradient(135deg, #ed1c24, #a91118) !important;
    box-shadow: 0 14px 28px rgba(201, 21, 29, 0.26) !important;
    animation: psfmAiLauncherFloat 3.4s ease-in-out infinite !important;
}

.psfm-ai-launcher::before,
.psfm-ai-launcher::after {
    content: "" !important;
    position: absolute !important;
    inset: -7px !important;
    border-radius: inherit !important;
    border: 1px solid rgba(237, 28, 36, 0.28) !important;
    pointer-events: none !important;
    animation: psfmAiLauncherRing 2.8s ease-out infinite !important;
}

.psfm-ai-launcher::after {
    animation-delay: 1.4s !important;
}

.psfm-ai-launcher-icon {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    background: rgba(255, 255, 255, 0.16) !important;
}

.psfm-ai-launcher-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.psfm-ai-assistant.is-open {
    width: min(356px, calc(100vw - 32px)) !important;
    max-width: min(356px, calc(100vw - 32px)) !important;
}

.psfm-ai-assistant.is-open .psfm-ai-launcher {
    animation: none !important;
}

.psfm-ai-panel,
.psfm-ai-assistant.is-home-page .psfm-ai-panel,
.psfm-ai-assistant.is-conversion-critical-page .psfm-ai-panel {
    width: min(356px, calc(100vw - 32px)) !important;
    max-height: min(492px, calc(100vh - 146px)) !important;
    bottom: 62px !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 44px rgba(7, 23, 44, 0.18) !important;
}

.psfm-ai-header {
    padding: 12px 13px !important;
}

.psfm-ai-trust-row {
    padding: 8px 12px !important;
}

.psfm-ai-messages {
    min-height: 112px !important;
    max-height: 164px !important;
    padding: 11px 12px !important;
}

.psfm-ai-quick-actions-wrap {
    padding: 8px 12px 0 !important;
}

.psfm-ai-quick-actions {
    max-height: 122px !important;
}

.psfm-ai-input-row {
    padding: 10px 12px 12px !important;
}

.psfm-ai-footer {
    padding: 9px 12px !important;
}

@keyframes psfmAiLauncherFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

@keyframes psfmAiLauncherRing {
    0% {
        opacity: 0.42;
        transform: scale(0.78);
    }

    80%, 100% {
        opacity: 0;
        transform: scale(1.2);
    }
}

@media (min-width: 1400px) {
    .main-navigation .navbar-nav .nav-link,
    html[dir="rtl"] .main-navigation .navbar-nav .nav-link {
        padding-inline: 10px !important;
        font-size: 0.86rem !important;
    }
}

@media (min-width: 1600px) {
    .main-navigation .header-contact-chip {
        width: auto !important;
        min-width: 148px !important;
        padding: 0 12px 0 8px !important;
    }

    .main-navigation .header-contact-text {
        display: inline-flex !important;
    }
}

@media (max-width: 1199.98px) {
    :root {
        --psfm-fixed-header-height: 72px;
    }

    .theme-btn,
    .theme-btn-white,
    .theme-btn-outline,
    .psfm-breadcrumb-action {
        min-height: 44px !important;
        padding: 11px 15px !important;
    }

    .homepage-shell,
    .contact-area,
    .blog-area,
    .about-area,
    .service-area,
    .project-area {
        padding-top: clamp(46px, 7vw, 68px) !important;
        padding-bottom: clamp(46px, 7vw, 68px) !important;
    }
}

@media (max-width: 991.98px) {
    :root {
        --psfm-fixed-header-height: 64px;
    }

    body {
        padding-top: 0 !important;
    }

    main.main,
    body > main.main {
        padding-top: var(--psfm-fixed-header-height) !important;
    }

    .main-navigation .custom-nav-shell,
    html[dir="rtl"] .main-navigation .custom-nav-shell {
        min-height: var(--psfm-fixed-header-height) !important;
        padding: 9px 12px !important;
    }

    .header .navbar-collapse:not(.show) {
        display: none !important;
    }

    .header .navbar-collapse.show,
    .header .navbar-collapse.collapsing {
        display: block !important;
    }

    .header .navbar-collapse .header-menu-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        white-space: normal !important;
    }

    .header .navbar-collapse .nav-link {
        width: 100% !important;
        justify-content: space-between !important;
        white-space: normal !important;
    }

    .header-nav-right,
    .header-utility-cluster {
        width: 100% !important;
    }

    .header-contact-chip,
    .header-btn .theme-btn {
        width: 100% !important;
    }

    .site-breadcrumb-wrapper,
    .hero-banner {
        min-height: 230px !important;
        padding-top: 46px !important;
        padding-bottom: 36px !important;
    }
}

@media (max-width: 575.98px) {
    .homepage-hero {
        padding-top: 42px !important;
        padding-bottom: calc(var(--psfm-mobile-bottom-safe-offset, 62px) + 18px) !important;
    }

    .hero-copy h1,
    .hero-main-title {
        font-size: clamp(1.82rem, 8.2vw, 2.34rem) !important;
    }

    .site-breadcrumb .breadcrumb-title,
    .breadcrumb-title {
        font-size: clamp(1.62rem, 8vw, 2.15rem) !important;
    }

    .footer-floating-contact .btn {
        min-height: 40px !important;
        padding: 8px 10px !important;
    }

    .psfm-ai-assistant,
    .psfm-ai-assistant.is-home-page,
    .psfm-ai-assistant.is-conversion-critical-page {
        right: 10px !important;
        bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
        width: 46px !important;
        max-width: 46px !important;
    }

    html[dir="rtl"] .psfm-ai-assistant,
    .psfm-ai-assistant[dir="rtl"] {
        right: auto !important;
        left: 10px !important;
    }

    .psfm-ai-launcher,
    .psfm-ai-assistant.is-home-page .psfm-ai-launcher,
    .psfm-ai-assistant.is-conversion-critical-page .psfm-ai-launcher {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
    }

    .psfm-ai-launcher-icon {
        width: 30px !important;
        height: 30px !important;
        flex-basis: 30px !important;
    }

    .psfm-ai-assistant.is-open,
    .psfm-ai-assistant.is-open[dir="rtl"] {
        right: 8px !important;
        left: auto !important;
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    }

    html[dir="rtl"] .psfm-ai-assistant.is-open,
    .psfm-ai-assistant.is-open[dir="rtl"] {
        right: auto !important;
        left: 8px !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-panel {
        width: 100% !important;
        max-height: min(470px, calc(100vh - 92px)) !important;
    }
}

/* QA refinement: prevent non-header text/button clipping while preserving media crop containers. */
main.main :where(.site-breadcrumb-wrapper, .site-breadcrumb-wrapper .container, .site-breadcrumb .container, .hero-banner .container) {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
}

main.main :where(
    .psfm-service-card,
    .service-card,
    .service-item,
    .seo-card,
    .city-service-card,
    .blog-item,
    .psfm-blog-card,
    .contact-info,
    .contact-card,
    .about-feature-card,
    .project-highlight-card,
    .location-card,
    .industry-card,
    .homepage-insight-card,
    .homepage-faq-card,
    .client-trust-faq-card
) {
    overflow: visible !important;
}

main.main :where(.blog-item-img, .service-img, .psfm-service-card-media, .project-img, .about-img, .hero-visual-card, .hero-banner-slide, picture) {
    overflow: hidden !important;
}

html[dir="rtl"] main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) {
    min-height: 54px !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    line-height: 1.34 !important;
}

main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) :where(span, i) {
    flex: 0 0 auto !important;
}

main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) span {
    min-width: 0 !important;
}

@media (max-width: 575.98px) {
    main.main :where(.site-breadcrumb-wrapper, .hero-banner) {
        overflow: visible !important;
    }

    html[dir="rtl"] main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) {
        min-height: 52px !important;
    }
}

/* True final public-content clipping guard. Do not target header/navigation. */
main.main .site-breadcrumb-wrapper,
main.main .site-breadcrumb-wrapper > .container,
main.main .site-breadcrumb-wrapper .container,
main.main .site-breadcrumb .container,
main.main .hero-banner,
main.main .hero-banner > .container,
main.main .hero-banner .container,
main.main .seo-section,
main.main .seo-card,
main.main .seo-panel,
main.main .contact-content,
main.main .contact-wrapper,
main.main .contact-area .row,
main.main .contact-area [class*="col-"],
main.main .psfm-service-card,
main.main .service-card,
main.main .service-item,
main.main .city-service-card,
main.main .blog-item,
main.main .psfm-blog-card,
main.main .contact-info,
main.main .contact-card,
main.main .about-feature-card,
main.main .project-highlight-card,
main.main .location-card,
main.main .industry-card {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

main.main a.theme-btn,
main.main a.theme-btn-white,
main.main a.theme-btn-outline,
main.main button.theme-btn,
main.main button[type="submit"],
main.main .psfm-cta-pill {
    min-height: 52px !important;
    overflow: visible !important;
    white-space: normal !important;
}

html[dir="rtl"] main.main a.theme-btn,
html[dir="rtl"] main.main a.theme-btn-white,
html[dir="rtl"] main.main a.theme-btn-outline,
html[dir="rtl"] main.main button.theme-btn,
html[dir="rtl"] main.main button[type="submit"],
html[dir="rtl"] main.main .psfm-cta-pill {
    min-height: 58px !important;
    line-height: 1.4 !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    text-align: center !important;
}

@media (max-width: 575.98px) {
    main.main a.theme-btn,
    main.main a.theme-btn-white,
    main.main a.theme-btn-outline,
    main.main button.theme-btn,
    main.main button[type="submit"],
    main.main .psfm-cta-pill {
        min-height: 50px !important;
        line-height: 1.28 !important;
    }
}

/* Stronger final public-content clipping guard. Do not target header/navigation. */
main.main .site-breadcrumb-wrapper,
main.main .site-breadcrumb-wrapper > .container,
main.main .site-breadcrumb-wrapper .container,
main.main .site-breadcrumb .container,
main.main .hero-banner,
main.main .hero-banner > .container,
main.main .hero-banner .container,
main.main .seo-section,
main.main .seo-card,
main.main .seo-panel,
main.main .contact-content,
main.main .contact-wrapper,
main.main .contact-area .row,
main.main .contact-area [class*="col-"],
main.main .psfm-service-card,
main.main .service-card,
main.main .service-item,
main.main .city-service-card,
main.main .blog-item,
main.main .psfm-blog-card,
main.main .contact-info,
main.main .contact-card,
main.main .about-feature-card,
main.main .project-highlight-card,
main.main .location-card,
main.main .industry-card {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

main.main a.theme-btn,
main.main a.theme-btn-white,
main.main a.theme-btn-outline,
main.main button.theme-btn,
main.main button[type="submit"],
main.main .psfm-cta-pill {
    min-height: 52px !important;
    overflow: visible !important;
    white-space: normal !important;
}

html[dir="rtl"] main.main a.theme-btn,
html[dir="rtl"] main.main a.theme-btn-white,
html[dir="rtl"] main.main a.theme-btn-outline,
html[dir="rtl"] main.main button.theme-btn,
html[dir="rtl"] main.main button[type="submit"],
html[dir="rtl"] main.main .psfm-cta-pill {
    min-height: 58px !important;
    line-height: 1.4 !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    text-align: center !important;
}

@media (max-width: 575.98px) {
    main.main a.theme-btn,
    main.main a.theme-btn-white,
    main.main a.theme-btn-outline,
    main.main button.theme-btn,
    main.main button[type="submit"],
    main.main .psfm-cta-pill {
        min-height: 50px !important;
        line-height: 1.28 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .psfm-ai-launcher,
    .psfm-ai-launcher::before,
    .psfm-ai-launcher::after {
        animation: none !important;
    }
}

/* Hero text/layout correction: presentation only; keeps routes, H1, canonical, and SEO content unchanged. */
.homepage-hero .hero-layout,
html[dir="rtl"] .homepage-hero .hero-layout {
    align-items: center !important;
    gap: clamp(28px, 3.4vw, 52px) !important;
}

.homepage-hero .hero-copy,
html[dir="rtl"] .homepage-hero .hero-copy {
    transform: none !important;
    min-width: 0 !important;
}

.homepage-hero .hero-copy h1.hero-main-title,
.homepage-hero .hero-copy h1.hero-main-title span,
html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title,
html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title span {
    max-width: 720px !important;
    letter-spacing: 0 !important;
    line-height: 1.08 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
}

.homepage-hero .hero-copy > p,
html[dir="rtl"] .homepage-hero .hero-copy > p {
    max-width: 660px !important;
    line-height: 1.62 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.homepage-hero .hero-actions,
html[dir="rtl"] .homepage-hero .hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
}

.homepage-hero .hero-actions .theme-btn,
.homepage-hero .hero-actions .theme-btn-white,
html[dir="rtl"] .homepage-hero .hero-actions .theme-btn,
html[dir="rtl"] .homepage-hero .hero-actions .theme-btn-white {
    min-width: 0 !important;
    white-space: normal !important;
}

.homepage-hero .hero-market-note,
html[dir="rtl"] .homepage-hero .hero-market-note {
    max-width: 660px !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.site-breadcrumb-wrapper .container,
.hero-banner .hero-content {
    min-width: 0 !important;
}

.site-breadcrumb .breadcrumb-title,
.breadcrumb-title {
    max-width: min(100%, 980px) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
}

@media (min-width: 1200px) {
    .homepage-hero .hero-layout,
    html[dir="rtl"] .homepage-hero .hero-layout {
        grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.9fr) !important;
    }

    .homepage-hero .hero-copy,
    html[dir="rtl"] .homepage-hero .hero-copy {
        max-width: 720px !important;
    }

    .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title {
        font-size: clamp(2.2rem, 3vw, 3.35rem) !important;
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .homepage-hero .hero-copy > p,
    html[dir="rtl"] .homepage-hero .hero-copy > p {
        font-size: clamp(1rem, 0.96vw, 1.08rem) !important;
    }

    .homepage-hero .hero-visual-wrap,
    html[dir="rtl"] .homepage-hero .hero-visual-wrap {
        max-width: 540px !important;
    }
}

@media (max-width: 1199.98px) {
    .homepage-hero .hero-copy,
    .homepage-hero .hero-copy h1.hero-main-title,
    .homepage-hero .hero-copy h1.hero-main-title span,
    .homepage-hero .hero-copy > p,
    .homepage-hero .hero-market-note,
    html[dir="rtl"] .homepage-hero .hero-copy,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title span,
    html[dir="rtl"] .homepage-hero .hero-copy > p,
    html[dir="rtl"] .homepage-hero .hero-market-note {
        margin-inline: auto !important;
        text-align: center !important;
    }
}

@media (max-width: 575.98px) {
    .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title {
        width: min(100%, 350px) !important;
        max-width: min(100%, 350px) !important;
        font-size: clamp(1.52rem, 7vw, 2.02rem) !important;
        line-height: 1.12 !important;
    }

    .homepage-hero .hero-copy > p,
    html[dir="rtl"] .homepage-hero .hero-copy > p {
        width: min(100%, 350px) !important;
        max-width: min(100%, 350px) !important;
        font-size: 0.9rem !important;
        line-height: 1.46 !important;
    }

    .homepage-hero .hero-actions,
    html[dir="rtl"] .homepage-hero .hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: min(100%, 350px) !important;
        max-width: min(100%, 350px) !important;
        margin-inline: auto !important;
    }

    .homepage-hero .hero-actions .theme-btn,
    .homepage-hero .hero-actions .theme-btn-white,
    html[dir="rtl"] .homepage-hero .hero-actions .theme-btn,
    html[dir="rtl"] .homepage-hero .hero-actions .theme-btn-white {
        min-height: 44px !important;
        justify-content: center !important;
        padding: 10px 12px !important;
        font-size: 0.86rem !important;
    }

    .homepage-hero .hero-market-note,
    html[dir="rtl"] .homepage-hero .hero-market-note {
        width: min(100%, 350px) !important;
        max-width: min(100%, 350px) !important;
        text-align: start !important;
    }

    .site-breadcrumb .breadcrumb-title,
    .breadcrumb-title {
        font-size: clamp(1.55rem, 7.2vw, 2.05rem) !important;
        line-height: 1.15 !important;
    }
}

/* Corporate typography and contrast guard for public pages. Presentation only; URLs and SEO data remain unchanged. */
:where(.site-title, .section-title, .service-title, .blog-title, .project-title, .cta-title, .content-title, .about-title, .contact-title, .facility-title, .homepage-shell h2, .about-area h2, .service-area h2, .blog-area h2, .project-area h2, .contact-area h2, .faq-area h2) {
    color: #102033 !important;
    letter-spacing: 0 !important;
    line-height: 1.16 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
}

:where(.site-heading p, .section-subtitle, .section-description, .service-content p, .about-content p, .blog-item-info p, .project-content p, .contact-content p, .facility-description, .homepage-shell p) {
    color: #526176 !important;
    line-height: 1.68 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

:where(.bg-dark, .theme-bg-dark, .choose-area, .cta-area, .footer-area) :where(h1, h2, h3, h4, h5, h6, .site-title, .section-title) {
    color: #ffffff !important;
}

:where(.bg-dark, .theme-bg-dark, .choose-area, .cta-area, .footer-area) :where(p, li, span:not(.badge):not(.hero-kicker), a:not(.theme-btn):not(.theme-btn-white)) {
    color: rgba(255, 255, 255, 0.82) !important;
}

.site-heading,
.section-heading,
.about-heading,
.service-heading,
.project-heading,
.blog-heading,
.contact-heading {
    max-width: 860px !important;
    margin-inline: auto !important;
}

.site-heading.text-start,
.section-heading.text-start,
.about-heading.text-start,
.service-heading.text-start,
.project-heading.text-start,
.blog-heading.text-start,
.contact-heading.text-start {
    margin-inline-start: 0 !important;
    margin-inline-end: auto !important;
}

.homepage-hero .hero-copy h1.hero-main-title,
.homepage-hero .hero-copy > p,
.homepage-hero .hero-market-note {
    color: #ffffff !important;
}

.homepage-hero .hero-copy > p,
.homepage-hero .hero-market-note span {
    color: rgba(255, 255, 255, 0.88) !important;
}

@media (min-width: 1200px) {
    .homepage-hero .hero-actions,
    html[dir="rtl"] .homepage-hero .hero-actions {
        max-width: 720px !important;
    }

    .homepage-hero .hero-actions .theme-btn,
    .homepage-hero .hero-actions .theme-btn-white,
    html[dir="rtl"] .homepage-hero .hero-actions .theme-btn,
    html[dir="rtl"] .homepage-hero .hero-actions .theme-btn-white {
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 154px !important;
        max-width: 220px !important;
        min-height: 46px !important;
        padding: 12px 16px !important;
        justify-content: center !important;
    }
}

@media (max-width: 767.98px) {
    :where(.site-title, .section-title, .homepage-shell h2, .about-area h2, .service-area h2, .blog-area h2, .project-area h2, .contact-area h2) {
        font-size: clamp(1.45rem, 6.2vw, 2rem) !important;
        line-height: 1.18 !important;
    }

    :where(.site-heading p, .section-subtitle, .section-description, .service-content p, .about-content p, .blog-item-info p, .project-content p, .contact-content p, .homepage-shell p) {
        font-size: 0.95rem !important;
        line-height: 1.58 !important;
    }
}

/* Non-home hero polish: consistent premium inner-page heroes without changing URLs, H1/H2 text, or SEO tags. */
body:not(.home) .site-breadcrumb-wrapper,
.main > .site-breadcrumb-wrapper,
.site-breadcrumb-wrapper,
.hero-banner {
    min-height: clamp(250px, 26vw, 340px) !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    padding-top: clamp(54px, 6vw, 86px) !important;
    padding-bottom: clamp(44px, 5vw, 72px) !important;
    background-color: #102033 !important;
    background-image:
        linear-gradient(110deg, rgba(7, 18, 34, 0.91), rgba(16, 32, 51, 0.78)),
        var(--psfm-breadcrumb-bg, none) !important;
    background-position: center !important;
    background-size: cover !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    overflow: hidden !important;
}

.site-breadcrumb-wrapper::before,
.site-breadcrumb-wrapper::after,
.hero-banner::before,
.hero-banner::after {
    pointer-events: none !important;
}

.site-breadcrumb-wrapper::before,
.hero-banner::before {
    background:
        radial-gradient(circle at 18% 18%, rgba(215, 25, 32, 0.18), transparent 30%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.08), transparent 36%) !important;
    opacity: 1 !important;
}

.site-breadcrumb-wrapper::after,
.hero-banner::after {
    opacity: 0.22 !important;
}

.site-breadcrumb-wrapper > .container,
.site-breadcrumb-wrapper .container,
.hero-banner .hero-content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    min-height: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 13px !important;
    width: min(100%, 1185px) !important;
    text-align: center !important;
}

.site-breadcrumb .breadcrumb-title,
.site-breadcrumb-wrapper .breadcrumb-title,
.hero-banner .breadcrumb-title,
.hero-banner h1,
.hero-banner h2 {
    width: min(100%, 980px) !important;
    max-width: min(100%, 980px) !important;
    margin: 0 auto !important;
    color: #ffffff !important;
    font-size: clamp(2rem, 3.15vw, 3.25rem) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.28) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
}

.site-breadcrumb-wrapper .breadcrumb-menu,
.site-breadcrumb .breadcrumb-menu,
.hero-banner .breadcrumb-menu {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px 12px !important;
    width: auto !important;
    max-width: min(100%, 920px) !important;
    margin: 0 auto !important;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    color: rgba(255, 255, 255, 0.84) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.site-breadcrumb-wrapper .breadcrumb-menu li,
.site-breadcrumb .breadcrumb-menu li,
.hero-banner .breadcrumb-menu li,
.site-breadcrumb-wrapper .breadcrumb-menu a,
.site-breadcrumb .breadcrumb-menu a,
.hero-banner .breadcrumb-menu a {
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: 0.88rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
}

.site-breadcrumb-wrapper .breadcrumb-menu a:hover,
.site-breadcrumb .breadcrumb-menu a:hover,
.hero-banner .breadcrumb-menu a:hover {
    color: #ffffff !important;
}

.site-breadcrumb-wrapper .breadcrumb-menu li::before,
.site-breadcrumb .breadcrumb-menu li::before,
.hero-banner .breadcrumb-menu li::before {
    color: rgba(255, 255, 255, 0.58) !important;
}

.psfm-breadcrumb-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 4px !important;
}

.psfm-breadcrumb-action,
.psfm-breadcrumb-action-mail {
    min-height: 42px !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: none !important;
}

.psfm-breadcrumb-action:hover,
.psfm-breadcrumb-action:focus,
.psfm-breadcrumb-action-mail:hover,
.psfm-breadcrumb-action-mail:focus {
    color: #102033 !important;
    background: #ffffff !important;
}

html[dir="rtl"] .site-breadcrumb-wrapper > .container,
html[dir="rtl"] .site-breadcrumb-wrapper .container,
html[dir="rtl"] .hero-banner .hero-content,
html[dir="rtl"] .site-breadcrumb .breadcrumb-title,
html[dir="rtl"] .site-breadcrumb-wrapper .breadcrumb-title,
html[dir="rtl"] .hero-banner .breadcrumb-title {
    text-align: center !important;
}

/* Custom non-home hero sections keep their structure but follow the same corporate rhythm. */
.vendor-hero,
.career-hero-panel,
.seo-hero {
    border-radius: 8px !important;
    background:
        linear-gradient(135deg, rgba(16, 32, 51, 0.96), rgba(29, 48, 72, 0.94)) !important;
    color: #ffffff !important;
    border: 1px solid rgba(16, 32, 51, 0.12) !important;
    box-shadow: 0 18px 44px rgba(16, 32, 51, 0.12) !important;
}

.vendor-hero h1,
.vendor-hero h2,
.career-hero-panel h1,
.career-hero-panel h2,
.seo-hero h1,
.seo-hero h2 {
    color: #ffffff !important;
    line-height: 1.14 !important;
    letter-spacing: 0 !important;
    text-wrap: balance !important;
}

.vendor-hero p,
.career-hero-panel p,
.seo-hero p {
    color: rgba(255, 255, 255, 0.84) !important;
    line-height: 1.62 !important;
}

@media (max-width: 991.98px) {
    .site-breadcrumb-wrapper,
    .hero-banner {
        min-height: clamp(220px, 34vw, 290px) !important;
        padding-top: 46px !important;
        padding-bottom: 42px !important;
    }

    .site-breadcrumb .breadcrumb-title,
    .site-breadcrumb-wrapper .breadcrumb-title,
    .hero-banner .breadcrumb-title,
    .hero-banner h1,
    .hero-banner h2 {
        font-size: clamp(1.75rem, 5.4vw, 2.45rem) !important;
        max-width: 760px !important;
    }
}

@media (max-width: 575.98px) {
    .site-breadcrumb-wrapper,
    .hero-banner {
        min-height: 210px !important;
        padding-top: 34px !important;
        padding-bottom: 32px !important;
    }

    .site-breadcrumb-wrapper > .container,
    .site-breadcrumb-wrapper .container,
    .hero-banner .hero-content {
        gap: 10px !important;
        padding-inline: 16px !important;
    }

    .site-breadcrumb .breadcrumb-title,
    .site-breadcrumb-wrapper .breadcrumb-title,
    .hero-banner .breadcrumb-title,
    .hero-banner h1,
    .hero-banner h2 {
        font-size: clamp(1.45rem, 7.2vw, 2rem) !important;
        line-height: 1.16 !important;
    }

    .site-breadcrumb-wrapper .breadcrumb-menu,
    .site-breadcrumb .breadcrumb-menu,
    .hero-banner .breadcrumb-menu {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 8px !important;
        padding: 8px 10px !important;
    }

    .site-breadcrumb-wrapper .breadcrumb-menu li,
    .site-breadcrumb .breadcrumb-menu li,
    .hero-banner .breadcrumb-menu li,
    .site-breadcrumb-wrapper .breadcrumb-menu a,
    .site-breadcrumb .breadcrumb-menu a,
    .hero-banner .breadcrumb-menu a {
        font-size: 0.78rem !important;
    }

    .psfm-breadcrumb-actions {
        width: 100% !important;
    }

    .psfm-breadcrumb-action,
    .psfm-breadcrumb-action-mail {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* Full-site content polish: body, cards, forms, grids, and footer only. No SEO/head/header selectors. */
main.main {
    background: #ffffff !important;
}

main.main :where(section, .about-area, .service-area, .blog-area, .project-area, .contact-area, .homepage-shell, .vendor-content, .career-area) {
    scroll-margin-top: calc(var(--psfm-fixed-header-height, 94px) + 18px) !important;
}

main.main :where(.container, .container-lg, .container-xl) {
    min-width: 0 !important;
}

main.main :where(.row) {
    row-gap: 24px !important;
}

main.main :where(.site-heading, .section-heading, .vendor-section-head, .contact-content, .about-content, .service-content, .project-content, .blog-item-info) {
    min-width: 0 !important;
}

main.main :where(.site-heading .site-title, .section-heading .section-title, .site-title, .section-title, h2, h3) {
    letter-spacing: 0 !important;
    text-wrap: balance !important;
}

main.main :where(p, li, dd, .text-muted, .form-text, .vendor-file-note) {
    color: #5a687b !important;
    line-height: 1.66 !important;
}

main.main :where(.text-dark, label, .form-label) {
    color: #1d2b3d !important;
}

main.main :where(.card, .blog-item, .service-item, .service-card, .project-item, .project-highlight-card, .location-card, .industry-card, .homepage-insight-card, .homepage-faq-card, .client-trust-faq-card, .contact-info, .contact-card, .vendor-section-card, .vendor-form-card, .vendor-info-panel, .vendor-faq-item, .career-opening-card) {
    border-radius: 8px !important;
    border: 1px solid rgba(16, 32, 51, 0.08) !important;
    background: #ffffff !important;
    box-shadow: 0 12px 32px rgba(16, 32, 51, 0.07) !important;
    overflow: hidden !important;
}

main.main :where(.card:hover, .blog-item:hover, .service-item:hover, .service-card:hover, .project-item:hover, .project-highlight-card:hover, .location-card:hover, .industry-card:hover, .homepage-insight-card:hover) {
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 42px rgba(16, 32, 51, 0.1) !important;
}

main.main :where(.card-body, .blog-item-info, .service-content, .project-content, .vendor-form-card, .vendor-info-panel) {
    min-width: 0 !important;
}

main.main :where(.service-title a, .blog-title a, .project-title a, .service-card-title, .location-card-title, .industry-card h3, .industry-card h4, .vendor-section-card h2, .vendor-form-card h2, .contact-info h5, .contact-info h6) {
    color: #102033 !important;
    line-height: 1.24 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

main.main :where(.service-title a:hover, .blog-title a:hover, .project-title a:hover) {
    color: #d71920 !important;
}

main.main :where(img, picture img, .blog-item-img img, .service-img img, .project-img img, .about-img img, .gallery-img img) {
    max-width: 100% !important;
    object-fit: cover !important;
}

main.main :where(.form-control, .form-select, input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], textarea, select) {
    min-height: 46px !important;
    border-radius: 8px !important;
    border: 1px solid #dbe3ee !important;
    background-color: #ffffff !important;
    color: #172033 !important;
    box-shadow: none !important;
}

main.main :where(textarea.form-control, textarea) {
    min-height: 118px !important;
}

main.main :where(.form-control::placeholder, input::placeholder, textarea::placeholder) {
    color: #8794a6 !important;
    opacity: 1 !important;
}

main.main :where(.form-control:focus, .form-select:focus, input:focus, textarea:focus, select:focus) {
    border-color: rgba(215, 25, 32, 0.5) !important;
    box-shadow: 0 0 0 4px rgba(215, 25, 32, 0.1) !important;
    outline: none !important;
}

main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .vendor-btn, button[type="submit"]) {
    border-radius: 8px !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-align: center !important;
}

main.main :where(.table, table) {
    border-color: #e4eaf2 !important;
}

main.main :where(.table th, table th) {
    color: #102033 !important;
    background: #f4f7fb !important;
    font-weight: 800 !important;
}

main.main :where(.table td, table td) {
    color: #425168 !important;
    vertical-align: middle !important;
}

main.main :where(.accordion-item, .faq-item, .vendor-faq-item) {
    border-radius: 8px !important;
    border: 1px solid rgba(16, 32, 51, 0.08) !important;
    overflow: hidden !important;
}

main.main :where(.accordion-button, .faq-item h3, .vendor-faq-item h3) {
    color: #102033 !important;
    font-weight: 800 !important;
}

main.main :where(.badge, .vendor-label, .hero-kicker, .section-label) {
    letter-spacing: 0.02em !important;
    border-radius: 999px !important;
}

.footer-area {
    background: #102033 !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

.footer-area :where(.footer-widget-title, h4, h5, h6) {
    color: #ffffff !important;
    letter-spacing: 0 !important;
}

.footer-area :where(p, li, span, a) {
    color: rgba(255, 255, 255, 0.78) !important;
    line-height: 1.62 !important;
}

.footer-area :where(a:hover, a:focus) {
    color: #ffffff !important;
}

.footer-area :where(.footer-widget-box, .footer-contact, .footer-list) {
    min-width: 0 !important;
}

@media (min-width: 992px) {
    main.main :where(.contact-area, .about-area, .service-area, .blog-area, .project-area, .homepage-shell, .vendor-content) {
        padding-top: clamp(64px, 5.6vw, 92px) !important;
        padding-bottom: clamp(64px, 5.6vw, 92px) !important;
    }
}

@media (max-width: 767.98px) {
    main.main :where(.row) {
        row-gap: 18px !important;
    }

    main.main :where(.card, .blog-item, .service-item, .service-card, .project-item, .project-highlight-card, .location-card, .industry-card, .homepage-insight-card, .homepage-faq-card, .client-trust-faq-card, .contact-info, .vendor-section-card, .vendor-form-card, .vendor-info-panel, .vendor-faq-item) {
        border-radius: 8px !important;
        box-shadow: 0 10px 26px rgba(16, 32, 51, 0.06) !important;
    }

    main.main :where(.card-body, .blog-item-info, .service-content, .project-content) {
        padding: 18px !important;
    }

    main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .vendor-btn, button[type="submit"]) {
        min-height: 44px !important;
        padding: 10px 14px !important;
        width: 100% !important;
        justify-content: center !important;
    }
}

/* AI opened chat box final: panel only. No launcher/icon/header-route/SEO changes. */
.psfm-ai-assistant.is-open .psfm-ai-panel,
.psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
.psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
    width: min(382px, calc(100vw - 28px)) !important;
    max-height: min(560px, calc(100vh - 118px)) !important;
    bottom: 64px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    border: 1px solid #dfe6ef !important;
    box-shadow: 0 18px 42px rgba(16, 32, 51, 0.18) !important;
    overflow: hidden !important;
}

.psfm-ai-assistant.is-open .psfm-ai-header {
    padding: 13px 14px !important;
    background: #102033 !important;
    color: #ffffff !important;
}

.psfm-ai-assistant.is-open .psfm-ai-header::after {
    height: 1px !important;
    background: rgba(255, 255, 255, 0.16) !important;
}

.psfm-ai-assistant.is-open .psfm-ai-header strong {
    color: #ffffff !important;
    font-size: 0.94rem !important;
    line-height: 1.25 !important;
}

.psfm-ai-assistant.is-open .psfm-ai-header span:not(.psfm-ai-header-icon) {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 0.76rem !important;
}

.psfm-ai-assistant.is-open .psfm-ai-trust-row,
.psfm-ai-assistant.is-open .psfm-ai-quick-actions-wrap,
.psfm-ai-assistant.is-open .psfm-ai-input-row,
.psfm-ai-assistant.is-open .psfm-ai-footer {
    background: #ffffff !important;
}

.psfm-ai-assistant.is-open .psfm-ai-messages {
    min-height: 126px !important;
    max-height: 188px !important;
    padding: 12px !important;
    background: #f6f8fb !important;
}

.psfm-ai-assistant.is-open .psfm-ai-message {
    border-radius: 7px !important;
    color: #18283a !important;
    background: #ffffff !important;
    border: 1px solid rgba(16, 32, 51, 0.09) !important;
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
}

.psfm-ai-assistant.is-open .psfm-ai-message.is-user {
    color: #ffffff !important;
    background: #102033 !important;
    border-color: #102033 !important;
}

.psfm-ai-assistant.is-open .psfm-ai-quick-actions button,
.psfm-ai-assistant.is-open .psfm-ai-followups button,
.psfm-ai-assistant.is-open .psfm-ai-footer a {
    border-radius: 6px !important;
    color: #24364a !important;
    background: #ffffff !important;
    border: 1px solid #dfe6ef !important;
    font-weight: 700 !important;
}

.psfm-ai-assistant.is-open .psfm-ai-input-row {
    border-top: 1px solid #dfe6ef !important;
    padding: 10px 12px 12px !important;
}

.psfm-ai-assistant.is-open .psfm-ai-input-row textarea,
.psfm-ai-assistant.is-open .psfm-ai-lead-form input,
.psfm-ai-assistant.is-open .psfm-ai-lead-form select,
.psfm-ai-assistant.is-open .psfm-ai-lead-form textarea {
    border-radius: 7px !important;
    color: #172033 !important;
    background: #ffffff !important;
    border: 1px solid #dfe6ef !important;
}

.psfm-ai-assistant.is-open .psfm-ai-input-row button,
.psfm-ai-assistant.is-open .psfm-ai-lead-submit {
    border-radius: 7px !important;
    color: #ffffff !important;
    background: #d71920 !important;
}

@media (max-width: 575.98px) {
    .psfm-ai-assistant.is-open .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
        width: calc(100vw - 16px) !important;
        max-height: min(520px, calc(100vh - 92px)) !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-messages {
        max-height: 150px !important;
    }
}

/* Critical visible QA fixes only: open assistant panel and dark form contrast. No SEO, route, header, or data changes. */
.psfm-ai-assistant.is-open {
    z-index: 1128 !important;
}

.psfm-ai-assistant.is-open .psfm-ai-panel,
.psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
.psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.psfm-ai-assistant.is-open .psfm-ai-header,
.psfm-ai-assistant.is-open .psfm-ai-trust-row,
.psfm-ai-assistant.is-open .psfm-ai-quick-actions-wrap,
.psfm-ai-assistant.is-open .psfm-ai-input-row,
.psfm-ai-assistant.is-open .psfm-ai-footer {
    flex: 0 0 auto !important;
}

.psfm-ai-assistant.is-open .psfm-ai-header {
    display: flex !important;
}

.psfm-ai-assistant.is-open .psfm-ai-messages {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    scrollbar-color: #c7d1df #f6f8fb !important;
}

.psfm-ai-assistant.is-open .psfm-ai-quick-actions {
    overflow-y: auto !important;
}

@media (min-width: 768px) {
    .psfm-ai-assistant.is-open .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
        position: fixed !important;
        top: calc(var(--psfm-fixed-header-height, 76px) + 12px) !important;
        right: 24px !important;
        left: auto !important;
        bottom: auto !important;
        width: min(382px, calc(100vw - 48px)) !important;
        max-height: calc(100vh - var(--psfm-fixed-header-height, 76px) - 28px) !important;
        margin: 0 !important;
    }

    html[dir="rtl"] .psfm-ai-assistant.is-open .psfm-ai-panel,
    html[dir="rtl"] .psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
    html[dir="rtl"] .psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
        right: auto !important;
        left: 24px !important;
    }
}

@media (max-width: 767.98px) {
    .psfm-ai-assistant.is-open,
    .psfm-ai-assistant.is-open[dir="rtl"],
    .psfm-ai-assistant.is-open.is-home-page,
    .psfm-ai-assistant.is-open.is-conversion-critical-page {
        position: fixed !important;
        inset: auto 10px auto 10px !important;
        top: calc(var(--psfm-fixed-header-height, 76px) + 10px) !important;
        width: auto !important;
        max-width: none !important;
        transform: none !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
        position: fixed !important;
        inset: auto 10px auto 10px !important;
        top: calc(var(--psfm-fixed-header-height, 76px) + 10px) !important;
        width: auto !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100vh - var(--psfm-fixed-header-height, 76px) - 24px) !important;
        bottom: auto !important;
        margin: 0 !important;
        border-radius: 8px !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-trust-row {
        min-height: 38px !important;
        overflow-x: auto !important;
        padding: 8px 12px !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-messages {
        min-height: 94px !important;
        max-height: none !important;
        padding: 10px 12px !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-quick-actions {
        max-height: 108px !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-input-row {
        gap: 8px !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-input-row textarea {
        min-height: 48px !important;
        max-height: 86px !important;
    }
}

main.main :where(.is-dark, .bg-dark, .theme-bg-dark, .choose-area, .homepage-shell.is-dark, .vendor-hero, .quote-section, .request-quote-area, .service-quote-area, .cta-area, [style*="#102033"], [style*="#0b1d33"], [style*="rgb(16, 32, 51)"]) :where(label, .form-label, .text-dark) {
    color: rgba(255, 255, 255, 0.94) !important;
}

main.main :where(.is-dark, .bg-dark, .theme-bg-dark, .choose-area, .homepage-shell.is-dark, .vendor-hero, .quote-section, .request-quote-area, .service-quote-area, .cta-area, [style*="#102033"], [style*="#0b1d33"], [style*="rgb(16, 32, 51)"]) :where(p, small, .form-text, .help-text, .muted, .text-muted) {
    color: rgba(255, 255, 255, 0.74) !important;
}

main.main :where(.is-dark, .bg-dark, .theme-bg-dark, .choose-area, .homepage-shell.is-dark, .vendor-hero, .quote-section, .request-quote-area, .service-quote-area, .cta-area) :where(.form-control, .form-select, input, textarea, select) {
    background-color: #ffffff !important;
    color: #172033 !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
}

main.main :where(.contact-form, .service-detail-form, .vendor-form-card, .quote-form, .request-quote-form) :where(label, .form-label) {
    color: #1d2b3d !important;
}

main.main :where(.contact-form, .service-detail-form, .vendor-form-card, .quote-form, .request-quote-form) :where(.bg-dark, .is-dark, .theme-bg-dark) :where(label, .form-label) {
    color: rgba(255, 255, 255, 0.94) !important;
}

main.main :where(.is-dark, .bg-dark, .theme-bg-dark, .choose-area, .homepage-shell.is-dark, .vendor-hero, .quote-section, .request-quote-area, .service-quote-area, .cta-area) :where(.contact-form, .service-detail-form, .vendor-form-card, .quote-form, .request-quote-form) :where(label, .form-label) {
    color: rgba(255, 255, 255, 0.94) !important;
}

/* Arabic RTL UI verification fixes only. Copy, SEO, routes, and approved contact values stay unchanged. */
html[dir="rtl"] :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.35 !important;
    gap: 9px !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

html[dir="rtl"] :where(.theme-btn i, .theme-btn-white i, .theme-btn-outline i, .psfm-cta-pill i, button[type="submit"] i) {
    flex: 0 0 auto !important;
}

html[dir="rtl"] :where(.theme-btn i.fa-arrow-right, .theme-btn-white i.fa-arrow-right, .theme-btn-outline i.fa-arrow-right, .psfm-cta-pill i.fa-arrow-right) {
    transform: scaleX(-1) !important;
}

html[dir="rtl"] :where(.service-card p, .psfm-service-card p, .service-item p, .service-card .service-description, .psfm-service-card .service-description) {
    max-height: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
    text-align: right !important;
    line-height: 1.75 !important;
}

html[dir="rtl"] :where(.client-google-notice, .client-trust-seo-copy, .client-trust-cta p, .client-trust-contact, .client-trust-contact span, .footer-widget-box p, .contact-info p, .location-contact-card p) {
    max-height: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    overflow: visible !important;
    text-align: right !important;
    line-height: 1.75 !important;
}

html[dir="rtl"] :where(.footer-contact ul li, .footer-phone-item, .footer-contact ul li a) {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
}

html[dir="rtl"] .footer-contact ul li a {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}

html[dir="rtl"] :where(
    a[href^="mailto:"],
    a[href*="premium-sa.com"],
    a[href*="psfm-sa.com"],
    .header-contact-number,
    .contact-email-value,
    .footer-contact-number-localized,
    .footer-phone-item bdi,
    .footer-contact a[href^="mailto:"],
    .footer-contact a[href*="premium-sa.com"],
    .footer-contact a[href*="psfm-sa.com"]
) {
    direction: ltr !important;
    unicode-bidi: isolate !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-align: left !important;
}

@media (max-width: 575.98px) {
    html[dir="rtl"] :where(a[href^="mailto:"], a[href*="premium-sa.com"], a[href*="psfm-sa.com"], .contact-email-value) {
        font-size: 0.94em !important;
    }

    html[dir="rtl"] .psfm-ai-assistant[data-assistant-mode="chat"].is-home-page:not(.is-open) {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    html[dir="rtl"] .psfm-ai-assistant[data-assistant-mode="chat"].is-home-page:not(.is-open) .psfm-ai-launcher {
        visibility: visible !important;
        pointer-events: auto !important;
        opacity: 1 !important;
    }
}

/* Homepage conversion polish: CSS-only refinements; routes, SEO, copy, and contact values remain unchanged. */
:root {
    --psfm-polish-red: #d71920;
    --psfm-polish-red-dark: #a91319;
    --psfm-polish-navy: #102033;
    --psfm-polish-ink: #172033;
    --psfm-polish-muted: #5f7088;
    --psfm-polish-line: #dbe5f0;
    --psfm-polish-soft: #f5f7fb;
    --psfm-polish-card: #ffffff;
    --psfm-polish-shadow: 0 18px 44px rgba(16, 32, 51, 0.12);
}

body > header.header {
    box-shadow: 0 12px 28px rgba(16, 32, 51, 0.08) !important;
}

body > header.header .header-menu-list > .nav-item > .nav-link {
    color: var(--psfm-polish-ink) !important;
    font-weight: 800 !important;
}

body > header.header .header-menu-list > .nav-item > .nav-link:hover,
body > header.header .header-menu-list > .nav-item > .nav-link.active {
    color: var(--psfm-polish-red) !important;
    background: rgba(215, 25, 32, 0.07) !important;
}

body > header.header .dropdown-menu {
    border: 1px solid rgba(219, 229, 240, 0.96) !important;
    border-radius: 8px !important;
    box-shadow: 0 22px 54px rgba(16, 32, 51, 0.16) !important;
}

body > header.header .header-dropdown-services .dropdown-header {
    grid-column: 1 / -1 !important;
    padding: 2px 4px 8px !important;
    color: var(--psfm-polish-red) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0 !important;
    font-weight: 900 !important;
}

body > header.header .header-dropdown-services .dropdown-divider,
body > header.header .header-dropdown-services .header-dropdown-full {
    grid-column: 1 / -1 !important;
}

body > header.header .dropdown-item {
    border-radius: 8px !important;
    color: var(--psfm-polish-ink) !important;
    white-space: normal !important;
}

body > header.header .dropdown-item:hover,
body > header.header .dropdown-item:focus,
body > header.header .dropdown-item.active {
    background: #f8fafc !important;
    color: var(--psfm-polish-red) !important;
}

body > header.header .dropdown-item-title {
    color: inherit !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

body > header.header .dropdown-item-copy {
    color: var(--psfm-polish-muted) !important;
    line-height: 1.45 !important;
}

.homepage-hero {
    overflow: hidden !important;
}

.homepage-hero::before {
    background: linear-gradient(90deg, rgba(7, 18, 32, 0.88), rgba(7, 18, 32, 0.66) 45%, rgba(7, 18, 32, 0.42)) !important;
}

html[dir="rtl"] .homepage-hero::before {
    background: linear-gradient(270deg, rgba(7, 18, 32, 0.88), rgba(7, 18, 32, 0.66) 45%, rgba(7, 18, 32, 0.42)) !important;
}

.homepage-hero .hero-layout,
html[dir="rtl"] .homepage-hero .hero-layout {
    align-items: center !important;
    gap: 42px !important;
}

.homepage-hero .hero-copy,
html[dir="rtl"] .homepage-hero .hero-copy {
    max-width: 680px !important;
}

.homepage-hero .hero-kicker {
    width: fit-content !important;
    max-width: 100% !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
}

.homepage-hero .hero-copy h1.hero-main-title,
.homepage-hero .hero-copy h1.hero-main-title span,
html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title,
html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title span {
    color: #ffffff !important;
    letter-spacing: 0 !important;
    text-shadow: 0 12px 28px rgba(0, 0, 0, 0.22) !important;
}

.homepage-hero .hero-copy > p,
html[dir="rtl"] .homepage-hero .hero-copy > p {
    color: rgba(255, 255, 255, 0.88) !important;
    line-height: 1.7 !important;
    max-width: 620px !important;
}

.homepage-hero .hero-actions,
html[dir="rtl"] .homepage-hero .hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 26px !important;
}

.homepage-hero .hero-actions a,
html[dir="rtl"] .homepage-hero .hero-actions a {
    min-height: 52px !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}

.homepage-hero .hero-actions a[data-psfm-cta="hero_request_quote"] {
    order: 1 !important;
    background: var(--psfm-polish-red) !important;
    border-color: var(--psfm-polish-red) !important;
    color: #ffffff !important;
}

.homepage-hero .hero-actions a[data-psfm-cta="hero_request_quote"]:hover,
.homepage-hero .hero-actions a[data-psfm-cta="hero_request_quote"]:focus {
    background: var(--psfm-polish-red-dark) !important;
    border-color: var(--psfm-polish-red-dark) !important;
}

.homepage-hero .hero-actions a[data-psfm-cta="hero_whatsapp"] {
    order: 2 !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: var(--psfm-polish-ink) !important;
}

.homepage-hero .hero-actions a[data-psfm-cta="hero_whatsapp"] i {
    color: #0b8f46 !important;
}

.homepage-hero .hero-actions a[data-psfm-cta="hero_submit_rfq"] {
    order: 3 !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    color: #ffffff !important;
}

.homepage-hero .hero-market-note,
html[dir="rtl"] .homepage-hero .hero-market-note {
    max-width: 640px !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.11) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

.homepage-hero .hero-market-note span,
html[dir="rtl"] .homepage-hero .hero-market-note span {
    color: rgba(255, 255, 255, 0.9) !important;
}

.homepage-hero .hero-visual-card,
.homepage-hero .hero-visual-stats {
    border-radius: 8px !important;
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.22) !important;
}

.homepage-hero .hero-visual-chip,
.homepage-hero .hero-visual-overlay {
    border-radius: 8px !important;
}

.homepage-shell {
    overflow: hidden !important;
}

.homepage-shell .container {
    position: relative !important;
}

.homepage-shell :where(.section-title, .site-heading, .seo-authority-head, .client-trust-head, .review-confidence-copy) :where(h1, h2, h3),
html[dir="rtl"] .homepage-shell :where(.section-title, .site-heading, .seo-authority-head, .client-trust-head, .review-confidence-copy) :where(h1, h2, h3) {
    color: var(--psfm-polish-ink) !important;
    letter-spacing: 0 !important;
    line-height: 1.16 !important;
}

.homepage-shell :where(.section-title, .site-heading, .seo-authority-head, .client-trust-head, .review-confidence-copy) p,
html[dir="rtl"] .homepage-shell :where(.section-title, .site-heading, .seo-authority-head, .client-trust-head, .review-confidence-copy) p {
    color: var(--psfm-polish-muted) !important;
    line-height: 1.7 !important;
}

.homepage-shell :where(.site-title-tagline, .client-trust-badge) {
    letter-spacing: 0 !important;
    font-weight: 900 !important;
}

.homepage-shell :where(.homepage-seo-authority, .proof-signal-card, .proof-metric-card, .service-card, .industry-card, .city-coverage-panel, .operational-snapshot, .client-trust-panel, .review-confidence-fill, .client-trust-faq-card, .homepage-faq-card) {
    border-radius: 8px !important;
    border: 1px solid var(--psfm-polish-line) !important;
    background: var(--psfm-polish-card) !important;
    box-shadow: 0 12px 34px rgba(16, 32, 51, 0.08) !important;
}

.homepage-shell :where(.service-card, .industry-card, .client-trust-faq-card, .homepage-faq-card) {
    height: 100% !important;
}

.homepage-shell :where(.service-card, .industry-card, .client-trust-faq-card, .homepage-faq-card) :where(h3, h4) {
    color: var(--psfm-polish-ink) !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

.homepage-shell :where(.service-card, .industry-card, .client-trust-faq-card, .homepage-faq-card) p {
    color: var(--psfm-polish-muted) !important;
    line-height: 1.68 !important;
}

.homepage-shell :where(.service-card a, .client-trust-cta-actions a, .review-confidence-actions a, .homepage-link-cloud a, .client-trust-link-cloud a) {
    border-radius: 8px !important;
}

.review-confidence-fill {
    padding: 24px !important;
    background: linear-gradient(135deg, #ffffff, #f8fafc) !important;
}

.review-confidence-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.review-confidence-grid span {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    border: 1px solid var(--psfm-polish-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--psfm-polish-ink) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    padding: 10px 12px !important;
}

html[dir="rtl"] .review-confidence-grid span {
    text-align: right !important;
}

.review-confidence-grid span i {
    color: var(--psfm-polish-red) !important;
    flex: 0 0 auto !important;
}

.review-confidence-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 18px !important;
}

.review-confidence-actions a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--psfm-polish-line) !important;
    background: #ffffff !important;
    color: var(--psfm-polish-ink) !important;
    font-weight: 900 !important;
}

.review-confidence-actions a:last-child {
    background: var(--psfm-polish-red) !important;
    border-color: var(--psfm-polish-red) !important;
    color: #ffffff !important;
}

.client-google-notice,
.client-trust-seo-copy {
    max-width: 980px !important;
    margin-inline: auto !important;
    border-radius: 8px !important;
    border: 1px solid var(--psfm-polish-line) !important;
    background: #ffffff !important;
    color: var(--psfm-polish-muted) !important;
    line-height: 1.68 !important;
    padding: 18px 20px !important;
}

.client-trust-link-cloud {
    max-height: 188px !important;
    overflow-y: auto !important;
    border-radius: 8px !important;
    border: 1px solid var(--psfm-polish-line) !important;
    background: #ffffff !important;
    padding: 14px !important;
    scrollbar-color: #cbd5e1 #f8fafc !important;
}

.client-trust-link-cloud a {
    background: #f8fafc !important;
    color: var(--psfm-polish-ink) !important;
    border: 1px solid #e5edf6 !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.client-trust-cta {
    border-radius: 8px !important;
    background: linear-gradient(135deg, #102033, #172a42) !important;
    box-shadow: var(--psfm-polish-shadow) !important;
}

.client-trust-cta :where(h2, p, span),
html[dir="rtl"] .client-trust-cta :where(h2, p, span) {
    color: rgba(255, 255, 255, 0.9) !important;
}

.client-trust-cta h2,
html[dir="rtl"] .client-trust-cta h2 {
    color: #ffffff !important;
}

.client-trust-contact {
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    padding: 16px !important;
}

.client-trust-contact a,
.client-trust-contact bdi {
    color: #ffffff !important;
}

.client-trust-cta-actions {
    gap: 10px !important;
}

.client-trust-cta-actions .theme-btn {
    min-height: 50px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--psfm-polish-ink) !important;
}

.client-trust-cta-actions .theme-btn:last-child {
    background: var(--psfm-polish-red) !important;
    color: #ffffff !important;
}

.footer-floating-contact {
    z-index: 1010 !important;
}

.psfm-ai-assistant {
    z-index: 1040 !important;
}

.psfm-ai-assistant .psfm-ai-panel {
    border-radius: 8px !important;
    border: 1px solid rgba(219, 229, 240, 0.98) !important;
    box-shadow: 0 22px 54px rgba(16, 32, 51, 0.2) !important;
}

.psfm-ai-assistant .psfm-ai-header {
    background: var(--psfm-polish-navy) !important;
    color: #ffffff !important;
}

.psfm-ai-assistant .psfm-ai-launcher {
    border-radius: 999px !important;
    box-shadow: 0 16px 34px rgba(215, 25, 32, 0.28) !important;
}

.psfm-ai-assistant.is-open .psfm-ai-input-row textarea {
    color: var(--psfm-polish-ink) !important;
    background: #ffffff !important;
}

@media (min-width: 1200px) {
    body > header.header .header-dropdown-services {
        width: min(760px, calc(100vw - 48px)) !important;
        min-width: min(760px, calc(100vw - 48px)) !important;
        max-width: min(760px, calc(100vw - 48px)) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title {
        font-size: 3.55rem !important;
        line-height: 1.04 !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title {
        font-size: 3rem !important;
        line-height: 1.06 !important;
    }

    .homepage-hero .hero-layout,
    html[dir="rtl"] .homepage-hero .hero-layout {
        gap: 28px !important;
    }
}

@media (max-width: 991.98px) {
    body > header.header #main_nav.navbar-collapse.show {
        background: #ffffff !important;
        border: 1px solid var(--psfm-polish-line) !important;
        box-shadow: 0 18px 42px rgba(16, 32, 51, 0.14) !important;
    }

    body > header.header #main_nav.navbar-collapse.show .header-menu-list > .dropdown > .dropdown-menu.show {
        border-radius: 8px !important;
        max-height: 46vh !important;
        overflow-y: auto !important;
    }

    .homepage-hero {
        min-height: auto !important;
        padding-top: 94px !important;
        padding-bottom: 42px !important;
    }

    .homepage-hero .hero-layout,
    html[dir="rtl"] .homepage-hero .hero-layout {
        gap: 24px !important;
    }

    .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title {
        font-size: 2.55rem !important;
        line-height: 1.08 !important;
    }

    .homepage-hero .hero-copy > p,
    html[dir="rtl"] .homepage-hero .hero-copy > p {
        font-size: 1rem !important;
    }

    .review-confidence-grid {
        grid-template-columns: 1fr !important;
    }

    .footer-floating-contact {
        display: none !important;
    }

    .psfm-mobile-action-bar,
    body > .psfm-mobile-action-strip,
    .header .main-navigation > .psfm-mobile-action-strip {
        z-index: 1030 !important;
    }

    .psfm-ai-assistant[data-assistant-mode="chat"]:not(.is-open) {
        bottom: calc(var(--psfm-mobile-bottom-safe-offset, 62px) + 14px) !important;
    }
}

@media (max-width: 575.98px) {
    .homepage-hero {
        padding-top: 82px !important;
        padding-bottom: 34px !important;
    }

    .homepage-hero .hero-copy,
    .homepage-hero .hero-copy h1.hero-main-title,
    .homepage-hero .hero-copy h1.hero-main-title span,
    .homepage-hero .hero-copy > p,
    .homepage-hero .hero-market-note,
    html[dir="rtl"] .homepage-hero .hero-copy,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title span,
    html[dir="rtl"] .homepage-hero .hero-copy > p,
    html[dir="rtl"] .homepage-hero .hero-market-note {
        text-align: start !important;
    }

    html[dir="rtl"] .homepage-hero .hero-copy,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title span,
    html[dir="rtl"] .homepage-hero .hero-copy > p,
    html[dir="rtl"] .homepage-hero .hero-market-note {
        text-align: right !important;
    }

    .homepage-hero .hero-copy h1.hero-main-title,
    html[dir="rtl"] .homepage-hero .hero-copy h1.hero-main-title {
        font-size: 2.12rem !important;
        line-height: 1.1 !important;
    }

    .homepage-hero .hero-actions,
    html[dir="rtl"] .homepage-hero .hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        gap: 10px !important;
    }

    .homepage-hero .hero-actions a,
    html[dir="rtl"] .homepage-hero .hero-actions a {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
    }

    .homepage-hero .hero-actions a[data-psfm-cta="hero_submit_rfq"] {
        min-height: 42px !important;
    }

    .homepage-hero .hero-visual-wrap {
        margin-top: 2px !important;
    }

    .homepage-shell :where(.homepage-seo-authority, .proof-signal-card, .proof-metric-card, .service-card, .industry-card, .city-coverage-panel, .operational-snapshot, .client-trust-panel, .review-confidence-fill, .client-trust-faq-card, .homepage-faq-card) {
        box-shadow: 0 10px 24px rgba(16, 32, 51, 0.08) !important;
    }

    .review-confidence-fill,
    .client-trust-contact,
    .client-google-notice,
    .client-trust-seo-copy,
    .client-trust-link-cloud {
        padding: 14px !important;
    }

    .review-confidence-actions,
    .client-trust-cta-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
        top: calc(var(--psfm-fixed-header-height, 60px) + 8px) !important;
        max-height: calc(100vh - var(--psfm-fixed-header-height, 60px) - var(--psfm-mobile-bottom-safe-offset, 58px) - 22px) !important;
        bottom: auto !important;
    }
}

/* Non-header public page polish. Header menu items, URLs, SEO, copy, and contact data are intentionally untouched. */
main.main {
    color: var(--psfm-polish-ink, #172033) !important;
}

main.main :where(.site-breadcrumb-wrapper, .hero-banner, .psfm-corporate-breadcrumb .site-breadcrumb-wrapper) {
    border-radius: 0 !important;
    overflow: hidden !important;
}

main.main :where(.site-breadcrumb-wrapper, .hero-banner)::before {
    background: linear-gradient(135deg, rgba(8, 20, 35, 0.84), rgba(8, 20, 35, 0.64)) !important;
}

main.main :where(.site-breadcrumb-wrapper .container, .site-breadcrumb .container, .hero-banner .container) {
    min-width: 0 !important;
    max-width: min(1185px, calc(100% - 32px)) !important;
}

main.main :where(.site-breadcrumb .breadcrumb-title, .site-breadcrumb-wrapper .breadcrumb-title, .hero-banner .breadcrumb-title) {
    color: #ffffff !important;
    letter-spacing: 0 !important;
    line-height: 1.14 !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

main.main :where(.site-breadcrumb p, .breadcrumb-summary, .hero-banner p) {
    color: rgba(255, 255, 255, 0.84) !important;
    line-height: 1.68 !important;
    max-width: 760px !important;
}

main.main :where(.site-heading, .section-heading, .section-title, .psfm-service-index-head, .blog-index-head, .contact-content) {
    max-width: 920px !important;
}

main.main :where(.site-heading p, .section-heading p, .section-title p, .psfm-service-index-head p, .blog-index-head p, .contact-content p) {
    color: var(--psfm-polish-muted, #5f7088) !important;
    line-height: 1.72 !important;
}

main.main :where(.site-title, .section-title h2, .site-heading h2, .psfm-service-index-head h2, .blog-index-head h2, .contact-content h2, .about-content h2) {
    color: var(--psfm-polish-ink, #172033) !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
    text-wrap: balance !important;
}

main.main :where(
    .psfm-service-card,
    .service-card,
    .service-item,
    .seo-card,
    .city-service-card,
    .blog-item,
    .psfm-blog-card,
    .contact-info,
    .contact-card,
    .about-feature-card,
    .project-highlight-card,
    .location-card,
    .industry-card,
    .homepage-insight-card,
    .homepage-faq-card,
    .client-trust-faq-card
) {
    border-radius: 8px !important;
    border: 1px solid var(--psfm-polish-line, #dbe5f0) !important;
    box-shadow: 0 12px 30px rgba(16, 32, 51, 0.08) !important;
    overflow: hidden !important;
}

main.main :where(.psfm-service-card, .service-card, .service-item, .blog-item, .psfm-blog-card, .seo-card, .city-service-card, .contact-info, .contact-card) {
    height: 100% !important;
}

main.main :where(.psfm-service-card, .service-card, .service-item, .blog-item, .psfm-blog-card) :where(h2, h3, h4, .service-title, .blog-title, .service-card-title) {
    color: var(--psfm-polish-ink, #172033) !important;
    letter-spacing: 0 !important;
    line-height: 1.26 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

main.main :where(.psfm-service-card, .service-card, .service-item, .blog-item, .psfm-blog-card, .seo-card, .city-service-card, .contact-info, .contact-card) p {
    color: var(--psfm-polish-muted, #5f7088) !important;
    line-height: 1.68 !important;
}

main.main :where(.blog-item-img, .service-img, .psfm-service-card-media, .project-img, .about-img) {
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f6f8fb !important;
}

main.main :where(.blog-item-img img, .service-img img, .psfm-service-card-media img, .project-img img, .about-img img) {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) {
    border-radius: 8px !important;
    letter-spacing: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: center !important;
    line-height: 1.22 !important;
}

main.main :where(.theme-btn-white, .theme-btn-outline) {
    background: #ffffff !important;
    border: 1px solid var(--psfm-polish-line, #dbe5f0) !important;
    color: var(--psfm-polish-ink, #172033) !important;
}

main.main :where(.theme-btn-white:hover, .theme-btn-outline:hover) {
    border-color: var(--psfm-polish-red, #d71920) !important;
    color: var(--psfm-polish-red, #d71920) !important;
}

main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form, form) :where(label, .form-label) {
    color: var(--psfm-polish-ink, #172033) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form, form) :where(input, textarea, select, .form-control, .form-select) {
    min-height: 48px !important;
    border-radius: 8px !important;
    border-color: var(--psfm-polish-line, #dbe5f0) !important;
    color: var(--psfm-polish-ink, #172033) !important;
    background: #ffffff !important;
}

main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form, form) textarea {
    min-height: 130px !important;
}

main.main :where(.bg-dark, .theme-bg-dark, .is-dark, .choose-area, .cta-area, .client-trust-cta) :where(h1, h2, h3, h4, h5, h6, label, .form-label) {
    color: #ffffff !important;
}

main.main :where(.bg-dark, .theme-bg-dark, .is-dark, .choose-area, .cta-area, .client-trust-cta) :where(p, li, small, .text-muted, .form-text) {
    color: rgba(255, 255, 255, 0.78) !important;
}

main.main :where(.bg-dark, .theme-bg-dark, .is-dark, .choose-area, .cta-area, .client-trust-cta) :where(input, textarea, select, .form-control, .form-select) {
    background: #ffffff !important;
    color: var(--psfm-polish-ink, #172033) !important;
}

.footer-area :where(.footer-widget, .footer-widget-box, .footer-contact, .footer-list) {
    min-width: 0 !important;
}

.footer-area :where(.footer-contact ul li, .footer-contact ul li a, .footer-list li, .footer-list a) {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    line-height: 1.52 !important;
}

.footer-area :where(a[href^="tel:"], a[href^="mailto:"], a[href*="premium-sa.com"], a[href*="psfm-sa.com"], bdi) {
    direction: ltr !important;
    unicode-bidi: isolate !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
}

html[dir="rtl"] main.main :where(.site-heading, .section-heading, .section-title, .contact-content, .about-content, .service-content, .blog-item-info, .psfm-service-card, .contact-info, .contact-card, .footer-widget, .footer-widget-box) {
    text-align: right !important;
}

html[dir="rtl"] main.main :where(.theme-btn i.fa-arrow-right, .theme-btn-white i.fa-arrow-right, .theme-btn-outline i.fa-arrow-right, .psfm-cta-pill i.fa-arrow-right) {
    transform: scaleX(-1) !important;
}

.psfm-ai-assistant.is-open .psfm-ai-panel {
    max-width: calc(100vw - 24px) !important;
}

.psfm-ai-assistant.is-open :where(.psfm-ai-message, .psfm-ai-quick-actions a, textarea, button) {
    overflow-wrap: normal !important;
    word-break: normal !important;
}

@media (min-width: 992px) {
    main.main :where(.site-breadcrumb-wrapper, .hero-banner) {
        min-height: 300px !important;
        padding-top: 72px !important;
        padding-bottom: 58px !important;
    }

    main.main :where(.site-breadcrumb .breadcrumb-title, .site-breadcrumb-wrapper .breadcrumb-title, .hero-banner .breadcrumb-title) {
        font-size: 3rem !important;
    }

    main.main :where(.blog-item-info, .service-content, .psfm-service-card-body, .contact-info-content) {
        padding: 24px !important;
    }
}

@media (max-width: 991.98px) {
    main.main {
        padding-bottom: calc(var(--psfm-mobile-bottom-safe-offset, 62px) + 20px) !important;
    }

    main.main :where(.site-breadcrumb-wrapper, .hero-banner) {
        min-height: 240px !important;
        padding-top: 54px !important;
        padding-bottom: 42px !important;
    }

    main.main :where(.site-breadcrumb .breadcrumb-title, .site-breadcrumb-wrapper .breadcrumb-title, .hero-banner .breadcrumb-title) {
        font-size: 2.25rem !important;
    }

    .footer-floating-contact {
        display: none !important;
    }

    .psfm-mobile-action-strip {
        display: block !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .psfm-mobile-action-strip .container {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        max-width: min(680px, calc(100vw - 24px)) !important;
        margin-inline: auto !important;
    }

    .psfm-mobile-action-strip a {
        min-width: 0 !important;
        min-height: 44px !important;
        border-radius: 8px !important;
        padding: 8px 6px !important;
        font-size: 0.78rem !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .psfm-ai-assistant[data-assistant-mode="chat"]:not(.is-open) {
        bottom: calc(var(--psfm-mobile-bottom-safe-offset, 62px) + 12px) !important;
    }
}

@media (max-width: 575.98px) {
    main.main :where(.site-breadcrumb-wrapper, .hero-banner) {
        min-height: 214px !important;
        padding-top: 42px !important;
        padding-bottom: 34px !important;
    }

    main.main :where(.site-breadcrumb .breadcrumb-title, .site-breadcrumb-wrapper .breadcrumb-title, .hero-banner .breadcrumb-title) {
        font-size: 1.85rem !important;
        line-height: 1.16 !important;
    }

    main.main :where(.site-breadcrumb p, .breadcrumb-summary, .hero-banner p) {
        font-size: 0.95rem !important;
        line-height: 1.58 !important;
    }

    main.main :where(section, .about-area, .service-area, .blog-area, .project-area, .contact-area, .homepage-shell) {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    main.main :where(.site-heading, .section-heading, .section-title, .contact-content, .about-content) {
        margin-bottom: 24px !important;
    }

    main.main :where(.psfm-service-card, .service-card, .service-item, .blog-item, .psfm-blog-card, .seo-card, .city-service-card, .contact-info, .contact-card) {
        margin-bottom: 18px !important;
    }

    main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) {
        width: 100% !important;
        min-height: 46px !important;
        padding: 11px 12px !important;
        font-size: 0.9rem !important;
    }

    main.main :where(.hero-actions, .psfm-breadcrumb-actions, .client-trust-cta-actions, .review-confidence-actions) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .psfm-mobile-action-strip .container {
        max-width: calc(100vw - 16px) !important;
        gap: 6px !important;
    }

    .psfm-mobile-action-strip a {
        font-size: 0.72rem !important;
        padding-inline: 5px !important;
    }

    .psfm-ai-assistant.is-open .psfm-ai-panel {
        top: calc(var(--psfm-fixed-header-height, 60px) + 8px) !important;
        max-height: calc(100vh - var(--psfm-fixed-header-height, 60px) - var(--psfm-mobile-bottom-safe-offset, 58px) - 22px) !important;
        bottom: auto !important;
    }
}

/* Final non-header QA cascade. Keep this last so public page content can breathe without header edits. */
main.main :where(.site-breadcrumb-wrapper, .site-breadcrumb-wrapper .container, .site-breadcrumb .container, .hero-banner .container) {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
}

main.main :where(.psfm-service-card, .service-card, .service-item, .seo-card, .city-service-card, .blog-item, .psfm-blog-card, .contact-info, .contact-card, .about-feature-card, .project-highlight-card, .location-card, .industry-card, .homepage-insight-card, .homepage-faq-card, .client-trust-faq-card) {
    overflow: visible !important;
}

main.main :where(.blog-item-img, .service-img, .psfm-service-card-media, .project-img, .about-img, .hero-visual-card, .hero-banner-slide, picture) {
    overflow: hidden !important;
}

html[dir="rtl"] main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) {
    min-height: 54px !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    line-height: 1.34 !important;
}

main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) :where(span, i) {
    flex: 0 0 auto !important;
}

main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) span {
    min-width: 0 !important;
}

@media (max-width: 575.98px) {
    main.main :where(.site-breadcrumb-wrapper, .hero-banner) {
        overflow: visible !important;
    }

    html[dir="rtl"] main.main :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill, button[type="submit"]) {
        min-height: 52px !important;
    }
}

/* True final public-content clipping guard. Do not target header/navigation. */
main.main .site-breadcrumb-wrapper,
main.main .site-breadcrumb-wrapper > .container,
main.main .site-breadcrumb-wrapper .container,
main.main .site-breadcrumb .container,
main.main .hero-banner,
main.main .hero-banner > .container,
main.main .hero-banner .container,
main.main .seo-section,
main.main .seo-card,
main.main .seo-panel,
main.main .contact-content,
main.main .contact-wrapper,
main.main .contact-area .row,
main.main .contact-area [class*="col-"],
main.main .psfm-service-card,
main.main .service-card,
main.main .service-item,
main.main .city-service-card,
main.main .blog-item,
main.main .psfm-blog-card,
main.main .contact-info,
main.main .contact-card,
main.main .about-feature-card,
main.main .project-highlight-card,
main.main .location-card,
main.main .industry-card {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

main.main a.theme-btn,
main.main a.theme-btn-white,
main.main a.theme-btn-outline,
main.main button.theme-btn,
main.main button[type="submit"],
main.main .psfm-cta-pill {
    min-height: 52px !important;
    overflow: visible !important;
    white-space: normal !important;
}

html[dir="rtl"] main.main a.theme-btn,
html[dir="rtl"] main.main a.theme-btn-white,
html[dir="rtl"] main.main a.theme-btn-outline,
html[dir="rtl"] main.main button.theme-btn,
html[dir="rtl"] main.main button[type="submit"],
html[dir="rtl"] main.main .psfm-cta-pill {
    min-height: 58px !important;
    line-height: 1.4 !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    text-align: center !important;
}

@media (max-width: 575.98px) {
    main.main a.theme-btn,
    main.main a.theme-btn-white,
    main.main a.theme-btn-outline,
    main.main button.theme-btn,
    main.main button[type="submit"],
    main.main .psfm-cta-pill {
        min-height: 50px !important;
        line-height: 1.28 !important;
    }
}

/* Final non-header text/card expansion for QA-found public content surfaces. */
main.main .site-breadcrumb,
main.main .seo-page,
main.main .contact-area,
main.main .service-cluster-panel,
main.main .mid-cta-card,
main.main .client-trust-panel,
main.main .psfm-corporate-readiness-card,
main.main .contact-form,
main.main .contact-coverage-card,
main.main .about-hero-card {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

main.main .service-item p,
main.main .service-card p,
main.main .psfm-service-card p,
main.main .city-service-card p,
main.main .blog-item p,
main.main .psfm-blog-card p,
main.main .seo-card p,
main.main .contact-card p,
main.main .contact-info p {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
}

main.main .homepage-shell p,
main.main .homepage-hero p,
main.main .homepage-proof-strip p,
main.main .homepage-operational-snapshot p,
main.main .client-trust-section p,
main.main .project-highlights-section p,
main.main .homepage-blog-section p,
main.main .homepage-faq-section p,
main.main .homepage-cta-section p {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
}

body main.main a.theme-btn.theme-btn,
body main.main a.theme-btn-white.theme-btn-white,
body main.main a.theme-btn-outline.theme-btn-outline,
body main.main button.theme-btn.theme-btn,
body main.main button[type="submit"],
body main.main .psfm-cta-pill.psfm-cta-pill,
body footer a.theme-btn.theme-btn,
body footer a.theme-btn-white.theme-btn-white,
body footer a.theme-btn-outline.theme-btn-outline,
body footer .psfm-cta-pill.psfm-cta-pill {
    min-height: 52px !important;
    overflow: hidden visible !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    white-space: normal !important;
    line-height: 1.32 !important;
}

html[dir="rtl"] body main.main a.theme-btn.theme-btn,
html[dir="rtl"] body main.main a.theme-btn-white.theme-btn-white,
html[dir="rtl"] body main.main a.theme-btn-outline.theme-btn-outline,
html[dir="rtl"] body main.main button.theme-btn.theme-btn,
html[dir="rtl"] body main.main button[type="submit"],
html[dir="rtl"] body main.main .psfm-cta-pill.psfm-cta-pill,
html[dir="rtl"] body footer a.theme-btn.theme-btn,
html[dir="rtl"] body footer a.theme-btn-white.theme-btn-white,
html[dir="rtl"] body footer a.theme-btn-outline.theme-btn-outline,
html[dir="rtl"] body footer .psfm-cta-pill.psfm-cta-pill {
    min-height: 58px !important;
    line-height: 1.42 !important;
}

body main.main .homepage-hero .hero-actions a.theme-btn.theme-btn,
body main.main .homepage-hero .hero-actions a.theme-btn-white.theme-btn-white,
body main.main .homepage-hero .hero-actions a.theme-btn-outline.theme-btn-outline {
    overflow: hidden visible !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

@media (max-width: 575.98px) {
    body main.main a.theme-btn.theme-btn,
    body main.main a.theme-btn-white.theme-btn-white,
    body main.main a.theme-btn-outline.theme-btn-outline,
    body main.main button.theme-btn.theme-btn,
    body main.main button[type="submit"],
    body main.main .psfm-cta-pill.psfm-cta-pill,
    body footer a.theme-btn.theme-btn,
    body footer a.theme-btn-white.theme-btn-white,
    body footer a.theme-btn-outline.theme-btn-outline,
    body footer .psfm-cta-pill.psfm-cta-pill {
        min-height: 50px !important;
        overflow: hidden visible !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        line-height: 1.3 !important;
    }
}

@media (max-width: 991.98px) {
    .psfm-ai-assistant.is-home-page,
    .psfm-ai-assistant.is-mobile-compact-page,
    .psfm-ai-assistant.is-conversion-critical-page {
        bottom: calc(var(--psfm-mobile-bottom-safe-offset, 74px) + 18px) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .psfm-ai-assistant .psfm-ai-launcher {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 991.98px) {
    body .psfm-ai-assistant.is-home-page.is-mobile-compact-page,
    body .psfm-ai-assistant.is-home-page.is-conversion-critical-page,
    body .psfm-ai-assistant.is-mobile-compact-page.is-conversion-critical-page {
        bottom: calc(var(--psfm-mobile-bottom-safe-offset, 74px) + 30px) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

/* Final public contrast polish. Scoped away from header/navigation and SEO/copy. */
body main.main {
    color: #4b5b70 !important;
}

body main.main :where(h1, h2, h3, h4, h5, h6, .site-title, .section-title, .content-title, .service-title, .blog-title, .contact-title, .seo-section-title) {
    color: #102033 !important;
}

body main.main :where(p, li, small, .text-muted, .section-description, .section-subtitle, .form-text, .breadcrumb-summary) {
    color: #4b5b70 !important;
}

body main.main :where(.text-muted, .section-subtitle, .form-text, small) {
    color: #64748b !important;
}

body main.main :where(.site-breadcrumb, .site-breadcrumb-wrapper, .hero-banner, .homepage-hero, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) {
    color: #ffffff !important;
}

body main.main :where(.site-breadcrumb, .site-breadcrumb-wrapper, .hero-banner, .homepage-hero, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(h1, h2, h3, h4, h5, h6, .site-title, .breadcrumb-title, .hero-main-title, .section-title, .content-title, label) {
    color: #ffffff !important;
}

body main.main :where(.site-breadcrumb, .site-breadcrumb-wrapper, .hero-banner, .homepage-hero, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(p, li, small, span, .text-muted, .breadcrumb-summary, .hero-market-note, .form-text) {
    color: rgba(255, 255, 255, 0.9) !important;
}

body main.main :where(.site-breadcrumb, .site-breadcrumb-wrapper, .hero-banner) :where(a, li, .breadcrumb-menu li, .breadcrumb-menu a) {
    color: rgba(255, 255, 255, 0.92) !important;
}

body main.main :where(.site-breadcrumb, .site-breadcrumb-wrapper, .hero-banner) :where(.breadcrumb-menu .active, .active) {
    color: #ffffff !important;
}

body main.main .homepage-hero .hero-kicker,
body main.main .homepage-hero .hero-market-note,
body main.main .homepage-hero .hero-visual-chip,
body main.main .homepage-hero .hero-visual-overlay {
    color: #ffffff !important;
}

body main.main .homepage-hero .hero-kicker :where(span, strong, i),
body main.main .homepage-hero .hero-market-note :where(span, strong, i),
body main.main .homepage-hero .hero-visual-chip :where(span, strong, i),
body main.main .homepage-hero .hero-visual-overlay :where(span, strong, i) {
    color: inherit !important;
}

body main.main :where(.service-cluster-panel, .homepage-seo-authority, .seo-authority-card, .proof-signal-card, .proof-metric-card, .psfm-service-card, .service-card, .service-item, .seo-card, .city-service-card, .blog-item, .psfm-blog-card, .contact-info, .contact-card, .contact-form, .contact-coverage-card, .about-hero-card, .psfm-corporate-readiness-card, .client-trust-panel, .homepage-card, .industry-card, .location-card) {
    color: #4b5b70 !important;
}

body main.main :where(.service-cluster-panel, .homepage-seo-authority, .seo-authority-card, .proof-signal-card, .proof-metric-card, .psfm-service-card, .service-card, .service-item, .seo-card, .city-service-card, .blog-item, .psfm-blog-card, .contact-info, .contact-card, .contact-form, .contact-coverage-card, .about-hero-card, .psfm-corporate-readiness-card, .client-trust-panel, .homepage-card, .industry-card, .location-card) :where(h1, h2, h3, h4, h5, h6, .site-title, .section-title, .card-title, .service-title, .blog-title, .seo-section-title, strong, b) {
    color: #102033 !important;
}

body main.main :where(.service-cluster-panel, .homepage-seo-authority, .seo-authority-card, .proof-signal-card, .proof-metric-card, .psfm-service-card, .service-card, .service-item, .seo-card, .city-service-card, .blog-item, .psfm-blog-card, .contact-info, .contact-card, .contact-form, .contact-coverage-card, .about-hero-card, .psfm-corporate-readiness-card, .client-trust-panel, .homepage-card, .industry-card, .location-card) :where(p, li, small, span:not(.badge):not(.tag):not(.theme-btn span), .text-muted, .form-text) {
    color: #4b5b70 !important;
}

body main.main :where(.service-cluster-panel, .homepage-seo-authority, .seo-authority-card, .proof-signal-card, .proof-metric-card, .psfm-service-card, .service-card, .service-item, .seo-card, .city-service-card, .blog-item, .psfm-blog-card, .contact-info, .contact-card, .contact-form, .contact-coverage-card, .about-hero-card, .psfm-corporate-readiness-card, .client-trust-panel, .homepage-card, .industry-card, .location-card) :where(.text-muted, small, .form-text) {
    color: #64748b !important;
}

body main.main :where(.theme-btn, .psfm-cta-pill, button[type="submit"], .btn-primary, .btn-danger) {
    color: #ffffff !important;
}

body main.main :where(.theme-btn, .psfm-cta-pill, button[type="submit"], .btn-primary, .btn-danger) :where(span, i, strong) {
    color: inherit !important;
}

body main.main :where(.theme-btn-white, .theme-btn-outline, .btn-light, .btn-white) {
    color: #102033 !important;
}

body main.main :where(.theme-btn-white, .theme-btn-outline, .btn-light, .btn-white) :where(span, i, strong) {
    color: inherit !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form, form) :where(label, .form-label, legend) {
    color: #102033 !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form, form) :where(input, textarea, select, .form-control, .form-select) {
    color: #102033 !important;
    background-color: #ffffff !important;
    border-color: #cbd5e1 !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form, form) :where(input, textarea, select, .form-control, .form-select)::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form, form) :where(.form-text, .help-text, small) {
    color: #64748b !important;
}

body footer,
body .footer-area {
    color: rgba(255, 255, 255, 0.9) !important;
}

body footer :where(h1, h2, h3, h4, h5, h6, .footer-widget-title, strong, b),
body .footer-area :where(h1, h2, h3, h4, h5, h6, .footer-widget-title, strong, b) {
    color: #ffffff !important;
}

body footer :where(p, li, span, small),
body .footer-area :where(p, li, span, small) {
    color: rgba(255, 255, 255, 0.86) !important;
}

body footer :where(a, a span, a i),
body .footer-area :where(a, a span, a i) {
    color: rgba(255, 255, 255, 0.92) !important;
}

body footer :where(a:hover, a:hover span, a:hover i),
body .footer-area :where(a:hover, a:hover span, a:hover i) {
    color: #ffffff !important;
}

body footer :where(.footer-location-chip, .footer-service-chip, .footer-trust-badge, .footer-social a),
body .footer-area :where(.footer-location-chip, .footer-service-chip, .footer-trust-badge, .footer-social a) {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
}

body footer :where(a[href^="tel:"], a[href^="mailto:"], a[href*="premium-sa.com"], a[href*="psfm-sa.com"], bdi),
body .footer-area :where(a[href^="tel:"], a[href^="mailto:"], a[href*="premium-sa.com"], a[href*="psfm-sa.com"], bdi) {
    color: #ffffff !important;
}

body .psfm-ai-assistant {
    color: #102033 !important;
}

body .psfm-ai-assistant :where(.psfm-ai-panel, .psfm-ai-messages, .psfm-ai-quick-actions-wrap, .psfm-ai-input-row, .psfm-ai-lead-form, .psfm-ai-footer) {
    color: #102033 !important;
    background-color: #ffffff !important;
}

body .psfm-ai-assistant :where(.psfm-ai-header, .psfm-ai-launcher, .psfm-ai-input-row button, .psfm-ai-lead-submit) {
    color: #ffffff !important;
}

body .psfm-ai-assistant :where(.psfm-ai-header strong, .psfm-ai-header span, .psfm-ai-header i, .psfm-ai-launcher span, .psfm-ai-launcher i, .psfm-ai-input-row button i, .psfm-ai-lead-submit span) {
    color: inherit !important;
}

body .psfm-ai-assistant :where(.psfm-ai-message, .psfm-ai-lead-summary, .psfm-ai-trust-row span, .psfm-ai-quick-actions button, .psfm-ai-followups button) {
    color: #102033 !important;
}

body .psfm-ai-assistant :where(.psfm-ai-message.is-user, .psfm-ai-quick-actions button:hover, .psfm-ai-followups button:hover) {
    color: #ffffff !important;
}

body .psfm-ai-assistant :where(.psfm-ai-message.is-status, .psfm-ai-lead-summary em) {
    color: #64748b !important;
}

body .psfm-ai-assistant :where(input, textarea, select) {
    color: #102033 !important;
    background-color: #ffffff !important;
}

body .psfm-ai-assistant :where(input, textarea, select)::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

html[dir="rtl"] body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form, form, .psfm-service-card, .service-card, .seo-card, .contact-card),
html[dir="rtl"] body footer,
html[dir="rtl"] body .footer-area,
html[dir="rtl"] body .psfm-ai-assistant {
    text-align: right !important;
}

/* Browser QA contrast corrections. CSS-only, scoped away from header/navigation. */
body main.main .site-title-tagline {
    color: #b91c1c !important;
}

body main.main :where(.theme-btn-white, .theme-btn-outline, .btn-light, .btn-white) {
    background: #ffffff !important;
    border-color: rgba(16, 32, 51, 0.18) !important;
    color: #102033 !important;
}

body main.main :where(.theme-btn-white, .theme-btn-outline, .btn-light, .btn-white) :where(span, i, svg, strong) {
    color: inherit !important;
}

body main.main :where(.homepage-hero, .site-breadcrumb, .site-breadcrumb-wrapper, .hero-banner, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(.theme-btn-white, .theme-btn-outline, .btn-light, .btn-white) {
    background: #ffffff !important;
    color: #102033 !important;
}

body main.main .homepage-hero .hero-visual-stats span {
    background: #ffffff !important;
    border-color: rgba(229, 234, 240, 0.9) !important;
    color: #102033 !important;
}

body main.main .homepage-hero .hero-visual-stats span :where(i, svg) {
    color: #087d50 !important;
}

body main.main :where(.contact-info, .contact-card, .contact-info-content, .psfm-phone-support-stack, .local-contact-card, .contact-coverage-card) :where(a, span, p, li, small, bdi, strong) {
    color: #102033 !important;
}

body main.main :where(.contact-info, .contact-card, .contact-info-content, .psfm-phone-support-stack, .local-contact-card, .contact-coverage-card) :where(.text-muted, small, .form-text) {
    color: #64748b !important;
}

body main.main :where(.cta-area, .client-trust-cta, .mid-cta-card, .theme-bg-dark, .bg-dark, .is-dark) :where(.contact-info, .contact-card, .contact-info-content, .psfm-phone-support-stack, .local-contact-card, .contact-coverage-card) :where(a, span, p, li, small, bdi, strong) {
    color: #ffffff !important;
}

/* Plain-main compatibility for the current public templates. Header/nav remain excluded. */
body main :where(.site-title-tagline, .seo-kicker) {
    background: rgba(226, 31, 38, 0.1) !important;
    color: #991b1b !important;
}

body main :where(.homepage-hero, .site-breadcrumb-wrapper, .site-breadcrumb, .hero-banner, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(h1, h2, h3, h4, h5, h6, .hero-main-title, .site-breadcrumb-title, .breadcrumb-title, p, li, a, span:not(.seo-kicker)) {
    color: #ffffff !important;
}

body main :where(.homepage-hero, .site-breadcrumb-wrapper, .site-breadcrumb, .hero-banner, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(p, li, span:not(.seo-kicker)) {
    color: rgba(255, 255, 255, 0.9) !important;
}

body main :where(.homepage-hero, .site-breadcrumb-wrapper, .site-breadcrumb, .hero-banner, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .btn, .btn-light, .btn-white) {
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
    color: #102033 !important;
}

body main :where(.homepage-hero, .site-breadcrumb-wrapper, .site-breadcrumb, .hero-banner, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .btn, .btn-light, .btn-white) :where(span, i, svg, strong) {
    color: inherit !important;
}

body main .homepage-hero .hero-kicker {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
}

body main .homepage-hero .hero-visual-stats span {
    background: #ffffff !important;
    border-color: rgba(229, 234, 240, 0.9) !important;
    color: #102033 !important;
}

body main .homepage-hero .hero-visual-stats span :where(i, svg) {
    color: #087d50 !important;
}

body main :where(.contact-info, .contact-card, .contact-info-content, .psfm-phone-support-stack, .local-contact-card, .contact-coverage-card) :where(a, span, p, li, small, bdi, strong) {
    color: #102033 !important;
}

body main :where(.contact-info, .contact-card, .contact-info-content, .psfm-phone-support-stack, .local-contact-card, .contact-coverage-card) :where(.text-muted, small, .form-text) {
    color: #64748b !important;
}

body main :where(.cta-area, .client-trust-cta, .mid-cta-card, .theme-bg-dark, .bg-dark, .is-dark) :where(.contact-info, .contact-card, .contact-info-content, .psfm-phone-support-stack, .local-contact-card, .contact-coverage-card) :where(a, span, p, li, small, bdi, strong) {
    color: #ffffff !important;
}

body main :where(.seo-panel, .seo-card, .seo-content-card) {
    background: #ffffff !important;
    color: #102033 !important;
}

body main :where(.seo-panel, .seo-card, .seo-content-card) :where(h1, h2, h3, h4, h5, h6, strong, b) {
    color: #102033 !important;
}

body main :where(.seo-panel, .seo-card, .seo-content-card) :where(p, li, span, a, small, bdi, label) {
    color: #4b5b70 !important;
}

body main :where(.seo-panel, .seo-card, .seo-content-card) :where(.contact-line, .psfm-phone-support-stack, a[href^="tel:"], a[href^="mailto:"], a[href*="premium-sa.com"], a[href*="psfm-sa.com"]) {
    color: #102033 !important;
}

body main :where(.site-title-tagline, .seo-kicker) {
    background: #fff1f2 !important;
    color: #7f1d1d !important;
}

body main :where(.seo-panel, .seo-card, .seo-content-card) :where(.site-title-tagline, .seo-kicker) {
    background: #fff1f2 !important;
    color: #7f1d1d !important;
}

/* Final text color follow-up. Public content only; header/nav/SEO metadata untouched. */
body :is(main, .main) .homepage-hero .hero-actions .theme-btn:not(.theme-btn-white) {
    background: #e21f26 !important;
    border-color: #e21f26 !important;
    color: #ffffff !important;
}

body :is(main, .main) .homepage-hero .hero-actions .theme-btn:not(.theme-btn-white) :where(span, i, svg, strong) {
    color: inherit !important;
}

body :is(main, .main) .homepage-hero .hero-actions .theme-btn-white {
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.94) !important;
    color: #07172c !important;
}

body :is(main, .main) .homepage-hero .hero-actions .theme-btn-white :where(span, i, svg, strong) {
    color: inherit !important;
}

body :is(main, .main) .homepage-hero .hero-actions .theme-btn-white:hover,
body :is(main, .main) .homepage-hero .hero-actions .theme-btn-white:focus {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #07172c !important;
}

body :is(main, .main) :where(.homepage-hero, .site-breadcrumb-wrapper, .site-breadcrumb, .hero-banner, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(h1, h2, h3, h4, h5, h6, .hero-main-title, .site-breadcrumb-title, .breadcrumb-title, p, li, a, span):not(.site-title-tagline):not(.seo-kicker):not(.theme-btn-white) {
    color: #ffffff !important;
}

body :is(main, .main) :where(.homepage-hero, .site-breadcrumb-wrapper, .site-breadcrumb, .hero-banner, .cta-area, .client-trust-cta, .mid-cta-card, .cta-banner, .theme-bg-dark, .bg-dark, .is-dark) :where(p, li, span):not(.site-title-tagline):not(.seo-kicker):not(.theme-btn-white) {
    color: rgba(255, 255, 255, 0.9) !important;
}

body :is(main, .main) :where(.site-title-tagline, .seo-kicker),
body :is(main, .main) :where(.seo-panel, .seo-card, .seo-content-card) :where(.site-title-tagline, .seo-kicker) {
    background: #fff1f2 !important;
    border-color: rgba(127, 29, 29, 0.16) !important;
    color: #7f1d1d !important;
}

body :is(main, .main) :where(.seo-panel, .seo-card, .seo-content-card, .contact-card, .contact-info, .contact-info-content, .local-contact-card, .contact-coverage-card, .form-card, .quote-form, .contact-form, .request-quote-form, .service-detail-form) {
    background-color: #ffffff !important;
    color: #102033 !important;
}

body :is(main, .main) :where(.seo-panel, .seo-card, .seo-content-card, .contact-card, .contact-info, .contact-info-content, .local-contact-card, .contact-coverage-card, .form-card, .quote-form, .contact-form, .request-quote-form, .service-detail-form) :where(h1, h2, h3, h4, h5, h6, strong, b, label, a[href^="tel:"], a[href^="mailto:"], a[href*="premium-sa.com"], a[href*="psfm-sa.com"], .psfm-phone-support-stack, .contact-line) {
    color: #102033 !important;
}

body :is(main, .main) :where(.seo-panel, .seo-card, .seo-content-card, .contact-card, .contact-info, .contact-info-content, .local-contact-card, .contact-coverage-card, .form-card, .quote-form, .contact-form, .request-quote-form, .service-detail-form) :where(p, li, span, small, bdi, input, textarea, select) {
    color: #4b5b70 !important;
}

body :is(main, .main) :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form) :where(input, textarea, select) {
    background-color: #ffffff !important;
    border-color: #d9e2ef !important;
    color: #102033 !important;
}

body :is(main, .main) :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form) :where(input, textarea, select)::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

body .psfm-ai-assistant :where(.psfm-ai-panel, .psfm-ai-messages, .psfm-ai-message, .psfm-ai-lead-summary, .psfm-ai-quick-actions-wrap, .psfm-ai-input-row, .psfm-ai-footer, textarea, input, select) {
    background-color: #ffffff !important;
    color: #102033 !important;
}

body .psfm-ai-assistant :where(.psfm-ai-quick-actions button, .psfm-ai-followups button) {
    background-color: #ffffff !important;
    border-color: #d9e2ef !important;
    color: #102033 !important;
}

/* Extra visual clarity pass for rendered public text. CSS-only; header/navigation untouched. */
body :is(main, .main) .homepage-hero :where(.hero-main-title, .hero-main-title span, .hero-copy h1) {
    color: #ffffff !important;
    text-shadow: 0 18px 44px rgba(0, 0, 0, 0.62), 0 2px 8px rgba(0, 0, 0, 0.42) !important;
}

body :is(main, .main) .homepage-hero .hero-copy > p {
    color: rgba(255, 255, 255, 0.94) !important;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.54) !important;
}

body :is(main, .main) .homepage-hero .hero-kicker {
    background: rgba(7, 23, 44, 0.72) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
}

body :is(main, .main) .homepage-hero :where(.hero-market-note, .hero-panel-list li, .hero-quick-links a, .hero-quick-links span) {
    background: rgba(7, 23, 44, 0.68) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
}

body :is(main, .main) .homepage-hero :where(.hero-market-note span, .hero-panel-list li, .hero-quick-links a, .hero-quick-links span) {
    color: rgba(255, 255, 255, 0.94) !important;
}

body :is(main, .main) :where(.site-title-tagline, .seo-kicker) {
    background: #fff1f2 !important;
    color: #7f1d1d !important;
}

body :is(main, .main) :where(.site-heading, .about-area, .service-area, .blog-area, .contact-area, .seo-section, .homepage-shell, .homepage-proof-strip) :where(h1, h2, h3, h4, h5, h6, .site-title, .service-title, .blog-title) {
    color: #102033 !important;
}

body :is(main, .main) :where(.site-heading, .about-area, .service-area, .blog-area, .contact-area, .seo-section, .homepage-shell, .homepage-proof-strip) :where(p, li, span, small):not(.site-title-tagline):not(.seo-kicker):not(.hero-kicker) {
    color: #4b5b70 !important;
}

body :is(main, .main) :where(.site-heading, .about-area, .service-area, .blog-area, .contact-area, .seo-section, .homepage-shell, .homepage-proof-strip) :where(a):not(.theme-btn):not(.theme-btn-white):not(.theme-btn-outline) {
    color: #102033 !important;
}

/* Homepage dark-panel annotations: preserve global text normalization while restoring readable dark cards. */
body :is(main, .main) .partner-band .client-visibility-review-bridge,
body :is(main, .main) .partner-band .client-visibility-review-bridge :where(h4, p) {
    color: #ffffff !important;
}

body :is(main, .main) .service-cluster-panel,
body :is(main, .main) .service-cluster-panel .service-cluster-head :where(h3, p),
body :is(main, .main) .service-cluster-panel .service-cluster-sector,
body :is(main, .main) .service-cluster-panel .service-cluster-card p,
body :is(main, .main) .service-cluster-panel .service-cluster-meta span {
    color: #ffffff !important;
}

body :is(main, .main) .service-cluster-panel .service-cluster-card:nth-child(2) h4 {
    color: #fff705 !important;
}

body :is(main, .main) .service-cluster-panel .service-cluster-card:nth-child(3) h4 {
    color: #ffea00 !important;
}

body :is(main, .main) .service-cluster-panel .service-cluster-card:nth-child(4) h4 {
    color: #ffdd00 !important;
}

body main.main .homepage-shell .partner-band .client-visibility-review-bridge :where(h4, p),
body main.main .homepage-shell .service-cluster-panel .service-cluster-head :where(h3, p),
body main.main .homepage-shell .service-cluster-panel .service-cluster-grid .service-cluster-card .service-cluster-sector,
body main.main .homepage-shell .service-cluster-panel .service-cluster-grid .service-cluster-card p,
body main.main .homepage-shell .service-cluster-panel .service-cluster-grid .service-cluster-card .service-cluster-meta span {
    color: #ffffff !important;
}

body main.main .partner-band .client-visibility-review-bridge p:not(.site-title-tagline):not(.seo-kicker):not(.hero-kicker) {
    color: #0b1c34 !important;
}

@media (max-width: 575.98px) {
    body :is(main, .main) .homepage-operational-snapshot :where(.operational-snapshot-link span, .operational-snapshot-links a span, .psfm-phone-support-stack a span) {
        font-size: 14px !important;
        line-height: 1.32 !important;
    }
}

@media (max-width: 767.98px) {
    body :is(main, .main) .manpower-chip {
        font-size: 14px !important;
    }
}

body :is(main, .main) :where(.site-heading, .about-area, .service-area, .blog-area, .contact-area, .seo-section, .homepage-shell, .homepage-proof-strip) :where(a):not(.theme-btn):not(.theme-btn-white):not(.theme-btn-outline):hover {
    color: #b91c1c !important;
}

body :is(main, .main) .psfm-blog-empty-actions a {
    background: #e21f26 !important;
    border-color: #e21f26 !important;
    color: #ffffff !important;
}

body :is(main, .main) .psfm-blog-empty-actions a:hover,
body :is(main, .main) .psfm-blog-empty-actions a:focus {
    background: #07172c !important;
    border-color: #07172c !important;
    color: #ffffff !important;
}

html body main.main .blog-area.psfm-blog-area .psfm-blog-empty-state .psfm-blog-empty-actions a,
html body .main .blog-area.psfm-blog-area section.psfm-blog-empty-state .psfm-blog-empty-actions a {
    background: #e21f26 !important;
    border-color: #e21f26 !important;
    color: #ffffff !important;
}

html body main.main .blog-area.psfm-blog-area .psfm-blog-empty-state .psfm-blog-empty-actions a:hover,
html body main.main .blog-area.psfm-blog-area .psfm-blog-empty-state .psfm-blog-empty-actions a:focus,
html body .main .blog-area.psfm-blog-area section.psfm-blog-empty-state .psfm-blog-empty-actions a:hover,
html body .main .blog-area.psfm-blog-area section.psfm-blog-empty-state .psfm-blog-empty-actions a:focus {
    background: #07172c !important;
    border-color: #07172c !important;
    color: #ffffff !important;
}

/* Final assistant viewport and stacking guard; this stylesheet loads after critical assistant CSS. */
.psfm-ai-assistant.is-open .psfm-ai-panel,
.psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
.psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
    max-height: min(520px, calc(100vh - 170px)) !important;
}

@media (max-width: 991.98px) {
    body .psfm-ai-assistant,
    body .psfm-ai-assistant.is-home-page,
    body .psfm-ai-assistant.is-mobile-compact-page,
    body .psfm-ai-assistant.is-conversion-critical-page {
        z-index: 2147483002 !important;
    }

    body .psfm-ai-assistant:not(.is-open),
    body .psfm-ai-assistant.is-home-page:not(.is-open),
    body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) {
        top: calc(100vh - 138px) !important;
        bottom: auto !important;
    }

    html[dir="rtl"] body .psfm-ai-assistant,
    body .psfm-ai-assistant[dir="rtl"] {
        right: auto !important;
        left: 10px !important;
    }
}

@media (max-width: 575.98px) {
    .psfm-ai-assistant.is-open .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
    .psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
        max-height: min(480px, calc(100vh - 154px)) !important;
    }
}

/* RTL UI polish: keep Arabic CTA labels and blog quick-path cards inside the viewport. */
html[dir="rtl"] body :is(main, .main) :where(.hero-actions, .seo-cta-group, .site-heading .d-flex, .mt-4.d-flex) :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill) {
    min-width: min(100%, 220px) !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.25 !important;
}

html[dir="rtl"] body :is(main, .main) :where(.hero-actions, .seo-cta-group, .site-heading .d-flex, .mt-4.d-flex) :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill) :where(span, strong) {
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

html[dir="rtl"] body :is(main, .main) .psfm-blog-quick-paths {
    direction: rtl !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

html[dir="rtl"] body :is(main, .main) .psfm-blog-quick-paths > [class*="col-"] {
    min-width: 0 !important;
}

html[dir="rtl"] body :is(main, .main) .psfm-blog-quick-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    text-align: right !important;
}

html[dir="rtl"] body :is(main, .main) .psfm-blog-quick-card > div {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
}

html[dir="rtl"] body :is(main, .main) .psfm-blog-quick-card :where(h2, h3, p) {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

html[dir="rtl"] body main.main .homepage-hero .hero-actions a.theme-btn.theme-btn,
html[dir="rtl"] body main.main .homepage-hero .hero-actions a.theme-btn-white.theme-btn-white,
html[dir="rtl"] body main.main .site-heading .d-flex a.theme-btn.theme-btn-white,
html[dir="rtl"] body main.main .seo-cta-group a.theme-btn.theme-btn-white {
    width: auto !important;
    min-width: min(100%, 270px) !important;
    max-width: 100% !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    text-overflow: clip !important;
}

html[dir="rtl"] body main.main :where(.hero-actions, .seo-cta-group, .site-heading .d-flex, .mt-4.d-flex) a.psfm-cta-pill.psfm-cta-pill {
    width: auto !important;
    min-width: min(100%, 360px) !important;
    max-width: 100% !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    text-overflow: clip !important;
}

html[dir="rtl"] body main.main .psfm-service-route-grid {
    width: 100% !important;
    max-width: 100% !important;
}

html[dir="rtl"] body main.main .psfm-service-route-card.psfm-service-route-card {
    min-width: 0 !important;
    max-width: 100% !important;
}

html[dir="rtl"] body main.main .psfm-service-route-card.psfm-service-route-card :where(span, h3, p, em) {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

html[dir="rtl"] body main.main .psfm-service-route-card.psfm-service-route-card span {
    width: auto !important;
}

@media (max-width: 575.98px) {
    html[dir="rtl"] body :is(main, .main) :where(.hero-actions, .seo-cta-group, .site-heading .d-flex, .mt-4.d-flex) {
        align-items: stretch !important;
    }

    html[dir="rtl"] body :is(main, .main) :where(.hero-actions, .seo-cta-group, .site-heading .d-flex, .mt-4.d-flex) :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .psfm-cta-pill) {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
        padding-inline: 16px !important;
    }

    html[dir="rtl"] body main.main .homepage-hero .hero-actions a.theme-btn.theme-btn,
    html[dir="rtl"] body main.main .homepage-hero .hero-actions a.theme-btn-white.theme-btn-white,
    html[dir="rtl"] body main.main .site-heading .d-flex a.theme-btn.theme-btn-white,
    html[dir="rtl"] body main.main .seo-cta-group a.theme-btn.theme-btn-white,
    html[dir="rtl"] body main.main :where(.hero-actions, .seo-cta-group, .site-heading .d-flex, .mt-4.d-flex) a.psfm-cta-pill.psfm-cta-pill {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    html[dir="rtl"] body :is(main, .main) .psfm-blog-quick-card {
        gap: 12px !important;
        padding: 16px !important;
    }
}

/* Live visual safeguard: restore readable text in dark public panels after the late normalization cascade. */
body :is(main, .main) :where(
    .homepage-hero,
    .site-breadcrumb-wrapper,
    .site-breadcrumb,
    .hero-banner,
    .cta-area,
    .client-trust-cta,
    .mid-cta-card,
    .cta-banner,
    .theme-bg-dark,
    .bg-dark,
    .is-dark,
    .choose-area
) :where(h1, h2, h3, h4, h5, h6, .hero-main-title, .site-title, .section-title, .breadcrumb-title, strong, b) {
    color: #ffffff !important;
}

body :is(main, .main) :where(
    .homepage-hero,
    .site-breadcrumb-wrapper,
    .site-breadcrumb,
    .hero-banner,
    .cta-area,
    .client-trust-cta,
    .mid-cta-card,
    .cta-banner,
    .theme-bg-dark,
    .bg-dark,
    .is-dark,
    .choose-area
) :where(p, li, small, em, span, a):not(.theme-btn):not(.theme-btn-white):not(.theme-btn-outline):not(.btn):not(.site-title-tagline):not(.seo-kicker) {
    color: rgba(255, 255, 255, 0.92) !important;
}

body :is(main, .main) :where(
    .homepage-hero,
    .site-breadcrumb-wrapper,
    .site-breadcrumb,
    .hero-banner,
    .cta-area,
    .client-trust-cta,
    .mid-cta-card,
    .cta-banner,
    .theme-bg-dark,
    .bg-dark,
    .is-dark,
    .choose-area
) :where(.theme-btn, .btn-primary):not(.theme-btn-white):not(.theme-btn-outline) {
    background: #e21f26 !important;
    border-color: #e21f26 !important;
    color: #ffffff !important;
}

body :is(main, .main) :where(
    .homepage-hero,
    .site-breadcrumb-wrapper,
    .site-breadcrumb,
    .hero-banner,
    .cta-area,
    .client-trust-cta,
    .mid-cta-card,
    .cta-banner,
    .theme-bg-dark,
    .bg-dark,
    .is-dark,
    .choose-area
) :where(.theme-btn-white, .theme-btn-outline, .btn-light, .btn-white) {
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.92) !important;
    color: #07172c !important;
}

body :is(main, .main) :where(
    .homepage-hero,
    .site-breadcrumb-wrapper,
    .site-breadcrumb,
    .hero-banner,
    .cta-area,
    .client-trust-cta,
    .mid-cta-card,
    .cta-banner,
    .theme-bg-dark,
    .bg-dark,
    .is-dark,
    .choose-area
) :where(.theme-btn, .theme-btn-white, .theme-btn-outline, .btn, .btn-light, .btn-white) :where(span, strong, i, svg) {
    color: inherit !important;
}

body :is(main, .main) :where(
    .homepage-hero,
    .site-breadcrumb-wrapper,
    .site-breadcrumb,
    .hero-banner,
    .cta-area,
    .client-trust-cta,
    .mid-cta-card,
    .cta-banner,
    .theme-bg-dark,
    .bg-dark,
    .is-dark,
    .choose-area
) :where(.theme-btn-white, .theme-btn-outline, .btn-light, .btn-white) :where(i, svg) {
    color: #e21f26 !important;
}

body :is(main, .main) .homepage-hero :where(.hero-market-note, .hero-panel-list li, .hero-quick-links a, .hero-quick-links span),
body :is(main, .main) :where(.site-breadcrumb-wrapper, .hero-banner) :where(.psfm-breadcrumb-chips span, .about-breadcrumb-chips span) {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.26) !important;
    color: #ffffff !important;
}

body :is(main, .main) .homepage-hero :where(.hero-market-note, .hero-panel-list li, .hero-quick-links a, .hero-quick-links span) :where(span, strong, i, svg),
body :is(main, .main) :where(.site-breadcrumb-wrapper, .hero-banner) :where(.psfm-breadcrumb-chips span, .about-breadcrumb-chips span) :where(span, strong, i, svg) {
    color: inherit !important;
}

body .footer-area .footer-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 180px !important;
    min-height: 92px !important;
}

body .footer-area .footer-logo img {
    display: block !important;
    width: min(220px, 100%) !important;
    max-height: 116px !important;
    object-fit: contain !important;
}

/* Final safety pass: keep fixed contact shortcuts available without covering page copy or CTAs. */
@media (min-width: 992px) {
    body .footer-floating-contact,
    html[dir="ltr"] body .footer-floating-contact {
        position: fixed !important;
        left: 18px !important;
        right: auto !important;
        width: 46px !important;
        z-index: 1024 !important;
    }

    html[dir="rtl"] body .footer-floating-contact {
        right: auto !important;
        left: 18px !important;
    }

    body .footer-floating-contact.is-email {
        bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body .footer-floating-contact.is-whatsapp {
        bottom: calc(54px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body .footer-floating-contact .btn {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 !important;
        overflow: visible !important;
        border-radius: 999px !important;
        box-shadow: 0 12px 28px rgba(215, 25, 32, 0.22) !important;
    }

    body .footer-floating-contact .btn i {
        flex: 0 0 auto !important;
        margin: 0 !important;
        font-size: 1rem !important;
        line-height: 1 !important;
    }

    body .footer-floating-contact .footer-floating-contact-text {
        position: absolute !important;
        top: 50% !important;
        left: 54px !important;
        right: auto !important;
        width: max-content !important;
        max-width: 160px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        background: #102033 !important;
        color: #ffffff !important;
        box-shadow: 0 12px 28px rgba(16, 32, 51, 0.18) !important;
        font-size: 0.82rem !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(-50%) translateX(-6px) !important;
        transition: opacity 0.16s ease, transform 0.16s ease !important;
        white-space: nowrap !important;
    }

    html[dir="rtl"] body .footer-floating-contact .footer-floating-contact-text {
        right: auto !important;
        left: 54px !important;
        transform: translateY(-50%) translateX(-6px) !important;
    }

    body .footer-floating-contact .btn:hover .footer-floating-contact-text,
    body .footer-floating-contact .btn:focus-visible .footer-floating-contact-text {
        opacity: 1 !important;
        transform: translateY(-50%) translateX(0) !important;
    }
}

@media (max-width: 991.98px) {
    body .footer-floating-contact,
    html[dir="rtl"] body .footer-floating-contact {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    body .psfm-ai-assistant:not(.is-open),
    body .psfm-ai-assistant.is-home-page:not(.is-open),
    body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) {
        right: 10px !important;
        left: auto !important;
        bottom: calc(var(--psfm-mobile-bottom-safe-offset, 58px) + 8px) !important;
        width: 40px !important;
        max-width: 40px !important;
    }

    html[dir="rtl"] body .psfm-ai-assistant:not(.is-open),
    body .psfm-ai-assistant[dir="rtl"]:not(.is-open) {
        right: auto !important;
        left: 10px !important;
    }

    body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
}

@media (max-width: 1199.98px) {
    body .psfm-ai-assistant:not(.is-open),
    body .psfm-ai-assistant.is-home-page:not(.is-open),
    body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) {
        position: fixed !important;
        top: calc(var(--psfm-fixed-header-height, 72px) + 10px) !important;
        right: 10px !important;
        bottom: auto !important;
        left: auto !important;
        width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        max-height: 40px !important;
        transform: none !important;
    }

    html[dir="rtl"] body .psfm-ai-assistant:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-home-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open),
    body .psfm-ai-assistant[dir="rtl"]:not(.is-open) {
        right: auto !important;
        left: 10px !important;
    }

    body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
}

/* Final mobile geometry polish: fixed controls must not sit on footer/contact copy. */
@media (max-width: 767.98px) {
    body {
        --psfm-fixed-control-size: 32px;
        --psfm-fixed-control-gap: 10px;
        --psfm-fixed-strip-clearance: calc(var(--psfm-mobile-bottom-safe-offset, 62px) + env(safe-area-inset-bottom, 0px) + 14px);
    }

    body .psfm-mobile-action-bar,
    body > .psfm-mobile-action-strip,
    html[dir="rtl"] body .psfm-mobile-action-bar,
    html[dir="rtl"] body > .psfm-mobile-action-strip {
        z-index: 2147482990 !important;
    }

    body #scroll-top,
    body #scroll-top.psfm-scroll-top-visible {
        display: none !important;
    }

    body .psfm-ai-assistant:not(.is-open),
    body .psfm-ai-assistant.is-home-page:not(.is-open),
    body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) {
        position: fixed !important;
        top: auto !important;
        right: 6px !important;
        left: auto !important;
        bottom: var(--psfm-fixed-strip-clearance) !important;
        width: var(--psfm-fixed-control-size) !important;
        max-width: var(--psfm-fixed-control-size) !important;
        height: var(--psfm-fixed-control-size) !important;
        max-height: var(--psfm-fixed-control-size) !important;
        transform: none !important;
        z-index: 2147482992 !important;
    }

    body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher {
        width: var(--psfm-fixed-control-size) !important;
        height: var(--psfm-fixed-control-size) !important;
        min-width: var(--psfm-fixed-control-size) !important;
        min-height: var(--psfm-fixed-control-size) !important;
        box-shadow: 0 12px 28px rgba(215, 25, 32, 0.24) !important;
    }

    html[dir="rtl"] body #scroll-top,
    html[dir="rtl"] body #scroll-top.psfm-scroll-top-visible,
    html[dir="rtl"] body .psfm-ai-assistant:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-home-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open),
    body .psfm-ai-assistant[dir="rtl"]:not(.is-open) {
        right: auto !important;
        left: 6px !important;
    }

    body footer,
    body .footer-area {
        padding-bottom: calc(var(--psfm-mobile-bottom-safe-offset, 62px) + 78px) !important;
    }

    body .footer-area .footer-contact ul li,
    body .footer-area .footer-contact ul li a,
    body .footer-area .psfm-head-office-hours,
    body .footer-area .footer-widget-box > p {
        padding-inline-end: 58px !important;
    }

    html[dir="rtl"] body .footer-area .footer-contact ul li,
    html[dir="rtl"] body .footer-area .footer-contact ul li a,
    html[dir="rtl"] body .footer-area .psfm-head-office-hours,
    html[dir="rtl"] body .footer-area .footer-widget-box > p {
        padding-inline-end: 0 !important;
        padding-inline-start: 58px !important;
    }

    body .footer-area .psfm-head-office-hours__title,
    html[dir="rtl"] body .footer-area .psfm-head-office-hours__title {
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
        max-width: 100% !important;
        line-height: 1.25 !important;
    }

    body .footer-area .psfm-head-office-hours__list {
        display: grid !important;
        gap: 8px !important;
        margin-bottom: 0 !important;
    }

    body .footer-area .psfm-head-office-hours__row,
    html[dir="rtl"] body .footer-area .psfm-head-office-hours__row {
        display: grid !important;
        grid-template-columns: minmax(92px, 1fr) auto !important;
        align-items: baseline !important;
        gap: 12px !important;
        margin: 0 !important;
    }

    body .footer-area .psfm-head-office-hours__row dt,
    body .footer-area .psfm-head-office-hours__row dd {
        margin: 0 !important;
        min-width: 0 !important;
        color: rgba(255, 255, 255, 0.94) !important;
        overflow-wrap: anywhere !important;
    }

    body .footer-area .footer-contact-copy,
    body .footer-area .footer-contact-number-localized,
    body .footer-area bdi {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

@media (max-width: 380px) {
    body {
        --psfm-fixed-control-size: 30px;
    }

    body .footer-area .footer-contact ul li,
    body .footer-area .footer-contact ul li a,
    body .footer-area .psfm-head-office-hours,
    body .footer-area .footer-widget-box > p {
        padding-inline-end: 50px !important;
    }

    html[dir="rtl"] body .footer-area .footer-contact ul li,
    html[dir="rtl"] body .footer-area .footer-contact ul li a,
    html[dir="rtl"] body .footer-area .psfm-head-office-hours,
    html[dir="rtl"] body .footer-area .footer-widget-box > p {
        padding-inline-start: 50px !important;
    }
}

/* PSFM frontend stabilization: route-preserving UI/UX pass, July 2026. */
:root {
    --psfm-brand-navy: #102033;
    --psfm-brand-red: #d71920;
    --psfm-brand-green: #1f8f5f;
    --psfm-surface: #ffffff;
    --psfm-surface-soft: #f6f8fb;
    --psfm-border-soft: rgba(16, 32, 51, 0.12);
    --psfm-shadow-soft: 0 14px 34px rgba(16, 32, 51, 0.08);
}

body :where(.footer-floating-contact, .psfm-mobile-fixed-controls, .psfm-mobile-action-strip),
body > .psfm-mobile-action-strip,
.header .main-navigation > .psfm-mobile-action-strip {
    display: none !important;
}

body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only {
    display: none !important;
}

@media (max-width: 767.98px) {
    body {
        --psfm-mobile-bottom-safe-offset: 66px;
        padding-bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px)) !important;
    }

    body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only {
        position: fixed !important;
        inset-inline: 0 !important;
        bottom: 0 !important;
        z-index: 2147482990 !important;
        display: block !important;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        background: rgba(255, 255, 255, 0.98) !important;
        border-top: 1px solid rgba(16, 32, 51, 0.12) !important;
        box-shadow: 0 -12px 32px rgba(16, 32, 51, 0.12) !important;
        backdrop-filter: blur(12px);
    }

    body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only a {
        display: flex !important;
        min-height: 46px !important;
        width: min(100%, 560px) !important;
        margin-inline: auto !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        border-radius: 8px !important;
        background: var(--psfm-brand-green) !important;
        color: #ffffff !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        text-decoration: none !important;
        box-shadow: 0 12px 24px rgba(31, 143, 95, 0.22) !important;
    }

    body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only a i {
        font-size: 1.1rem !important;
        color: inherit !important;
    }
}

body main.main :where(.about-area, .service-area, .service-single-area, .blog-area, .contact-area, .quote-area, .choose-area, .process-area, .counter-area, .project-area, .faq-area, .location-area, .homepage-section, .homepage-shell section) {
    padding-block: clamp(46px, 6vw, 78px) !important;
}

body main.main :where(.site-breadcrumb, .site-breadcrumb-wrapper) {
    min-height: auto !important;
    padding-block: clamp(64px, 8vw, 110px) !important;
}

body main.main :where(.section-title, .site-title) {
    max-width: 940px;
}

body main.main :where(.section-heading, .site-heading, .service-heading, .homepage-section-heading) {
    margin-bottom: clamp(24px, 3vw, 42px) !important;
}

body main.main :where(.psfm-service-grid, .blog-area .row, .service-area .row, .psfm-location-grid, .psfm-service-route-grid) > [class*="col-"] {
    display: flex !important;
}

body main.main :where(.psfm-service-card, .service-card, .service-item, .blog-item, .psfm-blog-card, .psfm-service-route-card, .seo-card, .city-service-card, .location-card) {
    height: 100% !important;
    min-width: 0 !important;
    border-radius: 8px !important;
    border: 1px solid var(--psfm-border-soft) !important;
    box-shadow: var(--psfm-shadow-soft) !important;
}

body main.main :where(.psfm-service-card, .service-card, .service-item, .blog-item, .psfm-blog-card, .psfm-service-route-card) {
    display: flex !important;
    flex-direction: column !important;
}

body main.main :where(.psfm-service-card, .service-card, .service-item, .blog-item, .psfm-blog-card, .psfm-service-route-card) :where(.theme-btn, .theme-btn2, .service-btn, .blog-btn, .psfm-service-card-actions, .service-action, .card-action) {
    margin-top: auto !important;
}

body main.main :where(.psfm-service-card, .service-card, .service-item, .psfm-service-route-card) :where(h2, h3, h4, .service-title, .card-title) {
    display: -webkit-box !important;
    min-height: calc(1.28em * 2) !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

body main.main :where(.psfm-service-card, .service-card, .service-item, .psfm-service-route-card) p {
    display: -webkit-box !important;
    min-height: calc(1.7em * 3) !important;
    overflow: hidden !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
}

body main.main .psfm-service-route-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
    gap: clamp(18px, 2vw, 26px) !important;
}

body main.main .psfm-service-route-card {
    min-height: 250px !important;
    padding: clamp(20px, 2.4vw, 28px) !important;
    background: #ffffff !important;
}

body main.main .psfm-service-route-card em {
    color: var(--psfm-brand-red) !important;
    font-style: normal !important;
    font-weight: 800 !important;
}

body main.main .psfm-blog-card :where(.blog-img, .blog-image, .blog-thumb) {
    position: relative !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    border-radius: 8px 8px 0 0 !important;
    background: linear-gradient(135deg, #102033, #d71920) !important;
}

body main.main .psfm-blog-card :where(.blog-img img, .blog-image img, .blog-thumb img) {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body main.main .psfm-blog-card :where(.blog-title, .blog-title a, h2, h3, h4) {
    display: -webkit-box !important;
    min-height: calc(1.3em * 2) !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

body main.main .psfm-blog-card :where(.blog-text, .blog-text p, p) {
    display: -webkit-box !important;
    min-height: calc(1.65em * 3) !important;
    overflow: hidden !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
}

body main.main .psfm-blog-card :where(.badge, .blog-category, .category, .tag) {
    align-self: flex-start !important;
    border-radius: 999px !important;
    background: rgba(215, 25, 32, 0.1) !important;
    color: var(--psfm-brand-red) !important;
    font-weight: 800 !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form) {
    border-radius: 8px !important;
    background: #ffffff !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form) .row {
    row-gap: 18px !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form) :where(label, .form-label) {
    display: block !important;
    margin-bottom: 8px !important;
    color: var(--psfm-brand-navy) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form) :where(input, select, textarea, .form-control, .form-select) {
    min-height: 48px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(16, 32, 51, 0.18) !important;
    background-color: #ffffff !important;
    color: var(--psfm-brand-navy) !important;
}

body main.main :where(.contact-form, .quote-form, .request-quote-form, .service-detail-form) textarea {
    min-height: 132px !important;
    resize: vertical !important;
}

body main.main .psfm-contact-more-details {
    margin-top: 20px !important;
    border: 1px solid rgba(16, 32, 51, 0.14) !important;
    border-radius: 8px !important;
    background: var(--psfm-surface-soft) !important;
    overflow: hidden !important;
}

body main.main .psfm-contact-more-details summary {
    display: flex !important;
    min-height: 58px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 16px 18px !important;
    color: var(--psfm-brand-navy) !important;
    cursor: pointer !important;
    list-style: none !important;
}

body main.main .psfm-contact-more-details summary::-webkit-details-marker {
    display: none !important;
}

body main.main .psfm-contact-more-details summary::after {
    content: "+" !important;
    display: inline-grid !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--psfm-brand-red) !important;
    font-weight: 900 !important;
}

body main.main .psfm-contact-more-details[open] summary::after {
    content: "-" !important;
}

body main.main .psfm-contact-more-details > .row {
    padding: 0 18px 18px !important;
}

body main.main .contact-submit-wrap,
body main.main .contact-form :where(.theme-btn, button[type="submit"]) {
    width: auto !important;
}

body main.main .contact-form :where(button[type="submit"], .theme-btn) {
    min-height: 48px !important;
    border-radius: 8px !important;
    font-weight: 900 !important;
}

body .footer-area {
    background: var(--psfm-brand-navy) !important;
}

body .footer-area .psfm-footer-corporate-grid {
    row-gap: 28px !important;
}

body .footer-area .psfm-footer-corporate-grid > [class*="col-"] {
    display: flex !important;
}

body .footer-area .footer-widget-box,
body .footer-area .footer-contact {
    width: 100% !important;
    margin-bottom: 0 !important;
}

body .footer-area .psfm-footer-accordion-toggle {
    display: none !important;
}

body .footer-area .footer-list,
body .footer-area .footer-contact ul {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .footer-area .footer-list li,
body .footer-area .footer-contact li {
    margin: 0 !important;
}

body .footer-area .footer-contact li {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
}

body .footer-area .footer-contact li i {
    margin-top: 4px !important;
    color: #ffffff !important;
}

body .footer-area :where(a, p, li, span, small, bdi) {
    overflow-wrap: anywhere !important;
}

@media (max-width: 991.98px) {
    body main.main :where(.about-area, .service-area, .service-single-area, .blog-area, .contact-area, .quote-area, .choose-area, .process-area, .counter-area, .project-area, .faq-area, .location-area, .homepage-section, .homepage-shell section) {
        padding-block: clamp(38px, 7vw, 58px) !important;
    }

    body main.main .psfm-service-route-card {
        min-height: 220px !important;
    }
}

@media (max-width: 767.98px) {
    body main.main :where(.section-heading, .site-heading, .service-heading, .homepage-section-heading) {
        margin-bottom: 22px !important;
    }

    body main.main :where(.psfm-service-card, .service-card, .service-item, .blog-item, .psfm-blog-card, .psfm-service-route-card, .seo-card, .city-service-card, .location-card) {
        min-height: 0 !important;
    }

    body main.main .psfm-contact-more-details summary {
        align-items: flex-start !important;
    }

    body main.main .contact-form :where(button[type="submit"], .theme-btn),
    body main.main .contact-submit-wrap {
        width: 100% !important;
    }

    body .footer-area {
        padding-bottom: calc(var(--psfm-mobile-bottom-safe-offset, 66px) + 28px) !important;
    }

    body .footer-area .psfm-footer-corporate-grid {
        row-gap: 0 !important;
        padding-block: 42px !important;
    }

    body .footer-area .footer-widget-box,
    body .footer-area .footer-contact {
        border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
        padding-block: 2px !important;
    }

    body .footer-area .footer-widget-title {
        display: none !important;
    }

    body .footer-area .psfm-footer-accordion-toggle {
        display: flex !important;
        width: 100% !important;
        min-height: 50px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        padding: 10px 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #ffffff !important;
        font-weight: 900 !important;
        text-align: start !important;
    }

    body .footer-area .psfm-footer-accordion-toggle i {
        transition: transform 0.18s ease !important;
    }

    body .footer-area .psfm-footer-section.is-collapsed .psfm-footer-accordion-toggle i {
        transform: rotate(-90deg) !important;
    }

    body .footer-area .psfm-footer-section.is-collapsed .psfm-footer-accordion-panel {
        display: none !important;
    }

    body .footer-area .psfm-footer-accordion-panel {
        padding-bottom: 18px !important;
    }

    body .footer-area .footer-contact ul li,
    body .footer-area .footer-contact ul li a,
    body .footer-area .psfm-head-office-hours,
    body .footer-area .footer-widget-box > p,
    html[dir="rtl"] body .footer-area .footer-contact ul li,
    html[dir="rtl"] body .footer-area .footer-contact ul li a,
    html[dir="rtl"] body .footer-area .psfm-head-office-hours,
    html[dir="rtl"] body .footer-area .footer-widget-box > p {
        padding-inline: 0 !important;
    }
}

html[dir="rtl"] body {
    text-align: right;
}

html[dir="rtl"] body :where(.psfm-service-card, .service-card, .service-item, .psfm-service-route-card, .psfm-blog-card, .contact-form, .quote-form, .request-quote-form, .service-detail-form, .footer-area) {
    text-align: right !important;
}

html[dir="rtl"] body main.main .psfm-contact-more-details summary::after {
    margin-inline-start: 0 !important;
    margin-inline-end: auto !important;
}

html[dir="rtl"] body .footer-area .footer-contact li {
    grid-template-columns: 22px minmax(0, 1fr) !important;
}

html[dir="rtl"] body .footer-area .psfm-footer-section.is-collapsed .psfm-footer-accordion-toggle i {
    transform: rotate(90deg) !important;
}

html[dir="rtl"] body main.main :where(.theme-btn, .theme-btn2, button[type="submit"]) {
    direction: rtl !important;
}

/* PSFM final live-safety layer: contrast, icons, and legacy mobile CTA cleanup. */
body {
    color: var(--psfm-brand-navy) !important;
}

body main.main :where(p, li, span, small, label, .form-label, .form-check-label, .card-text, .service-text, .blog-text, .location-text, .about-text) {
    color: #334155 !important;
}

body main.main :where(h1, h2, h3, h4, h5, h6, .section-title, .site-title, .service-title, .blog-title, .card-title) {
    color: var(--psfm-brand-navy) !important;
}

body main.main :where(.bg-dark, .bg-primary, .hero-section, .breadcrumb-area, .cta-area, .quote-cta, .psfm-dark-panel) :where(h1, h2, h3, h4, h5, h6, p, li, span, small, label, a, i) {
    color: #ffffff !important;
}

body main.main :where(.theme-btn, .theme-btn2, .btn, button, [class*="btn"]) :where(i, svg) {
    color: currentColor !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

body main.main :where(.icon, .service-icon, .feature-icon, .contact-icon, .footer-icon, .badge i, .meta i) {
    color: var(--psfm-brand-red) !important;
}

body main.main :where(.text-white, .text-light, .bg-dark, .bg-primary, .hero-section, .cta-area) :where(.icon, .service-icon, .feature-icon, .contact-icon, .badge i, .meta i) {
    color: #ffffff !important;
}

body main.main :where(input, textarea, select, .form-control, .form-select) {
    min-height: 46px !important;
    background-color: #ffffff !important;
    color: var(--psfm-brand-navy) !important;
    border-color: rgba(16, 32, 51, 0.22) !important;
}

body main.main :where(input, textarea, select, .form-control, .form-select):focus {
    border-color: var(--psfm-brand-red) !important;
    box-shadow: 0 0 0 0.2rem rgba(198, 40, 40, 0.16) !important;
}

body main.main :where(.card, .service-item, .service-card, .psfm-service-card, .psfm-service-route-card, .blog-item, .psfm-blog-card, .location-card, .city-service-card) {
    background-color: #ffffff !important;
    color: var(--psfm-brand-navy) !important;
}

body main.main img {
    max-width: 100% !important;
    height: auto;
}

body main.main :where(.service-item img, .service-card img, .psfm-service-card img, .blog-item img, .psfm-blog-card img, .location-card img) {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
}

@media (max-width: 767.98px) {
    body .psfm-mobile-action-bar:not(.psfm-mobile-whatsapp-only) {
        display: flex !important;
        position: fixed !important;
        inset-inline: 0 !important;
        bottom: 0 !important;
        z-index: 1045 !important;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        background: rgba(255, 255, 255, 0.98) !important;
        border-top: 1px solid rgba(16, 32, 51, 0.12) !important;
        box-shadow: 0 -12px 28px rgba(16, 32, 51, 0.14) !important;
    }

    body .psfm-mobile-action-bar:not(.psfm-mobile-whatsapp-only) a:not([href*="wa.me"]):not([data-psfm-cta*="whatsapp"]) {
        display: none !important;
    }

    body .psfm-mobile-action-bar:not(.psfm-mobile-whatsapp-only) a[href*="wa.me"],
    body .psfm-mobile-action-bar:not(.psfm-mobile-whatsapp-only) a[data-psfm-cta*="whatsapp"] {
        display: flex !important;
        width: 100% !important;
        min-height: 46px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        border-radius: 8px !important;
        background: #0f8f53 !important;
        color: #ffffff !important;
        font-weight: 900 !important;
        text-align: center !important;
    }

    body :where([data-psfm-cta="mobile_sticky_call"], [data-psfm-cta="mobile_sticky_quote"], [data-psfm-cta="mobile_strip_call"], [data-psfm-cta="mobile_strip_rfq"], [data-psfm-cta="footer_whatsapp_cta"], [data-psfm-cta="footer_request_quote"]) {
        display: none !important;
    }

    body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only,
    html[dir="rtl"] body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only {
        display: flex !important;
        min-height: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
        height: auto !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only a,
    html[dir="rtl"] body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only a {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/* Deployment safety pass: explicit contrast surfaces for live QA findings. */
body main.main .homepage-hero {
    background-color: #081b34 !important;
}

body main.main .homepage-hero .hero-copy {
    padding: clamp(18px, 2.4vw, 28px) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, rgba(8, 27, 52, 0.92), rgba(15, 35, 63, 0.84)) !important;
    box-shadow: 0 22px 52px rgba(8, 27, 52, 0.22) !important;
}

body main.main .homepage-hero .hero-copy :where(.hero-kicker, h1, h1 span, p, .hero-market-note, .hero-market-note span, .hero-market-note i) {
    color: #ffffff !important;
}

body main.main .homepage-hero .hero-copy .hero-kicker {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
}

body main.main .homepage-proof-strip .proof-metric-card {
    background: #0b1c34 !important;
    color: #ffffff !important;
    border-color: rgba(11, 28, 52, 0.14) !important;
}

body main.main .homepage-proof-strip .proof-metric-card :where(strong, span) {
    color: #ffffff !important;
}

body main.main .homepage-proof-strip .proof-signal-card,
body main.main .homepage-proof-strip .hero-coverage-ribbon {
    background: #ffffff !important;
    color: #0b1c34 !important;
    border-color: rgba(11, 28, 52, 0.12) !important;
}

body main.main .homepage-proof-strip .proof-signal-card :where(strong, span),
body main.main .homepage-proof-strip .hero-coverage-ribbon :where(i, span) {
    color: #0b1c34 !important;
}

body main.main .psfm-corporate-quote-checklist {
    background: #ffffff !important;
    border: 1px solid rgba(11, 28, 52, 0.12) !important;
    color: #0b1c34 !important;
}

body main.main .psfm-corporate-quote-checklist :where(h3, p, li, span) {
    color: #0b1c34 !important;
}

body main.main .psfm-corporate-quote-checklist i {
    color: #b71920 !important;
}

body main.main .form-text,
body main.main :where(input, textarea, select)::placeholder {
    color: #475569 !important;
}

body main.main .vendor-btn-primary {
    background: #b71920 !important;
    color: #ffffff !important;
    border: 1px solid #b71920 !important;
}

body main.main .vendor-btn-light {
    background: #ffffff !important;
    color: #0b1c34 !important;
    border: 1px solid rgba(11, 28, 52, 0.18) !important;
}

body main.main .vendor-btn-light :where(i, span) {
    color: #0b1c34 !important;
}

body main.main .vendor-btn-light:hover,
body main.main .vendor-btn-light:focus {
    background: #f8fafc !important;
    color: #0b1c34 !important;
}

body main.main .vendor-label {
    color: #0b1c34 !important;
}

body main.main :where(.pagination, .psfm-pagination-nav) .page-link {
    background: #ffffff !important;
    color: #0b1c34 !important;
    border-color: rgba(11, 28, 52, 0.18) !important;
}

body main.main :where(.pagination, .psfm-pagination-nav) .page-link:hover,
body main.main :where(.pagination, .psfm-pagination-nav) .page-link:focus {
    background: #f8fafc !important;
    color: #b71920 !important;
}

body main.main :where(.pagination, .psfm-pagination-nav) .page-item.active .page-link {
    background: #b71920 !important;
    border-color: #b71920 !important;
    color: #ffffff !important;
}

body main.main :where(.pagination, .psfm-pagination-nav) .page-item.disabled .page-link {
    background: #f8fafc !important;
    color: #475569 !important;
}

body main.main .psfm-project-media-badge {
    background: #b71920 !important;
    color: #ffffff !important;
}

body main.main .psfm-project-media-caption span {
    background: rgba(8, 27, 52, 0.88) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
}

html body main.main section.homepage-proof-strip .proof-metric-grid article.proof-metric-card > span,
html body main.main section.homepage-proof-strip .proof-metric-grid article.proof-metric-card > strong {
    color: #ffffff !important;
}

html body main.main .client-visibility-review-bridge,
html body main.main .service-cluster-panel,
html body main.main .career-cta-panel {
    background: #ffffff !important;
    color: #0b1c34 !important;
    border: 1px solid rgba(11, 28, 52, 0.12) !important;
}

html body main.main .client-visibility-review-bridge :where(h1, h2, h3, h4, h5, h6, p, span, a, i),
html body main.main .service-cluster-panel :where(h1, h2, h3, h4, h5, h6, p, span, a, i),
html body main.main .career-cta-panel :where(h1, h2, h3, h4, h5, h6, p, span, a, i) {
    color: #0b1c34 !important;
}

html body main.main .client-visibility-review-actions a,
html body main.main .service-cluster-card,
html body main.main .career-cta-actions a {
    background: #f8fafc !important;
    color: #0b1c34 !important;
    border-color: rgba(11, 28, 52, 0.16) !important;
}

html body main.main .client-visibility-review-actions a:hover,
html body main.main .service-cluster-card:hover,
html body main.main .career-cta-actions a:hover {
    background: #0b1c34 !important;
    color: #ffffff !important;
}

html body main.main .client-visibility-review-actions a:hover :where(i, span),
html body main.main .service-cluster-card:hover :where(i, span, h4, p),
html body main.main .career-cta-actions a:hover :where(i, span) {
    color: #ffffff !important;
}

html body main.main .seo-page .seo-process-card .seo-process-number,
html body main.main .seo-process-card span.seo-process-number {
    background: #0b1c34 !important;
    color: #ffffff !important;
    border: 1px solid rgba(11, 28, 52, 0.18) !important;
}

html body main.main .seo-page .seo-process-card .seo-process-number::before,
html body main.main .seo-page .seo-process-card .seo-process-number::after {
    color: #ffffff !important;
}

html body .client-visibility-review-bridge.client-visibility-review-bridge,
html body .service-cluster-panel.service-cluster-panel,
html body .career-cta-panel.career-cta-panel {
    background: #ffffff !important;
    color: #0b1c34 !important;
    border: 1px solid rgba(11, 28, 52, 0.12) !important;
}

html body .client-visibility-review-bridge.client-visibility-review-bridge :where(.site-title-tagline, h1, h2, h3, h4, h5, h6, p, span),
html body .service-cluster-panel.service-cluster-panel :where(.site-title-tagline, h1, h2, h3, h4, h5, h6, p, span),
html body .career-cta-panel.career-cta-panel :where(.site-title-tagline, h1, h2, h3, h4, h5, h6, p, span) {
    color: #0b1c34 !important;
}

html body .client-visibility-review-bridge.client-visibility-review-bridge .client-visibility-review-actions a,
html body .career-cta-panel.career-cta-panel .career-cta-actions a {
    background: #0b1c34 !important;
    color: #ffffff !important;
    border-color: #0b1c34 !important;
}

html body .client-visibility-review-bridge.client-visibility-review-bridge .client-visibility-review-actions a :where(i, span),
html body .career-cta-panel.career-cta-panel .career-cta-actions a :where(i, span) {
    color: #ffffff !important;
}

html body .service-cluster-panel.service-cluster-panel .service-cluster-sector {
    background: #0b1c34 !important;
    color: #ffffff !important;
}

html body main.main .homepage-shell .partner-band .client-visibility-review-bridge.client-visibility-review-bridge,
html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel {
    background: #ffffff !important;
    background-image: none !important;
    color: #0b1c34 !important;
    border: 1px solid rgba(11, 28, 52, 0.12) !important;
}

html body main.main .homepage-shell .partner-band .client-visibility-review-bridge.client-visibility-review-bridge .site-title-tagline,
html body main.main .homepage-shell .partner-band .client-visibility-review-bridge.client-visibility-review-bridge h4,
html body main.main .homepage-shell .partner-band .client-visibility-review-bridge.client-visibility-review-bridge p,
html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel .service-cluster-head .site-title-tagline,
html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel .service-cluster-head h3,
html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel .service-cluster-head p {
    color: #0b1c34 !important;
}

html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel .service-cluster-card.service-cluster-card {
    background: #f8fafc !important;
    background-image: none !important;
    color: #0b1c34 !important;
    border: 1px solid rgba(11, 28, 52, 0.12) !important;
}

html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel .service-cluster-card.service-cluster-card h4,
html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel .service-cluster-card.service-cluster-card p,
html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel .service-cluster-card.service-cluster-card span:not(.service-cluster-sector) {
    color: #0b1c34 !important;
}

html body main.main .homepage-shell .service-cluster-panel.service-cluster-panel .service-cluster-card.service-cluster-card .service-cluster-sector {
    background: #0b1c34 !important;
    color: #ffffff !important;
}

html body main.main .career-shell .career-cta-panel.career-cta-panel,
html body .career-shell .career-cta-panel.career-cta-panel {
    background: #ffffff !important;
    background-image: none !important;
    color: #0b1c34 !important;
    border: 1px solid rgba(11, 28, 52, 0.12) !important;
}

html body main.main .career-shell .career-cta-panel.career-cta-panel h3,
html body main.main .career-shell .career-cta-panel.career-cta-panel p,
html body .career-shell .career-cta-panel.career-cta-panel h3,
html body .career-shell .career-cta-panel.career-cta-panel p {
    color: #0b1c34 !important;
}

html body main.main .homepage-proof-strip .partner-band .client-visibility-review-bridge.client-visibility-review-bridge {
    background: #ffffff !important;
    background-image: none !important;
    color: #0b1c34 !important;
    border: 1px solid rgba(11, 28, 52, 0.12) !important;
}

html body main.main .homepage-proof-strip .partner-band .client-visibility-review-bridge.client-visibility-review-bridge .site-title-tagline,
html body main.main .homepage-proof-strip .partner-band .client-visibility-review-bridge.client-visibility-review-bridge h4,
html body main.main .homepage-proof-strip .partner-band .client-visibility-review-bridge.client-visibility-review-bridge p {
    color: #0b1c34 !important;
}

html body main.main .homepage-proof-strip .partner-band .client-visibility-review-bridge.client-visibility-review-bridge .client-visibility-review-actions a {
    background: #0b1c34 !important;
    color: #ffffff !important;
    border-color: #0b1c34 !important;
}

html body main.main .homepage-proof-strip .partner-band .client-visibility-review-bridge.client-visibility-review-bridge .client-visibility-review-actions a i {
    color: #ffffff !important;
}

html body .career-cta-panel.career-cta-panel.career-cta-panel {
    background: #ffffff !important;
    background-image: none !important;
    color: #0b1c34 !important;
}

html body .career-cta-panel.career-cta-panel.career-cta-panel h3,
html body .career-cta-panel.career-cta-panel.career-cta-panel p {
    color: #0b1c34 !important;
}

html body main.main .homepage-shell.is-dark {
    background: linear-gradient(135deg, rgba(6, 18, 38, 0.98), rgba(8, 29, 54, 0.97)), #07172c !important;
    background-color: #07172c !important;
}

html body main.main .homepage-shell.is-dark .industry-card,
html body main.main .homepage-shell.is-dark .service-card,
html body main.main .homepage-shell.is-dark .homepage-card {
    background: linear-gradient(145deg, rgba(6, 18, 38, 0.96), rgba(8, 29, 54, 0.94)), #07172c !important;
    background-color: #07172c !important;
    color: #ffffff !important;
}

html body main.main .homepage-shell.is-dark :where(h1, h2, h3, h4, h5, h6, p, li, span, strong):not(.theme-btn-white):not(.btn-light):not(.btn-white) {
    color: #ffffff !important;
}

html body main.main .homepage-shell.is-dark a:not(.theme-btn-white):not(.btn-light):not(.btn-white) {
    color: #ffffff !important;
}

html body main.main .homepage-shell.is-dark .theme-btn:not(.theme-btn-white) {
    background: #b71920 !important;
    border-color: #b71920 !important;
    color: #ffffff !important;
}

html body main.main #industries.homepage-shell.is-dark {
    background: linear-gradient(135deg, rgba(6, 18, 38, 0.98), rgba(8, 29, 54, 0.97)) !important;
    background-color: #07172c !important;
}

html body main.main #industries.homepage-shell.is-dark .industry-card {
    background: linear-gradient(145deg, rgba(6, 18, 38, 0.96), rgba(8, 29, 54, 0.94)) !important;
    background-color: #07172c !important;
    color: #ffffff !important;
}

html body main.main #industries.homepage-shell.is-dark .site-title-tagline {
    background: #ffffff !important;
    color: #0b1c34 !important;
}

html body main.main .process-step .process-number,
html body main.main span.process-number {
    background: #0b1c34 !important;
    color: #ffffff !important;
}

html body main.main .mid-cta-card {
    background-color: #07172c !important;
}

html body main.main .mid-cta-card :where(h1, h2, h3, h4, h5, h6, p, span):not(.site-title-tagline) {
    color: #ffffff !important;
}

html body main.main .homepage-shell .process-grid .process-step.process-step .process-number.process-number {
    background: #0b1c34 !important;
    color: #ffffff !important;
}

html body main.main .theme-btn:not(.theme-btn-white):not(.theme-btn-outline),
html body main.main .psfm-cta-pill:not(.theme-btn-white):not(.theme-btn-outline),
html body main.main .review-head-cta.review-head-cta {
    background: #b71920 !important;
    border-color: #b71920 !important;
    color: #ffffff !important;
}

html body main.main .theme-btn:not(.theme-btn-white):not(.theme-btn-outline) :where(i, span, strong),
html body main.main .psfm-cta-pill:not(.theme-btn-white):not(.theme-btn-outline) :where(i, span, strong),
html body main.main .review-head-cta.review-head-cta :where(i, span, strong) {
    color: #ffffff !important;
}

html body main.main .client-trust-cta.client-trust-cta {
    background: #102033 !important;
    background-color: #102033 !important;
    color: #ffffff !important;
}

html body main.main .client-trust-cta.client-trust-cta :where(h1, h2, h3, h4, h5, h6, p, span):not(.site-title-tagline) {
    color: #ffffff !important;
}

html body main.main .review-highlights-head .review-head-cta.review-head-cta,
html body main.main .review-confidence-actions.review-confidence-actions a {
    background: #b71920 !important;
    border-color: #b71920 !important;
    color: #ffffff !important;
}

html body main.main .review-highlights-head .review-head-cta.review-head-cta :where(i, span),
html body main.main .review-confidence-actions.review-confidence-actions a :where(i, span) {
    color: #ffffff !important;
}

html body main.main .psfm-head-office-hours.psfm-head-office-hours--home dd,
html body main.main .client-trust-contact .psfm-head-office-hours dd {
    color: #ffffff !important;
}

html body main.main .review-confidence-actions.review-confidence-actions a,
html body main.main .client-trust-contact.client-trust-contact a {
    background: #b71920 !important;
    border-color: #b71920 !important;
    color: #ffffff !important;
}

html body main.main .review-confidence-actions.review-confidence-actions a :where(i, span),
html body main.main .client-trust-contact.client-trust-contact a :where(i, span) {
    color: #ffffff !important;
}

html body main.main .project-highlight-card .project-highlight-tag,
html body main.main .project-highlight-card .project-highlight-title {
    background: rgba(7, 23, 44, 0.9) !important;
    color: #ffffff !important;
}

html body main.main .homepage-shell.client-trust-section .review-highlights-panel .review-confidence-actions.review-confidence-actions a {
    background: #b71920 !important;
    border-color: #b71920 !important;
    color: #ffffff !important;
}

html body main.main .homepage-shell.client-trust-section .review-highlights-panel .review-confidence-actions.review-confidence-actions a :where(i, span) {
    color: #ffffff !important;
}

html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay .project-highlight-tag,
html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay .project-highlight-title {
    background: rgba(7, 23, 44, 0.92) !important;
    color: #ffffff !important;
}

html body main.main .cta-banner.cta-banner {
    background-color: #102033 !important;
    color: #ffffff !important;
}

html body main.main .cta-banner.cta-banner :where(h1, h2, h3, h4, h5, h6, p, span):not(.site-title-tagline) {
    color: #ffffff !important;
}

html body main.main .pillar-actions a,
html body main.main .review-head-cta {
    background: #b71920 !important;
    border-color: #b71920 !important;
    color: #ffffff !important;
}

html body main.main .pillar-actions a :where(i, span),
html body main.main .review-head-cta :where(i, span) {
    color: #ffffff !important;
}

html body main.main .homepage-shell .pillar-card .pillar-actions a,
html body main.main .homepage-shell .pillar-card .pillar-actions a:visited,
html body main.main .homepage-shell .pillar-card .pillar-actions a:hover,
html body main.main .homepage-shell .pillar-card .pillar-actions a:focus {
    background: #b71920 !important;
    border-color: #b71920 !important;
    color: #ffffff !important;
}

html body main.main .homepage-shell .pillar-card .pillar-actions a :where(i, span, strong) {
    color: #ffffff !important;
}

/* Screenshot QA recovery: fix first-viewport gaps and dark-panel contrast without changing routes, forms, metadata, or copy. */
@media (min-width: 992px) {
    html body main.main > .site-breadcrumb:first-child,
    html body main.main > .site-breadcrumb.psfm-corporate-breadcrumb:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    html body main.main > .site-breadcrumb:first-child .site-breadcrumb-wrapper {
        min-height: clamp(260px, 24vw, 330px) !important;
        padding-top: clamp(54px, 5vw, 74px) !important;
        padding-bottom: clamp(42px, 4.6vw, 62px) !important;
    }
}

@media (min-width: 1200px) and (max-width: 1439.98px) {
    html body > header.header .custom-nav-shell,
    html[dir="rtl"] body > header.header .custom-nav-shell {
        width: min(100% - 20px, 1360px) !important;
        max-width: min(100% - 20px, 1360px) !important;
        gap: 8px !important;
        padding-inline: 10px !important;
    }

    html body > header.header .header-brand,
    html[dir="rtl"] body > header.header .header-brand {
        flex-basis: clamp(150px, 12vw, 180px) !important;
        max-width: clamp(150px, 12vw, 180px) !important;
    }

    html body > header.header .header-menu-list,
    html[dir="rtl"] body > header.header .header-menu-list {
        gap: 2px !important;
    }

    html body > header.header .header-menu-list > .nav-item > .nav-link,
    html[dir="rtl"] body > header.header .header-menu-list > .nav-item > .nav-link {
        min-height: 38px !important;
        padding: 8px 6px !important;
        font-size: 0.76rem !important;
    }

    html body > header.header .header-nav-right,
    html body > header.header .header-utility-cluster,
    html[dir="rtl"] body > header.header .header-nav-right,
    html[dir="rtl"] body > header.header .header-utility-cluster {
        gap: 6px !important;
    }

    html body > header.header .header-btn .theme-btn,
    html[dir="rtl"] body > header.header .header-btn .theme-btn {
        min-height: 40px !important;
        padding: 10px 12px !important;
        font-size: 0.78rem !important;
    }
}

html body main.main .seo-card.seo-hero,
html body main.main .career-hero-panel,
html body main.main .vendor-hero,
html body main.main .vendor-final-cta,
html body main.main .premium-product-hero {
    background-color: #102033 !important;
    color: #ffffff !important;
}

html body main.main .seo-card.seo-hero > h1,
html body main.main .seo-card.seo-hero > h2,
html body main.main .seo-card.seo-hero > p,
html body main.main .career-hero-panel > div > h1,
html body main.main .career-hero-panel > div > h2,
html body main.main .career-hero-panel > div > p,
html body main.main .vendor-hero > h1,
html body main.main .vendor-hero > h2,
html body main.main .vendor-hero > p,
html body main.main .vendor-final-cta > h1,
html body main.main .vendor-final-cta > h2,
html body main.main .vendor-final-cta > p,
html body main.main .premium-product-hero h1,
html body main.main .premium-product-hero > .container > .premium-product-layout > div:first-child > p,
html body main.main .premium-product-hero .premium-product-kicker {
    color: #ffffff !important;
    text-shadow: none !important;
}

html body main.main .seo-card.seo-hero > .seo-kicker,
html body main.main .career-hero-panel .career-eyebrow,
html body main.main .vendor-hero > .vendor-kicker,
html body main.main .vendor-final-cta > .vendor-label {
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #102033 !important;
}

html body main.main .seo-card.seo-hero > .seo-kicker i,
html body main.main .career-hero-panel .career-eyebrow i,
html body main.main .vendor-hero > .vendor-kicker i,
html body main.main .vendor-final-cta > .vendor-label i,
html body main.main .premium-product-hero .premium-product-kicker i {
    color: #d71920 !important;
}

html body main.main .seo-card.seo-hero .seo-chip {
    background: rgba(255, 255, 255, 0.94) !important;
    color: #102033 !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
}

html body main.main .seo-card.seo-hero .seo-chip :where(i, span),
html body main.main .seo-card.seo-hero .seo-highlight-row :where(strong, span),
html body main.main .premium-product-hero .theme-btn :where(i, span),
html body main.main .premium-product-hero .theme-btn-white :where(i, span),
html body main.main .vendor-hero .vendor-btn :where(i, span),
html body main.main .vendor-final-cta .vendor-btn :where(i, span) {
    color: currentColor !important;
}

html body main.main .career-hero-panel {
    padding: clamp(28px, 4vw, 52px) !important;
    border-radius: 8px !important;
}

html body main.main .vendor-hero,
html body main.main .vendor-final-cta {
    border-radius: 8px !important;
}

html body main.main .vendor-hero .vendor-trust-card {
    background: rgba(255, 255, 255, 0.96) !important;
    color: #102033 !important;
}

html body main.main .vendor-hero .vendor-trust-card :where(strong, span) {
    color: #102033 !important;
}

html body .footer-area .psfm-footer-corporate-grid {
    align-items: flex-start !important;
}

html body .footer-area .footer-contact ul li,
html body .footer-area .footer-contact ul li a,
html body .footer-area .footer-contact-copy,
html body .footer-area .footer-contact-label,
html body .footer-area .footer-contact-number-localized,
html body .footer-area .psfm-head-office-hours,
html body .footer-area .psfm-head-office-hours *,
html body .footer-area bdi {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
}

html body .footer-area .footer-contact a[href^="tel:"],
html body .footer-area .footer-contact a[href^="mailto:"],
html body .footer-area .footer-contact a[href*="wa.me"],
html body .footer-area .footer-contact a[href*="premium-sa.com"],
html body .footer-area .footer-contact a[href*="psfm-sa.com"],
html body .footer-area .footer-contact bdi {
    white-space: nowrap !important;
}

html body .footer-area .footer-contact li {
    grid-template-columns: 24px minmax(0, 1fr) !important;
    gap: 12px !important;
}

html body .footer-area .footer-contact-copy {
    display: inline-flex !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    gap: 4px 6px !important;
    align-items: baseline !important;
}

@media (min-width: 992px) {
    html body .footer-area .psfm-footer-corporate-grid > [class*="col-"] {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }

    html body .footer-area .footer-contact-box {
        min-width: 250px !important;
    }
}

@media (max-width: 767.98px) {
    html body main.main > .site-breadcrumb:first-child,
    html body main.main > .site-breadcrumb.psfm-corporate-breadcrumb:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    html body main.main .career-hero-panel,
    html body main.main .vendor-hero,
    html body main.main .vendor-final-cta {
        padding: 22px 18px !important;
    }
}

/* Screenshot QA hardening: cover nested public pages and WebKit text-fill contrast. */
@media (min-width: 992px) {
    html body main.main .vendor-registration-page > .site-breadcrumb:first-child,
    html body main.main .premium-product-page > .site-breadcrumb:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    html body main.main .vendor-registration-page > .site-breadcrumb:first-child .site-breadcrumb-wrapper,
    html body main.main .premium-product-page > .site-breadcrumb:first-child .site-breadcrumb-wrapper {
        min-height: clamp(260px, 24vw, 330px) !important;
        padding-top: clamp(54px, 5vw, 74px) !important;
        padding-bottom: clamp(42px, 4.6vw, 62px) !important;
    }
}

html body main.main .seo-card.seo-hero > h1,
html body main.main .seo-card.seo-hero > h2,
html body main.main .seo-card.seo-hero > p,
html body main.main .career-hero-panel > div > h1,
html body main.main .career-hero-panel > div > h2,
html body main.main .career-hero-panel > div > p,
html body main.main .vendor-hero > h1,
html body main.main .vendor-hero > h2,
html body main.main .vendor-hero > p,
html body main.main .vendor-final-cta > h1,
html body main.main .vendor-final-cta > h2,
html body main.main .vendor-final-cta > p,
html body main.main .premium-product-hero h1,
html body main.main .premium-product-hero p,
html body main.main .premium-product-hero .premium-product-kicker {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

html body main.main .seo-card.seo-hero > .seo-kicker,
html body main.main .seo-card.seo-hero .seo-chip,
html body main.main .career-hero-panel .career-eyebrow,
html body main.main .vendor-hero > .vendor-kicker,
html body main.main .vendor-final-cta > .vendor-label,
html body main.main .vendor-hero .vendor-trust-card,
html body main.main .vendor-hero .vendor-trust-card *,
html body main.main .premium-product-hero .theme-btn-white,
html body main.main .premium-product-hero .theme-btn-white * {
    -webkit-text-fill-color: currentColor !important;
}

html body main.main .seo-card.seo-hero > .seo-kicker,
html body main.main .seo-card.seo-hero .seo-chip,
html body main.main .career-hero-panel .career-eyebrow,
html body main.main .vendor-hero > .vendor-kicker,
html body main.main .vendor-final-cta > .vendor-label,
html body main.main .vendor-hero .vendor-trust-card {
    color: #102033 !important;
}

html body main.main .seo-card.seo-hero > .seo-kicker i,
html body main.main .career-hero-panel .career-eyebrow i,
html body main.main .vendor-hero > .vendor-kicker i,
html body main.main .vendor-final-cta > .vendor-label i {
    color: #d71920 !important;
    -webkit-text-fill-color: #d71920 !important;
}

@media (min-width: 992px) {
    html body .footer-area .psfm-footer-corporate-grid > [class*="col-"]:nth-child(1) {
        flex: 0 0 28% !important;
        max-width: 28% !important;
    }

    html body .footer-area .psfm-footer-corporate-grid > [class*="col-"]:nth-child(2) {
        flex: 0 0 22% !important;
        max-width: 22% !important;
    }

    html body .footer-area .psfm-footer-corporate-grid > [class*="col-"]:nth-child(3) {
        flex: 0 0 20% !important;
        max-width: 20% !important;
    }

    html body .footer-area .psfm-footer-corporate-grid > [class*="col-"]:nth-child(4) {
        flex: 0 0 30% !important;
        max-width: 30% !important;
    }

    html body .footer-area .footer-contact-box {
        min-width: 0 !important;
    }
}

/* Full-site screenshot QA: restore readable CTA panels, icon contrast, floating contact, and contact-card alignment. */
html body main.main :where(.seo-banner, .vendor-final-cta) {
    background: linear-gradient(135deg, #071426 0%, #102f55 100%) !important;
    color: #ffffff !important;
}

html body main.main .seo-banner :where(h1, h2, h3),
html body main.main .seo-banner > :where(h1, h2, h3),
html body main.main .vendor-final-cta :where(h1, h2, h3),
html body main.main .vendor-final-cta > :where(h1, h2, h3) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html body main.main .seo-banner :where(p, li, span:not(.seo-kicker):not(.footer-floating-contact-text)),
html body main.main .seo-banner > :where(p, li),
html body main.main .vendor-final-cta :where(p, li, span:not(.vendor-label):not(.footer-floating-contact-text)),
html body main.main .vendor-final-cta > :where(p, li) {
    color: #e8eef7 !important;
    -webkit-text-fill-color: #e8eef7 !important;
    opacity: 1 !important;
}

html body main.main .seo-banner :where(.seo-kicker, .vendor-label),
html body main.main .vendor-final-cta :where(.seo-kicker, .vendor-label),
html body main.main .seo-banner > :where(.seo-kicker, .vendor-label),
html body main.main .vendor-final-cta > :where(.seo-kicker, .vendor-label) {
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
}

html body main.main .seo-arabic-support,
html body main.main .seo-card.seo-hero .seo-arabic-support,
html body main.main .seo-highlight,
html body main.main .seo-highlight-row {
    background: #f8fafc !important;
    border-color: rgba(16, 32, 51, 0.12) !important;
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    opacity: 1 !important;
}

html body main.main :where(.seo-arabic-support, .seo-highlight, .seo-highlight-row) :where(p, span, strong, b, li),
html body main.main :where(.seo-arabic-support, .seo-highlight, .seo-highlight-row) {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    opacity: 1 !important;
}

html body main.main :where(.theme-btn, .psfm-cta-pill, .vendor-btn):not(.theme-btn-white):not(.vendor-btn-light) > i,
html body main.main :where(.theme-btn, .psfm-cta-pill, .vendor-btn):not(.theme-btn-white):not(.vendor-btn-light) i[class*="fa-arrow"],
html body main.main .seo-banner .theme-btn:not(.theme-btn-white) i,
html body main.main .seo-card.seo-hero .theme-btn:not(.theme-btn-white) i {
    background: #ffffff !important;
    color: #d71920 !important;
    -webkit-text-fill-color: #d71920 !important;
    border-color: rgba(255, 255, 255, 0.84) !important;
}

html body main.main :where(.theme-btn-white, .vendor-btn-light) i,
html body main.main .seo-banner .theme-btn-white i,
html body main.main .seo-card.seo-hero .theme-btn-white i {
    color: #d71920 !important;
    -webkit-text-fill-color: #d71920 !important;
}

html body main.main .seo-panel li::marker,
html body main.main .seo-page li::marker,
html body main.main .seo-banner li::marker {
    color: #d71920 !important;
}

html body main.main .psfm-contact-page .contact-info {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
    min-height: 132px !important;
    padding: 18px !important;
    overflow: visible !important;
}

html body main.main .psfm-contact-page .contact-info-icon,
html body main.main .psfm-contact-page .psfm-contact-support-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    aspect-ratio: 1 / 1 !important;
    align-self: center !important;
    border-radius: 999px !important;
    background: #ed1c24 !important;
    color: #ffffff !important;
    overflow: hidden !important;
    line-height: 1 !important;
}

html body main.main .psfm-contact-page .contact-info-icon i,
html body main.main .psfm-contact-page .psfm-contact-support-icon i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
}

html body main.main .psfm-contact-page .contact-info-content {
    min-width: 0 !important;
    color: #4b5b70 !important;
}

html body main.main .psfm-contact-page .contact-info-content :where(a, p, span) {
    overflow-wrap: anywhere !important;
}

html body main.main .psfm-contact-page .contact-info-content :where(a[href^="tel:"], a[href^="mailto:"], a[href*="wa.me"]) {
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
    font-weight: 700 !important;
}

@media (min-width: 992px) {
    html body .footer-floating-contact,
    html[dir="ltr"] body .footer-floating-contact,
    html[dir="rtl"] body .footer-floating-contact {
        display: block !important;
        visibility: visible !important;
        pointer-events: auto !important;
        position: fixed !important;
        left: 18px !important;
        right: auto !important;
        width: 46px !important;
        z-index: 1024 !important;
    }

    html body .footer-floating-contact.is-email {
        bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
    }

    html body .footer-floating-contact.is-whatsapp {
        bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
    }

    html body .footer-floating-contact .btn,
    html[dir="rtl"] body .footer-floating-contact .btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        background: #d71920 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: 0 12px 28px rgba(215, 25, 32, 0.24) !important;
    }

    html body .footer-floating-contact.is-whatsapp .btn {
        background: #128c5e !important;
        box-shadow: 0 12px 28px rgba(18, 140, 94, 0.24) !important;
    }

    html body .footer-floating-contact .btn i {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }
}

@media (max-width: 991.98px) {
    html body .footer-floating-contact,
    html[dir="rtl"] body .footer-floating-contact {
        display: none !important;
    }
}

@media (min-width: 1200px) and (max-width: 1599.98px) {
    html body > header.header .custom-nav-shell,
    html[dir="rtl"] body > header.header .custom-nav-shell {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 10px !important;
    }

    html body > header.header .navbar-brand,
    html[dir="rtl"] body > header.header .navbar-brand {
        margin-inline-end: clamp(8px, 1vw, 16px) !important;
    }

    html body > header.header .header-btn .theme-btn,
    html[dir="rtl"] body > header.header .header-btn .theme-btn {
        max-width: 244px !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    html body > header.header .header-menu-list > .nav-item > .nav-link,
    html[dir="rtl"] body > header.header .header-menu-list > .nav-item > .nav-link {
        padding-inline: 5px !important;
        font-size: 0.74rem !important;
    }

    html body > header.header .header-btn .theme-btn,
    html[dir="rtl"] body > header.header .header-btn .theme-btn {
        max-width: 228px !important;
        padding-inline: 10px !important;
        font-size: 0.76rem !important;
    }
}

@media (max-width: 575.98px) {
    html body main.main .psfm-contact-page .contact-info {
        grid-template-columns: 56px minmax(0, 1fr) !important;
        gap: 14px !important;
        min-height: 104px !important;
        padding: 16px !important;
    }

    html body main.main .psfm-contact-page .contact-info-icon,
    html body main.main .psfm-contact-page .psfm-contact-support-icon {
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
    }

    html body main.main .psfm-contact-page .contact-info-icon i,
    html body main.main .psfm-contact-page .psfm-contact-support-icon i {
        font-size: 1.18rem !important;
    }
}

html[dir="rtl"] body main.main .psfm-contact-page .contact-info {
    grid-template-columns: minmax(0, 1fr) 76px !important;
    direction: rtl !important;
}

html[dir="rtl"] body main.main .psfm-contact-page .contact-info-icon {
    order: 2 !important;
}

html[dir="rtl"] body main.main .psfm-contact-page .contact-info-content {
    order: 1 !important;
    text-align: right !important;
}

@media (max-width: 575.98px) {
    html[dir="rtl"] body main.main .psfm-contact-page .contact-info {
        grid-template-columns: minmax(0, 1fr) 56px !important;
    }
}

/* Final explicit contrast lock for service, industry, and location bottom CTA banners. */
html body main.main .seo-banner,
html body main.main section.seo-banner,
html body main.main div.seo-banner {
    background-color: #071426 !important;
    background-image: linear-gradient(135deg, #071426 0%, #102f55 100%) !important;
    color: #ffffff !important;
}

html body main.main .seo-banner h1,
html body main.main .seo-banner h2,
html body main.main .seo-banner h3,
html body main.main .seo-banner h4,
html body main.main .seo-banner h5,
html body main.main .seo-banner h6 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

html body main.main .seo-banner p,
html body main.main .seo-banner li,
html body main.main .seo-banner small,
html body main.main .seo-banner em {
    color: #e8eef7 !important;
    -webkit-text-fill-color: #e8eef7 !important;
    opacity: 1 !important;
}

html body main.main .seo-banner .seo-cta-group :where(.theme-btn, .theme-btn-white) {
    -webkit-text-fill-color: currentColor !important;
}

html body main.main .seo-banner .seo-cta-group :where(.theme-btn, .theme-btn-white) :where(span, strong) {
    color: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Mobile screenshot QA final layer: readable cards, tighter gaps, and visible utility controls. */
html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay {
    background: linear-gradient(180deg, rgba(5, 17, 33, 0.06) 0%, rgba(5, 17, 33, 0.48) 38%, rgba(5, 17, 33, 0.96) 100%) !important;
    color: #ffffff !important;
}

html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay :where(.project-highlight-title, .project-highlight-tag, .project-highlight-location, .project-highlight-scope, .project-highlight-cta, i) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay .project-highlight-scope,
html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay .project-highlight-location {
    color: #e8eef7 !important;
    -webkit-text-fill-color: #e8eef7 !important;
}

html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay .project-highlight-tag {
    background: #102033 !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
}

html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay .project-highlight-cta {
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(255, 255, 255, 0.86) !important;
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
}

html body main.main .homepage-shell.project-highlights-section .project-highlight-card .project-highlight-overlay .project-highlight-cta i {
    color: #d71920 !important;
    -webkit-text-fill-color: #d71920 !important;
}

html body main.main .homepage-shell.client-trust-section .client-trust-rating-card,
html body main.main .homepage-shell.client-trust-section .client-trust-rating-card > div {
    background: #102f55 !important;
    color: #ffffff !important;
}

html body main.main .homepage-shell.client-trust-section .client-trust-rating-card :where(strong, span, p, i),
html body main.main .homepage-shell.client-trust-section .client-trust-rating-card .client-rating-number {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

html body main.main .homepage-shell.client-trust-section .client-trust-rating-card .google-profile-badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-bottom: 8px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
}

html body main.main .homepage-shell.client-trust-section .client-trust-rating-card .client-rating-number {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.36) !important;
}

html body main.main .client-trust-cta.client-trust-cta .client-trust-contact {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    padding: clamp(14px, 3vw, 20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

html body main.main .client-trust-cta.client-trust-cta .client-trust-contact > span,
html body main.main .client-trust-cta.client-trust-cta .client-trust-contact > a,
html body main.main .client-trust-cta.client-trust-cta .client-trust-contact .psfm-head-office-hours {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.11) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

html body main.main .client-trust-cta.client-trust-cta .client-trust-contact :where(a, bdi, strong, span, dt, dd, i) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body main.main .client-trust-cta.client-trust-cta .client-trust-contact .psfm-phone-support-stack {
    background: rgba(215, 25, 32, 0.88) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

html body main.main .client-trust-cta.client-trust-cta .client-trust-contact .psfm-contact-support-standalone {
    gap: 10px !important;
    justify-content: flex-start !important;
}

html[dir="rtl"] body main.main .client-trust-cta.client-trust-cta .client-trust-contact .psfm-contact-support-standalone {
    justify-content: flex-end !important;
}

html body main.main .homepage-procurement-path .procurement-step > span,
html body main.main .homepage-procurement-path .procurement-step > span i,
html body main.main .homepage-proof-strip .proof-icon,
html body main.main .homepage-proof-strip .proof-icon i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body main.main .homepage-procurement-path .procurement-step > span,
html body main.main .homepage-proof-strip .proof-icon {
    background: #d71920 !important;
    border: 1px solid rgba(215, 25, 32, 0.2) !important;
    box-shadow: 0 10px 24px rgba(215, 25, 32, 0.16) !important;
}

html body main.main .homepage-procurement-path .procurement-step {
    background: #ffffff !important;
    color: #102033 !important;
}

html body main.main .homepage-procurement-path .procurement-step :where(h3, p) {
    color: #102033 !important;
    -webkit-text-fill-color: #102033 !important;
}

@media (max-width: 767.98px) {
    html body main.main :where(.homepage-shell, .homepage-proof-strip, .homepage-procurement-path, .project-highlights-section, .client-trust-section) {
        padding-top: clamp(30px, 8vw, 46px) !important;
        padding-bottom: clamp(30px, 8vw, 46px) !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    html body main.main .homepage-proof-strip .container,
    html body main.main .homepage-shell .container,
    html body main.main .homepage-procurement-path .container {
        padding-inline: 18px !important;
    }

    html body main.main .homepage-proof-strip :where(.proof-signal-grid, .proof-metric-grid, .logo-showcase, .partner-band),
    html body main.main .homepage-shell.client-trust-section :where(.client-trust-grid, .client-trust-faq-grid, .client-trust-link-cloud),
    html body main.main .homepage-shell.project-highlights-section :where(.project-highlights-head, .project-highlight-slider) {
        margin-top: 18px !important;
        margin-bottom: 0 !important;
        gap: 14px !important;
    }

    html body main.main .homepage-proof-strip .partner-band {
        padding-bottom: 0 !important;
    }

    html body main.main .homepage-proof-strip .client-visibility-review-bridge,
    html body main.main .homepage-proof-strip .service-cluster-panel,
    html body main.main .client-trust-cta,
    html body main.main .vendor-hero,
    html body main.main .vendor-final-cta,
    html body main.main .seo-banner {
        margin-top: 18px !important;
        margin-bottom: 18px !important;
        padding: 22px 18px !important;
        border-radius: 14px !important;
    }

    html body main.main .vendor-hero > h1,
    html body main.main .vendor-hero > h2,
    html body main.main .vendor-hero > p,
    html body main.main .vendor-final-cta > h1,
    html body main.main .vendor-final-cta > h2,
    html body main.main .vendor-final-cta > p,
    html body main.main .seo-banner :where(h1, h2, h3, p, li) {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        opacity: 1 !important;
    }

    html body main.main .vendor-hero > p,
    html body main.main .vendor-final-cta > p,
    html body main.main .seo-banner :where(p, li) {
        color: #e8eef7 !important;
        -webkit-text-fill-color: #e8eef7 !important;
    }

    html body main.main .homepage-shell.project-highlights-section .project-highlight-card {
        min-height: 340px !important;
        aspect-ratio: 0.92 / 1 !important;
    }

    html body main.main .homepage-shell.project-highlights-section .project-highlight-overlay {
        padding: 18px !important;
        justify-content: flex-end !important;
    }

    html body .footer-floating-contact.is-email,
    html[dir="ltr"] body .footer-floating-contact.is-email,
    html[dir="rtl"] body .footer-floating-contact.is-email {
        display: block !important;
        visibility: visible !important;
        pointer-events: auto !important;
        position: fixed !important;
        left: 12px !important;
        right: auto !important;
        bottom: calc(var(--psfm-mobile-bottom-safe-offset, 66px) + env(safe-area-inset-bottom, 0px) + 16px) !important;
        width: 42px !important;
        height: 42px !important;
        z-index: 2147482992 !important;
    }

    html body .footer-floating-contact.is-email .btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        background: #d71920 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: 0 12px 28px rgba(215, 25, 32, 0.24) !important;
    }

    html body .footer-floating-contact.is-email .btn i {
        margin: 0 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    html body .footer-floating-contact.is-email .footer-floating-contact-text {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        white-space: nowrap !important;
    }

    html body .footer-floating-contact.is-whatsapp,
    html[dir="rtl"] body .footer-floating-contact.is-whatsapp {
        display: none !important;
    }

    html body #scroll-top,
    html body #scroll-top.psfm-scroll-top-visible,
    html[dir="rtl"] body #scroll-top,
    html[dir="rtl"] body #scroll-top.psfm-scroll-top-visible {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: fixed !important;
        right: 12px !important;
        left: auto !important;
        bottom: calc(var(--psfm-mobile-bottom-safe-offset, 66px) + env(safe-area-inset-bottom, 0px) + 16px) !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        border-radius: 999px !important;
        background: #102033 !important;
        border: 1px solid rgba(255, 255, 255, 0.18) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: 0 12px 28px rgba(16, 32, 51, 0.24) !important;
        z-index: 2147482992 !important;
    }

    html body #scroll-top i {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    html body .psfm-ai-assistant:not(.is-open),
    html body .psfm-ai-assistant.is-home-page:not(.is-open),
    html body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    html body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) {
        right: 12px !important;
        left: auto !important;
        bottom: calc(var(--psfm-mobile-bottom-safe-offset, 66px) + env(safe-area-inset-bottom, 0px) + 68px) !important;
    }

    html[dir="rtl"] body .psfm-ai-assistant:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-home-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open),
    html[dir="rtl"] body .footer-floating-contact.is-email {
        right: auto !important;
        left: 12px !important;
    }

    html[dir="rtl"] body #scroll-top,
    html[dir="rtl"] body #scroll-top.psfm-scroll-top-visible {
        right: 12px !important;
        left: auto !important;
    }
}

@media (max-width: 380px) {
    html body main.main .homepage-shell.project-highlights-section .project-highlight-card {
        min-height: 320px !important;
    }

    html body .footer-floating-contact.is-email,
    html body #scroll-top,
    html body #scroll-top.psfm-scroll-top-visible {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    html body .footer-floating-contact,
    html[dir="ltr"] body .footer-floating-contact,
    html[dir="rtl"] body .footer-floating-contact {
        display: block !important;
        visibility: visible !important;
        pointer-events: auto !important;
        position: fixed !important;
        left: 14px !important;
        right: auto !important;
        width: 44px !important;
        height: 44px !important;
        z-index: 1024 !important;
    }

    html body .footer-floating-contact.is-email {
        bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important;
    }

    html body .footer-floating-contact.is-whatsapp {
        bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    }

    html body .footer-floating-contact .btn,
    html[dir="rtl"] body .footer-floating-contact .btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        background: #d71920 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: 0 12px 28px rgba(215, 25, 32, 0.24) !important;
    }

    html body .footer-floating-contact.is-whatsapp .btn {
        background: #128c5e !important;
        box-shadow: 0 12px 28px rgba(18, 140, 94, 0.24) !important;
    }

    html body .footer-floating-contact .btn i {
        margin: 0 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    html body .footer-floating-contact .footer-floating-contact-text {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        white-space: nowrap !important;
    }

    html[dir="rtl"] body .footer-floating-contact.footer-floating-contact.is-email,
    html[dir="rtl"] body .footer-floating-contact.footer-floating-contact.is-whatsapp,
    html[dir="ltr"] body .footer-floating-contact.footer-floating-contact.is-email,
    html[dir="ltr"] body .footer-floating-contact.footer-floating-contact.is-whatsapp {
        display: block !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

/* Samsung Android CTA stabilization: one fixed mobile/tablet strip with Call, RFQ, and WhatsApp. */
@media (max-width: 991.98px) {
    html body {
        --psfm-mobile-bottom-safe-offset: 92px;
        --psfm-fixed-strip-clearance: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 14px);
        padding-bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 14px) !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta,
    html[dir="rtl"] body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta {
        position: fixed !important;
        inset-inline: 0 !important;
        bottom: 0 !important;
        z-index: 2147482990 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        gap: clamp(8px, 2vw, 12px) !important;
        width: 100% !important;
        max-width: 860px !important;
        min-height: auto !important;
        margin-inline: auto !important;
        padding: 10px clamp(12px, 3vw, 18px) calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        border: 1px solid rgba(16, 32, 51, 0.12) !important;
        border-bottom: 0 !important;
        border-radius: 16px 16px 0 0 !important;
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 -14px 34px rgba(16, 32, 51, 0.16) !important;
        backdrop-filter: blur(14px) !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        box-sizing: border-box !important;
    }

    html[dir="rtl"] body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta {
        direction: rtl !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a,
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a[href*="wa.me"],
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a[data-psfm-cta*="whatsapp"],
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a[data-psfm-cta="mobile_sticky_call"],
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a[data-psfm-cta="mobile_sticky_quote"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        border: 1px solid transparent !important;
        border-radius: 10px !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-size: clamp(0.84rem, 2.45vw, 1rem) !important;
        font-weight: 900 !important;
        line-height: 1.12 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: normal !important;
        overflow: hidden !important;
        overflow-wrap: anywhere !important;
        box-shadow: 0 12px 24px rgba(16, 32, 51, 0.12) !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a i,
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a span {
        display: inline-flex !important;
        min-width: 0 !important;
        color: inherit !important;
        -webkit-text-fill-color: inherit !important;
        line-height: inherit !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a i {
        flex: 0 0 auto !important;
        font-size: 1.08em !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a span {
        flex: 0 1 auto !important;
        justify-content: center !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a.psfm-mobile-cta-call {
        background: #d71920 !important;
        border-color: #d71920 !important;
        box-shadow: 0 12px 24px rgba(215, 25, 32, 0.2) !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a.psfm-mobile-cta-rfq {
        background: #102033 !important;
        border-color: #102033 !important;
        box-shadow: 0 12px 24px rgba(16, 32, 51, 0.2) !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a.psfm-mobile-cta-whatsapp {
        background: #128c5e !important;
        border-color: #128c5e !important;
        box-shadow: 0 12px 24px rgba(18, 140, 94, 0.2) !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a:hover,
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a:focus-visible {
        filter: brightness(0.96) !important;
        transform: translateY(-1px) !important;
    }

    html body .footer-floating-contact,
    html[dir="ltr"] body .footer-floating-contact,
    html[dir="rtl"] body .footer-floating-contact,
    html body .footer-floating-contact.is-email,
    html body .footer-floating-contact.is-whatsapp,
    html[dir="ltr"] body .footer-floating-contact.footer-floating-contact.is-email,
    html[dir="rtl"] body .footer-floating-contact.footer-floating-contact.is-email,
    html[dir="ltr"] body .footer-floating-contact.footer-floating-contact.is-whatsapp,
    html[dir="rtl"] body .footer-floating-contact.footer-floating-contact.is-whatsapp {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body #scroll-top,
    html body #scroll-top.psfm-scroll-top-visible,
    html[dir="rtl"] body #scroll-top,
    html[dir="rtl"] body #scroll-top.psfm-scroll-top-visible {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: fixed !important;
        right: 12px !important;
        left: auto !important;
        bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 14px) !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        border-radius: 999px !important;
        background: #d71920 !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: 0 12px 28px rgba(215, 25, 32, 0.24) !important;
        z-index: 2147482991 !important;
    }

    html body #scroll-top i {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    html body .psfm-ai-assistant:not(.is-open),
    html body .psfm-ai-assistant.is-home-page:not(.is-open),
    html body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    html body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) {
        position: fixed !important;
        top: auto !important;
        right: 12px !important;
        left: auto !important;
        bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 66px) !important;
        width: auto !important;
        max-width: min(260px, calc(100vw - 24px)) !important;
        height: auto !important;
        max-height: none !important;
        transform: none !important;
        z-index: 2147482991 !important;
    }

    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher,
    html body .psfm-ai-assistant.is-home-page:not(.is-open) .psfm-ai-launcher,
    html body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) .psfm-ai-launcher {
        width: auto !important;
        min-width: 42px !important;
        max-width: min(240px, calc(100vw - 24px)) !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        background: #d71920 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: 0 14px 30px rgba(215, 25, 32, 0.24) !important;
    }

    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-text {
        display: inline-flex !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-icon,
    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-icon i {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    html[dir="rtl"] body .psfm-ai-assistant:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-home-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open),
    body .psfm-ai-assistant[dir="rtl"]:not(.is-open) {
        right: auto !important;
        left: 12px !important;
    }

    html[dir="rtl"] body #scroll-top,
    html[dir="rtl"] body #scroll-top.psfm-scroll-top-visible {
        right: 12px !important;
        left: auto !important;
    }

    html body footer,
    html body .footer-area {
        padding-bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 72px) !important;
    }
}

@media (max-width: 380px) {
    html body {
        --psfm-mobile-bottom-safe-offset: 86px;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta,
    html[dir="rtl"] body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta {
        gap: 7px !important;
        padding-inline: 10px !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a,
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a[href*="wa.me"],
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a[data-psfm-cta*="whatsapp"],
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a[data-psfm-cta="mobile_sticky_call"],
    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a[data-psfm-cta="mobile_sticky_quote"] {
        min-height: 54px !important;
        padding: 8px 7px !important;
        gap: 5px !important;
        font-size: 0.78rem !important;
    }

    html body .psfm-mobile-action-bar.psfm-mobile-whatsapp-only.psfm-mobile-three-cta > a i {
        font-size: 1em !important;
    }
}

/* Final mobile QA guard: remove pre-footer gaps, duplicate CTA stacks, and hidden assistant states. */
@media (max-width: 991.98px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    html body main.main,
    html body main.vendor-registration-page,
    html body .main {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    html body main.main :where(
        .homepage-shell,
        .homepage-proof-strip,
        .homepage-seo-authority-section,
        .homepage-procurement-path,
        .homepage-operational-snapshot,
        .project-highlights,
        .project-highlights-section
    ) {
        content-visibility: visible !important;
        contain: none !important;
        contain-intrinsic-size: auto !important;
    }

    html body main.main > section:last-of-type,
    html body main.main > .homepage-shell.pt-0:last-of-type,
    html body main.vendor-registration-page > section:last-of-type {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    html body main.main .homepage-shell.pt-0:last-of-type,
    html body main.main .homepage-shell.pt-0:last-of-type .container {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    html body main.main .cta-banner.cta-banner,
    html body main.main .client-trust-cta.client-trust-cta,
    html body main.vendor-registration-page .vendor-final-cta.vendor-final-cta {
        margin-bottom: 0 !important;
        padding: clamp(22px, 5.5vw, 34px) clamp(18px, 5vw, 26px) !important;
    }

    html body main.main .cta-banner.cta-banner .row {
        row-gap: 14px !important;
    }

    html body main.main .cta-banner.cta-banner .hero-actions,
    html body main.main .client-trust-cta.client-trust-cta .client-trust-cta-actions,
    html body main.vendor-registration-page .vendor-final-cta.vendor-final-cta .vendor-final-actions {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body main.main .cta-banner.cta-banner :where(h1, h2, h3, h4, h5, h6, p, span):not(.site-title-tagline),
    html body main.main .client-trust-cta.client-trust-cta :where(h1, h2, h3, h4, h5, h6, p, span, a):not(.site-title-tagline):not(.theme-btn),
    html body main.vendor-registration-page .vendor-hero :where(h1, h2, h3, h4, h5, h6, p, span):not(.vendor-kicker),
    html body main.vendor-registration-page .vendor-final-cta.vendor-final-cta :where(h1, h2, h3, h4, h5, h6, p, span):not(.vendor-label) {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    html body main.main .client-trust-contact.client-trust-contact,
    html body main.main .client-trust-contact.client-trust-contact span,
    html body main.main .client-trust-contact.client-trust-contact a {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    html body main.main .client-trust-contact.client-trust-contact a {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-align: inherit !important;
    }

    html body .footer-area,
    html body footer.footer-area,
    html body footer {
        margin-top: 0 !important;
        padding-bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 72px) !important;
    }

    html body .footer-floating-contact,
    html[dir="ltr"] body .footer-floating-contact,
    html[dir="rtl"] body .footer-floating-contact,
    html body .footer-floating-contact.footer-floating-contact,
    html body .footer-floating-contact.footer-floating-contact.is-email,
    html body .footer-floating-contact.footer-floating-contact.is-whatsapp,
    html[dir="ltr"] body .footer-floating-contact.footer-floating-contact.is-email,
    html[dir="ltr"] body .footer-floating-contact.footer-floating-contact.is-whatsapp,
    html[dir="rtl"] body .footer-floating-contact.footer-floating-contact.is-email,
    html[dir="rtl"] body .footer-floating-contact.footer-floating-contact.is-whatsapp {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    html.psfm-ai-assistant-viewport-ready body .psfm-ai-assistant.is-home-page:not(.is-open),
    html.psfm-ai-assistant-viewport-ready body .psfm-ai-assistant.is-home-page.is-home-mobile-first-viewport:not(.is-open),
    html body .psfm-ai-assistant:not(.is-open),
    html body .psfm-ai-assistant.is-home-page:not(.is-open),
    html body .psfm-ai-assistant.is-home-page.is-home-mobile-first-viewport:not(.is-open),
    html body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    html body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open) {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        position: fixed !important;
        top: auto !important;
        right: 12px !important;
        left: auto !important;
        bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 66px) !important;
        width: auto !important;
        max-width: min(250px, calc(100vw - 24px)) !important;
        height: auto !important;
        transform: none !important;
        z-index: 2147482992 !important;
    }

    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 42px !important;
        max-width: min(240px, calc(100vw - 24px)) !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        background: #d71920 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: 0 14px 30px rgba(215, 25, 32, 0.24) !important;
    }

    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-text {
        position: static !important;
        display: inline-flex !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-size: 0.86rem !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-icon,
    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-icon i,
    html body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-icon svg {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    html[dir="rtl"] body .psfm-ai-assistant:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-home-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-home-page.is-home-mobile-first-viewport:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-mobile-compact-page:not(.is-open),
    html[dir="rtl"] body .psfm-ai-assistant.is-conversion-critical-page:not(.is-open),
    body .psfm-ai-assistant[dir="rtl"]:not(.is-open) {
        right: auto !important;
        left: 12px !important;
    }
}
