/*
 Theme Name:   Renowise Child
 Theme URI:    http://renowise.bold-themes.com
 Description:  Renowise child theme
 Author:       BoldThemes
 Author URI:   http://bold-themes.com
 Template:     renowise
 Version:      1.0.0
 Tags:         one-column, right-sidebar, custom-menu, featured-images, sticky-post, theme-options, threaded-comments, translation-ready
 Text Domain:  renowise-child
*/


/* Theme customization starts here
-------------------------------------------------------------- */

/**
 * Vertex Facility Solutions brand palette
 * Charcoal/black surfaces 60%, neutral grays 25%, gold accents 15%.
 * Gold is reserved for accents and interactive details, not field backgrounds.
 */
:root {
    --vertex-gold: #B68A46;
    --vertex-antique-gold: #77542D;
    --vertex-charcoal: #141515;
    --vertex-black: #080806;
    --vertex-graphite: #272522;
    --vertex-warm-gray: #463D34;
    --vertex-slate: #645E59;
    --vertex-taupe: #84766A;
    --vertex-silver: #C0BEBC;
    --vertex-white: #DAD7D6;
}

/* Global light and dark surfaces */
body,
.btLightSkin {
    color: var(--vertex-graphite);
    background-color: var(--vertex-white);
}

.btDarkSkin,
.btDarkSkin.btBoxedPage .btContentWrap {
    color: var(--vertex-white);
    background-color: var(--vertex-charcoal);
}

.btLightSkin h1,
.btLightSkin h2,
.btLightSkin h3,
.btLightSkin h4,
.btLightSkin h5,
.btLightSkin h6,
.btLightSkin .bt_bb_headline_content,
.btLightSkin .bt_bb_headline_superheadline,
.btLightSkin .bt_bb_headline_subheadline {
    color: var(--vertex-charcoal);
}

.btDarkSkin h1,
.btDarkSkin h2,
.btDarkSkin h3,
.btDarkSkin h4,
.btDarkSkin h5,
.btDarkSkin h6,
.btDarkSkin .bt_bb_headline_content,
.btDarkSkin .bt_bb_headline_superheadline,
.btDarkSkin .bt_bb_headline_subheadline {
    color: var(--vertex-white);
}

/* Brand accent and accessible interaction states */
.btContent a,
.btText a,
.mainHeader a:hover,
.mainHeader a:focus,
.btSiteFooter a:hover,
.btSiteFooter a:focus,
.bt_bb_headline_superheadline,
.bt_bb_icon_holder,
.bt_bb_service_content_title a:hover {
    color: var(--vertex-gold);
}

::selection {
    color: var(--vertex-black);
    background: var(--vertex-gold);
}

:focus-visible {
    outline: 2px solid var(--vertex-gold);
    outline-offset: 3px;
}

/* Header and footer surfaces */
.btStickyHeaderActive .mainHeader,
.btMenuVertical .mainHeader,
.btVerticalHeaderTop,
.btSiteFooter,
.btSiteFooterWidgets {
    color: var(--vertex-white);
    background-color: var(--vertex-charcoal);
}

/* Give the desktop logo breathing room inside the 90px header. */
@media (min-width: 992px) {
    .btLogoArea .logo img {
        width: auto;
        height: 76px;
        margin-top: 7px;
    }

    .btStickyHeaderActive.btMenuHorizontal .mainHeader .btLogoArea .logo img {
        height: 68px;
        margin-top: 6.5px;
    }
}

.btSiteFooter,
.btSiteFooterWidgets {
    border-color: var(--vertex-warm-gray);
}

.btSiteFooter a,
.btSiteFooterWidgets a {
    color: var(--vertex-silver);
}

/* Footer dark-surface contrast, including the reusable Bold Builder footer. */
.btSiteFooter,
.btSiteFooter .bt_bb_section,
.btSiteFooter :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    li,
    address,
    .bt_bb_headline_content,
    .bt_bb_headline_superheadline,
    .bt_bb_headline_subheadline,
    .bt_bb_service_content_title,
    .bt_bb_text
),
.btSiteFooterWidgets,
.btSiteFooterWidgets :where(h1, h2, h3, h4, h5, h6, p, li, address) {
    color: var(--vertex-white) !important;
}

.btSiteFooter .bt_bb_custom_menu a,
.btSiteFooterWidgets a {
    color: var(--vertex-silver) !important;
}

.btSiteFooter a:hover,
.btSiteFooter a:focus,
.btSiteFooter .bt_bb_custom_menu a:hover,
.btSiteFooter .bt_bb_custom_menu a:focus,
.btSiteFooterWidgets a:hover,
.btSiteFooterWidgets a:focus {
    color: var(--vertex-gold) !important;
}

.btSiteFooter .bt_bb_headline_content b,
.btSiteFooter .bt_bb_headline_content strong,
.btSiteFooter .bt_bb_headline_superheadline b,
.btSiteFooter .bt_bb_headline_superheadline strong {
    color: var(--vertex-gold) !important;
}

/* Forms and neutral UI */
input:not([type='submit']),
textarea,
select,
.fancy-select .trigger,
.fancy-select ul.options {
    color: var(--vertex-graphite);
    background-color: var(--vertex-white);
    border-color: var(--vertex-silver);
}

input:not([type='submit']):focus,
textarea:focus,
select:focus,
.fancy-select .trigger:focus {
    border-color: var(--vertex-gold);
    box-shadow: 0 0 0 1px var(--vertex-gold);
}

hr,
.bt_bb_separator.bt_bb_border_style_solid,
.bt_bb_separator.bt_bb_border_style_dashed,
.bt_bb_separator.bt_bb_border_style_dotted,
table,
th,
td {
    border-color: var(--vertex-silver);
}

/* Small branded controls may use gold; large content fields stay charcoal. */
button,
input[type='submit'],
.bt_bb_button a,
.bt_bb_style_filled.bt_bb_color_scheme_6 .bt_bb_button_text {
    border-color: var(--vertex-gold);
}

button:hover,
button:focus,
input[type='submit']:hover,
input[type='submit']:focus {
    color: var(--vertex-black);
    background-color: var(--vertex-gold);
}

/* Site-wide button label visibility and deterministic hover contrast. */
.bt_bb_button a .bt_bb_button_text,
.btButtonWidgetLink .btButtonWidgetText {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Filled buttons: dark hover surface with white label. */
.bt_bb_button.bt_bb_style_filled:hover a,
.bt_bb_button.bt_bb_style_filled a:hover,
.bt_bb_button.bt_bb_style_filled:focus-within a,
.bt_bb_button.bt_bb_style_filled a:focus {
    color: var(--vertex-white) !important;
    -webkit-text-fill-color: var(--vertex-white) !important;
    background-color: var(--vertex-charcoal) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .32) !important;
    opacity: 1 !important;
}

/* Outline buttons: gold hover surface with dark label. */
.bt_bb_button.bt_bb_style_outline:hover a,
.bt_bb_button.bt_bb_style_outline a:hover,
.bt_bb_button.bt_bb_style_outline:focus-within a,
.bt_bb_button.bt_bb_style_outline a:focus {
    color: var(--vertex-black) !important;
    -webkit-text-fill-color: var(--vertex-black) !important;
    background-color: var(--vertex-gold) !important;
    box-shadow: 0 0 0 2px var(--vertex-gold) inset !important;
    opacity: 1 !important;
}

/* Clean buttons remain clean and use the gold label on interaction. */
.bt_bb_button.bt_bb_style_clean:hover a,
.bt_bb_button.bt_bb_style_clean a:hover,
.bt_bb_button.bt_bb_style_clean:focus-within a,
.bt_bb_button.bt_bb_style_clean a:focus {
    color: var(--vertex-gold) !important;
    -webkit-text-fill-color: var(--vertex-gold) !important;
    background-color: transparent !important;
    opacity: 1 !important;
}

/* Header and form controls use the same readable filled-button behavior. */
.btButtonWidgetLink:hover,
.btButtonWidgetLink:focus,
button:hover,
button:focus,
input[type='submit']:hover,
input[type='submit']:focus {
    color: var(--vertex-white) !important;
    -webkit-text-fill-color: var(--vertex-white) !important;
    background-color: var(--vertex-charcoal) !important;
    opacity: 1 !important;
}

/* Utility classes for future Vertex content sections. */
.vertex-surface-dark {
    color: var(--vertex-white);
    background-color: var(--vertex-charcoal);
}

