/* Referenz-Tour (Marcel 30.10): ersetzt die Website-Bewegung als Video. Echte Seiten des Kundenprojekts (Aufnahmen vom 30.10.)
   füllen die Fläche und fahren ruhig durch drei bis vier Stationen. Im DOM statt Video: scharf auf Retina, kein Byte-Range-Problem
   am iPhone, Seitennamen als Sprungmarken, Pause dauerhaft (WCAG 2.2.2). Größe kommt vom Einsatzort (.ref__motion, .rz-motion). */
.tour { position: relative; overflow: hidden; margin: 0; background: #fff; isolation: isolate; }
.tour::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); pointer-events: none; z-index: 4; }
.tour__stage { position: absolute; inset: 0; }
.tour__scene { position: absolute; inset: 0; overflow: hidden; background: #fff; opacity: 0; visibility: hidden; }
.tour__scene.is-on { opacity: 1; visibility: visible; z-index: 1; }
.tour__scene.is-in { visibility: visible; z-index: 2; }
.tour__pan { position: absolute; left: 0; top: 0; width: 100%; will-change: transform; }
.tour__pan img { display: block; width: 100%; max-width: none; height: auto; }

/* Seitennamen unten links; die aktuelle Station zeigt ihren Fortschritt als feine rote Linie */
.tour__nav { position: absolute; left: .75rem; right: 3.6rem; bottom: .75rem; z-index: 5; display: flex; flex-wrap: wrap; gap: .25rem; pointer-events: none; }
.tour__step { pointer-events: auto; position: relative; min-height: 2rem; padding: .3rem .7rem .45rem; border: 0; border-radius: 8px;
  font: 500 var(--fs-meta)/1.2 var(--font); color: var(--text-2); background: var(--scrim); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  cursor: pointer; transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease); }
.tour__step:hover { color: var(--text); }
.tour__step[aria-current="true"] { color: var(--text); background: rgba(13, 12, 11, .88); }
.tour__step i { position: absolute; left: .7rem; right: .7rem; bottom: .25rem; height: 2px; border-radius: 2px; background: var(--line-2); opacity: 0; }
.tour__step i::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--red); transform-origin: left; transform: scaleX(var(--p, 0)); }
.tour__step[aria-current="true"] i { opacity: 1; }
.tour__step:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }
.tour > .ctl { position: absolute; right: .75rem; bottom: .75rem; z-index: 5; }
@media (max-width: 599px) { .tour__step:not([aria-current="true"]) { display: none; } }
