/* Shared text roles; SVG labels and mathematical notation keep their own scale. */
:root {
  --type-display: "Cormorant Garamond", Georgia, serif;
  --type-reading: "Source Sans 3", "Avenir Next", sans-serif;
  --type-body: 1rem;
  --type-label: 0.875rem;
  --type-small-heading: 1.25rem;
  --type-card-heading: 1.5rem;
}

body.home-page {
  --home-type-label: var(--type-label);
  --home-type-body: var(--type-body);
  --home-type-heading: var(--type-card-heading);
}

body.mind-page {
  --notebook-body-size: var(--type-body);
  --notebook-label-size: var(--type-label);
  --notebook-meta-size: var(--type-label);
}

body :is(.section-kicker, .detail-label, .home-note-label,
  .publication-type, .record-status, .publication-feature-label) {
  font-family: var(--type-reading);
  font-size: var(--type-label);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.065em;
}

body.home-page :is(.hero-text, .publication-meta, .trajectory-mentor,
  .resilience-team-names, .crack-vision-card p, .interlayer-reading-key p,
  .lca-perspective p, .collaboration-paths p),
body.publications-page .publication-record p:not(.record-status) {
  font-family: var(--type-reading);
  font-size: var(--type-body);
  line-height: 1.6;
}

body.home-page :is(.reflective-figure-heading h3, .crack-vision-heading h3,
  .lca-card-heading h3, .crack-vision-card h4, .tool-card h3),
body.publications-page .publication-record h3 {
  font-family: var(--type-display);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-wrap: pretty;
}

body.home-page :is(.reflective-figure-heading h3, .crack-vision-heading h3,
  .lca-card-heading h3, .crack-vision-card h4) {
  font-size: var(--type-card-heading);
}

body.home-page :is(.investigation-mini h3, .interlayer-reading-key h4),
body.mind-page .mind-layout :is(h3, h4) {
  font-family: var(--type-reading);
  font-size: var(--type-small-heading);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: normal;
  text-wrap: pretty;
}

body.home-page .investigation-mini h3 {
  margin-bottom: 0.15rem;
}

body.home-page .trajectory-item h2 {
  font-family: var(--type-display);
  font-size: var(--type-card-heading);
  line-height: 1.2;
}

body.mind-page .mind-layout h2 {
  font-family: var(--type-display);
  line-height: 1.15;
  letter-spacing: -0.015em;
  text-wrap: pretty;
}

body.publications-page :is(.publication-topic-tag, .publication-number,
  .doi-link span),
body.home-page .mini-card-footer {
  font-family: var(--type-reading);
  font-size: var(--type-label);
  line-height: 1.4;
}

body :is(.publication-body, .publication-record) h3 + p {
  margin-top: 0.65rem;
}

@media (max-width: 700px) {
  body.home-page .hero-text p,
  body.home-page p.section-summary,
  body.home-page .tool-copy > .tool-field-label + p {
    text-align: left;
    text-justify: auto;
  }
}
