/* Shared editorial typography: serif headings, readable sans-serif body copy. */
:root {
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Golos Text", "Segoe UI", Arial, sans-serif;
  --body: var(--sans);
  --label: var(--sans);
  --script: "Allura", "Segoe Script", cursive;
}

body {
  font-family: var(--body);
  font-size: clamp(1rem, .96rem + .16vw, 1.125rem);
  font-weight: 400;
  line-height: 1.68;
}

h1,
h2,
h3,
.display {
  font-family: var(--serif);
  font-weight: 500;
}

h1,
h2,
.display {
  letter-spacing: .006em;
}

h3 { letter-spacing: 0; }

.hero h1 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: .012em;
}

.section-intro,
.hero-lead,
.contact-copy,
.story-copy,
.price-intro,
.service-card p,
.business-card p,
.why-card p,
.faq-list p,
.story-section p {
  font-family: var(--body);
  font-weight: 400;
}

.home-founder-quote,
.review-quote,
.review-full p,
blockquote {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
  letter-spacing: .005em;
}

.review-quote {
  font-size: clamp(1.3rem, 1.8vw, 1.55rem);
  line-height: 1.48;
}

.review-full p {
  font-size: 1.15rem;
  line-height: 1.55;
}

.home-founder-quote cite,
.review-author,
.review-date {
  font-family: var(--sans);
  font-style: normal;
}

.site-footer .footer-center > span,
.site-footer .footer-note,
.site-footer .footer-slogan {
  font-family: var(--script);
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: .02em;
}

@media (max-width: 780px) {
  body { line-height: 1.62; }
  h1,
  h2,
  .display { letter-spacing: 0; }
  .review-quote { font-size: 1.3rem; }
  .home-contact-compact .contact-copy {
    margin-top: 1.15rem;
    font-size: 1.05rem;
    line-height: 1.55;
  }
}
