/* Rundflüge, 05.11.2026: ein Player, daneben die Filmliste. Farben, Radius und Schrift kommen aus den Seiten-Variablen. */
.fly{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:clamp(24px,3.4vw,52px);margin-top:clamp(40px,5vw,64px);align-items:start}
.fly-screen{position:relative;background:#00131c;border-radius:var(--radius);overflow:hidden}
.fly-screen video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#00131c}
.fly-cap{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:14px;font-size:16px;color:var(--ink-2)}
.fly-cap b{font-weight:500;color:var(--ink)}
.fly-cap span{font-family:var(--mono);font-size:13px;color:var(--ink-3);white-space:nowrap}

/* Großer Abspielknopf: nur vor dem Start und nach dem Ende */
.fly-play{position:absolute;inset:0;display:grid;place-items:center;width:100%;margin:0;padding:0;border:0;background:linear-gradient(to top,rgba(0,22,32,.55),rgba(0,22,32,0) 55%);cursor:pointer;appearance:none;-webkit-appearance:none;transition:opacity .3s var(--ease)}
.fly-play span{position:relative;display:block;width:84px;height:84px;border-radius:50%;background:var(--accent);box-shadow:0 10px 36px rgba(0,19,28,.5);transition:transform .35s var(--ease),background-color .25s}
.fly-play span::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:30px;margin:-15px 0 0 -11px;background:var(--accent-ink);clip-path:polygon(0 0,100% 50%,0 100%)}
.fly-play:hover span,.fly-play:focus-visible span{transform:scale(1.06);background:#fff35c}
.fly-play:active span{transform:scale(.97)}
.fly-screen.playing .fly-play{opacity:0;pointer-events:none;visibility:hidden}
.fly-screen.err .fly-play{display:none}

/* Filmliste */
.fly-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.fly-item{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;align-items:center;width:100%;min-height:88px;margin:0;padding:10px 14px 10px 10px;border:0;border-radius:var(--radius);background:transparent;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;position:relative;transition:background-color .25s,color .25s;appearance:none;-webkit-appearance:none}
.fly-item img{width:128px;height:72px;object-fit:cover;border-radius:var(--radius);background:var(--surface-2);opacity:.82;transition:opacity .3s}
.fly-item:hover{background:rgba(244,244,244,.05);color:var(--ink)}
.fly-item:hover img{opacity:1}
.fly-item[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.fly-item[aria-pressed="true"] img{opacity:1}
.fly-t{display:block;min-width:0}
.fly-t b{display:block;font-weight:500;font-size:16px;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.fly-t span{display:block;margin-top:3px;font-size:14.5px;line-height:1.4;color:var(--ink-2)}
.fly-t i{display:block;margin-top:6px;font-style:normal;font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}

@media (max-width:960px){
  .fly{grid-template-columns:1fr}
  .fly-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .fly-list{grid-template-columns:1fr}
  .fly-play span{width:68px;height:68px}
  .fly-play span::after{width:22px;height:26px;margin:-13px 0 0 -9px}
  .fly-item{grid-template-columns:112px minmax(0,1fr);gap:14px}
  .fly-item img{width:112px;height:63px}
}
@media (prefers-reduced-motion:reduce){.fly-play,.fly-play span,.fly-item,.fly-item img{transition:none}}

/* Rundflug zum Mitscrollen (Prototyp 05.11.2026): Film hängt am Scrollen, Texte blenden nach Fortschritt ein. Nur Desktop, ohne reduzierte Bewegung. */
.flyscroll{position:relative;height:420vh;background:#00131c}
.fs-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.fs-stick video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fs-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,22,32,.86) 0%,rgba(0,22,32,.4) 34%,rgba(0,22,32,0) 60%),linear-gradient(to right,rgba(0,22,32,.55),rgba(0,22,32,0) 58%)}
.fs-copy{position:absolute;left:0;right:0;bottom:clamp(44px,10vh,104px);min-height:7.5rem}
.fs-intro,.fs-beat,.fs-link{position:absolute;left:var(--pad);bottom:0}
.fs-intro{max-width:min(720px,100% - 2 * var(--pad))}
.fs-intro .h2{color:var(--on-image)}
.fs-intro .lead{margin-top:18px;color:rgba(245,244,240,.86)}
.fs-beat{margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;color:var(--on-image);opacity:0;will-change:opacity,transform}
.fs-link{opacity:0;visibility:hidden;left:auto;right:var(--pad)}
.fs-bar{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:2}
.fs-bar i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}
@media (max-width:600px),(pointer:coarse),(prefers-reduced-motion:reduce){.flyscroll{display:none}}
.flyscroll.fs-off{display:none}
