/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img { display: block; max-width: 100%; height: auto; border: 0; }

/* Base */
body {
	font-family: 'Work Sans', sans-serif;
	font-size: 24px;
	line-height: 1.45;
	background: #fff;
	color: #000;
}

h1 { font-size: 70px; font-weight: 900; line-height: 1; margin-bottom: 24px; }
h2 { font-size: 24px; font-weight: 700; margin-bottom: 4px; }

p { margin-bottom: 16px; }
p:last-child { margin-bottom: 0; }

a { color: #000; text-decoration: none; border-bottom: 3px solid #000; }
a:hover { opacity: 0.5; }

strong { font-weight: 700; }
::selection { background: #000; color: #fff; }

.grau { color: #bbb; }
.light { font-weight: 300; }

/* Layout */
#wrapper { padding: 0 5%; }

/* Header */
#header { padding: 40px 0; }

.row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
}

nav a { font-size: 20px; white-space: nowrap; }

a.back { font-size: 20px; border-bottom: none; }

/* index.html — Intro */
#intro {
	padding-bottom: 60px;
	border-bottom: 3px solid #000;
}

.clients { margin-top: 24px; }

.bio-link { margin-top: 32px; font-size: 20px; }

/* index.html — Kontakt */
#kontakt {
	padding: 60px 0;
	font-size: 22px;
	line-height: 1.6;
}

/* projekte.html — Eigene Projekte */
#eigene-projekte { padding-top: 20px; }

.sektion-intro { font-size: 18px; margin-bottom: 44px; }

.projekt-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 56px;
}

.projekt-karte {
	border-top: 3px solid #000;
	padding: 36px 0 40px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.projekt-preview {
	display: block;
	border-bottom: none;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f0f0f0;
	border: 1px solid #efefef;
}
.projekt-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.projekt-karte:hover .projekt-preview img { transform: scale(1.03); }

.projekt-body { display: flex; flex-direction: column; gap: 12px; flex: 1; }

.projekt-body h2 a { border-bottom: none; }
.projekt-body h2 a:hover { opacity: 0.5; }

.tags { font-size: 14px; letter-spacing: 0.02em; margin: 4px 0 10px; }

.projekt-info p:last-of-type { font-size: 17px; line-height: 1.6; color: #555; }

.projekt-link {
	border-bottom: none;
	font-weight: 700;
	font-size: 17px;
	align-self: flex-start;
	margin-top: auto;
}

/* Responsive */
@media (max-width: 900px) {
	.projekt-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	body { font-size: 18px; }
	h1 { font-size: 48px; }
	nav a, a.back { font-size: 16px; }
}
