/* About page only CSS */
/* ==================================================
   ABOUT STORY SECTION
================================================== */

.about-story-section {
	background: var(--black);
}

.about-story-row {
	row-gap: 50px;
}

/* ==================================================
   VISUAL
================================================== */

.about-story-visual {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: 540px;
}

.about-story-visual img {
	display: block;
	width: 100%;
	max-width: 520px;
	height: auto;
	object-fit: contain;
}

/* ==================================================
   CONTENT
================================================== */

.about-story-content {
	width: 100%;
	max-width: 525px;
	margin-left: auto;
}

.about-story-content h2 {
	max-width: 520px;
	margin-bottom: 17px;
}

.about-story-content h2 span {
	color: var(--primary);
}

.about-story-copy {
	max-width: 515px;
}

.about-story-copy p {
	margin: 0;
}

.about-story-copy p + p {
	margin-top: 10px;
}

.about-story-button {
	margin-top: 21px;
}

/* ==================================================
   LARGE DESKTOP
================================================== */

@media (max-width: 1199px) {

	.about-story-visual {
		max-width: 500px;
	}

	.about-story-visual img {
		max-width: 480px;
	}

	.about-story-content {
		max-width: 490px;
	}

}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 991px) {

	.about-story-row {
		row-gap: 48px;
	}

	.about-story-visual {
		max-width: 620px;
		margin-inline: auto;
		justify-content: center;
	}

	.about-story-visual img {
		max-width: 570px;
	}

	.about-story-content {
		max-width: 680px;
		margin-inline: auto;
	}

	.about-story-content h2,
	.about-story-copy {
		max-width: 620px;
	}

}

/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

	.about-story-row {
		row-gap: 38px;
	}

	.about-story-visual {
		max-width: 100%;
	}

	.about-story-visual img {
		max-width: 500px;
	}

	.about-story-content h2 {
		margin-bottom: 15px;
	}

	.about-story-copy p + p {
		margin-top: 9px;
	}

	.about-story-button {
		margin-top: 20px;
	}

}

/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 575px) {

	.about-story-row {
		row-gap: 32px;
	}

	.about-story-visual img {
		max-width: 100%;
	}

	.about-story-button.btn {
		width: 100%;
	}

}

/* ==================================================
   MISSION AND VISION SECTION
================================================== */

.about-purpose-section {
	background: var(--black);
}

.about-purpose-row {
	position: relative;
	align-items: stretch;
	row-gap: 36px;
}

/*
 * Central vertical divider.
 */
.about-purpose-row::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background: var(--primary);
	transform: translateX(-50%);
	pointer-events: none;
}

/* ==================================================
   PURPOSE ITEMS
================================================== */

.about-purpose-item {
	width: 100%;
	max-width: 500px;
}

.about-purpose-item h2 {
	margin-bottom: 13px;
}

.about-purpose-item h2 span {
	color: var(--primary);
}

.about-purpose-item p {
	max-width: 470px;
	margin: 0;
}

.about-mission {
	padding-right: 36px;
}

.about-vision {
	margin-left: auto;
	padding-left: 36px;
}

/* ==================================================
   LARGE DESKTOP
================================================== */

@media (max-width: 1199px) {

	.about-purpose-item {
		max-width: 470px;
	}

	.about-mission {
		padding-right: 30px;
	}

	.about-vision {
		padding-left: 30px;
	}

}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 991px) {

	.about-purpose-row::before {
		left: 50%;
	}

	.about-mission {
		padding-right: 26px;
	}

	.about-vision {
		padding-left: 26px;
	}

}

/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

	.about-purpose-row {
		row-gap: 0;
	}

	.about-purpose-row::before {
		display: none;
	}

	.about-purpose-item {
		max-width: 100%;
	}

	.about-mission {
		padding: 0 0 30px;
		border-bottom: 1px solid var(--primary);
	}

	.about-vision {
		margin: 30px 0 0;
		padding: 0;
	}

	.about-purpose-item p {
		max-width: 620px;
	}

}

