/* ═══════════════════════════════════════════
   DECLASSIFIED - dossier type system
   Display: Fraunces (opsz axis, high contrast)
   Body:    Newsreader (editorial text)
   Data:    IBM Plex Mono (classification, folios)
   ═══════════════════════════════════════════ */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;src:url('/fonts/fraunces.woff2') format('woff2-variations');font-display:swap;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;src:url('/fonts/newsreader.woff2') format('woff2-variations');font-display:swap;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;src:url('/fonts/newsreader-italic.woff2') format('woff2-variations');font-display:swap;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;src:url('/fonts/plex-mono.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;src:url('/fonts/plex-mono-500.woff2') format('woff2');font-display:swap;}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --void:#0c0b0a;
  --surface:#121110;
  --gold:#c9a84c;
  --gold-bright:#e3c268;
  --gold-dim:#7c6a33;
  --gold-glow:rgba(201,168,76,0.12);
  --parchment:#f0ebe0;
  --muted:#9e9e9e;
  --dim:#454545;
  --border:rgba(255,255,255,0.05);
  --hairline:rgba(201,168,76,0.28);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --disp:'Fraunces',Georgia,serif;
  --body:'Newsreader',Georgia,serif;
}

html{
  background:var(--void);color:var(--parchment);
  overscroll-behavior:none;
  scrollbar-width:thin;scrollbar-color:var(--dim) var(--void);
  -webkit-text-size-adjust:100%;
}
body{
  font-family:var(--body);font-weight:400;
  font-variation-settings:'opsz' 16;
  font-size:1.0625rem;line-height:1.75;
  background:var(--void);
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold);color:var(--void)}
:focus-visible{outline:1px solid var(--gold);outline-offset:3px}

/* ambient grain (kept, subtle) */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.04;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
#particle-canvas,#swirl-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}
#particle-canvas{z-index:2;opacity:1}
#swirl-canvas{z-index:4;opacity:.7}
#echo-container{position:fixed;inset:0;pointer-events:none;z-index:3}
.narrative-echo{position:absolute;opacity:0;will-change:transform,opacity;transition:opacity 1.2s ease-out,transform 1.8s var(--ease)}
.narrative-echo.active{opacity:.12}
.narrative-echo svg{width:100%;height:100%;stroke:var(--gold);fill:none;stroke-width:1.2}

/* skip link */
.skip-link{position:absolute;left:-9999px;top:0;z-index:10001;background:var(--gold);color:var(--void);padding:8px 16px;font-family:var(--mono);font-size:.75rem}
.skip-link:focus{left:0}

/* ═══ DECRYPTION CURTAIN ═══ */
#preloader{
  position:fixed;inset:0;z-index:10000;background:var(--void);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .12s ease,visibility .12s;
}
#preloader::before{
  content:'';position:absolute;inset:26px;border:1px solid rgba(201,168,76,.12);pointer-events:none;
}
#preloader.hide{opacity:0;visibility:hidden;pointer-events:none}
.pl-inner{text-align:center;width:min(320px,70vw)}
.pl-glyph{font-family:var(--mono);font-size:.8rem;letter-spacing:.6em;color:var(--gold);margin-bottom:26px;animation:none;opacity:.7}
@keyframes glyphPulse{0%,100%{opacity:.35}50%{opacity:1}}
.pl-status{font-family:var(--mono);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;min-height:1em;transition:opacity .2s}
.pl-status::after{content:'▮';color:var(--gold);margin-left:6px;animation:blink .8s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.pl-track{height:1px;background:rgba(255,255,255,.08);overflow:hidden}
.pl-fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold));transform:scaleX(0);transform-origin:left center;transition:transform .12s linear}

/* ═══ SHOCKWAVE + SHAKE ═══ */
#flash{position:fixed;left:50%;top:50%;width:20px;height:20px;border-radius:50%;border:2px solid rgba(201,168,76,.8);pointer-events:none;z-index:9998;opacity:0;transform:translate(-50%,-50%) scale(0)}
#flash.go{animation:shockwave .7s var(--ease) forwards}
@keyframes shockwave{0%{opacity:.9;transform:translate(-50%,-50%) scale(0)}100%{opacity:0;transform:translate(-50%,-50%) scale(90)}}
body.shaken main,body.shaken footer.site{animation:shakeIt .4s ease-out}
@keyframes shakeIt{
  0%{transform:translate(0,0)}
  20%{transform:translate(3px,-2px)}
  40%{transform:translate(-3px,2px)}
  60%{transform:translate(2px,1px)}
  80%{transform:translate(-1px,-1px)}
  100%{transform:translate(0,0)}
}

/* ═══ LIVING CHROME ═══ */
#progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:10001;background:linear-gradient(90deg,var(--gold-dim),var(--gold) 40%,var(--gold-bright));transform:scaleX(0);transform-origin:left center;pointer-events:none}
#chapter-marker{position:fixed;left:5vw;bottom:30px;z-index:1000;pointer-events:none}
#chapter-marker .cm-row{display:flex;align-items:baseline;gap:12px;border-left:1px solid var(--hairline);padding-left:16px;transition:opacity .18s,transform .18s var(--ease)}
#chapter-marker.swap .cm-row{opacity:0;transform:translateY(8px)}
#chapter-marker .cm-num{font-family:var(--disp);font-weight:600;font-variation-settings:'opsz' 144;font-size:2rem;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold);opacity:.8}
#chapter-marker .cm-name{font-family:var(--mono);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-dim)}
#scroll-cue{position:fixed;left:50%;transform:translateX(-50%);z-index:900;text-align:center;opacity:0;transition:opacity .45s ease;pointer-events:none}
#scroll-cue.gone{opacity:0}
#scroll-cue .cue-line{display:block;width:1px;height:44px;margin:0 auto 10px;background:linear-gradient(180deg,transparent,var(--gold));animation:cueDrop 1.8s var(--ease) infinite}
@keyframes cueDrop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
#scroll-cue .cue-label{font-family:var(--mono);font-size:.56rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-dim)}

/* typing caret on hero meta lines */
.hero-meta .fileline.typing::after{content:'▮';color:var(--gold);animation:blink .7s steps(1) infinite}

/* ═══ DOSSIER FILE TABS (fixed chapter nav) ═══ */
.dossier-tabs{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1000;display:flex;flex-direction:column;gap:4px}
.file-tab{
  writing-mode:vertical-rl;text-orientation:mixed;
  font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);background:rgba(20,20,20,.55);backdrop-filter:blur(6px);
  border:1px solid var(--border);border-right:none;border-radius:4px 0 0 4px;
  padding:14px 7px;cursor:pointer;text-decoration:none;
  transition:color .35s,background .35s,border-color .35s,padding .35s var(--ease);
}
.file-tab:hover{color:var(--gold);border-color:var(--hairline);padding-right:12px}
.file-tab.active{color:var(--void);background:var(--gold);border-color:var(--gold)}

/* ═══ CUSTOM CURSOR ═══ */
#cursor-ring,#cursor-dot{position:fixed;pointer-events:none;z-index:10002;border-radius:50%;transform:translate(-50%,-50%)}
#cursor-ring{width:36px;height:36px;border:1.5px solid rgba(201,168,76,.9);transition:width .3s var(--ease),height .3s var(--ease),border-color .3s,background .3s;mix-blend-mode:normal}
#cursor-dot{width:4px;height:4px;background:var(--gold)}
#cursor-ring.hover-link{width:56px;height:56px;border-color:var(--gold);background:rgba(201,168,76,.08)}
#cursor-ring.hover-btn{width:22px;height:22px;background:rgba(201,168,76,.25)}
@media (hover:none){#cursor-ring,#cursor-dot{display:none}}

/* ═══ AUDIO TOGGLE ═══ */
#audio-toggle{
  position:fixed;top:24px;right:24px;min-width:42px;height:42px;border-radius:21px;
  border:1px solid var(--hairline);background:rgba(13,13,13,.55);backdrop-filter:blur(8px);
  cursor:pointer;z-index:10001;display:flex;align-items:center;justify-content:center;padding:0 14px 0 12px;gap:8px;
  transition:border-color .4s,opacity .4s,transform .3s var(--ease),background .35s,padding .35s var(--ease);
}
#audio-toggle:hover{border-color:var(--gold);transform:scale(1.04);padding-right:16px}
#audio-toggle svg{width:18px;height:18px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;position:relative;flex:0 0 auto}
#audio-toggle .ic-on,#audio-toggle .ic-off{position:absolute;left:12px}
#audio-toggle.muted .ic-on{opacity:0}
#audio-toggle:not(.muted) .ic-off{opacity:0}
#audio-toggle .audio-label{
  font-family:var(--mono);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  opacity:0;max-width:0;overflow:hidden;transition:opacity .35s,max-width .35s var(--ease);white-space:nowrap;margin-left:22px;
}
#audio-toggle:hover .audio-label,#audio-toggle.on .audio-label{opacity:.9;max-width:90px}
#audio-toggle .audio-ring{
  position:absolute;inset:-4px;border-radius:999px;border:1px solid rgba(201,168,76,0);pointer-events:none;
}
#audio-toggle.on .audio-ring{border-color:rgba(201,168,76,.35);animation:audioPulse 2.4s ease-in-out infinite}
@keyframes audioPulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.08);opacity:1}}
#audio-toggle.on{border-color:rgba(201,168,76,.55);background:rgba(201,168,76,.08)}

