.page-shell main {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.navbar-padding {
	margin-top: 60px;
}

.carousel-container {
	padding: 24px;
	max-width: 960px;
	align-items: center;
}

.hero-icon {
	width: 72px;
	height: 72px;
	border-radius: 18px;
}

.hero-title {
	font-size: 1.5rem;
	font-weight: 400;
	color: black;
	text-shadow: none;
}

.hero-content {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 4px;
}

.hero-content h1 {
	margin: 0;
}

.contact-desc {
	font-size: 1.2rem;
	font-weight: 400;
	text-indent: 1rem;
	text-align: justify;
	max-width: 600px;
	padding: 0 16px;
}

.contact-desc a {
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.9;
	color: #9074cd;
	text-decoration: underline;
}

.profile-group {
	width: 192px;
	height: 192px;
	position: relative;
	cursor: pointer;
	user-select: none;
}

.profile-pic {
	width: 192px;
	height: 192px;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.profile-pic.active {
	opacity: 1;
}

.profile-pic.circle {
	border-radius: 50%;
}

.profile-pic.square {
	border-radius: 2rem;
}

.contact-row {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
}

.contact-icon {
	width: 52px;
	height: 52px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 8px;
	background-color: #f2e8f2;
	border: 2px solid #9074cd;
	border-radius: 12px;
}

.contact-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.hstack {
	display: flex;
	flex-direction: row;
	gap: 4px;
}

.stack {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.stack * {
	margin: 0;
}

.stack a {
	color: #9074cd;
}

@media (max-width: 860px) {
	.hstack {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}
