* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: "Roboto", sans-serif;
}

:root {
	--bg-color: #0c101c;
	--text-color: #e0e4f0;
	--accent-color: #94e2d5;
	--hover-color: #ffffff;
	--glow-color: #4f9fff;
}

html {
	overflow-y: hidden;
}

body {
	background-color: var(--bg-color);
	color: var(--text-color);
}

a {
	color: var(--accent-color);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--hover-color);
	text-shadow: 0 0 8px var(--glow-color);
}

/* Header styles */
.header {
	height: 15vh;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.projects-container {
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.projects {
	display: flex;
	gap: 4vw;
	font-size: 1.6vw;
}

/* Main section styles */
main {
	min-height: 70vh;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.main-card {
	display: flex;
	height: 50vh;
	width: 70vw;
	gap: 10vw;
	align-items: center;
	border-radius: 15px;
	box-shadow:
		2px 2px 4px rgba(0, 0, 0, 0.6),
		-2px -2px 4px rgba(255, 255, 255, 0.03);
}

.main-text {
	margin-left: 10vw;
	width: 20vw;
}

.roirepus-text {
	font-size: 3vw;
}

.tagline {
	margin-top: 10px;
	font-size: 1.5vw;
}

.main-img {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20vw;
	margin-right: 10vw;
}

.pfp {
	border: 2px solid #94e2d5;
	border-radius: 50%;
	max-width: 15vw;
	aspect-ratio: 1/1;
	object-fit: cover;
	will-change: transform;
}

/* Footer styles */
footer {
	height: 15vh;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.social-container {
	display: flex;
	gap: 4vw;
}

.logo {
	fill: var(--accent-color);
	width: 4vw;
	height: 4vh;
	transition: fill 0.2s ease, filter 0.2s ease;
}

.logo:hover {
	fill: var(--hover-color);
	filter: drop-shadow(0 0 6px var(--glow-color));
}

@media (max-width: 768px) {
	body {
		overscroll-behavior-y: contain;
	}

	.projects {
		font-size: 3vw;
	}

	.main-card {
		height: 40vh;
		width: 90vw;
		gap: 10vw;
	}

	.main-text {
		margin-left: 10vw;
		width: 30vw;
	}

	.main-img {
		margin-right: 10vw;
		width: 30vw;
	}

	.roirepus-text {
		font-size: 4vw;
	}

	.tagline {
		font-size: 2vw;
	}

	.pfp {
		max-width: 20vw;
	}

	.logo {
		width: 6vw;
		height: 3vh;
	}

	.social-container {
		display: flex;
		gap: 4vh;
	}
}

/* Additional adjustments for very small screens */
@media (max-width: 480px) {

	body {
		overscroll-behavior-y: contain;
	}

	.main-card {
		height: 35vh;
	}

	.projects {
		font-size: 3.5vw;
		gap: 3vw;
	}

	.roirepus-text {
		font-size: 5vw;
	}

	.tagline {
		font-size: 2.5vw;
	}

	.social-container {
		display: flex;
		gap: 4vh;
	}
}