.vertex-surface-dark h1,
.vertex-surface-dark h2,
.vertex-surface-dark h3,
.vertex-surface-dark h4,
.vertex-surface-dark h5,
.vertex-surface-dark h6,
.vertex-surface-dark p,
.vertex-surface-dark .bt_bb_headline_content,
.vertex-surface-dark .bt_bb_headline_subheadline,
.vertex-surface-dark .bt_bb_button a {
    color: var(--vertex-white) !important;
}

/*
 * Automatic contrast for every Bold Builder field using a Vertex dark surface.
 * This covers sections, rows, columns, cards and image-content overlays across
 * all demo templates, including legacy inline text colors.
 */
:is(
    .vertex-surface-dark,
    [style*="#272522" i],
    [style*="#141515" i],
    [style*="#080806" i],
    [style*="rgb(39, 37, 34)" i],
    [style*="rgb(20, 21, 21)" i],
    [style*="rgb(8, 8, 6)" i],
    [style*="rgba(39, 37, 34" i],
    [style*="rgba(20, 21, 21" i],
    [style*="rgba(8, 8, 6" i]
) {
    color: var(--vertex-white);
}

:is(
    .vertex-surface-dark,
    [style*="#272522" i],
    [style*="#141515" i],
    [style*="#080806" i],
    [style*="rgb(39, 37, 34)" i],
    [style*="rgb(20, 21, 21)" i],
    [style*="rgb(8, 8, 6)" i],
    [style*="rgba(39, 37, 34" i],
    [style*="rgba(20, 21, 21" i],
    [style*="rgba(8, 8, 6" i]
) :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    li,
    address,
    .bt_bb_headline_content,
    .bt_bb_headline_subheadline,
    .bt_bb_text
) {
    color: var(--vertex-white) !important;
}

:is(
    .vertex-surface-dark,
    [style*="#272522" i],
    [style*="#141515" i],
    [style*="#080806" i],
    [style*="rgb(39, 37, 34)" i],
    [style*="rgb(20, 21, 21)" i],
    [style*="rgb(8, 8, 6)" i],
    [style*="rgba(39, 37, 34" i],
    [style*="rgba(20, 21, 21" i],
    [style*="rgba(8, 8, 6" i]
) span:is(
    [style*="#272522" i],
    [style*="#141515" i],
    [style*="#080806" i],
    [style*="rgb(39, 37, 34)" i],
    [style*="rgb(20, 21, 21)" i],
    [style*="rgb(8, 8, 6)" i],
    [style*="rgba(39, 37, 34" i],
    [style*="rgba(20, 21, 21" i],
    [style*="rgba(8, 8, 6" i]
):not([style*="#DAD7D6" i]):not([style*="rgb(218, 215, 214)" i]) {
    color: var(--vertex-white) !important;
}

:is(
    .vertex-surface-dark,
    [style*="#272522" i],
    [style*="#141515" i],
    [style*="#080806" i]
) a:hover,
:is(
    .vertex-surface-dark,
    [style*="#272522" i],
    [style*="#141515" i],
    [style*="#080806" i]
) a:focus {
    color: var(--vertex-gold) !important;
}

.vertex-dark-overlay,
.vertex-dark-overlay :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    li,
    address,
    .bt_bb_headline_content,
    .bt_bb_headline_superheadline,
    .bt_bb_headline_subheadline
) {
    color: var(--vertex-white) !important;
}

.vertex-dark-overlay .bt_bb_headline_content a {
    color: var(--vertex-white) !important;
}

.vertex-dark-overlay .bt_bb_headline_content b,
.vertex-dark-overlay .bt_bb_headline_content strong,
.vertex-dark-overlay .bt_bb_headline_superheadline b,
.vertex-dark-overlay .bt_bb_headline_superheadline strong {
    color: var(--vertex-gold) !important;
}

.vertex-dark-overlay a:hover,
.vertex-dark-overlay a:focus {
    color: var(--vertex-gold) !important;
}

.vertex-surface-black {
    color: var(--vertex-white);
    background-color: var(--vertex-black);
}

.vertex-surface-neutral {
    color: var(--vertex-graphite);
    background-color: var(--vertex-white);
}

.vertex-accent {
    color: var(--vertex-gold);
}

/**
 * Vertex homepage structural review v2
 * Existing Renowise demo sections, normalized for balance and responsiveness.
 */
.vertex-home-hero {
    overflow: hidden;
}

.vertex-home-hero > .bt_bb_port {
    padding-top: clamp(2.5rem, 5vh, 4.5rem) !important;
    padding-bottom: clamp(2.5rem, 5vh, 4.5rem) !important;
}

.vertex-home-hero .bt_bb_headline_tag {
    line-height: 1.03 !important;
}

.vertex-home-hero .bt_bb_size_extralarge .bt_bb_headline_tag {
    font-size: clamp(3.5rem, 4vw, 4rem) !important;
    line-height: 1.04 !important;
}

.vertex-home-quick-info {
    position: relative;
    z-index: 3;
}

.vertex-home-quick-row {
    position: relative;
    z-index: 20 !important;
    margin-top: 1.5rem;
}

.vertex-home-quick-row .bt_bb_column,
.vertex-home-quick-row .bt_bb_column_inner {
    color: var(--vertex-white);
}

.vertex-home-quick-row .bt_bb_column_content {
    min-height: 8rem;
}

.vertex-home-services-cards .bt_bb_row:last-child {
    align-items: stretch;
    margin-top: clamp(2.5rem, 4vw, 4rem);
}

.vertex-home-services-cards .bt_bb_row:last-child > .bt_bb_row_holder {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}

.vertex-home-services-cards .bt_bb_row:last-child > .bt_bb_row_holder > .bt_bb_column {
    display: flex;
    align-items: stretch;
}

.vertex-home-services-cards .bt_bb_row:last-child > .bt_bb_row_holder > .bt_bb_column > .bt_bb_column_content,
.vertex-home-services-cards .bt_bb_row:last-child > .bt_bb_row_holder > .bt_bb_column > .bt_bb_column_content > .bt_bb_column_content_inner {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
}

.vertex-home-services-cards .bt_bb_column_content {
    overflow: hidden;
}

.vertex-home-services-cards .bt_bb_row:last-child > .bt_bb_row_holder > .bt_bb_column > .bt_bb_column_content > .bt_bb_column_content_inner {
    position: relative;
    padding-bottom: 5rem;
}

.vertex-home-services-cards .bt_bb_button {
    position: absolute;
    bottom: 2rem;
    left: 2.5rem;
    margin: 0 !important;
}

.vertex-home-services-cards .bt_bb_headline {
    min-height: 8.5rem;
}

.vertex-home-services-cards .bt_bb_image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.vertex-home-services-cards .bt_bb_button a,
.vertex-home-services-cards .bt_bb_icon_holder {
    color: var(--vertex-gold) !important;
}

.vertex-home-marie-signature {
    overflow: hidden;
}

.vertex-home-marie-signature .bt_bb_image img {
    object-fit: contain;
}

.vertex-home-contact-tiles .bt_bb_column_content {
    min-height: 18rem;
}

.vertex-home-contact-tiles .bt_bb_icon_holder {
    color: var(--vertex-gold) !important;
}

