/* ==========================================================================
   thisarchiveisnotreal.com — THE HOLDINGS (v4, plate-first)
   The archive is no longer a set of typeset pages. It is 41 physical objects.
   Depends on tokens.css for the palette. One accent, one alarm, faction
   colour only ever as a 2px rule, a dot or a small-caps label.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--void);color:var(--ghost);
  font-family:var(--font-sans);font-size:var(--t-body);line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--accent);color:#fff}

/* film grain over everything, cheap and static */
body.grain::after{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

/* ── faction taxonomy ────────────────────────────────────────────────── */
[data-fac="authority"]{--fac:var(--fac-authority)}
[data-fac="chen"]     {--fac:var(--fac-chen)}
[data-fac="church"]   {--fac:var(--fac-church)}
[data-fac="revel"]    {--fac:var(--fac-revel)}
[data-fac="scionfall"]{--fac:var(--fac-scion)}
[data-fac="journal"]  {--fac:var(--fac-journal)}

.mono{font-family:var(--font-mono)}
.label{
  font-family:var(--font-mono);font-size:var(--t-micro);text-transform:uppercase;
  letter-spacing:var(--tracking-label);color:var(--steel-dim);
}

/* ══ SYSTEM RAIL ══════════════════════════════════════════════════════ */
.rail{
  position:sticky;top:0;z-index:60;display:flex;gap:1rem;justify-content:space-between;
  align-items:center;padding:.55rem clamp(1rem,4vw,2.4rem);
  background:rgba(10,10,10,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rule-dark);
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel-dim);
}
.rail a{text-decoration:none;color:var(--steel)}
.rail a:hover{color:var(--accent-hi)}
@media(max-width:560px){.rail{font-size:9.5px;letter-spacing:.1em;gap:.6rem}}
.rail .r-mid{display:none}
@media(min-width:900px){.rail .r-mid{display:block}}

/* ══ MASTHEAD ═════════════════════════════════════════════════════════ */
.vault-head{
  position:relative;overflow:hidden;padding:clamp(1.5rem,3.4vw,2.6rem) clamp(1rem,4vw,2.4rem) clamp(.8rem,1.8vw,1.2rem);
  max-width:1500px;margin:0 auto;
}
.vault-head .crest-ghost{
  position:absolute;right:-2%;top:-14%;width:min(46vw,540px);opacity:.045;
  pointer-events:none;filter:grayscale(1);
}
.wordmark{
  font-family:var(--font-expanded);font-weight:800;
  font-size:clamp(1.8rem,5vw,3.5rem);line-height:.94;letter-spacing:-.015em;
  margin:0 0 .5rem;text-transform:uppercase;
}
.wordmark .thin{
  display:block;font-family:var(--font-mono);font-weight:400;
  font-size:clamp(.68rem,1.5vw,.82rem);letter-spacing:var(--tracking-wide);
  color:var(--steel);margin-top:.85rem;text-transform:uppercase;
}
.mast-coord{
  display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin-top:.95rem;
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel-dim);
}
.mast-coord .sep{color:var(--rule-dark)}
.standfirst{
  max-width:58ch;margin:1rem 0 0;font-family:var(--font-serif);
  font-size:clamp(.98rem,1.5vw,1.1rem);line-height:1.55;color:#cfcabd;
}
.standfirst em{color:var(--electric);font-style:italic}

/* ══ THE DRUM ═════════════════════════════════════════════════════════ */
.drum-stage{
  position:relative;margin:clamp(.6rem,2vw,1.2rem) 0 0;
  border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);
  background:
    radial-gradient(120% 78% at 50% 40%, #16181b 0%, #0c0d0f 55%, #070708 100%);
  overflow:hidden;
}
.drum-stage::before{ /* floor light */
  content:"";position:absolute;left:50%;bottom:-34%;width:120%;height:60%;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%, rgba(58,107,138,.16), transparent 62%);
}
.drum-stage::after{ /* vignette */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,#0A0A0A 0%,transparent 16%,transparent 84%,#0A0A0A 100%),
    linear-gradient(180deg,rgba(10,10,10,.55) 0%,transparent 22%);
}
.drum-index{ /* the huge ghost numeral behind the drum */
  position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);
  font-family:var(--font-expanded);font-weight:800;font-size:min(36vw,24rem);
  line-height:.8;color:#fff;opacity:.028;pointer-events:none;user-select:none;
  letter-spacing:-.04em;
}

