/* The general homepage's Zen Gothic type scale, shared by service pages.
   Reference: styles.css body, h2, .eyebrow, .service-card, .contact-simple. */
:is(.estate-page,.renovation-page) { font-family:Zen,"Noto Sans JP",sans-serif; font-size:16px; line-height:1.9; }
:is(.estate-page,.renovation-page) :is(h1,h2,h3) { font-family:inherit; font-weight:700; }
:is(.estate-page,.renovation-page) :is(.estate-hero,.renovation-hero) h1,
:is(.estate-page,.renovation-page) h2,
.estate-page .estate-detail h1,
.estate-page .estate-property-content .estate-detail-heading h2,
.renovation-page .case-detail :is(h1,h2) { font-size:38px; font-weight:700; line-height:1.65; letter-spacing:.06em; }
:is(.estate-page,.renovation-page) :is(.estate-kicker,.renovation-kicker) { font:700 16px/1.5 Arial,sans-serif; letter-spacing:.04em; }
.estate-page .estate-hero-copy > p:not(.estate-kicker),
.renovation-page .renovation-intro { font-size:16px; line-height:1.9; }
:is(.estate-page,.renovation-page) :is(.estate-support-grid,.renovation-services,.renovation-flow,.estate-card,.renovation-card) h3 { font-size:23px; line-height:1.6; }
:is(.estate-page,.renovation-page) :is(.estate-support-grid,.renovation-services,.renovation-flow) p,
.renovation-page .case-description p { font-size:15px; line-height:1.9; }
:is(.estate-page,.renovation-page) :is(.estate-button,.renovation-button,.estate-text-link,.renovation-text-link,.estate-card-more,.estate-copy,.dialog-close),
.estate-page .estate-dialog-toolbar button { font-family:inherit; font-size:16px; font-weight:700; line-height:1.6; }
:is(.estate-page,.renovation-page) :is(.estate-note,.case-note,.estate-reference,.renovation-card-location,.estate-renovation-tag,.renovation-area,.renovation-card-price span),
.estate-page .estate-hero figcaption { font-size:12px; line-height:1.8; }
:is(.estate-page,.renovation-page) :is(.estate-facts,.case-facts) :is(dt,dd),
.estate-page .estate-conditions ul,
.estate-page .estate-selected :is(select,textarea,label) { font-size:14px; line-height:1.9; }
.estate-page .estate-contact h2,
.renovation-page .contact-simple h2 { font-size:clamp(18px,1.8vw,23px); font-weight:700; line-height:1.8; letter-spacing:.025em; }
.estate-page .estate-contact .estate-kicker,
.renovation-page .contact-simple-label { font:500 clamp(30px,3.4vw,44px)/1.1 Arial,sans-serif; letter-spacing:.015em; margin-bottom:18px; }
.estate-page .estate-contact p:not(.estate-kicker):not(.estate-note):not(.estate-copy-status),
.renovation-page .renovation-contact-note,
.renovation-page .contact-simple-buttons p { font-size:14px; line-height:1.6; }
.estate-page .estate-phone span,
.renovation-page .contact-simple-phone a { font:700 27px/1.6 Arial,sans-serif; letter-spacing:normal; }
.renovation-page .contact-simple .contact-action { font-size:16px; }
@media(max-width:800px) {
  .estate-page .estate-contact h2,.renovation-page .contact-simple h2 { font-size:20px; }
  .estate-page .estate-contact .estate-kicker,.renovation-page .contact-simple-label { font-size:32px; margin-bottom:12px; }
}
@media(max-width:600px) {
  :is(.estate-page,.renovation-page) :is(.estate-hero,.renovation-hero) h1,
  :is(.estate-page,.renovation-page) h2,
  .estate-page .estate-detail h1,
  .estate-page .estate-property-content .estate-detail-heading h2,
  .renovation-page .case-detail :is(h1,h2) { font-size:27px; line-height:1.65; letter-spacing:.02em; }
  :is(.estate-page,.renovation-page) :is(.estate-kicker,.renovation-kicker) { font-size:12px; }
  .estate-page .estate-hero-copy > p:not(.estate-kicker),.renovation-page .renovation-intro { font-size:14px; line-height:1.95; }
  :is(.estate-page,.renovation-page) :is(.estate-support-grid,.renovation-services,.renovation-flow,.estate-card,.renovation-card) h3 { font-size:20px; }
  :is(.estate-page,.renovation-page) :is(.estate-support-grid,.renovation-services,.renovation-flow) p,.renovation-page .case-description p { font-size:14px; line-height:1.8; }
  .estate-page .estate-contact h2,.renovation-page .contact-simple h2 { font-size:20px; line-height:1.8; }
  .estate-page .estate-contact .estate-kicker,.renovation-page .contact-simple-label { font-size:32px; }
  .estate-page .estate-tabs a { font-size:12px; }
  .estate-page .estate-detail-actions .estate-button,.renovation-page .case-detail .renovation-button { font-size:16px; }
}
