/* AXODREN — Scroll-System (alle Detailseiten)
   1 Kapitel-Register links · 2 Headline-Reveal zeilenweise
   3 Parallax auf Illustrationen · 4 Fortschrittslinie */

/* ---------- 1 · Kapitel-Register ---------- */
.rail{
  position:fixed;left:clamp(.9rem,2.2vw,2.4rem);top:50%;transform:translateY(-50%);
  z-index:30;pointer-events:none;opacity:0;transition:opacity .5s ease;
  font-family:var(--read);
}
.rail.on{opacity:1}
.rail ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.rail li{display:flex;align-items:center;gap:.6rem;height:1rem}
.rail i{
  display:block;width:1.1rem;height:1px;flex:none;
  background:var(--rail-dim,#c9c9cf);
  transition:width .45s cubic-bezier(.16,1,.3,1),background .45s ease;
}
.rail span{
  font:400 .62rem/1 var(--mono,ui-monospace,Menlo,monospace);letter-spacing:.06em;
  color:var(--rail-ink,#0a0a0b);width:1.4rem;text-align:right;
  opacity:0;transition:opacity .45s ease,color .45s ease;
}
.rail li.is-on i{width:2.2rem;background:var(--rail-ink,#0a0a0b)}
.rail li.is-on span{opacity:1}
.rail[data-tone="dark"]{--rail-ink:#f2f1ef;--rail-dim:#55555c}
.rail[data-tone="light"]{--rail-ink:#0a0a0b;--rail-dim:#c9c9cf}
@media (max-width:1200px){.rail{display:none}}

/* ---------- 2 · Headline-Reveal ---------- */
.ln{display:block;overflow:hidden}
.ln__i{display:block;transform:translateY(110%);transition:transform .9s cubic-bezier(.16,1,.3,1)}
.rv.go .ln__i{transform:none}
.rv.go .ln:nth-child(2) .ln__i{transition-delay:.08s}
.rv.go .ln:nth-child(3) .ln__i{transition-delay:.16s}
.rv.go .ln:nth-child(4) .ln__i{transition-delay:.24s}
/* Lead-Absätze folgen der Headline */
.jour__lead,.eff__lead,.run p,.wipe p,.scan p,.flow p,.mono p,.pipe p,.kit p,.ops p,.def p,.loop p,.scale p{
  opacity:0;transform:translateY(10px);
  transition:opacity .7s ease .25s,transform .7s cubic-bezier(.16,1,.3,1) .25s;
}
.rv.go .jour__lead,.rv.go .eff__lead,.rv.go.run p,.rv.go.wipe p,.rv.go.scan p,.rv.go.flow p,.rv.go.mono p,.rv.go.pipe p,.rv.go.kit p,.rv.go.ops p,.rv.go.def p,.rv.go.loop p,.rv.go.scale p{opacity:1;transform:none}

/* ---------- 3 · Parallax ---------- */
.px{will-change:transform}

/* ---------- 4 · Fortschrittslinie ---------- */
.prog{position:fixed;top:0;left:0;height:2px;width:100%;z-index:60;pointer-events:none;background:transparent}
.prog i{display:block;height:100%;width:0;background:var(--ink);transition:background .4s ease}
.prog[data-tone="dark"] i{background:#f2f1ef}

@media (prefers-reduced-motion:reduce){
  .rail,.prog{display:none}
  .ln__i{transform:none;transition:none}
  .jour__lead,.eff__lead,.run p,.wipe p,.scan p,.flow p,.mono p,.pipe p,.kit p,.ops p,.def p,.loop p,.scale p{opacity:1;transform:none;transition:none}
  .px{transform:none !important}
}
