/* Shared with the homepage. Content and interactive figures keep their own
   styles; this file owns the institute header and the main reading layout. */
:root {
  --rpi-ink: #0d0d0c;
  --rpi-gray: #5b5953;
  --rpi-line: #deddd7;
  --rpi-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --rpi-display: "Archivo Black", "Inter", sans-serif;
  --rpi-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
}
html { scroll-padding-top: 2rem; }
body[data-rpi-page] {
  margin: 0;
  color: var(--rpi-ink);
  background: #fff;
  font-family: var(--rpi-sans);
  -webkit-font-smoothing: antialiased;
}
body[data-rpi-page] > .rpi-nav {
  box-sizing: border-box;
  max-width: 70rem !important;
  margin: 0 auto;
  padding: 1.1rem 2rem !important;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start !important;
  gap: .6rem 1.3rem;
  border: 0;
  border-bottom: 1px solid var(--rpi-line);
  font: .8rem/1.4 var(--rpi-sans);
  letter-spacing: normal;
  text-transform: none;
}
.rpi-nav a, .rpi-jump a, .rpi-header .rpi-mark a {
  color: var(--rpi-ink);
  text-decoration: none;
}
.rpi-nav a:hover, .rpi-jump a:hover { text-decoration: underline; }
.rpi-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 5px; }
.rpi-code { white-space: nowrap; }
.rpi-masthead { box-sizing: border-box; max-width: 70rem; margin: 0 auto; padding: 1.25rem 2rem 0; }
.rpi-masthead .rpi-header {
  display: block;
  padding: 1rem 0 1.25rem;
  margin: 0 0 2rem;
  border: 0;
  border-bottom: 2px solid var(--rpi-ink);
}
.rpi-header .rpi-mark {
  max-width: none;
  margin: 0 0 .8rem;
  padding: 0;
  font: 400 clamp(2.6rem, 4.8vw, 4rem)/1.01 var(--rpi-display);
  letter-spacing: -.055em;
  text-transform: none;
}
.rpi-header .rpi-sub {
  margin: 0;
  font: .8rem/1.55 var(--rpi-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rpi-gray);
}
.rpi-header .rpi-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin: 1rem 0 0;
  padding: 0;
  font: .9rem/1.55 var(--rpi-sans);
  letter-spacing: normal;
  text-transform: none;
}
body[data-rpi-page] > .wrap {
  max-width: 70rem;
  margin: 0 auto;
  padding: 0 2rem 4rem;
}
body[data-rpi-page] :is(a, button, input, select, summary):focus-visible {
  outline: 3px solid var(--rpi-ink);
  outline-offset: 5px;
}
/* Comfortable text measure, with room for diagrams and comparisons. */
body[data-rpi-page="encyclopedia"] > .wrap { max-width: 56rem; }
body[data-rpi-page="encyclopedia"] h1 { font-size: clamp(2rem, 4.8vw, 3.4rem); }
body[data-rpi-page="encyclopedia"] .foot { max-width: 70rem; margin: 0 auto; }
body[data-rpi-page="encyclopedia"] .foot-inner { max-width: none; }
body[data-rpi-page="guide"] .shell { max-width: 70rem; padding-top: 0; }
body[data-rpi-page="guide"] > footer { max-width: 70rem; }
body[data-rpi-page="economics"] .measure { max-width: 48rem; }
body[data-rpi-page="economics"] .opening { margin-top: 0; }
body[data-rpi-page="economics"] .paper-card { border: 0; border-top: 1px solid var(--rpi-line); padding: 1.3rem 0; }
body[data-rpi-page="economics"] .paper-grid { gap: 2.5rem; }
body[data-rpi-page="cambrian"] .wrap > :is(.tagline, .deck, .words, .page-jump) {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}
body[data-rpi-page="cambrian"] .tagline {
  font: 400 clamp(2rem, 4.8vw, 3.4rem)/1.12 var(--rpi-display);
  letter-spacing: -.04em;
  margin-top: 0;
  margin-bottom: 1.4rem;
}
body[data-rpi-page="cambrian"] .deck { font-size: 1.05rem; line-height: 1.75; }
body[data-rpi-page="cambrian"] .words { box-shadow: none; }
body[data-rpi-page="igp24"] .wrap { max-width: 56rem; font-size: 1rem; line-height: 1.75; }
body[data-rpi-page="igp24"] nav.pages { margin: 0 0 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rpi-line); line-height: 1.6; }
body[data-rpi-page="igp24"] h1 { font: 400 clamp(2rem, 4.8vw, 3.1rem)/1.15 var(--rpi-display); letter-spacing: -.035em; margin-bottom: 1.4rem; }
body[data-rpi-page="igp24"] .lede { font-size: 1.15rem; line-height: 1.65; font-weight: 400; margin-bottom: 2rem; }
body[data-rpi-page="igp24"] .focal { border: 0; border-left: 2px solid var(--rpi-ink); box-shadow: none; padding: .2rem 0 .2rem 1.4rem; margin-bottom: 2rem; }
body[data-rpi-page="igp24"] .fig { border: 0; }
body[data-rpi-page="igp24"] .doors li { padding: 1.2rem 0; }
@media (max-width: 760px) {
  body[data-rpi-page] > .rpi-nav { padding: 1rem 1.25rem !important; font-size: .75rem !important; gap: .65rem 1.1rem; }
  .rpi-masthead { padding: 1.5rem 1.25rem 0; }
  .rpi-masthead .rpi-header { padding: 1.4rem 0 1.7rem; margin-bottom: 2.5rem; }
  .rpi-header .rpi-mark { font-size: clamp(1.6rem, 7.4vw, 2.6rem); }
  .rpi-header .rpi-jump { gap: .8rem 1.3rem; margin-top: 1.6rem; font-size: .85rem; }
  body[data-rpi-page] > .wrap { padding: 0 1.25rem 3rem; }
  body[data-rpi-page="guide"] .shell { padding: 0 1.25rem 3rem; }
  body[data-rpi-page="economics"] .paper-grid { gap: 1rem; }
  body[data-rpi-page="igp24"] .focal { padding-left: 1rem; }
}
@media (max-width: 380px) {
  .rpi-header .rpi-mark { font-size: 7.8vw; }
  .rpi-header .rpi-sub { font-size: .68rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  body[data-rpi-page] > .rpi-nav, .rpi-header .rpi-jump { display: none; }
  .rpi-masthead { padding: 0; }
  .rpi-masthead .rpi-header { padding: 0 0 1rem; margin-bottom: 1.5rem; }
  .rpi-header .rpi-mark { font-size: 26pt; }
  body[data-rpi-page] > .wrap { max-width: none; padding: 0; }
}

/* Retain one institute mark and navigation across every main entrance. */
@media(max-width:760px){.rpi-masthead{padding-top:.75rem}.rpi-masthead .rpi-header{padding-top:.6rem;padding-bottom:1rem;margin-bottom:1.5rem}.rpi-header .rpi-mark{margin-bottom:1rem}.rpi-header .rpi-jump{margin-top:.8rem;row-gap:.5rem}}
