main {
	scroll-behavior: smooth;
	scroll-snap-type: y mandatory;
	margin-top: 2rem;
	padding-block-end: 8rem;
}
main > section {
	scroll-snap-align: center;
}
.v-content-wrapper {
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	row-gap: 3rem;
	padding-block: 5rem 3rem;
	align-items: center;
}
.v-content-container .v-sm-title {
	color: var(--primary-clr);
	width: max-content;
	margin-inline: auto;
	font-weight: 600;
}
.v-content-container .v-title {
	font-weight: 700;
}
.v-image-container {
	border-radius: 0.5rem;
	overflow: hidden;
}
/* .v-content-wrapper .v-subtext {
	font-size: 0.9rem;
} */
.v-content-container {
	display: flex;
	flex-direction: column;
	row-gap: 1.5rem;

	&:has(.v-pill) {
		row-gap: 0.7em;
	}
}
.section-one {
	margin-top: 6.8rem;
	.v-content-wrapper {
		padding: 1rem;

		@media screen and (min-width: 991px) {
			.v-title {
				font-size: 2.9rem;
			}
			.v-subtext {
				font-size: 1rem;
			}
		}
	}

	& .v-cat-container {
		margin-top: 2rem;

		& .v-cat {
			color: var(--white);
			padding: 0.7rem 2rem;
			min-height: 3rem;
			overflow: hidden;
			background-color: var(--primary-clr);
			width: max-content;
			margin-inline: auto;
			border: 1px solid var(--primary-clr);
			border-radius: 4px;
			font-size: 0.95rem;
			border-radius: 5px;
			position: relative;
			isolation: isolate;

			& span {
				font-weight: 500;
			}

			&::before {
				position: absolute;
				content: "";
				background-color: var(--white);
				inset: 0;
				border-radius: 3px;
				width: 100%;
				transition: transform 300ms ease;
				transform-origin: bottom right;
				transform: scaleX(0);
			}

			&:hover {
				color: var(--primary-clr);

				&::before {
					transform-origin: bottom left;
					transform: scaleX(1);
				}
			}
		}
	}
}
.section-two {
	margin-block: -2.5rem 3.5rem;
	padding-block: 2rem;

	.v-content-wrapper {
		padding-block-start: 1rem;
	}

	.row {
		row-gap: 2rem;

		.v-each-card {
			/* --index: 1; */

			/* @media all and (min-width: 1024px) {
				.row {
					margin-inline: 0;
					margin-right: -30px;
				}
				&:nth-child(1) {
					z-index: calc(var(--index));
				}
				&:nth-child(2) {
					z-index: calc(var(--index) * 0);
				}
				&:nth-child(3) {
					z-index: calc(var(--index) * -1);
				}
			} */
		}

		.v-each-card-inner {
			display: flex;
			/* background-color: rgb(254 251 251); */
			flex-direction: column;
			justify-content: space-between;
			border-radius: 5px;
			/* padding: 1.5rem; */
			align-items: flex-start;
			text-align: start;
			/* border: 1px solid var(--primary-clr); */
			row-gap: 1rem;
			height: 100%;

			@media all and (min-width: 1024px) {
				& {
					/* margin-right: -10px;
					aspect-ratio: 1/0.85;
					padding: 1.5rem 2rem; */
				}
			}

			& .v-bottom {
				flex-grow: 1;
				display: flex;
				flex-direction: column;
				row-gap: 2rem;
				justify-content: flex-end;
				.v-card-text-content {
					font-size: 0.93rem;
				}
			}
			& .v-icon-container {
				width: 1.5rem;
				height: 1.5rem;
				display: flex;
				margin-bottom: 5px;
				& svg {
					--size: 2rem;
					width: var(--size);
					height: var(--size);
					color: var(--primary-clr);
				}
			}
		}
	}
}
.section-two .v-sm-text {
	color: var(--primary-clr);
}
.section-two .v-subtext-content {
	font-size: 0.9rem;
}
.section-two .v-title {
	font-weight: 700;
}
.section-three {
	background-color: var(--primary-clr);
	padding-block: 2rem 4rem;
}