/* ═══ SHARED ═══ */
main{position:relative;z-index:5}
section{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
#hero{overflow-x:clip;overflow-y:visible}
.inner{position:relative;z-index:6;width:min(1100px,90vw);margin:0 auto;padding:120px 0}
.kicker{display:inline-block;font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}
.rule{width:60px;height:1px;background:var(--gold);margin:18px 0 26px}
h2{font-family:var(--disp);font-weight:380;font-variation-settings:'opsz' 144;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-0.015em}
.lead{font-family:var(--body);font-variation-settings:'opsz' 24;font-size:clamp(1.15rem,2vw,1.35rem);font-weight:450;line-height:1.65;color:var(--parchment);max-width:56ch}
p{margin-bottom:1.25em;color:rgba(240,235,224,.82);max-width:62ch}
strong{color:var(--gold-bright);font-weight:600}

/* redaction marks — the signature move */
mark.redact{
  position:relative;color:transparent;background:var(--gold);border-radius:1px;
  padding:0 .15em;cursor:default;user-select:none;
  transition:background .8s ease,color .8s ease .3s;
}
.declassified mark.redact{color:var(--gold-bright);background:transparent}
mark.redact::before{
  content:'';position:absolute;inset:0;background:var(--gold);border-radius:1px;
  transform:scaleX(1);transform-origin:left center;transition:transform 1s var(--ease);
}
.declassified mark.redact::before{transform:scaleX(0)}

/* ═══ HERO — cold open, declassification ═══ */
#hero{min-height:100vh;flex-direction:column;justify-content:center}
.hero-bg{position:absolute;inset:-5%;background-size:cover;background-position:center 15%;filter:grayscale(.4) brightness(.55) contrast(1.05);z-index:1;will-change:transform}
.hero-scrim{position:absolute;inset:0;z-index:2;background:
  radial-gradient(120% 90% at 30% 55%,rgba(13,13,13,.32) 0%,rgba(13,13,13,.82) 68%),
  linear-gradient(180deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,.15) 40%,rgba(13,13,13,.9) 100%);}
.hero-frame{position:absolute;inset:26px;border:1px solid rgba(201,168,76,.14);z-index:3;pointer-events:none}
.hero-corner{position:absolute;width:14px;height:14px;z-index:3;pointer-events:none}
.hero-corner::before,.hero-corner::after{content:'';position:absolute;background:var(--gold)}
.hero-corner::before{width:14px;height:1px}
.hero-corner::after{width:1px;height:14px}
.hc-tl{top:26px;left:26px}.hc-tr{top:26px;right:26px;transform:rotate(90deg)}
.hc-bl{bottom:26px;left:26px;transform:rotate(-90deg)}.hc-br{bottom:26px;right:26px;transform:rotate(180deg)}

.hero-meta{
  position:absolute;top:52px;left:60px;z-index:6;font-family:var(--mono);
  font-size:.64rem;letter-spacing:.24em;color:var(--gold-dim);text-transform:uppercase;
}
.hero-meta .fileline{display:block;margin-bottom:6px;opacity:0;transform:translateY(6px);transition:opacity .8s ease,transform .8s var(--ease);color:rgba(201,168,76,.62)}
.booted .hero-meta .fileline{opacity:1;transform:none}
.hero-meta .fileline:nth-child(2){transition-delay:.35s}
.hero-meta .fileline:nth-child(3){transition-delay:.7s}
.hero-meta .st{color:var(--gold)}

.hero-body{position:relative;z-index:6;width:min(1100px,92vw);margin:0 auto;overflow:visible}
.hero-over{font-family:var(--mono);font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:26px;opacity:0;transform:translateY(8px);transition:opacity .9s cubic-bezier(.22,1,.36,1) .15s,transform .9s cubic-bezier(.22,1,.36,1) .15s}
.booted .hero-over{opacity:1;transform:none}
.hero-name{
  font-family:var(--disp);font-weight:340;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;
  font-size:clamp(2.8rem,9.5vw,7.6rem);line-height:1.12;letter-spacing:-0.018em;color:var(--parchment);
  text-shadow:0 4px 60px rgba(0,0,0,.7);
  padding:.12em 0 .06em;
  overflow:visible;
}
/* Reveal without clipping glyphs: mask wipe, not overflow:hidden boxes */
.hero-name .ln{
  display:block;
  overflow:visible;
  line-height:1.12;
}
.hero-name .ln-in{
  display:inline-block;
  opacity:0;
  filter:blur(4px);
  transform:translateY(0.2em);
  transition:opacity .95s cubic-bezier(.22,1,.36,1),filter .95s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1);
}
.booted .hero-name .ln-in{
  opacity:1;
  filter:blur(0);
  transform:none;
}
.hero-name .ln:nth-child(1) .ln-in{transition-delay:.08s}
.hero-name .ln:nth-child(2) .ln-in{transition-delay:.2s}
.hero-body{overflow:visible;max-width:min(1100px,92vw)}
#hero-underline{width:0;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:30px 0 26px;transition:width 1.4s var(--ease) .9s}
#hero-underline.visible{width:min(380px,50vw)}
.hero-sub{font-family:var(--body);font-variation-settings:'opsz' 24;font-style:italic;font-size:clamp(1.2rem,2.4vw,1.55rem);color:var(--gold-bright);max-width:34ch;opacity:0;transform:translateY(10px);transition:opacity 1s cubic-bezier(.22,1,.36,1) .45s,transform 1s cubic-bezier(.22,1,.36,1) .45s}
.booted .hero-sub{opacity:1;transform:none}
.hero-actions{margin-top:30px;display:flex;gap:16px;flex-wrap:wrap;opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1) .55s}
.booted .hero-actions{opacity:1}
.hero-stamp{
  position:absolute;right:6vw;bottom:14vh;z-index:6;transform:rotate(-8deg);
  font-family:var(--mono);font-size:.8rem;font-weight:500;letter-spacing:.5em;text-transform:uppercase;
  color:rgba(201,168,76,.85);border:2px solid rgba(201,168,76,.55);border-radius:3px;padding:12px 26px 12px 32px;
  background:rgba(13,13,13,.45);backdrop-filter:blur(2px);
  opacity:0;scale:3;pointer-events:none;
}
.hero-stamp.slam{animation:stampSlam .5s cubic-bezier(.2,1.6,.35,1) forwards}
@keyframes stampSlam{
  0%{opacity:0;scale:3}
  60%{opacity:1;scale:.92}
  100%{opacity:1;scale:1}
}

/* ═══ BUTTONS — stamped, not rounded ═══ */
.btn{
  display:inline-block;font-family:var(--mono);font-size:.72rem;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;text-decoration:none;
  padding:16px 34px;border:1px solid var(--hairline);color:var(--gold);
  border-radius:2px;position:relative;overflow:hidden;transition:color .4s,border-color .4s;
}
.btn::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.btn:hover{color:var(--void);border-color:var(--gold)}
.btn:hover::before{transform:translateY(0)}
.btn-solid{background:var(--gold);color:var(--void);border-color:var(--gold)}
.btn-solid::before{background:var(--void)}
.btn-solid:hover{color:var(--gold)}

/* ═══ ACT BACKGROUNDS ═══ */
.act-bg{position:absolute;inset:-6%;background-size:cover;background-position:center 18%;z-index:1;filter:grayscale(.5) brightness(.32) contrast(1.05);will-change:transform,filter;transition:filter 1.6s ease}
section.inview .act-bg{filter:grayscale(.1) brightness(.42) contrast(1.02)}
.act-scrim{position:absolute;inset:0;z-index:2;background:
  linear-gradient(100deg,rgba(13,13,13,.92) 0%,rgba(13,13,13,.55) 52%,rgba(13,13,13,.28) 100%);}
.act-index{
  position:absolute;top:70px;left:0;z-index:5;font-family:var(--disp);font-weight:600;
  font-variation-settings:'opsz' 144;font-size:clamp(6rem,13vw,11rem);line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(201,168,76,.22);user-select:none;pointer-events:none;
}

/* ═══ IMAGE GRID — contact sheet ═══ */
.sheet{position:relative;z-index:6;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:48px 0;max-width:760px}
.sheet figure{position:relative;overflow:hidden;border:1px solid var(--border);background:var(--surface);aspect-ratio:4/5}
.sheet figure:first-child{grid-row:span 2;aspect-ratio:auto}
.sheet img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.55) sepia(.25) brightness(.85);transition:filter .9s ease,transform .9s var(--ease)}
.sheet figure:hover img{filter:grayscale(0) sepia(.08) brightness(1);transform:scale(1.04)}
.sheet figcaption{
  position:absolute;left:0;bottom:0;right:0;font-family:var(--mono);font-size:.56rem;letter-spacing:.18em;
  color:var(--gold-dim);background:linear-gradient(0deg,rgba(13,13,13,.85),transparent);
  padding:20px 10px 8px;text-transform:uppercase;
}

