/* REPAIRED. Promoting these pages I rescoped every .register selector to
   [data-page^="museum-"] with a /.register/ replace. In .register-group the
    matched before the hyphen — a hyphen is a non-word character — so three
   selectors became [data-page^="museum-"]-group, which is not valid CSS and
   matched nothing. The contributor register lost its two-column grid and its
   labelled rail, silently, and the page still looked plausible.

   tools/audit-unstyled.cjs found it by asking the opposite question: which
   classes does the MARKUP use that no rule anywhere defines. A selector that
   is merely wrong is invisible; a class with no rule at all is not. */
/*
  MUSEUM REGISTER — measured source record
  01-hasani-editorial.html supplies the editorial register and cream #E9E1D6
  (DOCS/04-THE-REFERENCES.md). 08-vantara-hub.html supplies the hairline-only
  specification table language (site.css records its 1280px / 64px scale).
  C24-classified-document-reveal.html supplies the redaction-on-intent
  treatment; the interaction below is a native details summary, so it remains
  keyboard-operable. C21 is not needed: the redaction treatment fits.
*/

/* THE PAPER IS THE SITE'S PAPER, and it took a measurement to settle that.

   This said #E9E1D6, taken faithfully from 01-hasani-editorial. Faithful to
   the reference and wrong for the site: /museum itself renders on --ground
   (#F7F4ED), so its three children arriving on a darker stock read as a
   different site, and the darker stock cost real contrast. Run on the page,
   tools/contrast.js returned three AA failures, two of them caused by this
   one declaration — .eyebrow at 4.26:1 and a 15px span at 4.48:1, both
   needing 4.5. Swapping the value to --ground and re-running took it to one
   failure, and the survivor (.tk at 3.08:1 on ink) is in the shared footer
   and predates this page.

   The reference supplies the LAYOUT and the TYPE, which is what it was
   approved for. It does not get to supply a ground that the site has
   already chosen. */
