:root {
	--background-color-primary: rgb(29, 33, 39);
	--background-color-primary-transparent: rgba(29, 33, 39, 0.5);
	--background-color-secondary: rgb(38, 42, 50);
	--background-color-secondary-transparent: rgba(38, 42, 50, 0.5);
	--text-color-primary: rgb(255, 255, 255);
	--text-color-primary-transparent: rgba(255, 255, 255, 0.25);
	--text-color-secondary: rgb(86, 95, 113);
	--text-color-secondary-transparent: rgba(86, 95, 113, 0.25);
	--accent-color: rgb(244, 162, 2);
	--accent-color-clear: rgba(244, 162, 2, 0);
	--accent-color-transparent: rgba(244, 162, 2, 0.25);
	--accent-color-alt: rgb(255, 99, 71);
	--accent-color-alt-clear: rgba(255, 99, 71, 0);
	--accent-color-alt-transparent: rgba(255, 99, 71, 0.25);
	--accent-color-average: rgb(255, 159, 10);
	--accent-color-average-clear: rgba(255, 159, 10, 0);
	--accent-color-average-transparent: rgba(255, 159, 10, 0.25);
	zoom: var(--body-zoom, 1);
	scroll-behavior: smooth;
}

* {
	user-select: none;
}

a {
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
}

section
{
	justify-content: space-between;
	align-items: flex-start;
	padding: 6rem 12rem;
	display: flex;
}

/* Responsive section padding */
@media (max-width: 767px) {
	section {
		padding: 3rem 1.5rem;
		flex-direction: column;
		gap: 2rem;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	section {
		padding: 4rem 3rem;
	}
}

@media (min-width: 1200px) {
	section {
		padding: 6rem 12rem;
	}
}

h1
{
	margin: 0;
	font-size: 6rem;
	font-weight: 500;
	margin-bottom: 1rem;
	line-height: .9;
	letter-spacing: -0.1rem;
}

/* Responsive h1 sizing */
@media (max-width: 767px) {
	h1 {
		font-size: 3.5rem;
		line-height: 1;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	h1 {
		font-size: 4.5rem;
	}
}

@media (min-width: 1200px) {
	h1 {
		font-size: 6rem;
	}
}

h2
{
	font-weight: 500;
	margin: 1rem 0;
	line-height: 1.2;
}

/* Responsive h2 sizing */
@media (max-width: 767px) {
	h2 {
		font-size: 1.5rem;
		line-height: 1.3;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	h2 {
		font-size: 1.75rem;
	}
}

h3
{
	font-weight: 500;
	margin: 1rem 0;
	line-height: 1.2;
	font-size: 2.25rem;
}

/* Responsive h3 sizing */
@media (max-width: 767px) {
	h3 {
		font-size: 1.25rem;
		line-height: 1.3;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	h3 {
		font-size: 1.5rem;
	}
}

h6
{
	font-size: 1rem;
	font-weight: 400;
	margin-bottom: 1rem;
	font-family: 'Roboto Mono', monospace;
	color: var(--text-color-secondary);
	margin: 0;
}

h6::before
{
	font-family: 'Roboto Mono', monospace;
	content: "—";
	margin-right: .5rem;
	color: var(--text-color-secondary);
}

a.gradient-underline
{
	position: relative;
}

a.gradient-underline::after
{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	border-radius: .125rem;
	transform: scaleX(0);
	transform-origin: center right;
	transition: transform 0.3s ease;
	background-image: linear-gradient(to right, var(--accent-color), var(--accent-color-alt));
	height: .25rem;
	display: block;
}

a.gradient-underline:hover::after
{
	transform-origin: center left;
	transform: scaleX(1);
}