/* ═══ EXHIBIT A — the book ═══ */
.exhibit{position:relative;z-index:7;border:1px solid var(--hairline);background:rgba(20,20,20,.5);backdrop-filter:blur(4px);margin-top:70px}
.exhibit-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim)}
.exhibit-bar b{color:var(--gold);font-weight:500}
.book-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding:48px 40px}
.book-visual{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center}
#book-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}
#book-canvas.ready{animation:bookIn 1s var(--ease) both}
@keyframes bookIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
#book-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}
#book-loader.hidden{display:none}
.book-loader-shimmer{width:180px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:shimmer 1.4s infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.book-fallback-wrap{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:1}
.book-fallback-frame{position:relative}
.book-fallback{max-height:500px;width:auto;border:1px solid var(--hairline);box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 60px rgba(201,168,76,.08)}
#book-hint{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%) translateY(8px);
  font-family:var(--mono);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-dim);opacity:0;pointer-events:none;z-index:5;transition:opacity .6s,transform .6s var(--ease);
  white-space:nowrap;
}
#book-hint.show{opacity:.85;transform:translateX(-50%) translateY(0)}

.book-pages-ui{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  display:flex;align-items:center;gap:14px;z-index:6;
  font-family:var(--mono);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);background:rgba(13,13,13,.55);border:1px solid rgba(201,168,76,.28);
  padding:8px 12px;backdrop-filter:blur(8px);border-radius:2px;
}
.book-pages-ui button{
  background:none;border:0;color:var(--gold);font-size:1.1rem;cursor:pointer;line-height:1;padding:0 4px;
}
.book-pages-ui button:hover{color:var(--gold-bright)}

#book-hint.hide{opacity:0;transform:translateX(-50%) translateY(6px)}
#diag-mode,#diag-tier{display:none}
.exhibit-quote{font-family:var(--disp);font-style:italic;font-weight:380;font-variation-settings:'opsz' 60;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.4;color:var(--gold-bright);border-left:1px solid var(--gold);padding-left:24px;margin:26px 0}
.exhibit-quote footer{font-family:var(--mono);font-style:normal;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-top:14px}
.sheet img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.35) sepia(.12) brightness(.95);transition:filter .9s ease,transform .9s var(--ease)}
.sheet figure:hover img{filter:grayscale(0) sepia(.04) brightness(1.02);transform:scale(1.04)}
.prestige-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.08) contrast(1.04) brightness(.98)}
.prestige-frame:hover img{filter:grayscale(0) contrast(1.05) brightness(1.02);transform:scale(1.04)}

/* ═══ IMPACT GRID ═══ */
.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin-top:52px;max-width:860px}
.impact-card{background:var(--void);padding:26px 24px;transition:background .45s}
.impact-card:hover{background:var(--surface)}
.impact-num{font-family:var(--disp);font-weight:500;font-variation-settings:'opsz' 100;font-size:1.5rem;color:var(--gold);margin-bottom:10px;letter-spacing:.02em}
.impact-card p{font-size:.92rem;line-height:1.6;color:rgba(240,235,224,.72);margin:0}

/* ═══ GALLERY — contact roll ═══ */
.gallery-section .inner{width:min(1200px,92vw)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,42vw),1fr));gap:12px;margin-top:48px}
.gallery-item{position:relative;overflow:hidden;border:1px solid var(--border);aspect-ratio:1;cursor:pointer;background:var(--surface)}
.gallery-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) brightness(.85);transition:filter .8s ease,transform .8s var(--ease)}
.gallery-item:hover img{filter:grayscale(0) brightness(1);transform:scale(1.05)}
.gallery-item::after{
  content:counter(frame,decimal-leading-zero);counter-increment:frame;
  position:absolute;top:8px;left:10px;font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;color:var(--gold-dim);
}
.gallery-grid{counter-reset:frame}

/* ═══ LIGHTBOX ═══ */
#lightbox{position:fixed;inset:0;z-index:10003;background:rgba(5,5,5,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
#lightbox.on{opacity:1;visibility:visible}
#lb-img{max-width:88vw;max-height:86vh;border:1px solid var(--hairline);animation:lbin .5s var(--ease)}
@keyframes lbin{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.lb-prev,.lb-next,.lb-close{position:absolute;background:none;border:1px solid var(--hairline);color:var(--gold);font-family:var(--mono);font-size:1rem;width:48px;height:48px;cursor:pointer;transition:background .3s,color .3s}
.lb-prev:hover,.lb-next:hover,.lb-close:hover{background:var(--gold);color:var(--void)}
.lb-prev{left:26px;top:50%;transform:translateY(-50%)}
.lb-next{right:26px;top:50%;transform:translateY(-50%)}
.lb-close{top:26px;right:26px}

/* ═══ CONTACT — sealed ═══ */
.contact-section{min-height:80vh}
.contact-seal{
  display:inline-block;transform:rotate(-3deg);border:2px solid var(--gold);border-radius:3px;
  padding:10px 24px;font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.42em;
  text-transform:uppercase;color:var(--gold);margin-bottom:38px;
}
.contact-mail{
  font-family:var(--disp);font-weight:420;font-variation-settings:'opsz' 144;
  font-size:clamp(1.6rem,4vw,3rem);color:var(--parchment);text-decoration:none;
  border-bottom:1px solid var(--hairline);transition:color .4s,border-color .4s;
}
.contact-mail:hover{color:var(--gold-bright);border-color:var(--gold)}
.social-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:48px}
.social-link{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;border:1px solid var(--border);padding:13px 22px;border-radius:2px;
  transition:color .35s,border-color .35s,transform .35s var(--ease);
}
.social-link:hover{color:var(--gold);border-color:var(--hairline);transform:translateY(-3px)}
.social-link.book-link{color:var(--gold);border-color:var(--hairline)}

/* ═══ FOOTER ═══ */
footer.site{position:relative;z-index:5;border-top:1px solid var(--border);padding:34px 5vw;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
footer.site span{font-family:var(--mono);font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}

/* ═══ REVEAL ═══ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s ease,transform 1s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* ═══ RESPONSIVE ═══ */
@media (max-width:900px){
  .book-grid{grid-template-columns:1fr;padding:32px 24px}
  .book-visual{min-height:420px}
  .dossier-tabs{flex-direction:row;top:auto;bottom:0;right:0;left:0;transform:none;justify-content:center;background:rgba(13,13,13,.85);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:8px;gap:2px}
  .file-tab{writing-mode:horizontal-tb;padding:10px 10px;border:1px solid transparent;border-radius:2px}
  .file-tab:hover{padding-right:10px}
  .hero-stamp{display:none}
  .hero-meta{left:8vw;top:96px}
  .sheet{grid-template-columns:1fr 1fr}
  .sheet figure:first-child{grid-column:span 2;aspect-ratio:16/10}
  #audio-toggle{top:16px;right:16px}
  main{padding-bottom:64px}
  #chapter-marker{display:none}
  /* scroll-cue mobile handled in v77 */
}
@media (max-width:480px){
  .hero-name{font-size:clamp(2.6rem,12.5vw,3.8rem);line-height:1.14;letter-spacing:-0.01em}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:12px}
  .hero-actions .btn{width:100%;text-align:center}
  .file-tab{font-size:.58rem;letter-spacing:.1em;padding:10px 7px}
  #audio-toggle{width:auto;min-width:44px;height:44px}
  .inner{padding:90px 0}
  .exhibit-quote{font-size:1.15rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}
  #particle-canvas,#swirl-canvas{display:none}
}

/* ═══ V4 CINEMATIC / PRESTIGE / CONTRAST ═══ */
:root{
  --scroll-vel:0;
  --grain-boost:.04;
  --panel:rgba(13,13,13,.78);
  --panel-solid:rgba(18,18,18,.92);
}
.has-cursor, .has-cursor *{cursor:none!important}
.has-cursor a, .has-cursor button, .has-cursor .channel, .has-cursor .channel *{cursor:none!important}
body::after{opacity:var(--grain-boost)!important}

