@charset "UTF-8";

:root {
  --paper: #f3f0e8;
  --paper-deep: #e8e2d6;
  --paper-light: #faf8f2;
  --ink: #242521;
  --ink-soft: #5f625c;
  --line: #c9c5ba;
  --line-dark: #93958e;
  --accent: #6f3531;
  --accent-light: #ad8880;
  --serif: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", Georgia, serif;
  --sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;
  --measure: 72rem;
  --reading: 44rem;
  --side: clamp(1.25rem, 5vw, 4.75rem);
  --section: clamp(5rem, 10vw, 9.5rem);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.9;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  content: "";
  pointer-events: none;
  opacity: .22;
  background-image: linear-gradient(90deg, rgba(35, 37, 33, .025) 1px, transparent 1px), linear-gradient(rgba(35, 37, 33, .018) 1px, transparent 1px);
  background-size: 5px 5px;
}

main { font-size: 1rem; line-height: 1.9; }
html[data-font-size="large"] main { font-size: 1.18rem; line-height: 1.95; }

img { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .25em; }
a:hover { color: var(--accent); }
p { margin: 0 0 1.25em; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: 1.45; letter-spacing: .05em; }
h1, h2, h3, p { overflow-wrap: anywhere; }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 100;
  padding: .6rem 1rem;
  color: var(--paper-light);
  background: var(--ink);
  transform: translateY(-150%);
}
.skip-link:focus { transform: none; }

.site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--line);
  background: rgba(243, 240, 232, .96);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 96rem);
  min-height: 6rem;
  padding: 1rem var(--side);
  margin: auto;
}

.identity { display: inline-flex; min-width: 0; align-items: baseline; gap: 1rem; text-decoration: none; }
.identity:hover { color: inherit; }
.identity__name { font-family: var(--serif); font-size: clamp(1.15rem, 2vw, 1.45rem); letter-spacing: .12em; }
.identity__qualifier { color: var(--ink-soft); font-family: var(--serif); font-size: .73rem; letter-spacing: .14em; }
.site-header__controls { display: flex; align-items: center; gap: 2rem; }
.reading-preferences { display: flex; align-items: center; gap: .9rem; }
.font-size-control { display: flex; align-items: center; gap: .1rem; white-space: nowrap; }
.font-size-control__label { margin-right: .45rem; color: var(--ink-soft); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.font-size-control button {
  width: 2.25rem;
  min-height: 2.5rem;
  padding: 0 .2rem;
  border: 1px solid transparent;
  color: var(--ink-soft);
  background: transparent;
  font: 600 .72rem/1 var(--sans);
  cursor: pointer;
}
.font-size-control button:hover { color: var(--accent); }
.font-size-control button[aria-pressed="true"] { border-color: var(--line-dark); color: var(--ink); background: var(--paper-deep); }
.language-switcher { padding-left: .9rem; border-left: 1px solid var(--line); }

.language-switcher a {
  font-size: .7rem;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

html[data-font-size="large"] .hero__introduction { font-size: 1.121rem; }
html[data-font-size="large"] .pathway-card > p:not(.pathway-card__number) { font-size: 1.062rem; }
html[data-font-size="large"] :is(.history-research__item p, .editorial-callout p:last-child) { font-size: 1.038rem; }
html[data-font-size="large"] .history-chapter-entry small { font-size: .968rem; }
html[data-font-size="large"] .manifesto__body > p { font-size: clamp(1.298rem, 2.006vw, 1.558rem); line-height: 2.2; }
html[data-font-size="large"] .principle__description { font-size: .885rem; line-height: 1.7; }
html[data-font-size="large"] :is(.page-hero__lead, .history-chapter-hero > p:not(.eyebrow), .yamamoto-hero__lead) { font-size: clamp(1.239rem, 2.006vw, 1.534rem); line-height: 2.1; }
html[data-font-size="large"] .chapter-opening p { font-size: clamp(1.18rem, 1.77vw, 1.357rem); line-height: 2.1; }
html[data-font-size="large"] .chapter-chronology p { font-size: .897rem; line-height: 1.85; }
html[data-font-size="large"] .chapter-document-sequence li > p { font-size: .873rem; line-height: 1.85; }
html[data-font-size="large"] :is(.chapter-name-forms dd, .research-source-links, .archive-metadata dl div, .archive-lineage-transcription > p, .yamamoto-scope dd) { font-size: .92rem; }
html[data-font-size="large"] :is(.person-source-summary dl div, .research-status dl div) { font-size: .897rem; }
html[data-font-size="large"] :is(.chapter-document-sequence blockquote p, .evidence-display dd) { font-size: 1.015rem; line-height: 2; }
html[data-font-size="large"] .chapter-source-transcription blockquote p { font-size: clamp(1.156rem, 1.888vw, 1.357rem); line-height: 2.1; }
html[data-font-size="large"] :is(.chapter-document-list dd, .references li, .archive-card__content > p:not(.editorial-placeholder), .archive-composition__list dd, .evidence-categories dd) { font-size: .944rem; }
html[data-font-size="large"] :is(.chapter-source-groups p, .chapter-source-groups li) { font-size: .885rem; }
html[data-font-size="large"] :is(.documentary-figure figcaption, .research-quotation figcaption, .research-timeline small, .instructor-photo figcaption) { font-size: .85rem; line-height: 1.75; }
html[data-font-size="large"] .article-rights-notice p { font-size: .826rem; line-height: 1.75; }
html[data-font-size="large"] .research-timeline { font-size: 1.003rem; }
html[data-font-size="large"] .research-status__grid > div:last-child > p { font-size: 1.274rem; line-height: 2; }
html[data-font-size="large"] .research-source__note { font-size: .897rem; }
html[data-font-size="large"] :is(.pending-sources header > p:last-child, .history-person-entry > span:nth-child(2)) { font-size: .968rem; }
html[data-font-size="large"] :is(.yamamoto-documentary-photo figcaption, .yamamoto-hero-image figcaption) { font-size: .885rem; line-height: 1.8; }
html[data-font-size="large"] .yamamoto-quotation blockquote { font-size: clamp(1.357rem, 2.36vw, 1.711rem); line-height: 1.8; }

.nav-toggle {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .7rem 0 .7rem .7rem;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.nav-toggle__label { font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.nav-toggle__mark { position: relative; width: 1.8rem; height: .8rem; border-top: 1px solid; border-bottom: 1px solid; transition: transform .2s ease; }
.nav-toggle[aria-expanded="true"] .nav-toggle__mark { border-bottom: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__mark::after { position: absolute; inset: -.05rem auto auto 0; width: 1.8rem; content: ""; border-top: 1px solid; transform: rotate(90deg); }

.site-navigation {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  background: var(--ink);
  color: var(--paper-light);
  transition: max-height .35s ease, visibility .35s;
}
.site-navigation[data-open] { max-height: 40rem; visibility: visible; }
.site-navigation ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: min(100%, var(--measure));
  padding: 2.5rem var(--side) 3rem;
  margin: auto;
  list-style: none;
}
.site-navigation li { border-bottom: 1px solid #4d4e48; }
.site-navigation a { display: block; padding: .75rem 1rem .75rem 0; text-decoration: none; }
.site-navigation a:hover, .site-navigation a[aria-current="page"] { color: #d7bcb4; }

.section-shell, .page-shell { width: min(calc(100% - 2 * var(--side)), var(--measure)); margin-inline: auto; }
.section-pad { padding-block: var(--section); }
.content-grid { display: grid; grid-template-columns: minmax(15rem, 1fr) minmax(18rem, 1fr); gap: clamp(3rem, 9vw, 9rem); width: min(calc(100% - 2 * var(--side)), var(--measure)); margin-inline: auto; }

.eyebrow {
  margin-bottom: 1.5rem;
  color: var(--accent);
  font-size: .69rem;
  font-weight: 600;
  letter-spacing: .18em;
  line-height: 1.5;
  text-transform: uppercase;
}
.section-heading h2 { max-width: 13em; margin: 0 0 1.5rem; font-size: clamp(1.8rem, 3.2vw, 3.1rem); }
.section-heading > p:last-child { max-width: 38rem; color: var(--ink-soft); }
.text-link { display: inline-block; margin-top: 1rem; color: var(--ink); font-size: .85rem; font-weight: 600; letter-spacing: .06em; text-decoration: none; border-bottom: 1px solid var(--line-dark); }
.text-link span { display: inline-block; margin-left: .5rem; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(.25rem); }

.hero { min-height: calc(100vh - 6rem); min-height: calc(100svh - 6rem); border-bottom: 1px solid var(--line); }
.hero__inner {
  display: grid;
  grid-template-columns: minmax(16rem, .9fr) minmax(24rem, 1.2fr);
  grid-template-rows: 1fr auto;
  width: min(100%, 96rem);
  min-height: calc(100vh - 6rem);
  min-height: calc(100svh - 6rem);
  margin: auto;
}
.hero__title-block { align-self: center; padding: clamp(4rem, 9vw, 8rem) var(--side) 3rem; }
.hero__roman { margin-bottom: 2.5rem; color: var(--ink-soft); font-family: Georgia, serif; font-size: .76rem; letter-spacing: .15em; text-transform: uppercase; }
.hero h1 { margin: 0; font-size: clamp(2.8rem, 4vw, 4.25rem); line-height: 1.25; letter-spacing: .09em; }
.hero h1 > span, .hero h1 small { display: block; }
.hero__title-name, .nowrap { display: inline-block; overflow-wrap: normal; white-space: nowrap; word-break: keep-all; }
.hero h1 small { margin-top: 1.25rem; color: var(--ink-soft); font-size: .22em; letter-spacing: .3em; }
.hero__visual {
  position: relative;
  grid-row: 1 / span 2;
  grid-column: 2;
  align-self: start;
  aspect-ratio: 1158 / 1359;
  margin: 0;
}
.hero__visual img { width: 100%; height: auto; }
.hero__visual::after { position: absolute; inset: 1.5rem; content: ""; border: 1px solid rgba(243, 240, 232, .18); }
.hero__introduction { max-width: 34rem; padding: 2rem var(--side) 4rem; font-family: var(--serif); font-size: .95rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; margin-top: 1rem; }
.hero__actions .text-link { margin-top: 0; }
.hero__social ul { display: flex; padding: 0; margin: 0; list-style: none; }
.hero__social li + li { padding-left: 1.25rem; margin-left: 1.25rem; border-left: 1px solid var(--line-dark); }
.hero__social a { display: flex; align-items: center; min-height: 44px; font-family: var(--sans); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; white-space: nowrap; }

.manifesto { background: var(--paper-light); }
.manifesto__body > p { max-width: 37rem; font-family: var(--serif); font-size: clamp(1.1rem, 1.7vw, 1.32rem); line-height: 2.15; }
.principles { margin-top: 3.5rem; border-top: 1px solid var(--line); }
.principles ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; }
.principles li { min-width: 0; }
.principles a { position: relative; display: block; min-height: 7.4rem; padding: 1.2rem 2rem 1rem 0; text-decoration: none; cursor: pointer; }
.principles a:hover .principle__term { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .35em; }
.principle__term, .principle__description { display: block; }
.principle__term { margin-bottom: .4rem; font-family: var(--serif); font-size: 1.1rem; }
.principle__description { color: var(--ink-soft); font-size: .75rem; line-height: 1.6; }
.principle__arrow { position: absolute; top: 1.35rem; right: .75rem; color: var(--line-dark); transition: transform .2s ease; }
.principles a:hover .principle__arrow { transform: translateX(.25rem); }

.pathways { border-block: 1px solid var(--line); }
.pathways .section-heading { margin-bottom: 3rem; }
.pathways .section-heading h2 { max-width: none; }
.popular-articles { padding-block: clamp(3rem, 6vw, 5rem); background: var(--paper-light); }
.popular-articles .section-heading { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; margin-bottom: 1.5rem; }
.popular-articles .section-heading .eyebrow { padding-top: .65rem; }
.popular-articles .section-heading h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.6rem); }
.popular-articles__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 4vw, 3.5rem); padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.popular-articles__list li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; gap: .75rem; align-items: center; min-width: 0; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.popular-articles__rank { color: var(--accent); font-family: Georgia, serif; font-size: .75rem; }
.popular-articles__list a { min-width: 0; font-family: var(--serif); font-size: .95rem; text-decoration-color: var(--line-dark); }
.popular-articles__count { color: var(--ink-soft); font-size: .72rem; white-space: nowrap; }
@media (max-width: 680px) {
  .popular-articles .section-heading { grid-template-columns: 1fr; gap: .5rem; }
  .popular-articles__list { grid-template-columns: 1fr; }
}
.pathway-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); }
.pathway-card { position: relative; min-height: 25rem; padding: 2rem clamp(1.5rem, 3vw, 2.75rem) 2.25rem 0; border-right: 1px solid var(--line); }
.pathway-card + .pathway-card { padding-left: clamp(1.5rem, 3vw, 2.75rem); }
.pathway-card:last-child { padding-right: 0; border-right: 0; }
.pathway-card__number { color: var(--accent); font-family: Georgia, serif; font-size: .68rem; }
.pathway-card h3 { margin: 4rem 0 1.4rem; font-size: clamp(1.4rem, 2.2vw, 2rem); }
.pathway-card > p:not(.pathway-card__number) { color: var(--ink-soft); font-size: .9rem; }
.pathway-card .text-link { position: absolute; bottom: 2.25rem; }

