/* 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;
    }
}

@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;
}
