/* RandomTarot type system: one sans-serif family, three deliberate sizes. */
:root{
  --font:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --display:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --text-meta:.75rem;
  --text-secondary:.875rem;
}
h1,h2,h3{font-family:var(--display);font-weight:600;color:var(--text);text-wrap:balance}
h1{font-size:clamp(2.8rem,6.2vw,5.4rem);line-height:.98;letter-spacing:-.055em}
h2{font-size:clamp(1.95rem,3.8vw,3.1rem);line-height:1.04;letter-spacing:-.042em;margin-top:2.2rem}
h3{font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.15;letter-spacing:-.022em}
/* Home: keyword-first headline, quiet supporting line. */
.home-experience .reading-intro h1{font-family:var(--display);font-size:clamp(2.9rem,4.9vw,4.9rem);font-weight:600;line-height:.94;letter-spacing:-.058em;text-transform:none;color:var(--text);margin:.35rem 0 .75rem;max-width:11ch}
.home-experience .reading-intro .hero-line{font-family:var(--display);font-size:clamp(1.35rem,2.15vw,1.95rem);font-weight:400;line-height:1.18;letter-spacing:-.028em;color:var(--muted);margin:.2rem 0 1.15rem}
.reading-intro .intro-copy{max-width:38ch}
.reading-page-intro h1{font-weight:600;letter-spacing:-.052em}
/* Reading table and report surfaces. */
.table-welcome h2{font-weight:600;letter-spacing:-.052em}
.ritual-heading h2,.ritual-reveal-screen .revealed-meaning h3{font-weight:600}
.report-preview-paper h4{font-weight:600;letter-spacing:-.025em}
.orientation-label,.table-format{font-family:var(--sans);font-weight:600;letter-spacing:.09em}
.table-format{text-transform:uppercase}
.table-welcome-actions p,.flow-topline,.table-toolbar{font-family:var(--sans);letter-spacing:.01em}
@media(max-width:760px){
  .home-experience .reading-intro h1{font-size:clamp(2.5rem,11vw,3.45rem);line-height:.96;letter-spacing:-.058em;max-width:12ch}
  .reading-page-intro h1{font-size:clamp(2.35rem,11.5vw,3.4rem);letter-spacing:-.05em}
  h2{font-size:clamp(1.8rem,7vw,2.35rem);letter-spacing:-.04em}
  h3{font-size:1.25rem}
}
