/* ============================================================
   Scroll-narrative layer — homepage only
   (same content & aesthetic; adds scroll-driven storytelling)
   ============================================================ */

/* ---- word-by-word headline illumination ---- */
[data-narrate]{--nw-dim:.34}
[data-narrate] .nw{opacity:var(--nw-dim);will-change:opacity}
[data-narrate].lit .nw{opacity:1}
[data-narrate] .nw.grad-text,[data-narrate] .nw.serif-it{display:inline-block}
@media(prefers-reduced-motion:reduce){ [data-narrate] .nw{opacity:1!important} }

/* ---- pinned narrative interlude ---- */
.interlude{position:relative;min-height:240vh;background:var(--ink);color:#fff;overflow:clip}
.interlude__sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}
.interlude__inner{position:relative;width:min(1180px,92vw);height:48vh;margin-inline:auto;
  display:grid;place-items:center;text-align:center;z-index:2}
.interlude__beat{grid-area:1/1;width:100%;opacity:0;will-change:opacity,transform;pointer-events:none}
.interlude__beat p{font-family:var(--font-display);font-weight:600;letter-spacing:-.035em;line-height:1.02;
  font-size:clamp(2rem,6.2vw,5.2rem);text-wrap:balance;max-width:20ch;margin-inline:auto}
.interlude__eyebrow{display:inline-flex;align-items:center;gap:.6em;margin-bottom:26px;
  font-family:var(--font-body);font-weight:700;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--tx-light-muted)}
.interlude__eyebrow::before{content:"";width:24px;height:2px;border-radius:2px;background:var(--grad)}
.interlude__eyebrow--fixed{position:absolute;top:13vh;left:50%;transform:translateX(-50%);z-index:2;margin:0}
.interlude__progress{position:absolute;left:50%;bottom:9vh;transform:translateX(-50%);z-index:2;
  width:170px;height:3px;border-radius:3px;background:rgba(255,255,255,.16);overflow:hidden}
.interlude__progress i{display:block;height:100%;width:0;background:var(--grad);border-radius:3px}

/* ---- chapter rail ---- */
.chrail{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:85;
  display:flex;flex-direction:column;gap:13px;color:var(--ink);transition:color .4s var(--ease);
  opacity:0;pointer-events:none}
.chrail.ready{opacity:1;pointer-events:auto}
.chrail.on-dark{color:#fff}
.chrail button{display:flex;align-items:center;gap:11px;justify-content:flex-end;background:none;color:inherit}
.chrail .l{font:700 10.5px/1 var(--font-body);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;
  opacity:0;transform:translateX(8px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.chrail .n{font-family:var(--font-display);font-weight:600;font-size:10px;opacity:.5;min-width:16px;text-align:right;transition:opacity .3s}
.chrail .d{width:8px;height:8px;border-radius:50%;border:1.6px solid currentColor;opacity:.45;
  transition:transform .35s var(--ease),opacity .3s,background .3s,border-color .3s;flex-shrink:0}
.chrail button:hover .l{opacity:.9;transform:none}
.chrail button:hover .d{opacity:.9}
.chrail button.active .l{opacity:1;transform:none}
.chrail button.active .n{opacity:.9}
.chrail button.active .d{opacity:1;transform:scale(1.5);background:var(--grad);border-color:transparent;
  box-shadow:0 0 0 4px rgba(139,92,214,.18)}
@media(max-width:1100px){ .chrail{display:none} }
@media(prefers-reduced-motion:reduce){ .interlude{min-height:auto} .interlude__sticky{height:auto;padding-block:18vh}
  .interlude__beat{position:static;opacity:1;margin-block:8vh} .interlude__beat:first-child{margin-top:0} }