/* readable text panels */
.prose-panel{
  background:linear-gradient(135deg,rgba(13,13,13,.88),rgba(13,13,13,.72));
  border:1px solid rgba(201,168,76,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:28px 30px 18px;
  max-width:62ch;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.prose-panel p{color:rgba(240,235,224,.9)}
.prose-panel .lead{color:var(--parchment)}

/* stronger scrims for readability */
.act-scrim{background:
  linear-gradient(105deg,rgba(13,13,13,.94) 0%,rgba(13,13,13,.78) 38%,rgba(13,13,13,.45) 68%,rgba(13,13,13,.55) 100%),
  radial-gradient(80% 70% at 70% 40%,transparent 0%,rgba(13,13,13,.4) 100%)!important}
#al-thani .act-scrim{background:
  linear-gradient(115deg,rgba(8,7,4,.9) 0%,rgba(13,11,6,.72) 42%,rgba(20,16,8,.4) 100%),
  radial-gradient(70% 60% at 75% 35%,rgba(201,168,76,.08),transparent 60%)!important}
#al-thani{isolation:isolate}
#al-thani .act-bg{filter:grayscale(.15) brightness(.45) contrast(1.08) saturate(1.05)!important}
#al-thani.inview .act-bg{filter:grayscale(0) brightness(.52) contrast(1.06) saturate(1.1)!important}

/* section min-heights: less empty void */
section{min-height:auto}
#hero{min-height:100vh}
#michael-jackson,#al-thani,#kinderlachen{min-height:min(100vh,auto)}
.inner{padding:100px 0 110px}
.contact-section{min-height:70vh}

/* cine sweep */
.cine-sweep{
  position:absolute;left:0;right:0;top:18%;height:1px;z-index:8;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transform:scaleX(0);opacity:0;transform-origin:left center;
}
.cine-sweep.go{animation:cineSweep 1.15s var(--ease) forwards}
@keyframes cineSweep{
  0%{transform:scaleX(0);opacity:0}
  18%{opacity:1}
  100%{transform:scaleX(1);opacity:0}
}
section.cine-in .act-index{-webkit-text-stroke-color:rgba(201,168,76,.34)}

/* chapter flash */
html.chapter-flash::before{
  content:'';position:fixed;inset:0;z-index:9997;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(201,168,76,.12),transparent 55%);
  animation:chFlash .45s ease forwards;
}
@keyframes chFlash{from{opacity:1}to{opacity:0}}
html.stamp-bloom #hero::after{
  content:'';position:absolute;inset:0;z-index:4;pointer-events:none;
  background:radial-gradient(circle at 78% 72%,rgba(201,168,76,.16),transparent 42%);
  animation:bloomFade .9s ease forwards;
}
@keyframes bloomFade{from{opacity:1}to{opacity:0}}

/* photo develop */
.sheet figure,.gallery-item,.prestige-frame{
  opacity:.12;transform:translateY(14px) scale(.99);filter:blur(3px) grayscale(.8);
  transition:opacity .85s var(--ease),transform .85s var(--ease),filter 1s ease, box-shadow .5s ease;
}
.sheet figure.developed,.gallery-item.developed,.prestige-frame.developed{
  opacity:1;transform:none;filter:none;
}
.sheet figure,.prestige-frame{transform-style:preserve-3d}
.sheet img,.prestige-frame img,.gallery-item img{transition:filter .9s ease,transform .9s var(--ease)}

/* prestige alliance */
.prestige-banner{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  margin:8px 0 28px;padding:14px 18px;
  border:1px solid rgba(201,168,76,.28);
  background:linear-gradient(90deg,rgba(201,168,76,.1),rgba(201,168,76,.02) 55%,transparent);
  position:relative;overflow:hidden;
}
.prestige-banner .pb-seal{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--void);background:var(--gold);padding:8px 12px;font-weight:500;
}
.prestige-banner .pb-line{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-bright);
}
.prestige-foil{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,236,180,.22) 48%,transparent 62%);
  transform:translateX(-120%);
}
.prestige-foil.run{animation:foilRun 1.6s var(--ease) forwards}
@keyframes foilRun{to{transform:translateX(120%)}}

.prestige-stage{
  display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin:36px 0 28px;max-width:980px;
}
.prestige-frame{
  position:relative;overflow:hidden;border:1px solid rgba(201,168,76,.35);
  background:var(--surface);aspect-ratio:4/5;
  box-shadow:0 0 0 1px rgba(201,168,76,.08),0 30px 80px rgba(0,0,0,.45);
}
.prestige-frame.wide{aspect-ratio:16/11}
.prestige-frame::before{
  content:'';position:absolute;inset:8px;border:1px solid rgba(201,168,76,.2);z-index:2;pointer-events:none;
}
.prestige-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.2) contrast(1.05) brightness(.92)}
.prestige-frame:hover img{filter:grayscale(0) contrast(1.06) brightness(1);transform:scale(1.04)}
.prestige-frame figcaption{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-bright);padding:28px 14px 12px;
  background:linear-gradient(0deg,rgba(8,7,4,.9),transparent);
}
.prestige-side{display:flex;flex-direction:column;gap:14px}
.prestige-quote{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  border:1px solid rgba(201,168,76,.22);padding:28px 24px;
  background:rgba(13,11,6,.72);backdrop-filter:blur(8px);
}
.prestige-quote p{
  font-family:var(--disp);font-style:italic;font-weight:380;font-variation-settings:'opsz' 72;
  font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.35;color:var(--gold-bright);margin:0 0 16px;max-width:none;
}
.prestige-quote footer{font-family:var(--mono);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}

#al-thani .impact-card{
  background:linear-gradient(160deg,rgba(20,18,12,.95),rgba(13,13,13,.98));
  border-top:1px solid rgba(201,168,76,.15);
}
#al-thani .impact-card.pop{animation:cardPop .7s var(--ease) forwards}
@keyframes cardPop{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.impact-card{opacity:1;transform:none}
.impact-card.pop{opacity:1;transform:none}

/* sheet scroll variant */
.sheet-scroll{
  display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:8px;margin:40px 0;max-width:100%;
  scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent;
  cursor:grab;
}
.sheet-scroll.dragging{cursor:grabbing}
.sheet-scroll figure{
  flex:0 0 min(220px,70vw);scroll-snap-align:start;aspect-ratio:4/5;margin:0;
}
.sheet-scroll figure:first-child{flex-basis:min(280px,78vw)}

/* exhibit upgrades */
.exhibit{
  background:linear-gradient(165deg,rgba(24,22,16,.85),rgba(14,14,14,.9))!important;
  border-color:rgba(201,168,76,.28)!important;
  box-shadow:0 40px 100px rgba(0,0,0,.45), inset 0 1px 0 rgba(201,168,76,.08);
}
.pub-note{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:14px;text-align:center}
.book-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.btn-ghost{background:transparent}

/* chips */
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}
.chip{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
  border:1px solid rgba(201,168,76,.25);color:var(--gold);padding:8px 12px;border-radius:2px;
  background:rgba(201,168,76,.06);
}

/* gallery captions */
.gallery-item .g-cap{
  position:absolute;left:0;right:0;bottom:0;padding:22px 10px 10px;
  font-family:var(--mono);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-bright);background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);
  opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s var(--ease);
}
.gallery-item:hover .g-cap{opacity:1;transform:none}
/* develop engine owns opacity — do not force 0 here */

/* lightbox caption */
#lb-cap{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  font-family:var(--mono);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);white-space:nowrap;
}

/* cursor upgrades */
#cursor-ring{
  width:36px;height:36px;border:1px solid rgba(201,168,76,.55);
  transition:width .35s var(--ease),height .35s var(--ease),border-color .3s,background .3s,opacity .3s;
  mix-blend-mode:difference;
}
#cursor-ring.hover-media{width:72px;height:72px;border-color:var(--gold);background:rgba(201,168,76,.06)}
#cursor-ring.pressed{transform:translate(-50%,-50%) scale(.82)!important}
#cursor-dot{width:5px;height:5px;box-shadow:0 0 12px rgba(201,168,76,.6)}

/* contact channels */
.channels{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);border:1px solid var(--border);margin-top:42px;max-width:920px;
}
.channel{
  background:var(--void);padding:26px 22px;transition:background .4s,transform .4s var(--ease);
}
.channel:hover{background:var(--surface)}
.channel .ch-label{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;font-weight:500;
}
.channel{cursor:pointer;position:relative}
.channel a{pointer-events:auto!important;z-index:3}
/* channel hit */
.channel a{pointer-events:auto;position:relative;z-index:2;

  font-family:var(--body);font-size:1.05rem;color:var(--parchment);text-decoration:none;
  background:linear-gradient(90deg,var(--gold),var(--gold)) var(--mx,0%) / 0 1px no-repeat;
  background-position:var(--mx,0%) 100%;
  transition:background-size .35s var(--ease),color .35s;
}
.channel a:hover{color:var(--gold-bright);background-size:100% 1px}
.channel p{font-size:.88rem;color:rgba(240,235,224,.55);margin:10px 0 0;max-width:28ch}

/* reveal richer */
.reveal{opacity:0;transform:translateY(32px);filter:blur(4px);transition:opacity 1.05s ease,transform 1.05s var(--ease),filter .9s ease}
.reveal.visible{opacity:1;transform:none;filter:none}

/* hero polish */
.hero-name{text-wrap:balance}
.hero-actions .btn-solid{box-shadow:0 0 0 1px rgba(201,168,76,.3),0 12px 40px rgba(201,168,76,.12)}
.hero-actions .btn-solid:hover{box-shadow:0 0 0 1px var(--gold),0 16px 50px rgba(201,168,76,.22)}

