/* Vitrine – Website zur App.
   Farben aus dem App-Symbol: Petrol, Messing, cremiges Papier.
   Eine Datei für alle vier Seiten; Kopf- und Fußzeile stehen in jeder HTML-Datei. */

:root {
	--papier: #f4f1ea;
	--karte: #ffffff;
	--tinte: #14272e;
	--leise: #53686f;
	--petrol: #0e3d49;
	--petrol-hell: #1c5f6e;
	--messing: #c98e52;
	--linie: #e2dcd2;
	--rund: 16px;
	--rund-gross: 26px;
	--rund-knopf: 999px;
	--schatten: 0 10px 28px rgba(40, 40, 30, 0.07);
	--rand: 1px solid color-mix(in srgb, var(--linie) 70%, transparent);
	--lesebreite: 66ch;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--papier);
	background-image: linear-gradient(180deg, color-mix(in srgb, var(--petrol) 9%, transparent), transparent 420px);
	background-repeat: no-repeat;
	color: var(--tinte);
	font-family: ui-sans-serif, system-ui, -apple-system, sans-serif;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
}

.bahn {
	width: min(1040px, 100% - 36px);
	margin-inline: auto;
	padding-bottom: 64px;
}

a {
	color: inherit;
}

h1,
h2,
h3 {
	margin: 0;
	letter-spacing: -0.02em;
	line-height: 1.12;
}

/* Kleingedrucktes in Schreibmaschinenschrift */
.maschine {
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--leise);
}

/* ---------- Kopf- und Fußzeile ---------- */

.kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	padding: 20px 0;
	border-bottom: 2px solid var(--petrol);
}

.marke {
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	text-decoration: none;
}

.koordinaten {
	margin-right: auto;
}

.kopf nav {
	display: flex;
	gap: 18px;
	font-size: 15px;
}

.kopf nav a {
	text-decoration: none;
	color: var(--leise);
	padding-bottom: 2px;
	border-bottom: 2px solid transparent;
}

.kopf nav a:hover,
.kopf nav a[aria-current='page'] {
	color: var(--tinte);
	border-color: var(--messing);
}

.fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 64px;
	padding-top: 16px;
	border-top: 2px solid var(--petrol);
}

.fuss nav {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	font-size: 12px;
}

.fuss nav a {
	color: var(--leise);
	text-decoration: none;
}

.fuss nav a:hover {
	color: var(--tinte);
}

/* ---------- Startseite: Auftakt ---------- */

.buehne {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
	margin-top: 16px;
	padding: clamp(36px, 6vw, 72px) clamp(24px, 4vw, 56px);
	border-radius: var(--rund-gross);
	background:
		radial-gradient(700px 320px at 22% 12%, rgba(201, 142, 82, 0.28), transparent 70%),
		linear-gradient(160deg, #14414e, #0a2229 70%);
	color: #eef6f7;
	overflow: hidden;
}

.buehne h1 {
	margin: 12px 0 14px;
	font-size: clamp(34px, 5vw, 56px);
	font-weight: 800;
	letter-spacing: -0.04em;
}

.buehne p {
	margin: 0 0 24px;
	max-width: 42ch;
	color: rgba(238, 246, 247, 0.78);
}

.hell {
	color: rgba(238, 246, 247, 0.6);
}

.reihe {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
}

.knopf {
	display: inline-block;
	padding: 13px 26px;
	border-radius: var(--rund-knopf);
	background: var(--messing);
	color: #21170c;
	font-weight: 700;
	text-decoration: none;
}

.knopf:hover {
	background: #e0a765;
}

.knopf-leer {
	background: transparent;
	color: #eef6f7;
	box-shadow: inset 0 0 0 1px rgba(238, 246, 247, 0.4);
}

.knopf-leer:hover {
	background: rgba(238, 246, 247, 0.12);
}

.buehne .hinweis {
	margin: 16px 0 0;
	max-width: 46ch;
}

/* Die Geräte: gezeichnete Rahmen, gestaffelt und leicht gedreht */
.geraete {
	position: relative;
	height: clamp(320px, 38vw, 460px);
}

.tafel,
.telefon {
	position: absolute;
	background: #0b1418;
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45);
}

.tafel {
	top: 6%;
	right: 0;
	width: 76%;
	padding: 10px;
	border-radius: 22px;
	transform: rotate(3deg);
}

.tafel img {
	display: block;
	width: 100%;
	border-radius: 14px;
}