.section-three .row {
	row-gap: 3rem;
}
.section-three {
	.v-image-container {
		aspect-ratio: 16/12;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
.section-three .v-content {
	--white: rgba(255 255 255 / 90%);
	--white-2: rgba(255 255 255 / 60%);
	color: var(--white);
	.v-talk {
		text-align: start;
		display: flex;
		flex-direction: column;
		row-gap: 10px;

		.v-span-icon-container {
			--size: 3rem;
			& svg {
				color: var(--white);
				fill: var(--white);
				height: var(--size);
				width: var(--size);
			}
		}
	}
	.v-subcontent {
		font-size: 1.08rem;
	}

	.v-founder {
		margin-top: 3rem;

		& > * {
			color: var(--white-2);
		}
		.v-founder-position {
			font-weight: 400;
			font-size: 0.85rem;
		}
	}
}
.section-four .row {
	row-gap: 2rem;
	padding-block: 7rem;

	.v-major-title {
		font-weight: 700;
		font-size: 1.8rem;
	}
	.v-content {
		display: flex;
		flex-direction: column;
		row-gap: 1.5rem;

		.v-sm-text {
			color: var(--primary-clr);
			font-size: 0.98rem;
			font-weight: 500;
		}
		.v-title {
			font-weight: 600;
			font-size: 1.2rem;
		}
		.v-text-content {
			font-size: 0.92rem;
			.link-to {
				color: var(--primary-clr);
				font-weight: 500;
			}
		}
	}
	.v-image-container {
		@media all and (min-width: 768px) {
			& {
				scale: 0.9;
			}
		}
		& img {
			width: 100%;
		}
	}

	.v-list-item {
		--shift-left: 3rem;
		display: flex;
		flex-direction: column;
		row-gap: 1.5rem;
		padding-left: var(--shift-left);
		margin-top: 2rem;
		counter-reset: number 0;

		.v-item {
			display: flex;
			flex-direction: column;
			row-gap: 10px;
			position: relative;

			&::before {
				counter-increment: number;
				content: counter(number);
				position: absolute;
				left: 0;
				top: 0;
				color: var(--white);
				font-size: 0.8rem;
				font-weight: 600;
				translate: calc(var(--shift-left) * -1) 0;
				border-radius: 50%;
				background-color: var(--primary-clr);
				line-height: 1;
				width: 1rem;
				height: 1rem;
				display: flex;
				align-items: center;
				justify-content: center;
				padding: 0.8rem;
			}

			.v-text {
				display: flex;
				align-items: center;
				column-gap: 1rem;
				.v-tab-pill {
					font-size: 0.8rem;
					padding: 3px 6px;
					border-radius: 4px;
					color: var(--primary-clr);
					background-color: var(--primary-clr-variant-2);
				}
			}
		}
	}
}
.section-five {
	background-color: var(--primary-clr-variant-2);
	padding-block: 6rem;

	.section-title {
		margin-block: 0 4rem;
		text-wrap: balance;
		@media screen and (min-width: 991px) {
			& {
				margin-block: 3rem 0;
			}
			.pre-content {
				margin-bottom: -3rem;
			}
		}
	}
	@media screen and (max-width: 768px) {
		& {
			padding-block: 4rem;
		}
	}
	& .row {
		row-gap: 5rem;
	}

	& .v-container-inner {
		display: flex;
		flex-direction: column;
		row-gap: 2rem;
		margin-block: 0 5rem;

		.v-each {
			display: flex;
			flex-direction: column;
			row-gap: 1rem;

			.v-title {
				font-weight: 600;
				font-size: 1.1rem;
			}
		}
		.v-text-content {
			font-size: 0.9rem;
		}
	}
	.v-image-container {
		aspect-ratio: 16/12;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 0.5rem;
		overflow: hidden;

		& img {
			width: 100%;
		}
	}
}

.v-accordion {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	.cls-1 {
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 40px;
	}
}

.v-accordion .v-accordion-item {
	width: 100%;
	border-bottom: 1.5px solid rgba(0 0 0 / 30%);
	position: relative;
	text-align: start;
	padding-block: 4px;
	display: flex;
	align-items: start;
	gap: 1rem 0;
	transition: 300ms ease;
	justify-content: space;
	flex-direction: column;

	@media all and (min-width: 991px) {
		& {
			align-items: center;
			flex-direction: row;
		}
	}

	.v-accordion-title-container {
		z-index: 1;
		width: 100%;

		@media all and (min-width: 991px) {
			& {
				width: 65%;
			}
		}

		& button {
			display: flex;
			align-items: center;
			text-align: start;
			gap: 1rem;
			border: none;
			background-color: var(--white);
			justify-content: space-between;
			padding-block: 10px 0;
			width: 100%;

			.v-accordion-title {
				font-size: 0.9rem;
			}

			&.active {
				color: var(--primary-clr);
				padding-block: 10px;

				& svg {
					rotate: -90deg;

					@media all and (min-width: 991px) {
						& {
							opacity: 1;
							visibility: visible;
							translate: 0;
							rotate: 0deg;
						}
					}
				}
			}
			@media all and (min-width: 991px) {
				& {
					padding-block: 1.8rem;
					justify-content: flex-start;
				}
				&.active {
					padding-block: 1.8rem;
				}
			}
			& svg {
				--size: 1.4rem;
				height: var(--size);
				width: var(--size);

				user-select: none;
				rotate: 90deg;

				@media all and (min-width: 991px) {
					& {
						translate: -1rem 0;
						opacity: 0;
						visibility: hidden;
						rotate: 0deg;
					}
				}
			}
		}
	}
}
.v-accordion .v-accordion-body {
	transition-timing-function: ease-out;
	transition-duration: 300ms;
	padding-block: 0;
	height: 0;
	opacity: 0;
	flex-grow: 0;
	overflow: hidden;
	transform-origin: top;
	@media all and (min-width: 991px) {
		& {
			transition-duration: 320ms;
			transform: translateX(-75%);
			visibility: hidden;
			opacity: 0;
			height: auto;
			transform-origin: left;
		}
	}
}
.v-accordion .v-accordion-body .v-text {
	font-size: 0.85rem;
	font-weight: 500;
	text-align: start;
	text-wrap: wrap;
	/* display: -moz-box;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-clamp: 3;
	-webkit-line-clamp: 3;
	text-overflow: ellipsis; */
}
.v-accordion .v-accordion-title-container:has(button.active) + .v-accordion-body {
	padding-block: 0.5rem 0.8rem;
	display: block;
	opacity: 1;
	height: max-content;

	@media all and (min-width: 991px) {
		& {
			opacity: 1;
			visibility: visible;
			transform: translateX(0);
			padding-inline: 1rem;
		}
	}
}
.v-scroll-container-inner {
	display: flex;
	flex-direction: column;
	row-gap: 4rem;
	justify-content: space-around;
	min-height: max-content;

	@media all and (min-width: 991px) {
		& {
			row-gap: 1rem;
		}
	}
	& li {
		display: flex;
		align-items: center;
		justify-content: space-around;
		flex-direction: column;
		@media all and (min-width: 991px) {
			& {
				height: 80vh;
				margin-bottom: 4rem;
				&:not(:first-child) {
					justify-content: flex-start;
				}
			}
		}

		& .v-list-content > * {
			transform: translateY(3rem);
			opacity: 0;
		}

		&.active .v-list-content > * {
			animation: animateIn 400ms ease-in-out forwards;
		}

		&.active .v-list-content .v-text-content {
			animation-delay: 300ms;
		}
		&.active .v-list-content .v-cat-link {
			animation-delay: 500ms;
		}

		.v-list-content {
			display: flex;
			flex-direction: column;
			row-gap: 1.5rem;

			& .v-title {
				font-weight: 600;
				@media screen and (min-width: 991px) {
					& {
						font-size: 2.3rem;
					}
				}
			}
			& .v-text-content {
				@media screen and (min-width: 991px) {
					& {
						font-size: 1.1rem;
						color: var(--black);
					}
				}
			}
			& .v-cat-link {
				& .cat {
					display: flex;
					align-items: center;
					gap: 0.5rem;
					color: var(--primary-clr);
					width: max-content;
					font-weight: 500;
					font-size: 0.9rem;

					&:hover {
						& svg {
							translate: 0.5rem 0;
						}
					}

					& svg {
						--size: 1.3rem;
						height: var(--size);
						width: var(--size);
					}
				}
			}
		}
	}
}
@keyframes animateIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.v-image-content,
.v-navigation {
	@media all and (min-width: 991px) {
		& {
			height: 90vh;
			position: -webkit-sticky;
			position: sticky;
			top: 0;
			bottom: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			margin-block-start: auto;
		}
	}
}

.v-navigation {
	--y-height: 4rem;
	--number-of-item: 4;
	--size: 1.2rem;
	--stroke-width: 15%;
	--translate-down: -100%;

	.v-text-navigation {
		display: flex;
		flex-direction: column;
		height: calc((var(--y-height) * var(--number-of-item)) + (var(--size) * 4));
		padding-left: 1.5rem;
		margin-top: -3rem;
		row-gap: calc(var(--y-height));

		& span {
			display: block;
			opacity: 0.5;
			font-weight: normal;

			&.active {
				font-weight: 600;
				color: var(--primary-clr);
				opacity: 1;
			}
			&:nth-child(2) {
				margin-top: calc(var(--y-height) * -0.25);
			}
			&:nth-child(3) {
				margin-top: calc(var(--y-height) * -0.2);
			}
			&:nth-child(4) {
				margin-top: calc(var(--y-height) * 0.125);
			}
		}
	}
	.v-navigation-container {
		display: flex;
		flex-direction: column;
		row-gap: var(--y-height);
		justify-content: space-evenly;
		align-items: center;
		position: relative;
		isolation: isolate;
		height: calc((var(--y-height) * var(--number-of-item)) + (var(--size) * 4));

		&::before {
			background-color: rgba(116, 35, 36, 0.1);
			content: "";
			position: absolute;
			height: calc(var(--y-height) + 81%);
			width: var(--stroke-width);
			transform-origin: top;
			top: 0;
			translate: 0 0;
			z-index: -1;
		}

		&::after {
			background-color: var(--primary-clr);
			top: 0;
			transform-origin: top;
			content: "";
			position: absolute;
			height: calc(var(--translate-down));
			width: var(--stroke-width);
			z-index: -1;
		}

		.v-circle {
			background-color: var(--primary-clr-variant-1);
			height: var(--size);
			width: var(--size);
			aspect-ratio: 1/1;
			border-radius: 50%;
			position: relative;
			translate: 0 calc(var(--y-height) * -0.5);
			display: flex;
			align-items: center;
			justify-content: center;

			&.active {
				background-color: var(--primary-clr);
			}

			&::after {
				content: "";
				--pseudo-size: 50%;
				--pseudo-shape-size: calc(var(--pseudo-size) - 10%);

				width: var(--pseudo-shape-size);
				height: var(--pseudo-shape-size);
				border: var(--pseudo-size);
				position: absolute;
				left: var(--pseudo-size);
				top: var(--pseudo-size);
				background-color: var(--white);
				translate: calc(var(--pseudo-size) * -1) calc(var(--pseudo-size) * -1);
				border-radius: var(--pseudo-size);
			}
		}
	}
}

.v-image-outer-container {
	margin-top: 2rem;
	clip-path: polygon(0% 2.94%, 49.16% 8.4%, 100% 1.94%, 100% 76.56%, 52.16% 73.85%, 0% 76.81%);
	height: 300px;

	@media all and (min-width: 640px) {
		& {
			height: 370px;
		}
	}
}
.splide__track {
	padding: 0;
}
.splide {
	height: 100%;
	.v-image-container {
		height: 100%;
		margin-right: 1rem;
		.img-fluid {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
}