/* ═══ FACE-SAFE CROPS — never chop heads ═══ */
.hero-bg{background-position:center 12%!important}
.act-bg{background-position:center 16%!important}
#michael-jackson .act-bg{background-position:center 14%!important}
#al-thani .act-bg{background-position:center 18%!important}
#kinderlachen .act-bg{background-position:center 20%!important}
.sheet img,
.prestige-frame img,
.gallery-item img,
.book-fallback{
  object-fit:cover!important;
  object-position:center 16%!important;
}
/* tall first contact-sheet frame still keeps faces */
.sheet figure:first-child img{object-position:center 14%!important}
.prestige-frame.wide img{object-position:center 22%!important}
/* portraits that are already head-heavy can sit slightly lower */
.gallery-item img{object-position:center 18%!important}

/* ═══ ABNORMAL LAYER ═══ */
#chapter-cut{
  position:fixed;inset:0;z-index:10050;pointer-events:none;
  display:flex;align-items:center;justify-content:center;gap:0;
  opacity:0;visibility:hidden;
}
#chapter-cut.go{opacity:1;visibility:visible}
#chapter-cut i{
  flex:1;height:100%;background:#050505;
  transform:scaleY(0);transform-origin:center;
}
#chapter-cut.go i{animation:cutBar .45s var(--ease) forwards}
#chapter-cut i:first-child{transform-origin:top}
#chapter-cut i:last-child{transform-origin:bottom}
#chapter-cut b{
  position:absolute;font-family:var(--disp);font-size:clamp(4rem,15vw,9rem);
  font-variation-settings:'opsz' 144;color:transparent;-webkit-text-stroke:1px var(--gold);
  opacity:0;letter-spacing:.08em;
}
#chapter-cut.go b{animation:cutNum .45s var(--ease) forwards}
@keyframes cutBar{0%{transform:scaleY(0)}35%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes cutNum{0%{opacity:0;transform:scale(1.4)}40%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}

#cursor-label{
  position:fixed;z-index:10003;pointer-events:none;transform:translate(-50%,0);
  font-family:var(--mono);font-size:.52rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);opacity:0;transition:opacity .25s;white-space:nowrap;
  text-shadow:0 0 12px rgba(0,0,0,.8);
}
#cursor-label.on{opacity:.9}
#cursor-scan{
  position:absolute;left:10%;right:10%;height:1px;top:50%;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0;pointer-events:none;
}
#cursor-ring.mode-redact,#cursor-ring.mode-book{
  width:64px;height:64px;border-color:var(--gold);background:rgba(201,168,76,.06);
}
#cursor-ring.mode-redact #cursor-scan,
#cursor-ring.mode-book #cursor-scan{opacity:1;animation:scanY 1s linear infinite}
#cursor-ring.mode-media{width:70px;height:70px;border-radius:4px;border-color:var(--gold)}
#cursor-ring.mode-cta{width:48px;height:48px;background:rgba(201,168,76,.2)}
#cursor-ring.mode-link{width:52px;height:52px;border-color:var(--gold-bright)}
@keyframes scanY{0%{top:20%;opacity:0}20%{opacity:1}80%{opacity:1}100%{top:80%;opacity:0}}

/* filmstrip archive */
.filmstrip{display:block!important;margin-top:36px;position:relative}
.filmstrip::before,.filmstrip::after{
  content:'';position:absolute;left:0;right:0;height:14px;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 14px,rgba(201,168,76,.25) 14px 18px,transparent 18px 28px);
  opacity:.55;
}
.filmstrip::before{top:-6px}
.filmstrip::after{bottom:-6px}
.film-track{
  display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:18px 4px 22px;cursor:grab;
  scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent;
}
.film-track.dragging{cursor:grabbing}
.film-frame{
  flex:0 0 min(260px,72vw);scroll-snap-align:start;
  position:relative;aspect-ratio:3/4;border:1px solid rgba(201,168,76,.28);
  background:#0a0a0a;padding:0;overflow:hidden;cursor:pointer;
  transform:translateY(12px);opacity:.3;transition:opacity .7s,transform .7s var(--ease),border-color .35s;
}
.film-frame.developed,.film-frame.visible{opacity:1;transform:none}
.film-frame img{
  width:100%;height:100%;object-fit:cover;object-position:center 16%;
  filter:grayscale(.45) contrast(1.05);transition:filter .7s,transform .7s var(--ease);
}
.film-frame:hover img,.film-frame:focus-visible img{filter:grayscale(0) contrast(1.06);transform:scale(1.04)}
.film-frame:hover{border-color:var(--gold)}
.film-meta{
  position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;
  background:linear-gradient(0deg,rgba(0,0,0,.88),transparent);
  display:flex;flex-direction:column;gap:3px;align-items:flex-start;
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;
}
.film-meta b{font-size:.58rem;color:var(--gold);font-weight:500}
.film-meta i{font-size:.5rem;color:var(--gold-dim);font-style:normal}
.film-meta em{font-size:.62rem;color:var(--parchment);font-style:normal;letter-spacing:.12em;margin-top:4px}
.film-sprocket{
  position:absolute;left:0;right:0;top:0;height:10px;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(90deg,#0d0d0d 0 10px,transparent 10px 16px);
  opacity:.7;
}

/* Royal cinema — Al Thani full bleed */
.royal-cinema{
  position:relative;width:min(1100px,92vw);margin:28px 0 40px;
  min-height:min(72vh,640px);border:1px solid rgba(201,168,76,.35);
  overflow:hidden;isolation:isolate;
  box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 0 1px rgba(201,168,76,.08);
}
.royal-cinema .rc-bg{
  position:absolute;inset:-4%;background-size:cover;background-position:center 14%;
  filter:grayscale(.1) contrast(1.05) brightness(.78);
  transform:scale(1.04);transition:transform 1.8s var(--ease),filter 1.4s ease;
}
.royal-cinema.cine-in .rc-bg,
.royal-cinema.inview .rc-bg,
section.cine-in .royal-cinema .rc-bg{transform:scale(1);filter:grayscale(0) contrast(1.06) brightness(.9)}
.royal-cinema .rc-scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,rgba(8,7,4,.82) 0%,rgba(8,7,4,.25) 55%,rgba(8,7,4,.55) 100%),
    radial-gradient(60% 70% at 70% 40%,rgba(201,168,76,.12),transparent 60%);
}
.royal-cinema .rc-frame{position:absolute;inset:14px;border:1px solid rgba(201,168,76,.22);pointer-events:none;z-index:2}
.royal-cinema .rc-copy{
  position:relative;z-index:3;max-width:28ch;padding:min(12vh,90px) 8% 48px;
}
.royal-cinema .rc-kicker{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);
}
.royal-cinema h3{
  font-family:var(--disp);font-weight:380;font-variation-settings:'opsz' 144;
  font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;margin:16px 0 14px;color:var(--parchment);
  text-shadow:0 8px 40px rgba(0,0,0,.55);
}
.royal-cinema .rc-copy p{
  font-family:var(--body);font-style:italic;font-size:clamp(1.05rem,2vw,1.25rem);
  color:var(--gold-bright);max-width:28ch;margin:0;
}
.royal-cinema .rc-foil{
  position:absolute;inset:0;pointer-events:none;z-index:4;
  background:linear-gradient(110deg,transparent 35%,rgba(255,236,180,.18) 48%,transparent 60%);
  transform:translateX(-130%);
}
.royal-cinema.cine-in .rc-foil,
#al-thani.cine-in .rc-foil{animation:foilRun 1.8s var(--ease) .2s forwards}

@media (max-width:900px){
  
  .royal-cinema{min-height:58vh}
  .film-frame{flex-basis:min(220px,78vw)}
}

/* ═══ NO HORIZONTAL RUBBER-BAND ═══ */
html, body{
  overflow-x:hidden!important;
  max-width:100%;
  width:100%;
  position:relative;
}
body{overscroll-behavior-x:none}
main, .inner, footer.site, .gallery-section, .filmstrip, .royal-cinema, .prestige-stage, .book-grid, .channels{
  max-width:100%;
}
#particle-canvas, #swirl-canvas{
  width:100%!important;
  height:100%!important;
}
.filmstrip{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.film-track{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  -webkit-overflow-scrolling:touch;
}
.sheet-scroll{
  max-width:100%;
  overscroll-behavior-x:contain;
}
.prestige-foil, .rc-foil, .cine-sweep{
  contain:paint;
}

/* ═══ UNMISSABLE TELLS ═══ */
#progress{height:3px!important;box-shadow:0 0 12px rgba(201,168,76,.55)}

#chapter-cut b{
  -webkit-text-stroke:2px var(--gold)!important;
  filter:drop-shadow(0 0 24px rgba(201,168,76,.5));
}
.royal-cinema{
  min-height:min(78vh,720px)!important;
  outline:1px solid rgba(201,168,76,.18);
  outline-offset:6px;
}
.royal-cinema .rc-kicker::before{content:'';}
.filmstrip{
  border-top:1px solid rgba(201,168,76,.22);
  border-bottom:1px solid rgba(201,168,76,.22);
  padding-top:10px;
  background:linear-gradient(180deg,rgba(201,168,76,.05),transparent 28%,transparent 72%,rgba(201,168,76,.05));
}
.gallery-section .kicker::after{content:'';}
#book-pages-ui{
  border-color:rgba(201,168,76,.55)!important;
  box-shadow:0 8px 30px rgba(0,0,0,.45);
}
#cursor-label.on{
  opacity:1!important;
  background:rgba(13,13,13,.8);
  padding:4px 8px;
  border:1px solid rgba(201,168,76,.35);
}

