/* Shared type scale for the brand site, Insights and the reflection experience.
   Keep Classic and the separately developed Manifest interface outside this scope. */
:root {
  --lf-font-heading: Georgia, "Times New Roman", "Songti SC", STSong, serif;
  --lf-font-body: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --lf-type-title: 64px;
  --lf-type-section: 32px;
  --lf-type-body: 18px;
  --lf-type-small: 13px;
  --lf-type-control: 14px;
}
.lf-typography {
  font-family: var(--lf-font-body);
  font-size: var(--lf-type-body);
  font-weight: 400;
  line-height: 1.7;
}
body.lf-typography h1, main.lf-typography h1 {
  font-family: var(--lf-font-heading);
  font-size: var(--lf-type-title);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
body.lf-typography h2, main.lf-typography h2,
.lf-typography .feature h3 {
  font-family: var(--lf-font-heading);
  font-size: var(--lf-type-section);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.02em;
}
body.lf-typography h3, main.lf-typography h3 {
  font-family: var(--lf-font-heading);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -.015em;
}
.lf-typography .feature h3 { font-size: var(--lf-type-section); }
.lf-typography .hero-copy, .lf-typography .deck,
.lf-typography .section-intro, .lf-typography .hero-side p,
.lf-typography .feature p, .lf-typography .card p,
.lf-typography .tool p, .lf-typography .closing p,
.lf-typography .prose, .lf-typography .prose blockquote,
.lf-typography .mirror-card, .lf-typography .conversation-turn p,
.lf-typography .confirmed-trace, .lf-typography .ai-assist p,
.lf-typography .intention-card p, .lf-typography .reflection-gift p,
.lf-typography .history-card > p, .lf-typography .return-trace p,
.lf-typography .safety-card, main.lf-typography textarea {
  font-family: var(--lf-font-body);
  font-size: var(--lf-type-body);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: normal;
}
.lf-typography .prose { line-height: 1.85; }
.lf-typography .eyebrow, .lf-typography .kicker,
.lf-typography .experience-note, .lf-typography .meta,
.lf-typography .tag, .lf-typography .card small,
.lf-typography .card footer, .lf-typography .path span,
.lf-typography .tool .status, .lf-typography .composer-hint,
.lf-typography .privacy-note, .lf-typography .inline-error,
.lf-typography .demo-notice, .lf-typography .conversation-turn span,
.lf-typography .ai-assist span, .lf-typography .field-label,
.lf-typography .intention-card span, .lf-typography .reflection-gift span,
.lf-typography .history-meta, .lf-typography .history-card small,
.lf-typography .return-trace span, .lf-typography .outcome-field > span,
.lf-typography .memory-notice, .lf-typography .reflection-storage-note {
  font-family: var(--lf-font-body);
  font-size: var(--lf-type-small);
  line-height: 1.6;
}
.lf-typography .eyebrow, .lf-typography .kicker,
.lf-typography .card small, .lf-typography .tag { font-weight: 500; letter-spacing: .1em; }
.lf-typography button, .lf-typography .hero-actions a,
.lf-typography .quiet-link, .lf-typography .locale-toggle,
.lf-typography nav a, .lf-typography .text-link,
.lf-typography .card-link::after, .lf-typography .article-nav a,
.lf-typography .article-toc, .lf-typography .article-toc li,
.lf-typography .article-toc strong, .lf-typography .article-nav p {
  font-family: var(--lf-font-body);
  font-size: var(--lf-type-control);
  line-height: 1.5;
}
@media (max-width: 640px) {
  :root {
    --lf-type-title: 40px;
    --lf-type-section: 26px;
    --lf-type-body: 16px;
    --lf-type-small: 12px;
  }
  body.lf-typography h3, main.lf-typography h3 { font-size: 22px; }
  .lf-typography .feature h3 { font-size: var(--lf-type-section); }
}
