@font-face {
	font-family: "Outfit";
	src: url("/fonts/outfit-variable-latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Open Sans";
	src: url("/fonts/open-sans-v15-latin-regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Open Sans";
	src: url("/fonts/open-sans-v15-latin-700.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--schwarz: #000;
	--gold: #e2c267;
	--gold-hell: #f6e27a;
	--gold-tief: #cb9b51;
	--linie: rgba(226, 194, 103, .32);
	--linie-leise: rgba(255, 255, 255, .09);
	--text: #e7e3da;
	--text-2: #a7a197;
	--text-3: #8a8a8a;
	--schrift-titel: "Outfit", "Open Sans", Arial, sans-serif;
	--schrift-text: "Open Sans", Arial, sans-serif;
	--rand: clamp(18px, 4vw, 40px);
	--breite: 1200px;
	--kopf-hoehe: 76px;
	--abstand: clamp(72px, 10vw, 136px);
}

*, *::before, *::after { box-sizing: border-box; }

html {
	background: var(--schwarz);
	color: var(--text);
	font-family: var(--schrift-text);
	font-size: 16px;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--kopf-hoehe) + 16px);
	color-scheme: dark;
}

body { margin: 0; min-height: 100vh; }

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; }
img, svg, picture { display: block; max-width: 100%; }
img { height: auto; }
sup { line-height: 0; }

h1, h2, h3, h4 {
	font-family: var(--schrift-titel);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -.015em;
	color: #fff;
	text-wrap: balance;
}

a { color: var(--gold); text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--gold-hell); }

:focus-visible { outline: 2px solid var(--gold-hell); outline-offset: 3px; }