/* ═══════════════════════════════════════════
   LUXURY WONDER v60 — material, timeline,
   pinned cinema, empty beat, exhibit plates
   ═══════════════════════════════════════════ */
:root{
  --void:#0c0b0a;
  --surface:#121110;
  --ink:#1a1814;
  --paper:rgba(240,235,224,.035);
  --double:rgba(201,168,76,.22);
}
html{background:var(--void)}
body{
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(201,168,76,.04), transparent 50%),
    var(--void);
}

/* paper panels */
.prose-panel{
  position:relative;
  background:
    linear-gradient(135deg, rgba(18,17,14,.92), rgba(12,11,10,.88)),
    var(--paper);
  border:1px solid rgba(201,168,76,.14);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.4),
    0 24px 60px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(12px) saturate(1.05);
}
.prose-panel::before{
  content:'';position:absolute;inset:5px;border:1px solid rgba(201,168,76,.08);pointer-events:none;
}

/* double hairline exhibits */
.exhibit{
  border:1px solid rgba(201,168,76,.32)!important;
  box-shadow:
    0 0 0 1px rgba(201,168,76,.1),
    0 0 0 5px rgba(12,11,10,.9),
    0 0 0 6px rgba(201,168,76,.12),
    0 50px 120px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(201,168,76,.1)!important;
  background:
    linear-gradient(165deg, rgba(28,24,18,.9), rgba(12,11,10,.94))!important;
}
.exhibit-bar{
  background:linear-gradient(90deg, rgba(201,168,76,.08), transparent 60%);
}

/* sheet frames = plate */
.sheet figure, .prestige-frame, .film-frame{
  box-shadow:0 0 0 1px rgba(201,168,76,.1), 0 16px 40px rgba(0,0,0,.35);
}
.sheet figcaption, .prestige-frame figcaption{
  letter-spacing:.2em;
}

/* ── Timeline ── */
.timeline{
  position:relative;
  margin:48px 0 20px;
  padding:28px 0 8px;
  max-width:860px;
}
.timeline::before{
  content:'';position:absolute;left:0;right:0;top:42px;height:1px;
  background:linear-gradient(90deg, transparent, var(--gold) 10%, var(--gold) 90%, transparent);
  opacity:.45;
}
.timeline-track{
  display:flex;justify-content:space-between;gap:8px;position:relative;z-index:1;
  flex-wrap:wrap;
}
.tl-node{
  flex:1 1 120px;text-align:center;cursor:default;
  opacity:0;transform:translateY(12px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.tl-node.visible, .timeline.reveal.visible .tl-node{opacity:1;transform:none}
.tl-node:nth-child(1){transition-delay:.05s}
.tl-node:nth-child(2){transition-delay:.12s}
.tl-node:nth-child(3){transition-delay:.19s}
.tl-node:nth-child(4){transition-delay:.26s}
.tl-node:nth-child(5){transition-delay:.33s}
.tl-dot{
  width:9px;height:9px;border-radius:50%;margin:0 auto 12px;
  background:var(--void);border:1px solid var(--gold);
  box-shadow:0 0 0 4px rgba(201,168,76,.08);
}
.tl-node:hover .tl-dot, .tl-node.is-active .tl-dot{
  background:var(--gold);box-shadow:0 0 16px rgba(201,168,76,.45);
}
.tl-year{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  margin-bottom:6px;
}
.tl-label{
  font-family:var(--body);font-size:.92rem;color:rgba(240,235,224,.72);line-height:1.35;
  max-width:14ch;margin:0 auto;
}

/* ── Empty luxury beat ── */
.luxury-void{
  position:relative;
  min-height:42vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  border-top:1px solid rgba(201,168,76,.1);
  border-bottom:1px solid rgba(201,168,76,.1);
  margin:0;
  overflow:hidden;
}
.luxury-void::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(50% 60% at 50% 50%, rgba(201,168,76,.06), transparent 70%);
}
.luxury-void blockquote{
  position:relative;z-index:1;
  font-family:var(--disp);font-style:italic;font-weight:340;
  font-variation-settings:'opsz' 72;
  font-size:clamp(1.4rem,3.2vw,2.2rem);
  line-height:1.35;color:var(--gold-bright);
  max-width:18ch;margin:0;padding:0 6vw;
  text-wrap:balance;
}
.luxury-void footer{
  display:block;margin-top:22px;
  font-family:var(--mono);font-style:normal;font-size:.6rem;
  letter-spacing:.34em;text-transform:uppercase;color:var(--muted);
}

/* ── Al Thani pinned cinema boost ── */
.royal-cinema{
  position:relative;
  min-height:min(82vh,760px)!important;
  display:flex;align-items:flex-end;
}
.royal-cinema .rc-bg{
  transition:transform 2.2s var(--ease), filter 1.6s ease;
}
#al-thani.cine-in .royal-cinema .rc-bg{
  transform:scale(1.02);
}
.royal-cinema .rc-copy h3{
  font-size:clamp(2.4rem,5.5vw,4rem)!important;
}
.royal-seal{
  position:absolute;top:22px;right:22px;z-index:5;
  font-family:var(--mono);font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--void);background:var(--gold);padding:8px 12px;
  box-shadow:0 8px 30px rgba(0,0,0,.35);
}

/* dossier side depth tick */
.depth-rail{
  position:fixed;left:0;top:0;bottom:0;width:3px;z-index:1000;pointer-events:none;
  background:linear-gradient(180deg, transparent, rgba(201,168,76,.15) 20%, rgba(201,168,76,.35) 50%, rgba(201,168,76,.15) 80%, transparent);
  opacity:.55;
  transform:scaleY(0);transform-origin:top center;
  transition:transform .2s linear;
}

/* selection already gold — strengthen */
::selection{background:var(--gold);color:var(--void)}

/* mobile: kill heavy atmosphere */
@media (max-width:900px){
  #particle-canvas, #swirl-canvas{opacity:.25!important}
  .timeline-track{gap:16px}
  .tl-node{flex:1 1 40%}
  .depth-rail{display:none}
  .luxury-void{min-height:32vh}
}
@media (max-width:600px){
  #particle-canvas, #swirl-canvas{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .depth-rail, .royal-cinema .rc-bg{transition:none!important}
}

/* book canvas affordance */
#book-canvas.ready{cursor:grab}
#book-canvas.ready:active{cursor:grabbing}
.book-cta-hint{
  position:absolute;top:14px;right:14px;z-index:6;
  font-family:var(--mono);font-size:.52rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-dim);pointer-events:none;
  opacity:0;transition:opacity .5s;
}
.book-visual:hover .book-cta-hint{opacity:.8}

/* ═══ EXHIBIT B · PRIVATE CALL ═══ */
.exhibit-b{
  margin:56px 0 0;
  border:1px solid rgba(201,168,76,.28);
  box-shadow:
    0 0 0 1px rgba(201,168,76,.08),
    0 0 0 5px rgba(12,11,10,.92),
    0 0 0 6px rgba(201,168,76,.1),
    0 40px 100px rgba(0,0,0,.45);
  background:linear-gradient(165deg, rgba(24,20,16,.94), rgba(12,11,10,.96));
  position:relative;
  overflow:hidden;
}
.exhibit-b .exhibit-bar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 18px;border-bottom:1px solid rgba(201,168,76,.15);
  font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);background:linear-gradient(90deg,rgba(201,168,76,.08),transparent 70%);
}
.exhibit-b-grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:0;
  min-height:min(52vh,480px);
}
@media(max-width:820px){.exhibit-b-grid{grid-template-columns:1fr;min-height:0}}
.exhibit-b-media{
  position:relative;background:#080807;min-height:280px;
  display:flex;align-items:center;justify-content:center;
  border-right:1px solid rgba(201,168,76,.12);
}
@media(max-width:820px){.exhibit-b-media{border-right:0;border-bottom:1px solid rgba(201,168,76,.12)}}
.exhibit-b-media .eb-wave{
  position:absolute;inset:0;opacity:.35;pointer-events:none;
  background:
    repeating-linear-gradient(90deg, transparent, transparent 3px, rgba(201,168,76,.04) 3px, rgba(201,168,76,.04) 4px),
    radial-gradient(80% 60% at 50% 50%, rgba(201,168,76,.08), transparent 70%);
}