.archive-feature { color: var(--paper-light); background: #3c3e3a; }
.archive-feature__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.archive-feature__grid--document { grid-template-columns: minmax(0, .7fr) minmax(0, 1.1fr); }
.archive-feature__visual { position: relative; aspect-ratio: 5 / 4; border: 1px solid #656762; }
.archive-feature__visual::before { position: absolute; inset: 8% 18%; content: ""; border: 1px solid #74766f; background: #4a4c48; box-shadow: 1rem 1rem 0 rgba(18, 20, 18, .25); transform: rotate(-3deg); }
.archive-feature__visual span { position: absolute; z-index: 1; top: 17%; bottom: 17%; left: 34%; border-left: 1px solid #71736d; transform: rotate(-3deg); }
.archive-feature__visual span:nth-child(2) { left: 49%; }
.archive-feature__visual span:nth-child(3) { left: 64%; }
.archive-feature__visual--document { aspect-ratio: auto; }
.archive-feature__visual--document::before { content: none; }
.archive-feature__visual--document img { width: 100%; height: auto; }
.archive-feature .eyebrow { color: #d7bcb4; }
.archive-feature .section-heading > p:last-child, .archive-feature .status-line { color: #c8c8c2; }
.archive-feature .text-link { color: var(--paper-light); border-color: #777973; }
.status-line { display: flex; gap: .75rem; align-items: center; margin-top: 2rem; color: var(--ink-soft); font-size: .76rem; }
.status-line span { width: .45rem; height: .45rem; border: 1px solid currentColor; border-radius: 50%; }

.policy { background: var(--paper-deep); }
.policy .content-grid > div:last-child { padding-top: 3.75rem; }
.current { background: var(--paper-light); }
.current__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); }
.current article + article { padding-left: clamp(3rem, 8vw, 8rem); border-left: 1px solid var(--line); }
.current .section-heading h2 { font-size: clamp(1.7rem, 2.7vw, 2.5rem); }

.breadcrumbs { padding-top: clamp(2rem, 5vw, 4rem); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .65rem; padding: 0; margin: 0; color: var(--ink-soft); font-size: .7rem; list-style: none; }
.breadcrumbs li + li::before { margin-right: .65rem; content: "/"; color: var(--line-dark); }
.breadcrumbs a { text-decoration: none; }
.page-hero { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding: clamp(5rem, 10vw, 9rem) 0 clamp(4rem, 9vw, 7rem); }
.page-hero .eyebrow { grid-row: 1 / span 2; padding-top: 1rem; }
.page-hero h1 { max-width: 15em; margin: 0 0 2.5rem; font-size: clamp(2.7rem, 6vw, 5.8rem); }
.page-hero__lead { max-width: var(--reading); margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 2.05; }

.section-list { padding-bottom: var(--section); border-top: 1px solid var(--ink); }
.editorial-section { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding: clamp(3rem, 6vw, 5rem) 0; border-bottom: 1px solid var(--line); }
.editorial-section__links { display: flex; flex-direction: column; align-items: flex-start; }
.editorial-section__number { color: var(--accent); font-family: Georgia, serif; font-size: .7rem; }
.editorial-section h2 { margin: 0 0 1.5rem; font-size: clamp(1.5rem, 3vw, 2.5rem); }
.editorial-section > div > p:not(.editorial-placeholder) { max-width: var(--reading); color: var(--ink-soft); }
.editorial-placeholder { display: inline-block; padding: .25rem .6rem; margin-top: 1rem; color: var(--accent); border: 1px solid var(--accent-light); font-family: var(--serif); font-size: .72rem; letter-spacing: .04em; }
.kata-hero { padding-bottom: clamp(3rem, 6vw, 5rem); }
.kata-hero h1 { margin-bottom: 0; }
.kata-hero__reading { margin: .75rem 0 0; color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1rem, 1.6vw, 1.25rem); letter-spacing: .18em; }
.kata-context { padding: clamp(3.5rem, 8vw, 7rem) 0; background: var(--paper-light); border-block: 1px solid var(--line); }
.kata-context__inner { max-width: 58rem; }
.kata-context h2 { margin: 0 0 2rem; font-size: clamp(1.7rem, 3vw, 2.6rem); }
.kata-context p { max-width: var(--reading); color: var(--ink-soft); }
.kata-context__introduction { margin: 0 0 clamp(3rem, 6vw, 5rem); font-family: var(--serif); font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 2.05; }
.kata-sequence { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; border-top: 1px solid var(--ink); list-style: none; counter-reset: kata-sequence; }
.kata-sequence li { position: relative; padding: 1.15rem 1rem 1.15rem 2.5rem; border-bottom: 1px solid var(--line-dark); font-family: var(--serif); counter-increment: kata-sequence; }
.kata-sequence li::before { position: absolute; top: 1.35rem; left: .15rem; color: var(--accent); font-family: Georgia, serif; font-size: .65rem; content: counter(kata-sequence, decimal-leading-zero); }
.kata-history { padding-top: clamp(4rem, 8vw, 7rem); }
.kata-history p + p { margin-top: 1.4rem; }
.kata-gallery { background: var(--paper); }
.kata-gallery__heading { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding-bottom: 2.5rem; }
.kata-gallery__heading .eyebrow { padding-top: .65rem; }
.kata-gallery__heading h2 { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3.1rem); }
.kata-gallery__heading p:last-child { max-width: var(--reading); margin: 1rem 0 0; color: var(--ink-soft); }
.kata-gallery__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 4vw, 3.5rem); padding: 0; margin: 0; border-top: 1px solid var(--ink); list-style: none; }
.kata-gallery__item { padding-top: 1.25rem; }
.kata-gallery__item h3 { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; font-size: clamp(1.3rem, 2.2vw, 1.8rem); }
.kata-gallery__item h3 small { align-self: center; color: var(--ink-soft); font-family: Georgia, serif; font-size: .6em; font-weight: 400; letter-spacing: .04em; }
.kata-gallery__item figure { margin: 1.25rem 0 0; background: var(--paper-deep); }
.kata-gallery__item img { display: block; width: 100%; height: auto; }
.history-research { border-top: 1px solid var(--ink); background: var(--paper-light); }
.history-research__heading { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding-bottom: 2.5rem; }
.history-research__heading .eyebrow { padding-top: .65rem; }
.history-research__heading h2 { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3.1rem); }
.history-research__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.history-research__item { min-width: 0; padding: 2rem clamp(1.5rem, 3vw, 2.75rem) 2.25rem 0; border-right: 1px solid var(--line); text-decoration: none; }
.history-research__item + .history-research__item { padding-right: 0; padding-left: clamp(1.5rem, 3vw, 2.75rem); border-right: 0; }
.history-research__item h3 { margin: 0 0 1rem; font-size: clamp(1.35rem, 2.2vw, 1.85rem); }
.history-research__item p { min-height: 3.8em; margin-bottom: 1.75rem; color: var(--ink-soft); font-family: var(--serif); font-size: .88rem; }
.history-research__item > span { font-size: .78rem; font-weight: 600; letter-spacing: .06em; border-bottom: 1px solid var(--line-dark); }
.history-research__item > span span { display: inline-block; margin-left: .35rem; transition: transform .2s ease; }
.history-research__item:hover > span span { transform: translateX(.25rem); }
.history-research__all { margin: 2rem 0 0; text-align: right; }
.history-chapters { border-top: 1px solid var(--ink); background: var(--paper-light); }
.history-chapters__heading { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding-bottom: 2.5rem; }
.history-chapters__heading .eyebrow { padding-top: .65rem; }
.history-chapters__heading h2 { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3.1rem); }
.history-chapter-entry { display: grid; grid-template-columns: 5rem 1fr auto; gap: clamp(1.25rem, 3vw, 2.5rem); align-items: center; padding: clamp(1.75rem, 4vw, 3rem) 0; border-block: 1px solid var(--ink); text-decoration: none; }
.history-chapter-entry__number { align-self: start; color: var(--accent); font-family: Georgia, serif; font-size: .75rem; }
.history-chapter-entry strong { display: block; margin-bottom: .75rem; font-family: var(--serif); font-size: clamp(1.45rem, 2.5vw, 2.2rem); font-weight: 500; }
.history-chapter-entry small { display: block; max-width: var(--reading); color: var(--ink-soft); font-size: .82rem; }
.history-chapter-entry > span:last-child { font-size: 1.25rem; transition: transform .2s ease; }
.history-chapter-entry:hover > span:last-child { transform: translateX(.25rem); }

