﻿/* Industry pages â€” responsive layout modeled on landing/contractor.html
   Contractor uses --content-max + --side-inset = max(pad-x, (100vw - max) / 2).
   That keeps a stable content rail and correct gutters on every screen size. */

body:has(.lm-page),
body:has(.rm-page),
body:has(.dm-page),
body:has(.ro-page),
body:has(.hs-page),
body:has(.hc-page),
body:has(.ms-page),
body:has(.fw-page), body:has(.bp-page), body:has(.rf-page), body:has(.ps-page), body:has(.re-page), body:has(.eh-page), body:has(.ad-page) {
    --industry-content-max: 1292px;
    --industry-pad-x: 24px;
    --industry-side-inset: max(var(--industry-pad-x), calc((100vw - var(--industry-content-max)) / 2));
    overflow-x: clip;
}

.lm-page,
.rm-page,
.dm-page,
.ro-page,
.hs-page,
.hc-page,
.ms-page, .fw-page, .bp-page, .rf-page, .ps-page, .re-page, .eh-page, .ad-page {
    overflow-x: clip;
}

/* Header shares the same content rail as page sections */
body:has(.lm-page) .ub-navbar,
body:has(.rm-page) .ub-navbar,
body:has(.dm-page) .ub-navbar,
body:has(.ro-page) .ub-navbar,
body:has(.hs-page) .ub-navbar,
body:has(.hc-page) .ub-navbar,
body:has(.ms-page) .ub-navbar,
body:has(.fw-page) .ub-navbar,
body:has(.bp-page) .ub-navbar,
body:has(.rf-page) .ub-navbar,
body:has(.ps-page) .ub-navbar,
body:has(.re-page) .ub-navbar,
body:has(.eh-page) .ub-navbar,
body:has(.ad-page) .ub-navbar {
    padding-left: var(--industry-side-inset);
    padding-right: var(--industry-side-inset);
    box-sizing: border-box;
}

