/* MHC brand system, revised November 2026. Licensed fonts are optional local assets. */
:root {
    --mhc-black: #000000;
    --mhc-blue: #41B6E6;
    --mhc-white: #FFFFFF;
    --mhc-signature-navy: #12283A;
    --mhc-signature-gold: #C6A15A;
    --primary-clr: var(--mhc-black);
    --secondary-clr: var(--mhc-blue);
}
body, input, select, textarea, button {
    font-family: 'gotham', 'MHC Gotham Local', Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6 { line-height: 1.2; }
.community_map_content h2, .community_map_content h2 a,
.primary_card_single h2, .primary_card_single h2 a,
.primary_list_single_content h2, .primary_list_single_content h2 a,
.comm-single-page h1 {
    font-weight: 400;
    letter-spacing: .04em;
}
.primary_card_single_price h4, .primary_card_single_price p,
.primary_list_single_content p.primary_list_single_price,
.comm-single-page .list_sort_wrapper .plan-price-area span.plan-price,
.floorplan-page-hero .left .floorplan-price-section h3 {
    color: var(--mhc-blue);
    font-weight: 700;
}
header { background-color: var(--mhc-black); }
header .logo { display: block; flex-shrink: 0; padding: 16px; }
header .logo img { object-fit: contain; display: block; }
#footer-logo { object-fit: contain; padding: 24px; box-sizing: border-box; }
footer #footer_bg_logo img { width: 100%; height: 100%; object-fit: contain; opacity: .1; }
.homepage-region-cards__title img.site-logo { object-fit: contain; }
.rvcp-promo-bar { --rvcp-banner-bg: #000000 !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible { outline: 3px solid var(--mhc-blue); outline-offset: 4px; }
/* Opt-in only: apply this class to verified Signature Collection content. */
.mhc-signature {
    --primary-clr: var(--mhc-signature-navy);
    --secondary-clr: var(--mhc-signature-gold);
}
.mhc-signature .primary_card_single_price :is(h4,p),
.mhc-signature .primary_list_single_price,
.mhc-signature .plan-price { color: var(--mhc-signature-gold); }
.mhc-signature .mhc-signature-title { font-family: 'filmotype-lacrosse', 'gotham', 'MHC Gotham Local', Arial, sans-serif; font-weight: 400; }
@media (max-width: 767px) {
    header .logo { padding: 12px 16px; }
    header .logo img { max-width: 150px; height: auto; }
    header, header.at_top, header.at_top.transparent_header { background: #000000; }
}

/* November layout refinement. Keep these rules after the legacy template rules. */
:root {
    --mhc-surface: #edf5f9;
    --mhc-border: #d5e1e7;
    --mhc-content-width: 1280px;
    --mhc-section-space: clamp(40px, 5vw, 72px);
    --mhc-image-placeholder: linear-gradient(#edf5f9eb, #edf5f9eb), var(--mhc-placeholder-icon) center / 112px auto no-repeat, #edf5f9;
}
.page-container { --page-width: var(--mhc-content-width); font-size: clamp(16px, 1.2vw, 18px); }
.page-container p, .page-container li { line-height: 1.6; }
.page-container :is(h1,h2,h3,h4) { line-height: 1.2; letter-spacing: -.015em; }
.page-container :is(h2,h3,h4) { color: inherit; }
.default-page-template .primary_content_wrapper { padding-inline: 24px; }
.default-page-template .primary_content_wrapper :is(h2,h3) { margin-top: 1.5em; }
header .logo img { width: 180px; height: auto; min-width: 0; }
header .header-contact-card h3 { font-size: 18px; line-height: 1.25; }
header .header-contact-card p { font-size: 15px; }
header .header-contact-card img.mhc-brand-avatar {
    width: 76px; height: 76px; max-height: none; object-fit: contain;
    background: #000; padding: 12px; border: 2px solid var(--mhc-blue);
}
.contact-section .left-section > div img.mhc-brand-avatar,
.comm-contact-profile-sec img.mhc-brand-avatar {
    object-fit: contain; object-position: center; background: #000;
    padding: 24px; border: 2px solid var(--mhc-blue); aspect-ratio: 1;
}
.contact-section .left-section > div img.mhc-brand-avatar { width: 180px; height: 180px; }
header nav ul li a { letter-spacing: .025em; }
/* One action system, using dark labels on the brand blue. */
a.mhc-primary-btn, a.mhc-secondary-btn,
.page-container .wpcf7-submit, .page-container .community_map_filter_row .submit_wrap input,
.primary_list_single_content_right_btns > :is(a,button) {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 48px; padding: 12px 24px; box-sizing: border-box;
    font-family: 'gotham', 'MHC Gotham Local', Arial, sans-serif; font-size: 14px; line-height: 1.4;
    font-weight: 700; letter-spacing: .025em; text-align: center;
    text-transform: none; border-radius: 0; border: 2px solid var(--mhc-blue);
    background: var(--mhc-blue); color: #000; box-shadow: none;
    cursor: pointer; max-width: 100%; white-space: normal;
    transition: background-color .18s, color .18s, border-color .18s;
}
a.mhc-primary-btn:hover, .page-container .wpcf7-submit:hover,
.primary_list_single_content_right_btns > :is(a,button):hover {
    background: #000; color: #fff; border-color: #000; box-shadow: none;
}
a.mhc-secondary-btn { background: transparent; border-color: currentColor; color: #000; }
a.mhc-secondary-btn:hover { background: #000; color: #fff; border-color: #000; box-shadow: none; }
.homepage-hero .hero { --home-hero-height: clamp(480px, 48vw, 760px); }
.homepage-hero .hero h1.hero-title { font-size: clamp(36px, 4.5vw, 68px); max-width: 1040px; width: calc(100% - 48px); line-height: 1.12; font-weight: 700; }
.homepage-hero .hero ul li img { margin-top: 0; }
.homepage-hero .subhero-section {
    gap: 40px; align-items: center; padding: 40px 24px; width: 100%;
}
.homepage-hero .subhero-section .left-section { width: calc(58% - 20px); padding: 0; }
.homepage-hero .subhero-section .left-section h2 { font-size: clamp(30px, 3vw, 44px); margin: 0 0 20px; }
.homepage-hero .subhero-section .left-section p { font-size: 16px; max-width: 62ch; margin: 0 0 24px; }
.homepage-hero .subhero-section .left-section :is(.mhc-primary-btn,.mhc-secondary-btn) { margin-top: 0; margin-bottom: 12px; }
.homepage-hero .subhero-section .promo-section { width: calc(42% - 20px); translate: none; padding: 12px; }
.homepage-interactive-map .left-content-section { padding-block: var(--mhc-section-space); padding-right: 40px; padding-left: max(24px, calc((100vw - 1232px) / 2)); }
.homepage-interactive-map .left-content-section h4 { font-size: clamp(24px, 2.4vw, 32px); margin: 0 0 20px; color: #000; }
.homepage-interactive-map .left-content-section p { font-size: 17px; margin: 0; max-width: 58ch; }
.homepage-interactive-map .left-content-section a { margin: 28px 0 0; align-self: flex-start; }
.homepage-interactive-map .interactive-map-section { background: var(--mhc-image-placeholder); }
.homepage-region-cards { padding: var(--mhc-section-space) 24px; box-shadow: none; }
.homepage-region-cards .homepage-region-cards__title { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 0 0 32px; font-size: clamp(28px, 3vw, 40px); }
.homepage-region-cards .homepage-region-cards__title img.site-logo { width: 150px; max-width: 30vw; margin: 0; height: auto; }
.homepage-region-cards .homepage-region-cards__grid { max-width: 1232px; padding: 0; gap: 24px; }
.homepage-region-card .homepage-region-card__image-wrap { aspect-ratio: 16 / 10; background: var(--mhc-image-placeholder); }
.homepage-region-card .homepage-region-card__image { width: 100%; height: 100%; object-fit: cover; display: block; }
.homepage-region-card .homepage-region-card__content { padding: 20px 16px; }
.homepage-region-card .homepage-region-card__title { font-size: 19px; font-weight: 400; letter-spacing: .04em; }
.homepage-region-card .homepage-region-card__overlay-text { font-size: clamp(24px, 2.8vw, 36px); line-height: 1.1; }
/* Restore the live homepage's centered panels over photography. */
.homepage-community-section { width: calc(100% - 48px); max-width: var(--mhc-content-width); margin: var(--mhc-section-space) auto; padding: 48px; border: 4px solid var(--mhc-blue); text-align: center; }
.homepage-community-section > h2 { font-size: clamp(28px, 3vw, 40px); margin: 0 0 32px; }
.homepage-community-section .community-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.homepage-community-section a.community-card { display: flex; align-items: center; justify-content: center; width: 100%; height: 320px; margin: 0; background-color: var(--mhc-surface); background-size: cover; background-position: center; border: 0; }
.homepage-community-section .community-card-content { max-width: calc(100% - 32px); padding: 24px; background: rgba(0,0,0,.85); }
.homepage-community-section a.community-card:hover .community-card-content { background: rgba(0,0,0,.95); }
.homepage-community-section .community-card-content h4 { color: #fff; font-size: 24px; font-weight: 400; letter-spacing: .04em; margin: 0 0 8px; }
.homepage-community-section .community-card-content p { font-size: 16px; color: var(--mhc-blue); font-weight: 500; margin: 0 0 4px; }
.homepage-community-section .community-card-content .comm-card-view-btn { width: fit-content; min-height: 48px; padding: 14px 20px; font-size: 14px; line-height: 20px; font-weight: 700; background: var(--mhc-blue); color: #000; margin: 16px auto 0; }
.homepage-community-section .comm-btn { margin: 32px auto 0; }
.homepage-tricard-section { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; width: 100%; max-width: var(--mhc-content-width); padding: 0 24px var(--mhc-section-space); margin: 0 auto; align-items: stretch; }
.homepage-tricard-section .tricard { display: flex; flex-direction: column; width: 100%; height: auto; margin: 0; min-width: 0; }
.homepage-tricard-section .tricard > a { display: block; }
.homepage-tricard-section img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.homepage-tricard-section .tricard-content { margin: 0; padding: 24px; background: var(--mhc-surface); display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.homepage-tricard-section .tricard-content h4 { font-size: 23px; line-height: 1.25; margin: 0 0 16px; color: #000; }
.homepage-tricard-section .tricard-content p { font-size: 16px; margin: 0 0 24px; }
.homepage-tricard-section .tricard-content a { margin: auto 0 0; }
/* Shared archive cards keep their existing sorting hooks and responsive columns. */
.primary_card_single, .primary_list_single.list_sort_single { border-color: var(--mhc-border); border-radius: 0; }
.primary_list_single_content h2 a, .primary_card_single_content h2 a { font-weight: 400; letter-spacing: .04em; line-height: 1.25; }
.primary_list_single_content :is(p,h3,h4) { line-height: 1.5; }
.primary_card_single_image, .primary_list_single_image { background-color: var(--mhc-surface); }
.community_map_filter_wrapper :is(select,input:not([type=checkbox]):not([type=radio]),textarea),
.contact-section .form-section :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea) { min-height: 48px; border-radius: 0; font-size: 16px; border: 1px solid var(--mhc-border); }
.contact-section { margin-bottom: var(--mhc-section-space); }
.contact-section .left-section { padding-block: 48px; padding-inline: max(24px, calc((100vw - 1232px) / 2)) 40px; }
.contact-section .left-section > div { align-items: center; gap: 24px; }
.contact-section .left-section > div > div { padding-left: 0; }
.contact-section .left-section > div > div h3 { margin-top: 0; font-size: 28px; }
.contact-section .left-section > p { font-size: 17px; line-height: 1.65; padding-block: 24px; border-width: 1px; }
.contact-section .form-section { padding: 48px 32px; background: var(--mhc-surface); }
.contact-section .form-section h4 { font-size: 28px; margin: 0 0 24px; }
footer #footer-logo { width: 320px; max-width: 100%; height: auto; padding: 24px; }
@media (max-width: 1100px) {
    .homepage-tricard-section { gap: 20px; }
    .homepage-tricard-section .tricard-content { padding: 20px; }
    header .logo img { width: 150px; }
    .contact-section .left-section > div { flex-wrap: wrap; }
}
@media (max-width: 767px) {
    header .logo img { width: 140px; }
    .homepage-hero .hero { --home-hero-height: clamp(360px, 100vw, 560px); max-height: none; }
    .homepage-hero .hero h1.hero-title { font-size: clamp(32px, 7vw, 46px); }
    .homepage-hero .subhero-section { flex-direction: column; gap: 28px; padding: 32px 24px; }
    .homepage-hero .subhero-section .left-section, .homepage-hero .subhero-section .promo-section { width: 100%; text-align: left; padding-bottom: 0; }
    .homepage-hero .subhero-section .promo-section { padding: 12px; }
    .homepage-interactive-map .left-content-section { padding: 40px 24px; }
    .homepage-interactive-map .interactive-map-section { height: 280px; }
    .homepage-region-cards .homepage-region-cards__title { gap: 16px; }
    .homepage-region-cards .homepage-region-cards__grid, .homepage-community-section .community-cards, .homepage-tricard-section { grid-template-columns: 1fr; }
    .homepage-region-cards .homepage-region-cards__grid { padding-bottom: 20px; }
    .homepage-region-card .homepage-region-card__image-wrap { aspect-ratio: 16 / 9; }
    .homepage-community-section .community-card-content h4 { font-size: 22px; }
    .contact-section .left-section, .contact-section .form-section { padding: 40px 24px; }
    .contact-section .left-section > div img.mhc-brand-avatar { width: 140px; height: 140px; padding: 20px; }
    .contact-section .left-section > div > div h3 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .page-container *, header * { scroll-behavior: auto; transition: none; }
}

/* Visual QA: readable consent, full-size card actions and wrapping filters. */
.mhc-consent-label { display: block; color: #000; font-size: 16px; line-height: 1.5; }
.mhc-consent-label > span { display: block; margin-bottom: 8px; }
body a.primary_bttn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 48px; max-width: 100%; padding: 12px 24px; font-size: 14px; line-height: 20px; font-weight: 700; white-space: normal; }
@media (min-width: 768px) {
    .community_map_filter_wrapper .community_map_filter_row { flex-wrap: wrap; gap: 8px; padding-block: 8px; }
    .community_map_filter_wrapper .community_map_filter_row > .input_wrap { width: auto; min-width: 0; margin: 0; }
    .community_map_filter_wrapper .input_wrap.map_filter_text_wrapper { flex: 1 1 280px; max-width: 450px; }
    .community_map_filter_wrapper .input_wrap.map_filter_text_wrapper input { min-width: 0; width: 100%; }
}

.mhc-consent-label { margin-block: 16px; }

/* Follow-up from desktop/mobile screenshots: keep brand badges centered. */
header .header-contact-card img.mhc-brand-avatar,
.contact-section .left-section > div img.mhc-brand-avatar,
.comm-single-right-sec1 > div.comm-contact-profile-sec img.mhc-brand-avatar {
    object-fit: contain; object-position: 50% 50%; box-sizing: border-box;
    border-radius: 50%; background: #000; flex-shrink: 0;
}
header .header-contact-card img.mhc-brand-avatar { padding: 14px; }
.comm-single-right-sec1 > div.comm-contact-profile-sec img.mhc-brand-avatar { width: 142px; height: 142px; min-width: 142px; min-height: 142px; padding: 22px; }
.homepage-hero .hero ul, .homepage-hero .hero li { list-style: none; margin: 0; padding: 0; }
.homepage-hero .hero li::marker { content: ''; }
.page-container .homepage-region-cards .homepage-region-cards__title,
.page-container .homepage-region-card .homepage-region-card__title { color: #fff; }
.homepage-region-card .homepage-region-card__overlay-text { color: #fff; }
/* Explicit pixels avoid inherited em scaling and nested label differences. */
body .wpcf7 form :is(input:not([type=submit]):not([type=checkbox]):not([type=radio]),select,textarea),
body .contact-section .form-section .input_wrap :is(input:not([type=submit]),select,textarea) {
    font-family: 'gotham', 'MHC Gotham Local', Arial, sans-serif; font-size: 16px !important; line-height: 1.5;
    min-height: 48px; border-radius: 0; color: #000; box-sizing: border-box;
}
body .wpcf7 form :is(input,select,textarea)::placeholder { color: #595959; opacity: 1; }
body .wpcf7 form :is(input,select,textarea):focus-visible { outline: 3px solid var(--mhc-blue); outline-offset: 2px; }
body .wpcf7 form :is(input,select,textarea).wpcf7-not-valid,
body .wpcf7 form :is(input,select,textarea)[aria-invalid="true"] { border: 2px solid #a32020 !important; background-color: #fff8f8; }
body .wpcf7 .wpcf7-not-valid-tip { display: block; color: #8f1d1d !important; background: none; border-radius: 0; position: static; text-align: left; font-size: 14px; line-height: 1.5; font-weight: 500; padding: 6px 0 0; }
body .wpcf7 form .wpcf7-response-output { margin: 24px 0 0; padding: 16px; font-size: 16px; line-height: 1.5; color: #000; background: #fff; border-width: 2px; }
body .wpcf7 form.invalid .wpcf7-response-output,
body .wpcf7 form.unaccepted .wpcf7-response-output { border-color: #a32020; background: #fff8f8; }
body .wpcf7 form.sent .wpcf7-response-output { border-color: #28623a; background: #f2faf4; }
@media (max-width: 767px) {
    .homepage-community-section { width: 100%; padding: 32px 16px; border: 0; }
    .homepage-community-section .community-cards { grid-template-columns: 1fr; gap: 24px; }
    .homepage-community-section a.community-card { height: 320px; }
    .homepage-community-section .community-card-content { padding: 20px 16px; }
}

/* Shared archive filters: communities, homes and floor plans use the same controls. */
@media (min-width: 768px) {
    body .community_map_filter_wrapper:has(.community_map_filter_row) { padding-block: 0; }
    body .community_map_filter_container { width: 100%; max-width: 1280px !important; padding: 8px 16px; box-sizing: border-box; }
    body .community_map_filter { padding: 0; }
    body .community_map_filter_row { flex-wrap: nowrap; gap: 8px; padding: 0; min-width: 0; }
    body .community_map_filter_row > .input_wrap { flex: 0 1 132px; width: auto; min-width: 0; margin: 0; }
    body .community_map_filter_row > .map_filter_text_wrapper { flex: 1 1 300px; max-width: none; min-width: 170px; }
    body .community_map_filter_row > .community_filter_toggle_wrap { flex: 0 0 210px; }
    body .community_map_filter_wrapper .input_wrap :is(input:not([type=checkbox]),select) { width: 100%; min-width: 0; min-height: 44px; height: 44px; padding: 10px 16px; border: 1px solid #c8d1d6; border-radius: 24px; font-size: 15px; line-height: 22px; box-shadow: 0 1px 3px #00000015; box-sizing: border-box; }
    body .community_map_filter_wrapper .input_wrap select { padding-right: 36px; }
    body .community_filter_toggle { min-height: 44px; height: 44px; padding: 8px 12px; border-radius: 24px; box-sizing: border-box; font-size: 14px; white-space: nowrap; }
    body .community_map_filter_row .submit_wrap { flex: 0 0 104px; }
    body .community_map_filter_wrapper .community_map_filter_row .submit_wrap input { min-height: 44px; height: 44px; padding: 10px 16px; border-radius: 24px; font-size: 14px; line-height: 20px; }
    body .community_map_filter_wrapper.primary_subheader_wrapper .list_sort_display_clear { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 100px; box-sizing: border-box; min-height: 44px; margin: 0; padding: 8px 10px; font-size: 14px; line-height: 20px; border-radius: 24px; white-space: nowrap; }
}
@media (min-width: 768px) and (max-width: 1099px) {
    body .community_map_filter_container { padding-inline: 8px; }
    body .community_map_filter_row { gap: 6px; }
    body .community_map_filter_row > .input_wrap { flex-basis: 100px; }
    body .community_map_filter_row > .map_filter_text_wrapper { flex: 1 1 180px; min-width: 120px; }
    body .community_map_filter_row > .community_filter_toggle_wrap { flex-basis: 180px; }
    body .community_filter_toggle { padding-inline: 8px; font-size: 12px; }
    body .community_map_filter_wrapper .input_wrap :is(input:not([type=checkbox]),select) { padding-left: 12px; font-size: 13px; }
    body .community_map_filter_row .submit_wrap { flex-basis: 80px; }
    body .community_map_filter_wrapper .community_map_filter_row .submit_wrap input { padding-inline: 10px; font-size: 13px; }
    body .community_map_filter_wrapper.primary_subheader_wrapper .list_sort_display_clear { flex-basis: 84px; font-size: 12px; padding-inline: 8px; }
}

@media (min-width: 768px) and (max-width: 899px) {
    body .community_map_filter_row { gap: 4px; }
    body .community_map_filter_row > .input_wrap { flex-basis: 80px; }
    body .community_map_filter_row > .map_filter_text_wrapper { flex: 1 1 120px; min-width: 100px; }
    body .community_map_filter_row > .community_filter_toggle_wrap { flex-basis: 160px; }
    body .community_filter_toggle { padding-inline: 6px; font-size: 11px; }
    body .community_map_filter_row .submit_wrap { flex-basis: 70px; }
    body .community_map_filter_wrapper.primary_subheader_wrapper .list_sort_display_clear { flex-basis: 80px; }
}

/* The circle belongs to a wrapper; the supplied artwork is never rounded/cropped. */
span.mhc-brand-avatar {
    --mhc-badge-size: 180px;
    display: inline-flex; align-items: center; justify-content: center;
    width: var(--mhc-badge-size); height: var(--mhc-badge-size);
    flex: 0 0 var(--mhc-badge-size); padding: 24px;
    box-sizing: border-box; border: 2px solid var(--mhc-blue);
    border-radius: 50%; background: #000; overflow: visible; vertical-align: middle;
}
body span.mhc-brand-avatar > img.mhc-brand-avatar-art {
    display: block !important; width: 100% !important; height: auto !important;
    min-width: 0 !important; min-height: 0 !important;
    max-width: 100% !important; max-height: none !important;
    padding: 0 !important; margin: 0 !important; border: 0 !important;
    border-radius: 0 !important; aspect-ratio: auto !important;
    object-fit: contain !important; object-position: center !important;
    box-sizing: border-box; background: transparent;
}
header .header-contact-card span.mhc-brand-avatar { --mhc-badge-size: 76px; padding: 12px; margin-right: 12px; }
.comm-single-right-sec1 > div.comm-contact-profile-sec span.mhc-brand-avatar { --mhc-badge-size: 142px; padding: 22px; margin-inline: 1em; }
@media (max-width: 767px) {
    .contact-section span.mhc-brand-avatar { --mhc-badge-size: 140px; padding: 20px; }
}

/* Shared presentation tokens apply to page templates and archive templates alike. */
:root {
    --mhc-body-size: 16px;
    --mhc-heading-xl: clamp(32px, 3.6vw, 52px);
    --mhc-heading-lg: clamp(26px, 2.5vw, 36px);
    --mhc-heading-md: clamp(22px, 2vw, 28px);
    --mhc-action-height: 48px;
    --mhc-filter-height: 44px;
    --mhc-filter-radius: 24px;
}
body { font-size: var(--mhc-body-size); line-height: 1.6; }
body :is(h1.secondary_title,h1.pagetitle,.default-page-hero h1,.floorplan-page-hero h1,.comm-single-page h1,.single_post_title_header) {
    font-size: var(--mhc-heading-xl); line-height: 1.15; font-weight: 700; letter-spacing: -.02em;
}
body h1.secondary_title { padding-block: 32px; margin: 0; color: #000; }
body :is(.primary_title,h2.secondary_title) { font-size: var(--mhc-heading-lg); line-height: 1.2; font-weight: 700; letter-spacing: -.015em; }
body :is(#wysiwyg_page_wrap,.about-page-content,.primary_content_wrapper:not(.community_map_wrapper)) { font-size: var(--mhc-body-size); line-height: 1.65; }
body :is(#wysiwyg_page_wrap,.about-page-content) :is(p,li) { font-size: 16px; line-height: 1.65; }
body :is(#wysiwyg_page_wrap,.about-page-content) h2 { font-size: var(--mhc-heading-lg); line-height: 1.2; margin-block: 32px 16px; }
body :is(#wysiwyg_page_wrap,.about-page-content) h3 { font-size: var(--mhc-heading-md); line-height: 1.25; margin-block: 28px 12px; }
body :is(#wysiwyg_page_wrap,.about-page-content) h4 { font-size: 20px; line-height: 1.3; }
body :is(#wysiwyg_page_wrap,.about-page-content) p { margin-bottom: 20px; }
body :is(a.mhc-primary-btn,a.mhc-secondary-btn,a.primary_bttn,.wpcf7-submit,a.sales-team-button,a.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button) {
    min-height: var(--mhc-action-height); padding: 12px 24px; box-sizing: border-box;
    font-family: 'gotham', 'MHC Gotham Local',Arial,sans-serif; font-size: 14px; line-height: 20px;
    font-weight: 700; letter-spacing: .025em; border-radius: 0; white-space: normal;
}
body :is(.primary_list_single,.primary_card_single,.secondary_list_single) h2 { font-size: 24px; line-height: 1.25; }
body :is(.primary_overview_info,.secondary_list_single_info) p { font-size: 14px; line-height: 1.5; }
body .community_map_filter_wrapper .input_wrap :is(input:not([type=checkbox]):not([type=radio]),select) { border-radius: var(--mhc-filter-radius); }
/* Badge rings match the earlier visual weight; artwork remains rectangular. */
span.mhc-brand-avatar { border-width: 4px; }
header .header-contact-card span.mhc-brand-avatar { border-width: 4px; border-style: solid; }
header .header-contact-card:has(a:not(.phone):hover) span.mhc-brand-avatar,
header .header-contact-card a.header-img:focus-visible span.mhc-brand-avatar { border-style: dashed; }
.contact-section .left-section span.mhc-brand-avatar { padding: 28px; }
.contact-section .left-section > div { column-gap: 24px; row-gap: 20px; margin-bottom: 20px; }
@media (max-width: 767px) {
    body h1.secondary_title { padding-block: 24px; }
    .contact-section .left-section span.mhc-brand-avatar { padding: 22px; }
    body .community_map_filter_wrapper .input_wrap :is(input:not([type=checkbox]):not([type=radio]),select) { min-height: 48px; font-size: 16px; }
}

body h1.mhc-page-title { font-size: var(--mhc-heading-xl); line-height: 1.15; font-weight: 700; letter-spacing: -.02em; margin: 0 0 24px; color: #000; }
body .comm-single-page h1.mhc-page-title { font-weight: 400; letter-spacing: .04em; }
.floorplan-page-hero .left h1 span { font-size: 20px; font-weight: 500; margin-top: 8px; display: block; }
.floorplan-page-hero .left h1 span a { color: #000; }
.floorplan-page-hero .left h1 span a:hover { text-decoration: underline; }
@media (max-width: 767px) {
    .comm-single-page .comm-single-left-sec1 > h1.mhc-page-title { text-align: center; }
}

body :is(a.sales-team-button,a.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button) { display: inline-flex; align-items: center; justify-content: center; background: var(--mhc-blue); color: #000; border: 2px solid var(--mhc-blue); }
body :is(a.sales-team-button,a.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button):hover { background: #000; color: #fff; border-color: #000; }

/* Reserve an arrow gutter; filter captions/actions stay on one line. */
body .community_map_filter_wrapper .community_map_filter_row .input_wrap select {
    appearance: none; -webkit-appearance: none;
    padding-left: 16px; padding-right: 44px !important;
    white-space: nowrap; text-overflow: ellipsis;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23595959' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-position: right 16px center; background-size: 14px 9px; background-repeat: no-repeat;
}
body .community_map_filter_wrapper.primary_subheader_wrapper .community_map_filter_row > a.list_sort_display_clear {
    white-space: nowrap; word-break: normal; overflow-wrap: normal; min-width: 112px;
}
body .community_map_filter_wrapper .community_map_filter_row :is(.submit_wrap,input[type=submit],button,.community_filter_toggle) { white-space: nowrap; }
@media (min-width: 768px) {
    body .community_map_filter_row > .input_wrap:has(select) { flex: 0 0 144px; min-width: 144px; }
    body .community_map_filter_row > .input_wrap:has(#map_filter_community) { flex: 1 0 160px; min-width: 160px; }
    body .community_map_filter_row:not(:has(.map_filter_text_wrapper)) { overflow-x: auto; justify-content: safe center; padding-bottom: 2px; }
}
@media (min-width: 768px) and (max-width: 1099px) {
    body .community_map_filter_row > .input_wrap:has(select) { flex-basis: 128px; min-width: 128px; }
    body .community_map_filter_row > .input_wrap:has(#map_filter_community) { flex-basis: 160px; min-width: 160px; }
    /* The community row includes a text autocomplete; keep its popup unclipped. */
    body .community_map_filter_row:has(.map_filter_text_wrapper) { gap: 4px; }
    body .community_map_filter_row:has(.map_filter_text_wrapper) > .map_filter_text_wrapper { flex: 1 1 84px; min-width: 84px; }
    body .community_map_filter_row:has(.map_filter_text_wrapper) > .input_wrap:has(select) { flex: 0 0 112px; min-width: 112px; }
    body .community_map_filter_row:has(.map_filter_text_wrapper) > .input_wrap:has(#map_filter_status) { flex-basis: 96px; min-width: 96px; }
    body .community_map_filter_row:has(.map_filter_text_wrapper) > .community_filter_toggle_wrap { flex-basis: 148px; }
    body .community_map_filter_row:has(.map_filter_text_wrapper) .community_filter_toggle { font-size: 11px; padding-inline: 6px; }
    body .community_map_filter_wrapper .community_map_filter_row:has(.map_filter_text_wrapper) .input_wrap select { padding-left: 12px; padding-right: 36px !important; background-position: right 12px center; font-size: 12px; }
    body .community_map_filter_row:has(.map_filter_text_wrapper) .submit_wrap { flex-basis: 70px; }
    body .community_map_filter_wrapper.primary_subheader_wrapper .community_map_filter_row:has(.map_filter_text_wrapper) > a.list_sort_display_clear { flex-basis: 88px; min-width: 88px; font-size: 12px; }
}

/* Grid-column padding must not steal the select's label/arrow space. */
body .community_map_filter_wrapper .community_map_filter_row > .input_wrap { padding: 0; box-sizing: border-box; }
@media (min-width: 768px) {
    body .community_map_filter_wrapper .community_map_filter_row:not(:has(.map_filter_text_wrapper)) > .input_wrap:has(select) { flex: 0 0 160px; min-width: 160px; }
    body .community_map_filter_wrapper .community_map_filter_row:not(:has(.map_filter_text_wrapper)) > .input_wrap:has(#map_filter_community) { flex: 1 0 240px; min-width: 240px; }
}

/* White titles contrast clearly against the community floor-plan card black bars. */
body .comm-single-page .plan_list_block .secondary_list_single_title :is(a,a:visited,a:hover,a:focus-visible,h2) { color: var(--mhc-white); }

/* Floor-plan section navigation stays legible before and after it becomes sticky. */
body.single-rvadv_floorplans_adv .community_map_filter_wrapper.primary_subheader_wrapper:has(.primary_subheader_menu) { background: var(--mhc-black); color: var(--mhc-white); border-color: var(--mhc-black); }
body.single-rvadv_floorplans_adv .primary_subheader_menu :is(a,a:visited) { color: var(--mhc-white); }
body.single-rvadv_floorplans_adv .primary_subheader_menu :is(a:hover,a:focus-visible) { color: var(--mhc-blue); }
body.single-rvadv_floorplans_adv .primary_subheader_menu a:focus-visible { outline: 2px solid var(--mhc-blue); outline-offset: 4px; }
body.single-rvadv_floorplans_adv .primary_subheader_menu a::before { background-color: var(--mhc-white); }
body.single-rvadv_floorplans_adv .community_map_filter_wrapper .primary_subheader_toggle :is(p,i) { color: var(--mhc-white); }

/* Header navigation: disclosure controls share one baseline; dropdowns remain separate. */
header.mhc-site-header {
    height: 92px; min-height: 92px; gap: 24px;
    padding-inline: max(24px, calc((100% - 1400px) / 2));
    top: var(--mhc-admin-offset, 0px); margin-bottom: -92px;
}
header.mhc-site-header:not(.transparent_header) { margin-bottom: 0; }
header.mhc-site-header .logo { padding: 0; flex: 0 0 144px; }
header.mhc-site-header .logo img { width: 144px; height: auto; min-width: 0; display: block; }
header.mhc-site-header nav { flex: 1; min-width: 0; padding: 0; }
header.mhc-site-header nav > .mhc-menu-container { display: block; width: 100%; height: auto; }
header.mhc-site-header .header-contact-card { flex: 0 0 auto; padding: 0; gap: 0; }
header.mhc-site-header .header-contact-card span.mhc-brand-avatar { --mhc-badge-size: 60px; padding: 9px; margin-right: 12px; }
header.mhc-site-header .header-contact-card h3 { font-size: 16px; margin: 0 0 4px; line-height: 1.2; }
header.mhc-site-header .header-contact-card p { font-size: 13px; line-height: 1.3; }
#mhc-main-menu { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 0; margin: 0; list-style: none; }
#mhc-main-menu > li { display: flex; align-items: center; position: relative; margin: 0; padding: 0; }
#mhc-main-menu > li > a {
    display: flex; align-items: center; min-height: 48px; padding: 10px 8px;
    border: 0; border-bottom: 2px solid transparent; color: #fff;
    font: 700 13px/1.25 'gotham', 'MHC Gotham Local',Arial,sans-serif; letter-spacing: .015em; text-transform: uppercase;
    text-decoration: none; white-space: nowrap;
}
#mhc-main-menu > li:is(:hover,.mhc-submenu-open,.current-menu-item,.current-menu-ancestor) > a { border-bottom: 2px solid var(--mhc-blue); }
.mhc-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 48px; padding: 0; flex: 0 0 30px; border: 0; background: transparent; color: #fff; cursor: pointer; }
.mhc-chevron { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .16s ease; margin-top: -4px; }
.mhc-submenu-toggle[aria-expanded="true"] .mhc-chevron { transform: rotate(225deg); margin-top: 4px; }
.mhc-submenu-toggle:is(:hover,:focus-visible) { color: var(--mhc-blue); }
#mhc-main-menu .sub-menu {
    display: none; position: absolute; top: calc(100% + 6px); left: 0; z-index: 2;
    min-width: 270px; max-width: min(340px,calc(100vw - 32px)); width: max-content;
    padding: 8px; margin: 0; background: #fff; color: #000; text-align: left;
    border-top: 3px solid var(--mhc-blue); border-radius: 0 0 6px 6px;
    box-shadow: 0 12px 28px #0003; list-style: none; white-space: normal;
}
header.mhc-nav-ready #mhc-main-menu .sub-menu:not([hidden]) { display: block; }
#mhc-main-menu .sub-menu[hidden] { display: none !important; }
#mhc-main-menu .sub-menu li { display: block; float: none; width: 100%; padding: 0; margin: 0; text-align: left; background: transparent; }
#mhc-main-menu .sub-menu a {
    display: flex; align-items: center; min-height: 48px; padding: 12px 16px;
    margin: 0; border: 0; color: #151515; background: transparent;
    font: 500 14px/1.4 'gotham', 'MHC Gotham Local',Arial,sans-serif; letter-spacing: 0;
    text-align: left; text-transform: none; text-decoration: none; white-space: normal;
}
#mhc-main-menu .sub-menu li > a:is(:hover,:focus-visible),
#mhc-main-menu .sub-menu .current-menu-item > a { color: #000; background: var(--mhc-surface); border: 0; margin: 0; padding: 12px 16px; }
header.mhc-site-header :is(a,button):focus-visible { outline: 3px solid var(--mhc-blue); outline-offset: 2px; }
header.mhc-site-header .mhc-menu-toggle, header.mhc-site-header .mhc-mobile-nav-action { display: none; }
header.mhc-site-header:not(.mhc-nav-ready) #mhc-main-menu li:is(:hover,:focus-within) > .sub-menu { display: block; }
body:has(header.mhc-site-header) .primary_subheader_wrapper { top: var(--mhc-header-bottom,92px) !important; }
html { scroll-padding-top: calc(var(--mhc-header-bottom,92px) + 64px); }
@media (min-width: 1024px) and (max-width: 1279px) {
    header.mhc-site-header { gap: 16px; }
    header.mhc-site-header .header-contact-card { display: none; }
    #mhc-main-menu { gap: 0; }
    #mhc-main-menu > li > a { font-size: 12px; padding-inline: 7px; }
}
@media (max-width: 1023px) {
    header.mhc-site-header, header.mhc-site-header.at_top, header.mhc-site-header.transparent_header {
        height: 76px; min-height: 76px; margin-bottom: 0; padding-inline: 20px; background: #000;
    }
    header.mhc-site-header .logo { flex-basis: 124px; }
    header.mhc-site-header .logo img { width: 124px; height: auto; }
    header.mhc-site-header .header-contact-card { display: none; }
    header.mhc-nav-ready .mhc-menu-toggle {
        display: inline-flex; position: relative; flex-direction: column; align-items: center; justify-content: center;
        gap: 5px; width: 48px; height: 48px; margin: 0; padding: 10px;
        border: 0; border-radius: 0; background: transparent; cursor: pointer;
    }
    .mhc-menu-toggle > span { display: block; position: absolute; width: 24px; height: 2px; background: #fff; transition: transform .16s,opacity .16s; }
    .mhc-menu-toggle > span:nth-child(1) { transform: translateY(-7px); }
    .mhc-menu-toggle > span:nth-child(3) { transform: translateY(7px); }
    .mhc-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: rotate(45deg); }
    .mhc-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
    .mhc-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: rotate(-45deg); }
    header.mhc-site-header nav {
        display: none; position: fixed; inset: var(--mhc-panel-top,76px) 0 auto;
        height: calc(100dvh - var(--mhc-panel-top,76px)); width: 100%; padding: 0;
        flex-direction: column; background: #fff; color: #000; border-top: 1px solid #d5e1e7;
        overflow: hidden; overscroll-behavior: contain;
    }
    header.mhc-site-header.mobile-nav-open nav { display: flex; }
    header.mhc-site-header nav > .mhc-menu-container { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 12px 20px; overscroll-behavior: contain; }
    #mhc-main-menu { display: block; white-space: normal; }
    #mhc-main-menu > li { display: grid; grid-template-columns: minmax(0,1fr) 48px; width: 100%; border-bottom: 1px solid #e5ebee; }
    #mhc-main-menu > li > a { min-height: 54px; padding: 14px 12px; color: #000; font-size: 15px; text-align: left; border: 0; white-space: normal; }
    #mhc-main-menu > li:is(:hover,.mhc-submenu-open,.current-menu-item,.current-menu-ancestor) > a { border: 0; }
    #mhc-main-menu > li > a:is(:hover,:focus-visible) { background: var(--mhc-surface); }
    #mhc-main-menu > li.mhc-submenu-open > a { color: #000; box-shadow: inset 3px 0 var(--mhc-blue); }
    .mhc-submenu-toggle { width: 48px; height: 54px; color: #151515; }
    #mhc-main-menu .sub-menu { position: static; grid-column: 1 / -1; min-width: 0; max-width: none; width: 100%; padding: 4px 0 8px 12px; margin: 0 0 8px; border: 0; border-left: 2px solid var(--mhc-blue); border-radius: 0; background: var(--mhc-surface); box-shadow: none; }
    #mhc-main-menu .sub-menu a { min-height: 48px; font-size: 14px; padding: 12px 16px; }
    #mhc-main-menu .sub-menu li > a:is(:hover,:focus-visible) { background: #dcecf5; }
    header.mhc-site-header .mhc-mobile-nav-action { display: block; flex: 0 0 auto; height: auto; padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid #d5e1e7; background: #fff; }
    header.mhc-site-header .mhc-mobile-nav-action a { display: flex; align-items: center; justify-content: center; min-height: 50px; background: var(--mhc-blue); color: #000; font-size: 15px; font-weight: 700; text-decoration: none; }
    html.mhc-menu-open, html.mhc-menu-open body { overflow: hidden; }
    html.mhc-no-js header.mhc-site-header { flex-wrap: wrap; height: auto; }
    html.mhc-no-js header.mhc-site-header nav { display: block; position: static; height: auto; }
    html.mhc-no-js header.mhc-site-header #mhc-main-menu .sub-menu { display: block; }
}
@media (prefers-reduced-motion: reduce) {
    .mhc-chevron, .mhc-menu-toggle > span { transition: none; }
}

/* Floorplan hero images must not inherit inline-image baseline spacing. */
.floorplan-page-hero .right ul li { list-style: none; line-height: 0; }
.floorplan-page-hero .right ul li img { display: block; margin-top: 0; vertical-align: top; }

/* Keep the mobile close/logo row visible while its menu scrolls, including iOS. */
@media (max-width: 1023px) {
    header.mhc-site-header.mobile-nav-open {
        position: fixed; top: var(--mhc-open-header-top, var(--mhc-admin-offset, 0px)); left: 0; right: 0;
    }
}

@media (max-width: 1023px) { html.mhc-menu-open .rvcp-promo-bar { visibility: hidden; } }

/* Community available-home actions wrap as complete buttons with a consistent gap. */
.mhc-community-home-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; width: 100%; padding: 0 12px 12px; box-sizing: border-box; }
body.single-rvadv_communities .mhc-community-home-actions > :is(a.primary_bttn,button.primary_bttn) { flex: 0 1 auto; margin: 0; max-width: 100%; box-sizing: border-box; white-space: nowrap; }

/* Match the original community card: two actions side by side beneath status. */
.mhc-community-home-actions { gap: 6px; padding-inline: 12px; }
body.single-rvadv_communities .mhc-community-home-actions > :is(a.primary_bttn,button.primary_bttn) { flex: 1 1 0; min-width: 0; padding: 14px 8px; font-size: 12px; text-align: center; }
@media (max-width: 359px) {
    .mhc-community-home-actions { flex-direction: column; }
    body.single-rvadv_communities .mhc-community-home-actions > :is(a.primary_bttn,button.primary_bttn) { flex: none; width: 100%; }
}

/* Desktop dropdowns use one panel accent instead of competing underlines. */
@media (min-width: 1024px) {
    #mhc-main-menu:has(> li.mhc-submenu-open) > li > a { border-bottom-color: transparent; }
    #mhc-main-menu > li.mhc-submenu-open > a,
    #mhc-main-menu > li.mhc-submenu-open > .mhc-submenu-toggle { color: var(--mhc-blue); }
    #mhc-main-menu > li > .sub-menu { left: 0; }
    #mhc-main-menu .sub-menu a,
    #mhc-main-menu .sub-menu li > a:is(:hover,:focus-visible),
    #mhc-main-menu .sub-menu .current-menu-item > a { min-height: 44px; padding: 10px 16px; }
}

/* Homepage: lower-left story and a full-height black promotion split. */
.homepage-hero .hero::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.28) 52%,transparent 85%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 65%); }
.homepage-hero .hero img { filter: none; }
.homepage-hero .hero h1.hero-title { left: max(24px,calc((100% - 1232px)/2)); right: auto; top: auto; bottom: 100px; width: min(720px,calc(100% - 48px)); max-width: none; margin: 0; text-align: left; font-size: clamp(36px,4.2vw,64px); line-height: 1.1; text-shadow: 0 2px 12px #0004; }
.homepage-hero .hero .owl-carousel .owl-dots { z-index: 3; bottom: 30px; left: max(16px,calc((100% - 1248px)/2)); right: auto; padding: 0; margin: 0; gap: 2px; }
.homepage-hero .hero .owl-carousel .owl-dots .owl-dot { position: relative; display: grid; place-items: center; width: 28px; height: 28px; margin: 0; background: transparent; border: 0; }
.homepage-hero .hero .owl-carousel .owl-dots .owl-dot::after { content: ''; display: block; width: 9px; height: 9px; border: 1.5px solid #fff; border-radius: 50%; background: transparent; box-sizing: border-box; }
.homepage-hero .hero .owl-carousel .owl-dots .owl-dot.active { background: transparent; }
.homepage-hero .hero .owl-carousel .owl-dots .owl-dot.active::after { background: var(--mhc-blue); border-color: var(--mhc-blue); }
.homepage-hero .hero .owl-dot:focus-visible { outline: 2px solid var(--mhc-blue); outline-offset: 0; }
.homepage-hero .subhero-section { max-width: none; width: 100%; padding: 0; gap: 0; align-items: stretch; }
.homepage-hero .subhero-section .left-section { width: 58%; padding: 64px 56px 52px max(24px,calc((100vw - 1232px)/2)); }
.homepage-hero .subhero-section .left-section h2 { max-width: 600px; margin: 0 0 24px; line-height: 1.18; }
.homepage-hero .subhero-section .left-section p { max-width: 580px; line-height: 1.65; margin: 0; }
.homepage-hero .subhero-section .left-section :is(.mhc-primary-btn,.mhc-secondary-btn) { margin-top: 20px; margin-bottom: 12px; }
.homepage-hero .subhero-section .promo-section { width: 42%; display: flex; align-items: center; justify-content: center; padding: 32px max(24px,calc((100vw - 1400px)/2)) 32px 32px; background: #000; translate: none; z-index: auto; }
.homepage-hero .home-promo-square { width: 100%; align-items: center; }
.homepage-hero .home-promo-square .rvcp-promo-square { width: 100%; max-width: 600px; margin: 0 auto; }
.homepage-hero .home-promo-square img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
@media (max-width: 767px) {
    .homepage-hero .hero h1.hero-title { left: 24px; bottom: 80px; width: calc(100% - 48px); font-size: clamp(30px,7.5vw,44px); }
    .homepage-hero .hero::after { background: linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.25) 65%,rgba(0,0,0,.08)); }
    .homepage-hero .hero .owl-carousel .owl-dots { left: 16px; bottom: 24px; right: auto; }
    .homepage-hero .subhero-section { flex-direction: column; padding: 0; gap: 0; }
    .homepage-hero .subhero-section .left-section { width: 100%; padding: 40px 24px 28px; text-align: left; }
    .homepage-hero .subhero-section .promo-section { width: 100%; padding: 28px 24px; }
}

.homepage-hero .hero .owl-carousel-hero { z-index: auto; }

/* Preserve the authored two-line hero title on desktop. */
@media (min-width: 1024px) {
    .homepage-hero .hero h1.hero-title { width: min(1020px,calc(100% - 48px)); font-size: clamp(38px,4vw,60px); }
}

/* Regions logo and label share a baseline and balanced visual weight. */
.homepage-region-cards .homepage-region-cards__title { align-items: baseline; justify-content: center; gap: 24px; font-size: 42px; line-height: 1; }
.homepage-region-cards .homepage-region-cards__title img.site-logo { width: 120px; max-width: none; height: auto; margin: 0; flex: 0 0 auto; }
@media (max-width: 767px) {
    .homepage-region-cards .homepage-region-cards__title { font-size: 34px; gap: 20px; }
    .homepage-region-cards .homepage-region-cards__title img.site-logo { width: 96px; }
}

/* Buyer offers: full artwork plus a clear, compact community directory. */
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 48px; align-items: start; max-width: 1232px; margin: 0 auto; padding: 40px 24px 64px; float: none; width: 100%; box-sizing: border-box; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap > p:not(:has(a)), body:has(.mhc-buyers-directory) #wysiwyg_page_wrap > div[style] { display: none; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap > p:has(img) { margin: 0; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap > p img { width: 100%; height: auto; display: block; margin: 0; box-shadow: 0 4px 20px #00000012; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory { padding: 32px; background: var(--mhc-surface); border-top: 3px solid var(--mhc-blue); }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-eyebrow { color: #333; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 12px; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory h2 { margin: 0 0 24px; font-size: clamp(24px,2.2vw,32px); line-height: 1.2; color: #000; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory li { margin: 0; padding: 0; list-style: none; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory a { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 100%; min-height: 64px; padding: 14px 16px; background: #fff; border: 1px solid #cfdae0; color: #000; font-size: 15px; line-height: 1.4; font-weight: 600; text-decoration: none; box-sizing: border-box; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory a::after { content: '\2192'; color: #16789f; font-size: 20px; flex: 0 0 auto; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory a:is(:hover,:focus-visible) { background: #dceff7; border-color: var(--mhc-blue); }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory a:focus-visible { outline: 2px solid #000; outline-offset: 3px; }
@media (max-width: 1023px) {
    body:has(.mhc-buyers-directory) #wysiwyg_page_wrap { grid-template-columns: minmax(0,1fr); gap: 32px; max-width: 760px; padding-top: 24px; }
}
@media (max-width: 479px) {
    body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory { padding: 24px 20px; }
    body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory ul { grid-template-columns: minmax(0,1fr); }
}

/* Join the community directory to the flyer as one full-height split panel. */
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap { gap: 0; align-items: stretch; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory { border-top: 0; padding: 40px 32px; }
body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory a::after { content: ''; display: block; width: 8px; height: 8px; border-top: 2px solid var(--mhc-blue); border-right: 2px solid var(--mhc-blue); transform: rotate(45deg); font-size: 0; margin-right: 3px; }
@media (max-width: 479px) {
    body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory { padding: 28px 20px; }
}

/* Native form labels remain available to assistive technology without duplicating prompts. */
label.mhc-form-field { display: block; width: 100%; margin: 0; font: inherit; }
.mhc-field-label { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

/* Frame only the homepage promotion artwork in brand blue. */
.homepage-hero .home-promo-square img { border: 6px solid var(--mhc-blue); box-sizing: border-box; }

@media (min-width: 1024px) {
    body:has(.mhc-buyers-directory) #wysiwyg_page_wrap .mhc-buyers-directory h2 { font-size: clamp(18px,1.65vw,22px); }
}


/* Preferred lender content card, authored in the page editor. */
body:has(.mhc-lender-card) :is(#wysiwyg_page_wrap,.about-page-content) { max-width: 1120px; margin: 0 auto; padding: 40px 24px 64px; width: 100%; float: none; box-sizing: border-box; }
.mhc-lender-card { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); border: 1px solid #dae3e8; box-shadow: 0 6px 24px #00000009; }
.mhc-lender-brand { display: flex; align-items: center; justify-content: center; background: var(--mhc-surface); padding: 40px; }
.mhc-lender-brand a { display: block; width: 100%; max-width: 340px; }
.mhc-lender-brand img { display: block; width: 100%; height: auto; margin: 0; }
.mhc-lender-details { padding: 40px; border-top: 0; }
body :is(#wysiwyg_page_wrap,.about-page-content) .mhc-lender-details h2 { font-size: 32px; line-height: 1.2; margin: 0 0 8px; color: #000; }
body :is(#wysiwyg_page_wrap,.about-page-content) .mhc-lender-role { margin: 0 0 8px; color: #333; font-size: 16px; }
body :is(#wysiwyg_page_wrap,.about-page-content) .mhc-lender-license { margin: 0 0 24px; color: #555; font-size: 14px; }
.mhc-lender-details dl { margin: 0 0 28px; }
.mhc-lender-details dl > div { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 16px; padding: 10px 0; border-bottom: 1px solid #e5ebee; }
.mhc-lender-details dt { font-size: 14px; font-weight: 600; color: #555; }
.mhc-lender-details dd { margin: 0; color: #000; font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
body :is(#wysiwyg_page_wrap,.about-page-content) .mhc-lender-details dd a { color: #000; text-decoration: underline; text-decoration-color: var(--mhc-blue); text-underline-offset: 4px; }
body :is(#wysiwyg_page_wrap,.about-page-content) .mhc-lender-details dd a:hover { color: #16789f; }
.mhc-lender-actions { display: flex; flex-wrap: wrap; gap: 12px; }
body :is(#wysiwyg_page_wrap,.about-page-content) .mhc-lender-actions a { display: inline-flex; align-items: center; justify-content: center; margin: 0; }
.mhc-lender-card a:focus-visible { outline: 3px solid var(--mhc-blue); outline-offset: 3px; }
@media (max-width: 767px) {
    body:has(.mhc-lender-card) :is(#wysiwyg_page_wrap,.about-page-content) { padding: 24px 20px 40px; }
    .mhc-lender-card { grid-template-columns: minmax(0,1fr); }
    .mhc-lender-brand { padding: 28px; }
    .mhc-lender-brand a { max-width: 240px; }
    .mhc-lender-details { padding: 28px 24px; }
    body :is(#wysiwyg_page_wrap,.about-page-content) .mhc-lender-details h2 { font-size: 28px; }
}

body:has(.mhc-lender-card) .about-page-content > h1 { text-align: center; }
body:has(.mhc-lender-card) .mhc-lender-brand img { margin: 0; max-height: none; }
body:has(.mhc-lender-card) .mhc-lender-details h2 { text-align: left; }
body:has(.mhc-lender-card) .single-page-content-section-1:has(> h2:empty):not(:has(a)),
body:has(.mhc-lender-card) .single-page-content-section-2:has(> div:empty) { display: none; }

.homepage-hero .subhero-section .left-section .mhc-home-intro-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 12px; }
.homepage-hero .subhero-section .left-section .mhc-home-intro-actions a { margin: 0; }

/* One light-blue surface for the community contact and sales-information panels. */
.single-rvadv_communities .comm-single-right-sec1 > :is(.comm-contact-form-sec,.comm-contact-content-sec) { background: var(--mhc-surface); }

/* Keep footer navigation readable at phone widths. */
@media (max-width: 767px) {
    footer #footer_bg_logo {
        inset: 50% auto auto 50%;
        width: 300%;
        height: 100vw;
        margin: 0;
        translate: -50% -50%;
        rotate: 90deg;
    }
    footer #footer_bg_logo img { display: block; object-fit: cover; object-position: center; }
    footer#footer #footer_links ul:not(.sub-menu) > li > a { font-size: 16px; line-height: 1.5; }
    footer#footer #footer_links ul li ul.sub-menu li a { font-size: 14px; line-height: 1.5; }
}

/* The map switcher joins the sticky search filters as the map scrolls away. */
#communities_wrap:has(.mhc-map-region-bar) { display: flow-root; }
#communities_wrap .community_map_filter_wrapper { position: sticky; z-index: 12; }
#communities_wrap .mhc-region-map { margin-bottom: 0; scroll-margin-top: var(--mhc-community-filter-height, 0px); }
.mhc-map-region-bar {
    position: sticky;
    top: calc(var(--mhc-header-bottom, 92px) + var(--mhc-community-filter-height, 0px) - 1px);
    z-index: 11;
    clear: both;
    background: var(--mhc-black);
    color: var(--mhc-white);
    padding: 4px 12px 0;
}
.mhc-map-region-buttons { display: flex; justify-content: center; gap: clamp(12px, 3vw, 36px); margin: 0 auto; }
.mhc-map-region-buttons a {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 0 4px;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--mhc-white);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 400;
}
.mhc-map-region-buttons a:hover { color: var(--mhc-blue); }
.mhc-map-region-buttons a[aria-current="true"] { color: var(--mhc-blue); border-bottom-color: var(--mhc-blue); }
.mhc-map-region-buttons a:focus-visible,
.mhc-map-region-toggle:focus-visible { outline: 2px solid var(--mhc-blue); outline-offset: -3px; }
.mhc-map-region-toggle { display: none; }
@media (max-width: 767px) {
    .mhc-map-region-bar { padding: 0; }
    .mhc-map-region-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 44px;
        padding: 0 18px;
        border: 0;
        background: transparent;
        color: var(--mhc-white);
        font-size: 13px;
        font-weight: 400;
        text-transform: uppercase;
        cursor: pointer;
    }
    .mhc-map-region-toggle::after {
        content: "";
        width: 8px;
        height: 8px;
        border: solid currentColor;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }
    .mhc-map-region-toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
    .mhc-map-region-toggle[aria-expanded="false"] + .mhc-map-region-buttons { display: none; }
    .mhc-map-region-buttons {
        position: absolute;
        inset: 44px 0 auto;
        flex-direction: column;
        justify-content: flex-start;
        max-height: 45dvh;
        overflow-y: auto;
        gap: 0;
        background: #161616;
        box-shadow: 0 6px 12px #0003;
    }
    .mhc-map-region-buttons a {
        justify-content: space-between;
        flex: none;
        min-height: 44px;
        padding: 0 18px;
        border: 0;
        border-top: 1px solid #333;
        font-size: 12px;
    }
    .mhc-map-region-buttons a[aria-current="true"]::after { content: "\2713"; }
}
.mhc-map-region-message { margin: 6px auto 0; text-align: center; font-size: 13px; }
#communities_wrap .communities_list { padding-top: clamp(40px, 5vw, 64px); }
#communities_wrap .mhc-community-region { float: none; margin: 0 auto clamp(48px, 6vw, 80px); }
#communities_wrap .mhc-community-region > h2 { display: block; float: none; width: 100%; max-width: none; margin: 0 0 clamp(24px, 3vw, 36px); text-align: center; font-size: clamp(23px, 3vw, 32px); font-weight: 700; }
#communities_wrap :is(.mhc-community-region, .comm_list_block, .mhc-map-region-message)[hidden] { display: none; }

/* Community map cards */
.custominfobox.mhc-pin-box {
    width: 260px !important;
    padding: 0 !important;
    border-radius: 0;
    overflow: visible;
    box-shadow: 0 4px 20px #0004;
}
.mhc-pin-card { position: relative; color: var(--mhc-black); background: var(--mhc-white); }
.mhc-pin-card::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-inline: 7px solid transparent;
    border-bottom: 8px solid var(--mhc-white);
}
.mhc-pin-card img.mhc-pin-image {
    display: block;
    position: static;
    width: 100%;
    height: auto;

    margin: 0 !important;
}
.mhc-pin-details { padding: 12px 14px; }
.mhc-pin-details h2 { margin: 4px 0; font-size: 17px; line-height: 1.2; font-weight: 700; }
.mhc-pin-details p { margin: 0 0 4px; font-size: 13px; line-height: 1.35; }
.mhc-pin-details .mhc-pin-status {
    display: inline-block;
    max-width: calc(100% - 44px);
    padding: 0 0 0 7px;
    border-left: 2px solid var(--mhc-blue);
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
}
.mhc-pin-price { font-weight: 700; }
.mhc-pin-close {
    position: absolute;
    top: 2px;
    right: 2px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: var(--mhc-black);
    font-size: 20px;
    cursor: pointer;
    isolation: isolate;
}
.mhc-pin-close::before {
    content: "";
    position: absolute;
    inset: 7px;
    z-index: -1;
    border-radius: 0;
    background: var(--mhc-white);
    box-shadow: 0 1px 4px #0003;
}
.mhc-pin-details .mhc-pin-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 4px;
    padding: 0 12px;
    border-radius: 0;
    background: var(--mhc-blue);
    color: var(--mhc-black);
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 700;
}
.mhc-pin-details .mhc-pin-link:hover { background: var(--mhc-black); color: var(--mhc-white); }
.mhc-pin-card :is(button, a):focus-visible { outline: 2px solid var(--mhc-black); outline-offset: -3px; }


/* Footer legal copy */
#footer_copy .mhc-footer-copyright { text-align: right; }
#footer_copy .mhc-footer-copyright,
#footer_copy .mhc-footer-copyright p,
#footer_copy .mhc-footer-copyright a {
    color: #d0d5d9;
    font-size: clamp(13px, 1.1vw, 15px);
    font-weight: 400;
    line-height: 1.55;
}
#footer_copy .mhc-footer-copyright a:hover,
#footer_copy .mhc-footer-copyright a:focus-visible { color: #fff; }
#footer_copy .mhc-footer-copyright + img { margin-inline-start: 12px; }
@media (max-width: 767px) {
    #footer_copy .mhc-footer-copyright { text-align: center; }
    #footer_copy .mhc-footer-copyright + img { margin: 10px 0; }
}

/* Cover the mobile sticky header seam without shifting its measured position. */
@media (max-width: 1023px) {
    header.mhc-site-header::before {
        content: "";
        position: absolute;
        inset: -1px 0 auto;
        height: 1px;
        background: inherit;
        pointer-events: none;
    }
}
