.hero {
	padding: 6rem 2.2rem 0 2.2rem;
	width: 100%;
	height: 100vh;
	min-height: 100dvh;
	background-size: 200%;
	display: flex;
	flex-direction: column;
	color: var(--on-primary);
	background: var(--hero-bg);
	animation: presentation 3s linear forwards;
	align-items: center;
	flex-wrap: wrap-reverse;
	position: relative;
	justify-content: center;
}

.hero::after {
	content: '';
	position: absolute;
	height: 6rem;
	width: 100%;
	background: linear-gradient(0deg, var(--primary-0), #0000);
	bottom: 0;
}

.hero .hero__img {
	width: 100%;
	max-width: 38rem;
	border-radius: 50%;
	height: auto;
}

.hero .hero__container {
	display: grid;
	grid-template-columns: 1fr auto;
	width: 100%;
	max-width: var(--max-width);
	gap: 8rem;
}

.hero .hero__text {
	font-size: var(--text-xx-large);
}

.hero__container .text__content {
	font-weight: 600;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4rem;
}

.hero__container .text__content .hero__title {
	font-size: var(--text-xxx-large);
	line-height: var(--text-xxx-large);
}

.hero__container .hero__title p {
	font-size: var(--text-x-large);
	font-weight: normal;
	color: var(--primary-90);
	max-width: 80%;
}

@media screen and (max-width: 768px) {
	.hero {
		padding: 12rem 0 5rem 0;
	}
	.hero .hero__img {
		max-width: 28rem;
	}
	.hero .hero__container {
		display: flex;
		max-width: 100%;
		gap: 0;
		flex-direction: column-reverse;
		justify-content: center;
		align-items: center;
	}
	.hero .text__content {
		align-items: center;
	}

	.hero .hero__text {
		font-size: var(--text-x-large);
		text-align: center;
	}
}

@keyframes presentation {
	0% {
		background-size: 200%;
	}
	50% {
		background-position: 70%;
	}
	100% {
		background-size: 100%;
	}
}
