/* The slim header the four pages share (Plan v2-4) and the page frame of the three inner pages. Same tokens as
   landing.css (D-16): text is --ink or --accent on --paper, never light blue. */
.site-header {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px;
  padding: 10px clamp(14px, 3vw, 32px); background: #eeeeea; border-bottom: 1px solid #cdd0d4;
  font: 14px/1.3 "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
}
.site-nav { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.site-header a { color: #1d3f8f; text-decoration: none; padding: 6px 0; }
.site-header a:hover { text-decoration: underline; }
.site-header a[aria-current="page"] { color: #14171f; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.site-header a:first-child { font-weight: 700; letter-spacing: 0.02em; }
.site-header a:focus-visible, .site-header .site-tour:focus-visible { outline: 3px solid #14171f; outline-offset: 2px; }
.site-tour { border: 1px solid #1d3f8f; border-radius: 3px; background: #1d3f8f; color: #f2f2ee; padding: 6px 12px; font: inherit; cursor: pointer; }
.site-tour:hover { background: #14171f; border-color: #14171f; }
.site-tour:disabled { background: #f2f2ee; color: #4a4f5c; border-color: #8a8f99; cursor: default; }
.site-tour[hidden] { display: none; }

.site-page { max-width: 1520px; margin: 0 auto; padding: 20px clamp(14px, 3vw, 32px) 0;
  font-family: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif; color: #14171f; }
.site-page h1 { font-size: clamp(30px, 4vw, 44px); line-height: 1.05; letter-spacing: -0.02em; margin: 0 0 8px; }
.site-page .site-lead {
  max-width: 70ch; margin: 0 0 24px; color: #14171f;
  font: 18px/1.5 Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
}

.load-failed { max-width: 60ch; margin: 24px 0; padding: 14px 16px; background: #fafaf8; border-left: 4px solid #14171f; }
.load-failed p { margin: 0 0 10px; }
.load-failed button {
  border: 1px solid #1d3f8f; border-radius: 3px; background: #1d3f8f; color: #f2f2ee; padding: 6px 14px; font: inherit;
  cursor: pointer; margin-right: 12px;
}
.load-failed a { color: #1d3f8f; }
.under-wrap .lab-timeline { margin-top: 0; }
.imbse-built { padding-bottom: 24px; }
/* The lab's tour points at the header's "How it was built" link on its last step. */
.site-header .tour-target { outline: 3px solid #1d3f8f; outline-offset: 4px; border-radius: 2px; }
