/* Homepage typography only. Shared tools and the existing REZOR brand keep their faces.
   Locally served Google Fonts, with licenses in fonts/. Preloading plus optional
   display uses the fallback for a slow first visit instead of reflowing visible text. */
@font-face {
  font-family:'Macondo'; src:url('/site/fonts/macondo-regular.woff2') format('woff2');
  font-style:normal; font-weight:400; font-display:optional;
}
@font-face {
  font-family:'Source Sans 3'; src:url('/site/fonts/source-sans-3-regular.woff2') format('woff2');
  font-style:normal; font-weight:400; font-display:optional;
}
@font-face {
  font-family:'Source Sans 3'; src:url('/site/fonts/source-sans-3-semibold.woff2') format('woff2');
  font-style:normal; font-weight:600; font-display:optional;
}
@font-face {
  font-family:'Source Sans 3'; src:url('/site/fonts/source-sans-3-bold.woff2') format('woff2');
  font-style:normal; font-weight:700; font-display:optional;
}
@font-face {
  font-family:'Source Sans 3'; src:url('/site/fonts/source-sans-3-italic.woff2') format('woff2');
  font-style:italic; font-weight:400; font-display:optional;
}
@font-face {
  font-family:'IBM Plex Mono'; src:url('/site/fonts/ibm-plex-mono-regular.woff2') format('woff2');
  font-style:normal; font-weight:400; font-display:optional;
}
@font-face {
  font-family:'IBM Plex Mono'; src:url('/site/fonts/ibm-plex-mono-semibold.woff2') format('woff2');
  font-style:normal; font-weight:600; font-display:optional;
}
:root {
  --font-display:'Macondo',Georgia,'Times New Roman',serif;
  --font-body:'Source Sans 3','Segoe UI',Arial,sans-serif;
  --font-ui:'IBM Plex Mono',Consolas,'Courier New',monospace;
  --display:var(--font-display);
  --body:var(--font-body);
}

/* Macondo is regular-only: preserve its natural shapes, including in em/strong. */
.journal-home :is(h1,h2,.ascension-copy h3,.world-stage-content h3,
  .install-steps h3,.journal-subtitle,.field-intro p,.ascension-line,
  .world-window figcaption strong,.atlas-window [data-scene-name],.intro-copy>p,.annotation-bottom),
.journal-home :is(h1,h2,h3) em,
.journal-home .ascension-wordmark {
  font-family:var(--font-display);
  font-weight:400;
  font-style:normal;
  font-synthesis:none;
  letter-spacing:-.015em;
}
.journal-home h2 { line-height:.98; text-wrap:balance; }
.journal-home .journey-heading-ink { text-wrap:balance; }
.journal-home .ascension-copy h3 { line-height:1; }
.journal-home .journal-subtitle { line-height:1.2; }
.journal-home .ascension-line { line-height:1.3; }

/* Reading copy and small marginal notes stay quiet and legible. */
.journal-home :is(.section-heading>p,.world-heading>p,.install-aside>p,
  .footer-top>p,.traveller-note p,.slime-hint,.atlas-annotation,.margin-note,
  .hero-footprints span,.hero-footnote,.postcard-under>p,.inventory-slip>div>span,
  .atlas-selector .map-stop,.atlas-compass text,.atlas-map-caption text:last-child,
  .intro-aside,.intro-map text) {
  font-family:var(--font-body);
}

/* Technical details and compact controls share the monospaced UI voice. */
.journal-home :is(.ink-label,.section-kicker,.tiny-label,.hero-topline,
  .release-facts,.server-state,.release-note,.postcard-proof,.postcard-under>span,
  .button,.nav-download,.install-link,.motion-toggle,.redraw-map,.atlas-toolbar,
  .ascension-stage-top,.ascension-eyebrow,.ascension-specialty,.ascension-passives,
  .ascension-scroll-note,.ascension-art-note,.ascension-motion-toggle,
  .ascension-family,.world-stage-top,.world-stage-bottom,.world-coordinates,
  .world-window figcaption>span,.world-values,.install-platform,.footer-bottom,
  .intro-status,.intro-corner,.intro-skip,.replay-intro,.atlas-map-caption) {
  font-family:var(--font-ui);
  font-style:normal;
}
.journal-home .intro-copy .ink-label { font-family:var(--font-ui); }
.journal-home .atlas-map-caption text:last-child { font-family:var(--font-body); }
.journal-home .annotation-bottom { font-family:var(--font-display); }

@media(max-width:760px) {
  .journal-home .ascension-line { font-size:16px; }
}
/* Keep the narrowest headline on two lines and its marginal note clear. */
@media(max-width:360px) {
  .journal-home .nav-download { font-size:10px; white-space:nowrap; }
  .atlas-hero .hero-smallprint { max-width:145px; }
}
