  /* A spacious masthead keeps the brand and navigation easy to scan. */
  html { scroll-padding-top: 7rem; }
  .site-header { background: rgba(11, 18, 38, .97); border-color: #4b5c80; box-shadow: 0 8px 28px rgba(6, 12, 26, .22); }
  .site-header .header-layout { min-height: 5.5rem; height: auto; gap: 1rem; }
  .site-header .header-brand { flex-shrink: 0; gap: .6rem; font-family: "Space Grotesk", sans-serif; }
  .site-header .header-brand > span:first-child { font-size: 2rem; font-weight: 700; letter-spacing: -.06em; }
  .site-header .header-brand > svg { width: 22px; height: 22px; flex-shrink: 0; }
  .site-header .header-brand > span:last-child { font-size: 1.25rem; color: #eceff1; }
  .site-header .header-actions { gap: .625rem; }
  .site-header [data-lang-toggle] { min-width: 3.5rem; min-height: 3rem; justify-content: center; border-color: #68799d; background: #141b3a; }
  .site-header #langCurrentFlag { font-size: 1.5rem; }
  .site-header [data-lang-toggle] > svg { width: 16px; height: 16px; color: #eceff1; }
  .site-header .header-cta { display: inline-flex; justify-content: center; min-height: 3rem; padding: .75rem 1rem; font-size: 1rem; font-weight: 700; background: #70dfa9; white-space: nowrap; }
  .site-header .header-cta:hover { background: #b0f1cf; }
  .site-header #menuBtn { min-width: 44px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #68799d; border-radius: .375rem; }
  .site-header a:focus-visible, .site-header button:focus-visible { outline: 3px solid #fecc00; outline-offset: 4px; }
  #mobileMenu { max-height: calc(100dvh - 5.5rem); overflow-y: auto; gap: .25rem; font-size: 1.25rem; }
  #mobileMenu > a { padding: .75rem; border-radius: .375rem; font-weight: 600; color: #eceff1; }
  #mobileMenu > a:hover { background: #1b2450; }
  @media (max-width: 639px) {
    .site-header .header-layout { padding-inline: 1rem; gap: .5rem; }
    .site-header .header-brand { gap: .3rem; }
    .site-header .header-brand > svg { width: 18px; height: 18px; }
    .site-header .header-cta { padding-inline: .75rem; font-size: .9375rem; }
    .site-header .header-actions { gap: .375rem; }
  }
  @media (min-width: 1024px) {
    html { scroll-padding-top: 11rem; }
    .site-header .header-layout { display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: 0; padding-top: 1rem; }
    .site-header .header-brand > span:first-child { font-size: 2.75rem; }
    .site-header .header-brand > span:last-child { font-size: 1.625rem; }
    .site-header .header-actions { grid-column: 2; grid-row: 1; gap: 1rem; }
    .site-header .header-cta { min-height: 3.25rem; padding-inline: 1.5rem; font-size: 1.125rem; }
    .site-header .header-nav { grid-column: 1 / -1; grid-row: 2; justify-content: center; flex-wrap: wrap; gap: .25rem 1rem; margin-top: 1rem; padding-block: .5rem; border-top: 1px solid #33417a; font-size: 1.375rem; }
    .site-header .header-nav > a { padding: .625rem 1rem; color: #eceff1; }
    .site-header .header-nav > a:hover { background: #1b2450; color: #70dfa9; }
    .site-header #menuBtn { display: none; }

  }

/* The Book: an editorial type scale, with existing sections and media intact. */
.book-page main h1 { font-size: clamp(2.5rem, 5vw, 4.75rem); line-height: 1.08; font-weight: 700; letter-spacing: -.04em; text-wrap: balance; }
.book-page main h2 { font-size: clamp(1.875rem, 3.1vw, 3rem); line-height: 1.2; font-weight: 700; letter-spacing: -.025em; text-wrap: balance; }
.book-page main h3 { font-size: clamp(1.25rem, 1.9vw, 1.75rem); line-height: 1.35; font-weight: 600; text-wrap: balance; }
.book-page main p, .book-page main li { font-size: 1.0625rem; line-height: 1.8; }
.book-page main p.text-muted, .book-page main .text-muted { color: #becad8; }
.book-page main [data-i18n="book_intro"] { font-size: clamp(1.125rem, 1.7vw, 1.375rem); line-height: 1.8; color: #d3dce6; }
.book-page main [data-i18n="book_badge"] { font-size: .9375rem; font-weight: 600; color: #f0c17d; letter-spacing: .16em; }
.book-page main figcaption { font-size: .9375rem; line-height: 1.6; color: #c5d0de; }
.book-page main a[data-i18n="book_cta"], .book-page main a[data-i18n="smp_cta"] { font-size: 1.125rem; font-weight: 700; }
.book-page main a:focus-visible { outline: 3px solid #fecc00; outline-offset: 4px; }
@media (min-width: 640px) {
  .book-page main p, .book-page main li { font-size: 1.125rem; }
}
/* Keep the existing fixed header clear of the opening image. */
.book-page main > section:first-child { padding-top: 5.5rem; }
@media (min-width: 1024px) {
  .book-page main > section:first-child { padding-top: 11rem; }
}
/* Edition pages use a compact header without a collapsible navigation. */
.edition-page header > div { height: auto; min-height: 5.5rem; flex-wrap: wrap; gap: .75rem 1rem; padding-block: 1rem; }
.edition-page header > div > a { font-size: 1.125rem; }
.edition-page header > div > a:first-child > span:first-child { font-size: 2rem; }
.edition-page header > div > a:first-child > span:last-child { font-size: 1.25rem; }
