/* Extracted from the PSFM Blade layout so browsers can cache these route-shared rules. */

        @media (max-width: 991.98px) {
            html body {
                --psfm-mobile-bottom-safe-offset: 94px !important;
                overflow-x: hidden !important;
            }

            html body main.main .premium-product-hero .premium-product-panel,
            html body main.main .premium-product-hero .premium-product-panel * {
                color: #07172c !important;
                -webkit-text-fill-color: #07172c !important;
                opacity: 1 !important;
            }

            html body main.main .premium-product-hero .premium-product-panel p,
            html body main.main .premium-product-hero .premium-product-panel li,
            html body main.main .premium-product-hero .premium-product-panel span,
            html body main.main .premium-product-hero .premium-product-panel small {
                color: #334155 !important;
                -webkit-text-fill-color: #334155 !important;
            }

            html body main.main :where(.vendor-hero, .vendor-final-cta, .cta-area, .client-trust-cta, .mid-cta-card, .premium-product-hero) :where(.theme-btn-white, .vendor-btn-light, .vendor-trust-card, .vendor-mini-card, .vendor-section-card, .service-highlight-card, .service-stat-card, .service-fact-card, .service-feature-card, .service-operating-model-card, .service-deliverable-card, .service-scope-card, .quote-review-card, .hero-review-card, .review-card, .contact-card, .contact-info, .card) {
                background: #ffffff !important;
                color: #07172c !important;
                -webkit-text-fill-color: #07172c !important;
                border-color: #dbe5ef !important;
                opacity: 1 !important;
            }

            html body main.main :where(.vendor-hero, .vendor-final-cta, .cta-area, .client-trust-cta, .mid-cta-card, .premium-product-hero) :where(.theme-btn-white, .vendor-btn-light, .vendor-trust-card, .vendor-mini-card, .vendor-section-card, .service-highlight-card, .service-stat-card, .service-fact-card, .service-feature-card, .service-operating-model-card, .service-deliverable-card, .service-scope-card, .quote-review-card, .hero-review-card, .review-card, .contact-card, .contact-info, .card) :where(h1, h2, h3, h4, h5, h6, strong, b, span, a, label, dt, dd) {
                color: #07172c !important;
                -webkit-text-fill-color: #07172c !important;
                opacity: 1 !important;
            }

            html body main.main :where(.vendor-hero, .vendor-final-cta, .cta-area, .client-trust-cta, .mid-cta-card, .premium-product-hero) :where(.theme-btn-white, .vendor-btn-light, .vendor-trust-card, .vendor-mini-card, .vendor-section-card, .service-highlight-card, .service-stat-card, .service-fact-card, .service-feature-card, .service-operating-model-card, .service-deliverable-card, .service-scope-card, .quote-review-card, .hero-review-card, .review-card, .contact-card, .contact-info, .card) :where(p, li, small, em) {
                color: #334155 !important;
                -webkit-text-fill-color: #334155 !important;
                opacity: 1 !important;
            }

            html body main.main :where(.theme-btn-white, .vendor-btn-light, a[href^="mailto:"]) {
                white-space: nowrap !important;
                overflow-wrap: normal !important;
                word-break: keep-all !important;
            }

            html body main.main .client-trust-contact .psfm-head-office-hours__row {
                display: grid !important;
                grid-template-columns: minmax(104px, 1fr) max-content !important;
                align-items: center !important;
                gap: 10px !important;
                width: 100% !important;
            }

            html body main.main .client-trust-contact .psfm-head-office-hours__row dt,
            html body main.main .client-trust-contact .psfm-head-office-hours__row dd {
                min-width: 0 !important;
                margin: 0 !important;
                white-space: nowrap !important;
                overflow-wrap: normal !important;
                word-break: keep-all !important;
            }

            body #scroll-top,
            body #scroll-top.psfm-scroll-top-visible {
                top: auto !important;
                bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 78px) !important;
                left: 12px !important;
                right: auto !important;
                width: 44px !important;
                height: 44px !important;
                min-width: 44px !important;
                z-index: 2147482991 !important;
            }

            html[dir="rtl"] body #scroll-top,
            html[dir="rtl"] body #scroll-top.psfm-scroll-top-visible {
                right: 12px !important;
                left: auto !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: auto !important;
                bottom: calc(var(--psfm-mobile-bottom-safe-offset) + env(safe-area-inset-bottom, 0px) + 78px) !important;
                right: 12px !important;
                left: auto !important;
                max-width: min(184px, calc(100vw - 84px)) !important;
                z-index: 2147482992 !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) {
                left: 12px !important;
                right: auto !important;
            }

            body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher {
                max-width: 100% !important;
                height: 42px !important;
                min-height: 42px !important;
                padding: 0 12px !important;
                gap: 7px !important;
            }

            body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-text {
                max-width: 112px !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
                white-space: nowrap !important;
            }
        }

        @media (max-width: 380px) {
            html body main.main .client-trust-contact .psfm-head-office-hours__row {
                grid-template-columns: minmax(96px, 1fr) max-content !important;
                gap: 8px !important;
            }

            html body main.main .client-trust-contact .psfm-head-office-hours__row dt,
            html body main.main .client-trust-contact .psfm-head-office-hours__row dd {
                font-size: 0.78rem !important;
            }

            body .psfm-ai-assistant:not(.is-open) {
                max-width: min(168px, calc(100vw - 76px)) !important;
            }

            body .psfm-ai-assistant:not(.is-open) .psfm-ai-launcher-text {
                max-width: 98px !important;
            }
        }

        @media (max-width: 575.98px) {
            html,
            html body {
                width: 100% !important;
                max-width: 100vw !important;
                overflow-x: hidden !important;
            }

            html body > header.header,
            html body .main-navigation,
            html body .main-navigation .navbar,
            html body .main-navigation .custom-nav-shell {
                width: 100% !important;
                max-width: 100vw !important;
                min-width: 0 !important;
                overflow: hidden !important;
                box-sizing: border-box !important;
            }

            html body .main-navigation .custom-nav-shell,
            html[dir="rtl"] body .main-navigation .custom-nav-shell {
                display: flex !important;
                align-items: center !important;
                justify-content: space-between !important;
                padding: 8px 10px !important;
                gap: 8px !important;
                direction: ltr !important;
            }

            html body .main-navigation .header-brand,
            html body .main-navigation .navbar-brand,
            html[dir="rtl"] body .main-navigation .header-brand,
            html[dir="rtl"] body .main-navigation .navbar-brand {
                flex: 1 1 auto !important;
                min-width: 0 !important;
                max-width: calc(100vw - 112px) !important;
                overflow: hidden !important;
            }

            html body .main-navigation .header-brand img,
            html body .main-navigation .navbar-brand img,
            html[dir="rtl"] body .main-navigation .header-brand img,
            html[dir="rtl"] body .main-navigation .navbar-brand img {
                display: block !important;
                width: auto !important;
                max-width: min(168px, calc(100vw - 122px)) !important;
                max-height: 44px !important;
                object-fit: contain !important;
            }

            html body .main-navigation .mobile-menu-right,
            html[dir="rtl"] body .main-navigation .mobile-menu-right {
                flex: 0 0 92px !important;
                width: 92px !important;
                min-width: 92px !important;
                max-width: 92px !important;
                display: flex !important;
                align-items: center !important;
                justify-content: flex-end !important;
                gap: 7px !important;
                margin: 0 !important;
                padding: 0 !important;
                overflow: visible !important;
                direction: ltr !important;
            }

            html body .main-navigation .mobile-search-btn,
            html body .main-navigation .navbar-toggler,
            html[dir="rtl"] body .main-navigation .mobile-search-btn,
            html[dir="rtl"] body .main-navigation .navbar-toggler {
                width: 44px !important;
                min-width: 44px !important;
                max-width: 44px !important;
                height: 44px !important;
                min-height: 44px !important;
                flex: 0 0 44px !important;
                padding: 0 !important;
            }

            html body main.main,
            html body main.main section,
            html body main.main .container {
                width: 100% !important;
                max-width: 100vw !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
                overflow-x: hidden !important;
            }

            html body main.main .container {
                padding-left: 12px !important;
                padding-right: 12px !important;
            }

            html body main.main .homepage-hero,
            html[dir="rtl"] body main.main .homepage-hero {
                padding: 32px 0 30px !important;
                overflow: hidden !important;
            }

            html body main.main .homepage-hero > .container,
            html body main.main .homepage-hero .hero-layout,
            html body main.main .homepage-hero .hero-copy,
            html body main.main .homepage-hero .hero-visual-wrap,
            html body main.main .homepage-hero .hero-visual-card,
            html[dir="rtl"] body main.main .homepage-hero > .container,
            html[dir="rtl"] body main.main .homepage-hero .hero-layout,
            html[dir="rtl"] body main.main .homepage-hero .hero-copy,
            html[dir="rtl"] body main.main .homepage-hero .hero-visual-wrap,
            html[dir="rtl"] body main.main .homepage-hero .hero-visual-card {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                box-sizing: border-box !important;
                overflow: hidden !important;
            }

            html body main.main .homepage-hero .hero-layout,
            html[dir="rtl"] body main.main .homepage-hero .hero-layout {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) !important;
                gap: 18px !important;
                padding: 18px !important;
                border-radius: 14px !important;
            }

            html body main.main .homepage-hero .hero-kicker,
            html[dir="rtl"] body main.main .homepage-hero .hero-kicker {
                display: flex !important;
                flex-wrap: wrap !important;
                width: 100% !important;
                max-width: 100% !important;
                justify-content: center !important;
                white-space: normal !important;
                overflow: hidden !important;
                text-align: center !important;
                line-height: 1.25 !important;
                letter-spacing: 0.04em !important;
            }

            html body main.main .homepage-hero .hero-copy h1,
            html body main.main .homepage-hero .hero-copy h1 span,
            html body main.main .homepage-hero .hero-copy p,
            html body main.main .homepage-hero .hero-market-note,
            html body main.main .homepage-hero .hero-market-note span,
            html[dir="rtl"] body main.main .homepage-hero .hero-copy h1,
            html[dir="rtl"] body main.main .homepage-hero .hero-copy h1 span,
            html[dir="rtl"] body main.main .homepage-hero .hero-copy p,
            html[dir="rtl"] body main.main .homepage-hero .hero-market-note,
            html[dir="rtl"] body main.main .homepage-hero .hero-market-note span {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                overflow-wrap: anywhere !important;
                word-break: normal !important;
                white-space: normal !important;
            }

            html body main.main .homepage-hero .hero-copy h1,
            html[dir="rtl"] body main.main .homepage-hero .hero-copy h1 {
                font-size: clamp(1.82rem, 7.6vw, 2.18rem) !important;
                line-height: 1.14 !important;
            }

            html body main.main .homepage-hero .hero-copy p,
            html[dir="rtl"] body main.main .homepage-hero .hero-copy p {
                font-size: 0.96rem !important;
                line-height: 1.62 !important;
            }

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

            html body main.main .homepage-hero .hero-actions .theme-btn,
            html body main.main .homepage-hero .hero-actions .theme-btn-white,
            html[dir="rtl"] body main.main .homepage-hero .hero-actions .theme-btn,
            html[dir="rtl"] body main.main .homepage-hero .hero-actions .theme-btn-white {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                min-height: 50px !important;
                padding: 10px 14px !important;
                white-space: normal !important;
                overflow: hidden !important;
                text-align: center !important;
                justify-content: center !important;
            }

            html body .psfm-mobile-action-bar.psfm-mobile-three-cta,
            html[dir="rtl"] body .psfm-mobile-action-bar.psfm-mobile-three-cta {
                left: 6px !important;
                right: 6px !important;
                width: calc(100vw - 12px) !important;
                max-width: calc(100vw - 12px) !important;
                padding: 8px !important;
                gap: 6px !important;
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                overflow: hidden !important;
                box-sizing: border-box !important;
            }

            html body .psfm-mobile-action-bar.psfm-mobile-three-cta > a,
            html[dir="rtl"] body .psfm-mobile-action-bar.psfm-mobile-three-cta > a {
                min-width: 0 !important;
                width: 100% !important;
                padding: 8px 6px !important;
                font-size: 0.78rem !important;
                line-height: 1.1 !important;
                white-space: normal !important;
                overflow: hidden !important;
            }

            html body main.main :where(.site-breadcrumb-wrapper, .hero-banner),
            html[dir="rtl"] body main.main :where(.site-breadcrumb-wrapper, .hero-banner) {
                background-color: #07172c !important;
                background-image:
                    linear-gradient(135deg, rgba(7, 23, 44, 0.94), rgba(11, 32, 58, 0.90)),
                    var(--psfm-breadcrumb-bg, none) !important;
                background-size: cover !important;
                background-position: center !important;
                color: #ffffff !important;
                -webkit-text-fill-color: initial !important;
            }

            html body main.main :where(.premium-product-hero, .vendor-hero, .seo-card.seo-hero, .service-single-hero, .industry-hero-card, .career-hero-panel),
            html[dir="rtl"] body main.main :where(.premium-product-hero, .vendor-hero, .seo-card.seo-hero, .service-single-hero, .industry-hero-card, .career-hero-panel) {
                background:
                    linear-gradient(135deg, rgba(7, 23, 44, 0.97), rgba(11, 32, 58, 0.93)),
                    var(--psfm-premium-product-hero-bg, none) !important;
                background-color: #07172c !important;
                background-size: cover !important;
                background-position: center !important;
                color: #ffffff !important;
                -webkit-text-fill-color: initial !important;
                opacity: 1 !important;
            }

            html body main.main :where(.site-breadcrumb-wrapper, .hero-banner, .premium-product-hero, .vendor-hero, .seo-card.seo-hero, .service-single-hero, .industry-hero-card, .career-hero-panel) :where(h1, h2, h3, h4, h5, h6, strong, b):not(.theme-btn-white *):not(.vendor-btn-light *),
            html[dir="rtl"] body main.main :where(.site-breadcrumb-wrapper, .hero-banner, .premium-product-hero, .vendor-hero, .seo-card.seo-hero, .service-single-hero, .industry-hero-card, .career-hero-panel) :where(h1, h2, h3, h4, h5, h6, strong, b):not(.theme-btn-white *):not(.vendor-btn-light *) {
                color: #ffffff !important;
                -webkit-text-fill-color: #ffffff !important;
                opacity: 1 !important;
            }

            html body main.main :where(.site-breadcrumb-wrapper, .hero-banner, .premium-product-hero, .vendor-hero, .seo-card.seo-hero, .service-single-hero, .industry-hero-card, .career-hero-panel) :where(p, li, small, em, span):not(.theme-btn):not(.theme-btn-white):not(.vendor-btn):not(.vendor-btn-light):not(.seo-kicker):not(.premium-product-kicker):not(.vendor-kicker),
            html[dir="rtl"] body main.main :where(.site-breadcrumb-wrapper, .hero-banner, .premium-product-hero, .vendor-hero, .seo-card.seo-hero, .service-single-hero, .industry-hero-card, .career-hero-panel) :where(p, li, small, em, span):not(.theme-btn):not(.theme-btn-white):not(.vendor-btn):not(.vendor-btn-light):not(.seo-kicker):not(.premium-product-kicker):not(.vendor-kicker) {
                color: rgba(255, 255, 255, 0.92) !important;
                -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
                opacity: 1 !important;
            }

            html body main.main :where(.premium-product-panel, .vendor-hero-point, .vendor-info-card, .service-hero-stat, .service-hero-note, .quote-review-card, .hero-review-card, .review-card, .service-highlight-card, .service-feature-card, .service-scope-card),
            html[dir="rtl"] body main.main :where(.premium-product-panel, .vendor-hero-point, .vendor-info-card, .service-hero-stat, .service-hero-note, .quote-review-card, .hero-review-card, .review-card, .service-highlight-card, .service-feature-card, .service-scope-card) {
                background: #ffffff !important;
                color: #07172c !important;
                -webkit-text-fill-color: initial !important;
                border-color: #dbe5ef !important;
                opacity: 1 !important;
            }

            html body main.main :where(.premium-product-panel, .vendor-hero-point, .vendor-info-card, .service-hero-stat, .service-hero-note, .quote-review-card, .hero-review-card, .review-card, .service-highlight-card, .service-feature-card, .service-scope-card) :where(h1, h2, h3, h4, h5, h6, strong, b, span, label, dt, dd, a),
            html[dir="rtl"] body main.main :where(.premium-product-panel, .vendor-hero-point, .vendor-info-card, .service-hero-stat, .service-hero-note, .quote-review-card, .hero-review-card, .review-card, .service-highlight-card, .service-feature-card, .service-scope-card) :where(h1, h2, h3, h4, h5, h6, strong, b, span, label, dt, dd, a) {
                color: #07172c !important;
                -webkit-text-fill-color: #07172c !important;
                opacity: 1 !important;
            }

            html body main.main :where(.premium-product-panel, .vendor-hero-point, .vendor-info-card, .service-hero-stat, .service-hero-note, .quote-review-card, .hero-review-card, .review-card, .service-highlight-card, .service-feature-card, .service-scope-card) :where(p, li, small, em),
            html[dir="rtl"] body main.main :where(.premium-product-panel, .vendor-hero-point, .vendor-info-card, .service-hero-stat, .service-hero-note, .quote-review-card, .hero-review-card, .review-card, .service-highlight-card, .service-feature-card, .service-scope-card) :where(p, li, small, em) {
                color: #334155 !important;
                -webkit-text-fill-color: #334155 !important;
                opacity: 1 !important;
            }
        }
