/* Type consistency 2026-11-06.
   Older page templates (blog index, property listings, home detail, build,
   amenities, book a call) still declared Georgia + Helvetica. These rules move
   them onto the site pair: Fraunces for display, DM Sans for text.
   Header and footer are untouched (they sit outside main). */
body:is(.family-blog-index, .family-home-detail, .family-property-listing, .family-inquiry, .family-core-page) main,
body:is(.family-blog-index, .family-home-detail, .family-property-listing, .family-inquiry, .family-core-page) main * {
  font-family: "DM Sans", Arial, sans-serif;
}
body:is(.family-blog-index, .family-home-detail, .family-property-listing, .family-inquiry, .family-core-page) main :is(h1, h2, h3, h4, h5, h6, blockquote, .faq-list summary, .core-v2-faq-group summary, .homes-paired-home > a:not(.homes-text-link) span:first-child,
  .core-v2-display, .home-v2-display, .build-hero-copy > p, .community-intro-copy p, .amenities-heading p,
  .community-mountains p, .request-intro-copy, .request-next-steps li span, .local-amenities li span, .builder-testimonials p,
  .builder-testimonials blockquote > span, .core-v2-testimonial-grid blockquote p, .privacy-hero > p:last-child, .status-label, .parity-home-hero-copy p),
body:is(.family-blog-index, .family-home-detail, .family-property-listing, .family-inquiry, .family-core-page) main :is(h1, h2, h3, h4, h5, h6, blockquote) *:not(.build-hero-copy h1 strong) {
  font-family: Fraunces, Georgia, serif;
}

/* Buttons and hero ledes stay in the text face, matching the updated pages. */
body:is(.family-blog-index, .family-home-detail, .family-property-listing, .family-inquiry, .family-core-page) main :is(.button, button, .core-text-link, .core-v2-lede, .home-v2-lede > p) {
  font-family: "DM Sans", Arial, sans-serif;
}

/* Body text: 17px on desktop, 16px on phones, same as the rest of the site. */
body:is(.family-home-detail, .family-property-listing) main :is(p, li):not(aside *):not([class*="eyebrow"]):not([class*="label"]):not([class*="status"]):not([class*="caption"]):not([class*="updated"]):not([class*="scope"]) {
  font-size: 17px;
  line-height: 1.6;
}
body.family-blog-index main .editorial-card-copy > p:not([class]) { font-size: 16px; }
@media (max-width: 700px) {
  body:is(.family-home-detail, .family-property-listing) main :is(p, li):not(aside *):not([class*="eyebrow"]):not([class*="label"]):not([class*="status"]):not([class*="caption"]):not([class*="updated"]):not([class*="scope"]) {
    font-size: 16px;
  }
}

/* Same 17px / 16px rule for the relocation guides, FAQ and privacy page. */
body:is(.family-relocation-guide, .family-relocation-index) main .relocation-section-body :is(p, li):not(.relocation-city-band *),
body.family-relocation-index main :is(.relocation-index-list, .relocation-next-step) > p,
body main .faq-answer > p,
body.family-privacy-policy main p:not(.privacy-hero > p) {
  font-size: 17px;
}
@media (max-width: 700px) {
  body:is(.family-relocation-guide, .family-relocation-index) main .relocation-section-body :is(p, li):not(.relocation-city-band *),
body.family-relocation-index main :is(.relocation-index-list, .relocation-next-step) > p,
  body main .faq-answer > p,
  body.family-privacy-policy main p:not(.privacy-hero > p) {
    font-size: 16px;
  }
}

/* Blog posts: captions, dates and links in the text face. */
body.family-blog-post main :is(.editorial-kicker, .editorial-card-meta, .editorial-story-count, .editorial-meta, .editorial-updated, .editorial-breadcrumb, .editorial-figure figcaption, .editorial-share, .editorial-text-link, .editorial-text-link *, .editorial-backlink a) {
  font-family: "DM Sans", Arial, sans-serif;
}

/* Accessibility pass 2026-11-06: contrast, map badge size, phone photo frame */
body .phases .eyebrow,body .phase-copy .quiet-link{color:#8f472b}
.editorial-body .tf-post-close li:first-child a,.editorial-body .tf-post-close a:hover,.editorial-body .tf-post-close a:focus-visible{background:#58714a}
.editorial-body .tf-post-close li:first-child a:hover,.editorial-body .tf-post-close li:first-child a:focus-visible{background:rgb(66,91,54)}
body .homes-site-plan .homes-map-hotspot-status{font-size:.7rem}
@media (max-width:48rem){body .homes-property-photo{min-height:0}body .homes-property-photo .homes-detail-image{height:auto}}
