/* Typography tokens — resources/DESIGN.md */
body.hg-body,
body.hg-luxury-home,
body.pj-show-page.psp-prestige {
    --font-sans: var(--prop-font-sans, "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
    --type-display-lg-size: 48px;
    --type-display-lg-lh: 56px;
    --type-display-lg-ls: -0.02em;
    --type-display-lg-mobile-size: 32px;
    --type-display-lg-mobile-lh: 40px;
    --type-headline-xl-size: 32px;
    --type-headline-xl-lh: 40px;
    --type-headline-xl-ls: -0.015em;
    --type-headline-xl-mobile-size: 24px;
    --type-headline-xl-mobile-lh: 32px;
    --type-headline-lg-size: 24px;
    --type-headline-lg-lh: 32px;
    --type-headline-lg-ls: -0.01em;
    --type-headline-md-size: 20px;
    --type-headline-md-lh: 28px;
    --type-headline-sm-size: 18px;
    --type-headline-sm-lh: 26px;
    --type-body-lg-size: 16px;
    --type-body-lg-lh: 24px;
    --type-body-md-size: 14px;
    --type-body-md-lh: 20px;
    --type-body-sm-size: 12px;
    --type-body-sm-lh: 18px;
    --type-label-lg-size: 14px;
    --type-label-lg-lh: 20px;
    --type-label-lg-ls: 0.01em;
    --type-label-md-size: 12px;
    --type-label-md-lh: 16px;
    --type-label-md-ls: 0.02em;
    --type-label-sm-size: 11px;
    --type-label-sm-lh: 14px;
    --type-label-sm-ls: 0.03em;
}

body.hg-body,
body.hg-body.hg-app,
body.hg-body .prop-chrome,
body.hg-body .prop-foot,
body.hg-body .lux-foot,
body.pj-show-page.psp-prestige {
    font-family: var(--font-sans);
    font-size: var(--type-body-md-size);
    line-height: var(--type-body-md-lh);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.hg-body.hg-luxury-home .prop-chrome .prop-login,
body.hg-body.hg-luxury-home .prop-chrome .prop-register,
body.hg-body.hg-luxury-home .prop-chrome .prop-areas__btn,
body.hg-body.hg-luxury-home .prop-chrome .prop-search,
body.hg-body.hg-luxury-home .prop-chrome .prop-persona a,
body.hg-body.hg-luxury-home .prop-chrome .prop-header-greet .prop-bar__session-name {
    font-family: var(--font-sans);
}

body.hg-luxury-home .lux-hero__title,
body.hg-luxury-home .psp-header__title {
    font-size: clamp(var(--type-display-lg-mobile-size), 4.2vw, var(--type-display-lg-size));
    line-height: 1.17;
    font-weight: 700;
    letter-spacing: var(--type-display-lg-ls);
}

body.hg-luxury-home .lux-section__title,
body.hg-luxury-home .lux-featured__title,
body.hg-luxury-home .lux-insights__title,
body.hg-luxury-home .lux-broker__title,
body.hg-luxury-home .lux-home-cta__title,
body.psp-prestige .psp-section-title,
body.psp-prestige .psp-header__title,
body.psp-prestige #pj-sec-loan > .pj-show-block__title,
body.psp-prestige .psp-loc__title,
body.psp-prestige .pj-show-block__title {
    font-size: var(--type-headline-lg-size);
    line-height: var(--type-headline-lg-lh);
    font-weight: 600;
    letter-spacing: var(--type-headline-lg-ls);
}

body.hg-luxury-home .lux-pj-card__title,
body.hg-luxury-home .lux-list-card__title,
body.psp-prestige .psp-metric__value,
body.psp-prestige .psp-subnav__price-value {
    font-size: var(--type-headline-sm-size);
    line-height: var(--type-headline-sm-lh);
    font-weight: 600;
}

body.hg-luxury-home .lux-hero__lead,
body.hg-luxury-home .lux-pj-card__meta,
body.psp-prestige .psp-muted,
body.psp-prestige .pj-show-rich,
body.psp-prestige .psp-loc__intro-text {
    font-size: var(--type-body-md-size);
    line-height: var(--type-body-md-lh);
}

body.hg-luxury-home .lux-side__nav a,
body.psp-prestige .psp-subnav__link,
body.psp-prestige .psp-btn,
body.psp-prestige .psp-lead-submit,
body.psp-prestige .psp-dist__filter {
    font-size: var(--type-label-md-size);
    line-height: var(--type-label-md-lh);
    font-weight: 600;
    letter-spacing: var(--type-label-md-ls);
}

body.hg-luxury-home .lux-hero__badge,
body.psp-prestige .psp-chip,
body.psp-prestige .psp-dist-badge,
body.psp-prestige .psp-subnav__price-label {
    font-size: var(--type-label-sm-size);
    line-height: var(--type-label-sm-lh);
    font-weight: 600;
    letter-spacing: var(--type-label-sm-ls);
}

body.hg-luxury-home .pj-contact-fab__btn,
body.psp-prestige .pj-contact-fab__btn {
    font-family: var(--font-sans);
}
