/* Edition 007 — ivory tailoring, ink-black dossiers, restrained oxblood. */
:root { --dossier-red: #8c292b; }
::selection { background: #8c292b; color: #fffaf0; }
:focus-visible { outline: 2px solid #a34442; outline-offset: 5px; }
html { scrollbar-color: #88867d #e8e8e5; }
.bar__mark { letter-spacing: -.03em; }
.bar__nav a[aria-current="page"] { text-decoration-color: var(--dossier-red); }
/* Preserve the full composition, including captions embedded in the videos. */
.zoom__frame img, .zoom__frame video,
.ctag__media video, .ilp__media video, .ilp__mobile-media video,
.interlude__media video, .sheet__media video, .sheet__media img { object-fit: contain; }
/* Three aligned columns with explicit gutters; frames never intersect. */
.zoom__frame { background: #000; }
.zoom__item:first-child { z-index: 2; }
.zoom__item:first-child .zoom__frame { width: 26vw; height: 22vh; background: #e8e8e5; }
.zoom__item:nth-child(2) .zoom__frame { width: 26vw; height: 22vh; top: -26vh; left: 0; }
.zoom__item:nth-child(3) .zoom__frame { width: 26vw; height: 48vh; top: -13vh; left: -29vw; }
.zoom__item:nth-child(4) .zoom__frame { width: 26vw; height: 22vh; top: 0; left: 29vw; }
.zoom__item:nth-child(5) .zoom__frame { width: 26vw; height: 22vh; top: 26vh; left: 0; }
.zoom__item:nth-child(6) .zoom__frame { width: 26vw; height: 22vh; top: 26vh; left: -29vw; }
.zoom__item:nth-child(7) .zoom__frame { width: 26vw; height: 22vh; top: 26vh; left: 29vw; }
/* Live typesetting: no enlarged JPEG, no blur, resolution independent. */
.sharp-label { width: 100%; height: 100%; display: grid; align-items: center; container-type: inline-size; color: #151413; background: #e8e8e5; }
.sharp-label__cloth { position: relative; background: #fafaf7; padding: 8cqw 5cqw 6cqw; box-shadow: 0 3cqw 6cqw -3cqw #99998b55; }
.sharp-label__cloth::before, .sharp-label__cloth::after { content: ''; position: absolute; top: 3cqw; bottom: 3cqw; width: 1cqw; border-block: 1px solid #77776c; }
.sharp-label__cloth::before { left: 2cqw; }.sharp-label__cloth::after { right: 2cqw; }
.sharp-label__numbers { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 3cqw 0; text-align: center; font-size: 3.6cqw; line-height: 1.6; }
.sharp-label__numbers .is-one { outline: 1px solid currentColor; border-radius: 50%; }
.sharp-label__cloth p { margin-top: 6cqw; border-top: 1px solid #b1b1a8; padding-top: 4cqw; font-size: 3.8cqw; white-space: nowrap; }
.ctag__media { background: #000; }
/* The Table: an ordered set of tactile files on a dark briefing desk. */
body[data-page="table"] { background: #101211; }
body[data-page="table"] .bar { background: #101211; color: #f2efe6; border-bottom: 1px solid #454640; }
body[data-page="table"] .bar a, body[data-page="table"] .bar .tool { color: inherit; }
.table { height: auto; min-height: 100svh; overflow: hidden; padding: 7.5rem 3vw 3rem; background: #101211; color: #f2efe6; }
.dossier-heading { position: relative; max-width: 1440px; margin: 0 auto 2.5rem; padding: 0 1rem 2rem; border-bottom: 1px solid #67695e; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.dossier-heading h1 { font-size: clamp(3rem,6vw,6rem); font-weight: 400; line-height: .95; letter-spacing: -.04em; }
.dossier-heading h1 span { display: block; margin-top: 1.5rem; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; }
.dossier-heading p { max-width: 32ch; font-size: .875rem; line-height: 1.7; color: #bdbeb3; margin-right: 8rem; }
.dossier-seal { position: absolute; right: 1rem; top: 0; width: 6rem; height: 6rem; border: 1px solid #7f8276; border-radius: 50%; display: grid; place-items: center; font-size: 1.7rem; letter-spacing: -.04em; }
.dossier-seal::after { content: ''; position: absolute; inset: -.45rem; border: 1px solid #45483f; border-radius: 50%; }
.table__mat { position: relative; inset: auto; max-width: 1440px; margin: 0 auto; background: #191d19; background-image: none; box-shadow: none; border: 1px solid #383d34; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 2.5rem; padding: 2rem; touch-action: pan-y; }
.table__ruler-x, .table__ruler-y, .table__word, .table__rule { display: none; }
.table__toolbar { position: relative; inset: auto; max-width: 1440px; margin: 0 auto 1.5rem; justify-content: end; flex-wrap: wrap; gap: .75rem; z-index: 1; }
.table__toolbar .tool { height: auto; padding: .65rem .9rem; border: 1px solid #777b6e; color: #e6e5da; background: transparent; }
.table__toolbar .tool:hover, .table__toolbar .tool[aria-pressed="true"] { background: #f0eee4; color: #171914; }
.table__note { position: static; max-width: 1440px; margin: 1.5rem auto 0; color: #bdbeb3; line-height: 1.7; }
.t-item { position: relative; color: #191a16; min-width: 0; width: 100%; }
.is-desktop-table .table__mat { display: block; padding: 0; touch-action: auto; }
.is-desktop-table .t-item { position: absolute; width: calc(33.333% - 3.5rem); }
.t-item:has(.tape), .t-item:has(.chalk) { display: none; }
.sheet, .sheet--wide, .letter, .sign, .titleblock { width: 100%; }
.sheet, .letter { background: #eae8de; box-shadow: 0 16px 32px -16px #000a; }
.sheet { padding: 1.25rem; }
.sheet--ink { background: #272b25; color: #eeece2; border: 1px solid #6d7164; box-shadow: none; }
.sheet__meta { opacity: .85; }.sheet__text { opacity: .9; }
.sheet__title { font-size: clamp(1.35rem,2vw,2rem); letter-spacing: -.03em; }
.sheet__media { aspect-ratio: 16/10; }
.sheet__rows { line-height: 1.5; }
.tab { background: #8c292b; color: #fffaf0; padding: .4rem .65rem; top: -1.1rem; }
.letter { padding: 1.5rem; }
.letter h2 { font-size: clamp(1.8rem,2.6vw,2.8rem); margin-top: 1.5rem; font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.letter__head, .letter__foot { color: #585b50; }
.letter__head { color: #8c292b; }
.letter p { font-size: .875rem; }
.letter__sign { font-size: .8rem; }
.letter__flourish { max-width: 6rem; }
.sign { background: #eae8de; border: 1px dashed #8e9082; padding: 1rem; }
.titleblock { background: #eae8de; box-shadow: none; border: 0; }
.titleblock__chips button { border-radius: 0; text-align: left; line-height: 1.5; }
.titleblock__grid { grid-template-columns: repeat(2,1fr); gap: 1rem; }
.titleblock__hint { line-height: 1.6; }
.numtag { padding: 1rem; gap: .5rem .2rem; font-size: clamp(.6rem,1vw,.875rem); }
.is-inside-out .table__mat { background-color: #22271f; }
.seam { background: #eae8de; min-height: 100%; }
@media (max-width: 1100px) and (min-width: 861px) { .is-desktop-table .t-item { width: calc(33.333% - 1.5rem); } .letter, .sheet { padding: 1rem; } }
@media (max-width: 860px) {
 .table { padding: 6rem 1rem 2rem; }
 .dossier-heading { display: block; padding-inline: 0; }
 .dossier-heading h1 { font-size: clamp(2.5rem,10vw,4rem); }
 .dossier-heading p { margin: 1.5rem 0 0; }
 .dossier-seal { width: 3.5rem; height: 3.5rem; font-size: 1.2rem; }
 .table__mat { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 1.5rem; gap: 2rem; }
 .t-item { max-width: 100%; }
 .table__toolbar { justify-content: start; }
 .table__note { display: block; }
 .numtag { font-size: .7rem; }
}
@media (max-width: 580px) {
 .table__mat { grid-template-columns: minmax(0,1fr); padding: 1.5rem 1rem; }
 .t-item[data-key="letter"] { order: -1; }
 .table__toolbar .tool { font-size: .65rem; padding: .6rem; }
 .table__toolbar kbd { display: none; }
 .dossier-heading p { font-size: .8rem; }

}
@media (prefers-reduced-motion: reduce) { .zoom__item { will-change: auto; } .zoom__words { display: none; } }
@media (max-width: 860px), (prefers-reduced-motion: reduce) { [data-scatter], [data-tidy] { display: none; } }
/* The final file fills the previously empty upper-right gallery cell. */
.zoom__item:nth-child(8) .zoom__frame { width: 26vw; height: 22vh; top: -26vh; left: 29vw; }
.knight-study { position: relative; width: 100%; height: 100%; margin: 0; background: #000; container-type: inline-size; }
.knight-study img { width: 100%; height: calc(100% - 2rem); object-fit: contain; }
.knight-study figcaption { position: absolute; inset: auto 6% .65rem; display: flex; justify-content: space-between; gap: .5rem; color: #c1beb3; font-size: clamp(.45rem,2.3cqw,.75rem); letter-spacing: .04em; }
/* A landscape dossier holds the complete portrait with breathing room. */
.dossier-detail { width: 100%; height: 100%; display: grid; grid-template-columns: 46% 54%; padding: 5%; background: #e8e8df; color: #252620; container-type: inline-size; }
.dossier-detail__portrait { min-height: 0; min-width: 0; padding: 3%; }
.dossier-detail__portrait img { display: block; width: 100%; height: 100%; object-fit: contain; }
.dossier-detail__copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding-left: 10%; border-left: 1px solid #aaa99c; }
.dossier-detail__code { color: #84292b; font-size: 4cqw; letter-spacing: .16em; }
.dossier-detail__copy p { font-size: 6cqw; line-height: 1.05; letter-spacing: -.03em; margin: 3cqw 0; }
.dossier-detail__copy small { font-size: 2.8cqw; line-height: 1.5; }
.dossier-detail__stitch { width: 8cqw; margin-top: 4cqw; border-top: 1px dashed #79796b; }
@media (max-width: 580px) {
 .knight-study figcaption { flex-direction: column; gap: .2rem; font-size: .45rem; }
 .knight-study img { height: calc(100% - 2.5rem); }
 .dossier-detail { grid-template-columns: 1fr; }
 .dossier-detail__portrait { display: none; }
 .dossier-detail__copy { border: 0; padding: 8%; }
 .dossier-detail__code { font-size: 10cqw; }
 .dossier-detail__copy p { font-size: 13cqw; }
 .dossier-detail__copy small { font-size: 6cqw; }
}
