@font-face {
    font-family: 'Verola Lux';
    src: url('../font/VerolaLux.woff2') format('woff2'),
        url('../font/VerolaLux.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
	--scroll-progress: 0;
	--scroll-px: 0px;
	--scroll-shift: 0px;
	--scroll-tilt: 0deg;
	--bg-accent-opacity: 0.34;
	--hero-progress: 0;
	--about-progress: 0;
	--about-depth-x: 0;
	--about-depth-y: 0;
	--about-rotate-x: 0deg;
	--about-rotate-y: 0deg;
}

html {
	scroll-behavior: smooth;
	scroll-snap-type: y mandatory;
}

html.is-animating-scroll {
	scroll-snap-type: none;
}

body {
	margin: 0;
	font-family:'Manrope', sans-serif;
	background:
		radial-gradient(circle at calc(54% + var(--scroll-shift)) calc(2% + (var(--scroll-progress) * 10%)), rgba(47, 136, 104, calc(var(--bg-accent-opacity) + 0.04)), transparent 28%),
		radial-gradient(circle at calc(82% - (var(--scroll-progress) * 14%)) calc(18% + (var(--scroll-progress) * 34%)), rgba(20, 105, 76, 0.3), transparent 24%),
		radial-gradient(circle at 18% 24%, rgba(249, 191, 95, 0.12), transparent 20%),
		linear-gradient(calc(144deg + var(--scroll-tilt)), #070c0a 0%, #0b1813 34%, #11251d 66%, #181f1d 100%);
	background-attachment: fixed;
	color: white;
	overflow-x: hidden;
	position: relative;
}

body::before,
body::after {
	content: "";
	position: fixed;
	inset: -14%;
	pointer-events: none;
	z-index: -2;
}

body::before {
	background:
		radial-gradient(circle at calc(16% + (var(--scroll-progress) * 16%)) 20%, rgba(249, 191, 95, 0.22), transparent 18%),
		radial-gradient(circle at calc(78% - (var(--scroll-progress) * 10%)) calc(18% + (var(--scroll-progress) * 24%)), rgba(39, 146, 109, 0.32), transparent 18%),
		radial-gradient(circle at calc(42% + (var(--scroll-progress) * 18%)) 82%, rgba(83, 188, 150, 0.12), transparent 14%),
		conic-gradient(from calc(180deg + (var(--scroll-progress) * 90deg)) at 50% 50%, rgba(35, 133, 98, 0.2), rgba(12, 38, 30, 0.14), rgba(0, 0, 0, 0), rgba(28, 112, 82, 0.2));
	filter: blur(30px) saturate(112%);
	opacity: calc(0.9 + (var(--scroll-progress) * 0.12));
	transform: translate3d(calc(var(--scroll-shift) * 0.35), calc(var(--scroll-px) * -0.16), 0) scale(calc(1.08 + (var(--scroll-progress) * 0.16))) rotate(calc(var(--scroll-tilt) * 0.8));
	animation: driftGlow 22s ease-in-out infinite alternate;
	transition: opacity 420ms ease, transform 420ms ease, filter 420ms ease;
}

body::after {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		radial-gradient(circle at 50% 50%, rgba(71, 156, 124, 0.12), transparent 62%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
	background-size: 90px 90px, 90px 90px, 100% 100%, 180px 180px;
	background-position: 0 0, 0 0, center center, 0 0;
	opacity: 0.22;
	transform: translate3d(calc(var(--scroll-shift) * -0.15), calc(var(--scroll-px) * -0.08), 0) rotate(calc(8deg + var(--scroll-tilt)));
	mask-image: radial-gradient(circle at center, black 58%, transparent 100%);
	-webkit-mask-image: radial-gradient(circle at center, black 58%, transparent 100%);
	animation: driftGrid 28s linear infinite, noiseShift 1.6s steps(2) infinite;
	transition: opacity 420ms ease, transform 420ms ease;
	mix-blend-mode: screen;
}

body > * {
	position: relative;
	z-index: 1;
}

body > *::selection {
	background: rgba(249, 191, 95, 0.35);
}

@keyframes driftGlow {
	0% {
		transform: translate3d(calc(-1% + (var(--scroll-shift) * 0.16)), calc(var(--scroll-px) * -0.12), 0) scale(1.03) rotate(calc(var(--scroll-tilt) * 0.35));
	}
	100% {
		transform: translate3d(calc(1.8% + (var(--scroll-shift) * 0.22)), calc((var(--scroll-px) * -0.12) - 22px), 0) scale(calc(1.1 + (var(--scroll-progress) * 0.08))) rotate(calc(2.5deg + (var(--scroll-tilt) * 0.45)));
	}
}

@keyframes driftGrid {
	0% {
		background-position: 0 0, 0 0;
	}
	100% {
		background-position: 0 48px, 48px 0, 0 0;
	}
}

@keyframes noiseShift {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 36px 52px;
	}
}
  
::-webkit-scrollbar {
width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
background: transparent; 
}

/* Handle */
::-webkit-scrollbar-thumb {
background: #f9bf5f; 
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
background: #f9bf5f;
}

#NavBar
{
	transition-property: all;
	transition-duration: .2s;
	width: 100%;
	height: 15%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	isolation: isolate;
}

#MenuToggle,
#MenuClose
{
	display: none;
	border: 0;
	background: transparent;
	color: #f9bf5f;
	cursor: pointer;
	font-family:'Sora', sans-serif;
}

#MenuToggle
{
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 1100;
	width: 3.5rem;
	height: 3.5rem;
	padding: 0.8rem;
	background: transparent;
}

#MenuToggle span
{
	display: block;
	width: 100%;
	height: 4px;
	margin: 0.38rem 0;
	background: #f9bf5f;
	border-radius: 999px;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.35), 0 0 10px rgba(249, 191, 95, 0.18);
}

#MenuClose
{
	position: absolute;
	top: 1.2rem;
	right: 1.2rem;
	z-index: 2;
	font-size: 2.75rem;
	line-height: 1;
}

#NavBar  ul 
{
	transition-property: all;
	transition-duration: .35s;
	transition-timing-function: ease;
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 100%;
	margin-top: 2.5%;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
}
  
#NavBar li
{
	transition: opacity .35s ease, transform .35s ease, max-width .35s ease, margin .35s ease;
	text-align: center;
	display: block;
}

#NavBar .home-nav-item
{
	max-width: 8rem;
}

#NavBar li a 
{
	transition: color .25s ease, text-shadow .25s ease, transform .25s ease, opacity .25s ease;
	font-family:'Sora', sans-serif;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: #f9bf5f;
	padding:  10px;
	text-decoration: none;
	height: 10%;
	font-size: 2em;
	text-align: center;
	text-shadow: -0 0 10px #000;
}

#NavBar .home-nav-item.Cur
{
	opacity: 0;
	pointer-events: none;
	max-width: 0;
	margin: 0;
	transform: translateY(-10px) scale(0.92);
	overflow: hidden;
}

#NavBar .home-nav-item.Cur a
{
	opacity: 0;
	transform: translateY(-6px);
	padding-left: 0;
	padding-right: 0;
}
#NavBar li a:hover
{
	color: white;
	font-size: 2.2em;
}

#NavBar li a:focus,
#NavBar li a:focus-visible,
#NavBar li a:active
{
	color: white;
	outline: none;
}
#NavBar.scrolled
{
	height: 10%;
	background: rgba(12, 31, 25, 0.52);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(120, 231, 187, 0.18);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
}

#NavBar.scrolled ul
{
	margin-top: 1.5%;
}

#NavBar.scrolled li a,
#NavBar.scrolled .Cur a,
#NavBar.scrolled li a:hover:not(.Cur)
{
	text-shadow: none;
}

#NavBar li.Cur a
{
	color: white;
	font-weight: 700;
	text-shadow: -5px 5px 10px #000;
}
#NavBar li a:hover {
	transition: all 0.2s cubic-bezier(1, 1, 1, 1);
	color: white;
	text-shadow: -5px 5px 10px #000;

}
/*HOME*/
#home
{
	width: 100%;
	min-height: 100vh;
	padding-top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
#home img
{
	transition-property: all;
	transition-duration: .2s;
	width: 62%;
	margin: 0;
	height: unset;
	filter: drop-shadow(0 24px 60px rgba(0, 0, 0, 0.45));
	transform: translate3d(0, calc(var(--hero-progress) * -90px), 0) scale(calc(1 - (var(--hero-progress) * 0.18))) rotate(calc(var(--hero-progress) * -4deg));
	opacity: calc(1 - (var(--hero-progress) * 0.28));
	filter:
		drop-shadow(0 24px 60px rgba(0, 0, 0, 0.45))
		drop-shadow(0 0 calc(12px + (var(--hero-progress) * 36px)) rgba(47, 136, 104, 0.38));
}

#games,
#blog
{
	width: 100%;
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	align-items: center;
	justify-content: center;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.games-shell,
.blog-shell
{
	width: 72%;
	padding: 4rem 3rem 3rem;
	background: rgba(12, 31, 25, 0.52);
	border: 1px solid rgba(120, 231, 187, 0.18);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
	position: relative;
	overflow: hidden;
}

.games-shell::before,
.blog-shell::before
{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 86% 18%, rgba(90, 223, 176, 0.1), transparent 22%),
		radial-gradient(circle at 14% 84%, rgba(249, 191, 95, 0.1), transparent 20%);
	opacity: 0.85;
}

.section-kicker
{
	font-family:'Sora', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #f9bf5f;
	margin-bottom: 1rem;
	position: relative;
	z-index: 1;
}

.section-title
{
	font-family:'Sora', sans-serif;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.05;
	color: #f4fbf7;
	max-width: 16ch;
	margin-bottom: 2rem;
	position: relative;
	z-index: 1;
}

.games-grid,
.blog-grid
{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	position: relative;
	z-index: 1;
}

.games-grid:has(.game-card:only-child),
.blog-grid:has(.blog-card:only-child)
{
	grid-template-columns: minmax(18rem, 34rem);
	justify-content: center;
}

.game-card,
.blog-card
{
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 1.4rem;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	min-height: 16rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.game-card.featured
{
	background: rgba(249, 191, 95, 0.1);
	border-color: rgba(249, 191, 95, 0.18);
}

.game-status,
.blog-date
{
	font-family:'IBM Plex Mono', monospace;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #f9bf5f;
	margin-bottom: 0.85rem;
}

.game-card h3,
.blog-card h3
{
	font-family:'Sora', sans-serif;
	font-size: 1.4rem;
	line-height: 1.15;
	color: #f4fbf7;
	margin: 0 0 0.8rem;
}

.game-card p,
.blog-card p
{
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(239, 247, 242, 0.86);
	margin: 0;
}

.game-meta
{
	margin-top: 1rem;
	font-family:'IBM Plex Mono', monospace;
	font-size: 0.82rem;
	line-height: 1.6;
	color: rgba(146, 240, 195, 0.85);
}

#about
{
	transition-property: all;
	transition-duration: .2s;
	background: transparent;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%;
	min-height: 100vh;
	min-height: 100svh;
	color: #eff7f2;
	overflow: visible;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	scroll-snap-align: start;
	scroll-snap-stop: always;
 }

.about-shell
{
	position: relative;
	z-index: 1;
	width: 64%;
	padding: 5.5rem 4rem 4.5rem;
	background: rgba(12, 31, 25, 0.52);
	transform: translate3d(0, calc(60px - (var(--about-progress) * 60px)), 0) scale(calc(0.92 + (var(--about-progress) * 0.08)));
	opacity: calc(0.45 + (var(--about-progress) * 0.55));
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
	border: 1px solid rgba(120, 231, 187, 0.18);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-radius: 0;
	overflow: hidden;
}

.about-shell:hover
{
	transform: translate3d(0, calc(54px - (var(--about-progress) * 60px)), 0) scale(calc(0.93 + (var(--about-progress) * 0.08)));
}

.about-shell::after
{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: none;
}

.about-title
{
	font-family:'Sora', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #f9bf5f;
	margin-bottom: 1.8rem;
	text-align: center;
}

.about-art
{
	position: absolute;
	left: 0;
	bottom: 0;
	top: auto;
	width: auto;
	height: 82%;
	aspect-ratio: 1500 / 639;
	background-image: url("../images/GreenMarchSplash.svg");
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: left bottom;
	opacity: 0.24;
	filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.28));
	pointer-events: none;
	z-index: 1;
	overflow: hidden;
}