/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 575px) {

	.about-mission {
		padding-bottom: 25px;
	}

	.about-vision {
		margin-top: 25px;
	}

	.about-purpose-item h2 {
		margin-bottom: 10px;
	}

}

/* ==================================================
   INITIAL DESIGN CTA SECTION
================================================== */

.initial-design-section {
	background: var(--black);
}

.initial-design-wrapper {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding: 40px 42px;
	border: var(--border-primary);
	border-radius: var(--border-radius);
	background:
		radial-gradient(
			circle at 76% 48%,
			rgba(17, 219, 112, 0.08),
			transparent 34%
		),
		var(--black);
}

.initial-design-wrapper .row {
	row-gap: 40px;
}

/* ==================================================
   CONTENT
================================================== */

.initial-design-content {
	position: relative;
	z-index: 2;
	max-width: 520px;
}

.initial-design-content h2 {
	max-width: 500px;
	margin-bottom: 17px;
}

.initial-design-content h2 span {
	display: block;
}

.initial-design-intro {
	max-width: 490px;
	margin-bottom: 24px;
}

/* ==================================================
   BENEFITS LIST
================================================== */

.initial-design-list {
	display: flex;
	flex-direction: column;
	gap: 13px;
	margin-bottom: 27px;
}

.initial-design-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
	color: var(--white);
}

.initial-design-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 21px;
	width: 21px;
	height: 21px;
}

.initial-design-icon img {
	display: block;
	width: 21px;
	height: auto;
}

/* ==================================================
   BUTTONS
================================================== */

.initial-design-buttons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 13px;
}

.initial-design-buttons svg {
	display: block;
	flex: 0 0 17px;
}

/* ==================================================
   ILLUSTRATION
================================================== */

.initial-design-visual {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 330px;
}

.initial-design-visual img {
	display: block;
	width: 100%;
	max-width: 320px;
	height: auto;
	object-fit: contain;
}

/* ==================================================
   LARGE DESKTOP
================================================== */

@media (max-width: 1199px) {

	.initial-design-wrapper {
		padding: 38px 34px;
	}

}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 991px) {

	.initial-design-wrapper {
		padding: 44px 36px 36px;
		background:
			radial-gradient(
				circle at 50% 76%,
				rgba(17, 219, 112, 0.07),
				transparent 37%
			),
			var(--black);
	}

	.initial-design-content {
		max-width: 680px;
	}

	.initial-design-content h2,
	.initial-design-intro {
		max-width: 620px;
	}

	.initial-design-visual {
		min-height: 300px;
	}


}

/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

	.initial-design-wrapper {
		padding: 36px 25px 30px;
	}

	.initial-design-wrapper .row {
		row-gap: 30px;
	}

	.initial-design-intro {
		margin-bottom: 22px;
	}

	.initial-design-list {
		gap: 12px;
		margin-bottom: 24px;
	}

	.initial-design-visual {
		min-height: 250px;
	}

}

/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 575px) {

	.initial-design-wrapper {
		padding: 31px 19px 24px;
		border-radius: 13px;
	}

	.initial-design-item {
		align-items: flex-start;
		font-size: 13px;
		line-height: 22px;
	}

	.initial-design-icon {
		margin-top: 1px;
	}

	.initial-design-buttons {
		align-items: stretch;
		flex-direction: column;
		gap: 11px;
	}

	.initial-design-buttons .btn {
		width: 100%;
	}

	.initial-design-visual {
		min-height: 215px;
	}

	.initial-design-visual img {
		max-width: 240px;
	}

}

/* ==================================================
   VERY SMALL MOBILE
================================================== */

@media (max-width: 390px) {

	.initial-design-wrapper {
		padding-right: 16px;
		padding-left: 16px;
	}

	.initial-design-visual {
		min-height: 190px;
	}

}