.vertex-home-restaurant-experience .bt_bb_image {
    max-width: 25rem;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .vertex-home-hero {
        position: relative;
        z-index: 2;
        height: min(calc(100vh - 1rem), 60rem);
        min-height: min(calc(100vh - 1rem), 60rem);
        overflow: hidden;
    }

    .vertex-home-hero > .bt_bb_port {
        height: 100%;
        min-height: 0;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .vertex-home-hero > .bt_bb_port > .bt_bb_cell {
        height: 100%;
        min-height: 0;
    }

    .vertex-home-hero > .bt_bb_port > .bt_bb_cell > .bt_bb_cell_inner {
        display: flex;
        width: 100%;
        height: 100%;
        min-height: 0;
        flex-direction: column;
    }

    .vertex-home-hero > .bt_bb_port > .bt_bb_cell > .bt_bb_cell_inner > .bt_bb_row:first-child {
        display: flex;
        flex: 1 1 auto;
        align-items: center;
        transform: none;
    }

    .vertex-home-quick-row {
        position: relative !important;
        top: auto !important;
        left: auto;
        bottom: auto;
        width: auto;
        margin-top: -4rem !important;
        margin-bottom: 0 !important;
        transform: none;
    }
}

@media (max-width: 991px) {
    .vertex-home-hero > .bt_bb_port {
        padding-top: 2.25rem !important;
        padding-bottom: 2.5rem !important;
    }

    .vertex-home-hero .bt_bb_size_extralarge .bt_bb_headline_tag {
        font-size: clamp(2.35rem, 8vw, 4rem) !important;
    }

    /* The branded desktop technician is too wide for the narrow text layout. */
    .vertex-home-hero .btHandyman {
        display: none !important;
    }

    .vertex-home-quick-row {
        position: relative;
        left: auto;
        bottom: auto;
        width: auto;
        margin-top: 1.5rem;
        margin-bottom: 0;
        transform: none;
    }

    .vertex-home-services-cards .bt_bb_column {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    .vertex-home-restaurant-experience .bt_bb_column {
        margin-bottom: 1.5rem;
    }

    .vertex-home-restaurant-experience .bt_bb_separator {
        display: none !important;
    }
}

@media (max-width: 620px) {
    .vertex-home-hero > .bt_bb_port {
        padding-top: 1.5rem !important;
        padding-bottom: 2rem !important;
    }

    .vertex-home-hero .bt_bb_size_extralarge .bt_bb_headline_tag {
        font-size: clamp(2.05rem, 10vw, 3rem) !important;
    }

    .vertex-home-quick-row {
        margin-top: 1.5rem;
    }

    .vertex-home-quick-row .bt_bb_column_content {
        min-height: 0;
    }

    .vertex-home-services-cards .bt_bb_column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .vertex-home-services-cards .bt_bb_headline,
    .vertex-home-contact-tiles .bt_bb_column_content {
        min-height: 0;
    }
}

@media (min-width: 992px) and (max-width: 1279px) {
    .vertex-home-hero .btHandyman {
        display: none !important;
    }
}

@media (min-width: 1280px) {
    .vertex-home-hero .btHandyman {
        transform: translate(-8%, -10%) !important;
    }
}

/* Request-service section: uniform image overlay with regular-weight description copy. */
.vertex-home-contact-map .bt_bb_background_image_holder {
    filter: brightness(0.68) saturate(0.95) !important;
}

.vertex-home-contact-map .bt_bb_headline_subheadline {
    font-weight: 400 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.78) !important;
}

/* Marie's name uses the Vertex gold accent; her role stays Soft White. */
.vertex-home-marie-signature .bt_bb_row_inner .bt_bb_headline_content,
.vertex-home-marie-signature .bt_bb_row_inner .bt_bb_headline_content span {
    color: #B68A46 !important;
}

.vertex-home-marie-signature .bt_bb_headline_subheadline {
    color: #DAD7D6 !important;
}

/* Marie leadership portrait: demo-style section-edge overflow. */
.vertex-home-marie-signature {
    position: relative !important;
    z-index: 3;
    overflow: visible !important;
}

.vertex-home-marie-signature .bt_bb_port,
.vertex-home-marie-signature .bt_bb_cell,
.vertex-home-marie-signature .bt_bb_cell_inner,
.vertex-home-marie-signature .bt_bb_row,
.vertex-home-marie-signature .bt_bb_row_holder,
.vertex-home-marie-signature .bt_bb_column,
.vertex-home-marie-signature .bt_bb_column_content {
    overflow: visible !important;
}

.vertex-home-marie-portrait {
    position: relative !important;
    isolation: auto !important;
    z-index: 5 !important;
    width: 100% !important;
    max-width: 29rem !important;
    margin: 0 auto !important;
    overflow: visible !important;
    transform: translateX(-2.5%) scale(1.22) !important;
    transform-origin: center bottom !important;
}

.vertex-home-marie-portrait::before,
.vertex-home-marie-portrait::after {
    content: none !important;
    display: none !important;
}

.vertex-home-marie-portrait img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 1.2rem 1.05rem rgba(0, 0, 0, 0.24)) !important;
}

@media (max-width: 991px) {
    .vertex-home-marie-signature {
        z-index: 1;
    }

    .vertex-home-marie-portrait {
        max-width: 24rem !important;
        margin: 1.5rem auto 0 !important;
        transform: none !important;
    }

    .vertex-home-marie-portrait img {
        filter: drop-shadow(0 1rem 0.9rem rgba(0, 0, 0, 0.22)) !important;
    }
}

@media (max-width: 620px) {
    .vertex-home-marie-portrait {
        max-width: 19rem !important;
        margin-top: 1.25rem !important;
    }
}

/* Vertex About page: complete company and leadership presentation. */
.vertex-about-section {
    position: relative;
}

.vertex-about-section p {
    margin: 0 0 1.05em;
    font-size: 1rem;
    line-height: 1.78;
}

.vertex-about-section .vertex-about-lead {
    font-size: 1.12rem;
    line-height: 1.72;
    font-weight: 500;
}

.vertex-about-section .bt_bb_headline_subheadline {
    font-weight: 400 !important;
    line-height: 1.65;
}

.vertex-about-intro,
.vertex-about-services,
.vertex-about-cta {
    color: #463D34;
}

.vertex-about-intro .bt_bb_headline_content,
.vertex-about-services .bt_bb_headline_content,
.vertex-about-cta .bt_bb_headline_content {
    color: #141515 !important;
}

.vertex-about-intro .bt_bb_headline_superheadline,
.vertex-about-services .bt_bb_headline_superheadline,
.vertex-about-cta .bt_bb_headline_superheadline,
.vertex-about-ceo .bt_bb_headline_superheadline,
.vertex-about-standards .bt_bb_headline_superheadline,
.vertex-about-senior-team .bt_bb_headline_superheadline {
    color: #B68A46 !important;
}

.vertex-about-office-image img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: 0.35rem;
    box-shadow: 0 1.6rem 3.2rem rgba(20, 21, 21, 0.18);
}

.vertex-about-ceo,
.vertex-about-standards,
.vertex-about-senior-team {
    color: #DAD7D6;
}

.vertex-about-ceo .bt_bb_headline_content,
.vertex-about-standards .bt_bb_headline_content {
    color: #FFFFFF !important;
}

.vertex-about-ceo-card {
    max-width: 22rem;
    margin: 0 auto;
    padding: 3rem 2rem;
    border: 1px solid rgba(182, 138, 70, 0.72);
    background: linear-gradient(145deg, rgba(39, 37, 34, 0.96), rgba(8, 8, 6, 0.96));
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.28);
    text-align: center;
}