.exhibit-b-body{
  padding:clamp(22px,4vw,36px);
  display:flex;flex-direction:column;justify-content:center;
}
.exhibit-b-body .eb-kicker{
  font-family:var(--mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);
  margin-bottom:14px;
}
.exhibit-b-body h3{
  font-family:var(--disp);font-weight:340;font-variation-settings:'opsz' 72;
  font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;color:var(--parchment);
  margin:0 0 16px;max-width:16ch;
}
.exhibit-b-body .eb-lead{
  font-family:var(--body);font-size:1.05rem;line-height:1.65;color:rgba(240,235,224,.88);
  max-width:36ch;margin:0 0 18px;
}
.exhibit-b-body .eb-note{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);line-height:1.6;margin:0 0 22px;max-width:42ch;
}
.exhibit-b-body .eb-actions{display:flex;flex-wrap:wrap;gap:10px}

.booted .hero-role{font-family:var(--mono);font-size:clamp(.62rem,.9vw,.72rem);letter-spacing:.28em;text-transform:uppercase;color:rgba(240,235,224,.55);margin:14px 0 0;max-width:42ch;opacity:0;transform:translateY(8px);transition:opacity .9s cubic-bezier(.22,1,.36,1) .5s,transform .9s cubic-bezier(.22,1,.36,1) .5s}

/* ═══ CURSOR VISIBLE + ACT-INDEX SAFE ═══ */
.has-cursor, .has-cursor *{cursor:none!important}
.has-cursor a, .has-cursor button, .has-cursor .channel, .has-cursor .channel *{cursor:none!important}
#cursor-ring{
  position:fixed!important;
  width:36px!important;height:36px!important;
  border:1.5px solid rgba(201,168,76,.95)!important;
  background:rgba(201,168,76,.12)!important;
  border-radius:50%!important;
  pointer-events:none!important;
  z-index:10050!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  box-shadow:0 0 0 1px rgba(12,11,10,.5), 0 0 20px rgba(201,168,76,.35)!important;
  transition:width .25s var(--ease), height .25s var(--ease), background .25s, border-color .25s!important;
}
#cursor-dot{
  position:fixed!important;
  width:6px!important;height:6px!important;
  background:#e8c36a!important;
  border-radius:50%!important;
  pointer-events:none!important;
  z-index:10051!important;
  opacity:1!important;
  box-shadow:0 0 10px rgba(201,168,76,.8)!important;
  mix-blend-mode:normal!important;
}
#cursor-label{
  position:fixed!important;
  z-index:10052!important;
  pointer-events:none!important;
  transform:translate(-50%,0);
  font-family:var(--mono);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-bright);white-space:nowrap;
  opacity:0;transition:opacity .2s;
}
#cursor-label.on{opacity:1!important}
/* do NOT hide cursor in reduced-motion desktop */
@media (hover:none){
  #cursor-ring,#cursor-dot,#cursor-label{display:none!important}
  .has-cursor, .has-cursor *{cursor:auto!important}
}
/* ACT INDEX — never clip 01 */
.act-index{
  position:absolute!important;
  top:clamp(120px, 18vh, 200px)!important;
  left:clamp(8px, 2.5vw, 32px)!important;
  right:auto!important;
  z-index:5!important;
  font-size:clamp(4.5rem, 10vw, 8.5rem)!important;
  line-height:0.9!important;
  max-width:none!important;
  overflow:visible!important;
  -webkit-text-stroke:1px rgba(201,168,76,.28)!important;
  opacity:.9;
}
#michael-jackson .act-index{
  top:clamp(140px, 20vh, 220px)!important; /* extra room under chrome */
}
section#michael-jackson,
section#al-thani,
section#kinderlachen{
  overflow-x:clip;
  overflow-y:visible; /* allow number breathing — bg still clipped via act-bg inset */
}
section#michael-jackson .act-bg,
section#al-thani .act-bg,
section#kinderlachen .act-bg{
  overflow:hidden;
}
/* Friends grid */
.friends-section{position:relative;z-index:6;padding:40px 0 20px}
.friends-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:10px;
  margin-top:22px;
}
@media(min-width:900px){.friends-grid{grid-template-columns:repeat(6,1fr)}}
.friends-grid figure{
  position:relative;margin:0;aspect-ratio:1;overflow:hidden;
  border:1px solid rgba(201,168,76,.14);background:#0a0a0a;cursor:pointer;
}
.friends-grid img{
  width:100%;height:100%;object-fit:cover;object-position:center 18%;
  filter:grayscale(.5) sepia(.15) brightness(.88);
  transition:filter .7s ease, transform .7s var(--ease);
}
.friends-grid figure:hover img{filter:none;transform:scale(1.05)}
.friends-grid figcaption{
  position:absolute;left:0;right:0;bottom:0;
  font-family:var(--mono);font-size:.48rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-dim);padding:16px 6px 6px;
  background:linear-gradient(0deg,rgba(12,11,10,.9),transparent);
}

/* ═══ MOBILE + PERF HARDENING v76 ═══ */
@media (max-width:900px){
  .act-index{display:none!important}
  #chapter-marker{left:4vw;bottom:18px}
  #chapter-marker .cm-num{font-size:1.35rem}
}
#scroll-cue.show{opacity:.75}
#scroll-cue.gone,
#scroll-cue.hide,
body.scrolled #scroll-cue,
body.at-end #scroll-cue{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  animation:none!important;
}
#scroll-cue .cue-line{animation:none;opacity:.7;height:36px}
body.booted #scroll-cue .cue-line{animation:cueDrop 2.2s var(--ease) 2} /* only twice, no infinite flicker */
/* Preloader: instant-out preference */
#preloader{transition:opacity .15s ease,visibility .15s;will-change:opacity}
/* Compact void */
.luxury-void{min-height:min(36vh,320px)}

/* ═══ SCROLL CUE ABOVE CHROME v77 ═══ */
#scroll-cue{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  /* sit clearly above bottom UI, never inside tab bar */
  bottom: max(96px, calc(env(safe-area-inset-bottom, 0px) + 88px))!important;
  transform:translateX(-50%)!important;
  z-index:900!important; /* below tabs(1000+) and audio, above content */
  pointer-events:none!important;
}
@media (min-width:901px){
  #scroll-cue{
    bottom: 48px!important; /* desktop: no bottom tabs */
    z-index:900!important;
  }
  #chapter-marker{bottom:36px;z-index:900}
}
@media (max-width:900px){
  #scroll-cue{
    bottom: max(100px, calc(env(safe-area-inset-bottom, 0px) + 92px))!important;
  }
  /* tabs stay on top of cue stacking */
  .dossier-tabs{z-index:10020!important}
  #audio-toggle{z-index:10021!important}
}

.friends-more-btn{display:inline-flex;margin-top:20px}
.friends-more-item{display:none!important}

/* ═══ EXHIBIT B · LISTENING EXPERIENCE ═══ */
.exhibit-b-media{position:relative;background:#0a0908;min-height:auto;padding:26px 26px 24px;display:flex;align-items:stretch}
.exhibit-b-media .eb-wave{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 60% at 50% 0%, rgba(201,168,76,.07), transparent 65%);
  transition:opacity .8s ease;opacity:.5;
}
.exhibit-b-media.is-playing .eb-wave{opacity:1;background:radial-gradient(70% 60% at 50% 0%, rgba(201,168,76,.14), transparent 65%)}
#exhibit-a.is-listening{box-shadow:0 0 0 1px rgba(201,168,76,.35),0 30px 90px rgba(201,168,76,.12),0 0 60px rgba(201,168,76,.10)}
.exhibit-b .exhibit-bar b{color:var(--gold)}

