/* Shared public typography. The handwritten voice stays in short signatures. */
:root {
  --body-font: "Nunito Sans", "Avenir Next", "Segoe UI", sans-serif;
  --type-title: clamp(2rem, 3.8vw, 3.25rem);
  --type-section: clamp(1.625rem, 2.6vw, 2.25rem);
  --type-card: 1.125rem;
}
body { font-family: var(--body-font); font-size: 1rem; line-height: 1.65; }
body :is(h1,h2,h3,h4) { font-family: var(--body-font) !important; font-style: normal; font-weight: 800 !important; line-height: 1.3; letter-spacing: -.02em; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
body :is(button,input,select,textarea,summary,.btn) { font-family: var(--body-font); }
body :is(.hero,.landing-copy,.seller-copy,.guide-hero,.split-copy,.catalog-intro,.detail-heading) h1 { font-size: var(--type-title); line-height: 1.2; }
body :is(.landing-section,.seller-section,.guide-reading,.guide-visit,.guide-listings,.guide-market,.guide-faq,.section-head,.reviews-inner,.portals-inner,.cta-copy) h2 { font-size: var(--type-section); line-height: 1.3; }
body :is(.landing-section,.seller-section,.service,.guide-visit-checks,.guide-chapters) h3 { font-size: var(--type-card); line-height: 1.4; }
body .seller-form-panel h2 { font-size: 1.625rem; line-height: 1.3; }
body :is(.seller-intro,.landing-intro,.guide-hero > p) { font-size: 1.125rem; line-height: 1.65; }
body :is(.seller-section,.landing-section,.service) p { font-size: 1rem; line-height: 1.65; }
body .btn, body .service .btn, body .seller-form .btn { font-size: 1rem; line-height: 1.4; font-weight: 800; }
body :is(.landing-report > p,.landing-other-towns,.seller-contact-alternative,.seller-form-panel .landing-form-note) { font-size: .875rem; line-height: 1.6; }
body .landing-eyebrow, body .eyebrow { font-family: var(--body-font); font-size: .8125rem; line-height: 1.5; font-weight: 800; letter-spacing: .08em; }
body :is(.since-signature,.seller-signature,.landing-copy h1 em,.landing-photo figcaption,.landing-footer-signature) { font-family: 'Kaushan Script',cursive; font-weight: 400; font-style: normal; }
.seller-region-switch { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; padding-block: 18px; }
.seller-region-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 18px; border: 1px solid #bed1d9; border-radius: 999px; font-size: .9375rem; font-weight: 800; color: #245b77; text-decoration: none; background: #fff; }
.seller-region-switch a[aria-current] { color: #fff; background: #245b77; border-color: #245b77; }
.seller-region-switch a:focus-visible { outline: 3px solid #ad4e2a; outline-offset: 3px; }
.landing-local-context { border-top: 1px solid #dce4e4; }
.landing-local-checks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 40px; margin-top: 26px; }
.landing-local-checks article { border-top: 2px solid #cfb094; padding-top: 20px; }
.seller-preparation-list { display: grid; gap: 10px; padding-left: 22px; margin: 20px 0; font-size: 1rem; line-height: 1.65; }
.seller-local-method { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 32px; margin-top: 24px; }
.seller-local-method p { margin-bottom: 0; }
@media(max-width: 600px) {
  body :is(.seller-intro,.landing-intro,.guide-hero > p) { font-size: 1rem; }
  .landing-local-checks,.seller-local-method { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .seller-region-switch { gap: 8px; padding-block: 14px; }
  .seller-region-switch a { flex: 1; padding-inline: 12px; text-align: center; font-size: .875rem; }
}