#fullAbout
{
	text-align: center;
	font-family:'IBM Plex Mono', monospace;
	padding: 0;
	color: #eff7f2;
	position: relative;
	z-index: 2;
	max-width: 34rem;
	margin: 0 auto;
}

.about-copy
{
	max-width: 34rem;
	margin: 0;
	font-size: 1rem;
	line-height: 1.85;
	font-weight: 400;
	color: #92f0c3;
	text-align: center;
	padding-left: 0;
	position: relative;
	text-shadow: 0 0 10px rgba(90, 223, 176, 0.12);
}

.about-copy + .about-copy
{
	margin-top: 0.7rem;
}


#contact
{
	width: 100%;
	margin: 0;
	min-height: calc(100vh - 4rem);
	min-height: calc(100svh - 4rem);
	display: flex;
	align-items: center;
	justify-content: center;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.contact-shell
{
	width: 60%;
	padding: 4rem 3rem 3rem;
	border-radius: 0;
	background: rgba(12, 31, 25, 0.52);
	border: 1px solid rgba(120, 231, 187, 0.18);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
	position: relative;
	overflow: hidden;
}

.contact-shell::before
{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 86% 18%, rgba(90, 223, 176, 0.12), transparent 22%),
		radial-gradient(circle at 14% 84%, rgba(249, 191, 95, 0.12), transparent 20%);
	opacity: 0.9;
}

