:root {
  color-scheme: light;
  --paper: #e8ebe4;
  --paper-high: #f5f6f1;
  --ink: #0a0d0f;
  --steel: #273036;
  --gray: #667277;
  --cyan: #0bc9e8;
  --magenta: #e6288d;
  --acid: #d5df1e;
  --tungsten: #f29438;
  --line: rgb(10 13 15 / .22);
  --sans: "Arial Narrow", "Avenir Next Condensed", "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; min-width: 18rem; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.55; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
figure { margin: 0; background: var(--ink); overflow: hidden; }
a { color: inherit; text-underline-offset: .25em; }
.skip { position: fixed; z-index: 100; left: 1rem; top: -5rem; padding: .7rem 1rem; background: var(--acid); color: var(--ink); }
.skip:focus { top: 1rem; }
.catalogue-rail {
  position: sticky;
  z-index: 20;
  top: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(1rem, 4vw, 4rem);
  padding: .9rem clamp(1rem, 3vw, 3.5rem);
  border-bottom: 1px solid var(--line);
  background: rgb(232 235 228 / .91);
  backdrop-filter: blur(12px);
  font-family: var(--mono);
  font-size: .76rem;
  letter-spacing: .04em;
}
.catalogue-rail p { margin: 0; color: var(--gray); }
.brand { display: inline-flex; gap: .32rem; text-decoration: none; letter-spacing: -.04em; font-family: var(--sans); font-size: 1.06rem; }
.brand span { color: #07879d; }
.room { position: relative; min-height: 100svh; border-bottom: 1px solid var(--line); }
.room-label,
.ledger-label { margin: 0 0 .8rem; color: #087f92; font-family: var(--mono); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
h1, h2 { margin: 0; max-width: 17ch; font-family: var(--sans); font-weight: 900; line-height: .91; letter-spacing: -.055em; }
h1 { font-size: clamp(3.7rem, 9vw, 9.5rem); }
h2 { font-size: clamp(2.7rem, 5.8vw, 6rem); }
p { max-width: 68ch; }
.lead { color: var(--steel); font-size: clamp(1.05rem, 1.7vw, 1.42rem); }
.cover-room {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(20rem, 1.15fr);
  grid-template-rows: 1fr auto;
  gap: clamp(1rem, 3vw, 3.5rem);
  padding: clamp(3rem, 8vw, 9rem) clamp(1rem, 4vw, 5rem) clamp(2rem, 4vw, 5rem);
}
.cover-copy { align-self: center; z-index: 2; }
.rail-link { display: inline-block; margin-top: 1.5rem; padding: .8rem 1rem; border-left: 8px solid var(--acid); background: var(--ink); color: var(--paper-high); text-decoration: none; font-family: var(--mono); font-size: .78rem; }
.cover-object { min-height: 74svh; position: relative; }
.cover-object figcaption { position: absolute; inset: auto 0 0; padding: 1rem; background: rgb(5 7 10 / .86); color: white; font-family: var(--mono); font-size: .72rem; }
.cover-shadow, .cover-block, .cover-empty { height: 10rem; border: 7px solid var(--paper-high); outline: 1px solid var(--line); }
.cover-shadow { width: 74%; justify-self: end; }
.cover-block { width: 82%; }
.cover-empty { position: absolute; width: 11rem; height: 15rem; right: 7vw; bottom: 3rem; transform: rotate(5deg); box-shadow: .8rem .8rem 0 var(--acid); }
.question-room { padding: clamp(5rem, 9vw, 11rem) 0; }
.room-heading { display: grid; grid-template-columns: .35fr 1fr .68fr; gap: clamp(1rem, 4vw, 5rem); align-items: end; padding: 0 clamp(1rem, 4vw, 5rem); margin-bottom: 4rem; }
.room-heading p:last-child { color: var(--steel); }
.transverse-track { display: grid; grid-template-columns: repeat(4, minmax(20rem, 1fr)); gap: 1px; overflow-x: auto; background: var(--ink); }
.track-plate { min-height: 39rem; position: relative; }
.track-plate figcaption { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; background: linear-gradient(transparent, rgb(0 0 0 / .94)); color: white; }
.track-plate figcaption b { color: var(--acid); font-family: var(--mono); }
.track-plate figcaption span { color: #c4d2d4; text-align: right; }
.catalogue-note { margin: 3rem clamp(1rem, 4vw, 5rem) 0 auto; color: var(--gray); font-family: var(--mono); font-size: .82rem; }
.signal-room { padding: clamp(5rem, 9vw, 11rem) clamp(1rem, 4vw, 5rem); }
.signal-heading { display: grid; grid-template-columns: .35fr 1fr; gap: 3rem; align-items: end; margin-bottom: 5rem; }
.observation-column { max-width: 88rem; margin: auto; }
.observation { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 28rem; margin: 0 0 1px; }
.observation-right { grid-template-columns: .85fr 1.15fr; }
.observation-right img { grid-column: 2; }
.observation-right figcaption { grid-column: 1; grid-row: 1; }
.observation figcaption { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); background: var(--ink); color: white; }
.observation figcaption span { color: var(--cyan); font-family: var(--mono); font-size: .72rem; }
.observation figcaption b { font-size: clamp(2rem, 4vw, 4rem); line-height: 1; }
.observation figcaption p { color: #aebcbe; }
.test-room { padding: clamp(5rem, 9vw, 11rem) 0; background: #dfe2d9; }
.continuous-bench { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--ink); gap: 1px; border-block: 1px solid var(--ink); }
.bench-plate { min-height: 30rem; position: relative; }
.bench-plate figcaption { position: absolute; inset: auto 0 0; padding: .75rem 1rem; color: white; background: var(--ink); font-family: var(--mono); font-size: .76rem; text-transform: uppercase; }
.bench-statement { margin: 5rem clamp(1rem, 5vw, 6rem) 0 auto; max-width: 23ch; font-size: clamp(2rem, 4vw, 4.5rem); font-weight: 800; line-height: 1.03; }
.archive-room { padding: clamp(5rem, 9vw, 11rem) clamp(1rem, 4vw, 5rem) 2rem; }
.archive-copy { display: grid; grid-template-columns: .35fr 1fr .68fr; gap: 3rem; align-items: end; }
.archive-copy p:last-child { color: var(--steel); }
.plate-layer { position: relative; height: clamp(36rem, 70vw, 60rem); margin: 6rem 0; }
.archive-plate { position: absolute; width: 52%; height: 68%; border: 8px solid rgb(255 255 255 / .65); box-shadow: 1rem 1rem 0 rgb(10 13 15 / .12); }
.kept { left: 4%; top: 1%; transform: rotate(-3deg); }
.released { left: 27%; top: 16%; transform: rotate(2deg); }
.reopened { right: 2%; bottom: 1%; transform: rotate(-1deg); }
.organization-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; padding: 4rem 0; border-block: 1px solid var(--line); }
.organization-copy p { color: var(--steel); font-size: 1.1rem; }
.closing-bench { height: clamp(15rem, 36vw, 35rem); margin: 6rem calc(clamp(1rem, 4vw, 5rem) * -1) 0; }
.catalogue-footer,
.ledger-footer { display: flex; justify-content: space-between; gap: 2rem; padding: 2rem 0 0; color: var(--gray); font-family: var(--mono); font-size: .75rem; }

/* Calibration ledger */
.policy-ledger { color-scheme: dark; background: #0b1013; color: #eef3ed; }
.calibration-head { display: grid; grid-template-columns: .35fr 1fr auto; gap: 3rem; align-items: start; padding: clamp(2rem, 5vw, 5rem); border-bottom: 1px solid rgb(255 255 255 / .16); }
.brand.inverse span { color: var(--cyan); }
.calibration-head h1 { max-width: none; font-size: clamp(3.4rem, 7vw, 7rem); }
.calibration-head p:last-child { color: #a9b8ba; }
.calibration-head > a:last-child { font-family: var(--mono); font-size: .76rem; }
.ledger { max-width: 100rem; margin: auto; padding: 0 clamp(1rem, 4vw, 5rem); }
.policy-index { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: clamp(3rem, 8vw, 8rem) 0; border: 1px solid rgb(255 255 255 / .14); background: rgb(255 255 255 / .14); }
.coordinate-zone { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 3rem); background: #0d1418; }
.coordinate-zone h2 { margin-bottom: 1.6rem; font-size: 2rem; letter-spacing: -.02em; }
.coordinate-zone a { display: grid; grid-template-columns: 2.4rem 1fr; padding: .72rem 0; border-top: 1px solid rgb(255 255 255 / .12); color: #dce4df; text-decoration: none; }
.coordinate-zone i { color: #88979a; font-family: var(--mono); font-size: .7rem; font-style: normal; }
.zone-cyan h2, .zone-cyan a:hover { color: var(--cyan); }
.zone-magenta h2, .zone-magenta a:hover { color: #ff65ba; }
.zone-acid h2, .zone-acid a:hover { color: #e8f04a; }
.ledger-run { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); column-gap: clamp(2rem, 7vw, 8rem); border-top: 1px solid rgb(255 255 255 / .16); }
.ledger-run section { grid-column: 2; min-height: 23rem; padding: clamp(3rem, 7vw, 7rem) 0; border-bottom: 1px solid rgb(255 255 255 / .14); scroll-margin-top: 2rem; }
.ledger-run section h2 { max-width: 16ch; font-size: clamp(2.4rem, 4.4vw, 4.8rem); line-height: .98; }
.ledger-run section p:last-child { color: #aab8ba; font-size: 1.05rem; }
.calibration-image { grid-column: 1; min-height: 20rem; margin-top: clamp(3rem, 7vw, 7rem); position: sticky; top: 2rem; border-left: 5px solid var(--cyan); }
.run-paths .calibration-image { border-color: var(--magenta); }
.run-control .calibration-image { border-color: var(--acid); }
.run-paths .ledger-label { color: #ff65ba; }
.run-control .ledger-label { color: #e8f04a; }
.policy-ledger code { color: white; font-family: var(--mono); font-size: .92em; }
.ledger-footer { max-width: 100rem; margin: auto; padding: 4rem clamp(1rem, 4vw, 5rem); border-top: 1px solid rgb(255 255 255 / .16); color: #9aabad; }

.reveal { opacity: 0; transform: translateY(1.2rem); transition: opacity .72s ease, transform .82s cubic-bezier(.16,.8,.2,1); }
.reveal.entered { opacity: 1; transform: none; }

@media (max-width: 850px) {
  .catalogue-rail,
  .calibration-head { grid-template-columns: 1fr auto; }
  .catalogue-rail p,
  .calibration-head > div { grid-column: 1 / -1; grid-row: 2; }
  .cover-room { grid-template-columns: 1fr; }
  .cover-object { min-height: 58svh; }
  .cover-empty { position: static; justify-self: end; }
  .room-heading,
  .signal-heading,
  .archive-copy { grid-template-columns: 1fr; gap: 1rem; }
  .observation,
  .observation-right { grid-template-columns: 1fr; }
  .observation-right img,
  .observation-right figcaption { grid-column: 1; grid-row: auto; }
  .observation img { height: 26rem; }
  .continuous-bench { grid-template-columns: repeat(2, 1fr); }
  .organization-copy { grid-template-columns: 1fr; gap: 1rem; }
  .policy-index { grid-template-columns: 1fr; }
  .ledger-run { grid-template-columns: 1fr; }
  .calibration-image,
  .ledger-run section { grid-column: 1; position: relative; top: auto; }
  .calibration-image { min-height: 26rem; }
}

@media (max-width: 560px) {
  h1 { font-size: clamp(3.2rem, 17vw, 5.7rem); }
  .cover-shadow, .cover-block, .cover-empty { width: 100%; }
  .track-plate { min-height: 31rem; }
  .continuous-bench { grid-template-columns: 1fr; }
  .bench-plate { min-height: 24rem; }
  .plate-layer { height: 46rem; }
  .archive-plate { width: 82%; height: 52%; }
  .kept { left: 0; }
  .released { left: 8%; top: 22%; }
  .reopened { right: 0; bottom: 0; }
  .catalogue-footer,
  .ledger-footer { flex-direction: column; }
  .ledger-run section { min-height: 0; }
}

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