/* ---- fallback / no-JS / reduced-motion: contact sheet ---- */
.drum{
  position:relative;margin:0 auto;padding:1.6rem clamp(1rem,4vw,2.4rem) 2.2rem;max-width:1500px;
}
.drum-inner{
  display:grid;gap:.7rem;
  grid-template-columns:repeat(auto-fill,minmax(126px,1fr));
}
.drum-card{
  position:relative;display:block;text-decoration:none;color:inherit;
  background:#0e0f11;border:1px solid var(--rule-dark);
}
.drum-card .shot{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;background:#101113}
.drum-card .shot img{position:absolute;inset:0;width:100%;height:100%}
.drum-card img{
  width:100%;height:100%;object-fit:cover;
  filter:contrast(1.02) saturate(.94);transition:opacity .5s ease;
}
.drum-card .blur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(10px) saturate(.7);transform:scale(1.1)}
.drum-card .cap{
  display:flex;justify-content:space-between;gap:.4rem;padding:.42rem .5rem;
  border-top:2px solid var(--fac,var(--steel-dim));
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--steel);
}
.drum-card .cap b{color:var(--ghost);font-weight:500}
.drum-card:hover{border-color:var(--steel-dim)}
.drum-card[hidden]{display:none}

/* ---- activated 3D cylinder ---- */
.js-drum .drum{
  display:block;height:clamp(390px,50vh,478px);padding:0;
  perspective:1500px;perspective-origin:50% 46%;
  touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;
}
.js-drum .drum.is-drag{cursor:grabbing}
.js-drum .drum-inner{
  display:block;position:absolute;left:50%;top:50%;width:0;height:0;
  transform-style:preserve-3d;
}
.js-drum .drum-card{
  position:absolute;left:0;top:0;width:250px;margin:-198px 0 0 -125px;
  background:#0d0e10;border:1px solid #232527;
  box-shadow:0 24px 46px -18px rgba(0,0,0,.9);
  will-change:transform,opacity;transform-origin:50% 50%;
  transition:box-shadow .3s ease;
}
.js-drum .drum-card .cap{opacity:0;transition:opacity .35s ease}
.js-drum .drum-card.is-front{
  box-shadow:0 44px 90px -22px rgba(0,0,0,1), 0 0 0 2px var(--fac,var(--accent)),
             0 0 60px -10px rgba(255,255,255,.10);
}
.js-drum .drum-card.is-front .cap{opacity:1}
.js-drum .drum-card[hidden]{display:block;pointer-events:none}

