.h7-chapter-hero {
  position: relative;
  min-height: 660px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--h7-dark-indigo);
}
.h7-chapter-hero img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
}
.h7-chapter-hero__scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(to right, rgba(22,34,58,.86) 0%, rgba(22,34,58,.45) 55%, rgba(22,34,58,.25) 100%),
    linear-gradient(to top,   rgba(22,34,58,.90) 0%, rgba(22,34,58,.40) 45%, rgba(22,34,58,.20) 100%);
}
.h7-chapter-hero__content {
  position: relative;
  width: 100%;
  max-width: calc(var(--h7-content-max) + var(--h7-gutter) * 2);
  margin-inline: auto;
  padding: var(--h7-space-10) var(--h7-gutter) var(--h7-space-8);
  display: flex;
  flex-direction: column;
  gap: var(--h7-space-5);
  color: var(--h7-natural-linen);
}
.h7-chapter-hero__content .h7-display-2 { color: var(--h7-natural-linen); max-width: 14ch; }
.h7-chapter-hero__content .h7-eyebrow {
  display: flex; align-items: center; gap: var(--h7-space-4);
  color: var(--h7-brass-light);
}
.h7-chapter-hero__lede {
  max-width: 48ch;
  font-size: var(--h7-size-body-lg);
  line-height: 1.55;
  color: var(--h7-natural-linen);
  opacity: .92;
}


.h7-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--h7-space-6);
  margin-top: var(--h7-space-5);
}
.h7-stats dt {
  font-family: var(--h7-font-display);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  color: var(--h7-natural-linen);
  line-height: 1.1;
}
.h7-stats dd {
  margin: var(--h7-space-2) 0 0;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: rgba(238, 229, 214, 0.62);
  line-height: 1.4;
}
@media (max-width: 900px) {
  .h7-chapter-hero { min-height: 560px; }
  .h7-stats { grid-template-columns: repeat(2, 1fr); }
}


.h7-contents {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--h7-space-5);
}
.h7-contents a {
  display: flex;
  flex-direction: column;
  gap: var(--h7-space-2);
  padding-top: var(--h7-space-4);
  border-top: 1px solid var(--h7-border-default);
  color: var(--h7-text-primary);
}
.h7-contents a:hover { border-top-color: var(--h7-text-accent); }
.h7-contents__n {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: var(--h7-text-muted);
}
.h7-contents__title { font-family: var(--h7-font-display); font-size: var(--h7-size-title); }
.h7-contents__summary { font-size: var(--h7-size-caption); color: var(--h7-text-muted); }