body:has(.lm-page) .ub-navbar-inner,
body:has(.rm-page) .ub-navbar-inner,
body:has(.dm-page) .ub-navbar-inner,
body:has(.ro-page) .ub-navbar-inner,
body:has(.hs-page) .ub-navbar-inner,
body:has(.hc-page) .ub-navbar-inner,
body:has(.ms-page) .ub-navbar-inner,
body:has(.fw-page) .ub-navbar-inner,
body:has(.bp-page) .ub-navbar-inner,
body:has(.rf-page) .ub-navbar-inner,
body:has(.ps-page) .ub-navbar-inner,
body:has(.re-page) .ub-navbar-inner,
body:has(.eh-page) .ub-navbar-inner,
body:has(.ad-page) .ub-navbar-inner,
body:has(.lm-page) .ub-mega-panel,
body:has(.rm-page) .ub-mega-panel,
body:has(.dm-page) .ub-mega-panel,
body:has(.ro-page) .ub-mega-panel,
body:has(.hs-page) .ub-mega-panel,
body:has(.hc-page) .ub-mega-panel,
body:has(.ms-page) .ub-mega-panel,
body:has(.fw-page) .ub-mega-panel,
body:has(.bp-page) .ub-mega-panel,
body:has(.rf-page) .ub-mega-panel,
body:has(.ps-page) .ub-mega-panel,
body:has(.re-page) .ub-mega-panel,
body:has(.eh-page) .ub-mega-panel,
body:has(.ad-page) .ub-mega-panel {
    max-width: var(--industry-content-max);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Replace global width:90% â€” use contractor-style side insets */
.lm-page .container-width,
.rm-page .container-width,
.dm-page .container-width,
.ro-page .container-width,
.hs-page .container-width,
.hc-page .container-width,
.ms-page .container-width,
.fw-page .container-width, .bp-page .container-width, .rf-page .container-width, .ps-page .container-width, .re-page .container-width, .eh-page .container-width, .ad-page .container-width {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: var(--industry-side-inset);
    padding-right: var(--industry-side-inset);
    box-sizing: border-box;
}

.lm-page .strategys-bookings-sections,
.rm-page .strategys-bookings-sections,
.dm-page .strategys-bookings-sections,
.ro-page .strategys-bookings-sections,
.hs-page .strategys-bookings-sections,
.hc-page .strategys-bookings-sections,
.ms-page .strategys-bookings-sections,
.fw-page .strategys-bookings-sections,
.bp-page .strategys-bookings-sections,
.rf-page .strategys-bookings-sections,
.ps-page .strategys-bookings-sections, .re-page .strategys-bookings-sections, .eh-page .strategys-bookings-sections, .ad-page .strategys-bookings-sections {
    padding-left: var(--industry-side-inset) !important;
    padding-right: var(--industry-side-inset) !important;
    box-sizing: border-box;
}

.lm-page .strategys-bookings-sections .strategys-calendars-cards,
.rm-page .strategys-bookings-sections .strategys-calendars-cards,
.dm-page .strategys-bookings-sections .strategys-calendars-cards,
.ro-page .strategys-bookings-sections .strategys-calendars-cards,
.hs-page .strategys-bookings-sections .strategys-calendars-cards,
.hc-page .strategys-bookings-sections .strategys-calendars-cards,
.ms-page .strategys-bookings-sections .strategys-calendars-cards,
.fw-page .strategys-bookings-sections .strategys-calendars-cards,
.bp-page .strategys-bookings-sections .strategys-calendars-cards,
.rf-page .strategys-bookings-sections .strategys-calendars-cards,
.ps-page .strategys-bookings-sections .strategys-calendars-cards, .re-page .strategys-bookings-sections .strategys-calendars-cards, .eh-page .strategys-bookings-sections .strategys-calendars-cards, .ad-page .strategys-bookings-sections .strategys-calendars-cards {
    max-width: var(--industry-content-max);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Fluid headlines â€” contractor uses clamp(..., vw, ...) */
.lm-hero h1,
.rm-hero h1,
.dm-hero h1,
.ro-hero h1,
.hs-hero h1,
.hc-hero h1,
.ms-hero h1,
.fw-hero h1,
.bp-hero h1,
.rf-hero h1,
.ps-hero h1, .re-hero h1, .eh-hero h1, .ad-hero h1 {
    font-size: clamp(32px, 3.6vw, 55px) !important;
    line-height: 1.15 !important;
}

.lm-stats-header h2,
.rm-stats-header h2,
.dm-stats-header h2,
.ro-stats-header h2,
.hs-stats-header h2,
.hc-stats-header h2,
.ms-stats-header h2,
.fw-stats-header h2,
.bp-stats-header h2,
.rf-stats-header h2,
.ps-stats-header h2, .re-stats-header h2, .eh-stats-header h2, .ad-stats-header h2,
.lm-growth-header h2,
.rm-growth-header h2,
.dm-growth-header h2,
.ro-growth-header h2,
.hs-growth-header h2,
.ub-growth-header h2,
.lm-niches-header h2,
.rm-niches-header h2,
.dm-niches-header h2,
.hs-niches-header h2,
.hc-niches-header h2,
.ms-niches-header h2,
.fw-niches-header h2,
.bp-niches-header h2,
.rf-niches-header h2,
.ps-niches-header h2, .re-niches-header h2, .eh-niches-header h2, .ad-niches-header h2,
.lm-comparison-header h2,
.rm-comparison-header h2,
.dm-comparison-header h2,
.hs-comparison-header h2,
.hc-comparison-header h2,
.ms-comparison-header h2,
.fw-comparison-header h2,
.bp-comparison-header h2,
.rf-comparison-header h2,
.ps-comparison-header h2, .re-comparison-header h2, .eh-comparison-header h2, .ad-comparison-header h2,
.hs-reviews-header h2,
.ms-reviews-header h2,
.fw-reviews-header h2,
.bp-reviews-header h2,
.rf-reviews-header h2,
.ps-reviews-header h2, .re-reviews-header h2, .eh-reviews-header h2, .ad-reviews-header h2,
.ro-problems-header h2,
.lm-services-header h2,
.rm-services-header h2,
.dm-services-header h2,
.ro-services-header h2,
.hs-services-header h2,
.ms-services-header h2,
.fw-services-header h2,
.bp-services-header h2,
.rf-services-header h2,
.ps-services-header h2, .re-services-header h2, .eh-services-header h2, .ad-services-header h2,
.lm-why h2,
.rm-why h2,
.dm-why h2,
.hs-why h2,
.hs-why-header h2,
.ms-why-header h2,
.fw-why-header h2,
.bp-why-header h2,
.rf-why-header h2,
.ps-why-header h2, .re-why-header h2, .eh-why-header h2, .ad-why-header h2,
.ro-why-left h2,
.ro-process-header h2,
.lm-faq-header h2,
.rm-faq-header h2,
.dm-faq-header h2,
.ro-faq-header h2,
.hs-faq-header h2,
.ms-faq-header h2,
.fw-faq-header h2,
.bp-faq-header h2,
.rf-faq-header h2,
.ps-faq-header h2, .re-faq-header h2, .eh-faq-header h2, .ad-faq-header h2,
.ub-ai-demo h2 {
    font-size: clamp(28px, 3vw, 44px) !important;
    line-height: 1.2 !important;
}

@media (min-width: 1200px) {
    body:has(.lm-page),
    body:has(.rm-page),
    body:has(.dm-page),
    body:has(.ro-page),
body:has(.hs-page),
body:has(.hc-page),
body:has(.ms-page),
body:has(.fw-page), body:has(.bp-page), body:has(.rf-page), body:has(.ps-page), body:has(.re-page), body:has(.eh-page), body:has(.ad-page) {
        --industry-pad-x: 40px;
    }

    .lm-hero,
    .rm-hero,
    .dm-hero {
        min-height: min(760px, calc(100dvh - 110px));
        height: auto;
        background-size: cover;
        background-position: right center;
        background-repeat: no-repeat;
    }

    .ro-hero,
    .hs-hero,
    .hc-hero,
    .ms-hero,
.fw-hero,
.bp-hero,
.rf-hero,
.ps-hero, .re-hero, .eh-hero, .ad-hero {
        min-height: min(760px, calc(100dvh - 110px));
        background-size: cover;
        background-position: right center;
        background-repeat: no-repeat;
    }
}

/* Ultra-wide: religious + home-services match law-firm hero framing */
@media (min-width: 1600px) {
    .ro-hero,
    .hs-hero {
        height: auto !important;
        min-height: min(760px, calc(100dvh - 110px));
        padding-top: 110px;
        padding-bottom: 60px;
        background-size: cover !important;
        background-position: right center !important;
        background-repeat: no-repeat;
    }

    .hc-hero,
    .ms-hero,
.fw-hero,
.bp-hero,
.rf-hero,
.ps-hero, .re-hero, .eh-hero, .ad-hero {
        height: auto !important;
        min-height: min(760px, calc(100dvh - 110px));
        padding-top: 110px;
        padding-bottom: 60px;
        background-size: cover !important;
        background-position: right center !important;
        background-repeat: no-repeat;
    }

    .ro-hero::before,
    .hs-hero::before,
    .hc-hero::before,
    .ms-hero::before,
.fw-hero::before,
.bp-hero::before,
.rf-hero::before,
.ps-hero::before, .re-hero::before, .eh-hero::before, .ad-hero::before {
        background: linear-gradient(
            to right,
            rgba(255, 255, 255, 0.94) 0%,
            rgba(255, 255, 255, 0.78) 34%,
            rgba(255, 255, 255, 0.2) 58%,
            rgba(255, 255, 255, 0) 74%
        );
    }

    body:has(.lm-page),
    body:has(.rm-page),
    body:has(.dm-page),
    body:has(.ro-page),
    body:has(.hs-page),
body:has(.hc-page),
body:has(.ms-page),
body:has(.fw-page), body:has(.bp-page), body:has(.rf-page), body:has(.ps-page), body:has(.re-page), body:has(.eh-page), body:has(.ad-page) {
        --industry-content-max: 1400px;
        --industry-pad-x: 48px;
    }

    .lm-stats,
    .rm-stats,
    .dm-stats,
    .ro-stats,
    .hs-stats,
    .lm-growth,
    .rm-growth,
    .dm-growth,
    .ro-growth,
    .hs-growth,
    .ub-growth,
    .lm-services,
    .rm-services,
    .dm-services,
    .ro-services,
    .hs-services,
    .lm-faq,
    .rm-faq,
    .dm-faq,
    .ro-faq,
    .hs-faq,
    .hs-niches,
    .hs-comparison,
    .hs-reviews,
    .hs-why,
    .ub-ai-demo {
        padding-top: clamp(64px, 5vw, 96px);
        padding-bottom: clamp(64px, 5vw, 96px);
    }

    .ub-ai-demo-body {
        max-width: 1080px;
    }
}

@media (min-width: 1920px) {
    body:has(.lm-page),
    body:has(.rm-page),
    body:has(.dm-page),
    body:has(.ro-page),
body:has(.hs-page),
body:has(.hc-page),
body:has(.ms-page),
body:has(.fw-page), body:has(.bp-page), body:has(.rf-page), body:has(.ps-page), body:has(.re-page), body:has(.eh-page), body:has(.ad-page) {
        --industry-content-max: 1520px;
        --industry-pad-x: 56px;
    }

    .lm-hero h1,
    .rm-hero h1,
    .dm-hero h1,
    .ro-hero h1,
.hs-hero h1 {
        font-size: clamp(48px, 2.8vw, 60px) !important;
    }

    .ub-ai-demo-body {
        max-width: 1160px;
    }

    .lm-growth-layout,
    .rm-growth-layout,
    .dm-growth-layout,
    .ro-growth-layout,
.hs-growth-layout,
    .ub-growth-layout {
        gap: clamp(32px, 3vw, 64px);
    }
}

@media (min-width: 2560px) {
    body:has(.lm-page),
    body:has(.rm-page),
    body:has(.dm-page),
    body:has(.ro-page),
body:has(.hs-page),
body:has(.hc-page),
body:has(.ms-page),
body:has(.fw-page), body:has(.bp-page), body:has(.rf-page), body:has(.ps-page), body:has(.re-page), body:has(.eh-page), body:has(.ad-page) {
        --industry-content-max: 1680px;
        --industry-pad-x: 64px;
    }

    .lm-hero h1,
    .rm-hero h1,
    .dm-hero h1,
    .ro-hero h1,
.hs-hero h1 {
        font-size: clamp(52px, 2.4vw, 64px) !important;
    }

    .lm-stats-header h2,
    .rm-stats-header h2,
    .dm-stats-header h2,
    .ro-stats-header h2,
.hs-stats-header h2,
    .lm-growth-header h2,
    .rm-growth-header h2,
    .dm-growth-header h2,
    .ro-growth-header h2,
.hs-growth-header h2,
    .ub-growth-header h2,
    .lm-services-header h2,
    .rm-services-header h2,
    .dm-services-header h2,
    .ro-services-header h2,
.hs-services-header h2,
    .lm-faq-header h2,
    .rm-faq-header h2,
    .dm-faq-header h2,
    .ro-faq-header h2,
.hs-faq-header h2,
.ms-faq-header h2,
.fw-faq-header h2,
.bp-faq-header h2,
.rf-faq-header h2,
.ps-faq-header h2, .re-faq-header h2, .eh-faq-header h2, .ad-faq-header h2,
    .ro-why-left h2,
    .ro-problems-header h2,
    .ro-process-header h2,
    .ub-ai-demo h2 {
        font-size: clamp(40px, 2vw, 52px) !important;
    }

    .ub-ai-demo-body {
        max-width: 1240px;
    }
}

/* Contact band uses the same side inset */
@media (min-width: 1200px) {
    .lm-contact-inner,
    .rm-contact-inner,
    .dm-contact-inner,
    .ro-contact-inner,
.hs-contact-inner {
        max-width: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: var(--industry-side-inset);
        padding-right: var(--industry-side-inset);
        box-sizing: border-box;
    }
}

/* Contractor-style tablet / mobile insets */
@media (max-width: 1100px) {
    body:has(.lm-page),
    body:has(.rm-page),
    body:has(.dm-page),
    body:has(.ro-page),
body:has(.hs-page),
body:has(.hc-page),
body:has(.ms-page),
body:has(.fw-page), body:has(.bp-page), body:has(.rf-page), body:has(.ps-page), body:has(.re-page), body:has(.eh-page), body:has(.ad-page) {
        --industry-pad-x: 20px;
    }
}

@media (max-width: 800px) {
    body:has(.lm-page),
    body:has(.rm-page),
    body:has(.dm-page),
    body:has(.ro-page),
body:has(.hs-page),
body:has(.hc-page),
body:has(.ms-page),
body:has(.fw-page), body:has(.bp-page), body:has(.rf-page), body:has(.ps-page), body:has(.re-page), body:has(.eh-page), body:has(.ad-page) {
        --industry-pad-x: 16px;
    }
}

@media (max-width: 480px) {
    body:has(.lm-page),
    body:has(.rm-page),
    body:has(.dm-page),
    body:has(.ro-page),
body:has(.hs-page),
body:has(.hc-page),
body:has(.ms-page),
body:has(.fw-page), body:has(.bp-page), body:has(.rf-page), body:has(.ps-page), body:has(.re-page), body:has(.eh-page), body:has(.ad-page) {
        --industry-pad-x: 14px;
    }
}

