/* Structure: an open briefing board, with one continuous reading path. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body { margin: 0; }
img { display: block; max-width: 100%; height: auto; }
figure, blockquote, dl, dd { margin: 0; }
button, input, textarea, select { font: inherit; }
a { max-width: 100%; }
.site { max-width: 1280px; margin-inline: auto; padding-inline: 1.5rem; }
.site__skip { position: absolute; top: 1rem; left: 1.5rem; z-index: 20; transform: translateY(-180%); }
.site__skip:focus { transform: none; }
.masthead { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 1.5rem; }
.masthead__home { display: inline-flex; align-items: center; gap: 1rem; min-height: 64px; }
.masthead__mark { display: block; flex: 0 0 40px; width: 40px; height: 40px; }
.masthead__edition { margin: 0; }
.breadcrumb__list { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.breadcrumb__item { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; }
.breadcrumb__item + .breadcrumb__item::before { content: "/"; }
.breadcrumb__link { display: inline-flex; align-items: center; min-height: 44px; padding-inline: .25rem; }
.hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; padding-block: 3rem 4.5rem; }
.hero__copy { min-width: 0; }
.hero__kicker { display: inline-block; margin: 0 0 1.5rem; padding: .5rem .75rem; }
.hero__title { margin: 0 0 1.5rem; }
.hero__title-line { display: block; }
.hero__intro { max-width: 48ch; margin-block: 0 1.5rem; }
.hero__status { max-width: 52ch; padding: 1rem 1.25rem; margin-block: 1.5rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.button { display: inline-flex; justify-content: space-between; align-items: center; gap: 1.5rem; min-height: 56px; padding: .875rem 1.25rem; }
.still-life { position: relative; min-width: 0; margin: 1rem .5rem 1rem 0; }
.still-life__mount { position: relative; aspect-ratio: 6 / 5; overflow: hidden; }
.still-life__image { width: 100%; height: 100%; object-fit: cover; }
.still-life__caption { display: inline-block; position: relative; margin-top: 1.5rem; padding: .75rem 1rem; }
.still-life__spark { position: absolute; top: -2rem; right: -.75rem; width: 88px; height: 88px; pointer-events: none; }
.guide { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; padding-block: 1rem 5rem; }
.contents { position: sticky; top: 2rem; padding: 1rem; max-height: calc(100dvh - 4rem); overflow-y: auto; }
.contents__title { margin: 0 0 .75rem; }
.contents__list { list-style: none; padding: 0; margin: 0; }
.contents__item + .contents__item { margin-top: .25rem; }
.contents__link { display: flex; justify-content: space-between; align-items: center; gap: .5rem; min-height: 48px; padding: .625rem .5rem; }
.guide__body { min-width: 0; }
.briefing { scroll-margin-top: 2rem; }
.briefing + .briefing { margin-top: clamp(4rem, 8vw, 8rem); }
.briefing__eyebrow { display: inline-block; padding: .375rem .75rem; margin: 0 0 1rem; }
.briefing__title { margin-block: 0 1.5rem; }
.briefing__intro { max-width: 72ch; }
.briefing__intro > :first-child { margin-top: 0; }
.briefing__intro > :last-child { margin-bottom: 0; }
.note { position: relative; padding: 1.5rem; margin-block: 2rem; }
.note__title { margin-block: 0 .75rem; }
.note__body > :first-child { margin-top: 0; }
.note__body > :last-child { margin-bottom: 0; }
.evidence { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.5rem; }
.evidence__card { padding: 1.5rem; min-width: 0; }
.evidence__card--wide { grid-column: 1 / -1; }
.evidence__title { margin-block: 0 .75rem; }
.evidence__card > :last-child { margin-bottom: 0; }
.check { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.5rem; margin-top: 2rem; }
.check__panel { padding: 1.5rem; min-width: 0; }
.check__title { margin-block: 0 .75rem; }
.check__panel > :last-child { margin-bottom: 0; }
.prepare { margin-block: 1.5rem; padding-left: 1.5rem; }
.prepare__item { margin-block: .75rem; padding-left: .25rem; }
.cost { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); margin-block: 2rem; }
.cost__item { display: contents; }
.cost__name, .cost__question { padding: 1rem 1.25rem; min-width: 0; }
.cost__question { margin: 0; }
.question-sheet { padding: clamp(1.5rem, 3vw, 2.5rem); position: relative; }
.question-sheet__label { display: inline-block; margin-block: 0 1rem; padding: .5rem .75rem; }
.question-sheet__title { margin-block: 0 1.5rem; }
.question-sheet__list { padding-left: 1.5rem; margin-block: 0 2rem; }
.question-sheet__question { padding-left: .5rem; margin-block: 1rem; }
.question-sheet__closing { margin-bottom: 0; }
.words { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); }
.words__term, .words__meaning { padding-block: 1rem; }
.words__meaning { padding-left: 1.5rem; }
.footer { padding-block: 2rem 3rem; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.footer__description { margin: .5rem 0; max-width: 60ch; }
.footer__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem 1rem; }
.footer__link { display: inline-flex; align-items: center; min-height: 48px; padding: .5rem .75rem; }
.source-link { display: inline-block; min-height: 44px; padding: .5rem .25rem; vertical-align: baseline; }
.lost { max-width: 72ch; padding-block: 5rem 7rem; }
.lost__eyebrow { display: inline-block; padding: .5rem 1rem; }
.lost__title { margin-block: 1rem 1.5rem; }
.lost__copy { max-width: 52ch; }
@media (max-width: 960px) {
  .guide { grid-template-columns: 192px minmax(0, 1fr); gap: 2rem; }
  .evidence, .check { grid-template-columns: minmax(0, 1fr); }
  .evidence__card--wide { grid-column: auto; }
}
@media (max-width: 760px) {
  .masthead { gap: 1rem; }
  .masthead__edition { display: none; }
  .hero { grid-template-columns: minmax(0, 1fr); padding-block: 2rem 3rem; gap: 2.5rem; }
  .hero__intro, .hero__status { max-width: none; }
  .still-life { width: min(100%, 480px); margin: .5rem auto 0; }
  .still-life__spark { width: 64px; height: 64px; top: -1.5rem; right: -.5rem; }
  .guide { grid-template-columns: minmax(0, 1fr); padding-top: 1rem; }
  .contents { position: static; max-height: none; overflow: visible; }
  .contents__list { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .25rem .75rem; }
  .contents__item + .contents__item { margin: 0; }
  .contents__link { height: 100%; min-height: 56px; }
  .note, .evidence__card, .check__panel { padding: 1.25rem; }
  .cost { grid-template-columns: minmax(0, 1fr); }
  .cost__name { padding-bottom: .25rem; }
  .cost__question { padding-top: .25rem; }
  .words { grid-template-columns: minmax(0, 1fr); }
  .words__term { padding-bottom: .25rem; }
  .words__meaning { padding-top: .25rem; padding-left: 0; }
  .footer { grid-template-columns: minmax(0, 1fr); }
  .footer__links { justify-content: flex-start; }
}
@media (max-width: 400px) {
  .contents__list { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .site { max-width: none; padding: 0; }
  .site__skip, .breadcrumb, .still-life, .contents, .hero__actions, .footer__links { display: none; }
  .hero, .guide, .check, .evidence { display: block; padding: 0; }
  .briefing + .briefing { margin-top: 2rem; }
  .note, .check__panel, .evidence__card, .question-sheet { break-inside: avoid; margin-top: 1rem; }
}