/* readout */
html:not(.js-drum) .drum-readout,
html:not(.js-drum) .drum-hint{display:none}
html:not(.js-drum) .drum-stage::after{background:none}
html:not(.js-drum) .drum-index{display:none}
html:not(.js-drum) .drum-ctrl{padding-top:1.2rem;border-bottom:1px solid var(--rule-dark);padding-bottom:1.2rem}
.drum-readout{
  position:relative;z-index:3;max-width:1500px;margin:0 auto;
  padding:0 clamp(1rem,4vw,2.4rem) 1.5rem;
  display:grid;gap:.9rem 1.6rem;grid-template-columns:1fr;align-items:end;
}
@media(min-width:820px){.drum-readout{grid-template-columns:1fr auto}}
.ro-fac{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.2em;
  text-transform:uppercase;color:var(--steel);
}
.ro-fac .dot{width:8px;height:8px;background:var(--fac,var(--steel))}
.ro-title{
  font-family:var(--font-expanded);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.28rem,3.4vw,2.4rem);line-height:1.02;margin:.35rem 0 .35rem;
  letter-spacing:-.01em;
}
.ro-office{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--steel-dim)}
.ro-quote{font-family:var(--font-serif);font-style:italic;color:#c8c3b6;margin:.55rem 0 0;max-width:52ch}
.ro-side{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
@media(min-width:820px){.ro-side{align-items:flex-end}}
.ro-count{font-family:var(--font-mono);font-size:var(--t-small);color:var(--steel-dim);letter-spacing:.16em}
.ro-count b{color:var(--ghost)}
.ro-class{
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--rule-dark);padding:.25rem .55rem;color:var(--steel);
}
.ro-class.is-hazard{border-color:var(--alarm);color:var(--alarm-hi)}
.ro-open{
  display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;
  font-family:var(--font-mono);font-size:var(--t-small);letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--accent);color:var(--accent-hi);padding:.6rem 1.1rem;
  transition:background .2s ease,color .2s ease;
}
.ro-open:hover{background:var(--accent);color:#fff}

/* controls */
.drum-ctrl{
  position:relative;z-index:3;max-width:1500px;margin:0 auto;
  padding:0 clamp(1rem,4vw,2.4rem) 1.4rem;
  display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;
}
.chip{
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--rule-dark);padding:.36rem .7rem;color:var(--steel-dim);
  display:inline-flex;align-items:center;gap:.45rem;transition:.18s ease;
}
.chip .dot{width:7px;height:7px;background:var(--fac,var(--steel-dim))}
.chip:hover{color:var(--ghost);border-color:var(--steel-dim)}
.chip[aria-pressed="true"]{color:var(--ghost);border-color:var(--steel);background:#151719}
.drum-hint{margin-left:auto;font-family:var(--font-mono);font-size:var(--t-micro);color:var(--steel-dim);letter-spacing:.12em;text-transform:uppercase}
@media(max-width:700px){.drum-hint{display:none}}

/* ══ FINDING AID ══════════════════════════════════════════════════════ */
.sec-beat{
  max-width:1500px;margin:clamp(2.4rem,6vw,4.5rem) auto 0;padding:0 clamp(1rem,4vw,2.4rem);
  display:flex;align-items:baseline;gap:1rem;border-bottom:1px solid var(--rule-dark);
  padding-bottom:.7rem;
}
.sec-beat .idx{font-family:var(--font-expanded);font-weight:800;font-size:1.5rem;color:var(--steel-dim)}
.sec-beat .name{font-family:var(--font-expanded);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:1.15rem}
.sec-beat .ref{margin-left:auto;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--steel-dim)}

.controls{
  max-width:1500px;margin:1.2rem auto 0;padding:0 clamp(1rem,4vw,2.4rem);
  display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;
}
.search{
  flex:1 1 250px;background:#101113;border:1px solid var(--rule-dark);color:var(--ghost);
  font-family:var(--font-mono);font-size:var(--t-small);padding:.62rem .8rem;letter-spacing:.06em;
}
.search::placeholder{color:var(--steel-dim)}
.search:focus{outline:none;border-color:var(--accent)}
.count{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--steel-dim);letter-spacing:.16em}

.aid{max-width:1500px;margin:1.2rem auto 0;padding:0 clamp(1rem,4vw,2.4rem)}
.aid-group{
  display:flex;align-items:center;gap:.8rem;margin:2.2rem 0 .5rem;
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;
  color:var(--steel);
}
.aid-group .gname{color:var(--ghost)}
.aid-group hr{flex:1;border:0;border-top:1px solid var(--rule-dark);margin:0}
.aid-group .swatch{width:22px;height:4px;background:var(--fac,var(--steel))}
.aid-row{
  display:grid;grid-template-columns:56px 1fr;gap:.6rem 1rem;align-items:start;
  text-decoration:none;color:inherit;padding:.75rem 0;
  border-bottom:1px solid #17191b;transition:background .18s ease,padding .18s ease;
}
@media(min-width:760px){
  .aid-row{grid-template-columns:64px 104px 1fr 130px;align-items:center}
}
.aid-row:hover{background:#101113}
.aid-thumb{
  width:58px;height:87px;object-fit:cover;object-position:top;border:1px solid var(--rule-dark);
  filter:grayscale(.55) contrast(1.05);transition:filter .25s ease,transform .25s ease;
}
.aid-row:hover .aid-thumb{filter:none;transform:scale(1.04)}
.aid-ref{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--steel);letter-spacing:.1em}
.aid-title{
  font-family:var(--font-grotesk);font-weight:600;font-size:1.02rem;line-height:1.25;
  display:flex;align-items:baseline;gap:.5rem;
}
.aid-title .fac-dot{width:7px;height:7px;background:var(--fac);flex:none;translate:0 -2px}
.aid-office{display:block;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.1em;color:var(--steel-dim);margin-top:.2rem}
.aid-quote{display:block;font-family:var(--font-serif);font-style:italic;color:#a8a498;margin-top:.28rem;font-size:.95rem}
.aid-class{
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;
  color:var(--steel-dim);justify-self:start;
}
@media(min-width:760px){.aid-class{justify-self:end;text-align:right}}
.aid-class.is-hazard{color:var(--alarm-hi)}
.aid-row[hidden]{display:none}
.aid-num{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--steel-dim)}