.history-chapter-hero { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding: clamp(5rem, 10vw, 9rem) 0 clamp(4rem, 9vw, 7rem); }
.history-chapter-hero .eyebrow { grid-row: 1 / span 4; padding-top: 1rem; }
.history-chapter-hero > :not(.eyebrow) { grid-column: 2; }
.history-chapter-hero h1 { max-width: 17em; margin: 0 0 2rem; font-size: clamp(2.5rem, 5.5vw, 5.2rem); }
.history-chapter-hero > p:not(.eyebrow) { max-width: var(--reading); color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 2.05; }
.history-chapter-hero dl { display: flex; flex-wrap: wrap; gap: 1rem 3rem; padding-top: 1.25rem; margin: 1rem 0 0; border-top: 1px solid var(--line); }
.history-chapter-hero dl div { display: grid; grid-template-columns: auto auto; gap: .8rem; font-size: .73rem; }
.history-chapter-hero dt { color: var(--ink-soft); }
.history-chapter-hero dd { margin: 0; font-weight: 600; }
.history-chapter-hero .article-information { margin-top: 2rem; }
.article-information { grid-column: 2; max-width: var(--reading); color: var(--ink-soft); }
.article-information .article-date-metadata { display: flex; flex-wrap: wrap; gap: .5rem 2rem; padding-top: 1.25rem; margin: 0; border-top: 1px solid var(--line); }
.article-view-count { display: inline-block; min-width: 5ch; min-height: 1em; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body:not([data-article-views-enabled]) .article-view-metadata { display: none; }
.article-date-metadata div { display: grid; grid-template-columns: auto auto; gap: .4rem; white-space: nowrap; font-size: .73rem; }
.article-date-metadata dt { color: var(--ink-soft); }
.article-date-metadata dd { margin: 0; color: var(--ink); font-weight: 600; }
.article-rights-notice { padding-top: 1rem; margin-top: 1rem; border-top: 1px solid var(--line); }
.article-rights-notice p { max-width: var(--reading); margin: .35rem 0 0; color: var(--ink-soft); font-family: var(--sans); font-size: .7rem; line-height: 1.65; }
.article-rights-notice .article-rights-notice__copyright { margin-top: 0; color: var(--ink); font-weight: 600; }
.history-chapter-hero .history-chapter-source-metadata { margin-top: 0; }
.history-chapter-body { padding-bottom: var(--section); }
.chapter-opening { max-width: var(--reading); padding: 0 0 clamp(4rem, 8vw, 7rem); }
.chapter-opening p { color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 2.05; }
.chapter-part-label { display: flex; gap: .75rem; margin-bottom: 1.5rem; color: var(--ink-soft); font-size: .72rem; letter-spacing: .08em; }
.chapter-part-label span { color: var(--accent); }
.chapter-contents { padding: 2rem 0; margin-bottom: clamp(4rem, 8vw, 7rem); border-block: 1px solid var(--ink); }
.chapter-contents > p { margin-bottom: 1.25rem; color: var(--ink-soft); font-size: .7rem; letter-spacing: .12em; }
.chapter-contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 2rem; padding: 0; margin: 0; list-style: none; }
.chapter-contents a { display: grid; grid-template-columns: 2rem 1fr; gap: .5rem; min-height: 44px; align-items: center; font-family: var(--serif); font-size: .84rem; text-decoration-color: var(--line-dark); }
.chapter-contents a span { color: var(--accent); font-family: Georgia, serif; font-size: .65rem; }
.chapter-section { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding: clamp(4rem, 8vw, 7rem) 0; border-top: 1px solid var(--line); scroll-margin-top: 5rem; }
.chapter-section:first-of-type { border-top-color: var(--ink); }
.chapter-section__marker span { color: var(--accent); font-family: Georgia, serif; font-size: .72rem; }
.chapter-section__marker p { margin: .5rem 0 0; color: var(--ink-soft); font-size: .68rem; letter-spacing: .1em; }
.chapter-section__body { min-width: 0; }
.chapter-section__body h2 { margin: 0 0 2rem; font-size: clamp(1.75rem, 3.4vw, 3.2rem); }
.chapter-section__body > p { max-width: var(--reading); color: var(--ink-soft); }
.chapter-part-divider { display: grid; gap: .65rem; padding: clamp(2rem, 5vw, 3.5rem); margin-top: clamp(3rem, 7vw, 6rem); border-block: 1px solid var(--ink); background: var(--paper-light); }
.chapter-part-divider p { margin: 0; color: var(--accent); font-size: .7rem; letter-spacing: .12em; }
.chapter-part-divider strong { font-family: var(--serif); font-size: clamp(1.4rem, 3vw, 2.25rem); font-weight: 500; }
.chapter-part-divider span { max-width: var(--reading); color: var(--ink-soft); font-size: .78rem; line-height: 1.8; }
.chapter-section--transmission .research-subsection { max-width: 50rem; }
.chapter-chronology { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 50rem; padding: 0; margin: 3rem 0 0; border-top: 1px solid var(--ink); border-left: 1px solid var(--line); list-style: none; }
.chapter-chronology li { min-width: 0; padding: 1.25rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.chapter-chronology time { display: block; margin-bottom: .6rem; color: var(--accent); font-size: .68rem; letter-spacing: .06em; }
.chapter-chronology strong { display: block; margin-bottom: .65rem; font-family: var(--serif); font-size: 1.1rem; font-weight: 500; }
.chapter-chronology p { margin: 0; color: var(--ink-soft); font-size: .76rem; }
.chapter-name-forms { max-width: 50rem; margin: 3rem 0 0; border-top: 1px solid var(--ink); }
.chapter-name-forms div { display: grid; grid-template-columns: minmax(10rem, .7fr) 1.5fr; gap: 1.5rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.chapter-name-forms dt { font-family: var(--serif); font-size: 1.05rem; }
.chapter-name-forms dd { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.8; }
.chapter-document-sequence { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 50rem; padding: 0; margin: 3rem 0 0; border-top: 1px solid var(--ink); border-left: 1px solid var(--line); list-style: none; }
.chapter-document-sequence li { min-width: 0; padding: 1.25rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.chapter-document-sequence time { display: block; margin-bottom: .8rem; color: var(--accent); font-size: .68rem; letter-spacing: .05em; }
.chapter-document-sequence blockquote { padding-left: .85rem; margin: 0 0 1rem; border-left: 1px solid var(--line-dark); }
.chapter-document-sequence blockquote p { margin: 0; font-family: var(--serif); font-size: .86rem; line-height: 1.9; overflow-wrap: anywhere; }
.chapter-document-sequence li > p { margin: 0; color: var(--ink-soft); font-size: .74rem; line-height: 1.75; }
.chapter-source-image { max-width: 50rem; margin-top: 3.5rem; }
.chapter-source-image > a { display: block; background: var(--paper-deep); }
.chapter-source-image img { width: 100%; height: auto; }
.chapter-source-image figcaption { align-items: start; }
.chapter-source-image figcaption span { max-width: 30rem; }
.chapter-source-image figcaption small { max-width: 22rem; text-align: right; }
.chapter-primary-source-images { max-width: 50rem; padding-top: 2rem; margin-top: 3.5rem; border-top: 1px solid var(--ink); }
.chapter-primary-source-images > header { max-width: var(--reading); }
.chapter-primary-source-images > header .eyebrow { margin-bottom: .75rem; color: var(--accent); }
.chapter-primary-source-images > header h3 { margin: 0 0 1rem; font-size: clamp(1.3rem, 2.5vw, 1.8rem); }
.chapter-primary-source-images > header > p:last-child { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.chapter-primary-source-image > a { min-width: 0; border: 1px solid var(--line); }
.chapter-primary-source-image img { display: block; }
.chapter-primary-source-image figcaption small { overflow-wrap: anywhere; }
.chapter-source-usage { padding: 1.25rem 1.5rem; margin-top: 2.5rem; border: 1px solid var(--line); background: var(--paper-light); }
.chapter-source-usage h4 { margin: 0 0 .75rem; font-size: 1rem; }
.chapter-source-usage p { margin: .4rem 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.75; }
.chapter-source-transcription { padding: 1.5rem 0 0; border-top: 1px solid var(--line); }
.chapter-source-transcription > div + div { padding-top: 1.25rem; margin-top: 1.25rem; border-top: 1px solid var(--line); }
.chapter-source-transcription > div > p { margin: 0 0 .55rem; color: var(--accent); font-size: .68rem; letter-spacing: .1em; }
.chapter-source-transcription blockquote { padding: .9rem 0 .9rem 1.25rem; margin: 0; border-left: 1px solid var(--line-dark); }
.chapter-source-transcription blockquote p { margin: 0; font-family: var(--serif); font-size: clamp(.98rem, 1.6vw, 1.15rem); line-height: 2.05; overflow-wrap: anywhere; }
.evidence-display { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 50rem; margin: 3rem 0 0; border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }
.evidence-display div { min-width: 0; padding: 1.25rem 1.35rem 1.4rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evidence-display div[data-evidence-layer="source"] { grid-column: 1 / -1; }
.evidence-display dt { margin-bottom: .65rem; color: var(--accent); font-size: .68rem; font-weight: 600; letter-spacing: .1em; }
.evidence-display dd { margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: .86rem; line-height: 1.9; }
.chapter-document-list { max-width: 50rem; margin: 3rem 0 0; border-top: 1px solid var(--ink); }
.chapter-document-list div { display: grid; grid-template-columns: minmax(15rem, 1.25fr) 1fr; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.chapter-document-list dt { display: grid; grid-template-columns: 6.5rem 1fr; gap: .75rem; }
.chapter-document-list dt span { color: var(--accent); font-family: Georgia, serif; font-size: .7rem; }
.chapter-document-list cite { font-family: var(--serif); font-style: normal; }
.chapter-document-list dd { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.chapter-transmission { max-width: var(--reading); padding: 0; margin: 3rem 0 0; border-top: 1px solid var(--ink); list-style: none; }
.chapter-transmission li { position: relative; padding: 1.15rem 2rem 1.15rem 1rem; border-bottom: 1px solid var(--line); font-family: var(--serif); }
.chapter-transmission li:not(:last-child)::after { position: absolute; right: .75rem; bottom: -.8rem; z-index: 1; color: var(--accent); content: "↓"; font-family: var(--sans); font-size: .72rem; }
.chapter-reading { margin-left: .5rem; color: var(--ink-soft); }
.chapter-reading > span { display: inline-block; margin-left: .45rem; font-family: var(--sans); font-size: .6rem; letter-spacing: .08em; }
.uncertain-reading { text-decoration: underline dotted var(--accent-light); text-underline-offset: .25em; }
.empi-sequence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 50rem; padding: 0; margin: 3rem 0 0; border-top: 1px solid var(--ink); list-style: none; }
.empi-sequence li { display: grid; grid-template-columns: 2.5rem minmax(5rem, 1fr) 1fr; gap: .75rem; align-items: baseline; min-width: 0; padding: 1rem 1.25rem 1rem 0; border-bottom: 1px solid var(--line); }
.empi-sequence li:nth-child(odd) { margin-right: 1.5rem; }
.empi-sequence__number { color: var(--accent); font-family: Georgia, serif; font-size: .68rem; }
.empi-sequence li > span[lang="ja"] { font-family: var(--serif); font-size: 1.12rem; }
.empi-sequence small { color: var(--ink-soft); font-family: Georgia, serif; font-size: .72rem; }
.source-image-records { max-width: 50rem; padding-top: 1.5rem; margin-top: 2rem; border-top: 1px solid var(--line); }
.source-image-records > p { margin-bottom: .75rem; color: var(--ink-soft); font-size: .7rem; letter-spacing: .1em; }
.source-image-records ul { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: 0; margin: 0; list-style: none; }
.source-image-records a { display: inline-block; min-height: 44px; padding-block: .45rem; font-family: Georgia, serif; font-size: .76rem; }
.chapter-comparison { max-width: 42rem; margin-top: 3rem; border-top: 1px solid var(--ink); }
.chapter-comparison__head, .chapter-comparison li { display: grid; grid-template-columns: 1fr 1fr; }
.chapter-comparison__head { color: var(--ink-soft); font-size: .7rem; letter-spacing: .1em; }
.chapter-comparison__head span, .chapter-comparison li span { padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.chapter-comparison__head span + span, .chapter-comparison li span + span { border-left: 1px solid var(--line); }
.chapter-comparison ol { padding: 0; margin: 0; list-style: none; }
.chapter-comparison li { font-family: var(--serif); }
.chapter-comparison li:nth-child(-n + 6) { background: var(--paper-light); }
.chapter-related-link { margin-top: 2rem; }
.chapter-later-lineage { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 50rem; padding: 1.5rem 0 0; margin: 3rem 0 0; border-top: 1px solid var(--ink); list-style: none; }
.chapter-later-lineage li { position: relative; padding-right: 1.25rem; font-family: var(--serif); }
.chapter-later-lineage li:not(:last-child)::after { position: absolute; right: .5rem; color: var(--accent); content: "→"; font-family: var(--sans); }
.chapter-sources { color: var(--paper-light); background: #3c3e3a; }
.chapter-sources header { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding-bottom: 2.5rem; border-bottom: 1px solid #6c6e68; }
.chapter-sources header .eyebrow { padding-top: .65rem; color: #d7bcb4; }
.chapter-sources header h2 { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3.1rem); }
.chapter-source-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.chapter-source-groups section { min-width: 0; padding: 2rem clamp(1.25rem, 3vw, 2.5rem) 0 0; }
.chapter-source-groups section + section { padding-right: 0; padding-left: clamp(1.25rem, 3vw, 2.5rem); border-left: 1px solid #5c5e58; }
.chapter-source-groups h3 { margin: 0 0 1.5rem; font-size: 1.15rem; }
.chapter-source-groups p, .chapter-source-groups li { color: #c4c5bf; font-size: .75rem; }
.chapter-source-groups ul { padding-left: 1.2rem; }
.chapter-source-groups li span { display: block; margin-top: .3rem; color: #999b95; }
.chapter-source-groups a { color: var(--paper-light); overflow-wrap: anywhere; }
.chapter-transmission-sources { padding-top: 3rem; margin-top: 3rem; border-top: 1px solid #6c6e68; }
.chapter-transmission-sources > h3 { margin: 0 0 1rem; }
.chapter-transmission-sources > p { max-width: var(--reading); color: #c4c5bf; font-size: .78rem; }
.chapter-transmission-sources .research-source { color: var(--ink); }
.chapter-transmission-sources .research-source a { color: var(--ink); }
.chapter-pending-sources { padding: 0; margin: 1.5rem 0 0; border-top: 1px solid #6c6e68; list-style: none; }
.chapter-pending-sources li { display: grid; grid-template-columns: minmax(12rem, 1fr) 1fr; gap: 1.5rem; padding: .85rem 0; border-bottom: 1px solid #5c5e58; }
.chapter-pending-sources small { color: #aeb0aa; }
/* Chapter 3: documentary names, colophons, and evidence-layer comparisons. */
.history-chapter-three .chapter-contents ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.chapter-three-evidence-key { max-width: 50rem; margin: 0 0 clamp(4rem, 8vw, 7rem); }
.chapter-three-transcription, .chapter-three-genealogy { max-width: 50rem; margin: 3rem 0 0; border-top: 1px solid var(--ink); }
.chapter-three-transcription figcaption, .chapter-three-genealogy figcaption { padding: .8rem 0; color: var(--accent); font-size: .68rem; font-weight: 600; letter-spacing: .1em; }
.chapter-three-transcription blockquote { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1.25rem; margin: 0; border: 1px solid var(--line); background: var(--paper-light); }
.chapter-three-transcription blockquote span { min-width: 0; padding: .18rem .75rem; font-family: var(--serif); line-height: 1.8; overflow-wrap: anywhere; }
.chapter-three-genealogy ol { display: grid; max-width: 32rem; padding: 0; margin: 0; border-top: 1px solid var(--line-dark); list-style: none; }
.chapter-three-genealogy li { position: relative; padding: .85rem 2rem .85rem 1rem; border-bottom: 1px solid var(--line); font-family: var(--serif); }
.chapter-three-genealogy li:not(:last-child)::after { position: absolute; right: .75rem; bottom: -.75rem; z-index: 1; color: var(--accent); content: "↓"; font-family: var(--sans); font-size: .7rem; }
.chapter-three-genealogy > p { max-width: 32rem; color: var(--ink-soft); font-size: .72rem; }
.chapter-three-timeline { min-width: 54rem; }
.chapter-three-orthography td:nth-child(3) { color: var(--ink); font-family: var(--serif); font-size: .9rem; }
.chapter-three-crosslinks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 50rem; gap: 1px; margin-top: 3rem; border: 1px solid var(--line); background: var(--line); }
.chapter-three-crosslinks a { display: grid; grid-template-columns: 2rem 1fr; gap: .5rem; min-height: 4rem; padding: 1.2rem; align-items: center; background: var(--paper-light); font-family: var(--serif); text-decoration: none; }
.chapter-three-crosslinks a span { color: var(--accent); font-family: Georgia, serif; font-size: .7rem; }
.chapter-three-source-contrast { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 50rem; gap: 1px; margin-top: 3rem; border: 1px solid var(--line); background: var(--line); }
.chapter-three-source-contrast section { padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--paper-light); }
.chapter-three-source-contrast section[data-source-layer="later"] { background: var(--paper-deep); }
.chapter-three-source-contrast p { margin: 0 0 .8rem; color: var(--accent); font-family: Georgia, serif; font-size: .7rem; }
.chapter-three-source-contrast h3 { margin: 0 0 1rem; font-size: 1.2rem; }
.chapter-three-source-contrast span { color: var(--ink-soft); font-size: .76rem; line-height: 1.75; }
.chapter-three-image-gallery { max-width: 50rem; padding-top: 1rem; margin-top: 3rem; border-top: 1px solid var(--ink); }
.chapter-three-source-image { margin: 2.5rem 0 0; }
.chapter-three-source-image > a { display: block; background: var(--paper-deep); }
.chapter-three-source-image img { display: block; width: 100%; height: auto; }
.chapter-three-source-image figcaption { align-items: start; }
.chapter-three-source-image figcaption > span { max-width: 28rem; }
.chapter-three-source-image figcaption small { max-width: 23rem; text-align: right; }
.chapter-three-source-image figcaption a { display: inline-block; margin-top: .35rem; }
.chapter-three-crosslinks--closing { margin-bottom: 2rem; }
.chapter-three-next { padding-top: 1.25rem; border-top: 1px solid var(--line); font-family: var(--sans) !important; font-size: .76rem !important; }
.chapter-three-unresolved { padding-top: clamp(3rem, 6vw, 5rem); margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid #6c6e68; }
.chapter-three-unresolved .eyebrow { color: #d7bcb4; }
.chapter-three-unresolved h3 { margin: 0 0 1.5rem; font-size: clamp(1.4rem, 2.5vw, 2rem); }
.chapter-three-unresolved ul { max-width: 58rem; padding-left: 1.25rem; }
.chapter-three-unresolved li { padding: .45rem 0; color: #c4c5bf; font-size: .76rem; line-height: 1.75; }
.chapter-three-transmission-sources { padding-top: clamp(3rem, 6vw, 5rem); margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid #6c6e68; }
.chapter-three-transmission-sources .eyebrow { color: #d7bcb4; }
.chapter-three-transmission-sources h3 { margin: 0 0 1rem; font-size: clamp(1.4rem, 2.5vw, 2rem); }
.chapter-three-transmission-sources > p { max-width: var(--reading); color: #bfc0ba; font-size: .8rem; }
.chapter-three-transmission-sources .hikita-source-list { margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.chapter-three-itinerary { min-width: 52rem; }
.chapter-three-network, .chapter-three-stipends { min-width: 44rem; }
.chapter-section--transmission .hikita-subsections, .chapter-section--transmission .hikita-relationship, .chapter-section--transmission .hikita-sequence, .chapter-section--transmission .hikita-split { max-width: 50rem; }

@media (max-width: 800px) {
  .history-chapter-three .chapter-contents ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .history-chapter-three .chapter-contents ol, .chapter-three-transcription blockquote, .chapter-three-crosslinks, .chapter-three-source-contrast { grid-template-columns: 1fr; }
  .chapter-three-transcription blockquote span { padding-inline: .25rem; }
  .chapter-three-source-image figcaption small { max-width: none; text-align: left; }
  .chapter-primary-source-image figcaption small { max-width: none; text-align: left; }
  .chapter-source-usage { padding: 1rem; }
}
/* Chapter 3: the two Eiroku 9 (1566) Ise oaths — inline excerpts and full
   document transcriptions (single column; long source lines). */
.chapter-three-excerpt { max-width: 50rem; margin: 2rem 0; }
.chapter-three-excerpt blockquote { display: grid; grid-template-columns: 1fr; padding: 1.25rem; margin: 0; border: 1px solid var(--line); background: var(--paper-light); }
.chapter-three-excerpt blockquote span { min-width: 0; padding: .18rem .75rem; font-family: var(--serif); line-height: 1.8; overflow-wrap: anywhere; }
.chapter-three-transcription--document blockquote { grid-template-columns: 1fr; }
.chapter-three-transcription__note { margin: .75rem 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.75; }
.chapter-three-transcription__note span { display: block; }
.history-chapter-three .chapter-section__body > h3 { margin: 3rem 0 1rem; font-size: clamp(1.4rem, 2.5vw, 2rem); }

@media (max-width: 600px) {
  .chapter-three-excerpt blockquote span { padding-inline: .25rem; }
}
.citation { margin-inline: .12em; font-family: var(--sans); font-size: .65em; vertical-align: super; }
.documentary-figure { margin: 3rem 0; }
.documentary-figure__placeholder { display: grid; aspect-ratio: 4 / 3; padding: 2rem; color: #a6a8a1; background: #5a5c57; place-items: center; }
.documentary-figure__placeholder span { font-family: var(--serif); font-size: .76rem; letter-spacing: .12em; }
.documentary-figure figcaption { display: flex; justify-content: space-between; gap: 1.5rem; padding-top: .75rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .72rem; }
.documentary-figure figcaption small { color: var(--line-dark); font-size: inherit; }
.documentary-transcription { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.documentary-transcription summary { color: var(--ink-soft); font-size: .76rem; cursor: pointer; }
.documentary-transcription p { padding: 1.25rem 0 .25rem 1.5rem; margin: 0; border-left: 1px solid var(--line); font-family: var(--serif); line-height: 2.1; }
.references { max-width: var(--reading); padding-top: 3rem; margin-top: 5rem; border-top: 1px solid var(--line); }
.references h2 { font-size: 1.4rem; }
.references li { padding-block: .45rem; color: var(--ink-soft); font-size: .8rem; }

.editorial-callout { max-width: 48rem; padding: 2rem 2.25rem; margin-bottom: 5rem; border-left: 2px solid var(--accent); background: var(--paper-light); }
.editorial-callout p:last-child { margin-bottom: 0; color: var(--ink-soft); font-size: .88rem; }
.lineage-panel { padding-block: var(--section); color: var(--paper-light); background: #3c3e3a; }
.lineage-panel__heading, .catalogue-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding-bottom: 2rem; border-bottom: 1px solid #6c6e68; }
.lineage-panel__heading h2, .catalogue-heading h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 3rem); }
.lineage-panel__heading > p, .catalogue-heading > p { margin: 0; color: #bbbdb7; font-size: .73rem; }
.lineage-panel .eyebrow { color: #d7bcb4; }
.lineage-list { position: relative; padding: 3.5rem 0 0; margin: 0; list-style: none; }
.lineage-list::before { position: absolute; top: 3.5rem; bottom: 2.5rem; left: 50%; content: ""; border-left: 1px solid #70726c; }
.lineage-node { position: relative; width: calc(50% - 3rem); min-height: 8.5rem; margin-bottom: 1.5rem; }
.lineage-node:nth-child(even) { margin-left: calc(50% + 3rem); }
.lineage-node article { padding: 1.35rem 1.5rem 1.2rem; border: 1px solid #62645f; background: #41433f; }
.lineage-node::after { position: absolute; top: 2.1rem; width: 3rem; content: ""; border-top: 1px solid #70726c; }
.lineage-node:nth-child(odd)::after { right: -3rem; }
.lineage-node:nth-child(even)::after { left: -3rem; }
.lineage-node__marker { position: absolute; z-index: 1; top: 1.8rem; width: .65rem; height: .65rem; border: 1px solid #d7bcb4; border-radius: 50%; background: #3c3e3a; }
.lineage-node:nth-child(odd) .lineage-node__marker { right: -3.33rem; }
.lineage-node:nth-child(even) .lineage-node__marker { left: -3.33rem; }
.lineage-node__status { margin: 0 0 .55rem; color: #aeb0aa; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.lineage-node__name { margin: 0; font-family: var(--serif); font-size: clamp(1.18rem, 2vw, 1.55rem); }
.lineage-node__name a { text-decoration-color: #888b84; text-decoration-style: dotted; text-decoration-thickness: 1px; }
.lineage-node__romanization { display: block; margin-top: .35rem; color: #c7c8c2; font-family: Georgia, serif; font-size: .68em; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere; }
.lineage-romanization-note { max-width: var(--reading); margin: 2rem 0 0; color: #c4c5bf; font-family: var(--serif); font-size: .84rem; }
.lineage-node__source { margin: .7rem 0 0; color: #bbbdb7; font-size: .72rem; }
.lineage-document { background: var(--paper-light); }
.lineage-document__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.lineage-document .documentary-figure { margin: 0; }
.source-summary { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--line); background: var(--paper); }
.source-summary__title { margin-bottom: 1.5rem; font-family: var(--serif); font-size: 1.35rem; }
.source-summary dl { margin: 0 0 1.5rem; border-top: 1px solid var(--line); }
.source-summary dl div { display: grid; grid-template-columns: 8rem 1fr; padding: .65rem 0; border-bottom: 1px solid var(--line); font-size: .76rem; }
.source-summary dt { color: var(--ink-soft); }
.source-summary dd { margin: 0; }
.source-summary > p:not(.source-summary__title) { color: var(--ink-soft); font-size: .8rem; }

.archive-catalogue { padding-bottom: var(--section); }
.catalogue-heading { border-color: var(--ink); }
.catalogue-heading > p { color: var(--ink-soft); }
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: var(--line); border: 1px solid var(--line); }
.archive-card { padding: 1.25rem 1.25rem 2rem; background: var(--paper); }
.archive-card--published { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, .62fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.archive-card__thumbnail { display: block; min-width: 0; background: var(--paper-light); }
.archive-card__thumbnail img { display: block; width: 100%; height: auto; }
.archive-card__content { min-width: 0; }
.archive-card__image { display: grid; aspect-ratio: 4 / 3; margin-bottom: 1.5rem; color: #b8b9b3; background: #666863; place-items: center; }
.archive-card__image span { font-family: var(--serif); font-size: .75rem; letter-spacing: .1em; }
.archive-card__notice { display: grid; aspect-ratio: 4 / 3; padding: 1.75rem; margin-bottom: 1.5rem; color: #d1d2cc; background: #4c4e49; place-items: center; }
.archive-card__notice p { margin: 0; font-family: var(--serif); font-size: .76rem; line-height: 1.9; text-align: center; }
.archive-card__meta { display: flex; justify-content: space-between; color: var(--ink-soft); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.archive-card h3 { min-height: 3.5rem; margin: .75rem 0 1rem; font-size: 1.2rem; }
.archive-card h3 a { text-decoration-thickness: 1px; }
.archive-card__content > p:not(.editorial-placeholder) { color: var(--ink-soft); font-size: .8rem; }
.archive-card .editorial-placeholder { font-size: .62rem; }

.archive-record-hero { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding: clamp(5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 6.5rem); }
.archive-record-hero .eyebrow { grid-row: 1 / span 3; padding-top: .9rem; }
.archive-record-hero h1 { max-width: 16em; margin: 0 0 1rem; font-size: clamp(2.35rem, 5vw, 4.8rem); }
.archive-record-hero__label { color: var(--accent); font-size: .7rem; letter-spacing: .06em; }
.archive-record-hero > p:last-child { max-width: var(--reading); color: var(--ink-soft); }
.archive-record-body { padding-block: var(--section); color: var(--paper-light); background: #3c3e3a; }
.archive-record-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.image-permission-notice { min-height: 21rem; display: grid; align-content: center; padding: clamp(2rem, 5vw, 4rem); border: 1px solid #686a64; background: #444641; }
.image-permission-notice .eyebrow { color: #d7bcb4; }
.image-permission-notice p:last-child { margin: 0; color: #c4c5bf; font-family: var(--serif); }
.archive-metadata h2 { margin: 0 0 2rem; font-size: clamp(1.6rem, 3vw, 2.4rem); }
.archive-metadata dl { margin: 0; border-top: 1px solid #6c6e68; }
.archive-metadata dl div { display: grid; grid-template-columns: minmax(8rem, .7fr) 1.3fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid #5c5e58; font-size: .78rem; }
.archive-metadata dt { color: #adb0aa; }
.archive-metadata dd { margin: 0; }
.archive-metadata__note { margin-top: 1.5rem; color: #bfc0ba; font-size: .74rem; }
.archive-record-overview .eyebrow { color: #d7bcb4; }
.archive-record-overview .section-heading > p:last-child { color: #c4c5bf; }
.archive-source-images { background: var(--paper-light); }
.archive-source-image + .archive-source-image { border-top: 1px solid var(--line); background: var(--paper); }
.archive-source-image__grid { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.archive-source-image header h2 { margin: 0 0 1.5rem; font-size: clamp(1.8rem, 3.2vw, 3.1rem); }
.archive-source-image header > p:last-child { color: var(--ink-soft); font-size: .84rem; }
.archive-source-image__content { min-width: 0; max-width: 54rem; }
.archive-source-figure { margin: 0; }
.archive-source-figure img { width: 100%; height: auto; border: 1px solid var(--line); background: var(--paper-deep); }
.archive-lineage-transcription { max-width: 34rem; padding-top: 2.5rem; margin-top: 2.5rem; border-top: 1px solid var(--line); }
.archive-lineage-transcription h3 { margin: 0 0 .75rem; font-size: 1.3rem; }
.archive-lineage-transcription > p { color: var(--ink-soft); font-size: .78rem; }
.archive-lineage-transcription__sequence { margin-top: 1.5rem; }
.archive-lineage-transcription__sequence li { font-size: clamp(1.05rem, 2vw, 1.35rem); }
.archive-composition { background: var(--paper-deep); }
.archive-composition__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.archive-composition__list { margin: 0; border-top: 1px solid var(--ink); }
.archive-composition__list div { display: grid; grid-template-columns: minmax(7rem, .55fr) 1.45fr; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.archive-composition__list dt { font-family: var(--serif); }
.archive-composition__list dd { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.transcription-section { background: var(--paper-light); }
.transcription-grid, .evidence-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.transcription-sequence { padding: 0; margin: 0; list-style: none; }
.transcription-sequence li { position: relative; padding: 1.05rem 1.5rem; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
.transcription-sequence li:first-child { border-top: 1px solid var(--ink); }
.transcription-sequence li:not(:last-child)::after { position: absolute; right: 1.5rem; bottom: -.7rem; z-index: 1; content: "↓"; color: var(--accent); font-family: var(--sans); font-size: .75rem; }
.transcription-pending { margin-top: 1.5rem; color: var(--ink-soft); font-family: var(--serif); font-size: .78rem; }
.evidence-section { background: var(--paper-deep); }
.evidence-categories { margin: 0; border-top: 1px solid var(--ink); }
.evidence-categories div { padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.evidence-categories dt { margin-bottom: .35rem; font-family: var(--serif); }
.evidence-categories dd { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.archive-related-people { grid-column: 2; padding-top: 1rem; }
.archive-related-people h2 { margin: 0 0 1rem; font-size: 1.25rem; }
.archive-related-people ul { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 2rem; padding: 1rem 0 0; margin: 0; border-top: 1px solid var(--line); list-style: none; }
.archive-related-people li { font-family: var(--serif); font-size: 1rem; }
.evidence-grid > .text-link { grid-column: 2; justify-self: start; margin-top: -1rem; }

.person-record-hero { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding: clamp(5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 6.5rem); }
.person-record-hero .eyebrow { grid-row: 1 / span 2; padding-top: .9rem; }
.person-record-hero h1 { margin: 0 0 1.25rem; font-size: clamp(2.7rem, 6vw, 5.5rem); }
.person-record-hero > p:last-of-type { max-width: var(--reading); color: var(--ink-soft); font-family: var(--serif); }
.instructor-hero .eyebrow { grid-row: 1 / span 3; }
.instructor-hero > :not(.eyebrow) { grid-column: 2; }
.instructor-hero__role { margin: 0; color: var(--accent); font-family: var(--serif); font-size: clamp(1.05rem, 1.8vw, 1.3rem); }
.instructor-hero__lead { max-width: var(--reading); margin: clamp(1.75rem, 3vw, 2.5rem) 0 0; color: var(--ink-soft); font-family: var(--serif); }
.instructor-photo { margin: 0; }
.instructor-photo img { width: 100%; height: auto; }
.instructor-photo figcaption { padding: .75rem 0; color: var(--ink-soft); border-bottom: 1px solid var(--line); font-size: .72rem; line-height: 1.7; }
.instructor-photo--primary { width: min(100%, 34rem); margin-top: clamp(2rem, 4vw, 3rem); }
.person-record-body { padding-block: var(--section); color: var(--paper-light); background: #3c3e3a; }
.person-record-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.person-record-grid--single { grid-template-columns: minmax(0, var(--reading)); }
.person-record-main section + section { padding-top: 3rem; margin-top: 3rem; border-top: 1px solid #5c5e58; }
.person-record-main .eyebrow, .person-source-summary .eyebrow { color: #d7bcb4; }
.person-record-main h2, .person-source-summary h2 { margin: 0 0 1.25rem; font-size: clamp(1.45rem, 2.5vw, 2.15rem); }
.person-record-main p { max-width: var(--reading); color: #c4c5bf; }
.person-record-main .text-link { color: var(--paper-light); border-color: #777973; }
.compact-lineage-sequence { display: grid; grid-template-columns: repeat(4, 1fr); padding: 1.25rem 0 0; margin: 2rem 0 0; border-top: 1px solid #666862; list-style: none; }
.compact-lineage-sequence li { position: relative; padding-right: 1.25rem; font-family: var(--serif); font-size: .88rem; }
.compact-lineage-sequence li:not(:last-child)::after { position: absolute; right: .5rem; content: "→"; color: #aeb0aa; font-family: var(--sans); }
.person-source-summary { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid #686a64; background: #444641; }
.person-source-summary dl { margin: 1.75rem 0; border-top: 1px solid #666862; }
.person-source-summary dl div { display: grid; grid-template-columns: minmax(6rem, .7fr) 1.3fr; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid #5c5e58; font-size: .76rem; }
.person-source-summary dt { color: #adb0aa; }
.person-source-summary dd { margin: 0; }
.person-source-summary > p:last-child { margin: 0; color: #bfc0ba; font-size: .75rem; }
.person-evidence-note { background: var(--paper-deep); }
.person-evidence-note > div { max-width: 52rem; }
.person-evidence-note h2 { margin: 0 0 1.25rem; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.person-evidence-note p:last-child { color: var(--ink-soft); }
.person-article { background: var(--paper-light); }
.person-article__inner { max-width: 58rem; }
.person-article__inner > section + section { padding-top: clamp(3.5rem, 7vw, 6rem); margin-top: clamp(3.5rem, 7vw, 6rem); border-top: 1px solid var(--line); }
.person-article h2, .research-status h2, .research-sources h2, .pending-sources h2 { margin: 0 0 1.75rem; font-size: clamp(1.75rem, 3.3vw, 3rem); }
.person-article p { max-width: var(--reading); color: var(--ink-soft); }
.instructor-biography__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .55fr); gap: clamp(2.5rem, 6vw, 5rem); align-items: start; }
.instructor-photo--secondary { margin-top: .4rem; }
.research-quotation { margin: 2rem 0; padding: clamp(1.25rem, 3vw, 2rem); background: var(--paper); border-left: .2rem solid var(--accent); }
.research-quotation figcaption, .research-timeline small { display: block; margin-bottom: .65rem; color: var(--ink-soft); font-family: var(--sans); font-size: .72rem; }
.research-quotation blockquote { margin: 0; font-family: var(--serif); overflow-wrap: anywhere; }
.research-quotation blockquote p { margin: 0; color: var(--ink); }
.research-source-links { font-size: .78rem; overflow-wrap: anywhere; }
.research-source[id], .person-article h2[id] { scroll-margin-top: 7rem; }
.research-timeline { width: 100%; table-layout: fixed; border-collapse: collapse; margin-block: 2rem; font-size: .85rem; }
.research-timeline caption { text-align: left; margin-bottom: 1rem; color: var(--ink-soft); }
.research-timeline th, .research-timeline td { padding: 1.1rem .85rem; border-block: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.research-timeline thead { background: var(--paper-deep); }
.research-timeline thead th:first-child { width: 19%; }
.research-timeline thead th:nth-child(2) { width: 35%; }
.research-timeline tbody th { font-weight: 500; }
.research-timeline q { font-family: var(--serif); }
.timeline-mobile-label { display: none; }
.instructor-chronology { margin: 2rem 0 0; border-top: 1px solid var(--line-dark); }
.instructor-chronology div { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.instructor-chronology dt { color: var(--accent); font-family: Georgia, serif; font-size: .78rem; letter-spacing: .08em; }
.instructor-chronology dd { min-width: 0; margin: 0; color: var(--ink-soft); }
.instructor-lineage__note { max-width: var(--reading); margin: 2rem 0 0; color: #c4c5bf; font-family: var(--serif); }
.instructor-lineage__romanization-note { max-width: var(--reading); margin: .75rem 0 0; color: #aeb0aa; font-size: .78rem; }
.instructor-lineage__list { position: relative; max-width: 44rem; padding: 0; margin: 3rem 0 0; list-style: none; }
.instructor-lineage__list::before { position: absolute; top: 1.6rem; bottom: 1.6rem; left: .42rem; content: ""; border-left: 1px solid #70726c; }
.instructor-lineage__list li { position: relative; min-width: 0; padding: .8rem 1rem .8rem 2.25rem; border-bottom: 1px solid #5c5e58; font-family: var(--serif); font-size: clamp(1rem, 1.8vw, 1.25rem); overflow-wrap: anywhere; }
.instructor-lineage__name, .instructor-lineage__romanization { display: block; }
.instructor-lineage__romanization { margin-top: .2rem; color: #bfc1ba; font-family: Georgia, serif; font-size: .78em; line-height: 1.45; }
.instructor-lineage__list li::before { position: absolute; z-index: 1; top: 1.35rem; left: .12rem; width: .65rem; height: .65rem; content: ""; border: 1px solid #d7bcb4; border-radius: 50%; background: #3c3e3a; }
@media (max-width: 600px) {
  .research-timeline, .research-timeline tbody { display: block; }
  .research-timeline caption { display: block; }
  .research-timeline thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
  .research-timeline tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); margin-bottom: 1.25rem; border: 1px solid var(--line); }
  .research-timeline th, .research-timeline td { display: block; border: 0; }
  .research-timeline tbody th { background: var(--paper-deep); }
  .research-timeline td + td { border-top: 1px solid var(--line); }
  .timeline-mobile-label { display: block; margin-bottom: .65rem; font-weight: 600; }
}
.research-subsections { display: grid; gap: 1px; margin-top: 2.5rem; background: var(--line); border: 1px solid var(--line); }
.research-subsection { padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--paper); }
.research-subsection__type { margin-bottom: .8rem; color: var(--accent) !important; font-family: var(--sans); font-size: .68rem; font-weight: 600; letter-spacing: .08em; }
.research-subsection h3 { margin: 0 0 1rem; font-size: clamp(1.25rem, 2.4vw, 1.8rem); }
.research-subsection .compact-lineage-sequence { color: var(--ink); border-color: var(--line-dark); }
.technique-sequence { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.research-section__conclusion { padding: 2rem; margin-top: 1px; background: var(--paper-deep); border-left: .2rem solid var(--accent); }
.research-section__conclusion p:last-child { margin-bottom: 0; }
.research-status { background: var(--paper-deep); }
.research-status__grid, .pending-sources__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.research-status__grid > div:last-child > p { max-width: var(--reading); font-family: var(--serif); font-size: 1.08rem; }
.research-status dl { margin: 2.5rem 0 0; border-top: 1px solid var(--line-dark); }
.research-status dl div { display: grid; grid-template-columns: 8rem 1fr; padding: .65rem 0; border-bottom: 1px solid var(--line); font-size: .76rem; }
.research-status dt { color: var(--ink-soft); }
.research-status dd { margin: 0; }
.research-sources { background: var(--paper); }
.research-sources__heading { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding-bottom: 2.5rem; border-bottom: 1px solid var(--ink); }
.research-sources__heading .eyebrow { grid-row: 1 / span 2; padding-top: .6rem; }
.research-sources__heading h2 { margin-bottom: 1rem; }
.research-sources__heading > p:last-child { max-width: var(--reading); color: var(--ink-soft); }
.research-source-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 3rem; background: var(--line); border: 1px solid var(--line); }
.research-source { padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--paper-light); }
.research-source__type { min-height: 3em; margin-bottom: 1.25rem; color: var(--accent); font-size: .66rem; font-weight: 600; letter-spacing: .08em; }
.research-source h3, .research-source > h4 { min-height: 3.6em; margin: 0 0 1.25rem; font-size: 1.2rem; }
.research-source dl { margin: 0 0 1.25rem; border-top: 1px solid var(--line); }
.research-source dl div { display: grid; grid-template-columns: minmax(6rem, .7fr) 1.3fr; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--line); font-size: .72rem; }
.research-source dt { color: var(--ink-soft); }
.research-source dd { margin: 0; }
.research-source__note { margin: 0; color: var(--ink-soft); font-size: .76rem; }
.research-source__related { padding-top: 1.5rem; margin-top: 1.5rem; border-top: 1px solid var(--line); }
.research-source__related h4 { margin: 0 0 .8rem; font-size: .82rem; }
.research-source__related ul { padding-left: 1.15rem; margin: 0 0 .8rem; }
.research-source__related li + li { margin-top: .4rem; }
.research-source__related p { margin: 0; color: var(--ink-soft); font-size: .72rem; }
.pending-sources { color: var(--paper-light); background: #3c3e3a; }
.pending-sources .eyebrow { color: #d7bcb4; }
.pending-sources header > p:last-child { color: #bfc0ba; font-size: .82rem; }
.pending-sources ol { padding: 0; margin: 0; border-top: 1px solid #6c6e68; list-style: none; }
.pending-sources li { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid #5c5e58; font-family: var(--serif); }
.pending-sources li small { align-self: center; color: #aeb0aa; font-family: var(--sans); font-size: .66rem; }
.chapter-research-management { display: grid; gap: 3rem; margin-top: 2.5rem; }
.chapter-research-management > section { padding-top: 2rem; border-top: 1px solid var(--line); }
.chapter-research-management > section > h3 { margin: 0 0 1rem; font-size: 1.35rem; }
.chapter-research-management > section > p { color: var(--ink-soft); }
.chapter-research-management ol { padding: 0; margin: 1.5rem 0 0; border-top: 1px solid var(--line); list-style: none; }
.chapter-research-management li { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; padding: .85rem 0; border-bottom: 1px solid var(--line); font-family: var(--serif); }
.chapter-research-management li small { align-self: center; color: var(--ink-soft); font-family: var(--sans); font-size: .66rem; }
.lineage-pagination { padding-block: clamp(3rem, 6vw, 5rem); }
.lineage-pagination > p { margin-bottom: 1.5rem; font-size: .82rem; font-weight: 600; }
.lineage-pagination > div { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--line); }
.lineage-pagination span { padding: 1rem 1rem 1rem 0; color: var(--ink-soft); font-size: .76rem; }
.lineage-pagination span + span { padding-left: 1rem; border-left: 1px solid var(--line); }
.lineage-pagination a { color: var(--ink); }

.collection-empty, .contact-panel { max-width: 52rem; padding: clamp(3rem, 6vw, 5rem); margin-bottom: var(--section); border: 1px solid var(--line); background: var(--paper-light); }
.collection-empty h2, .contact-panel h2 { margin: 0 0 1.5rem; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.collection-empty > p:not(.eyebrow, .editorial-placeholder), .contact-panel > p:not(.eyebrow, .editorial-placeholder) { color: var(--ink-soft); }
.social-links ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); padding: 0; margin: 0; border-top: 1px solid var(--line); list-style: none; }
.social-links li { min-width: 0; border-bottom: 1px solid var(--line); }
.social-links a { display: block; min-height: 44px; padding: 1rem 1rem 1rem 0; font-weight: 600; overflow-wrap: anywhere; }
.contact-guidance { padding-top: clamp(2.5rem, 5vw, 4rem); margin-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--line-dark); }
.contact-guidance p { margin-bottom: 0; color: var(--ink-soft); }

.site-footer { padding: clamp(4rem, 8vw, 7rem) var(--side) 2rem; color: #d6d7d1; background: #292a27; }
.site-footer__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; width: min(100%, var(--measure)); margin: auto; }
.footer-identity__name { margin: 0; color: var(--paper-light); font-family: var(--serif); font-size: 1.4rem; letter-spacing: .12em; }
.footer-identity__en { margin: .5rem 0 0; color: #93958f; font-family: Georgia, serif; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-note { max-width: 29rem; font-size: .8rem; }
.footer-note a { color: var(--paper-light); }
.footer-meta { display: flex; grid-column: 1 / -1; justify-content: space-between; padding-top: 1.25rem; border-top: 1px solid #4b4d48; color: #92948e; font-size: .66rem; }
.footer-meta p { margin: 0; }

@media (max-width: 800px) {
  :root { --side: 1.25rem; --section: 5rem; }
  .site-header__inner { min-height: 4.75rem; }
  .identity__qualifier { display: none; }
  .site-header__controls { gap: .6rem; }
  .reading-preferences { gap: .55rem; }
  .font-size-control__label { display: none; }
  .language-switcher { padding-left: .55rem; }
  .site-navigation ul { grid-template-columns: 1fr 1fr; padding-block: 1.5rem 2rem; }
  .hero, .hero__inner { min-height: auto; }
  .hero__inner { grid-template-columns: 1fr; grid-template-rows: auto; }
  .hero__title-block { padding-top: 4.5rem; padding-bottom: 3rem; }
  .hero__roman { margin-bottom: 1.75rem; font-size: .63rem; }
  .hero h1 { font-size: clamp(2.7rem, 13vw, 4.3rem); }
  .hero__visual { grid-row: auto; grid-column: auto; margin-inline: var(--side); }
  .hero__introduction { padding-top: 3rem; }
  .content-grid, .archive-feature__grid, .current__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .principles { margin-top: 2.5rem; }
  .pathway-grid { grid-template-columns: 1fr; }
  .pathway-card, .pathway-card + .pathway-card, .pathway-card:last-child { min-height: 20rem; padding: 1.75rem 0 2rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .pathway-card:last-child { border-bottom: 0; }
  .pathway-card h3 { margin-top: 2.5rem; }
  .pathway-card .text-link { bottom: 2rem; }
  .archive-feature__visual { order: 2; }
  .archive-feature__visual--document { order: 0; }
  .policy .content-grid > div:last-child { padding-top: 0; }
  .current article + article { padding: 3rem 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .page-hero, .editorial-section { grid-template-columns: 4rem 1fr; }
  .kata-gallery__heading { grid-template-columns: 4rem 1fr; }
  .kata-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kata-gallery__list { grid-template-columns: 1fr; gap: 3rem; }
  .lineage-list { padding-top: 2.5rem; }
  .lineage-list::before { top: 2.5rem; right: auto; bottom: 2rem; left: .8rem; }
  .lineage-node, .lineage-node:nth-child(even) { width: calc(100% - 3rem); min-height: auto; margin: 0 0 1rem 3rem; }
  .lineage-node::after, .lineage-node:nth-child(odd)::after, .lineage-node:nth-child(even)::after { top: 1.9rem; right: auto; left: -2.2rem; width: 2.2rem; }
  .lineage-node .lineage-node__marker, .lineage-node:nth-child(odd) .lineage-node__marker, .lineage-node:nth-child(even) .lineage-node__marker { top: 1.58rem; right: auto; left: -2.52rem; }
  .lineage-document__grid, .archive-record-grid, .archive-source-image__grid, .archive-composition__grid, .transcription-grid, .evidence-grid, .person-record-grid, .research-status__grid, .pending-sources__grid { grid-template-columns: 1fr; }
  .archive-record-hero, .person-record-hero { grid-template-columns: 4rem 1fr; }
  .instructor-biography__layout { grid-template-columns: 1fr; }
  .instructor-photo--secondary { width: min(100%, 32rem); margin-top: 1.5rem; }
  .image-permission-notice { min-height: 15rem; }
  .archive-related-people, .evidence-grid > .text-link { grid-column: auto; margin-top: 0; }
  .archive-grid { grid-template-columns: 1fr; }
  .archive-card { padding: 1rem 1rem 2rem; }
  .archive-card--published { grid-template-columns: 1fr; gap: 1.5rem; }
  .archive-card h3 { min-height: auto; }
  .archive-source-image__grid { gap: 2rem; }
  .research-source-list { grid-template-columns: 1fr; }
  .history-research__heading { grid-template-columns: 4rem 1fr; }
  .history-chapters__heading, .history-chapter-hero, .chapter-section, .chapter-sources header { grid-template-columns: 4rem 1fr; }
  .history-chapter-hero { display: block; }
  .history-chapter-hero .eyebrow { margin-bottom: 1.5rem; padding-top: 0; }
  .history-chapter-hero h1 { font-size: clamp(2.25rem, 6vw, 2.75rem); }
  .chapter-source-image figcaption { display: block; }
  .chapter-source-image figcaption small { display: block; max-width: none; margin-top: .65rem; text-align: left; }
  .chapter-document-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chapter-source-groups { grid-template-columns: 1fr; }
  .chapter-source-groups section, .chapter-source-groups section + section { padding: 2rem 0; border-bottom: 1px solid #5c5e58; border-left: 0; }
  .chapter-source-groups section:last-child { border-bottom: 0; }
  .history-research__list { grid-template-columns: 1fr; }
  .history-research__item, .history-research__item + .history-research__item { padding: 1.75rem 0 2rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .history-research__item p { min-height: auto; }
  .research-source__type, .research-source h3, .research-source > h4 { min-height: auto; }
  .technique-sequence { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .footer-meta { display: block; grid-column: auto; }
  .footer-meta p + p { margin-top: .75rem; }
}

@media (max-width: 520px) {
  .identity__name { font-size: 1.05rem; }
  .language-switcher a { font-size: .62rem; }
  .nav-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .site-navigation ul { grid-template-columns: 1fr; }
  .hero__title-block { padding-top: 3.5rem; }
  .principles ul { grid-template-columns: 1fr; }
  .principles a { display: grid; grid-template-columns: 5rem 1fr; min-height: 0; padding: 1rem 2rem 1rem 0; border-bottom: 1px solid var(--line); }
  .principle__term { margin-bottom: 0; }
  .principle__arrow { top: 1rem; right: .25rem; }
  .history-research__heading { display: block; }
  .kata-gallery__heading { display: block; }
  .kata-gallery__heading .eyebrow { margin-bottom: 1.5rem; padding-top: 0; }
  .kata-sequence { grid-template-columns: 1fr; }
  .kata-gallery__list { grid-template-columns: 1fr; gap: 3rem; }
  .history-research__heading .eyebrow { padding-top: 0; }
  .history-chapters__heading, .history-chapter-hero, .chapter-section, .chapter-sources header { display: block; }
  .history-chapters__heading .eyebrow, .history-chapter-hero .eyebrow, .chapter-section__marker, .chapter-sources header .eyebrow { margin-bottom: 1.5rem; padding-top: 0; }
  .history-chapter-entry { grid-template-columns: 2.5rem 1fr auto; gap: 1rem; }
  .chapter-contents ol, .empi-sequence { grid-template-columns: 1fr; }
  .chapter-chronology, .chapter-document-sequence, .evidence-display { grid-template-columns: 1fr; }
  .chapter-name-forms div { grid-template-columns: 1fr; gap: .4rem; }
  .chapter-pending-sources li { grid-template-columns: 1fr; gap: .35rem; }
  .evidence-display div[data-evidence-layer="source"] { grid-column: auto; }
  .chapter-document-list div, .chapter-document-list dt { grid-template-columns: 1fr; gap: .25rem; }
  .chapter-document-list dt span { margin-bottom: .25rem; }
  .empi-sequence li:nth-child(odd) { margin-right: 0; }
  .chapter-later-lineage { grid-template-columns: 1fr; }
  .chapter-later-lineage li { padding: .7rem 1.75rem .7rem 0; border-bottom: 1px solid var(--line); }
  .chapter-later-lineage li:not(:last-child)::after { right: .35rem; bottom: -.85rem; z-index: 1; content: "↓"; }
  .page-hero, .editorial-section { display: block; }
  .archive-record-hero, .person-record-hero { display: block; }
  .archive-record-hero .eyebrow, .person-record-hero .eyebrow { margin-bottom: 1.5rem; }
  .instructor-hero > :not(.eyebrow) { grid-column: auto; }
  .page-hero .eyebrow, .editorial-section__number { margin-bottom: 1.5rem; }
  .page-hero h1 { font-size: clamp(2.5rem, 15vw, 4rem); }
  .lineage-panel__heading, .catalogue-heading { display: block; }
  .lineage-panel__heading > p, .catalogue-heading > p { margin-top: 1rem; }
  .collection-empty, .contact-panel { padding: 2rem 1.5rem; }
  .documentary-figure figcaption { display: block; }
  .documentary-figure figcaption small { display: block; margin-top: .35rem; }
  .archive-composition__list div { grid-template-columns: 1fr; gap: .35rem; }
  .archive-related-people ul, .lineage-pagination > div { grid-template-columns: 1fr; }
  .lineage-pagination span + span { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .compact-lineage-sequence { grid-template-columns: 1fr; }
  .compact-lineage-sequence li { padding: .55rem 0; border-bottom: 1px solid #5c5e58; }
  .compact-lineage-sequence li:not(:last-child)::after { right: .25rem; bottom: -.8rem; z-index: 1; content: "↓"; }
  .research-sources__heading { display: block; }
  .research-sources__heading .eyebrow { margin-bottom: 1.5rem; }
  .pending-sources li { grid-template-columns: 1fr; gap: .35rem; }
  .chapter-research-management li { grid-template-columns: 1fr; gap: .35rem; }
  .instructor-chronology div { grid-template-columns: 1fr; gap: .35rem; }
}

@media (max-width: 380px) {
  :root { --side: 1rem; }
  .identity__name { font-size: .92rem; letter-spacing: .08em; }
  .font-size-control button { width: 2rem; }
  .site-header__controls { gap: .35rem; }
  .reading-preferences { gap: .35rem; }
  .language-switcher { padding-left: .4rem; }
  .language-switcher a { font-size: .56rem; letter-spacing: .08em; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .site-header__controls, .skip-link { display: none; }
  body { color: #000; background: #fff; font-size: 10pt; }
  .site-header, .site-footer, .lineage-panel, .archive-feature { color: #000; background: #fff; }
  .section-pad, .lineage-panel { padding-block: 2rem; }
  a { text-decoration: none; }
}

/* Standalone research columns share the person-article reading/timeline styles. */
.article-subtitle { font-family: var(--serif); }
.article-contents { margin-bottom: clamp(3.5rem, 7vw, 6rem); padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.article-contents ol { padding-left: 1.5rem; }
.article-contents li + li { margin-top: .65rem; }
.article-related { padding-block: 2.5rem; }
.article-related h2 { font-size: 1.25rem; }
.research-column .references { margin-top: 2.5rem; }
.research-column :is(h2, figure, li)[id] { scroll-margin-top: 7rem; }
.research-column { overflow-wrap: anywhere; }
.research-column .person-record-hero h1 { overflow-wrap: normal; line-break: strict; }
.research-column .person-record-hero > :not(.eyebrow) { grid-column: 2; }
.research-column .person-record-hero .eyebrow { grid-row: 1 / span 4; }
.research-column .person-record-hero > p { max-width: var(--reading); color: var(--ink-soft); }
.research-source-image { max-width: var(--reading); }
.research-source-image > a { display: block; }
.research-source-image img { width: 100%; height: auto; }
.research-source-image figcaption { align-items: start; }

/* Hikita Bungoro person study */
.hikita-hero h1 { margin-bottom: .8rem; }
.hikita-hero .article-subtitle { margin: 0 0 2rem; color: var(--ink); font-size: clamp(1.05rem, 2vw, 1.35rem); }
.hikita-hero .article-information { margin-top: 2rem; }
.hikita-opening { border-block: 1px solid var(--line); background: var(--paper-light); }
.hikita-reading-width { max-width: 58rem; }
.hikita-opening > div > h2 { margin: 0 0 2rem; font-size: clamp(1.8rem, 3.4vw, 3.2rem); }
.hikita-opening > div > p { max-width: var(--reading); color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 2.05; }
.hikita-evidence-key { padding: clamp(1.5rem, 4vw, 2.5rem); margin: clamp(3rem, 6vw, 5rem) 0; border: 1px solid var(--line); background: var(--paper); }
.hikita-evidence-key h2 { margin: 0 0 1.5rem; font-size: 1.2rem; }
.hikita-evidence-key dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line-dark); }
.hikita-evidence-key dl div { padding: 1rem 1rem 1rem 0; border-bottom: 1px solid var(--line); }
.hikita-evidence-key dl div:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--line); }
.hikita-evidence-key dt { font-family: var(--serif); }
.hikita-evidence-key dt span { display: inline-block; width: 2rem; color: var(--accent); font-family: Georgia, serif; font-size: .72rem; }
.hikita-evidence-key dd { margin: .4rem 0 0 2rem; color: var(--ink-soft); font-size: .75rem; }
.hikita-contents { margin-bottom: 0; }
.hikita-contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 2rem; padding: 0; margin: 0; list-style: none; }
.hikita-contents li + li { margin-top: 0; }
.hikita-contents a { display: grid; grid-template-columns: 2rem 1fr; gap: .5rem; text-decoration: none; }
.hikita-contents a span { color: var(--accent); font-family: Georgia, serif; font-size: .72rem; }
.hikita-article-body { padding-bottom: var(--section); }
.hikita-section { display: grid; grid-template-columns: minmax(4rem, .18fr) minmax(0, 1fr); padding: clamp(4rem, 8vw, 7rem) 0; border-bottom: 1px solid var(--line); }
.hikita-section__heading { display: contents; }
.hikita-section__heading > span { grid-column: 1; padding-top: .65rem; color: var(--accent); font-family: Georgia, serif; font-size: .72rem; }
.hikita-section__heading > div { grid-column: 2; }
.hikita-section__heading h2 { margin: 0 0 .75rem; font-size: clamp(1.8rem, 3.6vw, 3.25rem); }
.hikita-section__heading > div > p:last-child { margin: 0 0 2.5rem; color: var(--ink-soft); font-family: var(--serif); font-size: 1rem; }
.hikita-evidence-label { margin: 0 0 .75rem !important; color: var(--accent) !important; font-family: var(--sans) !important; font-size: .67rem !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.hikita-section__body { grid-column: 2; min-width: 0; }
.hikita-section__body > p { max-width: var(--reading); color: var(--ink-soft); }
.hikita-subsections { display: grid; gap: 1px; max-width: 58rem; margin-top: 3rem; border: 1px solid var(--line); background: var(--line); }
.hikita-subsection { padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--paper-light); }
.hikita-subsection h3 { margin: 0 0 1.25rem; font-size: clamp(1.25rem, 2.4vw, 1.8rem); }
.hikita-subsection > p:not(.hikita-evidence-label) { max-width: var(--reading); color: var(--ink-soft); }
.hikita-source-links { display: flex; flex-wrap: wrap; gap: .35rem .55rem; max-width: 58rem !important; padding-top: 1.25rem; margin-top: 2.5rem; border-top: 1px solid var(--line); font-size: .72rem; }
.hikita-source-links > span:first-child { width: 100%; color: var(--ink); font-weight: 600; }
.hikita-source-links > span[aria-hidden] { color: var(--line-dark); }
.hikita-table-wrap { max-width: 72rem; margin-top: 3rem; overflow-x: auto; }
.hikita-table { width: 100%; min-width: 42rem; border-collapse: collapse; font-size: .76rem; }
.hikita-table caption { margin-bottom: 1rem; color: var(--ink-soft); text-align: left; }
.hikita-table th, .hikita-table td { padding: .9rem .75rem; border-block: 1px solid var(--line); text-align: left; vertical-align: top; }
.hikita-table thead { background: var(--paper-deep); }
.hikita-table tbody th { color: var(--ink); font-family: var(--serif); font-weight: 500; }
.hikita-table td { color: var(--ink-soft); }
.hikita-name-table th:first-child { width: 24%; }
.hikita-chronology-table { min-width: 64rem; }
.hikita-chronology-table th:first-child { width: 14%; }
.hikita-network-table { min-width: 58rem; }
.hikita-relationship, .hikita-sequence, .hikita-split { max-width: 48rem; padding: clamp(1.5rem, 4vw, 2.5rem); margin: 2rem 0 0; border: 1px solid var(--line); background: var(--paper); }
.hikita-relationship__nodes { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 1rem; align-items: center; text-align: center; }
.hikita-relationship__nodes > div { padding: 1rem; border-block: 1px solid var(--line-dark); }
.hikita-relationship__nodes span, .hikita-relationship__nodes small { display: block; }
.hikita-relationship__nodes span { font-family: var(--serif); }
.hikita-relationship__nodes small { margin-top: .45rem; color: var(--ink-soft); font-size: .65rem; }
.hikita-relationship figcaption, .hikita-sequence figcaption, .hikita-split figcaption { margin-top: 1.25rem; color: var(--ink-soft); font-size: .7rem; }
.hikita-sequence ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; }
.hikita-sequence li { position: relative; padding: .85rem 1.5rem .85rem 0; border-block: 1px solid var(--line-dark); font-family: var(--serif); }
.hikita-sequence li:not(:last-child)::after { position: absolute; top: .85rem; right: .55rem; content: "→"; color: var(--accent); font-family: var(--sans); }
.hikita-split__origin { width: max-content; padding: .75rem 1.25rem; margin: 0 auto 2.5rem; border-block: 1px solid var(--ink); font-family: var(--serif); }
.hikita-split__branches { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.hikita-split__branches::before { position: absolute; top: -2.5rem; right: 25%; left: 25%; height: 2.5rem; content: ""; border-top: 1px solid var(--line-dark); border-inline: 1px solid var(--line-dark); }
.hikita-split__branches > div { padding: 1.25rem; background: var(--paper-light); text-align: center; }
.hikita-split__branches span { display: block; }
.hikita-split__branches span:first-child { margin-bottom: .65rem; color: var(--accent); font-size: .7rem; letter-spacing: .08em; }
.hikita-split__branches span:nth-child(2) { font-family: var(--serif); font-size: 1.1rem; }
.hikita-split__branches span:last-child { margin-top: .45rem; color: var(--ink-soft); font-size: .72rem; }
.hikita-pending, .hikita-family-review { max-width: var(--reading); padding: 1.25rem 1.5rem; margin-top: 2rem; border-left: .2rem solid var(--accent); background: var(--paper-deep); }
.hikita-pending p, .hikita-family-review p { margin: 0 0 .4rem; color: var(--accent); font-size: .67rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.hikita-pending span, .hikita-family-review span { color: var(--ink-soft); font-size: .78rem; }
.hikita-epilogue { border-block: 1px solid var(--line); background: var(--paper-deep); }
.hikita-epilogue > div { max-width: 58rem; }
.hikita-epilogue h2 { margin: 0 0 2rem; font-size: clamp(1.8rem, 3.5vw, 3rem); }
.hikita-epilogue p:not(.eyebrow) { max-width: var(--reading); color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 2.05; }
.hikita-sources { color: var(--paper-light); background: #3c3e3a; }
.hikita-sources > div > header { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding-bottom: 2.5rem; border-bottom: 1px solid #6c6e68; }
.hikita-sources header .eyebrow { grid-row: 1 / span 2; padding-top: .65rem; color: #d7bcb4; }
.hikita-sources header h2 { margin: 0 0 1rem; font-size: clamp(1.8rem, 3.2vw, 3rem); }
.hikita-sources header > p:last-child { max-width: var(--reading); color: #bfc0ba; }
.hikita-source-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 3rem; background: #5c5e58; border: 1px solid #5c5e58; }
.hikita-source-card { min-width: 0; padding: clamp(1.5rem, 3vw, 2.25rem); background: #444641; }
.hikita-source-card > p:first-child { min-height: 2.8em; margin: 0 0 1rem; color: #d7bcb4; font-size: .66rem; font-weight: 600; letter-spacing: .08em; }
.hikita-source-card h3 { min-height: 3.4em; margin: 0 0 1rem; font-size: 1.15rem; overflow-wrap: anywhere; }
.hikita-source-card > p:not(:first-child) { color: #c4c5bf; font-size: .75rem; }
.hikita-source-card dl { margin: 0 0 1rem; border-top: 1px solid #5c5e58; }
.hikita-source-card dl div { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid #5c5e58; font-size: .72rem; }
.hikita-source-card dt { color: #adb0aa; }
.hikita-source-card dd { margin: 0; }
.hikita-source-card .text-link { color: var(--paper-light); border-color: #777973; }

html[data-font-size="large"] :is(.hikita-section__body > p, .hikita-subsection > p:not(.hikita-evidence-label), .hikita-epilogue p:not(.eyebrow)) { font-size: 1.038rem; }
html[data-font-size="large"] .hikita-table { font-size: .897rem; }

@media (max-width: 800px) {
  .hikita-evidence-key dl, .hikita-contents ol, .hikita-source-list { grid-template-columns: 1fr; }
  .hikita-evidence-key dl div:nth-child(even) { padding-left: 0; border-left: 0; }
  .hikita-section { grid-template-columns: 3rem minmax(0, 1fr); }
  .hikita-sources > div > header { grid-template-columns: 4rem 1fr; }
  .hikita-source-card > p:first-child, .hikita-source-card h3 { min-height: auto; }
}

@media (max-width: 600px) {
  .hikita-section { display: block; }
  .hikita-section__heading { display: grid; grid-template-columns: 2.25rem 1fr; }
  .hikita-section__heading > span { grid-column: 1; }
  .hikita-section__heading > div { grid-column: 2; }
  .hikita-section__body { margin-top: 1.5rem; }
  .hikita-table-wrap { overflow: visible; }
  .hikita-table, .hikita-table tbody, .hikita-table tr, .hikita-table th, .hikita-table td { display: block; min-width: 0; }
  .hikita-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
  .hikita-table tbody tr { margin-bottom: 1.25rem; border: 1px solid var(--line); }
  .hikita-table tbody th, .hikita-table tbody td { padding: .8rem 1rem; border: 0; }
  .hikita-table tbody th { background: var(--paper-deep); }
  .hikita-table tbody td + td { border-top: 1px solid var(--line); }
  .hikita-table [data-label]::before { display: block; margin-bottom: .3rem; content: attr(data-label); color: var(--accent); font-family: var(--sans); font-size: .62rem; font-weight: 600; letter-spacing: .08em; }
  .hikita-relationship__nodes { grid-template-columns: 1fr; }
  .hikita-relationship__nodes > span { transform: rotate(90deg); }
  .hikita-sequence ol { grid-template-columns: 1fr; }
  .hikita-sequence li { border-bottom: 0; }
  .hikita-sequence li:last-child { border-bottom: 1px solid var(--line-dark); }
  .hikita-sequence li:not(:last-child)::after { top: auto; right: .25rem; bottom: -.65rem; content: "↓"; }
  .hikita-split__branches { grid-template-columns: 1fr; }
  .hikita-split__branches::before { right: 50%; left: auto; border-top: 0; border-right: 1px solid var(--line-dark); border-left: 0; }
  .hikita-sources > div > header { display: block; }
  .hikita-sources header .eyebrow { padding-top: 0; }
}

/* Yamamoto Atsushi: a documentary person record with explicit evidence layers. */
.yamamoto-hero {
  display: grid;
  grid-template-columns: minmax(9rem, .35fr) 1fr;
  padding: clamp(5rem, 10vw, 8rem) 0 clamp(3rem, 6vw, 5rem);
}
.yamamoto-hero .eyebrow { grid-row: 1 / span 4; padding-top: .8rem; }
.yamamoto-hero > :not(.eyebrow) { grid-column: 2; }
.yamamoto-hero h1 { margin: 0; font-size: clamp(3rem, 7vw, 6.5rem); }
.yamamoto-hero__subtitle { margin: .5rem 0 2rem; color: var(--accent); font-family: var(--serif); font-size: clamp(1.25rem, 2.4vw, 2rem); letter-spacing: .08em; }
.yamamoto-hero__lead { max-width: var(--reading); margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 2.05; }
.yamamoto-hero-image { margin: 0 0 clamp(4rem, 8vw, 7rem); }
.yamamoto-hero-image img { width: 100%; height: auto; }
.yamamoto-hero-image figcaption { padding: .8rem 0; color: var(--ink-soft); border-bottom: 1px solid var(--line); font-size: .75rem; }
.yamamoto-scope { border-block: 1px solid var(--line); background: var(--paper-deep); }
.yamamoto-scope .page-shell { display: grid; grid-template-columns: minmax(14rem, .7fr) 1.3fr; gap: clamp(3rem, 8vw, 8rem); }
.yamamoto-scope h2 { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3rem); }
.yamamoto-scope dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; border: 1px solid var(--line); background: var(--line); }
.yamamoto-scope dl div { padding: 1.2rem; background: var(--paper); }
.yamamoto-scope dt { margin-bottom: .5rem; color: var(--accent); font-family: var(--serif); }
.yamamoto-scope dd { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.yamamoto-body .person-article__inner { max-width: 58rem; }
.yamamoto-section { scroll-margin-top: 7rem; }
.yamamoto-section .eyebrow { margin-bottom: 1rem; }
.yamamoto-documentary-photo { max-width: 50rem; margin: clamp(2rem, 5vw, 3.5rem) 0; }
.yamamoto-documentary-photo img { display: block; width: 100%; height: auto; }
.yamamoto-documentary-photo figcaption { max-width: var(--reading); padding: .8rem 0; color: var(--ink-soft); border-bottom: 1px solid var(--line); font-size: .75rem; line-height: 1.7; }
.yamamoto-documentary-photo--compact { max-width: 36rem; }
.yamamoto-documentary-pair { margin: clamp(2rem, 5vw, 3.5rem) 0; }
.yamamoto-documentary-pair .yamamoto-documentary-photo { margin-block: 0; }
.yamamoto-documentary-pair .yamamoto-documentary-photo--primary { max-width: 50rem; }
.yamamoto-documentary-pair .yamamoto-documentary-photo--secondary { width: 82%; max-width: 38rem; margin: clamp(2rem, 5vw, 3.5rem) 0 0 auto; }
.yamamoto-quotation { padding: 1.5rem clamp(1.25rem, 4vw, 2.5rem); margin: 2rem 0; border-block: 1px solid var(--line-dark); }
.yamamoto-quotation blockquote { margin: 0; font-family: var(--serif); font-size: clamp(1.15rem, 2vw, 1.45rem); }
.yamamoto-quotation p { margin: 0; color: var(--ink); }
.yamamoto-interpretation { padding: 1.5rem clamp(1.25rem, 4vw, 2rem); margin-top: 2rem; border-left: .2rem solid var(--accent); background: var(--paper-deep); }
.yamamoto-interpretation p { color: var(--ink-soft); }
.yamamoto-interpretation p:last-child { margin-bottom: 0; }
.yamamoto-interpretation .yamamoto-interpretation__label { margin-bottom: .8rem; color: var(--accent); font-size: .7rem; font-weight: 600; letter-spacing: .1em; }
.yamamoto-source-links { display: flex; flex-wrap: wrap; gap: .35rem .75rem; padding-top: 1rem; margin-top: 2rem; border-top: 1px solid var(--line); font-size: .76rem; }
.yamamoto-source-links > span:first-child { color: var(--ink-soft); }
.training-note-group { padding: clamp(1.5rem, 4vw, 2.5rem); margin-top: 2rem; border: 1px solid var(--line); background: var(--paper); }
.training-note-group + .training-note-group { margin-top: 1.25rem; }
.training-note-group h3 { margin: 0 0 1.25rem; font-size: 1.25rem; }
.training-note-group dl { margin: 0; }
.training-note-group dl div { display: grid; grid-template-columns: minmax(8rem, .35fr) 1fr; gap: 1.5rem; padding: .85rem 0; border-top: 1px solid var(--line); }
.training-note-group dt { color: var(--accent); font-size: .8rem; }
.training-note-group dd { min-width: 0; margin: 0; font-family: var(--serif); }
.training-note-group q { quotes: "「" "」"; }
.yamamoto-references ol { padding: 0; margin: 2rem 0 0; border-top: 1px solid var(--line-dark); list-style: none; }
.yamamoto-references li { display: grid; grid-template-columns: minmax(10rem, .4fr) 1fr; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.yamamoto-references li > span { color: var(--ink-soft); font-size: .75rem; }
.yamamoto-references cite { font-style: normal; }
.history-people { background: var(--paper-deep); }
.history-people__heading { display: grid; grid-template-columns: minmax(9rem, .35fr) 1fr; padding-bottom: 2.5rem; }
.history-people__heading .eyebrow { padding-top: .65rem; }
.history-people__heading h2 { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3.1rem); }
.history-person-entry { display: grid; grid-template-columns: 1fr 1fr auto; gap: 1.5rem; padding: 1.5rem 0; border-block: 1px solid var(--ink); text-decoration: none; }
.history-person-entry > span:first-child { font-family: var(--serif); font-size: 1.3rem; }
.history-person-entry > span:nth-child(2) { align-self: center; color: var(--ink-soft); font-size: .82rem; }
.history-person-entry > span:last-child { align-self: center; font-size: 1.2rem; transition: transform .2s ease; }
.history-person-entry:hover > span:last-child { transform: translateX(.25rem); }
@media (max-width: 1024px) {
  .research-column .person-record-hero { display: block; }
  .research-column .person-record-hero .eyebrow { margin-bottom: 1.5rem; }
}

@media (max-width: 800px) {
  .yamamoto-hero { grid-template-columns: 4rem 1fr; }
  .yamamoto-scope .page-shell { grid-template-columns: 1fr; gap: 2.5rem; }
  .history-people__heading { grid-template-columns: 4rem 1fr; }
}

@media (max-width: 520px) {
  .yamamoto-hero, .history-people__heading { display: block; }
  .yamamoto-hero .eyebrow, .history-people__heading .eyebrow { margin-bottom: 1.5rem; padding-top: 0; }
  .yamamoto-hero h1 { font-size: clamp(2.8rem, 16vw, 4rem); }
  .yamamoto-scope dl { grid-template-columns: 1fr; }
  .training-note-group dl div, .yamamoto-references li, .history-person-entry { grid-template-columns: 1fr; gap: .35rem; }
  .history-person-entry > span:last-child { display: none; }
}