@media (max-width: 1024px) { .h7-contents { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .h7-contents { grid-template-columns: 1fr; } }


.h7-gallery {
  padding-block: var(--h7-space-11);
  scroll-margin-top: calc(var(--h7-header-h) + var(--h7-space-5));
}
.h7-gallery__grid {
  display: grid;
  grid-template-columns: 130px minmax(0, 760px);
  gap: var(--h7-space-6);
  justify-content: start;
}
.h7-gallery__n {
  font-family: var(--h7-font-display);
  font-size: clamp(2.5rem, 4vw, 4rem);
  line-height: 1;
  color: var(--h7-text-primary);
  opacity: 0.22;
}
.h7-gallery__body { display: flex; flex-direction: column; gap: var(--h7-space-5); }


.h7-gallery__tag {
  align-self: flex-start;
  padding: var(--h7-space-1) var(--h7-space-3);
  border: 1px solid var(--h7-border-default);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: var(--h7-text-accent);
}
.h7-gallery__lede {
  font-size: var(--h7-size-body-lg);
  line-height: 1.55;
  color: var(--h7-text-secondary);
  max-width: 42ch;
}

@media (max-width: 900px) {
  .h7-gallery { padding-block: var(--h7-space-9); }
  .h7-gallery__grid { grid-template-columns: 1fr; gap: var(--h7-space-3); }
}


.h7-prose { display: flex; flex-direction: column; gap: var(--h7-space-5); }
.h7-prose p { color: var(--h7-text-secondary); line-height: var(--h7-leading-body); }
.h7-prose i { font-style: italic; color: var(--h7-text-primary); }


.h7-prose--dropcap > p:first-of-type::first-letter {
  float: left;
  font-family: var(--h7-font-display);
  font-size: 3.4em;
  line-height: 0.82;
  padding: 0.08em var(--h7-space-3) 0 0;
  color: var(--h7-text-accent);
}

.h7-subhead {
  font-family: var(--h7-font-display);
  font-size: var(--h7-size-headline);
  font-weight: var(--h7-weight-book);
  line-height: var(--h7-leading-tight);
  margin-top: var(--h7-space-5);
}


.h7-quote-block {
  display: flex;
  flex-direction: column;
  gap: var(--h7-space-4);
  align-items: center;
  text-align: center;
  padding-block: var(--h7-space-8);
  border-top: 1px solid var(--h7-border-default);
  border-bottom: 1px solid var(--h7-border-default);
}
.h7-quote-block__text {
  font-family: var(--h7-font-display);
  font-size: var(--h7-size-headline);
  line-height: var(--h7-leading-tight);
  color: var(--h7-text-primary);
  max-width: 22ch;
}
.h7-quote-block cite {
  font-style: normal;
  font-size: var(--h7-size-caption);
  color: var(--h7-text-muted);
  max-width: 52ch;
}


.h7-aside {
  display: flex;
  flex-direction: column;
  gap: var(--h7-space-4);
  padding: var(--h7-space-6);
  background: var(--h7-card-bg);
  color: var(--h7-natural-linen);
  border: 1px solid rgba(238, 229, 214, 0.45);
  border-left: 2px solid var(--h7-brass-light);
  border-radius: var(--h7-radius-card);
  box-shadow: var(--h7-shadow-card);
}
.h7-aside p { color: var(--h7-text-secondary); font-size: var(--h7-size-body-sm); }
.h7-aside i { font-style: italic; color: var(--h7-text-primary); }
.h7-aside__headline {
  font-family: var(--h7-font-display);
  font-size: var(--h7-size-title);
  color: var(--h7-text-primary) !important;
}
.h7-aside__subnote {
  font-size: 0.6875rem !important;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: var(--h7-text-muted) !important;
  line-height: 1.6;
}

.h7-glossary { display: flex; flex-direction: column; gap: var(--h7-space-5); }
.h7-glossary dt {
  font-family: var(--h7-font-display);
  font-size: var(--h7-size-title);
  color: var(--h7-text-primary);
}
.h7-glossary dd { margin: var(--h7-space-1) 0 0; font-size: var(--h7-size-body-sm); color: var(--h7-text-secondary); }
.h7-glossary__gloss {
  font-size: 0.6875rem !important;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: var(--h7-text-muted) !important;
}


.h7-process { display: flex; flex-direction: column; }
.h7-process li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: var(--h7-space-4);
  padding-block: var(--h7-space-5);
  border-top: 1px solid var(--h7-border-default);
}
.h7-process li:last-child { border-bottom: 1px solid var(--h7-border-default); }
.h7-process__n { font-size: 0.75rem; color: var(--h7-text-accent); padding-top: 0.5em; }
.h7-process__title {
  font-family: var(--h7-font-display);
  font-size: var(--h7-size-title);
  font-weight: var(--h7-weight-book);
  margin-bottom: var(--h7-space-2);
}
.h7-process p { font-size: var(--h7-size-body-sm); color: var(--h7-text-secondary); }


.h7-plates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--h7-space-5);
}

