/* ════ fabcuv Schulungswelt – cineastischer Scroll-Hero (Startseite) ════ */
.fabcuv-v2.home .site-main { padding-top: 0; }
.v2-park { position: relative; background: #0a1422; color: #fff; }
.v2-park__pin { position: relative; }

/* ── Statischer Grundzustand (ohne JS / reduzierte Bewegung) ── */
.v2-park__stage, .v2-park__rail, .v2-park__skip, .v2-park__hint { display: none; }
.v2-park__ui { padding-top: calc(var(--v2-nav-h) + 24px); padding-bottom: 48px; display: grid; gap: 40px; }
.v2-park__card { display: grid; gap: 14px; max-width: 760px; }
.v2-park__static-img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.4); order: -1; }
.v2-park__card.is-finale .v2-park__static-img { display: none; }
.v2-park__card h1 { font-size: clamp(2.2rem, 4.6vw, 3.8rem); font-weight: 900; line-height: 1.04; letter-spacing: -1.6px; color: #fff; margin: 0; }
.v2-park__card h2 { font-size: clamp(1.8rem, 3.4vw, 2.9rem); font-weight: 850; line-height: 1.08; letter-spacing: -1px; color: #fff; margin: 0; }
.v2-park__card p { color: rgba(255,255,255,.78); font-size: 1.05rem; line-height: 1.7; margin: 0; max-width: 540px; }
.v2-park__card .hero-badge { justify-self: start; margin-bottom: 4px; }
.v2-park__card .hero-btns { margin-top: 8px; }
.v2-park__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase; color: var(--gold2); }
.v2-park__nr { color: #fff; }
.v2-park__norm { justify-self: start; display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.85); padding: 6px 12px; border-radius: 100px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); }
.v2-park__norm svg { width: 14px; height: 14px; stroke: var(--gold2); }
.v2-park__soon { justify-self: start; font-size: 12.5px; font-weight: 700; color: var(--gold2); padding: 6px 12px; border-radius: 100px; background: rgba(200,146,42,.14); border: 1px solid rgba(200,146,42,.4); }
.v2-park__link { justify-self: start; display: inline-flex; align-items: center; gap: 10px; margin-top: 6px; padding: 13px 22px; border-radius: 12px; background: #fff; color: var(--navy); font-weight: 700; font-size: 14.5px; text-decoration: none; box-shadow: 0 10px 30px rgba(0,0,0,.25); transition: transform .2s, box-shadow .2s; }
.v2-park__link:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(0,0,0,.32); color: var(--navy); }
.v2-park__link--quiet { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.22); box-shadow: none; }
.v2-park__link--quiet:hover { color: #fff; background: rgba(255,255,255,.14); }
.v2-park__credit { position: absolute; right: 12px; bottom: 8px; font-size: 10.5px; letter-spacing: .4px; color: rgba(255,255,255,.38); }

/* ── Gepinnte Scroll-Fahrt ── */
.v2-park.is-pinned { height: calc(var(--park-n, 15) * 80vh + 100vh); }
.v2-park.is-pinned .v2-park__pin { position: sticky; top: 0; height: 100vh; height: 100lvh; overflow: hidden; }
.v2-park.is-pinned .v2-park__stage { display: block; position: absolute; inset: var(--park-top, var(--v2-nav-h)) 0 0 0; overflow: hidden; background: #0a1422; } /* Bild beginnt unter der Navigation – nichts Wichtiges verschwindet dahinter */
.v2-park__shot { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transform-origin: var(--fx, 62%) var(--fy, 50%); }
.v2-park.is-pinned .v2-park__shot.is-on { opacity: 1; visibility: visible; } /* bis park.js übernimmt */
.v2-park__shot img { width: 100%; height: 100%; object-fit: cover; object-position: var(--fx, 62%) calc((var(--fy, 50%) + 50%) / 2); display: block; }
/* Breite/flache Bildschirme schneiden oben/unten stark: dort den motivgenauen Fokus voll nutzen */
@media (min-aspect-ratio: 19/10) and (min-width: 761px) { .v2-park__shot img { object-position: var(--fx, 62%) var(--fy, 50%); } }
.v2-park__grade { position: absolute; inset: 0; z-index: 3; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(8,16,28,.9) 0%, rgba(8,16,28,.8) 30%, rgba(8,16,28,.52) 48%, rgba(8,16,28,.16) 66%, rgba(8,16,28,0) 82%),
		linear-gradient(0deg, rgba(8,16,28,.75) 0%, rgba(8,16,28,0) 26%),
		linear-gradient(180deg, rgba(8,16,28,.55) 0%, rgba(8,16,28,0) 18%),
		radial-gradient(130% 90% at 60% 50%, transparent 55%, rgba(0,0,0,.35) 100%); }
.v2-park__grain { position: absolute; inset: -50%; z-index: 4; pointer-events: none; opacity: .07; mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
.v2-park.is-finale-on .v2-park__grade { background: linear-gradient(90deg, rgba(8,16,28,.92) 0%, rgba(8,16,28,.7) 45%, rgba(8,16,28,.45) 100%); transition: background .6s; }

.v2-park.is-pinned .v2-park__ui { position: absolute; inset: 0; padding: 0 24px; display: block; z-index: 5; }
.v2-park.is-pinned .v2-park__static-img { display: none; }
.v2-park.is-pinned .v2-park__card { position: absolute; left: 24px; top: 50%; width: min(560px, calc(100vw - 48px));
	transform: translateY(calc(-50% + 28px)); opacity: 0; visibility: hidden; margin-top: calc(var(--v2-nav-h) / 2 - 30px);
	transition: opacity .25s ease, transform .35s cubic-bezier(.22,.61,.36,1), visibility 0s .25s; }
.v2-park.is-pinned .v2-park__card.is-active { opacity: 1; visibility: visible; transform: translateY(-50%);
	transition: opacity .6s cubic-bezier(.22,.61,.36,1) .12s, transform .8s cubic-bezier(.22,.61,.36,1) .12s; }
.v2-park.is-pinned .v2-park__card.is-past { transform: translateY(calc(-50% - 28px)); }
.v2-park.is-pinned .v2-park__card > * { text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.v2-park.is-pinned .v2-park__hint { display: flex; align-items: center; gap: 10px; margin-top: 14px; font-size: 12.5px; color: rgba(255,255,255,.6); letter-spacing: .3px; }
.v2-park__hint span { width: 22px; height: 34px; border-radius: 12px; border: 2px solid rgba(255,255,255,.45); position: relative; }
.v2-park__hint span::after { content: ''; position: absolute; left: 50%; top: 7px; width: 4px; height: 7px; margin-left: -2px; border-radius: 2px; background: #fff; animation: v2-park-wheel 1.8s ease-in-out infinite; }
@keyframes v2-park-wheel { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 80% { opacity: 0; transform: translateY(10px); } 100% { opacity: 0; } }

/* Stationsleiste (unten) */
.v2-park.is-pinned .v2-park__rail { display: block; position: absolute; left: 0; right: 0; bottom: 26px; z-index: 6; }
.v2-park__rail ol { list-style: none; margin: 0 auto; padding: 0 24px; max-width: 1180px; display: flex; justify-content: space-between; gap: 4px; }
.v2-park__rail button { background: none; border: 0; cursor: pointer; padding: 6px 2px 12px; color: rgba(255,255,255,.5); font: 600 11px/1 var(--font); letter-spacing: .4px; text-transform: uppercase; transition: color .25s; white-space: nowrap; }
.v2-park__rail button:hover, .v2-park__rail button[aria-current] { color: #fff; }
.v2-park__rail button[aria-current] span { color: var(--gold2); }
.v2-park__bar { max-width: 1132px; margin: 0 auto; height: 2px; background: rgba(255,255,255,.16); position: relative; border-radius: 2px; }
.v2-park__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--park-p, 0) * 100%); background: linear-gradient(90deg, var(--blue-light), var(--gold2)); border-radius: 2px; }
.v2-park.is-pinned .v2-park__skip { display: inline-flex; align-items: center; gap: 6px; position: absolute; right: 84px; top: calc(var(--v2-nav-h) + 18px); z-index: 6; color: rgba(255,255,255,.7); font-size: 12.5px; font-weight: 600; text-decoration: none; padding: 7px 13px; border-radius: 100px; background: rgba(8,16,28,.45); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(6px); }
.v2-park.is-pinned .v2-park__skip:hover { color: #fff; }

/* Unter 1240 px: nur aktive Station + Fortschritt (14 Labels passen nicht ruhig nebeneinander) */
@media (max-width: 1240px) {
	.v2-park__rail ol { display: none; }
	.v2-park__rail::before { content: attr(data-label); display: block; text-align: center; font-size: 11px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; color: var(--gold2); margin-bottom: 8px; }
	.v2-park__bar { margin: 0 24px; }
}

/* ── Mobil: Hochformatbilder, Text oben, kompakte Leiste ── */
@media (max-width: 760px) {
	.v2-park.is-pinned { height: calc(var(--park-n, 15) * 95vh + 100vh); }
	.v2-park__shot { transform-origin: var(--mx, 50%) 60%; }
	.v2-park__shot img { object-position: var(--mx, 50%) 60%; }
	.v2-park__grade { background:
		linear-gradient(180deg, rgba(8,16,28,.9) 0%, rgba(8,16,28,.72) 30%, rgba(8,16,28,.2) 52%, rgba(8,16,28,0) 66%),
		linear-gradient(0deg, rgba(8,16,28,.7) 0%, rgba(8,16,28,0) 20%); }
	.v2-park.is-pinned .v2-park__card { left: 20px; right: 20px; width: auto; top: calc(var(--v2-nav-h) + 20px); margin-top: 0; transform: translateY(18px); }
	.v2-park.is-pinned .v2-park__card.is-active { transform: none; }
	body.admin-bar .v2-park.is-pinned .v2-park__card { top: calc(var(--v2-nav-h) + 66px); }
	.v2-park.is-pinned .v2-park__card.is-past { transform: translateY(-18px); }
	.v2-park__card { gap: 10px; }
	.v2-park__card h1 { font-size: clamp(2rem, 9.6vw, 2.6rem); }
	.v2-park__card h2 { font-size: clamp(1.55rem, 7vw, 2rem); }
	.v2-park__card p { font-size: .95rem; line-height: 1.6; }
	.v2-park.is-pinned .v2-park__card.is-intro .hero-tagline { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.v2-park.is-pinned .v2-park__card.is-intro .hero-badge { font-size: 11px; }
	.v2-park .hero-btns { flex-direction: row; flex-wrap: wrap; gap: 10px; }
	.v2-park .hero-btns a { padding: 12px 18px; font-size: 14px; flex: 1 1 auto; justify-content: center; }
	.v2-park__link { padding: 12px 18px; font-size: 14px; }
	.v2-park.is-pinned .v2-park__hint { display: none; }
	.v2-park.is-pinned .v2-park__rail { bottom: 16px; }
	.v2-park__rail ol { display: none; }
	.v2-park__rail::before { content: attr(data-label); display: block; text-align: center; font-size: 11px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; color: var(--gold2); margin-bottom: 8px; }
	.v2-park__bar { margin: 0 20px; }
	.v2-park.is-pinned .v2-park__skip { right: 14px; top: calc(var(--v2-nav-h) + 10px); display: none; }
	.v2-park__credit { right: 10px; bottom: 4px; }
}
@media (max-width: 760px) and (max-height: 680px) {
	.v2-park.is-pinned .v2-park__card.is-intro .hero-badge { display: none; }
	.v2-park.is-pinned .v2-park__card.is-intro .hero-tagline { -webkit-line-clamp: 2; }
}
@media (min-width: 761px) and (max-height: 720px) {
	.v2-park__card h1 { font-size: clamp(2rem, 3.8vw, 3rem); }
	.v2-park.is-pinned .v2-park__card.is-intro .hero-tagline { font-size: .98rem; line-height: 1.6; }
	.v2-park.is-pinned .v2-park__hint { display: none; }
	.v2-park.is-pinned .v2-park__rail { bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.v2-park__hint span::after { animation: none; }
	.v2-park__card, .v2-park__link { transition: none !important; }
}

/* Mobil: sanfte Rastpunkte je Station (nur wenn gepinnt, siehe park.js) */
html.v2-park-snap { scroll-snap-type: y proximity; }
.v2-park__snap { position: absolute; left: 0; width: 1px; height: 1px; pointer-events: none; scroll-snap-align: start; scroll-snap-stop: always; }
@supports (height: 100dvh) {
	@media (max-width: 760px) { .v2-park.is-pinned .v2-park__rail { bottom: calc(16px + 100lvh - 100dvh); } }
}