.vertex-about-ceo-monogram {
    display: grid;
    place-items: center;
    width: 8rem;
    height: 8rem;
    margin: 0 auto 1.6rem;
    border: 2px solid #B68A46;
    border-radius: 50%;
    color: #B68A46;
    font-size: 2.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.vertex-about-ceo-name {
    margin-bottom: 0.35rem !important;
    color: #FFFFFF;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1.75rem !important;
    font-weight: 700;
    line-height: 1.1 !important;
    text-transform: uppercase;
}

.vertex-about-ceo-role {
    margin-bottom: 1.25rem !important;
    color: #B68A46;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vertex-about-ceo-note {
    margin: 0 !important;
    color: #C0BEBC;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

.vertex-about-sources {
    margin-top: 1.4rem !important;
    padding-top: 1rem;
    border-top: 1px solid rgba(218, 215, 214, 0.2);
    color: #C0BEBC;
    font-size: 0.88rem !important;
}

.vertex-about-sources a {
    color: #B68A46 !important;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.vertex-about-service-grid > .bt_bb_row_holder {
    display: flex;
    align-items: stretch;
}

.vertex-about-service-grid > .bt_bb_row_holder > .bt_bb_column,
.vertex-about-service-card .bt_bb_column_content,
.vertex-about-service-card .bt_bb_column_content_inner {
    display: flex;
    flex-direction: column;
}

.vertex-about-service-card .bt_bb_column_content {
    height: 100%;
    overflow: hidden;
    background: #FFFFFF;
    border-bottom: 3px solid #B68A46;
    box-shadow: 0 1rem 2.2rem rgba(20, 21, 21, 0.12);
}

.vertex-about-service-card .bt_bb_column_content_inner {
    flex: 1 1 auto;
    padding-bottom: 2rem;
}

.vertex-about-service-image {
    margin-left: -2rem;
    margin-right: -2rem;
    margin-top: -2rem;
    margin-bottom: 1.5rem;
}

.vertex-about-service-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.vertex-about-service-card .bt_bb_headline_content {
    color: #141515 !important;
}

.vertex-about-service-card p {
    color: #645E59;
}

.vertex-about-service-card .bt_bb_button {
    margin-top: auto;
}

.vertex-about-standards-grid > .bt_bb_row_holder {
    display: flex;
    align-items: stretch;
}

.vertex-about-standard-col .bt_bb_column_content {
    height: 100%;
    background: rgba(20, 21, 21, 0.76);
    border: 1px solid rgba(192, 190, 188, 0.18);
}

.vertex-about-standard {
    height: 100%;
    padding: 2rem 1.4rem;
}

.vertex-about-standard > span {
    display: inline-block;
    margin-bottom: 1.2rem;
    color: #B68A46;
    font-size: 2rem;
    font-weight: 700;
}

.vertex-about-standard h3 {
    margin: 0 0 0.85rem;
    color: #FFFFFF;
    font-size: 1.15rem;
    letter-spacing: 0.03em;
}

.vertex-about-standard p {
    margin: 0;
    color: #C0BEBC;
    font-size: 0.93rem;
}

.vertex-about-senior-team .bt_bb_headline_content {
    color: #FFFFFF !important;
}

.vertex-about-senior-grid > .bt_bb_row_holder {
    display: flex;
    align-items: stretch;
}

.vertex-about-senior-grid > .bt_bb_row_holder > .bt_bb_column,
.vertex-about-senior-col .bt_bb_column_content,
.vertex-about-senior-col .bt_bb_column_content_inner,
.vertex-about-senior-col .bt_bb_text {
    display: flex;
    height: 100%;
}

.vertex-about-senior-col .bt_bb_column_content,
.vertex-about-senior-col .bt_bb_column_content_inner,
.vertex-about-senior-col .bt_bb_text {
    width: 100%;
}

.vertex-about-senior-card {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 32.25rem;
    padding: 2.35rem 2.15rem 2.25rem;
    overflow: hidden;
    border: 1px solid rgba(182, 138, 70, 0.4);
    border-bottom: 3px solid #B68A46;
    background: linear-gradient(145deg, #272522 0%, #141515 68%, #080806 100%);
    box-shadow: 0 1.4rem 2.8rem rgba(0, 0, 0, 0.24);
}

.vertex-about-senior-card::before {
    position: absolute;
    right: -5rem;
    bottom: -6rem;
    width: 12rem;
    height: 12rem;
    border: 1px solid rgba(182, 138, 70, 0.16);
    border-radius: 50%;
    content: "";
}

.vertex-about-senior-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 7rem;
    margin-bottom: 2.1rem;
}

.vertex-about-senior-number {
    color: #B68A46;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 3.25rem;
    font-weight: 700;
    line-height: 1;
}

.vertex-about-senior-initials {
    display: grid;
    place-items: center;
    width: 4.6rem;
    height: 4.6rem;
    border: 1px solid rgba(182, 138, 70, 0.78);
    border-radius: 50%;
    color: #DAD7D6;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.vertex-about-senior-portrait {
    position: relative;
    z-index: 1;
    display: block;
    flex: 0 0 auto;
    width: 7rem;
    height: 7rem;
    padding: 0.22rem;
    overflow: hidden;
    border: 2px solid #B68A46;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0.8rem 1.6rem rgba(0, 0, 0, 0.24);
    box-sizing: border-box;
}

.vertex-about-senior-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 35%;
}

.vertex-about-senior-kicker {
    margin: 0 0 0.7rem !important;
    color: #84766A !important;
    font-size: 0.78rem !important;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.vertex-about-senior-card h3 {
    margin: 0 0 0.7rem;
    color: #FFFFFF;
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1.04;
}

.vertex-about-senior-role {
    min-height: 3.2rem;
    margin: 0 0 1.25rem !important;
    color: #B68A46 !important;
    font-size: 0.95rem !important;
    font-weight: 700;
    line-height: 1.45 !important;
    text-transform: uppercase;
}

.vertex-about-senior-strapline {
    position: relative;
    z-index: 1;
    margin: 0 0 1.5rem !important;
    color: #C0BEBC !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
}

.vertex-about-senior-badge {
    position: relative;
    z-index: 1;
    align-self: flex-start;
    margin-top: auto;
    padding: 0.55rem 0.8rem;
    border: 1px solid rgba(182, 138, 70, 0.52);
    color: #DAD7D6;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.vertex-about-contact-lines {
    margin-top: 1.4rem;
    padding: 1.2rem 1.4rem;
    border-left: 3px solid #B68A46;
    background: rgba(255, 255, 255, 0.55);
}

.vertex-about-contact-lines p {
    margin-bottom: 0.35rem;
}

.vertex-about-contact-lines a {
    color: #77542D !important;
    font-weight: 600;
}

.vertex-about-cta-mark {
    display: grid;
    place-items: center;
    width: 15rem;
    height: 15rem;
    margin: 0 auto;
    border: 2px solid #B68A46;
    border-radius: 50%;
    color: #141515;
    font-size: 7rem;
    font-weight: 700;
    line-height: 1;
}

.vertex-about-cta-mark img {
    display: block;
    width: 58%;
    height: auto;
}

@media (max-width: 1199px) {
    .vertex-about-service-card .bt_bb_column_content_inner {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .vertex-about-service-image {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }
}

@media (max-width: 991px) {
    .vertex-about-service-grid > .bt_bb_row_holder,
    .vertex-about-standards-grid > .bt_bb_row_holder {
        flex-wrap: wrap;
    }

    .vertex-about-service-grid > .bt_bb_row_holder > .bt_bb_column,
    .vertex-about-standards-grid > .bt_bb_row_holder > .bt_bb_column {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin-bottom: 1.5rem;
    }

    .vertex-about-senior-grid > .bt_bb_row_holder {
        flex-wrap: wrap;
    }

    .vertex-about-senior-grid > .bt_bb_row_holder > .bt_bb_column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 1.5rem;
    }

    .vertex-about-senior-card {
        min-height: 28.5rem;
    }
}

@media (max-width: 620px) {
    .vertex-about-service-grid > .bt_bb_row_holder > .bt_bb_column,
    .vertex-about-standards-grid > .bt_bb_row_holder > .bt_bb_column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .vertex-about-ceo-card {
        padding: 2.4rem 1.4rem;
    }

    .vertex-about-ceo-monogram {
        width: 6.5rem;
        height: 6.5rem;
        font-size: 2.2rem;
    }

    .vertex-about-senior-card {
        padding: 1.8rem 1.45rem;
    }

    .vertex-about-senior-card-top {
        margin-bottom: 1.5rem;
    }

    .vertex-about-senior-role {
        min-height: 0;
    }

    .vertex-about-cta-mark {
        width: 10rem;
        height: 10rem;
        font-size: 4.5rem;
    }
}

/* About leadership: approved Ali Lakhany portrait. */
.vertex-about-ceo-identity .bt_bb_column_content {
    width: 100%;
    max-width: 23rem;
    margin: 0 auto;
    overflow: hidden;
    border: 0;
    background: #080806;
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.3);
}

.vertex-about-ceo-identity .bt_bb_column_content_inner {
    padding: 0 !important;
}

.vertex-about-ceo-portrait,
.vertex-about-ceo-portrait span {
    display: block;
    width: 100%;
}

.vertex-about-ceo-portrait img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    object-position: center top;
}

.vertex-about-ceo-signature {
    display: block;
    width: 100%;
    padding: 1.25rem 1.25rem 0.45rem;
    border-top: 3px solid #B68A46;
    box-sizing: border-box;
}

.vertex-about-ceo-signature span {
    display: block;
    width: 100%;
}

.vertex-about-ceo-signature img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 6.5rem;
    margin: 0 auto;
    object-fit: contain;
}

.vertex-about-ceo-photo-meta {
    padding: 0.25rem 1.5rem 1.75rem;
    text-align: center;
}

/* About services v2: compact 2x2 editorial tiles. */
.vertex-about-services > .bt_bb_port > .bt_bb_cell > .bt_bb_cell_inner > .bt_bb_headline {
    max-width: 66rem;
}

.vertex-about-services .bt_bb_headline_subheadline {
    max-width: 52rem;
}

