/* Übersichtsseite: neutral, damit die drei Farbwelten nebeneinander wirken. */

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

body {
	margin: 0;
	background: #f4f4f2;
	color: #1c1c1c;
	font-family: "Commissioner", system-ui, sans-serif;
	line-height: 1.5;
}

a {
	color: inherit;
	text-decoration: none;
}

.ov {
	width: min(100% - 3rem, 82rem);
	margin-inline: auto;
	padding-block: 4rem 5rem;
}

.ov__head {
	display: grid;
	gap: 1rem;
	max-width: 48rem;
	margin-bottom: 3rem;
}

.ov__kicker {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6b6b6b;
}

.ov__title {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.ov__intro {
	margin: 0;
	font-size: 1.125rem;
	color: #4a4a4a;
}

.ov__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.dir {
	display: grid;
	grid-template-rows: auto 1fr;
	overflow: hidden;
	border-radius: 0.5rem;
	background: #fff;
	box-shadow: 0 0.0625rem 0.1875rem rgb(0 0 0 / 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dir:hover {
	transform: translateY(-0.25rem);
	box-shadow: 0 0.75rem 2rem rgb(0 0 0 / 0.12);
}

.dir__poster {
	display: grid;
	align-content: end;
	gap: 0.75rem;
	min-height: 15rem;
	padding: 1.75rem;
}

.dir__num {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.75;
}

.dir__claim {
	margin: 0;
	font-size: 2.125rem;
	line-height: 1.05;
}

.dir--kompass .dir__poster {
	background: #f5f1ea;
	color: #1f2a3a;
}

.dir--kompass .dir__claim {
	font-family: "Newsreader", Georgia, serif;
	font-weight: 400;
	font-style: italic;
}

.dir--reife .dir__poster {
	background: #c89f7a;
	color: #2f2014;
}

.dir--reife .dir__claim {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-weight: 600;
	font-size: 2.5rem;
}

.dir--einstieg .dir__poster {
	background: #d2694a;
	color: #fff;
}

.dir--einstieg .dir__claim {
	font-family: "Bricolage Grotesque", system-ui, sans-serif;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.dir__body {
	display: grid;
	align-content: start;
	gap: 1.25rem;
	padding: 1.75rem;
}

.dir__name {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.25;
}

.dir__sub {
	display: block;
	font-size: 0.9375rem;
	font-weight: 400;
	color: #6b6b6b;
}

.dir__label {
	margin: 0 0 0.35rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #8a8a8a;
}

.dir__text {
	margin: 0;
	font-size: 0.9375rem;
	color: #333;
}

.swatches {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.swatch {
	display: grid;
	gap: 0.35rem;
	font-size: 0.6875rem;
	line-height: 1.3;
	color: #555;
}

.swatch::before {
	content: "";
	display: block;
	height: 2.75rem;
	border-radius: 0.25rem;
	border: 0.0625rem solid rgb(0 0 0 / 0.08);
	background: var(--sw);
}

.sw-papier { --sw: #f5f1ea; }
.sw-nachtblau { --sw: #1f2a3a; }
.sw-messing { --sw: #b08d57; }
.sw-salbei-1 { --sw: #8a9a80; }
.sw-zedernholz { --sw: #c89f7a; }
.sw-creme { --sw: #f3ece1; }
.sw-moosgruen { --sw: #4f5d3f; }
.sw-tabakbraun { --sw: #6b4a2f; }
.sw-offwhite { --sw: #faf7f2; }
.sw-terracotta { --sw: #d2694a; }
.sw-salbei-3 { --sw: #a9b8a0; }
.sw-anthrazit { --sw: #2e2e2e; }

.swatch b {
	font-weight: 600;
	color: #222;
}

.navline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.navline li {
	padding: 0.25rem 0.6rem;
	border-radius: 1rem;
	background: #f1f1ef;
	font-size: 0.8125rem;
}

.dir__go {
	font-weight: 600;
}

.ov__today {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 0.0625rem solid #ddd;
	font-size: 0.9375rem;
	color: #555;
}

.ov__today a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