.telefon {
	width: 30%;
	padding: 7px;
	border-radius: 30px;
}

.telefon img {
	display: block;
	width: 100%;
	border-radius: 24px;
}

.telefon.hinten {
	left: 2%;
	top: 0;
	transform: rotate(-8deg);
}

.telefon.vorn {
	left: 22%;
	bottom: 0;
	transform: rotate(4deg);
	z-index: 2;
}

/* ---------- Startseite: Abschnitte ---------- */

.koennen {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: clamp(20px, 3vw, 36px);
	padding: clamp(40px, 6vw, 72px) 0;
}

.koennen h2 {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 800;
}

.koennen p {
	margin: 0;
	font-size: 15.5px;
	color: var(--leise);
}

.ausfuehrlich {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: clamp(24px, 4vw, 44px);
	padding-bottom: clamp(40px, 6vw, 68px);
}

.ausfuehrlich h2 {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 800;
}

.ausfuehrlich p {
	margin: 0;
	max-width: var(--lesebreite);
	font-size: 16px;
	color: var(--leise);
}

.daten {
	padding: clamp(26px, 4vw, 44px);
	border-radius: var(--rund-gross);
	background: #232a20;
	color: #e5e9dd;
	background: var(--petrol);
	color: #eff6f7;
}

.daten h2 {
	margin: 0 0 10px;
	font-size: clamp(22px, 2.8vw, 30px);
	font-weight: 800;
}

.daten p {
	margin: 0 0 14px;
	max-width: var(--lesebreite);
	color: rgba(239, 246, 247, 0.86);
}

.daten a {
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	font-size: 13px;
	color: #eff6f7;
	text-decoration: none;
	border-bottom: 1px solid var(--messing);
}

.fragen {
	padding: clamp(40px, 6vw, 68px) 0 0;
}

.fragen h2 {
	margin: 0 0 14px;
	font-size: clamp(22px, 2.8vw, 30px);
	font-weight: 800;
}

.liste {
	display: grid;
	gap: 10px;
}

details {
	padding: 16px 20px;
	border-radius: var(--rund);
	background: var(--karte);
	border: var(--rand);
	box-shadow: var(--schatten);
}

summary {
	cursor: pointer;
	font-weight: 650;
}

details p {
	margin: 10px 0 0;
	max-width: var(--lesebreite);
	color: var(--leise);
}

.schluss {
	margin-top: 20px;
	color: var(--leise);
}

.schluss a {
	color: var(--petrol);
	font-weight: 650;
	text-decoration: none;
	border-bottom: 1px solid var(--messing);
}

/* ---------- Anhänge: Hilfe, Datenschutz, Impressum ---------- */

.blatt {
	padding: clamp(32px, 5vw, 56px) 0 0;
}

.blatt h1 {
	margin: 8px 0 22px;
	font-size: clamp(30px, 4.6vw, 44px);
	font-weight: 800;
}

.text {
	padding: clamp(22px, 4vw, 34px);
	background: var(--karte);
	border: var(--rand);
	border-radius: var(--rund-gross);
	box-shadow: var(--schatten);
	overflow-wrap: anywhere;
}

.text h2 {
	margin: 28px 0 8px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.text h2:first-child {
	margin-top: 0;
}

.text h3 {
	margin: 20px 0 6px;
	font-size: 17px;
	font-weight: 700;
}

.text p,
.text li {
	max-width: var(--lesebreite);
	color: var(--leise);
}

.text ul {
	padding-left: 20px;
}

.text li {
	margin-bottom: 6px;
}

.text a {
	color: var(--tinte);
	border-bottom: 1px solid var(--messing);
	text-decoration: none;
}

.text ul.index {
	padding-left: 18px;
}

.text ul.index a {
	border: none;
	color: var(--petrol);
}

.text ul.index a:hover {
	border-bottom: 1px solid var(--messing);
}

.text .seal {
	margin-top: 28px;
	padding-top: 16px;
	border-top: 1px solid var(--linie);
	font-size: 13px;
}

.zurueck {
	display: inline-block;
	margin-top: 20px;
	text-decoration: none;
}

.zurueck:hover {
	color: var(--tinte);
}

/* ---------- Schmale Bildschirme ---------- */

@media (max-width: 860px) {
	.buehne {
		grid-template-columns: 1fr;
	}

	.geraete {
		height: clamp(300px, 70vw, 420px);
	}
}

@media (max-width: 620px) {
	.koordinaten {
		order: 3;
		width: 100%;
		margin-right: 0;
	}
}
