:root { --primary: #169AAF; --dark: #082A38; }
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body { font-family: Inter, sans-serif; overflow: hidden; background: #e4edf8; color: #fff; }
.bg {
	position: fixed;
	inset: -4%;
	background: linear-gradient(rgba(221, 225, 231, 0.55), rgba(45, 42, 42, 0.72));
	animation: kenburns 28s ease-in-out infinite alternate;
}
.bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 30% 40%, rgba(54, 132, 147, 0.18), transparent 40%),
	radial-gradient(circle at 75% 70%, rgba(255, 255, 255, .06), transparent 35%);
}
.logo-watermark {
	position: fixed;
	left: -8vw;
	top: 50%;
	transform: translateY(-50%);
	width: 42vw;
	opacity: .04;
	pointer-events: none;
	filter: blur(.5px);
}
main { position: relative; z-index: 5; min-height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 3rem 1.5rem 8rem; }
.logo { width: min(560px, 78vw); filter: drop-shadow(0 10px 35px rgba(0, 0, 0, .145)); animation: fade .9s ease; }
.footer {
	position: fixed;
	left: 50%;
	bottom: 2rem;
	transform: translateX(-50%);
	width: min(1100px, 92vw);
	display: grid;
	grid-template-columns:repeat(3, 1fr);
	background: rgba(8, 42, 56, .28);
	backdrop-filter: blur(18px);
	border: 1px solid rgba(255, 255, 255, .10);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
}

.item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	padding: 1.35rem 1rem;
	text-decoration: none;
	color: #fff;
	transition: .25s;
}

.item:not(:last-child) {
	border-right: 1px solid rgba(255, 255, 255, .08);
}

.item:hover {
	background: rgba(22, 154, 175, .16);
}

.icon {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: var(--primary);
	border: 1px solid rgba(22, 154, 175, .45);
	font-size: 1.15rem;
}

.item span {
	font-size: 1.05rem;
	font-weight: 500;
}

@keyframes kenburns {
	from {
		transform: scale(1.02) translate(0, 0)
	}
	to {
		transform: scale(1.12) translate(-1.5%, -1%)
	}
}

@keyframes fade {
	from {
		opacity: 0;
		transform: translateY(20px)
	}
	to {
		opacity: 1;
		transform: none
	}
}

@media (max-width: 760px) {
	main {
		padding-bottom: 15rem
	}

	.logo {
		width: 78vw
	}

	.logo-watermark {
		display: none
	}

	.footer {
		width: 90vw;
		grid-template-columns:1fr;
		bottom: 1rem;
	}

	.item:not(:last-child) {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
	}

	.item {
		justify-content: flex-start;
		padding: 1rem 1.2rem;
	}

	.item span {
		font-size: 1rem
	}
}
