
.banner {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	gap: 1em;
	color: #fff;
	text-shadow: -2px 2px 12px rgba(0,0,0,0.5);
}

.banner h2 {
	font-size: 1.25em;
}

.banner .logo {
	font-size: 5em;
	padding-bottom: 1rem;
}

.banner .backdrop {
	z-index: -5;
	overflow: hidden;
	background: linear-gradient(to bottom, var(--bs-blue), var(--bs-cyan));
}

.banner .backdrop::after {
	content: "";
	position: absolute;
	top: -1px;
	right: 0px;
	left: 0px;
	bottom: 0px;
	border-image: radial-gradient(transparent, var(--bs-body-bg) 75%) 49.99%;
	border-width: 30px;
	border-top-width: 0px;
	border-style: solid;
}

.banner .peaks {
	color: #fff;
	background: linear-gradient(to bottom, var(--bs-border-color) 50%, var(--bs-body-bg) 100%);
	position: absolute;
	bottom: 0px;
	left: 1em;
	width: 30rem;
	height: 10rem;
}

main > * {
	margin-bottom: 1rem;
}

main {
	margin-bottom: 1rem;
}

.split > .card {
	min-width: 450px;
	width: 40%;
}

.card .split > * {
	min-width: 60%;
}

.graphic {
	display: flex;
	gap: var(--std-gap);
	justify-content: center;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

.graphic > img {
	aspect-ratio: 1;
	flex-grow: 0;
	height: 8em;
}

.graphic > p {
	flex-grow: 1;
}

@media (min-width: 768px) {	
	.banner {
		min-height: 12em;
	}
	
	.card .split > * {
		min-width: unset;
	}
	
	.graphic {
		flex-wrap: nowrap;
	}
}

@media print {
	.banner {
		color: unset;
		text-shadow: none;
	}
	
	.banner .backdrop {
		opacity: 0;
	}
}