.vertex-about-service-grid > .bt_bb_row_holder {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.vertex-about-service-grid > .bt_bb_row_holder > .vertex-about-service-card {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    margin-bottom: 1.9rem;
}

.vertex-about-service-card .bt_bb_column_content {
    height: auto !important;
    flex: 1 1 auto;
    overflow: hidden;
    border: 1px solid rgba(182, 138, 70, 0.52);
    border-bottom: 0;
    background-color: #141515 !important;
    box-shadow: 0 1.15rem 2.4rem rgba(20, 21, 21, 0.18);
}

.vertex-about-service-card:nth-child(even) .bt_bb_column_content {
    background-color: #272522 !important;
}

.vertex-about-service-card .bt_bb_column_content_inner {
    display: grid;
    grid-template-columns: minmax(13rem, 43%) minmax(0, 57%);
    grid-template-rows: auto 1fr auto;
    height: auto !important;
    flex: 1 1 auto;
    min-height: 22rem;
    padding: 0 !important;
    border-bottom: 4px solid #B68A46;
}

.vertex-about-service-image {
    grid-column: 1;
    grid-row: 1 / 4;
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 22rem;
    margin: 0 !important;
    overflow: hidden;
}

.vertex-about-service-image span {
    position: absolute;
    inset: 0;
    display: block;
}

.vertex-about-service-image img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: inherit;
    max-height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.9) contrast(1.04);
    transition: transform 0.45s ease, filter 0.45s ease;
}

.vertex-about-service-card:hover .vertex-about-service-image img {
    transform: scale(1.035);
    filter: saturate(1) contrast(1.06);
}

.vertex-about-service-card .bt_bb_headline {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 2rem 2rem 0.75rem;
}

.vertex-about-service-card .bt_bb_headline_superheadline {
    margin-bottom: 0.55rem;
    color: #B68A46 !important;
    font-size: 0.82rem;
    letter-spacing: 0.12em;
}

.vertex-about-service-card .bt_bb_headline_content,
.vertex-about-service-card .bt_bb_headline_content span {
    color: #FFFFFF !important;
    font-size: clamp(1.3rem, 1.55vw, 1.72rem);
    line-height: 1.08;
}

.vertex-about-service-card .bt_bb_text {
    grid-column: 2;
    grid-row: 2;
    padding: 0 2rem 1rem;
}

.vertex-about-service-card .bt_bb_text p {
    margin: 0;
    color: #C0BEBC;
    font-size: 0.95rem;
    line-height: 1.65;
}

.vertex-about-service-card .bt_bb_button {
    grid-column: 2;
    grid-row: 3;
    align-self: end;
    margin: 0;
    padding: 0 2rem 2rem;
}

.vertex-about-service-card .bt_bb_button a,
.vertex-about-service-card .bt_bb_button .bt_bb_button_text {
    color: #B68A46 !important;
    -webkit-text-fill-color: #B68A46 !important;
}

@media (max-width: 1199px) {
    .vertex-about-service-card .bt_bb_column_content_inner {
        grid-template-columns: minmax(11rem, 41%) minmax(0, 59%);
    }

    .vertex-about-service-card .bt_bb_headline {
        padding: 1.6rem 1.5rem 0.65rem;
    }

    .vertex-about-service-card .bt_bb_text {
        padding: 0 1.5rem 0.8rem;
    }

    .vertex-about-service-card .bt_bb_button {
        padding: 0 1.5rem 1.6rem;
    }
}

@media (max-width: 991px) {
    .vertex-about-service-grid > .bt_bb_row_holder > .vertex-about-service-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .vertex-about-service-card .bt_bb_column_content_inner {
        grid-template-columns: minmax(16rem, 42%) minmax(0, 58%);
        min-height: 19rem;
    }

    .vertex-about-service-image img {
        min-height: 0;
    }

    .vertex-about-service-image {
        min-height: 19rem;
    }
}

