html, body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

:root{
	--accent: #7aa2ff;
	--accent-fallback: #7aa2ff;
}

#resume {
    color: white;
    position: absolute;
    top: calc(50% + 160px);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    display: inline-block;
    width: auto;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 1.2em;
    text-transform: uppercase;
	text-decoration: none;
    font-size: 10px;
    line-height: 2;
    z-index: 100;
    text-align: center;
    opacity: 0.8;
}

#resume:hover {
    opacity: 1;
    text-shadow: 0 0 12px var(--accent);
}

#name {
	color: white;
	position: absolute;
	top: 50%;
	left: 50%;
	line-height: 2;
	z-index: 100;
	text-align: center;
	transform: translateX(-50%) translateY(-100%);
	font-family: 'Open Sans', sans-serif;
	letter-spacing: 1.2em;
	text-transform: uppercase;
	font-size: 16px;
	text-shadow: 
		0 0 10px rgba(255,255,255,0.3),
		0 0 20px rgba(255,255,255,0.1);
	animation: nameGlow 6s ease-in-out infinite;
}

@keyframes nameGlow {
	0%, 100% { 
		text-shadow: 
			0 0 10px rgba(255,255,255,0.3),
			0 0 20px rgba(255,255,255,0.1);
	}
	50% { 
		text-shadow: 
			0 0 15px var(--accent, rgba(255,255,255,0.4)),
			0 0 25px var(--accent, rgba(255,255,255,0.2)),
			0 0 35px var(--accent, rgba(255,255,255,0.1));
	}
}

#social {
	color:white;
	position: absolute;
	top: calc(50% + 95px);
	z-index: 100;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}

#social a {
	display: inline-block;
	width: 30px;
	padding: 0px 15px;
}

#social img {
	filter: invert(100%);
	width: 100%;
	height: auto;
	opacity: 0.6;
	transition: 0.15s ease;
}

#social img:hover {
	opacity: 1;
	filter: invert(100%) drop-shadow(0 0 15px var(--accent));
}

#landing {
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    min-width: 100%;
    min-height: 100%;
}

#landing::after{
	content: "";
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	pointer-events: none;
	background: 
		radial-gradient(60% 60% at 50% 50%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 70%, rgba(0,0,0,0.65) 100%),
		radial-gradient(circle at 30% 30%, rgba(255,255,255,0.03) 0%, transparent 40%),
		radial-gradient(circle at 70% 70%, rgba(255,255,255,0.02) 0%, transparent 50%);
	z-index: 50;
	animation: gentlePulse 8s ease-in-out infinite;
}

@keyframes gentlePulse {
	0%, 100% { 
		opacity: 0.3;
		transform: scale(1);
	}
	50% { 
		opacity: 0.6;
		transform: scale(1.05);
	}
}

#about {
	height: 50vh;
}

/* Mobile and tablet responsive design */
@media (max-width: 768px) {
	#name {
		font-size: 14px;
		letter-spacing: 0.8em;
	}
	
	#resume {
		font-size: 9px;
		letter-spacing: 0.8em;
		top: calc(50% + 140px);
	}
	
	#social a {
		width: 25px;
		padding: 0px 10px;
	}
}

@media (max-width: 480px) {
	#name {
		font-size: 12px;
		letter-spacing: 0.6em;
	}
	
	#resume {
		font-size: 8px;
		letter-spacing: 0.6em;
		top: calc(50% + 120px);
	}
	
	#social a {
		width: 20px;
		padding: 0px 8px;
	}
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	#social img {
		image-rendering: -webkit-optimize-contrast;
		image-rendering: crisp-edges;
	}
}
