@font-face {
  font-family: "Archivo";
  src: url("/archivo-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("/jetbrains-mono.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
html { font-size: 16px; }
body { font-family: "Archivo", "Avenir Next", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.6; }
button { font: inherit; }
h1, h2, h3 { text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; margin: 0 0 1.5rem; overflow-wrap: break-word; }
h1 { font-size: 2.25rem; line-height: 1.14; }
.opening h1 { font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.14; }
.heading-turn { display: block; margin-top: 0.3em; }
h2 { font-size: 1.5rem; line-height: 1.35; }
h3 { font-size: 1.25rem; line-height: 1.4; }
p { max-width: 72ch; margin: 1rem 0; }
.opening-lead { font-size: 1.125rem; max-width: 52ch; }
.eyebrow, .category-label, .guide-name { font-size: 1rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.5; }
.eyebrow, .category-label { margin: 0 0 1.5rem; }
.guide-name { line-height: 1.25; font-weight: 650; }
.name-second-line { font-weight: 450; margin-top: 0.2rem; }
.breadcrumb { font-size: 1rem; }
a { text-underline-offset: 0.25em; text-decoration-thickness: 1px; }
.next-link { font-weight: 650; }
.question-prompt { font-size: clamp(1.25rem, 2.3vw, 1.75rem); line-height: 1.45; }
.price-fact { font-family: "JetBrains Mono", monospace; font-size: 1rem; line-height: 1.75; font-weight: 400; }
.record-symbol { font-size: 1.5rem; line-height: 1.2; }
.footer-mark { font-size: 2rem; line-height: 1; }
.source-links .reading-link { line-height: 1.6; }
@media (max-width: 640px) {
  .opening h1 { font-size: 2.5rem; }
  .opening-lead { font-size: 1.0625rem; }
}