@media (max-width: 620px) {
    .vertex-about-ceo-identity .bt_bb_column_content {
        max-width: 20rem;
    }

    .vertex-about-service-card .bt_bb_column_content_inner {
        display: flex;
        min-height: 0;
    }

    .vertex-about-service-image {
        position: static;
        height: auto;
        min-height: 0;
    }

    .vertex-about-service-image span {
        position: static;
        height: auto;
    }

    .vertex-about-service-image img {
        position: static;
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .vertex-about-service-card .bt_bb_headline {
        padding: 1.6rem 1.5rem 0.65rem;
    }

    .vertex-about-service-card .bt_bb_text {
        padding-bottom: 0.85rem;
    }
}

/* Services page: approved commercial facility service content. */
.vertex-services-section .bt_bb_headline_content { line-height: 1.04; }
.vertex-services-section p { font-size: 1rem; line-height: 1.72; }
.vertex-services-lead { font-size: 1.08rem !important; font-weight: 500; }
.vertex-services-intro-image,
.vertex-services-intro-image span,
.vertex-services-detail-image,
.vertex-services-detail-image span { display: block; width: 100%; }
.vertex-services-intro-image img,
.vertex-services-detail-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.vertex-services-intro-media .bt_bb_column_content,
.vertex-services-detail-media .bt_bb_column_content { overflow: hidden; box-shadow: 0 1.4rem 2.8rem rgba(0,0,0,.22); }
.vertex-services-pills { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.4rem; }
.vertex-services-pills span { padding: .55rem .75rem; border: 1px solid rgba(119,84,45,.36); color: #5E4227; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.vertex-services-detail-section .bt_bb_headline_content { color: #FFFFFF !important; }
.vertex-services-detail-section p { color: #C9C6C2; }
.vertex-services-list { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1.2rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.vertex-services-list li { position: relative; padding: .8rem .85rem .8rem 1.9rem; border: 1px solid rgba(182,138,70,.28); color: #DAD7D6; font-size: .9rem; line-height: 1.45; }
.vertex-services-list li::before { position: absolute; left: .75rem; color: #B68A46; content: "•"; }
.vertex-services-steps > .bt_bb_row_holder { display: flex; align-items: stretch; }
.vertex-services-step-col .bt_bb_column_content,
.vertex-services-step-col .bt_bb_column_content_inner,
.vertex-services-step-col .bt_bb_text { display: flex; width: 100%; height: 100%; }
.vertex-services-step { width: 100%; min-height: 17rem; padding: 1.8rem 1.5rem; border-top: 3px solid #B68A46; background: rgba(255,255,255,.5); }
.vertex-services-step span { display: block; margin-bottom: 1.3rem; color: #B68A46; font-family: "Barlow Condensed",sans-serif; font-size: 2.5rem; font-weight: 700; }
.vertex-services-step h3 { margin: 0 0 .85rem; color: #141515; font-size: 1.05rem; }
.vertex-services-step p { margin: 0; color: #5E5A56; font-size: .92rem; line-height: 1.6; }
.vertex-services-cta .bt_bb_headline_content { color: #FFFFFF !important; }
.vertex-services-cta p { color: #C9C6C2; }
.vertex-services-contact { margin-top: 1.4rem; padding: 1.2rem 1.4rem; border-left: 3px solid #B68A46; background: rgba(255,255,255,.06); }
.vertex-services-contact p { margin-bottom: .35rem; }
.vertex-services-contact a { color: #D8B77D !important; font-weight: 700; }
.vertex-services-cta-icon { display: grid; place-items: center; width: 15rem; height: 15rem; margin: 0 auto; border: 2px solid #B68A46; border-radius: 50%; }
.vertex-services-cta-icon img { display: block; width: 58%; height: auto; filter: brightness(0) invert(1); opacity: .92; }

@media (max-width: 991px) {
    .vertex-services-detail-row > .bt_bb_row_holder { display: flex; flex-direction: column; }
    .vertex-services-detail-row > .bt_bb_row_holder > .bt_bb_column { flex: 0 0 100% !important; max-width: 100% !important; }
    .vertex-services-detail-row .vertex-services-detail-media { order: 1; }
    .vertex-services-detail-row .vertex-services-detail-copy { order: 2; }
    .vertex-services-steps > .bt_bb_row_holder { flex-wrap: wrap; }
    .vertex-services-steps > .bt_bb_row_holder > .bt_bb_column { flex: 0 0 50% !important; max-width: 50% !important; margin-bottom: 1.5rem; }
}

@media (max-width: 620px) {
    .vertex-services-list { grid-template-columns: 1fr; }
    .vertex-services-steps > .bt_bb_row_holder > .bt_bb_column { flex: 0 0 100% !important; max-width: 100% !important; }
    .vertex-services-step { min-height: 0; }
    .vertex-services-cta-icon { width: 10rem; height: 10rem; }
}

/* Team page: complete verified roster and circular frames. */
.page-id-3324 .btPageHeadline { display: none !important; }
.vertex-team-hero {
    min-height: 34rem;
    background-position: center 45% !important;
    background-size: cover !important;
}
.vertex-team-hero::before { background: rgba(8, 8, 6, .64) !important; }
.vertex-team-section .bt_bb_headline { margin-bottom: 2.8rem; }
.vertex-team-grid-wrap,
.vertex-team-grid-wrap .bt_bb_text_content { width: 100%; }
.vertex-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}
.vertex-team-leadership-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vertex-team-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 31rem;
    padding: 2rem 1.65rem 1.8rem;
    overflow: hidden;
    border: 1px solid rgba(182, 138, 70, .4);
    border-bottom: 3px solid #B68A46;
    background: linear-gradient(145deg, #272522 0%, #141515 68%, #080806 100%);
    box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, .22);
    box-sizing: border-box;
}
.vertex-team-card::before {
    position: absolute;
    right: -4rem;
    bottom: -5rem;
    width: 11rem;
    height: 11rem;
    border: 1px solid rgba(182, 138, 70, .16);
    border-radius: 50%;
    content: "";
}
.vertex-team-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 7.25rem;
    margin-bottom: 1.65rem;
}
.vertex-team-number {
    color: #B68A46;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
}
.vertex-team-portrait {
    position: relative;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 7rem;
    height: 7rem;
    padding: .22rem;
    overflow: hidden;
    border: 2px solid #B68A46;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 .8rem 1.6rem rgba(0, 0, 0, .24);
    box-sizing: border-box;
}
.vertex-team-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 35%;
}
.vertex-team-placeholder {
    grid-template-rows: auto auto;
    align-content: center;
    gap: .2rem;
    color: #141515;
    background: #FFFFFF;
}
.vertex-team-placeholder span {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .1em;
}
.vertex-team-placeholder small {
    color: #9B9690;
    font-size: .48rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.vertex-team-kicker {
    margin: 0 0 .7rem !important;
    color: #A29488 !important;
    font-size: .72rem !important;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.vertex-team-card h3 {
    margin: 0 0 .75rem;
    color: #FFFFFF;
    font-size: clamp(1.35rem, 1.7vw, 1.75rem);
    line-height: 1.08;
}
.vertex-team-role {
    min-height: 3.6rem;
    margin: 0 0 1.1rem !important;
    color: #D8B77D !important;
    font-size: .84rem !important;
    font-weight: 700;
    line-height: 1.45 !important;
    text-transform: uppercase;
}
.vertex-team-strapline {
    position: relative;
    z-index: 1;
    margin: 0 0 1.4rem !important;
    color: #C9C6C2 !important;
    font-size: .94rem !important;
    line-height: 1.62 !important;
}
.vertex-team-badge {
    position: relative;
    z-index: 1;
    align-self: flex-start;
    margin-top: auto;
    padding: .5rem .7rem;
    border: 1px solid rgba(182, 138, 70, .55);
    color: #DAD7D6;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.vertex-team-field .bt_bb_headline_content { color: #141515 !important; }
.vertex-team-field-grid .vertex-team-card:last-child:nth-child(3n + 1) { grid-column: 2; }
.vertex-team-certification .bt_bb_headline { margin-bottom: 0; }
.vertex-team-certification .bt_bb_headline_content { color: #FFFFFF !important; }
.vertex-team-cta-button a,
.vertex-team-cta-button .bt_bb_button_text {
    color: #141515 !important;
    -webkit-text-fill-color: #141515 !important;
}
.vertex-team-cta-button a { background: #B68A46 !important; }
.vertex-team-cta-button a:hover,
.vertex-team-cta-button a:focus,
.vertex-team-cta-button a:active { background: #77542D !important; }
.vertex-team-cta-button a:hover,
.vertex-team-cta-button a:focus,
.vertex-team-cta-button a:active,
.vertex-team-cta-button a:hover .bt_bb_button_text,
.vertex-team-cta-button a:focus .bt_bb_button_text,
.vertex-team-cta-button a:active .bt_bb_button_text {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

@media (max-width: 1199px) {
    .vertex-team-leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .vertex-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vertex-team-field-grid .vertex-team-card:last-child:nth-child(3n + 1) { grid-column: auto; }
    .vertex-team-field-grid .vertex-team-card:last-child:nth-child(2n + 1) { grid-column: 1 / -1; width: calc(50% - .75rem); justify-self: center; }
    .vertex-team-card { min-height: 29rem; }
}
@media (max-width: 620px) {
    .vertex-team-hero { min-height: 28rem; background-position: center 45% !important; }
    .vertex-team-grid,
    .vertex-team-leadership-grid { grid-template-columns: 1fr; }
    .vertex-team-field-grid .vertex-team-card:last-child:nth-child(2n + 1) { grid-column: auto; width: 100%; }
    .vertex-team-card { min-height: 0; padding: 1.8rem 1.45rem; }
    .vertex-team-role { min-height: 0; }
    .vertex-team-section .bt_bb_headline { margin-bottom: 2rem; }
}

/* Team circle-only redesign: mirrors the original dummy-page format. */
.vertex-team-grid,
.vertex-team-leadership-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3.5rem 2rem;
    align-items: start;
}
.vertex-team-card {
    align-items: center;
    min-height: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
}
.vertex-team-card::before { display: none; }
.vertex-team-portrait {
    width: clamp(12.5rem, 17vw, 15.5rem);
    height: clamp(12.5rem, 17vw, 15.5rem);
    margin: 0 auto 1.65rem;
    padding: .5rem;
    border: 3px solid #B68A46;
    background: #FFFFFF;
    box-shadow: 0 1rem 2.1rem rgba(0, 0, 0, .2);
}
.vertex-team-placeholder span { font-size: 2.15rem; }
.vertex-team-placeholder small { font-size: .6rem; }
.vertex-team-role {
    min-height: 2.8rem;
    margin: 0 0 .55rem !important;
    font-size: .74rem !important;
    line-height: 1.4 !important;
    letter-spacing: .075em;
}
.vertex-team-card h3 {
    margin: 0 0 .75rem;
    font-size: clamp(1.35rem, 1.65vw, 1.75rem);
    line-height: 1.08;
}
.vertex-team-strapline {
    max-width: 17rem;
    min-height: 3.3rem;
    margin: 0 auto 1rem !important;
    font-size: .88rem !important;
    line-height: 1.55 !important;
}
.vertex-team-badge {
    align-self: center;
    margin-top: 0;
    padding: .45rem .65rem;
}
.vertex-team-leadership .vertex-team-card h3 { color: #FFFFFF; }
.vertex-team-leadership .vertex-team-role { color: #D8B77D !important; }
.vertex-team-leadership .vertex-team-strapline { color: #C9C6C2 !important; }
.vertex-team-field .vertex-team-card h3 { color: #141515; }
.vertex-team-field .vertex-team-role { color: #77542D !important; }
.vertex-team-field .vertex-team-strapline { color: #5E5A56 !important; }
.vertex-team-field .vertex-team-badge { color: #5E4227; border-color: rgba(119, 84, 45, .45); }
.vertex-team-field-grid .vertex-team-card:last-child:nth-child(3n + 1),
.vertex-team-field-grid .vertex-team-card:last-child:nth-child(2n + 1) {
    grid-column: auto;
    width: auto;
    justify-self: stretch;
}
.vertex-team-field-grid .vertex-team-card:last-child:nth-child(4n + 1) {
    grid-column: 2 / span 2;
    width: calc(50% - 1rem);
    justify-self: center;
}

@media (max-width: 991px) {
    .vertex-team-grid,
    .vertex-team-leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vertex-team-portrait { width: 14.5rem; height: 14.5rem; }
    .vertex-team-field-grid .vertex-team-card:last-child:nth-child(4n + 1) {
        grid-column: 1 / -1;
        width: calc(50% - 1rem);
    }
}
@media (max-width: 620px) {
    .vertex-team-grid,
    .vertex-team-leadership-grid { grid-template-columns: 1fr; gap: 3rem; }
    .vertex-team-card { padding: 0; }
    .vertex-team-portrait { width: min(15.5rem, 72vw); height: min(15.5rem, 72vw); }
    .vertex-team-role,
    .vertex-team-strapline { min-height: 0; }
    .vertex-team-field-grid .vertex-team-card:last-child:nth-child(4n + 1) {
        grid-column: auto;
        width: 100%;
    }
}

/* Team roster placement: three leaders; Gerardo moves to the 14-person field grid. */
.vertex-team-leadership-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 60rem;
    margin-right: auto;
    margin-left: auto;
}
.vertex-team-field-grid .vertex-team-card:nth-last-child(2):nth-child(4n + 1) { grid-column: 2; }
@media (max-width: 991px) {
    .vertex-team-leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vertex-team-leadership-grid .vertex-team-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        width: calc(50% - 1rem);
        justify-self: center;
    }
    .vertex-team-field-grid .vertex-team-card:nth-last-child(2):nth-child(4n + 1) { grid-column: auto; }
}
@media (max-width: 620px) {
    .vertex-team-leadership-grid { grid-template-columns: 1fr; }
    .vertex-team-leadership-grid .vertex-team-card:last-child:nth-child(odd) {
        grid-column: auto;
        width: 100%;
    }
}

/* Keep every circle-only team item on shared horizontal baselines. */
@media (min-width: 621px) {
    .vertex-team-card {
        min-height: 35.5rem;
    }
    .vertex-team-role {
        display: flex;
        flex: 0 0 3.6rem;
        align-items: flex-start;
        justify-content: center;
        width: 100%;
        height: 3.6rem;
        min-height: 3.6rem;
        box-sizing: border-box;
    }
    .vertex-team-card h3 {
        display: block;
        flex: 0 0 4.25rem;
        width: 100%;
        height: 4.25rem;
        min-height: 4.25rem;
        font-size: clamp(1.25rem, 1.45vw, 1.5rem);
        text-align: center !important;
        box-sizing: border-box;
    }
    .vertex-team-strapline {
        flex: 0 0 5rem;
        width: 100%;
        height: 5rem;
        min-height: 5rem;
        box-sizing: border-box;
    }
    .vertex-team-badge {
        margin-top: auto;
    }
}

/* Small boxed LinkedIn icon on every portrait hover. */
.vertex-team-card .vertex-team-linkedin {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    width: 3.15rem;
    height: 3.15rem;
    border: 1px solid #B68A46;
    border-radius: .12rem;
    color: #FFFFFF;
    background: rgba(20, 21, 21, .94);
    box-shadow: 0 .45rem 1rem rgba(0, 0, 0, .24);
    opacity: 0;
    transform: translate(-50%, -50%) scale(.9);
    transition: opacity .18s ease, transform .18s ease, color .18s ease, background-color .18s ease;
    pointer-events: none;
}
.vertex-team-card .vertex-team-linkedin svg {
    width: 1.45rem;
    height: 1.45rem;
}
.vertex-team-card .vertex-team-linkedin svg path {
    fill: #FFFFFF !important;
}
.vertex-team-portrait:hover .vertex-team-linkedin,
.vertex-team-card .vertex-team-linkedin:focus-visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
}
.vertex-team-card .vertex-team-linkedin:hover,
.vertex-team-card .vertex-team-linkedin:focus-visible {
    color: #141515;
    background: #B68A46;
}
.vertex-team-card .vertex-team-linkedin:hover svg path,
.vertex-team-card .vertex-team-linkedin:focus-visible svg path {
    fill: #141515 !important;
}
.vertex-team-card .vertex-team-linkedin:focus-visible {
    outline: 3px solid #FFFFFF;
    outline-offset: 2px;
}
@media (hover: none) {
    .vertex-team-card .vertex-team-linkedin {
        top: auto;
        right: .8rem;
        bottom: .8rem;
        left: auto;
        width: 3rem;
        height: 3rem;
        color: #141515;
        background: #B68A46;
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }
    .vertex-team-card .vertex-team-linkedin svg path {
        fill: #141515 !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .vertex-team-card .vertex-team-linkedin { transition: none; }
}

/* Contact page: verified Vertex service-request experience. */
.vertex-contact-section .bt_bb_headline { max-width: 58rem; }
.vertex-contact-request-heading { margin-bottom: .5rem; }
.vertex-contact-form-shell .wpcf7-form { margin: 0; }
.vertex-contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem 1.4rem;
}
.vertex-contact-field { min-width: 0; }
.vertex-contact-field-full { grid-column: 1 / -1; }
.vertex-contact-field label {
    display: block;
    margin: 0;
    color: #3F3B37;
    font-family: "Barlow Condensed", sans-serif;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.vertex-contact-field input,
.vertex-contact-field select,
.vertex-contact-field textarea {
    width: 100%;
    margin-top: .45rem;
    border: 1px solid #BDB8B3 !important;
    border-radius: 0 !important;
    color: #141515 !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box;
}
.vertex-contact-field input,
.vertex-contact-field select { min-height: 3.25rem; padding: .75rem .9rem !important; }
.vertex-contact-field textarea { min-height: 10.5rem; padding: .9rem !important; resize: vertical; }
/* Renowise replaces native selects with non-focusable divs; restore the native controls here. */
.vertex-contact-form-shell .fancy-select select {
    display: block !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: 3.25rem !important;
    opacity: 1 !important;
}
.vertex-contact-form-shell .fancy-select .trigger,
.vertex-contact-form-shell .fancy-select .options { display: none !important; }
.vertex-contact-form-shell input[type="submit"] {
    min-height: 3.25rem;
    padding: .8rem 1.35rem !important;
    border: 2px solid #B68A46 !important;
    border-radius: 0 !important;
    color: #141515 !important;
    background: #B68A46 !important;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.vertex-contact-form-shell input[type="submit"]:hover,
.vertex-contact-form-shell input[type="submit"]:focus-visible {
    color: #FFFFFF !important;
    background: #77542D !important;
}
.vertex-contact-form-shell input[type="submit"]:focus-visible { outline: 3px solid #141515; outline-offset: 3px; }
.vertex-contact-form-shell .wpcf7-not-valid-tip { margin-top: .35rem; font-size: .82rem; }
.vertex-contact-form-shell .wpcf7-response-output { margin: 1.2rem 0 0 !important; }
.vertex-contact-direct {
    height: 100%;
    padding: 2rem;
    color: #E8E5E2;
    background: #141515;
    box-sizing: border-box;
}
.vertex-contact-eyebrow {
    margin: 0 0 .55rem !important;
    color: #D8B77D !important;
    font-size: .72rem !important;
    font-weight: 700;
    letter-spacing: .13em;
}
.vertex-contact-direct h3 { margin: 0 0 1rem; color: #FFFFFF; font-size: 2rem; }
.vertex-contact-direct > p { color: #C9C6C2; }
.vertex-contact-direct-item { padding: 1rem 0; border-top: 1px solid rgba(182, 138, 70, .28); }
.vertex-contact-direct-item span { display: block; margin-bottom: .35rem; color: #D8B77D; font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.vertex-contact-direct-item a,
.vertex-contact-direct-item address,
.vertex-contact-direct-item p { margin: 0; color: #FFFFFF !important; font-style: normal; overflow-wrap: anywhere; }
.vertex-contact-direct .vertex-contact-note { margin-top: 1rem !important; font-size: .86rem !important; line-height: 1.55 !important; }
.vertex-contact-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
}
.vertex-contact-card {
    min-height: 17rem;
    padding: 1.6rem;
    border: 1px solid rgba(182, 138, 70, .34);
    border-bottom: 3px solid #B68A46;
    background: #272522;
    box-sizing: border-box;
}
.vertex-contact-card > span { color: #B68A46; font-family: "Barlow Condensed", sans-serif; font-size: 1.7rem; font-weight: 700; }
.vertex-contact-card h3 { margin: .8rem 0 .65rem; color: #FFFFFF; font-size: 1.35rem; }
.vertex-contact-card a,
.vertex-contact-card address,
.vertex-contact-card-emphasis { display: block; margin: 0 0 .8rem !important; color: #D8B77D !important; font-style: normal; font-weight: 700; overflow-wrap: anywhere; }
.vertex-contact-card p { color: #C9C6C2 !important; font-size: .9rem !important; line-height: 1.55 !important; }
.vertex-contact-location { padding-top: 0 !important; padding-bottom: 0 !important; }
.vertex-contact-location .bt_bb_port { max-width: none !important; padding: 0 !important; }
.vertex-contact-map-frame,
.vertex-contact-map-frame iframe { display: block; width: 100%; min-height: 32.5rem; }
.vertex-contact-office-column { display: flex; align-items: center; }
.vertex-contact-office-copy { max-width: 30rem; padding: 2rem 0; }
.vertex-contact-office-copy h2 { margin: 0 0 1rem; color: #FFFFFF; }
.vertex-contact-office-copy p { color: #C9C6C2 !important; }
.vertex-contact-office-copy a { color: #D8B77D !important; text-decoration: underline; text-underline-offset: .2em; }
.vertex-contact-prepare-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.2rem;
}
.vertex-contact-prepare-grid > div { padding: 1.35rem 1.2rem; border-top: 3px solid #B68A46; background: #FFFFFF; }
.vertex-contact-prepare-grid span { color: #B68A46; font-family: "Barlow Condensed", sans-serif; font-size: 1.55rem; font-weight: 700; }
.vertex-contact-prepare-grid h3 { margin: .55rem 0 .45rem; color: #141515; font-size: 1.15rem; }
.vertex-contact-prepare-grid p { margin: 0 !important; color: #5E5A56 !important; font-size: .86rem !important; line-height: 1.55 !important; }
@media (max-width: 991px) {
    .vertex-contact-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vertex-contact-prepare-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vertex-contact-location-row > .bt_bb_row_holder { display: flex; flex-direction: column; }
    .vertex-contact-map-column,
    .vertex-contact-office-column { width: 100% !important; max-width: 100% !important; }
    .vertex-contact-office-copy { max-width: none; }
}
@media (max-width: 620px) {
    .vertex-contact-form-grid,
    .vertex-contact-card-grid,
    .vertex-contact-prepare-grid { grid-template-columns: 1fr; }
    .vertex-contact-field-full { grid-column: auto; }
    .vertex-contact-direct { padding: 1.5rem; }
    .vertex-contact-card { min-height: 0; }
    .vertex-contact-map-frame,
    .vertex-contact-map-frame iframe { min-height: 24rem; height: 24rem; }
}

/* Sitewide responsive hero normalization — verified at 1440, 1280, 768, and 390px. */
@media (min-width: 992px) {
  .vertex-home-hero {
    height: clamp(46rem, 80vh, 50rem) !important;
    min-height: clamp(46rem, 80vh, 50rem) !important;
  }
  .vertex-home-hero .btHandyman {
    display: block !important;
    transform: translate(-7%, -16%) !important;
  }
}
@media (min-width: 992px) and (max-width: 1279px) {
  .vertex-home-hero .btHandyman {
    display: block !important;
    transform: translate(-5%, -14%) scale(.86) !important;
    transform-origin: center bottom !important;
  }
}
@media (max-width: 991px) {
  .vertex-home-hero {
    position: relative !important;
    min-height: 44rem !important;
    overflow: hidden !important;
  }
  .vertex-home-hero > .bt_bb_port {
    padding-top: 6.75rem !important;
    padding-bottom: 2rem !important;
  }
  .vertex-home-hero .bt_bb_row:first-child > .bt_bb_row_holder > .bt_bb_column:first-child {
    position: relative !important;
    z-index: 2 !important;
  }
  .vertex-home-hero .bt_bb_row:first-child > .bt_bb_row_holder > .bt_bb_column:last-child {
    position: absolute !important;
    right: -1rem !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: min(42vw, 20rem) !important;
    max-width: none !important;
    height: 100% !important;
  }
  .vertex-home-hero .bt_bb_row:first-child > .bt_bb_row_holder > .bt_bb_column:last-child .bt_bb_column_content,
  .vertex-home-hero .bt_bb_row:first-child > .bt_bb_row_holder > .bt_bb_column:last-child .bt_bb_column_content_inner {
    height: 100% !important;
    padding: 0 !important;
  }
  .vertex-home-hero .btHandyman {
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: 0 !important;
    top: auto !important;
    bottom: -.5rem !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }
  .vertex-home-hero .btHandyman img { width: 100% !important; height: auto !important; }
  .vertex-home-hero .bt_bb_size_extralarge .bt_bb_headline_tag {
    font-size: clamp(2.35rem, 6.5vw, 3.15rem) !important;
    line-height: 1.02 !important;
  }
  .vertex-home-hero .bt_bb_headline_subheadline { line-height: 1.45 !important; }
  .vertex-home-hero .bt_bb_separator.bt_bb_bottom_spacing_25 { margin-bottom: 1rem !important; }
  .vertex-home-hero .bt_bb_separator.bt_bb_bottom_spacing_40 { margin-bottom: 1.25rem !important; }
}
@media (max-width: 620px) {
  .vertex-home-hero { min-height: 43rem !important; }
  .vertex-home-hero > .bt_bb_port {
    padding-top: 6.75rem !important;
    padding-bottom: 1.5rem !important;
  }
  .vertex-home-hero .bt_bb_size_extralarge .bt_bb_headline_tag {
    font-size: clamp(2rem, 9vw, 2.25rem) !important;
  }
  .vertex-home-hero .bt_bb_headline_subheadline { font-size: .88rem !important; line-height: 1.42 !important; }
  .vertex-home-hero .bt_bb_row:first-child > .bt_bb_row_holder > .bt_bb_column:last-child {
    right: -.25rem !important;
    width: 26vw !important;
  }
  .vertex-home-hero .bt_bb_button { position: relative !important; z-index: 3 !important; }
}

@media (min-width: 992px) {
  body.page-id-3856 .btPageHeadline,
  body.page-id-2290 .btPageHeadline,
  body.page-id-13 .btPageHeadline {
    height: clamp(28rem, 38vw, 32rem) !important;
    min-height: clamp(28rem, 38vw, 32rem) !important;
  }
}
@media (min-width: 621px) and (max-width: 991px) {
  body.page-id-3856 .btPageHeadline,
  body.page-id-2290 .btPageHeadline,
  body.page-id-13 .btPageHeadline {
    height: 26rem !important;
    min-height: 26rem !important;
  }
}
@media (max-width: 620px) {
  body.page-id-3856 .btPageHeadline,
  body.page-id-2290 .btPageHeadline,
  body.page-id-13 .btPageHeadline {
    height: 22rem !important;
    min-height: 22rem !important;
  }
}
body.page-id-3856 .btPageHeadline { background-position: 50% 46% !important; }
body.page-id-2290 .btPageHeadline { background-position: 50% 48% !important; }
body.page-id-13 .btPageHeadline { background-position: 50% 50% !important; }
body.page-id-3856 .btPageHeadline > .bt_bb_port,
body.page-id-2290 .btPageHeadline > .bt_bb_port,
body.page-id-13 .btPageHeadline > .bt_bb_port {
  height: 100% !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

/* About and Services CTA badges: align with stacked copy at narrow widths. */
@media (max-width: 991px) {
  .vertex-about-cta-mark,
  .vertex-services-cta-icon {
    width: 10rem !important;
    height: 10rem !important;
    margin: 1.5rem auto 0 0 !important;
  }
}

/* Dark-section text contrast: use the light Vertex gold accent. */
.vertex-home-quick-info .bt_bb_icon_holder,
.vertex-home-quick-info .bt_bb_icon_holder span,
.vertex-about-senior-kicker,
.vertex-services-detail-section .bt_bb_headline_superheadline,
.vertex-services-cta .bt_bb_headline_superheadline,
.vertex-team-hero .bt_bb_headline_superheadline,
.vertex-team-leadership .bt_bb_headline_superheadline,
.vertex-team-certification .bt_bb_headline_superheadline,
.vertex-contact-details .bt_bb_headline_superheadline {
  color: #D8B77D !important;
}

/* Home desktop hero: preserve clearance below the overlay navigation. */
@media (min-width: 992px) {
  .vertex-home-hero .bt_bb_size_extralarge .bt_bb_headline_tag {
    font-size: clamp(3rem, 3vw, 3.5rem) !important;
    line-height: 1.02 !important;
  }
  .vertex-home-hero .bt_bb_row:first-child > .bt_bb_row_holder > .bt_bb_column:first-child {
    transform: translateY(1.75rem) !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .vertex-home-hero .bt_bb_size_extralarge .bt_bb_headline_tag {
    font-size: clamp(2.25rem, 3.75vw, 2.75rem) !important;
  }
}
