/* v1.0.20: Clean typography system
   - Body sets the default font without !important.
   - H1/H2 are the only heading levels using Playfair Display.
   - H3 and below + UI/content elements use Arial. Important is used only on targeted small/UI elements to beat older section CSS. */
:root{
    --bhm-body-font: Arial, sans-serif;
    --bhm-heading-font: 'Playfair Display', serif;
    --bhm-heading-blue:#073a70;
    --bhm-heading-slate:#66706b;
    --bhm-heading-gold:#b99a5a;
    --bhm-heading-white:#ffffff;
    --bhm-heading-cream:#f7efe0;
}

html,
body{
    font-family: var(--bhm-body-font);
}

/* H1/H2: use Playfair Display everywhere, including nested spans/strongs used for color effects. */
body h1,
body h1 :where(span,strong,b,em,small,a),
body h2,
body h2 :where(span,strong,b,em,small,a),
body .site-main h1,
body .site-main h1 :where(span,strong,b,em,small,a),
body .site-main h2,
body .site-main h2 :where(span,strong,b,em,small,a),
body .bhm-entry-title,
body .bhm-entry-title :where(span,strong,b,em,small,a),
body .bhm-section-heading h1,
body .bhm-section-heading h1 :where(span,strong,b,em,small,a),
body .bhm-section-heading h2,
body .bhm-section-heading h2 :where(span,strong,b,em,small,a),
body .bhm-overview-intro h2,
body .bhm-overview-intro h2 :where(span,strong,b,em,small,a),
body .bhm-investor-panel h2,
body .bhm-investor-panel h2 :where(span,strong,b,em,small,a),
body .bhm-sales-heading h2,
body .bhm-sales-heading h2 :where(span,strong,b,em,small,a),
body .bhm-contact-form h2,
body .bhm-contact-form h2 :where(span,strong,b,em,small,a),
body .bhm-contact-popup h2,
body .bhm-contact-popup h2 :where(span,strong,b,em,small,a){
    font-family: var(--bhm-heading-font) !important;
    font-weight: 700;
    text-transform: uppercase;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* H3 downward and normal UI/content text: Arial. */
body :where(h3,h4,h5,h6,p,div,span,strong,b,em,small,a,li,dt,dd,label,button,input,textarea,select,option,table,thead,tbody,tfoot,tr,th,td,caption,figcaption,summary,details,blockquote){
    font-family: var(--bhm-body-font);
}

/* Targeted important rules for text fragments that older section CSS may style. */
body :where(
    h3,h4,h5,h6,
    h3 *,h4 *,h5 *,h6 *,
    button,button *,
    input,textarea,select,label,label *,
    .bhm-btn,.bhm-btn *,
    .bhm-form-submit,.bhm-form-submit *,
    .bhm-floating-contact,.bhm-floating-contact *,
    .bhm-menu,.bhm-menu *,
    .bhm-card-meta,.bhm-card-meta *,
    .bhm-product-meta,.bhm-product-meta *,
    .bhm-product-popup-btn,.bhm-product-popup-btn *,
    .bhm-image-card-body,.bhm-image-card-body *,
    .bhm-sales-box,.bhm-sales-box *,
    .bhm-sales-eyebrow,.bhm-sales-pretitle,.bhm-sales-meta,.bhm-sales-meta *,
    .bhm-progress .bhm-card,.bhm-progress .bhm-card *,
    .bhm-accordion-btn,.bhm-accordion-btn *,
    .bhm-utility-box-eyebrow,.bhm-utility-box-eyebrow *,
    .bhm-project-info-row,.bhm-project-info-row *,
    .bhm-footer-brand,.bhm-footer-brand *,
    .bhm-site-footer h3,.bhm-site-footer h3 *,
    .bhm-contact-popup-kicker,
    .bhm-contact-popup-note,.bhm-contact-popup-note *,
    .bhm-popup-form,.bhm-popup-form *
){
    font-family: var(--bhm-body-font) !important;
}

/* Re-assert H1/H2 after targeted UI rules so H2 nested text never loses Playfair. */
body h1,
body h1 :where(span,strong,b,em,small,a),
body h2,
body h2 :where(span,strong,b,em,small,a),
body .site-main h1,
body .site-main h1 :where(span,strong,b,em,small,a),
body .site-main h2,
body .site-main h2 :where(span,strong,b,em,small,a),
body .bhm-section-heading h1,
body .bhm-section-heading h1 :where(span,strong,b,em,small,a),
body .bhm-section-heading h2,
body .bhm-section-heading h2 :where(span,strong,b,em,small,a),
body .bhm-overview-intro h2,
body .bhm-overview-intro h2 :where(span,strong,b,em,small,a),
body .bhm-investor-panel h2,
body .bhm-investor-panel h2 :where(span,strong,b,em,small,a),
body .bhm-sales-heading h2,
body .bhm-sales-heading h2 :where(span,strong,b,em,small,a),
body .bhm-contact-form h2,
body .bhm-contact-form h2 :where(span,strong,b,em,small,a),
body .bhm-contact-popup h2,
body .bhm-contact-popup h2 :where(span,strong,b,em,small,a){
    font-family: var(--bhm-heading-font) !important;
}

body h1,
body .site-main h1,
body .bhm-entry-title{
    font-size: clamp(42px, 4.6vw, 68px);
    line-height: 1.08;
    letter-spacing: .02em;
}
body h2,
body .site-main h2,
body .bhm-section-heading h2,
body .bhm-overview-intro h2,
body .bhm-sales-heading h2{
    font-size: clamp(34px, 3.2vw, 50px);
    line-height: 1.18;
    letter-spacing: .035em;
}
body h3,
body .site-main h3{
    font-size: clamp(20px, 1.45vw, 26px);
    line-height: 1.28;
}
body h4,
body .site-main h4{
    font-size: clamp(18px, 1.18vw, 22px);
    line-height: 1.32;
}
body h5,
body .site-main h5{
    font-size: clamp(16px, 1.02vw, 19px);
    line-height: 1.35;
}
body h6,
body .site-main h6{
    font-size: clamp(15px, .9vw, 17px);
    line-height: 1.4;
}

body .bhm-section-heading h2,
body .bhm-overview-intro h2,
body .bhm-sales-heading h2{
    display:inline-block;
    color:var(--bhm-heading-blue);
    background-image:linear-gradient(90deg,var(--bhm-heading-blue) 0%,#173d68 28%,var(--bhm-heading-slate) 62%,var(--bhm-heading-gold) 100%);
    background-size:100% 100%;
    background-repeat:no-repeat;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}
body .bhm-products .bhm-section-heading h2,
body .bhm-floor-plan .bhm-section-heading h2,
body .bhm-sales-policy .bhm-section-heading h2,
body .bhm-contact-form-section .bhm-section-heading h2{
    color:var(--bhm-heading-white);
    background-image:linear-gradient(90deg,var(--bhm-heading-white) 0%,var(--bhm-heading-cream) 56%,var(--bhm-heading-gold) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}
body .bhm-contact-form h2,
body .bhm-contact-popup h2{
    color:var(--bhm-heading-blue);
    background:none;
    -webkit-background-clip:initial;
    background-clip:initial;
    -webkit-text-fill-color:var(--bhm-heading-blue);
    font-size: clamp(24px, 2.1vw, 32px);
}

@media (max-width: 1024px){
    body h1,
    body .site-main h1,
    body .bhm-entry-title{font-size:clamp(36px,5.5vw,54px);}
    body h2,
    body .site-main h2,
    body .bhm-section-heading h2,
    body .bhm-overview-intro h2,
    body .bhm-sales-heading h2{font-size:clamp(30px,4.8vw,42px);}
}
@media (max-width: 767px){
    body h1,
    body .site-main h1,
    body .bhm-entry-title{font-size:clamp(30px,9vw,42px);line-height:1.12;letter-spacing:.015em;}
    body h2,
    body .site-main h2,
    body .bhm-section-heading h2,
    body .bhm-overview-intro h2,
    body .bhm-sales-heading h2{font-size:clamp(25px,7.2vw,34px);line-height:1.18;letter-spacing:.018em;}
    body .bhm-contact-form h2,
    body .bhm-contact-popup h2{font-size:clamp(22px,6.5vw,29px);}
    body h3,
    body .site-main h3{font-size:clamp(18px,5.2vw,22px);}
    body h4,
    body .site-main h4{font-size:clamp(16px,4.8vw,20px);}
    body h5,
    body .site-main h5{font-size:clamp(15px,4.2vw,18px);}
    body h6,
    body .site-main h6{font-size:clamp(14px,3.8vw,16px);}
}