#contact a
{
	text-decoration: none;
	color: inherit;
}
#ContactTitle
{
	font-family:'Sora', sans-serif;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #f9bf5f;
	padding: 0 0 2rem;
	width: auto;
	text-align: center;
	font-size: 2.4rem;
	position: relative;
	z-index: 1;
}
	

#mail
{
	transition-property: all;
	transition-duration: .2s;
	background: rgba(255, 255, 255, 0.12);
	font-family:'Manrope', sans-serif;
	text-align: center;
	border-radius: 0;
	padding: 1.15rem 1.5rem;
	margin: 0 auto 1.5rem;
	max-width: 32rem;
	font-size: 1.2rem;
	letter-spacing: 0.01em;
	color: #f2f8f5;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
	z-index: 1;
}

#mail:hover
{
	background: rgba(249, 191, 95, 0.18);
	color: #fff6df;
}

#media
{
	margin: 0 auto;
	max-width: 34rem;
	text-align: center;
	margin-top: 0.5rem;
	position: relative;
	z-index: 1;
}

#media a
{
	transition-property: all;
	transition-duration: .2s;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
	color: #f7fbf8;
	border-radius: 0;
	padding: 18px;
	width: 46px;
	text-align: center;
	text-decoration: none;
	margin: 6px 4px;
	font-size: 24px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.08);
} 
#media a:hover
{
	transform: translateY(-4px);
	background: rgba(249, 191, 95, 0.16);
}
.fa
{
	background: transparent;
}