[data-page^="museum-"] { --museum-paper: var(--ground); background: var(--museum-paper); }
[data-page^="museum-"] .museum-hero { min-height: min(650px, 78vh); display: grid; align-items: end; padding-bottom: calc(var(--band-pad-y) * 1.5); border-bottom: var(--hair) solid var(--ink); }
[data-page^="museum-"] .museum-hero__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(180px, .45fr); gap: var(--band-pad-x); align-items: end; }
[data-page^="museum-"] .museum-hero .h1 { max-width: 11ch; margin: 0; }
[data-page^="museum-"] .museum-hero .body { max-width: 34ch; margin: var(--pad-card) 0 0; }
[data-page^="museum-"] .folio { border-left: var(--hair) solid var(--ink); padding-left: var(--pad-card); font-family: var(--face-ui); font-size: var(--size-small); line-height: var(--lh-small); }
[data-page^="museum-"] .folio p { margin: 0 0 var(--gap-btn); }
[data-page^="museum-"] .folio span { color: var(--muted); }
[data-page^="museum-"] .museum-section { padding-block: calc(var(--band-pad-y) * 1.35); border-bottom: var(--hair) solid var(--ink); }
[data-page^="museum-"] .museum-section__head { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--band-pad-x); margin-bottom: var(--band-pad-y); }
[data-page^="museum-"] .museum-section__head .h2 { margin: 0; max-width: 12ch; }
[data-page^="museum-"] .museum-section__head .body { margin: 0; max-width: 38ch; }
[data-page^="museum-"] .register-group { display: grid; grid-template-columns: minmax(160px, .45fr) minmax(0, 1.55fr); gap: var(--band-pad-x); padding-block: var(--pad-card); border-top: var(--hair) solid var(--ink); }
[data-page^="museum-"] .register-group__title { font-family: var(--face-ui); font-size: var(--size-eyebrow); line-height: var(--lh-eyebrow); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; font-weight: var(--w-mid); margin: 0; }
[data-page^="museum-"] .credit-list { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: var(--band-pad-x); }
[data-page^="museum-"] .credit-list li { break-inside: avoid; padding: 0 0 var(--pad-card); }
[data-page^="museum-"] .credit-list b { font-family: var(--face-display); font-size: var(--size-h4); line-height: var(--lh-h4); letter-spacing: var(--ls-h4); display: block; }
[data-page^="museum-"] .credit-list span { display: block; font-size: var(--size-small); line-height: var(--lh-small); color: var(--muted); overflow-wrap: anywhere; }
[data-page^="museum-"] .gap-record { border-top: var(--hair) solid var(--ink); padding-top: var(--pad-card); max-width: var(--measure-body); }
[data-page^="museum-"] .gap-record p { margin: 0; }
[data-page^="museum-"] .filter-bar { display: flex; flex-wrap: wrap; gap: var(--gap-btn); margin: 0 0 var(--pad-card); }
[data-page^="museum-"] .filter-bar button { font: var(--w-label) var(--size-small)/var(--lh-small) var(--face-ui); color: var(--ink); background: transparent; border: var(--hair) solid var(--ink); border-radius: 0; min-height: var(--tap-min); padding-inline: var(--pad-card); cursor: pointer; }
[data-page^="museum-"] .filter-bar button[aria-pressed="true"] { background: var(--ink); color: var(--museum-paper); }
[data-page^="museum-"] .spec-wrap { overflow-x: auto; border-top: var(--hair) solid var(--ink); }
[data-page^="museum-"] .spec { width: 100%; min-width: 760px; border-collapse: collapse; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; line-height: 1.45; }
[data-page^="museum-"] .spec th, [data-page^="museum-"] .spec td { text-align: left; vertical-align: top; padding: 16px 12px; border-bottom: var(--hair) solid var(--ink); }
[data-page^="museum-"] .spec th { font-weight: 600; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
[data-page^="museum-"] .spec a { color: inherit; text-underline-offset: 3px; }
[data-page^="museum-"] .spec tr[hidden] { display: none; }
[data-page^="museum-"] .licence { margin: var(--band-pad-y) 0 0; border-top: var(--hair) solid var(--ink); }
[data-page^="museum-"] .licence summary { cursor: pointer; list-style: none; min-height: var(--tap-min); display: flex; align-items: center; justify-content: space-between; gap: var(--pad-card); padding: var(--pad-card) 0; font-family: var(--face-display); font-size: var(--size-h4); line-height: var(--lh-h4); letter-spacing: var(--ls-h4); }
[data-page^="museum-"] .licence summary::-webkit-details-marker { display: none; }
[data-page^="museum-"] .licence summary::after { content: '+'; font-family: var(--face-ui); font-size: var(--size-h3); font-weight: var(--w-body); }
[data-page^="museum-"] .licence[open] summary::after { content: '−'; }
[data-page^="museum-"] .licence pre { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0 0 var(--pad-card); padding: var(--pad-card); background: var(--card); border: var(--hair) solid var(--ink); font: 13px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
[data-page^="museum-"] .build-record { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: var(--hair) solid var(--ink); }
[data-page^="museum-"] .build-record > * { padding: var(--pad-card); border-bottom: var(--hair) solid var(--ink); }
[data-page^="museum-"] .build-record > :nth-child(odd) { border-right: var(--hair) solid var(--ink); }
[data-page^="museum-"] .build-record h3 { font-family: var(--face-ui); font-size: var(--size-small); line-height: var(--lh-small); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; margin: 0 0 var(--gap-card); }
[data-page^="museum-"] .build-record p { margin: 0; }
[data-page^="museum-"] .rejection { grid-column: 1 / -1; background: var(--ink); color: var(--museum-paper); }
[data-page^="museum-"] .rejection summary { cursor: pointer; list-style: none; font-family: var(--face-ui); font-size: var(--size-small); line-height: var(--lh-small); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; }
[data-page^="museum-"] .rejection summary::-webkit-details-marker { display: none; }
[data-page^="museum-"] .redaction { display: inline-block; color: transparent; background: currentColor; user-select: none; transition: color var(--dur-slow) var(--ease-soft); }
[data-page^="museum-"] .rejection[open] .redaction { color: inherit; background: transparent; user-select: text; }
[data-page^="museum-"] .rejection p { margin: var(--pad-card) 0 0; }
[data-page^="museum-"] .method-limit { max-width: var(--measure-body); border-top: var(--hair) solid var(--ink); padding-top: var(--pad-card); margin-top: var(--band-pad-y); }

@media (max-width: 760px) {
  [data-page^="museum-"] .museum-hero { min-height: auto; padding-block: calc(var(--band-pad-y) * 1.7); }
  [data-page^="museum-"] .museum-hero__grid, [data-page^="museum-"] .museum-section__head, [data-page^="museum-"] .register-group { grid-template-columns: minmax(0, 1fr); gap: var(--pad-card); }
  [data-page^="museum-"] .folio { border-left: 0; border-top: var(--hair) solid var(--ink); padding: var(--pad-card) 0 0; }
  [data-page^="museum-"] .credit-list { columns: 1; }
  [data-page^="museum-"] .build-record { grid-template-columns: minmax(0, 1fr); }
  [data-page^="museum-"] .build-record > :nth-child(odd) { border-right: 0; }
}

/* The licence disclosure got --tap-min when it was written; the rejection
   disclosure beside it did not, and measured 22px at 375px. Same control,
   same job, same minimum. */
@media (pointer: coarse) {
  [data-page^="museum-"] .rejection summary {
    min-height: var(--tap-min);
    display: flex;
    align-items: center;
  }
}