strong, b { font-weight: 700; color: #fff; }

.rahmen { width: min(var(--breite), 100% - 2 * var(--rand)); margin-inline: auto; }

.sprung {
	position: absolute;
	left: var(--rand);
	top: -100px;
	z-index: 100;
	background: var(--gold);
	color: #000;
	padding: 10px 16px;
	font-family: var(--schrift-titel);
	font-weight: 600;
	text-decoration: none;
}
.sprung:focus { top: 12px; }

.unsichtbar {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.goldschrift, .gold-verlauf {
	background-image: linear-gradient(100deg, var(--gold-tief) 0%, var(--gold-hell) 42%, #f6f2c0 50%, var(--gold-hell) 58%, var(--gold-tief) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	padding-right: .06em;
}
.gold { color: var(--gold); }

.etikett {
	font-family: var(--schrift-titel);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 10px;
}

.kicker {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--schrift-titel);
	font-size: clamp(12px, 1.4vw, 15px);
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 18px;
}
.kicker::before {
	content: "";
	flex: 0 0 auto;
	width: 36px;
	height: 1px;
	background: var(--gold);
}

.abschnittstitel {
	font-size: clamp(30px, 4.2vw, 50px);
	font-weight: 600;
	letter-spacing: -.025em;
	margin-bottom: clamp(24px, 3vw, 40px);
}

.knopf {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid var(--gold);
	background: transparent;
	color: var(--gold);
	font-family: var(--schrift-titel);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .03em;
	line-height: 1.1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.knopf:hover { background: var(--gold); color: #000; }
.knopf--gold { background: var(--gold); color: #000; }
.knopf--gold:hover { background: var(--gold-hell); border-color: var(--gold-hell); color: #000; }
.knopf--gross { font-size: 18px; padding: 15px 28px; }
.knopf span { transition: transform .2s; }
.knopf:hover span { transform: translateX(3px); }

.textlink {
	font-family: var(--schrift-titel);
	font-weight: 500;
	color: var(--gold);
	text-decoration: underline;
	text-decoration-color: var(--linie);
	text-underline-offset: .35em;
	transition: color .2s, text-decoration-color .2s;
}
.textlink:hover { color: #fff; text-decoration-color: #fff; }

.kopf {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: 14px;
	height: var(--kopf-hoehe);
	padding: 0 var(--rand);
	background: linear-gradient(rgba(0, 0, 0, .85), rgba(0, 0, 0, 0));
	border-bottom: 1px solid transparent;
	transition: background-color .3s, border-color .3s, height .3s;
}
.kopf--fest {
	background: rgba(0, 0, 0, .9);
	border-bottom-color: var(--linie-leise);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.marke { display: grid; gap: 5px; text-decoration: none; color: #fff; margin-right: auto; }
.marke:hover { color: #fff; }
.marke__wort {
	font-family: var(--schrift-titel);
	font-size: 21px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.02em;
	color: #fff;
}
.marke__wort em { font-style: normal; font-weight: 300; color: var(--gold); }
.marke__zeile {
	font-family: var(--schrift-titel);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--text-2);
	line-height: 1;
}

.kopf__nav { display: none; }
.kopf__nav ul { display: flex; gap: clamp(18px, 2.2vw, 34px); list-style: none; }
.kopf__nav a {
	position: relative;
	display: block;
	padding: 8px 0;
	font-family: var(--schrift-titel);
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
}
.kopf__nav a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 2px;
	height: 1px;
	background: var(--gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s;
}
.kopf__nav a:hover, .kopf__nav a[aria-current] { color: var(--gold); }
.kopf__nav a:hover::after, .kopf__nav a[aria-current]::after { transform: scaleX(1); }

.kopf__tickets { padding: 9px 16px; font-size: 14px; }

.menueknopf {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, .35);
	background: transparent;
	color: #fff;
	font-family: var(--schrift-titel);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color .2s, color .2s;
}
.menueknopf:hover { border-color: var(--gold); color: var(--gold); }
.menueknopf__linien { position: relative; width: 20px; height: 10px; }
.menueknopf__linien::before, .menueknopf__linien::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transition: transform .3s, top .3s, width .3s;
}
.menueknopf__linien::before { top: 0; }
.menueknopf__linien::after { top: 8px; width: 65%; }
.menueknopf[aria-expanded="true"] .menueknopf__linien::before { top: 4px; transform: rotate(45deg); }
.menueknopf[aria-expanded="true"] .menueknopf__linien::after { top: 4px; width: 100%; transform: rotate(-45deg); }

.menue {
	position: fixed;
	inset: 0;
	z-index: 40;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: calc(var(--kopf-hoehe) + 12px) 0 40px;
	background:
		radial-gradient(ellipse 70% 50% at 100% 0%, rgba(226, 194, 103, .14), transparent 70%),
		#000;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility 0s linear .3s;
}
html.menue-offen { overflow: hidden; }
html.menue-offen .menue { opacity: 1; visibility: visible; transition: opacity .3s, visibility 0s; }

.menue__innen { display: grid; gap: 36px; min-height: 100%; align-content: center; }

.menue__liste { list-style: none; counter-reset: none; }
.menue__liste li {
	border-top: 1px solid var(--linie-leise);
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .4s, transform .4s;
}
.menue__liste li:last-child { border-bottom: 1px solid var(--linie-leise); }
html.menue-offen .menue__liste li {
	opacity: 1;
	transform: none;
	transition-delay: calc(var(--i) * 55ms + 60ms);
}
.menue__liste a {
	display: grid;
	grid-template-columns: 3em 1fr;
	align-items: baseline;
	padding: 16px 0;
	color: #fff;
	text-decoration: none;
}
.menue__nr {
	font-family: var(--schrift-titel);
	font-size: 13px;
	font-weight: 500;
	color: var(--gold);
	font-variant-numeric: tabular-nums;
}
.menue__titel {
	font-family: var(--schrift-titel);
	font-size: clamp(30px, 7.4vw, 58px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.02;
	transition: color .2s, transform .25s;
}
.menue__info {
	grid-column: 2;
	margin-top: 6px;
	font-size: 14px;
	color: var(--text-2);
}
.menue__liste a:hover .menue__titel { color: var(--gold); transform: translateX(6px); }
.menue__liste a[aria-current] .menue__titel { color: var(--gold); }

.menue__seite { border-top: 1px solid var(--linie); padding-top: 26px; }
.menue__abfahrt {
	font-family: var(--schrift-titel);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.35;
	color: #fff;
	margin-bottom: 24px;
}
.menue__recht { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 28px; }
.menue__recht a { color: var(--text-2); font-size: 14px; text-decoration: none; padding: 6px 0; }
.menue__recht a:hover { color: var(--gold); }

.hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(86svh, 720px);
	padding: calc(var(--kopf-hoehe) + 40px) 0 clamp(40px, 6vw, 72px);
	overflow: hidden;
	isolation: isolate;
}
.hero__bild, .seitenkopf__bild { position: absolute; inset: 0; z-index: -2; }
.hero__bild img, .seitenkopf__bild img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.hero::after, .seitenkopf::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(to top, #000 0%, rgba(0, 0, 0, .78) 26%, rgba(0, 0, 0, .1) 62%, rgba(0, 0, 0, .55) 100%);
}
@media (min-width: 760px) {
	.hero::after, .seitenkopf::after {
		background:
			linear-gradient(90deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, 0) 70%),
			linear-gradient(to top, #000 0%, rgba(0, 0, 0, .7) 22%, rgba(0, 0, 0, .05) 60%, rgba(0, 0, 0, .6) 100%);
	}
}
.hero h1 {
	font-size: clamp(44px, 8.6vw, 112px);
	font-weight: 700;
	line-height: .94;
	letter-spacing: -.035em;
	max-width: 11ch;
	text-wrap: balance;
}

.siegel {
	position: absolute;
	top: calc(var(--kopf-hoehe) + 18px);
	right: var(--rand);
	width: 116px;
	height: 116px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--gold);
	color: #000;
	text-decoration: none;
	transform: rotate(-8deg);
	transition: transform .35s cubic-bezier(.3, 1.6, .6, 1), background-color .2s;
	box-shadow: 0 0 0 6px rgba(0, 0, 0, .35);
}
.siegel:hover { color: #000; background: var(--gold-hell); transform: rotate(0) scale(1.08); }
.siegel__ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	animation: drehen 26s linear infinite;
}
.siegel__ring text {
	font-family: var(--schrift-titel);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .12em;
	fill: #000;
}
.siegel__mitte {
	width: 58%;
	font-family: var(--schrift-titel);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.05;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .02em;
}
@keyframes drehen { to { transform: rotate(360deg); } }

.countdown {
	border-block: 1px solid var(--linie);
	background:
		radial-gradient(ellipse 55% 90% at 50% 100%, rgba(226, 194, 103, .16), transparent 70%),
		#000;
}
.countdown__innen {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(14px, 2vw, 22px);
	padding-block: clamp(32px, 5vw, 56px);
	text-align: center;
}
.countdown__label {
	font-family: var(--schrift-titel);
	font-size: clamp(18px, 2.4vw, 28px);
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
}
.countdown__zahlen { display: flex; justify-content: center; width: 100%; max-width: 980px; }
.countdown__zahlen div {
	flex: 1 1 0;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	padding: 0 6px;
	border-left: 1px solid var(--linie);
}
.countdown__zahlen div:first-child { border-left: 0; }
.countdown__zahlen dd {
	font-family: var(--schrift-titel);
	font-size: clamp(52px, 12.5vw, 136px);
	font-weight: 800;
	line-height: .95;
	letter-spacing: -.01em;
	padding: 0 .08em;
	font-variant-numeric: tabular-nums;
	background-image: linear-gradient(100deg, #462523 -40%, var(--gold-tief) 8%, var(--gold-hell) 40%, #f6f2c0 50%, var(--gold-hell) 60%, var(--gold-tief) 92%, #462523 140%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 0 22px rgba(226, 194, 103, .22));
}
.countdown__zahlen dt {
	margin-top: 10px;
	font-family: var(--schrift-titel);
	font-size: clamp(11px, 1.3vw, 14px);
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--text-2);
}
.countdown__vorbei { display: none; font-family: var(--schrift-titel); font-size: clamp(30px, 5vw, 56px); font-weight: 700; }
.countdown--vorbei .countdown__label, .countdown--vorbei .countdown__zahlen { display: none; }
.countdown--vorbei .countdown__vorbei { display: block; }

.einstieg, .bordkarte, .kapitel, .geschichte, .faq { margin-top: var(--abstand); }
.einstieg { display: grid; gap: 28px; }
.einstieg__lead, .lead {
	font-family: var(--schrift-titel);
	font-size: clamp(21px, 2.4vw, 29px);
	font-weight: 300;
	line-height: 1.38;
	letter-spacing: -.005em;
	color: #fff;
}
.einstieg__text { display: grid; gap: 1em; font-size: 17px; line-height: 1.7; align-self: end; }

.bordkarte {
	position: relative;
	display: grid;
	border: 1px solid var(--gold);
}
.bordkarte__kopf { padding: 26px 28px; background: var(--gold); color: #000; }
.bordkarte__kopf .etikett { color: rgba(0, 0, 0, .7); }
.bordkarte__kopf h2 { color: #000; font-size: clamp(26px, 3vw, 34px); font-weight: 700; letter-spacing: -.02em; }
.bordkarte__daten { display: grid; grid-template-columns: repeat(2, 1fr); }
.bordkarte__daten div { padding: 20px 22px; border-top: 1px dashed var(--linie); }
.bordkarte__daten div:nth-child(-n+2) { border-top: 0; }
.bordkarte__daten div:nth-child(2n) { border-left: 1px dashed var(--linie); }
.bordkarte__daten dt, .fahrplan dt {
	font-family: var(--schrift-titel);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--text-2);
	margin-bottom: 6px;
}
.bordkarte__daten dd, .fahrplan dd {
	font-family: var(--schrift-titel);
	font-size: clamp(19px, 2.2vw, 26px);
	font-weight: 500;
	line-height: 1.2;
	color: #fff;
}
.bordkarte__daten dd a { color: #fff; text-decoration-color: var(--gold); }
.bordkarte__daten dd a:hover { color: var(--gold); }

.kapitel__liste { list-style: none; display: grid; gap: 36px 24px; }
.kapitel__liste a { display: block; color: #fff; text-decoration: none; }
.kapitel__liste picture { overflow: hidden; aspect-ratio: 16 / 10; background: #111; }
.kapitel__liste img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1), filter .4s; filter: saturate(.9); }
.kapitel__liste a:hover img { transform: scale(1.05); filter: saturate(1.1); }
.kapitel__nr {
	display: block;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--linie);
	font-family: var(--schrift-titel);
	font-size: 13px;
	font-weight: 500;
	color: var(--gold);
}
.kapitel__titel {
	display: block;
	margin-top: 4px;
	font-family: var(--schrift-titel);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -.01em;
	transition: color .2s;
}
.kapitel__titel::after { content: "\2192"; margin-left: .3em; color: var(--gold); display: inline-block; transition: transform .25s; }
.kapitel__liste a:hover .kapitel__titel { color: var(--gold); }
.kapitel__liste a:hover .kapitel__titel::after { transform: translateX(5px); }

.geschichte { display: grid; gap: 12px; align-items: end; }
.geschichte__jahr {
	font-family: var(--schrift-titel);
	font-size: clamp(96px, 19vw, 240px);
	font-weight: 200;
	line-height: .78;
	letter-spacing: -.05em;
	padding-right: .12em;
	background-image: linear-gradient(100deg, var(--gold-tief) 0%, var(--gold-hell) 42%, #f6f2c0 50%, var(--gold-hell) 58%, var(--gold-tief) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.geschichte__text h2 { font-size: clamp(26px, 3vw, 36px); margin-bottom: 14px; }
.geschichte__text p { font-size: 17px; line-height: 1.7; max-width: 62ch; }

.faq { display: grid; gap: 8px; }
.faq details { border-top: 1px solid var(--linie-leise); }
.faq details:last-child { border-bottom: 1px solid var(--linie-leise); }
.faq summary {
	position: relative;
	padding: 20px 44px 20px 0;
	font-family: var(--schrift-titel);
	font-size: clamp(18px, 1.9vw, 21px);
	font-weight: 500;
	line-height: 1.3;
	color: #fff;
	cursor: pointer;
	list-style: none;
	transition: color .2s;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 28px;
	font-weight: 300;
	color: var(--gold);
	transition: transform .25s;
}
.faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq summary:hover { color: var(--gold); }
.faq details p { padding: 0 0 22px; max-width: 68ch; font-size: 16px; line-height: 1.7; }

.seitenkopf {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(340px, 58vh, 540px);
	padding: calc(var(--kopf-hoehe) + 48px) 0 clamp(36px, 5vw, 60px);
	overflow: hidden;
	isolation: isolate;
}
.seitenkopf h1 {
	font-size: clamp(34px, 5.8vw, 74px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.03em;
	max-width: 17ch;
	hyphens: auto;
}
.brotkrumen {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 26px;
	font-size: 13px;
	color: var(--text-2);
}
.brotkrumen a { color: var(--text-2); text-decoration: none; }
.brotkrumen a:hover { color: var(--gold); }
.brotkrumen [aria-current] { color: #fff; }

.text { padding-top: clamp(40px, 6vw, 80px); }
.text > * { max-width: 740px; }
.text > .lead { max-width: 900px; margin-bottom: 1.6em; }
.text p { margin-bottom: 1.1em; font-size: 17px; line-height: 1.75; }
.text p.lead { font-size: clamp(21px, 2.4vw, 29px); line-height: 1.4; margin-bottom: 1.6em; }
.text h2 {
	margin: 2.1em 0 .55em;
	font-size: clamp(25px, 2.8vw, 34px);
	color: var(--gold);
}
.text h3 { margin: 1.6em 0 .5em; font-size: clamp(20px, 2vw, 24px); }
.text h4 { margin: 1.4em 0 .4em; font-size: 18px; }
.text ul:not([class]), .text ol:not([class]) { padding-left: 1.3em; margin-bottom: 1.1em; }
.text li { margin-bottom: .4em; line-height: 1.7; }

.gruende { list-style: none; counter-reset: grund; margin: 2.4em 0; }
.gruende li {
	counter-increment: grund;
	display: grid;
	grid-template-columns: 1fr;
	gap: 6px;
	padding: 30px 0 14px;
	border-top: 1px solid var(--linie);
}
.gruende li::before {
	content: counter(grund, decimal-leading-zero);
	font-family: var(--schrift-titel);
	font-size: 46px;
	font-weight: 200;
	line-height: 1;
	letter-spacing: -.03em;
	padding-right: .08em;
	background-image: linear-gradient(100deg, var(--gold-tief) 0%, var(--gold-hell) 50%, var(--gold-tief) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.gruende h2 { margin: 0 0 .5em; color: #fff; }

.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.text h2.mit-symbol { display: flex; align-items: center; gap: 18px; }
.symbol {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border: 1px solid var(--linie);
	background: radial-gradient(circle at 50% 40%, rgba(226, 194, 103, .14), transparent 70%);
}
.symbol svg { width: 38px; height: 38px; filter: drop-shadow(0 0 6px rgba(226, 194, 103, .35)); }
.kurzum { margin-top: 3em; padding: clamp(24px, 4vw, 40px); border: 1px solid var(--linie); }
.kurzum h2 { margin-top: 0; }

.liste-gold { list-style: none; margin: 0 0 1.3em; }
.liste-gold li { position: relative; padding-left: 30px; margin-bottom: .55em; font-size: 17px; }
.liste-gold li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .85em;
	width: 16px;
	height: 1px;
	background: var(--gold);
}

.bild-breit { margin: 2.6em 0; max-width: 960px !important; }
.bild-breit img { width: 100%; }
.bild-breit figcaption {
	margin-top: 12px;
	padding-left: 14px;
	border-left: 2px solid var(--gold);
	font-size: 14px;
	color: var(--text-2);
}

.text > .fahrplan { max-width: 900px; }
.fahrplan {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	margin: 0 0 1em;
	border-block: 1px solid var(--linie);
}
.fahrplan div { padding: 18px 0; }
.fahrplan div:nth-child(n+3) { border-top: 1px dashed var(--linie); }

.ticket {
	display: grid;
	margin: 2.4em 0 1em;
	border: 1px solid var(--gold);
	max-width: 900px !important;
}
.ticket p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--text); }
.ticket__haupt { padding: clamp(22px, 3.5vw, 34px); }
.ticket__datum {
	margin: 4px 0 10px !important;
	font-family: var(--schrift-titel);
	font-size: clamp(40px, 6vw, 64px) !important;
	font-weight: 600;
	line-height: 1 !important;
	letter-spacing: -.03em;
	padding-right: .08em;
	display: inline-block;
	background-image: linear-gradient(100deg, var(--gold-tief) 0%, var(--gold-hell) 45%, #f6f2c0 52%, var(--gold-hell) 60%, var(--gold-tief) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}
.ticket__abriss {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 12px;
	padding: clamp(22px, 3.5vw, 34px);
	border-top: 2px dashed var(--linie);
}
.ticket__hinweis { font-size: 13px !important; color: var(--text-2) !important; }

.text--recht > * { max-width: 820px; }
.rechtstext { overflow-wrap: anywhere; }
.rechtstext h2 { font-size: clamp(23px, 2.4vw, 30px); }
.rechtstext h3 { color: #fff; }
.rechtstext p, .rechtstext li { font-size: 16px; }
.rechtstext table { width: 100%; border-collapse: collapse; margin-bottom: 1.2em; font-size: 15px; }
.rechtstext td, .rechtstext th { padding: 8px 10px; border: 1px solid var(--linie-leise); text-align: left; vertical-align: top; }
.rechtstext-hinweis { padding: 18px 20px; border-left: 2px solid var(--gold); background: #0d0c0a; }

.anbord {
	margin-top: var(--abstand);
	padding-block: clamp(60px, 9vw, 120px);
	border-top: 1px solid var(--linie);
	background:
		radial-gradient(ellipse 60% 80% at 92% 0%, rgba(226, 194, 103, .15), transparent 70%),
		#000;
}
.anbord h2 {
	font-size: clamp(52px, 10vw, 128px);
	font-weight: 700;
	line-height: .9;
	letter-spacing: -.04em;
	margin-bottom: 22px;
}
.anbord__text { max-width: 46ch; font-size: 17px; color: var(--text-2); }
.anbord__aktionen { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 34px; }

.fuss { border-top: 1px solid var(--linie-leise); padding-top: clamp(48px, 6vw, 72px); font-size: 15px; }
.seite-tickets-bootsparty-silvester .fuss, .seite-datenschutzerklaerung .fuss, .seite-impressum .fuss, .seite-fehler .fuss { margin-top: var(--abstand); }
.fuss__raster { display: grid; gap: 36px; }
.fuss__marke .marke__wort { font-size: 24px; margin-bottom: 14px; }
.fuss__marke p:not(.marke__wort) { max-width: 40ch; color: var(--text-2); font-size: 14px; }
.fuss__spalte ul { list-style: none; }
.fuss__spalte a { display: inline-block; padding: 6px 0; color: var(--text); text-decoration: none; }
.fuss__spalte a:hover { color: var(--gold); }
.fuss__unten { display: grid; gap: 10px; margin-top: 44px; padding: 26px 0 44px; border-top: 1px solid var(--linie-leise); font-size: 13px; color: var(--text-3); }
.fuss__unten a { color: var(--text-2); }

.ccm-settings-summoner { display: none !important; }

@media (max-width: 479px) {
	.menueknopf { padding: 0 12px; }
	.menueknopf__text {
		position: absolute;
		width: 1px; height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
	.kopf__tickets { padding: 9px 12px; }
	.marke__wort { font-size: 19px; }
}

@media (max-width: 359px) {
	.kopf__tickets { display: none; }
}

@media (min-width: 560px) {
	.kapitel__liste { grid-template-columns: repeat(2, 1fr); }
	.fahrplan { grid-template-columns: repeat(4, 1fr); }
	.fahrplan div { padding: 20px 20px 20px 0; }
	.fahrplan div:nth-child(n+3) { border-top: 0; }
	.fahrplan div + div { border-left: 1px dashed var(--linie); padding-left: 20px; }
	.bordkarte__daten { grid-template-columns: repeat(3, 1fr); }
	.bordkarte__daten div { border-left: 1px dashed var(--linie); }
	.bordkarte__daten div:nth-child(-n+2) { border-top: 1px dashed var(--linie); }
	.bordkarte__daten div:nth-child(-n+3) { border-top: 0; }
	.bordkarte__daten div:nth-child(3n+1) { border-left: 0; }
}

@media (min-width: 760px) {
	.siegel { width: 150px; height: 150px; top: auto; bottom: clamp(48px, 7vw, 80px); right: max(var(--rand), 8vw); }
	.siegel__mitte { font-size: 16px; }
	.ticket { grid-template-columns: 1fr auto; }
	.ticket__abriss { border-top: 0; border-left: 2px dashed var(--linie); }
	.gruende li { grid-template-columns: 5.5rem 1fr; }
	.gruende li::before { grid-row: span 2; }
	.fuss__raster { grid-template-columns: 2fr 1fr 1fr; gap: 48px; }
	.menue__innen { grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr); gap: 64px; align-items: center; }
	.menue__seite { border-top: 0; padding-top: 0; padding-left: 48px; border-left: 1px solid var(--linie); }
}

@media (min-width: 900px) {
	.einstieg { grid-template-columns: 7fr 5fr; gap: 72px; }
	.einstieg__text { padding-left: 32px; border-left: 1px solid var(--linie); }
	.bordkarte { grid-template-columns: 300px 1fr; }
	.bordkarte__kopf { display: flex; flex-direction: column; justify-content: center; padding: 34px; }
	.bordkarte::before, .bordkarte::after {
		content: "";
		position: absolute;
		left: 300px;
		width: 22px;
		height: 22px;
		margin-left: -11px;
		border-radius: 50%;
		background: #000;
		border: 1px solid var(--gold);
	}
	.bordkarte::before { top: -12px; clip-path: inset(50% 0 0 0); }
	.bordkarte::after { bottom: -12px; clip-path: inset(0 0 50% 0); }
	.geschichte { grid-template-columns: 5fr 7fr; gap: 56px; }
	.faq { grid-template-columns: 4fr 8fr; gap: 56px; align-items: start; }
	.faq .abschnittstitel { position: sticky; top: calc(var(--kopf-hoehe) + 24px); }
}

@media (min-width: 1100px) {
	.kopf { gap: 0; }
	.kopf__nav { display: block; margin-left: auto; }
	.kopf__tickets { margin-left: 32px; }
	.menueknopf { display: none; }
	.kapitel__liste { grid-template-columns: repeat(4, 1fr); }
	.hero { min-height: 700px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media print {
	.kopf, .menue, .siegel, .anbord, .countdown { display: none !important; }
	html, body { background: #fff; color: #000; }
	h1, h2, h3, .lead { color: #000 !important; }
}