.h7-plate {
  display: flex;
  flex-direction: column;
  background: var(--h7-card-bg);
  color: var(--h7-natural-linen);
  border: 1px solid rgba(238, 229, 214, 0.45);
  border-radius: var(--h7-radius-card);
  box-shadow: var(--h7-shadow-card);
  overflow: hidden;
}
.h7-plate img { border-bottom: 1px solid rgba(238, 229, 214, 0.30); }
.h7-plate img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.h7-plate figcaption {
  display: flex;
  flex-direction: column;
  gap: var(--h7-space-2);
  padding: var(--h7-space-5);
}
.h7-plate__n {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: var(--h7-text-accent);
}
.h7-plate__title { font-family: var(--h7-font-display); font-size: var(--h7-size-title); }
.h7-plate__caption { font-size: var(--h7-size-caption); color: var(--h7-text-secondary); line-height: 1.5; }

@media (max-width: 700px) { .h7-plates { grid-template-columns: 1fr; } }


.h7-plate-full { display: flex; flex-direction: column; gap: var(--h7-space-4); }
.h7-plate-full img { width: 100%; }
.h7-plate-full figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--h7-space-6);
}
.h7-plate-full__caption { font-size: var(--h7-size-caption); color: var(--h7-text-secondary); line-height: 1.5; }
.h7-plate-full__credit {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: var(--h7-text-accent);
  opacity: .75;
  line-height: 1.6;
}
.h7-figure__credit {
  display: block;
  font-size: 0.6875rem;
  color: var(--h7-text-muted);
  line-height: 1.5;
  padding-top: var(--h7-space-2);
  border-top: 1px solid var(--h7-border-default);
}
@media (max-width: 700px) { .h7-plate-full figcaption { grid-template-columns: 1fr; gap: var(--h7-space-3); } }

.h7-well {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 3 / 2;
  padding: var(--h7-space-6);
  background: var(--h7-surface-inset);
  border: 1px dashed var(--h7-border-strong);
  color: var(--h7-text-muted);
  font-size: var(--h7-size-caption);
  text-align: center;
  line-height: 1.6;
}


.h7-trades {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--h7-space-6);
  margin-block: var(--h7-space-7);
  text-align: center;
}
.h7-trades li { display: flex; flex-direction: column; align-items: center; gap: var(--h7-space-3); }
.h7-trades .h7-icon { color: var(--h7-icon-muted); }
.h7-trades span { font-size: var(--h7-size-caption); color: var(--h7-text-secondary); }
@media (max-width: 640px) { .h7-trades { grid-template-columns: repeat(2, 1fr); } }

.h7-archival-note {
  display: flex;
  gap: var(--h7-space-4);
  padding: var(--h7-space-6);
  background: var(--h7-card-bg);
  color: var(--h7-natural-linen);
  border: 1px solid rgba(238, 229, 214, 0.45);
  border-radius: var(--h7-radius-card);
  box-shadow: var(--h7-shadow-card);
}
.h7-archival-note .h7-icon { color: var(--h7-icon-muted); flex-shrink: 0; margin-top: 3px; }
.h7-archival-note p { font-size: var(--h7-size-caption); color: var(--h7-text-secondary); line-height: 1.6; }
.h7-archival-note strong { color: var(--h7-text-primary); font-weight: var(--h7-weight-medium); }

.h7-sources { counter-reset: src; display: flex; flex-direction: column; gap: var(--h7-space-3); }
.h7-sources li {
  counter-increment: src;
  display: grid;
  grid-template-columns: 2.5ch 1fr;
  gap: var(--h7-space-3);
  font-size: var(--h7-size-caption);
  color: var(--h7-text-muted);
  line-height: 1.55;
  max-width: 76ch;
}
.h7-sources li::before { content: counter(src) "."; }
.h7-sources i { font-style: italic; }

.h7-pager {
  display: flex;
  justify-content: space-between;
  gap: var(--h7-space-5);
  margin-top: var(--h7-space-9);
  padding-top: var(--h7-space-5);
  border-top: 1px solid var(--h7-border-default);
}
.h7-pager__side { display: flex; flex-direction: column; gap: var(--h7-space-2); }
.h7-pager__side:last-child { text-align: right; align-items: flex-end; }
.h7-pager__label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: var(--h7-text-muted);
}
.h7-pager a { font-size: var(--h7-size-body-sm); color: var(--h7-text-accent); }


