/**************************************************
		Content
 **************************************************

	01.	Intro
	02.	Market size
	03. Challenge
	04. Solution
	




/**************************************************
	01.	Intro
 **************************************************/

.module.module-sectorintro {
}

.module-sectorintro .module-title {
	margin-bottom: 4.375rem;
}

.module-sectorintro .sectorintro-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column-reverse;
	gap: 5rem;
}

.module-sectorintro .sectorintro-content {
	width: 100%;
	flex-shrink: 0;
	hyphens: initial;
}

.module-sectorintro .sectorintro-content:last-child {
	width: auto;
	text-align: center;
}

.module-sectorintro .contact-button {
	margin-top: 2.8125rem;
}

.module-sectorintro .sectorintro-content .contact-button a {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.module-sectorintro .sectorintro-media {
	width: 100%;
	aspect-ratio: 562 / 385;
}



@media (min-width: 850px) {
	.module-sectorintro .sectorintro-inner {
		flex-direction: row;
	}

	.module-sectorintro .sectorintro-content {
		width: 47.5%;
	}

	.module-sectorintro .sectorintro-content:last-child .contact-button a {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}

	.module-sectorintro .sectorintro-content:not(:last-child) .contact-button a {
		position: static;
		transform: none;
	}
}

@media (min-width: 1303px) {
	.module.module-sectorintro {
		padding: 10rem calc(50% - 611px) 1.875rem;
	}
}





/**************************************************
	02.	Market size
 **************************************************/

.module-sectormarketsize {
	padding: 4.5rem 2rem;
	background-color: var(--black);
	color: var(--white);
}

.module-sectormarketsize .sector-marketsize-title {
	margin-bottom: 5.6rem;
	text-align: center;
}

.module-sectormarketsize .sector-marketsize-diagram {
	
}

.module-sectormarketsize .sector-marketsize-diagram-inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.module-sectormarketsize .sector-marketsize-y {
	flex-shrink: 0;
	writing-mode: sideways-lr;
	color: var(--gray14);
}

.module-sectormarketsize .sector-marketsize-chart {
	width: calc(100% - 2.7rem);
}

.module-sectormarketsize .chart-scale-inner {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
}

.module-sectormarketsize .chart-scale {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.module-sectormarketsize .chart-scale .data-point {
	opacity: 0;
	transition: opacity 0.25s ease;
}

.module-sectormarketsize .sector-marketsize-diagram.has-slided-in .chart-scale .data-point {
	opacity: 1;
}

.module-sectormarketsize .chart-scale .data-line {
	transition: stroke-dashoffset 0.25s ease;
}

.module-sectormarketsize .sector-marketsize-diagram.has-slided-in  .chart-scale .data-line {
	stroke-dashoffset: 0 !important;
}

.module-sectormarketsize .sector-marketsize-source {
	width: 100%;
	text-align: center;
	flex-shrink: 0;
	color: var(--gray14);
}


@media (min-width: 940px) {
	.module-sectormarketsize .sector-marketsize-diagram-inner {
		flex-wrap: nowrap;
	}

	.module-sectormarketsize .sector-marketsize-chart {
		width: 100%;
	}

	.module-sectormarketsize .chart-scale-inner {
		aspect-ratio: 2 / 1;
	}

	.module-sectormarketsize .sector-marketsize-source {
		width: initial;
		writing-mode: sideways-lr;
	}
}

@media (min-width: 1303px) {
	.module.module-sectormarketsize {
		padding: 8.75rem calc(50 * var(--vw) - 500px) 8.75rem;
	}

	.module-sectormarketsize .chart-scale-inner {
		aspect-ratio: 930 / 330;
	}
}





/**************************************************
	03. Challenge
 **************************************************/

.module-sectorchallenge {
	padding: 4rem 0 0;
}

.module-sectorchallenge .sector-challenge-inner {
	margin: 0 auto;
	padding: 0 1rem;
}

.module-sectorchallenge .module-title {
	max-width: 650px;
	margin: 0 auto 4.375rem;
}

.module-sectorchallenge .sector-challenge-descriptions {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 4.125rem 3.2rem;
	margin-bottom: 3rem;
}

.module-sectorchallenge .sector-challenge-description {
	width: 100%;
}

.module-sectorchallenge .sector-challenge-title {
	margin-bottom: 1.3125rem;
}

.module-sectorchallenge .sector-challenge-content {
	hyphens: initial;
}

.module-sectorchallenge .sector-challenges {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 2rem 3.2rem;
	padding: 3rem 1rem 3rem;
	background-color: var(--gray12);
}

.module-sectorchallenge .sector-challenge {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 1.125rem;
	width: 100%;
	hyphens: initial;
}

.module-sectorchallenge .sector-challenge-icon {
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
}

.module-sectorchallenge .sector-challenge-icon svg {
	width: 100%;
	height: 100%;
	fill: var(--yellow);
}


@media (min-width: 740px) {

	.module-sectorchallenge .sector-challenge-description,
	.module-sectorchallenge .sector-challenge {
		width: calc(50% - 1.6rem);
	}
}

@media (min-width: 840px) {
	.module-sectorchallenge .sector-challenge-descriptions {
		gap: 4.125rem 6.4rem;
		margin-bottom: 6.25rem;
	}

	.module-sectorchallenge .sector-challenges {
		padding: 5rem 1rem 6.4rem;
		gap: 2rem 6.4rem;
	}

	.module-sectorchallenge .sector-challenge-description,
	.module-sectorchallenge .sector-challenge {
		width: calc(50% - 3.2rem);
	}
}

@media (min-width: 840px) {
	.module-sectorchallenge {
		padding: 8rem 0 0;
	}
}

@media (min-width: 1070px) {
	.module-sectorchallenge {
		padding: 8rem 0 0;
	}

	.module-sectorchallenge .sector-challenge-inner,
	.module-sectorchallenge .sector-challenges {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}

@media (min-width: 1100px) {
	.module-sectorchallenge {
		padding: 8.75rem 0 0;
	}

	.module-sectorchallenge .sector-challenge-inner,
	.module-sectorchallenge .sector-challenges  {
		padding-left: calc(50% - 510px);
		padding-right: calc(50% - 510px);
	}
}





/**************************************************
	04. Solution
 **************************************************/

.module-sectorsolution {
	background-color: var(--black);
	color: var(--white);
}

.module-sectorsolution .module-title {
	max-width: 750px;
	margin: 0 auto 3rem;
	text-align: center;
	hyphens: initial;
}

.module-sectorsolution .sector-solution-description {
	max-width: 750px;
	margin: 0 auto 3.5rem;
	text-align: center;
	hyphens: initial;
}

.module-sectorsolution .sector-solutions {
	border-bottom: 1px dotted var(--gray14);
}

.module-sectorsolution .sector-solution {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	border: 1px dotted var(--gray14);
	border-bottom: 0;
}

.module-sectorsolution .sector-solution-single {
	padding: 0.5rem;
	width: 100%;
	border-right: 1px dotted var(--gray14);
}

.module-sectorsolution .sector-solution-icon {
	display: flex;
	align-items: center;
	padding: 0 1rem;
	flex-shrink: 0;
}

.module-sectorsolution .sector-solution-icon svg {
	width: 1rem;
	height: 1rem;
}

.module-sectorsolution .contact-button a {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 4rem;
}


@media (min-width: 600px) {
	.module-sectorsolution .sector-solution-icon {
		padding: 0 2.5rem;
	}
}

@media (min-width: 800px) {
	.module-sectorsolution .module-title {
		margin: 0 auto 4.25rem;
	}

	.module-sectorsolution .sector-solution-description {
		margin: 0 auto 5.25rem;
	}

	.module-sectorsolution .sector-solution-single {
		padding: 1rem;
	}

	.module-sectorsolution .sector-solution-icon {
		padding: 0 5rem;
	}

	.module-sectorsolution .sector-solution-icon svg {
		width: 1.5rem;
		height: 1.5rem;
	}
}

@media (min-width: 1308px) {
	.module-sectorsolution {
		padding: 8.75rem calc(50% - 510px);
	}
}








