@font-face {
  font-family: 'STIX Two Guide';
  src: url('/orientation/sema-stix-two-text.ttf') format('truetype');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
body { font-family: 'STIX Two Guide', Georgia, serif; font-size: 19px; line-height: 1.58; font-weight: 400; }
a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
.guide-name { font-size: 20px; font-weight: 650; letter-spacing: -.02em; text-decoration: none; }
.skip-reading { font-size: 16px; }
.guide-kicker, .topic-label { font-size: 16px; font-weight: 650; line-height: 1.45; letter-spacing: .055em; }
h1 { font-size: clamp(52px, 5.2vw, 78px); line-height: 1.04; font-weight: 500; letter-spacing: -.045em; }
.opening-answer { font-size: 24px; line-height: 1.4; font-weight: 500; }
.plain-switch { font-size: 17px; line-height: 1.4; }
.map-centre { font-size: 38px; line-height: 1.1; font-weight: 500; letter-spacing: -.025em; }
.reading-map a { font-size: 16px; line-height: 1.35; text-decoration: none; }
.route-name { font-size: 20px; font-weight: 650; }
.contents-rail summary { font-size: 19px; font-weight: 650; }
.reading-topics .topic-group { font-size: 16px; line-height: 1.45; font-weight: 650; letter-spacing: .01em; }
.reading-topics a { font-size: 17px; line-height: 1.35; text-decoration: none; }
.topic-heading h3 { font-size: clamp(31px, 2.6vw, 42px); line-height: 1.15; font-weight: 550; letter-spacing: -.02em; }
h4 { font-size: 24px; line-height: 1.25; font-weight: 600; letter-spacing: -.01em; }
.conversation h4, .word-note h4, .attention-note h4, .urgent-note h4 { font-size: 23px; }
.source-link { font-size: 18px; line-height: 1.4; font-weight: 600; }
.reading-title { font: inherit; letter-spacing: inherit; }
.reading-purpose { font-size: 16px; line-height: 1.5; font-weight: 500; }
.guide-footer { font-size: 17px; line-height: 1.6; }
@media (max-width: 760px) {
  body { font-size: 18px; }
  .guide-name { font-size: 18px; }
  h1 { font-size: clamp(46px, 12vw, 61px); line-height: 1.08; }
  .opening-answer { font-size: 23px; }
  .map-centre { font-size: 33px; }
  .reading-topics a { font-size: 16px; }
  .reading-topics .topic-group { font-size: 16px; }
}
@media print {
  body { font-size: 16px; }
  h1 { font-size: 42px; }
  .topic-heading h3 { font-size: 28px; }
}