.fa:hover {
    opacity: 1;
	font-size: 24px;
}

.fa-facebook:hover
{
	background: #3B5998;
}
.fa-twitter:hover
{
	background: #55ACEE;
}
.social-x
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family:'Sora', sans-serif;
	font-weight: 700;
	letter-spacing: 0.03em;
	font-size: 22px;
	line-height: 1;
	text-align: center;
}
.social-x:hover
{
	background: rgba(255, 255, 255, 0.18);
}
.fa-linkedin:hover
{
	background: #007bb5;
}
.fa-youtube:hover
{
	background: #bb0000;
}
.fa-instagram:hover
{
	background: rgba(18, 86, 136, 0.24);
}
footer
{
	font-family:'Manrope', sans-serif;
	letter-spacing: 0.01em;
	color: white;
	text-align: center;
	font-size: 1.5em;
	padding-bottom: 1%;
}
footer a
{
	color: #f9bf5f;
                text-decoration: none;
                text-align: center;
}


/* Landscape phone to portrait tablet */
@media (max-width: 1200px) 
{  
	#MenuToggle
	{
		display: block;
	}
	body.mobile-menu-open #MenuToggle
	{
		display: none;
	}
	#NavBar.scrolled, #NavBar
	{
		height: 100vh;
		inset: 0;
		width: 100%;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-2%);
		transition: opacity 220ms ease, transform 220ms ease;
		background: rgba(7, 18, 15, 0.58);
		backdrop-filter: blur(24px) saturate(125%);
		-webkit-backdrop-filter: blur(24px) saturate(125%);
		border-bottom: 0;
		box-shadow: none;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	body.mobile-menu-open #NavBar
	{
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}
	body.mobile-menu-open
	{
		overflow: hidden;
	}
	#NavBar  ul 
	{
		padding: 0;
		width: min(26rem, 100%);
		margin: 0;
		gap: 1.4rem;
		flex-wrap: nowrap;
		flex-direction: column;
	}
	#NavBar.scrolled ul
	{
		margin-top: 0;
		margin-bottom: 0;
	}
	#NavBar li a
	{
		font-size: clamp(2rem, 7vw, 3.3rem);
		padding: 0.2rem 1rem;
		display: inline-block;
	}
	#NavBar li a:hover
	{
		font-size: clamp(2rem, 7vw, 3.3rem);
	}
	#MenuClose
	{
		display: none;
	}
	body.mobile-menu-open #MenuClose
	{
		display: block;
	}
	#home img
	{
		width: min(112%, 42rem);
		margin: 0;
		height: unset;
	}
	#about
	{
		min-height: calc(100vh - 4rem);
		min-height: calc(100svh - 4rem);
	}
	.about-shell
	{
		width: 82%;
		padding: 4rem 2.5rem 3.25rem;
		background-size: auto, auto;
	}
	.about-title
	{
		font-size: 0.92rem;
		margin-bottom: 1.4rem;
	}
	.about-art
	{
		width: auto;
		height: 78%;
		aspect-ratio: 1500 / 639;
		background-size: auto 100%;
		background-position: left bottom;
	}
	#fullAbout
	{
		max-width: 30rem;
	}
	.about-copy
	{
		font-size: 0.96rem;
		line-height: 1.75;
	}
	.games-shell,
	.blog-shell
	{
		width: 88%;
		padding: 3rem 2rem 2.5rem;
	}
	.section-title
	{
		max-width: 18ch;
	}
	.games-grid,
	.blog-grid
	{
		grid-template-columns: 1fr;
	}
	@media (max-width: 979px) 
	{  
		.Poster
		{
			width: 100%;
		}
		.GameInfo
		{
			width: 100%;
		}
		.Stores
		{
			width: 100%;
		}
	}
	
	#contact
	{
		margin: 0 auto;
		min-height: calc(100vh - 5rem);
		min-height: calc(100svh - 5rem);
	}
	.contact-shell
	{
		width: 88%;
		border-radius: 30px;
	}
	#ContactTitle
	{
		width: auto;
		padding: 0 0 2rem;
		font-size: 2.4rem;
	}
	#mail
	{
		padding: 1rem;
		margin: 0 8% 1rem;
		font-size: 1.25rem;
	}
	#mail:hover
	{
		padding: 1rem;
		margin: 0 8% 1rem;
		font-size: 1.25rem;
	}
	#media
	{
		margin: 0 0 5%;
		text-align: center;
		margin-top: 1rem;
	}
	#media a
	{
		padding: 16px;
		width: 40px;
		font-size: 24px;
	}
	#media a:hover
	{
		padding: 16px;
	}
	.fa:hover
	{
		font-size: 24px;
	}
}

