/* Keep homepage image layouts and their inherited typography unchanged. */
.public-content.lang-fa .dynamic-page-wrapper {
    --bruntab-red: #C62828;
    --fs-h1: 2.5rem;
    --fs-h2: 1.875rem;
    --fs-h3: 1.375rem;
    --fs-body: 1.0625rem;
    --fs-body-sm: .875rem;
    --fs-caption: .875rem;
    --fs-micro: .875rem;
    --lh-loose: 1.9;
    font-size: var(--fs-body);
    line-height: 1.9;
}
.public-content.lang-fa .dynamic-page-wrapper h1 { font-size: var(--fs-h1) !important; line-height: 1.5; }
.public-content.lang-fa .dynamic-page-wrapper h2 { font-size: var(--fs-h2) !important; line-height: 1.6; }
.public-content.lang-fa .dynamic-page-wrapper h3 { font-size: var(--fs-h3) !important; line-height: 1.6; }
.public-content.lang-fa .dynamic-page-wrapper :is(p, li, td, th, summary) { font-size: var(--fs-body); line-height: 1.9; }
.public-content.lang-fa .dynamic-page-wrapper :is(small, figcaption) { font-size: .875rem; line-height: 1.9; }
.public-content.lang-fa .dynamic-page-wrapper :is([class$="eyebrow"],[class$="badge"]) { font-size: .875rem; }
.public-home .hero-cover-badge { background: #C62828 !important; }
.public-content .industry-landing { --ind-red: #C62828; }
.public-content .ev-landing { --ev-red: #C62828; }
.public-content .dynamic-page-wrapper [id], .public-home #home-services-title { scroll-margin-top: 11rem; }
[data-theme="dark"] .public-content :is(.ev-landing,.industry-landing,.energy-landing,.software-landing,.hvac-landing) a:not(.btn):not([class*="-btn"]) { color: #a9ceff; }
[data-theme="dark"] .public-content :is(.energy-eyebrow,.hvac-eyebrow,.industry-eyebrow,.ev-eyebrow) { color: #ffb4ab; }
.public-home .home-primary-heading { font-size: 2.5rem; line-height: 1.5; }
@media (min-width: 992px) {
    /* Use the available hero width without changing the image grid. */
    .public-home.lang-fa .home-primary-heading {
        max-width: none;
        font-size: clamp(1.75rem, 2.9vw, 2.375rem);
    }
}
.public-home .home-services-section :is(p,li) { font-size: 1.0625rem; line-height: 1.9; }
.public-home .home-services-section h2 { font-size: 1.875rem; line-height: 1.6; }
.public-home .home-services-section h3 { font-size: 1.375rem; line-height: 1.6; }
.public-home .home-services-section .services-tab-panel { grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-feasibility { padding: 1.25rem 0; text-align: center; }
.home-feasibility .btn { white-space: normal; line-height: 1.9; }
.mobile-chat-label { display: none; }
.decision-guide { padding: 3rem 0; background: var(--bg-secondary,#f5f7fa); color: var(--text-main,#172b46); }
.decision-guide .container { max-width: 1120px; }
.decision-guide h2, .decision-guide h3 { color: #00378B; }
.decision-guide table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; table-layout: fixed; }
.decision-guide th, .decision-guide td { padding: 1rem; border: 1px solid #b8c8dc; text-align: start; vertical-align: top; overflow-wrap: anywhere; }
.decision-guide thead { background: #e7eef7; }
.decision-guide th:first-child { width: 30%; }
.decision-guide a { color: #00378B; text-decoration: underline; text-underline-offset: .2em; }
.decision-evidence { border-inline-start: 4px solid #00378B; padding: 1rem 1.5rem; background: var(--bg-primary,#fff); margin-top: 1.5rem; }
.decision-guide .decision-updated { font-size: .875rem !important; color: #4b5563; }
.public-content .dynamic-page-wrapper .btn-danger,
.public-content .water-sticky-cta,
.public-home .home-feasibility .btn { background: #C62828; color: #fff; }
[data-theme="dark"] .decision-guide { background: #101c2e; color: #e6edf7; }
[data-theme="dark"] .decision-guide :is(h2,h3,a) { color: #a9ceff; }
[data-theme="dark"] .decision-guide thead { background: #253750; }
[data-theme="dark"] .decision-evidence { background: #17263d; border-color: #a9ceff; }
[data-theme="dark"] .decision-guide .decision-updated { color: #c5cddd; }
@media(max-width: 1100px) {
    .public-home .home-services-section .services-tab-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 767px) {
    .public-content.lang-fa .dynamic-page-wrapper { --fs-h1: 1.75rem; --fs-h2: 1.5rem; --fs-h3: 1.25rem; --fs-body: 1rem; }
    .public-home .home-primary-heading { font-size: 1.75rem; }
    .public-home .home-services-section h2 { font-size: 1.5rem; }
    .public-home .home-services-section h3 { font-size: 1.25rem; }
    .public-home .home-services-section :is(p,li) { font-size: 1rem; }
    .decision-guide th, .decision-guide td { padding: .65rem; }
    .decision-evidence { padding: 1rem; }
    /* The water CTA joins normal flow; it cannot cover the chat or content. */
    .public-content .water-sticky-cta { position: static; width: fit-content; max-width: calc(100% - 2rem); margin: 1rem auto; transform: none; }
    /* Mobile contact controls occupy their own row after the footer. */
    body:is(.public-home,.public-content) #bruntab-chat-widget {
        position: relative; inset: auto !important; align-items: center !important;
        padding: 1rem; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
    }
    body:is(.public-home,.public-content) #chat-trigger { width: auto; max-width: 100%; border-radius: 1rem; padding: 1rem; gap: .75rem; height: auto; min-height: 3.5rem; }
    body:is(.public-home,.public-content) .mobile-chat-label { display: inline; font-size: 1rem; }
    body:is(.public-home,.public-content) :is(#chat-tooltip,.bubble-pulse-ring) { display: none; }
    body:is(.public-home,.public-content) .back-to-top { display: none; }
    body:is(.public-home,.public-content) #chat-panel {
        position: fixed; inset: auto 1rem 1rem !important; width: auto !important;
        max-width: none !important; height: min(38rem,calc(100dvh - 2rem)); max-height: calc(100dvh - 2rem);
    }
}
@media(max-width: 560px) {
    .public-home .home-services-section .services-tab-panel { grid-template-columns: minmax(0,1fr); }
}
