@import url('https://fonts.googleapis.com/css2?family=Arbutus+Slab:wght@400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Corinthia:wght@400;700&display=swap');

:root {
	--color: #fff;
	--background-color: #000;
	--site-width: 1300px;
	--site-padding: 15px;
	--radius: 15px;
	--border: 1px solid #fff2;
}

@media (min-width: 450px) {
	:root {--site-padding: 20px;}
}

@media (min-width: 600px) {
	:root {--site-padding: 40px;}
}

@media (min-width: 900px) {
	:root {--site-padding: 60px;}
}


* {box-sizing: border-box;}

body {
	margin: 0; padding: 0;
	color: var(--color);
	background-color: var(--background-color);
	font-size: 18px;
	font-family: Arbutus Slab, Georgia, 'Times New Roman', serif;
	line-height: 1.8;
}

img {width: 100%;}

nav, header, section {
	.inner {padding: 50px var(--site-padding); max-width: var(--site-width); margin: auto;}
}

nav {
	position: absolute; left: 0; top: 0; width: 100%; font-family: Corinthia, cursive; font-size: 50px; line-height: 1;
	.inner {padding: 20px var(--site-padding);}
}

@media (max-width: 1000px) {
	nav {font-size: 40px;}
}

@media (max-width: 600px) {
	nav {position: static;}
}

header {
	.inner {padding-top: 0; padding-bottom: 0;}
	img {max-width: calc(var(--site-width) + var(--site-padding) * 2); width: 100%; margin: auto; display: block; aspect-ratio: 16 / 9;}
}

.header-quote {
	text-align: center;
	text-wrap: balance;
	margin: 25px auto 10px;
	padding: 35px 0 0 0;
	max-width: 700px;
	position: relative;
}

.header-quote::before {
	content: '\201C';
	font-size: 80px;
	color: rgba(255, 255, 255, 0.3);
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	line-height: 1;
}

.header-quote p {
	font-size: 24px;
	font-style: italic;
	color: #e0e0e0;
	line-height: 1.6;
	margin: 8px 0 0 0;
	letter-spacing: 0.5px;
}

.header-quote cite {
	display: block;
	font-size: 24px;
	font-style: normal;
	color: rgba(255, 255, 255, 0.6);
	font-family: Corinthia, cursive;
	font-weight: 700;
	letter-spacing: 2px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: Corinthia, cursive;
	font-weight: 700;
	margin: 0;
	letter-spacing: 3px;
	line-height: .9;
}
h1 {font-size: 65px; margin-bottom: 20px;}
h2 {font-size: 50px; margin-bottom: 15px;}
h3 {font-size: 40px; margin-bottom: 10px;}
h4 {font-size: 30px; margin-bottom: 8px;}

a {
	color: #6093d2;
	text-decoration: none;
	transition: color 0.2s ease;
}
a:hover {
	color: #9cbce3;
	text-decoration: underline;
}

section h2 {text-align: center;}

section p {
	font-size: 18px;
	line-height: 1.5;
	color: #d0d0d0;
	margin: 0 0 10px 0;
	text-align: justify;
}

section p:last-child {
	margin-bottom: 0;
}

@media (min-width: 1000px) {

	#bio {

		background-image: url(assets/bio.webp); background-size: 100% auto; background-repeat: no-repeat; background-position: center; margin: auto; margin-bottom: 40px;

		img {display: none;}
		.inner > div {margin: 0 0 auto 0; background-color: var(--background-color); padding: 30px; border-radius: var(--radius); border: var(--border); max-width: 700px; box-shadow: 0 0 20px #0008;}

	}

	@media (max-width: 1100px) {
		#bio .inner > div {max-width: 600px;}
	}

	@media (max-width: 1700px) {
		#bio {background-attachment: fixed; background-size: cover;}
	}

	@media (min-width: 1700px) {
		#bio {background-size: 2100px auto;}
	}

}

#bio img {border-radius: var(--radius); border: var(--border); max-width: 100%; height: auto; margin-top: 20px;}

.album {

	max-width: 800px; margin: auto;

	.album-header {
		display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: center; margin-bottom: 20px;
		img {width: 200px; border-radius: var(--radius); border: var(--border); aspect-ratio: 1 / 1;}
		.album-info p {margin: 0;}
	}

	.tracks {
		margin: 0; padding: 0; list-style: none;
		li {margin: 0; padding: 7px 0; border-bottom: 1px solid #fff2;}
		li:last-child {border-bottom: none;}
	}

}

.btn {background-color: #ffffff15; color: #fff; padding: 8px 12px; border-radius: 7.5px; border: none; cursor: pointer; font-size: 18px; transition: background-color 0.2s ease; display: inline-flex; align-items: center; gap: 10px; margin-top: 13px; letter-spacing: .5px;}
.btn:hover {background-color: #ffffff20; text-decoration: none; color: #fff;}
.btn svg {width: 24px; height: 24px; fill: #fff;}

#kontakt p {
	text-align: center;
}

@media (max-width: 600px) {
	nav {font-size: 45px;}
	h1 {font-size: 45px;}
	h2 {font-size: 40px;}
	h3 {font-size: 35px;}
	h4 {font-size: 25px;}
	.album .album-header {
		gap: 25px;
		img {width: 170px;}
	}
}