.eb-listen{position:relative;z-index:2;display:flex;flex-direction:column;width:100%;min-height:300px}
.eb-toprow{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.eb-play{
  flex:0 0 auto;width:58px;height:58px;border-radius:50%;
  border:1.5px solid rgba(201,168,76,.7);background:rgba(201,168,76,.08);
  color:var(--gold-bright);display:grid;place-items:center;cursor:pointer;
  transition:transform .3s var(--ease), background .3s, box-shadow .3s;
  box-shadow:0 10px 34px rgba(0,0,0,.45);
}
.eb-play:hover{transform:scale(1.06);background:rgba(201,168,76,.16)}
.eb-play svg{width:24px;height:24px;fill:currentColor}
.eb-play .eb-ic-play{margin-left:3px}
.eb-play.is-playing .eb-ic-play{display:none}
.eb-play.is-playing .eb-ic-pause{display:block}
.eb-play.is-playing{box-shadow:0 0 0 6px rgba(201,168,76,.10),0 10px 34px rgba(0,0,0,.45)}
.eb-meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.eb-meta-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.eb-meta-from{font-family:var(--body);font-size:.85rem;color:rgba(240,235,224,.6)}
.eb-time{margin-left:auto;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;color:var(--gold-dim);white-space:nowrap}

.eb-waveform{
  display:flex;align-items:center;gap:2px;height:64px;cursor:pointer;
  padding:0 2px;margin-bottom:16px;border-radius:4px;
}
.eb-waveform:focus-visible{outline:1px solid var(--gold);outline-offset:2px}
.eb-waveform .wb{
  flex:1 1 auto;min-width:2px;border-radius:2px;background:rgba(201,168,76,.28);
  transform-origin:center;transition:background .12s linear, transform .12s linear;
}
.eb-waveform .wb.past{background:var(--gold-bright)}
.eb-waveform .wb.live{background:var(--gold-bright);transform:scaleY(1.18);box-shadow:0 0 10px rgba(232,195,106,.7)}

.eb-transcript{
  position:relative;flex:1;overflow-y:auto;max-height:220px;
  overscroll-behavior:contain;touch-action:pan-y;
  border-left:1px solid rgba(201,168,76,.25);padding:2px 4px 10px 18px;
  scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.4) transparent;
  mask-image:linear-gradient(180deg, transparent 0, #000 24px, #000 calc(100% - 18px), transparent);
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 24px, #000 calc(100% - 18px), transparent);
}
.eb-transcript::-webkit-scrollbar{width:4px}
.eb-transcript::-webkit-scrollbar-thumb{background:rgba(201,168,76,.35);border-radius:2px}
.eb-line{margin:0 0 14px;line-height:1.6;transition:opacity .35s ease}
.eb-line-time{
  display:block;font-family:var(--mono);font-size:.55rem;letter-spacing:.22em;
  color:rgba(201,168,76,.55);text-transform:uppercase;margin-bottom:3px;
}
.eb-line-text{font-family:var(--body);font-size:.98rem;color:rgba(240,235,224,.42)}
.eb-line.active .eb-line-text{color:rgba(240,235,224,.92)}
.eb-line.done .eb-line-text{color:rgba(240,235,224,.68)}
.eb-line.done .eb-line-time{color:rgba(201,168,76,.85)}
.eb-w{transition:color .18s ease}
.eb-w.on{color:var(--gold-bright)}
.eb-w.cur{color:var(--gold-bright);text-shadow:0 0 14px rgba(232,195,106,.65)}
.eb-line-empty{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(201,168,76,.5)}

@media (max-width:820px){
  .exhibit-b-media{padding:20px 18px 18px}
  .eb-listen{min-height:0}
  .eb-transcript{max-height:180px}
  .eb-waveform{height:48px}
  .eb-meta-from{display:none}
}
@media (prefers-reduced-motion:reduce){
  .eb-waveform .wb{transition:none}
}


/* ═══ EXHIBIT B · CINEMA + HERO TEASER ═══ */
#eb-cinema{position:fixed;inset:0;z-index:10060;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}
#eb-cinema.on{opacity:1;visibility:visible}
.eb-cinema-scrim{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 0%, rgba(24,18,10,.96), rgba(8,7,6,.985));}
.eb-cinema-inner{position:relative;z-index:2;width:min(900px,92vw);padding:8px 4px;transform:translateY(18px) scale(.98);transition:transform .5s var(--ease)}
#eb-cinema.on .eb-cinema-inner{transform:none}
.eb-cinema-close{position:absolute;top:22px;right:26px;z-index:3;background:none;border:1px solid rgba(201,168,76,.4);color:var(--gold);font-size:1.4rem;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer;transition:background .3s,transform .3s}
.eb-cinema-close:hover{background:rgba(201,168,76,.15);transform:rotate(90deg)}
/* bigger typography in cinema */
#eb-cinema .eb-waveform{height:110px}
#eb-cinema .eb-transcript{max-height:min(46vh,420px)}
#eb-cinema .eb-line-text{font-size:1.12rem}
#eb-cinema .eb-listen{min-height:0}
#eb-cinema .eb-meta-from{display:block}

/* cinema + fullscreen button */
.eb-cinema-btn{
  position:absolute;top:16px;right:16px;z-index:5;
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(201,168,76,.4);background:rgba(10,9,8,.6);
  color:var(--gold-dim);display:grid;place-items:center;cursor:pointer;
  transition:border-color .3s,color .3s,transform .3s;
  backdrop-filter:blur(6px);
}
.eb-cinema-btn svg{width:17px;height:17px;fill:currentColor}
.eb-cinema-btn:hover{border-color:var(--gold);color:var(--gold-bright);transform:scale(1.08)}

/* hero teaser button */
.hero-teaser-btn{display:inline-flex;align-items:center;gap:10px}
.hero-teaser-btn .ht-ic{
  display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;
  border:1px solid var(--gold);color:var(--gold);font-size:.62rem;line-height:1;
  transition:transform .3s var(--ease),background .3s;
}
.hero-teaser-btn:hover .ht-ic{transform:scale(1.25);background:rgba(201,168,76,.18)}


/* ═══ EXHIBIT A · THE CALL (cinema + liveline + power words) ═══ */
.eb-cinema-call{
  position:relative;z-index:3;display:flex;align-items:center;gap:12px;
  max-width:640px;margin:0 auto 18px;padding:14px 22px;
  border:1px solid rgba(201,168,76,.28);border-radius:2px;
  background:linear-gradient(180deg, rgba(20,16,10,.85), rgba(10,9,7,.9));
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  opacity:0;transform:translateY(-8px);transition:opacity .5s ease,transform .5s var(--ease);
}
#eb-cinema.on .eb-cinema-call{opacity:1;transform:none}
.eb-call-led{width:10px;height:10px;border-radius:50%;background:rgba(201,168,76,.35);flex:0 0 auto;transition:background .3s,box-shadow .3s}
#eb-cinema.on.is-live .eb-call-led{background:#e8c36a;box-shadow:0 0 14px rgba(232,195,106,.9);animation:callLed 1.6s ease-in-out infinite}
@keyframes callLed{0%,100%{box-shadow:0 0 8px rgba(232,195,106,.6)}50%{box-shadow:0 0 18px rgba(232,195,106,1)}}
.eb-call-name{font-family:var(--disp);font-style:italic;font-weight:400;font-size:1.2rem;color:var(--parchment);letter-spacing:.01em}
.eb-call-timer{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;color:var(--gold-bright);font-variant-numeric:tabular-nums}
.eb-call-sub{margin-left:auto;font-family:var(--mono);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
@media(max-width:600px){.eb-call-sub{display:none}.eb-call-name{font-size:1rem}}

/* one-shot golden bloom on the promise lines */
.eb-call-bloom{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(60% 50% at 50% 40%, rgba(232,195,106,.28), transparent 70%)}
.eb-call-bloom.go{animation:callBloom 2.6s ease-out}
@keyframes callBloom{0%{opacity:0}18%{opacity:1}100%{opacity:0}}

/* power words */
.eb-w.hot{font-style:italic;color:var(--gold-bright)!important;text-shadow:0 0 18px rgba(232,195,106,.75)}
.eb-w.hot.cur{text-shadow:0 0 26px rgba(232,195,106,1)}

/* hero live wave strip */
.hero-liveline{
  position:relative;display:flex;align-items:center;gap:18px;width:100%;max-width:520px;
  margin:30px 0 0;padding:16px 20px;background:none;cursor:pointer;
  border:1px solid rgba(201,168,76,.32);border-radius:2px;text-align:left;
  transition:border-color .4s,background .4s,transform .4s var(--ease);
  opacity:0;transform:translateY(12px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1) .65s,transform .9s cubic-bezier(.22,1,.36,1) .65s,border-color .4s,background .4s;
}
.booted .hero-liveline{opacity:1;transform:none}
.hero-liveline:hover{border-color:var(--gold);background:rgba(201,168,76,.06)}
.hl-label{flex:0 0 auto;font-family:var(--mono);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.hl-dur{flex:0 0 auto;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;color:var(--gold-dim);font-variant-numeric:tabular-nums}
.hl-wave{position:relative;flex:1 1 auto;height:40px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hl-wave .hw{position:absolute;bottom:0;width:2px;background:rgba(201,168,76,.55);border-radius:1px;transform-origin:bottom center}
.hl-wave .hw.hot{background:var(--gold-bright);box-shadow:0 0 8px rgba(232,195,106,.8)}
.hl-wave .sweep{position:absolute;top:0;bottom:0;width:34px;background:linear-gradient(90deg,transparent,rgba(232,195,106,.55),transparent);animation:hlSweep 3.2s cubic-bezier(.4,0,.2,1) infinite}
@keyframes hlSweep{0%{left:-40px}100%{left:110%}}
@media(max-width:520px){.hl-label{font-size:.52rem;letter-spacing:.18em}.hero-liveline{gap:12px;padding:14px 14px}}

/* sticky book dock removed — was always-on spam */
@media (max-width:900px){
  .prestige-stage{grid-template-columns:1fr}
  .channels{grid-template-columns:1fr}
  .prose-panel{padding:20px 18px 12px}
  .sheet{max-width:100%}
}
@media (max-width:480px){
  .prestige-banner{padding:12px}
  .chip{font-size:.52rem}
}

/* agentic: no-JS crawlers and scripting-none browsers must see the dossier */
@media (scripting: none){
  #preloader{display:none!important}
  .reveal{opacity:1!important;transform:none!important;filter:none!important}
}

/* agentic: trust-page links in the existing footer chrome */
footer.site a{font-family:var(--mono);font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--dim);text-decoration:none}
footer.site a:hover{color:var(--gold)}
footer.site nav{display:flex;gap:18px;flex-wrap:wrap}
footer.site nav a{letter-spacing:.2em}