.h7-premise {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--h7-space-6);
  align-items: center;
}
.h7-premise p { color: var(--h7-text-secondary); }

.h7-chapters { display: flex; flex-direction: column; gap: var(--h7-space-11); }

.h7-chapter-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--h7-space-9);
  align-items: center;
}
.h7-chapter-row:nth-child(even) .h7-chapter-row__media { order: 2; }

.h7-chapter-row__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--h7-radius-card);
  background: var(--h7-surface-subtle);
}
.h7-chapter-row__media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform var(--h7-duration-reveal) var(--h7-ease-linen);
}
.h7-chapter-row:hover .h7-chapter-row__media img { transform: scale(1.03); }
.h7-chapter-row__tag {
  position: absolute;
  top: var(--h7-space-4); left: var(--h7-space-4);
  padding: var(--h7-space-1) var(--h7-space-3);
  background: var(--h7-dark-indigo);
  color: var(--h7-natural-linen);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
}

.h7-chapter-row__body { display: flex; flex-direction: column; gap: var(--h7-space-4); }


.h7-chapter-row__n {
  font-family: var(--h7-font-display);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 1;
  color: var(--h7-text-accent);
  opacity: 0.35;
}
.h7-chapter-row__body > p { color: var(--h7-text-secondary); max-width: 46ch; }
.h7-chapter-row__movements { display: flex; flex-direction: column; }
.h7-chapter-row__movements li {
  display: flex;
  gap: var(--h7-space-4);
  padding-block: var(--h7-space-3);
  border-bottom: 1px solid var(--h7-border-default);
  font-size: var(--h7-size-caption);
  color: var(--h7-text-secondary);
}
.h7-chapter-row__movements b { color: var(--h7-text-accent); font-weight: var(--h7-weight-medium); min-width: 2ch; }

@media (max-width: 900px) {
  .h7-chapters { gap: var(--h7-space-10); }
  .h7-chapter-row { grid-template-columns: 1fr; gap: var(--h7-space-5); }
  .h7-chapter-row:nth-child(even) .h7-chapter-row__media { order: 0; }
}

.h7-craft-strip {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: var(--h7-space-6);
  text-align: center;
}
.h7-craft-strip li { display: flex; flex-direction: column; align-items: center; gap: var(--h7-space-3); }
.h7-craft-strip .h7-icon { color: var(--h7-icon-muted); }
.h7-craft-strip span { font-size: 0.8125rem; color: var(--h7-text-muted); }
@media (max-width: 900px) { .h7-craft-strip { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 480px) { .h7-craft-strip { grid-template-columns: repeat(2, 1fr); } }

.h7-divider--ornament {
  display: flex;
  align-items: center;
  gap: var(--h7-space-5);
  width: 100%;
}
.h7-divider--ornament::before,
.h7-divider--ornament::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--h7-border-default);
}
.h7-divider--ornament .h7-icon { color: var(--h7-icon-muted); }


.h7-chapter-split {
  display: grid;
  grid-template-columns: 200px minmax(0, 760px);
  gap: var(--h7-space-10);
  align-items: start;
}

.h7-rail {
  position: sticky;
  top: calc(var(--h7-header-h) + var(--h7-space-6));
  display: flex;
  flex-direction: column;
  gap: var(--h7-space-4);
}
.h7-rail ol { display: flex; flex-direction: column; }
.h7-rail li {
  display: flex;
  gap: var(--h7-space-3);
  padding-block: var(--h7-space-3);
  border-bottom: 1px solid var(--h7-border-default);
  font-size: var(--h7-size-caption);
  color: var(--h7-text-secondary);
}
.h7-rail li b { color: var(--h7-text-accent); font-weight: var(--h7-weight-medium); min-width: 2ch; }
.h7-rail li[data-owned="false"] { opacity: 0.32; }
.h7-rail__note { font-size: 0.75rem; color: var(--h7-text-muted); line-height: 1.5; }

.h7-chapter-split__body { display: flex; flex-direction: column; gap: var(--h7-space-10); }