@media (max-width: 700px)
{
	#NavBar ul
	{
		gap: 1rem;
	}
	#NavBar li a
	{
		font-size: clamp(1.8rem, 8vw, 2.7rem);
		padding: 0.1rem 0.75rem;
	}
	#NavBar li a:hover
	{
		font-size: clamp(1.8rem, 8vw, 2.7rem);
	}
	#MenuToggle
	{
		top: 0.75rem;
		right: 0.75rem;
		width: 3.15rem;
		height: 3.15rem;
	}
	#home
	{
		min-height: 88vh;
		padding-top: 3.75rem;
	}
	#home img
	{
		width: 118%;
		max-width: 30rem;
	}
	#about
	{
		min-height: calc(100vh - 3rem);
		min-height: calc(100svh - 3rem);
	}
	#games,
	#blog
	{
		min-height: auto;
		padding: 6rem 0 3rem;
	}
	.about-shell
	{
		width: 88%;
		padding: 3rem 1.25rem 0;
		background-size: auto, auto;
		background-position: top right, bottom left;
	}
	.about-title
	{
		font-size: 1rem;
		letter-spacing: 0.12em;
	}
	#fullAbout
	{
		max-width: 100%;
		padding-bottom: 2rem;
	}
	.about-copy
	{
		font-size: 0.88rem;
		line-height: 1.7;
	}
	.games-shell,
	.blog-shell
	{
		width: 92%;
		padding: 2.4rem 1.2rem 2rem;
	}
	.section-kicker
	{
		font-size: 0.82rem;
	}
	.section-title
	{
		font-size: 1.6rem;
		max-width: 100%;
	}
	.game-card,
	.blog-card
	{
		min-height: auto;
		padding: 1.1rem;
	}
	.game-card h3,
	.blog-card h3
	{
		font-size: 1.15rem;
	}
	.game-card p,
	.blog-card p
	{
		font-size: 0.92rem;
	}
	.about-art
	{
		position: absolute;
		left: 0;
		bottom: 0;
		top: auto;
		width: auto;
		height: 72%;
		aspect-ratio: 1500 / 639;
		margin-top: 0;
		background-size: auto 100%;
		background-position: left bottom;
		opacity: 0.2;
	}
	#contact
	{
		margin: 0 auto;
		min-height: calc(100vh - 5.5rem);
		min-height: calc(100svh - 5.5rem);
	}
	.contact-shell
	{
		width: 92%;
	}
	#ContactTitle
	{
		font-size: 1.9rem;
		padding-bottom: 1.5rem;
	}
	#mail
	{
		margin: 0 4% 1rem;
		font-size: 1rem;
	}
	#mail:hover
	{
		margin: 0 4% 1rem;
		font-size: 1rem;
	}
	#media
	{
		margin-bottom: 2rem;
	}
	#media a
	{
		padding: 14px;
		width: 34px;
		font-size: 20px;
	}
	.social-x
	{
		font-size: 20px;
		line-height: 1;
	}
	.fa:hover
	{
		font-size: 20px;
	}
	footer
	{
		font-size: 1rem;
		padding: 0 1rem 1rem;
	}
}
