* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html,
body {
	height: 100%;
}

body {
	font-family: Arial, sans-serif;
	line-height: 1.6;
	color: #333;
	background-color: #f7f7f7;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

header {
	background-color: #333;
	color: #fff;
	text-align: center;
	padding: 1.5rem 1rem;
}

nav {
	background-color: #444;
	text-align: center;
	padding: 3rem 1rem 0.8rem;
	font-family: "OCR A Std", "OCR A Extended", "Courier New", monospace;
}

nav a {
	color: #df9ace;
	text-decoration: none;
	margin: 0 10rem;
	font-weight: 600;
	font-size: 1.5rem;
	text-shadow: 0 6px 8px rgba(0, 0, 0, 0.9);
	position: relative;
	display: inline-block;
}

nav a:hover {
	text-decoration: none;
}

nav a:hover::before,
nav a:hover::after {
	content: attr(data-text);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	pointer-events: none;
}

nav a:hover::before {
	color: #a855f7;
	animation: nav-glitch-text 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

nav a:hover::after {
	color: #d11515;
	animation: nav-glitch-text 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both;
}

@keyframes nav-glitch-text {
	0% {
		transform: translate(0);
		clip-path: inset(0 0 0 0);
	}
	20% {
		transform: translate(-3px, 2px);
		clip-path: inset(50% 0 20% 0);
	}
	40% {
		transform: translate(2px, -1px);
		clip-path: inset(20% 0 60% 0);
	}
	60% {
		transform: translate(-2px, 1px);
		clip-path: inset(80% 0 5% 0);
	}
	80% {
		transform: translate(2px, -2px);
		clip-path: inset(30% 0 45% 0);
	}
	100% {
		transform: translate(0);
		clip-path: inset(0 0 0 0);
	}
}

main {
	flex: 1;
	min-height: 0;
	max-width: 900px;
	margin: 2rem auto;
	padding: 0 1.2rem;
}

main.main-bg {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	min-height: 0;
}

.main-bg {
	position: relative;
	overflow: hidden;
}

body.home-page {
	background-color: transparent;
}

body.home-page nav {
	background-color: transparent;
	position: relative;
	z-index: 2;
}

body.home-page footer {
	background-color: transparent;
	position: relative;
	z-index: 2;
}

body.home-page nav a {
	color: #df9ace;
	text-shadow: 0 6px 8px rgba(0, 0, 0, 0.9);
}

body.home-page footer {
	color: #df9ace;
	text-shadow: 0 6px 8px rgba(0, 0, 0, 0.9);
}

body.home-page section {
	color: #fff;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85);
}

body.home-page main {
	margin: 0;
	max-width: none;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.home-page main.main-bg {
	background-image: none;
}

.bg-video {
	position: fixed;
	top: -1vh;
	left: -1vw;
	width: 102vw;
	height: 102vh;
	object-fit: fill;
	object-position: center center;
	pointer-events: none;
	z-index: 0;
}

body.home-page main {
	position: relative;
	z-index: 1;
}

body.home-page section {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	text-align: center;
}

section {
	background-color: #fff;
	border-radius: 8px;
	padding: 1.5rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

section h2 {
	margin-bottom: 0.8rem;
}

footer {
	background-color: #333;
	color: #df9ace;
	text-align: center;
	padding: 1rem;
	margin-top: 0;
	font-family: "OCR A Std", "OCR A Extended", "Courier New", monospace;
	text-shadow: 0 6px 8px rgba(0, 0, 0, 0.9);
}

@media (max-width: 600px) {
	nav a {
		display: inline-block;
		margin: 0.35rem 0.5rem;
	}
}