/* ══ FOOT ═════════════════════════════════════════════════════════════ */
.vault-foot{
  max-width:1500px;margin:clamp(3rem,8vw,6rem) auto 0;padding:2rem clamp(1rem,4vw,2.4rem) 4rem;
  border-top:1px solid var(--rule-dark);
  display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel-dim);
}
.vault-foot a{color:var(--steel);text-decoration:none}
.vault-foot a:hover{color:var(--accent-hi)}

/* ══════════════════════════════════════════════════════════════════════
   PLATE PAGE
   ══════════════════════════════════════════════════════════════════════ */
.plate-rail{
  position:sticky;top:0;z-index:60;display:grid;
  grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;
  padding:.5rem clamp(.7rem,3vw,1.6rem);
  background:rgba(10,10,10,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rule-dark);
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;
}
.plate-rail a{text-decoration:none;color:var(--steel)}
.plate-rail a:hover{color:var(--accent-hi)}
.plate-rail .pr-mid{text-align:center;color:var(--steel-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plate-rail .pr-mid b{color:var(--ghost);font-weight:500}
.pr-nav{display:flex;gap:.4rem}
.pr-nav a,.pr-nav span{
  border:1px solid var(--rule-dark);padding:.28rem .55rem;display:inline-block;color:var(--steel-dim);
}
.pr-nav a:hover{border-color:var(--accent);color:var(--accent-hi)}

.plate-stage{
  position:relative;min-height:calc(100vh - 42px);
  display:grid;grid-template-columns:1fr;align-content:center;
  padding:clamp(1.2rem,4vw,3rem) clamp(.8rem,4vw,2.4rem) clamp(2rem,5vw,3.5rem);
  background:radial-gradient(115% 80% at 50% 42%, #17191c 0%, #0b0c0d 58%, #070708 100%);
  border-bottom:1px solid var(--rule-dark);
}
@media(min-width:1080px){
  .plate-stage{grid-template-columns:minmax(240px,300px) 1fr;gap:clamp(1.5rem,4vw,3.5rem)}
}
.plate-meta{align-self:center}
.pm-fac{display:flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;color:var(--steel)}
.pm-fac .swatch{width:26px;height:4px;background:var(--fac)}
.pm-num{font-family:var(--font-expanded);font-weight:800;font-size:clamp(3rem,9vw,5.6rem);line-height:.86;margin:.5rem 0 .2rem;color:#fff;opacity:.9;letter-spacing:-.03em}
.pm-num small{font-size:.28em;color:var(--steel-dim);letter-spacing:.1em;margin-left:.4em;font-weight:400;font-family:var(--font-mono)}
.pm-title{font-family:var(--font-expanded);font-weight:700;text-transform:uppercase;font-size:clamp(1.15rem,2.6vw,1.7rem);line-height:1.06;margin:.6rem 0 .5rem}
.pm-office{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.13em;text-transform:uppercase;color:var(--steel-dim);line-height:1.6}
.pm-dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;margin:1.1rem 0 0;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.1em}
.pm-dl dt{color:var(--steel-dim);text-transform:uppercase}
.pm-dl dd{margin:0;color:var(--ghost)}
.pm-dl dd.is-hazard{color:var(--alarm-hi)}
.pm-quote{font-family:var(--font-serif);font-style:italic;font-size:1.08rem;color:#c8c3b6;margin:1.2rem 0 0;padding-left:.9rem;border-left:2px solid var(--fac)}
.pm-acts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.act{
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--rule-dark);padding:.5rem .8rem;color:var(--steel);text-decoration:none;transition:.18s ease;
}
.act:hover{border-color:var(--accent);color:var(--accent-hi)}
.act.is-primary{border-color:var(--accent);color:var(--accent-hi)}
.act.is-primary:hover{background:var(--accent);color:#fff}

.plate-holder{position:relative;display:flex;justify-content:center;align-items:center}
.plate-frame{
  position:relative;cursor:zoom-in;
  box-shadow:0 40px 90px -30px rgba(0,0,0,1),0 0 0 1px #1e2022, 0 2px 0 0 rgba(255,255,255,.03) inset;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
  background:#0d0e10;
}
.plate-frame:hover{transform:translateY(-4px)}
.plate-frame img{width:100%;height:auto}
.plate-frame .loupe{
  position:absolute;right:.6rem;bottom:.6rem;
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  background:rgba(10,10,10,.72);border:1px solid #2a2c2e;color:var(--steel);padding:.3rem .5rem;
  backdrop-filter:blur(6px);
}

/* zoom overlay */
.loupe-overlay{
  position:fixed;inset:0;z-index:200;background:#050505;display:none;
  overflow:auto;cursor:grab;overscroll-behavior:contain;
}
.loupe-overlay.is-open{display:block}
.loupe-overlay.is-drag{cursor:grabbing}
.loupe-overlay img{width:1600px;max-width:none;margin:0 auto}
.loupe-close{
  position:fixed;top:1rem;right:1rem;z-index:210;
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;
  background:rgba(10,10,10,.8);border:1px solid #2a2c2e;color:var(--steel);padding:.5rem .8rem;
}
.loupe-close:hover{color:#fff;border-color:var(--accent)}

/* ── transcript ──────────────────────────────────────────────────────── */
.tx{max-width:1200px;margin:0 auto;padding:clamp(2rem,6vw,4rem) clamp(1rem,4vw,2.4rem) 1rem}
.tx-toggle{
  display:flex;align-items:center;gap:1rem;width:100%;
  border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);
  padding:1rem 0;font-family:var(--font-mono);font-size:var(--t-small);
  letter-spacing:.2em;text-transform:uppercase;color:var(--steel);
}
.tx-toggle:hover{color:var(--ghost)}
.tx-toggle .sign{
  margin-left:auto;font-family:var(--font-expanded);font-weight:700;font-size:1.1rem;color:var(--steel-dim);
}
.tx-body{display:none;padding-top:2rem}
.tx-body.is-open{display:block}
.tx-note{
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.1em;color:var(--steel-dim);
  border-left:2px solid var(--rule-dark);padding-left:.9rem;margin-bottom:2.4rem;max-width:60ch;line-height:1.7;
}
.tx-lead{
  font-family:var(--font-serif);font-size:clamp(1.2rem,2.6vw,1.6rem);line-height:1.45;
  font-style:italic;color:var(--electric);max-width:38ch;margin:0 0 2.6rem;
}
.tx-sec{
  display:grid;grid-template-columns:1fr;gap:.6rem 2.4rem;
  padding:1.6rem 0;border-top:1px solid #17191b;
}
@media(min-width:920px){.tx-sec{grid-template-columns:120px minmax(0,1fr) 250px}}
.tx-track{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--steel-dim)}
.tx-track .n{display:block;font-family:var(--font-expanded);font-weight:800;font-size:1.5rem;color:#2c2f32;line-height:1;margin-bottom:.4rem}
.tx-main{min-width:0;font-family:var(--font-serif);font-size:1.06rem;line-height:1.68;color:#ddd8cb}
.tx-main h2,.tx-main .sec-title{
  font-family:var(--font-expanded);font-weight:700;text-transform:uppercase;
  font-size:1.06rem;letter-spacing:.02em;color:var(--ghost);margin:0 0 .8rem;
}
.tx-main p{margin:0 0 1rem}
.tx-main em{color:var(--electric);font-style:italic}
.tx-main strong{color:#fff;font-weight:600}
.tx-main ul,.tx-main ol{margin:0 0 1.1rem;padding-left:1.1rem}
.tx-main li{margin-bottom:.5rem}
.tx-main .directive{
  border-left:2px solid var(--alarm);background:rgba(160,48,48,.06);
  padding:.8rem 1rem;font-family:var(--font-mono);font-size:var(--t-small);
  line-height:1.6;color:#e2c9c9;margin:0 0 1.1rem;
}
.tx-main .pullquote{
  font-family:var(--font-expanded);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.1rem,2.4vw,1.5rem);line-height:1.15;color:#fff;
  border-top:2px solid var(--fac);border-bottom:1px solid var(--rule-dark);
  padding:1rem 0;margin:1.6rem 0;
}
.tx-main .equation{font-family:var(--font-mono);font-size:var(--t-small);background:#101113;border:1px solid var(--rule-dark);padding:.8rem;margin:0 0 1.1rem;overflow-x:auto}
.tx-main .strike,.tx-main .crossed{text-decoration:line-through;color:var(--steel-dim)}
.tx-main .tx-msg{border-left:1px solid var(--rule-dark);padding:.5rem 0 .5rem .9rem;margin:0 0 .8rem;font-family:var(--font-mono);font-size:var(--t-small);line-height:1.6}
.tx-main .tx-who{display:block;color:var(--accent-hi);letter-spacing:.14em;text-transform:uppercase;font-size:var(--t-micro);margin-bottom:.25rem}
.tx-main .tx-sys{color:var(--alarm-hi)}
.tx-main .directive .label{display:block;margin-bottom:.35rem;color:var(--alarm-hi)}
.tx-main .label,.tx-main .b-label{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--steel-dim)}
.tx-main a{color:var(--accent-hi)}

.tx-ann{
  font-family:var(--font-mono);font-size:.78rem;line-height:1.62;
  padding-left:.9rem;border-left:2px solid currentColor;margin:0 0 1rem;
}
.tx-ann .who{
  display:block;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  margin-bottom:.3rem;opacity:.8;
}
.tx-ann[data-by="AR"]{color:#C24848}
.tx-ann[data-by="E.C."],.tx-ann[data-by="EC"]{color:#7FA6C4}
.tx-ann{color:var(--steel)}
.tx-foot{
  margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid var(--rule-dark);
  font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.1em;
  color:var(--steel-dim);line-height:1.7;max-width:70ch;
}

/* ── prev/next spine ─────────────────────────────────────────────────── */
.spine{
  max-width:1500px;margin:clamp(2rem,5vw,3.5rem) auto 0;padding:0 clamp(1rem,4vw,2.4rem) 4rem;
  display:grid;gap:.8rem;grid-template-columns:1fr;
}
@media(min-width:760px){.spine{grid-template-columns:1fr 1fr}}
.spine a{
  display:flex;gap:.9rem;align-items:center;text-decoration:none;
  border:1px solid var(--rule-dark);padding:.7rem;transition:.2s ease;
}
.spine a:hover{border-color:var(--steel-dim);background:#101113}
.spine a.next{justify-content:flex-end;text-align:right;flex-direction:row-reverse}
.spine img{width:44px;height:66px;object-fit:cover;object-position:top;border:1px solid var(--rule-dark);flex:none}
.spine .dir{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-dim)}
.spine .t{font-family:var(--font-grotesk);font-weight:600;font-size:.96rem;color:var(--ghost)}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ── plate "developing" load-in ──────────────────────────────────────── */
.drum-card .shot-img{opacity:0}
.drum-card.is-loaded .shot-img{opacity:1}
.drum-card.is-loaded .blur{opacity:0;transition:opacity .6s ease}


/* ── plate page fixes ────────────────────────────────────────────────── */
.pm-seal{width:60px;height:60px;opacity:.32;margin-bottom:1rem;object-fit:contain}
svg.pm-seal{opacity:.42}
.plate-frame{max-width:100%}
.plate-frame img{width:auto;height:min(78vh,900px);max-width:100%;object-fit:contain}
@media(max-width:1079px){
  .plate-frame img{width:min(100%,540px);height:auto}
  .plate-stage{padding-top:1.6rem}
}