.h7-band { display: flex; flex-direction: column; gap: var(--h7-space-4); }
.h7-band__label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: var(--h7-tracking-caps);
  color: var(--h7-text-muted);
}

.h7-pullquote {
  margin-block: var(--h7-space-5);
  padding-left: var(--h7-space-5);
  border-left: 2px solid var(--h7-earthen-clay);
}
[data-theme="dark"] .h7-pullquote { border-left-color: var(--h7-brass-light); }
.h7-pullquote p {
  font-family: var(--h7-font-display);
  font-size: var(--h7-size-headline);
  line-height: var(--h7-leading-tight);
  color: var(--h7-text-primary);
}
.h7-pullquote cite {
  display: block;
  margin-top: var(--h7-space-3);
  font-style: normal;
  font-size: var(--h7-size-caption);
  color: var(--h7-text-muted);
}

.h7-figure-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--h7-space-5); }
@media (max-width: 640px) { .h7-figure-pair { grid-template-columns: 1fr; } }

@media (max-width: 900px) {
  .h7-chapter-split { grid-template-columns: 1fr; gap: var(--h7-space-6); }


  .h7-rail {
    min-width: 0;
    position: sticky;
    top: var(--h7-header-h);
    background: var(--h7-surface-page);
    padding-block: var(--h7-space-3);
    border-bottom: 1px solid var(--h7-border-default);
    z-index: 60;
  }
  .h7-rail ol { flex-direction: row; overflow-x: auto; gap: var(--h7-space-4); scrollbar-width: none; }
  .h7-rail ol::-webkit-scrollbar { display: none; }
  .h7-rail li { border-bottom: none; white-space: nowrap; flex-shrink: 0; }
  .h7-rail__note { display: none; }
}


.h7-timeline { display: flex; flex-direction: column; }
.h7-timeline div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: var(--h7-space-5);
  padding-block: var(--h7-space-4);
  border-bottom: 1px solid var(--h7-border-default);
}
.h7-timeline div:first-child { border-top: 1px solid var(--h7-border-default); }
.h7-timeline dt {
  font-family: var(--h7-font-display);
  font-size: var(--h7-size-title);
  color: var(--h7-text-accent);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.h7-timeline dd {
  margin: 0;
  font-size: var(--h7-size-caption);
  color: var(--h7-text-secondary);
  line-height: 1.55;
}
@media (max-width: 560px) {
  .h7-timeline div { grid-template-columns: 1fr; gap: var(--h7-space-2); }
}


@media (max-width: 640px) {
  .h7-chapter-hero { min-height: 460px; }
  .h7-chapter-hero__content { padding-block: var(--h7-space-8) var(--h7-space-6); }
  .h7-chapter-hero__lede { font-size: var(--h7-size-body-sm); }


  .h7-stats { grid-template-columns: 1fr 1fr; gap: var(--h7-space-5); }
  .h7-stats dt { font-size: 1.375rem; }
  .h7-stats dd { font-size: 0.6875rem; }


  .h7-gallery__grid { grid-template-columns: 1fr; gap: var(--h7-space-2); }
  .h7-gallery__n { font-size: 2.25rem; opacity: 0.28; }
  .h7-gallery__lede { font-size: var(--h7-size-body-sm); }

  .h7-plates { grid-template-columns: 1fr; }
  .h7-plate-full figcaption { grid-template-columns: 1fr; gap: var(--h7-space-3); }

  .h7-quote-block { padding-block: var(--h7-space-6); }
  .h7-quote-block__text { font-size: var(--h7-size-title); max-width: none; }

  .h7-aside { padding: var(--h7-space-5); }

  .h7-process li { grid-template-columns: 40px 1fr; gap: var(--h7-space-3); }

  .h7-sources li { grid-template-columns: 2.5ch 1fr; }


  .h7-pager { flex-direction: column; gap: var(--h7-space-6); }
  .h7-pager__side:last-child { text-align: left; align-items: flex-start; }

  .h7-contents a { padding-top: var(--h7-space-3); }
}
