/*
Theme Name: Zeem
Version: 1.0.0
Text Domain: zeem
*/

:root {
	--primaryColor: #04b380;
	--darkGreenColor: #005450;
	--borderColor: #dddfe2;
	--whiteColor: #ffffff;
	--textColor: #000000;
	--yellowColor: #f4ca5c;
	--lightBackground: rgba(221, 223, 226, 0.32);
	--lightBorderColor: rgba(255, 255, 255, 0.16);
	--darkBorderColor: rgba(221, 223, 226, 0.32);
	--displayFont: "Red Hat Display", sans-serif;
	--bodyFont: "Red Hat Text", sans-serif;
	--contentWidth: 97.5rem;
	--contentPadding: clamp(1.375rem, 4vw, 3.75rem);
	--sectionSpacing: 3.25rem;
	--bodyLineHeight: 1.6;
}

body {
	margin: 0;
}

.content-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--contentWidth);
	margin: 0 auto;
	padding-left: var(--contentPadding);
	padding-right: var(--contentPadding);
}

.header-container {
	position: sticky;
	top: 0;
	z-index: 50;
	background-color: var(--whiteColor);
	border-bottom: 1px solid var(--borderColor);
	font-family: var(--displayFont);
	font-size: 1rem;
	line-height: var(--bodyLineHeight);
}

.header-content {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2em;
}

.header-content .logo {
	display: flex;
	flex-shrink: 0;
	padding-bottom: 0.1875rem;
	border-bottom: 2px solid transparent;
}

.header-content .logo:hover {
	border-bottom-color: var(--primaryColor);
}

.header-content .logo img {
	width: 6.5rem;
	height: auto;
	display: block;
}

.header-content .navigation {
	display: flex;
	align-items: center;
}

.header-content .navigation-list {
	display: flex;
	align-items: center;
	gap: 2em;
	margin: 0;
	padding: 0;
	list-style: none;
}

.header-content .navigation-list a {
	color: var(--textColor);
	font-weight: 700;
	font-size: 0.82rem;
	letter-spacing: 0;
	text-decoration: none;
	white-space: nowrap;
	padding-bottom: 0.1875rem;
	border-bottom: 2px solid transparent;
}

.header-content .navigation-list a:hover {
	border-bottom-color: var(--primaryColor);
}

.header-content .navigation-list > li:last-child a {
	color: var(--whiteColor);
    padding: 0.5em 1em;
    background-color: var(--primaryColor);
}

.header-content a:focus-visible,
.header-content .menu-button:focus-visible {
	outline: 2px solid var(--darkGreenColor);
	outline-offset: 0.25rem;
}

.header-content .menu-button {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 0.3125rem;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0.625rem;
	margin-right: -0.625rem;
	background-color: transparent;
	border: none;
	cursor: pointer;
}

.header-content .menu-bar {
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--textColor);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.menu-open .header-content .menu-bar:nth-child(1) {
	transform: translateY(0.4375rem) rotate(45deg);
}

.menu-open .header-content .menu-bar:nth-child(2) {
	opacity: 0;
}

.menu-open .header-content .menu-bar:nth-child(3) {
	transform: translateY(-0.4375rem) rotate(-45deg);
}

.footer-container {
	background-color: var(--textColor);
	border-top: 1px solid var(--lightBorderColor);
	font-family: var(--bodyFont);
	font-size: 1rem;
	line-height: var(--bodyLineHeight);
}

.footer-content {
	padding-top: 2.75rem;
	padding-bottom: 1.625rem;
}

.footer-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 2.125rem clamp(1.75rem, 4vw, 4.5rem);
}

.footer-about {
	flex: 2 1 25rem;
	max-width: 38.75rem;
}

.footer-column {
	flex: 1 1 11.875rem;
}

.footer-content .logo {
	display: flex;
	align-self: flex-start;
}

.footer-content .logo img {
	width: 6rem;
	height: auto;
	display: block;
}

.footer-content .tagline {
	margin: 0.6875rem 0 0;
	color: var(--primaryColor);
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.86rem;
	letter-spacing: -0.006em;
}

.footer-description {
	margin: 1.125rem 0 0;
	font-size: 0.86rem;
	line-height: 1.62;
	color: rgba(255, 255, 255, 0.72);
}

.footer-label {
	margin: 0 0 0.75rem;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.66rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--primaryColor);
}

.footer-label.follow-label {
	margin-top: 1.5rem;
}

.footer-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-column .footer-list li + li {
	margin-top: 0.5625rem;
}

.footer-content a {
	font-family: var(--displayFont);
	font-weight: 700;
	font-size: 0.86rem;
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
}

.footer-content a:hover {
	color: var(--primaryColor);
}

.footer-content a:focus-visible {
	outline: 2px solid var(--primaryColor);
	outline-offset: 0.25rem;
}

.footer-content address {
	font-style: normal;
	font-size: 0.86rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.72);
}

.footer-content address span {
	display: block;
}

.footer-list.contact-list {
	margin-top: 0.75rem;
}

.footer-content .social-link {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
}

.social-icon {
	display: inline-block;
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: var(--iconImage) center / contain no-repeat;
	mask: var(--iconImage) center / contain no-repeat;
}

.footer-bottom {
	margin-top: 2.375rem;
	padding-top: 1.125rem;
	border-top: 1px solid var(--lightBorderColor);
}

.footer-bottom .footer-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem 1.75rem;
}

.footer-bottom a {
	font-weight: 500;
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.62);
}

@media (max-width: 47.5em) {
	.header-content .menu-button {
		display: flex;
	}

	.header-content .navigation {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding: 0.5rem var(--contentPadding) 1.5rem;
		background-color: var(--whiteColor);
		border-bottom: 1px solid var(--borderColor);
	}

	.menu-open .header-content .navigation {
		display: flex;
	}

	.header-content .navigation-list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.header-content .navigation-list > li {
		border-bottom: 1px solid var(--borderColor);
	}

	.header-content .navigation-list > li:last-child {
		border-bottom: none;
		padding-top: 1.25rem;
	}

	.header-content .navigation-list a {
		display: block;
		font-size: 1rem;
		padding: 0.875rem 0;
		border-bottom: none;
	}

	.header-content .navigation-list > li:last-child a {
		text-align: center;
	}
}

.page-container {
	font-family: var(--bodyFont);
	color: var(--textColor);
	background-color: var(--whiteColor);
	font-size: 1rem;
	line-height: var(--bodyLineHeight);
}

.page-container * {
	box-sizing: border-box;
}

.page-container :where(h1, h2, h3, p) {
	margin: 0;
}

.page-container h1,
.page-container h2,
.page-container h3 {
	font-family: var(--displayFont);
	font-weight: 800;
	letter-spacing: 0;
}

.page-container h2 {
	font-size: 2.5rem;
	line-height: 1.12;
}

.section-content {
	padding-top: var(--sectionSpacing);
	padding-bottom: var(--sectionSpacing);
}

.section-label {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.75rem;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--darkGreenColor);
	margin-bottom: 0.875rem;
}

.section-description {
	font-size: 1.1rem;
	line-height: 1.55;
	margin-top: 0.875rem;
	max-width: 73.75rem;
}

.section-link {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 0.25em;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1rem;
	color: inherit;
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
	padding-bottom: 0.375rem;
}

.section-link:hover {
	color: var(--darkGreenColor);
}

.page-container a:focus-visible,
.page-container button:focus-visible {
	outline: 3px solid var(--primaryColor);
	outline-offset: 0.3125rem;
}

.hero-container {
	display: flex;
	align-items: center;
	min-height: 32.6875rem;
	background-color: var(--textColor);
	background-image: linear-gradient(90deg, rgba(0, 84, 80, 0.9) 0%, rgba(0, 84, 80, 0.9) 30%, rgba(0, 84, 80, 0) 55%), var(--heroImage, none);
	background-size: cover;
	background-position: center, right center;
	background-repeat: no-repeat;
	color: var(--whiteColor);
	position: relative;
	isolation: isolate;
}

.hero-container::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--darkGreenColor);
	mix-blend-mode: color;
	pointer-events: none;
}

.hero-container .section-content {
	position: relative;
	padding-top: 4.5rem;
	padding-bottom: 4.5rem;
}

.hero-container .section-label {
	color: var(--yellowColor);
	font-size: 1.15rem;
	margin-bottom: 1.25rem;
}

.hero-container h1 {
	font-size: 3.125rem;
	line-height: 1.06;
	max-width: 24ch;
}

.heading-divider {
	width: 3.375rem;
	height: 0.25rem;
	background-color: var(--primaryColor);
	border-radius: 2px;
	margin: 1.75rem 0 1.5rem;
}

.hero-container .hero-description {
	font-size: 1.15rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.88);
	max-width: 56ch;
}

.hero-container .section-link {
	font-size: 0.86rem;
	margin-top: 1.75rem;
}

.hero-container .section-link:hover {
	color: var(--primaryColor);
}

.photo-hero {
	background-color: var(--textColor);
	background-image: none;
	overflow: hidden;
}

.photo-hero::before {
	background-color: transparent;
	background-image: linear-gradient(90deg, rgba(0, 84, 80, 0.9) 0%, rgba(0, 84, 80, 0.9) 30%, rgba(0, 84, 80, 0) 55%);
	mix-blend-mode: normal;
}

.photo-hero::after {
	content: "";
	position: absolute;
	top: 0;
	left: 29.4%;
	width: 88.9%;
	height: 100%;
	z-index: -1;
	background-color: var(--darkGreenColor);
	background-image: linear-gradient(var(--darkGreenColor), var(--darkGreenColor)), var(--heroImage, none);
	background-size: cover;
	background-position: 0% 58%;
	background-repeat: no-repeat;
	background-blend-mode: color, normal;
}

.services-container > .section-content:first-child {
	padding-top: 2.75rem;
	padding-bottom: 0;
}

.services-list {
	display: flex;
	margin: 1.875rem 0 2.25rem;
	border-top: 1px solid var(--borderColor);
	border-bottom: 1px solid var(--borderColor);
}

.service-item {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
	padding: 1.625rem clamp(0.875rem, 1.6vw, 1.625rem) 1.75rem;
	border-left: 1px solid var(--borderColor);
	gap: 1.25rem;
}

.service-item:first-child {
	border-left: none;
	padding-left: 0;
}

.service-item:last-child {
	padding-right: 0;
}

.service-icon {
	display: flex;
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	background-color: var(--darkGreenColor);
	-webkit-mask: var(--iconImage) center / contain no-repeat;
	mask: var(--iconImage) center / contain no-repeat;
}

.service-content h3 {
	font-size: 0.7rem;
	line-height: 1.3;
	text-transform: uppercase;
}

.service-content p {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1.06rem;
	line-height: 1.34;
	margin-top: 0.5625rem;
}

.services-container .depot-description {
	margin: 0 0 2.125rem;
	max-width: 96ch;
}

.statement-container {
	background-color: var(--darkGreenColor);
	color: var(--whiteColor);
}

.statement-container .section-content {
	padding-top: 1.625rem;
	padding-bottom: 1.75rem;
}

.statement-container p {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1.9375rem;
	line-height: 1.22;
	max-width: 68ch;
}

.statement-container p span {
	color: var(--primaryColor);
}

.services-container .depot-link {
	font-weight: 800;
	color: var(--textColor);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid var(--primaryColor);
	padding-bottom: 0.125rem;
}

.services-container .depot-link:hover {
	color: var(--darkGreenColor);
}

.services-container .statement-container .section-link {
	margin-top: 1rem;
	font-size: 1.1rem;
}

.services-container .statement-container .section-link:hover {
	color: var(--primaryColor);
}

.services-container .statement-container {
	background-image: var(--statementImage, none);
	background-size: auto 100%;
	background-position: right center;
	background-repeat: no-repeat;
}

.services-container .statement-container p {
	max-width: min(68ch, 62%);
}

.record-container {
	background-color: var(--textColor);
	color: var(--whiteColor);
}

.record-container > .section-content {
	padding-top: 2.875rem;
	padding-bottom: 1.75rem;
}

.record-container .section-label {
	color: var(--primaryColor);
	margin-bottom: 0.75rem;
}

.record-container h2 {
	font-weight: 900;
	font-size: 2.875rem;
	line-height: 1.04;
}

.headline-stat {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 1.75rem;
	margin-top: 1.5rem;
	padding-bottom: 1.375rem;
}

.record-container .stat-value {
	font-family: var(--displayFont);
	font-weight: 900;
	color: var(--primaryColor);
	line-height: 1;
}

.headline-stat .stat-value {
	font-size: 7.375rem;
	line-height: 0.88;
}

.headline-stat .stat-description {
	font-size: 1.16rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.8);
	max-width: 48ch;
}

.stats-list {
	display: flex;
	border-top: 1px solid var(--darkBorderColor);
	border-bottom: 1px solid var(--darkBorderColor);
}

.stat-item {
	flex: 1;
	min-width: 0;
	padding: 1.25rem 2.125rem 1.375rem;
	border-left: 1px solid var(--darkBorderColor);
}

.stat-item:first-child {
	padding-left: 0;
	border-left: none;
}

.stat-item:last-child {
	padding-right: 0;
}

.stat-item .stat-value {
	font-size: 2.25rem;
}

.stat-item .stat-description {
	font-size: 0.92rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.72);
	margin-top: 0.4375rem;
}

.record-container .statement-container .section-content {
	padding-top: 1.75rem;
	padding-bottom: 1.875rem;
}

.record-container .statement-container p {
	font-size: 1.625rem;
	max-width: 74ch;
}

.record-container .section-link {
	margin-top: 1.125rem;
}

.record-container .section-link:hover {
	color: var(--primaryColor);
}

.film-container {
	border-top: 1px solid var(--borderColor);
}

.film-container h2 {
	font-size: 2.125rem;
	line-height: 1.1;
	max-width: 40ch;
}

.film-container .section-description {
	max-width: 74ch;
}

.video-wrapper {
	display: flex;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-top: 1.875rem;
	background-color: var(--darkGreenColor);
	background-image: linear-gradient(rgba(0, 84, 80, 0.42), rgba(0, 84, 80, 0.42)), var(--posterImage, none);
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.video-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	width: 100%;
	padding: 1.5rem;
	background-color: transparent;
	border: none;
	cursor: pointer;
	color: var(--whiteColor);
	font-family: var(--displayFont);
	text-align: center;
}

.play-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5.25rem;
	height: 5.25rem;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--primaryColor);
	transition: transform 0.18s ease, background-color 0.18s ease;
}

.play-button img {
	width: 2rem;
	height: 2rem;
	filter: brightness(0) invert(1);
}

.video-button:hover .play-button,
.video-button:focus-visible .play-button {
	transform: scale(1.07);
	background-color: var(--whiteColor);
}

.video-button:hover .play-button img,
.video-button:focus-visible .play-button img {
	filter: none;
}

.page-container .video-button:focus-visible {
	outline-color: var(--yellowColor);
	outline-offset: -0.25rem;
}

.video-title {
	font-weight: 800;
	font-size: 1.625rem;
	line-height: 1.18;
}

.video-duration {
	font-weight: 800;
	font-size: 0.72rem;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--yellowColor);
}

.video-wrapper iframe {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	border: none;
}

.contact-container {
	background-color: var(--lightBackground);
	border-top: 1px solid var(--borderColor);
}

.contact-container h2 {
	font-size: 2.375rem;
	line-height: 1.1;
	max-width: 32ch;
}

.contact-container .section-description {
	max-width: 80ch;
	margin-top: 1rem;
	font-size: 1.14rem;
}

.contact-container .section-link {
	margin-top: 1.625rem;
}

@media (max-width: 68.75em) {
	.services-list {
		flex-wrap: wrap;
	}

	.service-item {
		flex: 0 0 33.333%;
		padding: 1.625rem 1.25rem 1.75rem;
	}

	.service-item:nth-child(3n + 1) {
		border-left: none;
		padding-left: 0;
	}

	.service-item:nth-child(3n) {
		padding-right: 0;
	}

	.service-item:nth-child(n + 4) {
		border-top: 1px solid var(--borderColor);
	}

	.headline-stat .stat-value {
		font-size: 5.625rem;
	}
}

@media (max-width: 58.125em) {
	.hero-container {
		background-image: linear-gradient(90deg, rgba(0, 84, 80, 0.9), rgba(0, 84, 80, 0.74)), var(--heroImage, none);
		background-position: center;
	}

	.hero-container h1 {
		font-size: 2.5rem;
	}

	.photo-hero {
		background-image: none;
	}

	.photo-hero::before {
		background-image: linear-gradient(90deg, rgba(0, 84, 80, 0.9) 0%, rgba(0, 84, 80, 0.74) 100%);
	}

	.photo-hero::after {
		left: 0;
		width: 100%;
		background-position: 54% 50%;
	}

	.services-container .statement-container {
		background-image: none;
	}

	.services-container .statement-container p {
		max-width: 68ch;
	}

	.film-container .section-content,
	.contact-container .section-content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
}

@media (max-width: 47.5em) {
	.page-container h2,
	.record-container h2,
	.contact-container h2 {
		font-size: 1.875rem;
	}

	.hero-container {
		min-height: 32rem;
	}

	.hero-container .section-content {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.hero-container h1 {
		font-size: 2rem;
	}

	.hero-container .hero-description,
	.section-description {
		font-size: 1rem;
	}

	.services-list {
		flex-direction: column;
		margin: 1.625rem 0 2rem;
	}

	.service-item,
	.service-item:nth-child(3n + 1),
	.service-item:nth-child(3n) {
		flex-direction: row;
		flex-basis: auto;
		padding: 1.125rem 0 1.25rem;
		border-left: none;
		border-top: none;
		border-bottom: 1px solid var(--borderColor);
		gap: 1.125rem;
	}

	.service-item:last-child {
		border-bottom: none;
	}

	.service-icon {
		width: 2.75rem;
		height: 2.75rem;
	}

	.service-content {
		min-width: 0;
	}

	.statement-container p,
	.record-container .statement-container p {
		font-size: 1.375rem;
	}

	.headline-stat {
		gap: 0.875rem;
	}

	.headline-stat .stat-value {
		font-size: 3.25rem;
	}

	.headline-stat .stat-description {
		font-size: 1rem;
	}

	.stats-list {
		flex-direction: column;
	}

	.stat-item {
		padding: 1rem 0 1.125rem;
		border-left: none;
		border-bottom: 1px solid var(--darkBorderColor);
	}

	.stat-item:last-child {
		border-bottom: none;
	}

	.stat-item .stat-value {
		font-size: 1.75rem;
	}

	.play-button {
		width: 3.875rem;
		height: 3.875rem;
	}

	.video-button {
		gap: 0.625rem;
		padding: 0.75rem;
	}

	.video-title {
		font-size: 1.1875rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.play-button {
		transition: none;
	}
}

.page-hero-container {
	display: flex;
	background-color: var(--darkGreenColor);
	color: var(--whiteColor);
}

.page-hero-container .section-content {
	padding-top: 1.875rem;
	padding-bottom: 2.125rem;
}

.page-hero-container .section-label {
	color: var(--yellowColor);
	font-size: 1.1rem;
	margin-bottom: 1rem;
}

.page-hero-container h1 {
	font-size: 2.9rem;
	line-height: 1.06;
	max-width: 24ch;
}

.page-hero-container .heading-divider {
	margin: 1.25rem 0 1.125rem;
}

.page-hero-container .hero-description {
	font-size: 1.1rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.88);
	max-width: 78ch;
}

.content-section {
	background-color: var(--whiteColor);
	border-top: 1px solid var(--borderColor);
}

.content-section > .section-content {
	padding-top: 3.125rem;
	padding-bottom: 2.875rem;
}

.content-section .section-label {
	margin-bottom: 0.75rem;
}

.content-section h2 {
	font-size: 2.1rem;
	line-height: 1.1;
	max-width: 44ch;
}

.content-section .section-description {
	max-width: 86ch;
}

.section-body {
	font-size: 1.06rem;
	line-height: var(--bodyLineHeight);
	color: rgba(0, 0, 0, 0.78);
	max-width: 84ch;
	margin-top: 0.875rem;
}

.news-categories-container {
	background-color: var(--textColor);
	color: var(--whiteColor);
}

.news-categories-list {
	display: flex;
}

.news-category {
	--categoryColor: var(--yellowColor);
	flex: 1;
	min-width: 0;
	padding: 2.125rem clamp(1.375rem, 3vw, 3rem) 2.375rem 0;
}

.news-category + .news-category {
	--categoryColor: var(--primaryColor);
	border-left: 1px solid rgba(255, 255, 255, 0.26);
	padding-left: clamp(1.375rem, 3vw, 3rem);
	padding-right: 0;
}

.news-category .category-heading {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.category-icon {
	display: flex;
	width: 1.875rem;
	height: 1.875rem;
	flex-shrink: 0;
	background-color: var(--categoryColor);
	-webkit-mask: var(--iconImage) center / contain no-repeat;
	mask: var(--iconImage) center / contain no-repeat;
}

.news-category .section-label {
	color: var(--categoryColor);
	margin-bottom: 0;
	line-height: 1;
}

.news-category h2 {
	font-size: 1.5rem;
	line-height: 1.18;
	margin-top: 0.875rem;
}

.news-category .category-description {
	font-size: 1.02rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.82);
	margin-top: 0.625rem;
	max-width: 46ch;
}

.news-feed-container .section-content > * + * {
	margin-top: 1.5rem;
}

.news-feed-container a {
	color: var(--darkGreenColor);
}

.news-feed-container img {
	max-width: 100%;
	height: auto;
}

.media-contact {
	margin-top: 1.75rem;
	padding-top: 1.625rem;
	border-top: 1px solid var(--borderColor);
}

.media-contact .contact-name {
	font-size: 1.5rem;
	line-height: 1.16;
}

.media-contact .contact-role {
	font-size: 1.04rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.72);
	margin-top: 0.3125rem;
}

.contact-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	margin-top: 1.125rem;
}

.contact-links .section-link {
	font-size: 1.14rem;
	padding-bottom: 0.25rem;
	overflow-wrap: anywhere;
}

.contact-phone {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.contact-phone span {
	font-size: 0.92rem;
	color: rgba(0, 0, 0, 0.66);
}

@media (max-width: 58.125em) {
	.news-categories-list {
		flex-direction: column;
	}

	.news-category {
		padding-right: 0;
		padding-bottom: 1.5rem;
	}

	.news-category + .news-category {
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.26);
		padding-left: 0;
		padding-top: 1.5rem;
	}
}

@media (max-width: 47.5em) {
	.hero-container .section-label,
	.page-hero-container .section-label,
	.page-hero-container .hero-description {
		font-size: 1rem;
	}

	.page-hero-container h1 {
		font-size: 1.95rem;
	}

	.content-section h2 {
		font-size: 1.5rem;
	}

	.news-category h2,
	.media-contact .contact-name {
		font-size: 1.25rem;
	}

	.contact-links .section-link {
		font-size: 1.02rem;
	}
}

.solutions-navigation,
.about-navigation {
	background-color: var(--whiteColor);
	border-bottom: 1px solid var(--borderColor);
}

.solutions-navigation .content-container,
.about-navigation .content-container {
	display: flex;
	flex-wrap: wrap;
	gap: 0 clamp(1.125rem, 2.4vw, 2.125rem);
	padding-top: 0.875rem;
}

.solutions-navigation a,
.about-navigation a {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.84rem;
	color: rgba(0, 0, 0, 0.6);
	text-decoration: none;
	padding-bottom: 0.75rem;
	border-bottom: 3px solid transparent;
}

.solutions-navigation a:hover,
.about-navigation a:hover {
	color: var(--darkGreenColor);
}

.solutions-navigation a[aria-current="page"],
.about-navigation a[aria-current="page"] {
	color: var(--textColor);
	border-bottom-color: var(--primaryColor);
}

.solutions-container .page-hero-container .section-content {
	padding-top: 1.625rem;
	padding-bottom: 1.875rem;
}

.solutions-container .page-hero-container h1 {
	max-width: 27ch;
}

.solutions-container .page-hero-container .hero-description {
	max-width: 88ch;
}

.solution-section > .section-content {
	padding-top: 3.25rem;
	padding-bottom: 2.75rem;
}

.solution-section h2 {
	max-width: 46ch;
}

.solution-section .section-description {
	max-width: 88ch;
}

.solution-section .section-link {
	font-size: 0.86rem;
	margin-top: 1.25rem;
}

.solution-section h3 {
	font-size: 1.5rem;
	line-height: 1.16;
}

.solution-subheading {
	margin-top: 2.125rem;
}

.solution-note {
	font-size: 1.06rem;
	line-height: var(--bodyLineHeight);
	color: rgba(0, 0, 0, 0.78);
	max-width: 84ch;
	margin-top: 1.625rem;
}

.solution-payoff {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1.42rem;
	line-height: 1.34;
	max-width: 76ch;
	margin-top: 1.375rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--borderColor);
}

.solution-kline {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.12rem, 1.6vw, 1.42rem);
	line-height: 1.34;
	max-width: 60ch;
	margin-top: 1.875rem;
}

.solution-callout .solution-list {
	gap: 0.8125rem;
	margin-top: 1.125rem;
}

.solution-callout .solution-list li {
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	line-height: 1.56;
	max-width: 88ch;
}

.solution-callout .solution-list strong {
	font-family: var(--displayFont);
	font-weight: 800;
	color: var(--textColor);
}

.solution-columns {
	display: flex;
	margin-top: 1.875rem;
	border-top: 1px solid var(--borderColor);
}

.solution-column {
	flex: 1;
	min-width: 0;
	padding: 1.5rem clamp(1.125rem, 2.4vw, 2.375rem) 0.25rem;
	border-left: 1px solid var(--borderColor);
}

.solution-column:first-child {
	padding-left: 0;
	border-left: none;
}

.solution-column:last-child {
	padding-right: 0;
}

.column-label {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.75rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.solution-column h3 {
	margin-top: 0.625rem;
}

.column-description {
	font-size: 1.04rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.8);
	margin-top: 0.6875rem;
}

.solution-list {
	display: flex;
	flex-direction: column;
	gap: 0.5625rem;
	list-style: none;
	padding: 0;
	margin: 1.25rem 0 0;
}

.solution-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.82);
	min-width: 0;
}

.solution-list li::before {
	content: "";
	width: 0.75rem;
	height: 2px;
	flex-shrink: 0;
	margin-top: 0.65em;
	background-color: var(--primaryColor);
}

.solution-list.two-columns {
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 3rem;
}

.solution-list.two-columns li {
	flex: 0 0 calc(50% - 1.5rem);
}

.product-image {
	margin: 1.625rem 0 0;
}

.product-image img,
.section-image img {
	display: block;
	width: 100%;
	height: auto;
}

.product-image figcaption {
	font-size: 0.86rem;
	color: rgba(0, 0, 0, 0.62);
	margin-top: 0.625rem;
}

.product-image + .solution-subheading + .section-body {
	margin-top: 0.75rem;
}

.process-list,
.lifecycle-list {
	border-top: 0.25rem solid var(--primaryColor);
}

.column-number {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: 1.9rem;
	line-height: 1;
	color: var(--darkGreenColor);
}

.process-list h3,
.lifecycle-list h3 {
	font-size: 1.14rem;
}

.process-list .column-description,
.lifecycle-list .column-description {
	font-size: 0.98rem;
	line-height: 1.5;
}

.engagement-list h3 {
	font-size: clamp(1rem, 1.18vw, 1.1rem);
	line-height: 1.24;
	margin-top: 0.6875rem;
}

.engagement-list h3 + .column-description {
	margin-top: 0.5rem;
}

.grants-flow {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 1.625rem;
}

.grants-flow.vertical-flow {
	display: none;
}

.grants-flow + .solution-note {
	margin-top: 1.625rem;
}

.grants-container .record-container > .section-content {
	padding-bottom: 3.5rem;
}

.solution-callout {
	margin-top: 1.875rem;
	padding-top: 1.625rem;
	border-top: 1px solid var(--borderColor);
}

.solution-callout .section-body {
	margin-top: 0.75rem;
}

.solution-close h2 {
	font-size: 2.35rem;
	max-width: 40ch;
}

.solution-close .section-link {
	font-size: 0.92rem;
	margin-top: 1.625rem;
}

.lease-section,
.solution-bridge {
	background-color: var(--lightBackground);
}

.solution-bridge > .section-content {
	padding-top: 2.875rem;
	padding-bottom: 3rem;
}

.solution-bridge .section-link {
	font-size: 1.02rem;
	padding-bottom: 0.5rem;
	margin-top: 0;
}

.section-intro-layout {
	display: flex;
	align-items: flex-start;
	gap: clamp(1.625rem, 3.4vw, 3.375rem);
}

.section-intro-layout .section-intro {
	flex: 1.18;
	min-width: 0;
}

.section-intro-layout .section-image {
	flex: 0.82;
	min-width: 0;
	margin-top: 0.5rem;
}

.section-image img {
	aspect-ratio: 581 / 422;
	object-fit: cover;
}

.solution-capabilities {
	margin-top: 1.875rem;
}

.solution-capabilities h3 {
	margin-bottom: 1.25rem;
}

.solution-index {
	display: flex;
	background-color: var(--darkGreenColor);
	color: var(--whiteColor);
	margin-top: 2.125rem;
}

.solution-index-item {
	flex: 1;
	min-width: 0;
	padding: 1.625rem clamp(0.875rem, 1.7vw, 1.625rem) 1.75rem;
	border-left: 1px solid rgba(255, 255, 255, 0.24);
}

.solution-index-item:first-child {
	border-left: none;
}

.solution-index-item .column-number {
	font-size: 1.02rem;
	color: var(--yellowColor);
}

.solution-index-item .service-icon {
	width: 2.5rem;
	height: 2.5rem;
	background-color: var(--whiteColor);
	margin-top: 1.125rem;
}

.solution-index-item .column-label {
	color: var(--whiteColor);
	font-size: 0.8rem;
	margin-top: 1rem;
}

.solution-section .section-intro > .service-icon {
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1rem;
}

.assembly-section .section-description {
	font-size: 1.14rem;
}

.assembly-section .assembly-litany {
	font-family: var(--displayFont);
	font-weight: 700;
	font-size: 1.28rem;
	line-height: 1.4;
	color: var(--darkGreenColor);
	padding-left: 1.25rem;
	border-left: 0.25rem solid var(--primaryColor);
	margin-top: 1.375rem;
	max-width: 92ch;
}

.specification-column {
	flex: 1;
	min-width: 0;
	margin: 0;
}

.specification-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 0.625rem 0;
	border-top: 1px solid var(--borderColor);
}

.specification-row:first-child {
	border-top: none;
	padding-top: 0;
}

.specification-row dt {
	font-size: 0.9rem;
	color: rgba(0, 0, 0, 0.62);
	flex: 0 1 35%;
}

.specification-row dd {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.98rem;
	margin: 0;
	text-align: right;
	flex: 1;
	min-width: 0;
}

.grants-container .stat-item .stat-value {
	font-size: 1.75rem;
	overflow-wrap: anywhere;
}

.grants-container .stat-item:last-child .stat-value {
	color: var(--yellowColor);
}

@media (max-width: 68.75em) {
	.lifecycle-list,
	.grants-container .stats-list {
		flex-wrap: wrap;
	}

	.lifecycle-list .solution-column {
		flex: 0 0 33.333%;
	}

	.lifecycle-list .solution-column:nth-child(3n + 1) {
		border-left: none;
		padding-left: 0;
	}

	.lifecycle-list .solution-column:nth-child(n + 4) {
		border-top: 1px solid var(--borderColor);
	}

	.grants-container .stat-item {
		flex: 0 0 50%;
		padding: 1.25rem;
	}

	.grants-container .stat-item:nth-child(odd) {
		border-left: none;
		padding-left: 0;
	}

	.grants-container .stat-item:nth-child(n + 3) {
		border-top: 1px solid var(--darkBorderColor);
	}
}

@media (max-width: 58.125em) {
	.grants-flow.horizontal-flow {
		display: none;
	}

	.grants-flow.vertical-flow {
		display: block;
	}

	.solution-columns,
	.section-intro-layout {
		flex-direction: column;
	}

	.section-intro-layout .section-intro,
	.section-intro-layout .section-image {
		flex: none;
		width: 100%;
	}

	.section-intro-layout .section-image {
		margin-top: 0;
	}

	.solution-column,
	.lifecycle-list .solution-column,
	.lifecycle-list .solution-column:nth-child(3n + 1) {
		flex-basis: auto;
		border-left: none;
		padding-left: 0;
		padding-right: 0;
	}

	.solution-column + .solution-column {
		border-top: 1px solid var(--borderColor);
		margin-top: 1.25rem;
	}

	.solution-list.two-columns {
		flex-direction: column;
	}

	.solution-list.two-columns li {
		flex-basis: auto;
	}

	.solution-index {
		flex-wrap: wrap;
	}

	.solution-index-item {
		flex: 0 0 33.333%;
	}

	.solution-index-item:nth-child(3n + 1) {
		border-left: none;
	}

	.solution-index-item:nth-child(n + 4) {
		border-top: 1px solid rgba(255, 255, 255, 0.24);
	}
}

@media (max-width: 47.5em) {
	.solution-close h2 {
		font-size: 1.5rem;
	}

	.solution-section h3 {
		font-size: 1.25rem;
	}

	.solution-index-item {
		flex-basis: 50%;
	}

	.solution-index-item:nth-child(3n + 1) {
		border-left: 1px solid rgba(255, 255, 255, 0.24);
	}

	.solution-index-item:nth-child(odd) {
		border-left: none;
	}

	.solution-index-item:nth-child(n + 3) {
		border-top: 1px solid rgba(255, 255, 255, 0.24);
	}

	.grants-container .stat-item {
		flex-basis: auto;
		padding: 1rem 0 1.125rem;
		border-left: none;
	}
}

.hero-secondary-description {
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.72);
	margin-top: 1.25rem;
}

.about-overview-container .page-hero-container .section-content,
.about-team-container .page-hero-container .section-content {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.about-overview-container .page-hero-container .section-label,
.about-team-container .page-hero-container .section-label {
	margin-bottom: 1.25rem;
}

.about-overview-container .page-hero-container h1,
.about-team-container .page-hero-container h1 {
	font-size: clamp(2.1rem, 4.4vw, 3.4rem);
	max-width: 20ch;
}

.about-overview-container .page-hero-container .heading-divider,
.about-team-container .page-hero-container .heading-divider {
	margin: 1.75rem 0 1.5rem;
}

.about-overview-container .page-hero-container .hero-description,
.about-team-container .page-hero-container .hero-description {
	font-size: clamp(1.08rem, 1.5vw, 1.32rem);
	line-height: 1.5;
	max-width: 60ch;
}

.about-story-container .page-hero-container .section-content {
	padding-top: 1.625rem;
	padding-bottom: 1.875rem;
}

.about-story-container .page-hero-container h1 {
	max-width: 27ch;
}

.about-story-container .page-hero-container .hero-description {
	max-width: 88ch;
}

.convergence-section {
	--fieldWidth: 29.6875rem;
	--fieldHeight: 25%;
	--fieldOffsetX: 13.125rem;
	--fieldOffsetY: 6%;
	--fieldCenter: 54%;
	--fieldColor: rgba(0, 84, 80, 0.13);
	background-color: var(--whiteColor);
	background-image:
		radial-gradient(var(--fieldWidth) var(--fieldHeight) at 50% calc(var(--fieldCenter) - var(--fieldOffsetY)), var(--fieldColor) 99%, transparent 100%),
		radial-gradient(var(--fieldWidth) var(--fieldHeight) at calc(50% + var(--fieldOffsetX) * 0.866) calc(var(--fieldCenter) - var(--fieldOffsetY) * 0.5), var(--fieldColor) 99%, transparent 100%),
		radial-gradient(var(--fieldWidth) var(--fieldHeight) at calc(50% + var(--fieldOffsetX) * 0.866) calc(var(--fieldCenter) + var(--fieldOffsetY) * 0.5), var(--fieldColor) 99%, transparent 100%),
		radial-gradient(var(--fieldWidth) var(--fieldHeight) at 50% calc(var(--fieldCenter) + var(--fieldOffsetY)), var(--fieldColor) 99%, transparent 100%),
		radial-gradient(var(--fieldWidth) var(--fieldHeight) at calc(50% - var(--fieldOffsetX) * 0.866) calc(var(--fieldCenter) + var(--fieldOffsetY) * 0.5), var(--fieldColor) 99%, transparent 100%),
		radial-gradient(var(--fieldWidth) var(--fieldHeight) at calc(50% - var(--fieldOffsetX) * 0.866) calc(var(--fieldCenter) - var(--fieldOffsetY) * 0.5), var(--fieldColor) 99%, transparent 100%);
}

.convergence-section > .section-content {
	padding-top: 4rem;
	padding-bottom: 4.875rem;
}

.convergence-section .section-label {
	margin-bottom: 0.75rem;
}

.convergence-section h2 {
	font-size: clamp(1.45rem, 2.5vw, 2.1rem);
	line-height: 1.1;
	max-width: 44ch;
}

.convergence-intro {
	font-size: 1.1rem;
	line-height: 1.55;
	max-width: 88ch;
	margin-top: 0.875rem;
}

.convergence-list {
	display: flex;
	gap: clamp(1.75rem, 3.2vw, 2.875rem);
}

.convergence-intro + .convergence-list {
	margin-top: 2.5rem;
}

.convergence-item {
	flex: 1;
	min-width: 0;
	padding-top: 1.25rem;
	border-top: 1px solid var(--borderColor);
}

.convergence-item h3 {
	font-size: 1.3rem;
	line-height: 1.2;
	color: var(--darkGreenColor);
}

.convergence-item p {
	font-size: 1.08rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.78);
	margin-top: 0.3125rem;
}

.convergence-statement {
	width: min(45rem, 100%);
	margin: 4.125rem auto;
	text-align: center;
}

.convergence-statement .statement-title {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.35rem, 2.1vw, 1.7rem);
	line-height: 1.28;
}

.convergence-statement .statement-description {
	font-size: 1.1rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.82);
	max-width: 60ch;
	margin: 1rem auto 0;
}

.proven-section > .section-content,
.backing-section > .section-content {
	padding-top: 3.25rem;
	padding-bottom: 2.875rem;
}

.proven-section .section-link {
	font-size: 0.92rem;
	margin-top: 1.625rem;
}

.backing-section > .section-content {
	padding-bottom: 3.5rem;
}

.backing-section .section-label {
	margin-bottom: 0;
}

.backing-logo {
	display: block;
	width: 13.125rem;
	height: auto;
	margin-top: 1.375rem;
}

.backing-description {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.15rem, 1.75vw, 1.5rem);
	line-height: 1.3;
	color: var(--darkGreenColor);
	max-width: 46ch;
	margin-top: 1.875rem;
}

.about-story-container .content-section > .section-content {
	padding-top: 3.25rem;
	padding-bottom: 2.75rem;
}

.about-story-container .content-section > .lessons-intro {
	padding-bottom: 0;
}

.about-story-container .content-section > .lessons-list {
	padding-top: 1.375rem;
}

.story-road {
	margin-top: 2.125rem;
}

.road-illustration {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 150;
}

.road-stages {
	display: flex;
	list-style: none;
	padding: 0;
	margin: -0.375rem 0 0;
}

.road-stage {
	flex: 1;
	min-width: 0;
	padding-right: 0.625rem;
}

.stage-number,
.stage-name {
	display: block;
	font-family: var(--displayFont);
}

.stage-number {
	font-weight: 900;
	font-size: 0.68rem;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.45);
}

.product-stage .stage-number {
	color: var(--darkGreenColor);
}

.stage-name {
	font-weight: 800;
	font-size: clamp(0.98rem, 1.25vw, 1.16rem);
	line-height: 1.1;
	margin-top: 0.375rem;
}

.road-captions {
	display: flex;
	gap: clamp(1rem, 2vw, 2rem);
	margin-top: 1.625rem;
}

.road-captions p {
	flex: 1;
	min-width: 0;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	line-height: 1.3;
	padding-top: 0.875rem;
	border-top: 3px solid var(--borderColor);
}

.road-captions p + p {
	border-top-color: var(--primaryColor);
}

.story-lesson {
	display: flex;
	border-top: 1px solid var(--borderColor);
}

.story-lesson:last-child {
	border-bottom: 1px solid var(--borderColor);
}

.lesson-heading {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 0 0 38%;
	min-width: 0;
	padding: 1.625rem clamp(1.25rem, 2.4vw, 2.125rem) 1.75rem;
	background-color: var(--darkGreenColor);
	color: var(--whiteColor);
}

.lesson-number {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	line-height: 1;
	color: var(--primaryColor);
}

.lesson-heading h3 {
	font-size: clamp(1.08rem, 1.45vw, 1.3rem);
	line-height: 1.16;
	margin-top: 0.75rem;
}

.lesson-description {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	min-width: 0;
	padding: 1.625rem 0 1.75rem clamp(1.375rem, 2.6vw, 2.5rem);
}

.lesson-description p {
	font-size: 1.04rem;
	line-height: 1.56;
	color: rgba(0, 0, 0, 0.78);
}

.outcome-statement {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.08rem, 1.5vw, 1.34rem);
	line-height: 1.3;
	max-width: 62ch;
	margin-top: 1.875rem;
}

.outcome-statement + .section-link {
	margin-top: 1.375rem;
}

.executive-section {
	background-color: var(--textColor);
	color: var(--whiteColor);
}

.executive-section > .section-content {
	padding-top: 2.875rem;
	padding-bottom: 3.5rem;
}

.executive-section .section-label {
	color: var(--primaryColor);
	margin-bottom: 0.75rem;
}

.executive-section h2 {
	font-weight: 900;
	font-size: clamp(1.95rem, 3.5vw, 2.85rem);
	line-height: 1.04;
}

.executive-list {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid var(--darkBorderColor);
	border-bottom: 1px solid var(--darkBorderColor);
}

.executive-profile {
	display: flex;
	align-items: flex-start;
	gap: clamp(1.25rem, 2vw, 1.875rem);
	flex: 0 0 50%;
	min-width: 0;
	padding: 1.625rem clamp(1.25rem, 2.4vw, 2.375rem) 1.875rem;
	border-left: 1px solid var(--darkBorderColor);
}

.executive-profile:nth-child(odd) {
	border-left: none;
	padding-left: 0;
}

.executive-profile:nth-child(even) {
	padding-right: 0;
}

.executive-profile:nth-child(n + 3) {
	border-top: 1px solid var(--darkBorderColor);
}

.executive-portrait {
	display: block;
	width: 12.5rem;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	flex-shrink: 0;
	background-color: var(--borderColor);
}

.executive-details {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
	min-width: 0;
}

.profile-link {
	font-family: var(--displayFont);
	font-weight: 800;
	color: var(--textColor);
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
}

.profile-link:hover {
	color: var(--darkGreenColor);
}

.executive-details .profile-name {
	font-weight: 900;
	font-size: clamp(1.15rem, 1.45vw, 1.36rem);
	line-height: 1.2;
	color: var(--primaryColor);
}

.executive-details .profile-role {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.92rem;
	line-height: 1.4;
	margin-top: 0.4375rem;
}

.executive-details .profile-bio {
	font-size: 0.92rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.72);
	margin-top: 0.75rem;
}

.executive-details .profile-link {
	font-size: 0.86rem;
	color: var(--whiteColor);
	padding-bottom: 0.25rem;
	margin-top: 1rem;
}

.executive-details .profile-link:hover {
	color: var(--primaryColor);
}

.executive-list + .section-link {
	margin-top: 2.125rem;
}

.executive-list + .section-link:hover {
	color: var(--primaryColor);
}

@media (max-width: 58.125em) {
	.convergence-section {
		--fieldWidth: 20rem;
		--fieldHeight: 26%;
		--fieldOffsetX: 9.375rem;
		--fieldCenter: 52%;
	}

	.convergence-list {
		flex-direction: column;
		gap: 0;
	}

	.convergence-item {
		padding-bottom: 1.25rem;
	}

	.convergence-item:last-child {
		padding-bottom: 0;
	}

	.convergence-statement {
		margin: 2.75rem auto;
	}

	.executive-profile,
	.executive-profile:nth-child(odd),
	.executive-profile:nth-child(even) {
		flex-basis: 100%;
		border-left: none;
		padding-left: 0;
		padding-right: 0;
	}

	.executive-profile + .executive-profile {
		border-top: 1px solid var(--darkBorderColor);
	}
}

@media (max-width: 53.75em) {
	.road-illustration {
		display: none;
	}

	.road-stages {
		flex-wrap: wrap;
		row-gap: 1.125rem;
		margin-top: 0;
	}

	.road-stage {
		flex: 0 0 33.333%;
		padding-top: 0.75rem;
		border-top: 3px solid var(--borderColor);
	}

	.road-stage.product-stage {
		border-top-color: var(--primaryColor);
	}

	.road-captions,
	.story-lesson {
		flex-direction: column;
	}

	.lesson-heading {
		flex-basis: auto;
	}

	.lesson-description {
		padding-left: 0;
		padding-top: 1.25rem;
	}
}

@media (max-width: 38.75em) {
	.executive-profile {
		flex-direction: column;
		gap: 1rem;
	}

	.executive-portrait {
		width: 11.25rem;
	}
}

@media (max-width: 35em) {
	.convergence-section {
		--fieldWidth: 12.5rem;
		--fieldHeight: 22%;
		--fieldOffsetX: 5.75rem;
		--fieldOffsetY: 5%;
	}
}

.contact-page-container .content-section[id] {
	scroll-margin-top: 6.5rem;
}

.contact-page-container .page-hero-container h1 {
	font-size: clamp(2.1rem, 4vw, 3.15rem);
	line-height: 1.05;
	max-width: 20ch;
}

.contact-page-container .page-hero-container .hero-description {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.12rem, 1.6vw, 1.42rem);
	line-height: 1.34;
	color: var(--primaryColor);
	max-width: 52ch;
}

.contact-page-container .content-section > .section-content {
	padding-top: 3.125rem;
	padding-bottom: 3rem;
}

.contact-page-container .content-section .section-description {
	max-width: 84ch;
}

.contact-offers {
	display: flex;
	gap: 2px;
	margin-top: 1.75rem;
	padding: 2px;
	background-color: var(--primaryColor);
}

.contact-offer {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
	padding: 1.5rem clamp(0.9375rem, 1.9vw, 1.625rem) 1.625rem;
	background-color: var(--darkGreenColor);
	color: var(--whiteColor);
}

.offer-number {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: 1.8rem;
	line-height: 1;
	color: var(--primaryColor);
}

.contact-offer h3 {
	font-size: 1.2rem;
	line-height: 1.18;
	margin-top: 0.625rem;
}

.offer-description {
	font-size: 0.98rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.85);
	margin-top: 0.5625rem;
}

.contact-form {
	margin-top: 1.875rem;
}

.contact-routing {
	margin: 0;
	padding: 0;
	border: none;
	min-width: 0;
}

.offer-options {
	display: flex;
	gap: 0.625rem;
	margin-top: 0.875rem;
}

.offer-option {
	display: flex;
	flex: 1;
	min-width: 0;
	cursor: pointer;
}

.offer-option input {
	width: 0;
	height: 0;
	margin: 0;
	opacity: 0;
}

.offer-option-text {
	flex: 1;
	min-width: 0;
	padding: 0.9375rem 1rem 1rem;
	border: 1px solid var(--borderColor);
	background-color: var(--whiteColor);
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.96rem;
	line-height: 1.25;
	transition: border-color 0.15s, background-color 0.15s;
}

.offer-option-text small {
	display: block;
	font-family: var(--bodyFont);
	font-weight: 400;
	font-size: 0.84rem;
	line-height: 1.4;
	color: rgba(0, 0, 0, 0.66);
	margin-top: 0.375rem;
}

.offer-option:hover .offer-option-text {
	border-color: var(--darkGreenColor);
}

.offer-option input:checked + .offer-option-text {
	border-color: var(--darkGreenColor);
	border-left: 0.25rem solid var(--primaryColor);
	background-color: #f2f7f6;
	padding-left: 0.8125rem;
}

.offer-option input:focus-visible + .offer-option-text {
	outline: 3px solid var(--darkGreenColor);
	outline-offset: 2px;
}

.contact-fields {
	--fieldGap: clamp(1.25rem, 2.6vw, 2.375rem);
	display: flex;
	flex-wrap: wrap;
	gap: 1.125rem var(--fieldGap);
	margin-top: 1.625rem;
	padding-top: 1.625rem;
	border-top: 1px solid var(--borderColor);
}

.contact-field {
	display: flex;
	flex-direction: column;
	flex: 0 0 calc((100% - var(--fieldGap)) / 2);
	min-width: 0;
}

.contact-field.wide-field {
	flex-basis: 100%;
}

.contact-field label {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.contact-field label span {
	color: rgba(0, 0, 0, 0.5);
}

.contact-field input,
.contact-field select,
.contact-field textarea {
	width: 100%;
	min-width: 0;
	margin-top: 0.5rem;
	padding: 0.75rem 0.875rem;
	border: 1px solid var(--borderColor);
	border-radius: 0;
	background-color: var(--whiteColor);
	font-family: var(--bodyFont);
	font-size: 1rem;
	color: var(--textColor);
	transition: border-color 0.15s, box-shadow 0.15s;
}

.contact-field textarea {
	min-height: 7.5rem;
	resize: vertical;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
	outline: none;
	border-color: var(--darkGreenColor);
	box-shadow: inset 0 -3px 0 0 var(--primaryColor);
}

.contact-submit-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.375rem;
	margin-top: 1.625rem;
}

.contact-submit {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1rem;
	color: var(--whiteColor);
	background-color: var(--darkGreenColor);
	border: none;
	padding: 1rem 2.125rem;
	cursor: pointer;
	transition: background-color 0.15s;
}

.contact-submit:hover {
	background-color: #04705f;
}

.contact-submit-row > p {
	font-size: 0.86rem;
	line-height: 1.45;
	color: rgba(0, 0, 0, 0.62);
	max-width: 46ch;
}

.contact-message {
	margin-top: 1.375rem;
	padding: 1rem 1.25rem;
	border-left: 0.25rem solid var(--primaryColor);
	background-color: #f2f7f6;
	font-family: var(--displayFont);
	font-weight: 800;
	color: var(--darkGreenColor);
}

.contact-message.error-message {
	border-left-color: #c0392b;
	background-color: #fbefed;
	color: #8e2a1f;
}

.direct-contacts {
	display: flex;
	margin-top: 1.75rem;
	border-top: 1px solid var(--borderColor);
}

.direct-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
	min-width: 0;
	padding: 1.5rem clamp(1.125rem, 2.4vw, 2.375rem) 0.25rem 0;
}

.direct-contact + .direct-contact {
	border-left: 1px solid var(--borderColor);
	padding-left: clamp(1.125rem, 2.4vw, 2.375rem);
}

.direct-contact:last-child {
	padding-right: 0;
}

.direct-contact h3 {
	font-size: 1.2rem;
	line-height: 1.18;
	margin-top: 0.6875rem;
}

.direct-role {
	font-size: 0.92rem;
	line-height: 1.45;
	color: rgba(0, 0, 0, 0.7);
	margin-top: 0.25rem;
}

.direct-contact a {
	max-width: 100%;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.96rem;
	color: var(--textColor);
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
	padding-bottom: 0.1875rem;
	margin-top: 0.75rem;
	overflow-wrap: anywhere;
}

.direct-contact a + a {
	margin-top: 0.875rem;
}

.direct-contact a:hover {
	color: var(--darkGreenColor);
}

.direct-contact address {
	font-style: normal;
	font-size: 0.96rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.78);
	margin-top: 0.6875rem;
}

@media (max-width: 68.75em) {
	.contact-offers {
		flex-wrap: wrap;
	}

	.contact-offer {
		flex: 0 0 calc((100% - 2px) / 2);
	}
}

@media (max-width: 58.125em) {
	.offer-options {
		flex-wrap: wrap;
	}

	.offer-option {
		flex: 0 0 calc(50% - 0.3125rem);
	}

	.contact-field {
		flex-basis: 100%;
	}

	.direct-contacts {
		flex-direction: column;
	}

	.direct-contact {
		padding-right: 0;
	}

	.direct-contact + .direct-contact {
		border-left: none;
		border-top: 1px solid var(--borderColor);
		padding-left: 0;
		padding-top: 1.375rem;
		margin-top: 1.25rem;
	}
}

@media (max-width: 38.75em) {
	.contact-offer {
		flex-basis: 100%;
	}
}

@media (max-width: 35em) {
	.offer-option {
		flex-basis: 100%;
	}
}

.where-container .content-section > .section-content > .section-link {
	font-size: 0.92rem;
	margin-top: 1.375rem;
}

.where-container .page-hero-container .section-content {
	padding-top: 1.75rem;
	padding-bottom: 1.875rem;
}

.where-container .page-hero-container .section-label {
	margin-bottom: 0.875rem;
}

.where-container .page-hero-container h1 {
	max-width: 26ch;
}

.where-container .page-hero-container .heading-divider {
	margin: 1.125rem 0 1rem;
}

.where-container .page-hero-container .hero-description {
	max-width: 80ch;
}

.where-container .content-section > .section-content {
	padding-top: 2.75rem;
	padding-bottom: 2.625rem;
}

.where-container .content-section .section-description {
	max-width: 88ch;
	margin-top: 0.75rem;
}

.where-container .solution-columns {
	margin-top: 1.5rem;
}

.where-container .solution-column {
	padding-top: 1.375rem;
}

.where-container .column-description {
	font-size: 1.02rem;
	line-height: 1.5;
	margin-top: 0.625rem;
}

.where-container .content-section .services-note {
	margin-top: 1.75rem;
}

.network-layout {
	display: flex;
	align-items: flex-start;
	gap: clamp(1.625rem, 3.4vw, 3.75rem);
	margin-top: 1.625rem;
}

.charging-options {
	flex: 0.82;
	min-width: 0;
	border-top: 1px solid var(--borderColor);
}

.charging-option {
	padding: 1.375rem 0 1.5rem;
}

.charging-option + .charging-option {
	border-top: 1px solid var(--borderColor);
}

.option-number {
	font-weight: 900;
}

.option-description {
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.78);
	margin-top: 0.625rem;
}

.charging-option .section-link {
	font-size: 0.86rem;
	padding-bottom: 0.3125rem;
	margin-top: 0.875rem;
}

.options-note {
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.78);
	padding-top: 1.25rem;
	margin-top: 1.375rem;
	border-top: 1px solid var(--borderColor);
}

.network-map-container {
	flex: 1.18;
	min-width: 0;
	padding: clamp(0.875rem, 1.8vw, 1.5rem);
	background-color: #f4f5f6;
}

.network-map {
	display: block;
	width: 100%;
	height: auto;
}

.map-key {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: clamp(0.875rem, 1.8vw, 1.625rem);
	margin-top: 0.875rem;
	padding-top: 0.875rem;
	border-top: 1px solid #c9cdd1;
}

.map-key-item {
	display: flex;
	align-items: center;
	gap: 0.4375rem;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.66rem;
	text-transform: uppercase;
}

.status-dot {
	display: block;
	width: 0.6875rem;
	height: 0.6875rem;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--darkGreenColor);
}

.status-dot.coming-soon {
	background-color: var(--primaryColor);
}

.status-dot.development {
	background-color: var(--yellowColor);
}

.depot-picker {
	display: flex;
	flex-direction: column;
}

.depot-picker > input {
	width: 0;
	height: 0;
	margin: 0;
	opacity: 0;
}

.depot-tabs {
	display: flex;
	margin-top: 1.5rem;
	border-top: 1px solid var(--borderColor);
	border-bottom: 1px solid var(--borderColor);
}

.depot-tab {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
	padding: 1rem clamp(0.75rem, 1.6vw, 1.5rem) 1.125rem;
	border-left: 1px solid var(--borderColor);
	border-bottom: 3px solid transparent;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s;
}

.depot-tab:first-child {
	border-left: none;
}

.depot-tab:hover {
	background-color: #f4f5f6;
}

.depot-status {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.64rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.depot-status .status-dot {
	width: 0.5625rem;
	height: 0.5625rem;
}

.depot-status.coming-soon {
	color: #04705f;
}

.depot-status.development {
	color: #7a5a00;
}

.depot-name {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1.16rem;
	line-height: 1.16;
	margin-top: 0.5625rem;
}

.depot-subtitle {
	font-size: 0.86rem;
	line-height: 1.4;
	color: rgba(0, 0, 0, 0.66);
	margin-top: 0.3125rem;
}

#depot-los-angeles:checked ~ .depot-tabs [for="depot-los-angeles"],
#depot-long-beach:checked ~ .depot-tabs [for="depot-long-beach"],
#depot-newark:checked ~ .depot-tabs [for="depot-newark"],
#depot-seatac:checked ~ .depot-tabs [for="depot-seatac"] {
	background-color: #f2f7f6;
	border-bottom-color: var(--darkGreenColor);
}

#depot-los-angeles:focus-visible ~ .depot-tabs [for="depot-los-angeles"],
#depot-long-beach:focus-visible ~ .depot-tabs [for="depot-long-beach"],
#depot-newark:focus-visible ~ .depot-tabs [for="depot-newark"],
#depot-seatac:focus-visible ~ .depot-tabs [for="depot-seatac"] {
	outline: 3px solid var(--primaryColor);
	outline-offset: -3px;
}

.depot-panel {
	display: none;
	padding-top: 2.125rem;
}

#depot-los-angeles:checked ~ .depot-panels #panel-los-angeles,
#depot-long-beach:checked ~ .depot-panels #panel-long-beach,
#depot-newark:checked ~ .depot-panels #panel-newark,
#depot-seatac:checked ~ .depot-panels #panel-seatac {
	display: block;
}

.depot-panel > h3 {
	font-size: clamp(1.35rem, 2.2vw, 1.9rem);
	line-height: 1.12;
	max-width: 38ch;
}

.depot-description {
	font-size: 1.08rem;
	line-height: 1.55;
	max-width: 82ch;
	margin-top: 0.75rem;
}

.depot-details {
	display: flex;
	align-items: flex-start;
	gap: clamp(1.5rem, 3vw, 3.125rem);
	margin-top: 1.5rem;
}

.depot-media {
	flex: 1.06;
	min-width: 0;
}

.depot-media > img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.depot-media .video-wrapper {
	margin-top: 0;
}

.depot-media .video-button {
	gap: 0.875rem;
	padding: 1.25rem;
}

.depot-media .play-button {
	width: clamp(3.125rem, 5vw, 4rem);
	height: clamp(3.125rem, 5vw, 4rem);
}

.depot-media .play-button img {
	width: 38%;
	height: 38%;
}

.depot-media .video-title {
	font-size: clamp(1rem, 1.4vw, 1.22rem);
}

.depot-caption {
	font-size: 0.82rem;
	line-height: 1.4;
	color: rgba(0, 0, 0, 0.6);
	margin-top: 0.5625rem;
}

.depot-specifications {
	flex: 0.94;
}

.depot-specifications .specification-row {
	padding: 0.5625rem 0;
}

.depot-specifications .specification-row:first-child {
	padding-top: 0;
}

.depot-specifications dt {
	flex: 0 1 auto;
}

.depot-yards {
	display: flex;
	gap: clamp(1.25rem, 2.6vw, 2.5rem);
	margin-top: 1.25rem;
	padding-top: 1.125rem;
	border-top: 1px solid var(--borderColor);
}

.depot-yard {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
	min-width: 0;
}

.yard-name {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.68rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.yard-area {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1rem;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.yard-area small {
	display: block;
	font-family: var(--bodyFont);
	font-weight: 400;
	font-size: 0.88rem;
	color: rgba(0, 0, 0, 0.66);
	margin-top: 0.1875rem;
}

.yard-description {
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.78);
	margin-top: 0.5625rem;
}

.directions-link {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.82rem;
	color: var(--textColor);
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
	padding-bottom: 0.1875rem;
	margin-top: 0.5625rem;
}

.directions-link:hover {
	color: var(--darkGreenColor);
}

.depot-notes {
	margin-top: 1.375rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--borderColor);
}

.depot-notes .solution-list {
	row-gap: 0.5rem;
	margin-top: 0;
}

.depot-notes .solution-list li {
	font-size: 0.99rem;
	color: rgba(0, 0, 0, 0.8);
}

.depot-address {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-top: 1.25rem;
	padding-top: 1.125rem;
	border-top: 1px solid var(--borderColor);
}

.depot-address address {
	font-family: var(--displayFont);
	font-weight: 800;
	font-style: normal;
	font-size: 1rem;
	line-height: 1.3;
}

@media (max-width: 62.5em) {
	.network-layout,
	.depot-details {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (max-width: 51.25em) {
	.depot-tabs {
		flex-wrap: wrap;
	}

	.depot-tab {
		flex: 0 0 50%;
		border-left: none;
	}

	.depot-tab:nth-child(even) {
		border-left: 1px solid var(--borderColor);
	}

	.depot-tab:nth-child(n + 3) {
		border-top: 1px solid var(--borderColor);
	}

	.depot-yards {
		flex-direction: column;
	}
}

.news-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem clamp(1.25rem, 2.4vw, 2.375rem);
}

.news-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 0 0 calc((100% - 2 * clamp(1.25rem, 2.4vw, 2.375rem)) / 3);
	min-width: 0;
	padding-top: 1.25rem;
	border-top: 4px solid var(--primaryColor);
}

.news-image {
	display: block;
	width: 100%;
	margin-bottom: 1.125rem;
	background-color: var(--borderColor);
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.news-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-meta {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.7rem;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.62);
}

.news-meta span {
	color: var(--darkGreenColor);
}

.news-item h2 {
	font-size: clamp(1.1rem, 1.45vw, 1.32rem);
	line-height: 1.2;
	margin-top: 0.625rem;
}

.news-item h2 a {
	color: var(--textColor);
	text-decoration: none;
}

.news-item h2 a:hover {
	color: var(--darkGreenColor);
}

.news-excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	font-size: 0.98rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.78);
	margin-top: 0.625rem;
}

.news-item .section-link {
	font-size: 0.86rem;
	padding-bottom: 0.3125rem;
	margin-top: 1rem;
}

.news-feed-container .pagination {
	margin-top: 3rem;
}

.news-feed-container .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.news-feed-container .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	border: 1px solid var(--borderColor);
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.92rem;
	color: var(--textColor);
	text-decoration: none;
}

.news-feed-container a.page-numbers:hover {
	border-color: var(--darkGreenColor);
	color: var(--darkGreenColor);
}

.news-feed-container .page-numbers.current {
	background-color: var(--darkGreenColor);
	border-color: var(--darkGreenColor);
	color: var(--whiteColor);
}

.news-feed-container .page-numbers.dots {
	border-color: transparent;
}

.post-hero h1 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.1;
	max-width: 25ch;
}

.post-hero .section-label {
	font-size: 1rem;
}

.post-hero .hero-description {
	max-width: 54ch;
}

@media (max-width: 58.125em) {
	.post-hero h1,
	.post-hero .hero-description {
		max-width: none;
	}
}

.post-section > .section-content {
	padding-top: 3.25rem;
	padding-bottom: 3.5rem;
}

.post-content {
	max-width: 72ch;
}

.post-content > p,
.post-content > ul,
.post-content > ol {
	font-size: clamp(1.02rem, 1.2vw, 1.12rem);
	line-height: 1.68;
}

.post-content > * + * {
	margin-top: 1.125rem;
}

.post-content h2,
.post-content h3 {
	line-height: 1.16;
	margin-top: 2.25rem;
}

.post-content h2 {
	font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}

.post-content h3 {
	font-size: clamp(1.15rem, 1.6vw, 1.36rem);
}

.post-content a {
	color: var(--darkGreenColor);
	text-decoration: none;
	border-bottom: 1px solid var(--primaryColor);
}

.post-content a:hover {
	color: var(--textColor);
}

.post-content img {
	max-width: 100%;
	height: auto;
}

.post-content + .section-link {
	margin-top: 2.25rem;
}

.quote-block {
	margin: 2.25rem 0;
	padding-left: clamp(1.125rem, 2vw, 1.625rem);
	border-left: 4px solid var(--primaryColor);
}

.post-content > .quote-block + * {
	margin-top: 0;
}

.quote-block blockquote {
	margin: 0;
}

.quote-block blockquote p {
	font-family: var(--displayFont);
	font-weight: 700;
	font-size: clamp(1.18rem, 1.55vw, 1.38rem);
	line-height: 1.45;
	color: var(--textColor);
}

.quote-block figcaption {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	margin-top: 1.125rem;
}

.quote-block figcaption img {
	display: block;
	width: 3.5rem;
	height: 3.5rem;
	flex-shrink: 0;
	object-fit: cover;
	background-color: var(--borderColor);
}

.quote-author {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.quote-author b {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.98rem;
}

.quote-author span {
	font-size: 0.88rem;
	color: rgba(0, 0, 0, 0.66);
	margin-top: 0.125rem;
}

.leadership-section .section-label {
	margin-bottom: 1.375rem;
}

.post-facts > .section-content {
	padding-top: 3rem;
	padding-bottom: 3.25rem;
}

.facts-layout {
	display: flex;
	gap: clamp(1.875rem, 5vw, 5rem);
}

.facts-about {
	flex: 1.6;
	min-width: 0;
}

.facts-contact {
	flex: 1;
	min-width: 0;
}

.post-facts .section-label {
	margin-bottom: 0;
}

.post-facts p {
	font-size: clamp(0.98rem, 1.1vw, 1.04rem);
	line-height: 1.62;
	color: rgba(0, 0, 0, 0.82);
	margin-top: 0.75rem;
}

.post-facts .contact-name {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1.06rem;
	line-height: 1.3;
	color: var(--textColor);
}

.post-facts .contact-role {
	margin-top: 0.125rem;
}

.post-facts p a {
	color: var(--darkGreenColor);
	text-decoration: none;
	border-bottom: 1px solid var(--primaryColor);
}

.post-facts p a:hover {
	color: var(--textColor);
}

.post-facts .section-link {
	margin-top: 2.5rem;
}

.current-masthead {
	background-color: var(--textColor);
	color: var(--whiteColor);
}

.current-masthead .section-content {
	padding-top: clamp(1.375rem, 2.4vw, 2.125rem);
	padding-bottom: clamp(1.875rem, 3.4vw, 3.125rem);
}

.masthead-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1.25rem;
	padding-bottom: clamp(1.625rem, 3vw, 2.875rem);
	border-bottom: 1px solid rgba(221, 223, 226, 0.22);
}

.masthead-audience,
.masthead-issue {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--yellowColor);
}

.masthead-issue {
	color: var(--primaryColor);
}

.masthead-title {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: clamp(4.4rem, 13vw, 11.5rem);
	line-height: 0.86;
	margin-top: clamp(1.125rem, 2.2vw, 2rem);
}

.masthead-wave {
	display: block;
	width: 100%;
	height: clamp(1.125rem, 2vw, 1.625rem);
	margin-top: clamp(0.875rem, 1.6vw, 1.375rem);
}

.masthead-tagline {
	font-size: clamp(0.95rem, 1.1vw, 1.05rem);
	color: rgba(255, 255, 255, 0.8);
	margin-top: clamp(0.875rem, 1.6vw, 1.25rem);
}

.current-index {
	background-color: var(--darkGreenColor);
}

.current-index .content-container {
	display: flex;
	padding-top: clamp(1.25rem, 2vw, 1.75rem);
	padding-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.index-label {
	align-self: center;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--yellowColor);
	padding-right: clamp(1rem, 2vw, 1.875rem);
}

.current-index a {
	display: block;
	flex: 1;
	min-width: 0;
	padding: 0.25rem clamp(0.75rem, 1.4vw, 1.375rem);
	border-left: 1px solid rgba(255, 255, 255, 0.24);
	text-decoration: none;
}

.index-number,
.index-title {
	display: block;
	font-family: var(--displayFont);
}

.index-number {
	font-weight: 900;
	font-size: 0.72rem;
	color: var(--primaryColor);
}

.index-title {
	font-weight: 800;
	font-size: clamp(0.88rem, 1vw, 0.98rem);
	line-height: 1.25;
	color: var(--whiteColor);
	margin-top: 0.25rem;
}

.current-index a:hover .index-title {
	color: var(--yellowColor);
}

.current-hero {
	min-height: 0;
}

.current-hero .section-content {
	padding-top: clamp(2.75rem, 4.6vw, 4.375rem);
	padding-bottom: clamp(2.75rem, 4.6vw, 4.375rem);
}

.current-hero h2 {
	font-weight: 700;
	font-size: clamp(1.35rem, 2.3vw, 1.95rem);
	line-height: 1.18;
	max-width: 30ch;
}

.current-story {
	background-color: var(--whiteColor);
	border-top: 1px solid var(--borderColor);
}

.current-story .section-content {
	padding-top: clamp(2.5rem, 4vw, 3.75rem);
	padding-bottom: clamp(2.5rem, 4vw, 3.75rem);
}

.lead-story .section-content {
	padding-bottom: clamp(1.875rem, 3vw, 2.75rem);
}

.story-kicker {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.story-kicker span {
	color: #5b6b66;
	margin-right: 0.625rem;
}

.current-story h2 {
	font-size: clamp(1.5rem, 2.6vw, 2.3rem);
	line-height: 1.1;
	color: #14201d;
	max-width: 30ch;
	margin-top: 0.75rem;
}

.lead-story h2 {
	max-width: 26ch;
}

.story-text p {
	font-size: clamp(1rem, 1.14vw, 1.08rem);
	line-height: 1.62;
	color: #3a4744;
	max-width: 70ch;
	margin-top: 0.875rem;
}

.story-text b,
.story-text strong {
	color: #14201d;
}

.story-text a {
	font-weight: 700;
	color: var(--darkGreenColor);
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
}

.story-text .todo {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.78rem;
	color: var(--textColor);
	background-color: var(--yellowColor);
	padding: 0.125rem 0.375rem;
}

.story-link {
	display: inline-block;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.9rem;
	color: var(--darkGreenColor);
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
	padding-bottom: 0.1875rem;
	margin-top: 1.25rem;
}

.story-link:hover {
	color: #14201d;
}

.story-layout {
	display: flex;
	align-items: flex-start;
	gap: clamp(1.75rem, 4vw, 4rem);
}

.story-main {
	flex: 1;
	min-width: 0;
}

.story-main .story-text p {
	max-width: 66ch;
}

.story-brief {
	flex: 0 0 clamp(13.75rem, 22vw, 18.75rem);
	background-color: #f5f6f7;
	border-top: 5px solid var(--primaryColor);
	padding: 1.25rem 1.375rem 1.375rem;
}

.brief-title {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.story-brief dl {
	margin: 0.5rem 0 0;
}

.story-brief dt {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.68rem;
	text-transform: uppercase;
	color: #5b6b66;
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--borderColor);
}

.story-brief dt:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.story-brief dd {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1rem;
	line-height: 1.3;
	color: #14201d;
	margin: 0.1875rem 0 0;
}

.story-columns {
	display: flex;
	align-items: flex-start;
	gap: clamp(1.5rem, 4vw, 4rem);
}

.story-columns .story-text {
	flex: 1.35;
	min-width: 0;
}

.story-quote {
	flex: 1;
	min-width: 0;
	margin: 1.125rem 0 0;
	padding-left: 1.375rem;
	border-left: 4px solid var(--primaryColor);
}

.story-quote p {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.1rem, 1.5vw, 1.34rem);
	line-height: 1.32;
	color: #14201d;
}

.story-quote cite {
	display: block;
	font-family: var(--displayFont);
	font-weight: 800;
	font-style: normal;
	font-size: 0.7rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
	margin-top: 0.75rem;
}

.story-people {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0.75rem, 1.4vw, 1.25rem);
	margin-top: 2.125rem;
}

.story-person {
	flex: 1;
	min-width: 0;
}

.story-person img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

.person-name {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	color: #14201d;
	margin-top: 0.75rem;
}

.person-role {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.68rem;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--darkGreenColor);
	margin-top: 0.25rem;
}

.person-description {
	font-size: 0.9rem;
	line-height: 1.5;
	color: #555555;
	margin-top: 0.5rem;
}

.story-pair {
	display: flex;
	gap: clamp(1.5rem, 3.4vw, 3.5rem);
}

.story-item {
	flex: 1;
	min-width: 0;
}

.story-figure {
	position: relative;
	margin: 0;
}

.story-figure img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.story-figure figcaption {
	position: absolute;
	left: 0;
	bottom: 0;
	font-family: var(--displayFont);
	font-weight: 700;
	font-size: 0.66rem;
	text-transform: uppercase;
	color: var(--whiteColor);
	background-color: rgba(0, 0, 0, 0.62);
	padding: 0.375rem 0.625rem;
}

.story-item .story-figure + .story-kicker {
	margin-top: 1.375rem;
}

.story-item h2 {
	font-size: clamp(1.3rem, 2vw, 1.8rem);
}

.story-specs {
	display: flex;
	flex-wrap: wrap;
	margin: 1.125rem 0 0;
	border-top: 4px solid var(--primaryColor);
}

.story-specs div {
	flex: 0 0 50%;
	padding: 0.75rem 1rem 0.75rem 0;
	border-bottom: 1px solid var(--borderColor);
}

.story-specs div:nth-child(even) {
	padding-left: 1rem;
	padding-right: 0;
	border-left: 1px solid var(--borderColor);
}

.story-specs dt {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.66rem;
	text-transform: uppercase;
	color: #5b6b66;
}

.story-specs dd {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 1.12rem;
	color: #14201d;
	margin: 0.1875rem 0 0;
}

.current-note {
	background-color: var(--darkGreenColor);
}

.current-note .section-content {
	display: flex;
	align-items: flex-start;
	gap: clamp(1.125rem, 2.4vw, 2.25rem);
	padding-top: clamp(2.125rem, 3.4vw, 3.125rem);
	padding-bottom: clamp(2.125rem, 3.4vw, 3.125rem);
}

.current-note .line-icon {
	display: block;
	width: 3.375rem;
	height: 3.375rem;
	flex-shrink: 0;
	color: var(--primaryColor);
}

.current-note .story-kicker {
	color: var(--yellowColor);
}

.current-note .story-kicker span {
	color: #cfe6df;
}

.current-note h2 {
	font-size: clamp(1.3rem, 2vw, 1.8rem);
	line-height: 1.12;
	color: var(--whiteColor);
	margin-top: 0.625rem;
}

.current-note .story-text p {
	font-size: clamp(1rem, 1.12vw, 1.06rem);
	line-height: 1.6;
	color: #cfe6df;
	margin-top: 0.625rem;
}

.current-stay {
	border-top: 1px solid var(--borderColor);
}

.current-stay .section-content {
	padding-top: clamp(2.25rem, 3.6vw, 3.375rem);
	padding-bottom: clamp(2.25rem, 3.6vw, 3.375rem);
}

.stay-columns {
	display: flex;
	margin-top: 1.375rem;
	border-top: 4px solid var(--primaryColor);
}

.stay-column {
	flex: 1;
	min-width: 0;
	padding: 1.25rem clamp(0.875rem, 1.8vw, 1.875rem) 0.25rem;
	border-left: 1px solid var(--borderColor);
}

.stay-column:first-child {
	padding-left: 0;
	border-left: none;
}

.stay-title {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.02rem, 1.24vw, 1.14rem);
	color: #14201d;
}

.stay-column p + p {
	font-size: 0.96rem;
	line-height: 1.52;
	color: #555555;
	margin-top: 0.375rem;
}

.stay-column a {
	display: inline-block;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.86rem;
	color: var(--darkGreenColor);
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
	padding-bottom: 0.1875rem;
	margin-top: 0.625rem;
}

.customer-container {
	color: #14201d;
}

.customer-hero {
	align-items: flex-start;
	min-height: 0;
	background-image: linear-gradient(90deg, rgba(0, 84, 80, 0.92) 0%, rgba(0, 84, 80, 0.92) 30%, rgba(0, 84, 80, 0) 58%), var(--heroImage, none);
}

.customer-hero .section-content {
	padding-top: clamp(2.125rem, 3.6vw, 3.25rem);
	padding-bottom: clamp(3.375rem, 5.4vw, 5.25rem);
}

.customer-brand {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1.5rem;
	padding-bottom: clamp(2.75rem, 5vw, 5.375rem);
}

.customer-brand img {
	display: block;
	width: clamp(7.875rem, 12vw, 10.75rem);
	height: auto;
}

.customer-brand span {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--yellowColor);
}

.customer-hero .section-label {
	font-size: 0.72rem;
}

.customer-hero h1 {
	font-weight: 900;
	font-size: clamp(2.3rem, 5vw, 4.2rem);
	line-height: 1;
	max-width: 17ch;
}

.customer-hero .hero-payoff {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.5rem, 2.4vw, 2.1rem);
	line-height: 1.16;
	color: var(--primaryColor);
	max-width: 22ch;
}

.customer-hero .hero-description {
	font-size: clamp(1rem, 1.3vw, 1.14rem);
	max-width: 58ch;
	margin-top: 1.375rem;
}

.customer-contents {
	background-color: var(--darkGreenColor);
	color: var(--whiteColor);
}

.customer-contents .section-content,
.customer-section .section-content,
.customer-divider .section-content {
	padding-top: clamp(2.75rem, 4.4vw, 4rem);
	padding-bottom: clamp(2.5rem, 4vw, 3.625rem);
}

.customer-contents .section-label {
	color: var(--yellowColor);
	margin-bottom: 0.75rem;
}

.customer-contents h2 {
	font-size: clamp(1.4rem, 2.4vw, 2.1rem);
	line-height: 1.1;
}

.contents-list {
	display: flex;
	margin-top: 2.125rem;
	border-top: 1px solid rgba(255, 255, 255, 0.26);
	border-bottom: 1px solid rgba(255, 255, 255, 0.26);
}

.contents-item {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
	padding: 1.625rem clamp(1rem, 2vw, 2.125rem) 1.75rem;
	border-left: 1px solid rgba(255, 255, 255, 0.26);
	color: var(--whiteColor);
	text-decoration: none;
}

.contents-item:first-child {
	padding-left: 0;
	border-left: none;
}

.contents-item:last-child {
	padding-right: 0;
}

.contents-item .line-icon {
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	color: var(--primaryColor);
	margin-bottom: 1rem;
}

.contents-label {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--yellowColor);
}

.contents-title {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.1rem, 1.5vw, 1.36rem);
	line-height: 1.18;
	margin-top: 0.5625rem;
}

.contents-item:hover .contents-title {
	color: var(--primaryColor);
}

.contents-description {
	font-size: 0.95rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.78);
	margin-top: 0.625rem;
}

.contents-link {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.82rem;
	color: var(--yellowColor);
	margin-top: 0.875rem;
}

.customer-section {
	background-color: var(--whiteColor);
	border-top: 1px solid var(--borderColor);
}

.customer-section .section-label {
	margin-bottom: 0.75rem;
}

.customer-section h2 {
	font-size: clamp(1.5rem, 2.7vw, 2.4rem);
	line-height: 1.1;
	color: #14201d;
	max-width: 28ch;
}

.customer-section h2 span {
	color: var(--darkGreenColor);
}

.customer-section h2.wide-title {
	max-width: none;
}

.customer-lead {
	font-size: clamp(1rem, 1.18vw, 1.1rem);
	line-height: 1.58;
	max-width: 84ch;
	margin-top: 0.9375rem;
}

.customer-body,
.customer-body p {
	font-size: clamp(0.99rem, 1.12vw, 1.06rem);
	line-height: 1.62;
	color: #3a4744;
	max-width: 82ch;
	margin-top: 0.875rem;
}

div.customer-body {
	margin-top: 0;
}

.customer-body b,
.customer-body strong {
	color: #14201d;
}

.dark-section {
	background-color: var(--textColor);
	color: var(--whiteColor);
}

.dark-section .section-label {
	color: var(--primaryColor);
}

.dark-section h2 {
	color: var(--whiteColor);
}

.dark-section h2 span {
	color: var(--primaryColor);
}

.dark-section .customer-lead {
	color: rgba(255, 255, 255, 0.88);
}

.dark-section .customer-body p {
	color: rgba(255, 255, 255, 0.78);
}

.customer-divider {
	background-color: var(--textColor);
	color: var(--whiteColor);
}

.customer-divider .section-label {
	color: var(--primaryColor);
	margin-bottom: 0.75rem;
}

.customer-divider h2 {
	font-weight: 900;
	font-size: clamp(2rem, 3.8vw, 3.1rem);
	line-height: 1.02;
	max-width: 22ch;
}

.customer-divider h2 span {
	color: var(--primaryColor);
}

.customer-divider p:not(.section-label) {
	font-size: clamp(1rem, 1.18vw, 1.1rem);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.8);
	max-width: 72ch;
	margin-top: 1rem;
}

.green-divider {
	background-color: var(--primaryColor);
}

.green-divider .section-label,
.green-divider h2,
.green-divider h2 span,
.green-divider p:not(.section-label) {
	color: var(--textColor);
}

.green-divider h2 span {
	font-weight: 700;
}

.customer-sides {
	display: flex;
	margin-top: 1.875rem;
}

.side-item {
	flex: 1;
	min-width: 0;
	padding: 1.625rem clamp(1rem, 2vw, 2.125rem) 1.75rem;
}

.yours-side {
	background-color: #f5f6f7;
	border-top: 5px solid var(--primaryColor);
}

.ours-side {
	background-color: var(--darkGreenColor);
	border-top: 5px solid var(--yellowColor);
}

.side-title {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: 0.74rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.ours-side .side-title {
	color: var(--yellowColor);
}

.side-item ul {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
}

.side-item li {
	position: relative;
	padding-left: 1.375rem;
	margin-top: 0.6875rem;
	font-size: clamp(0.95rem, 1.04vw, 1.01rem);
	line-height: 1.5;
	color: #555555;
}

.side-item li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 0.6875rem;
	height: 2px;
	background-color: var(--primaryColor);
}

.yours-side li b {
	color: #14201d;
}

.ours-side li {
	color: #cfe6df;
}

.ours-side li::before {
	background-color: var(--yellowColor);
}

.ours-side li b {
	color: var(--whiteColor);
}

.customer-diagram {
	max-width: 73.75rem;
	margin-top: 1.875rem;
}

.customer-diagram svg {
	display: block;
	width: 100%;
	height: auto;
}

.lessons-heading {
	display: flex;
	margin-top: 2.125rem;
}

.lessons-heading span {
	flex: 0 0 38%;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.lessons-heading span + span {
	flex: 1;
	padding-left: clamp(1.375rem, 2.6vw, 2.5rem);
}

.customer-lessons {
	margin-top: 0.75rem;
}

.customer-lessons .lesson-description b {
	color: #14201d;
}

.customer-takeaway {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.08rem, 1.5vw, 1.36rem);
	line-height: 1.34;
	max-width: 60ch;
	margin-top: 1.875rem;
}

.customer-takeaway span {
	color: var(--darkGreenColor);
}

.customer-layers {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	max-width: 67.5rem;
	margin-top: 2rem;
}

.customer-layer {
	display: flex;
	align-items: center;
	gap: clamp(0.875rem, 2vw, 1.875rem);
	padding: 1.375rem clamp(1.125rem, 2.2vw, 2rem);
}

.customer-layer > div {
	flex: 1;
	min-width: 0;
}

.layer-version {
	flex: 0 0 clamp(9.375rem, 16vw, 13.125rem);
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: 0.74rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.layer-title {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.1rem, 1.6vw, 1.4rem);
	line-height: 1.2;
}

.layer-description {
	font-size: clamp(0.92rem, 1vw, 0.98rem);
	line-height: 1.5;
	color: #5b6b66;
	margin-top: 0.25rem;
}

.layer-tag {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: 0.66rem;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 0.375rem 0.625rem;
}

.future-layer {
	background-color: var(--whiteColor);
	border: 2px dashed var(--darkGreenColor);
}

.future-layer .layer-tag {
	color: var(--darkGreenColor);
	border: 2px solid var(--darkGreenColor);
}

.current-layer {
	background-color: var(--darkGreenColor);
	border-left: 6px solid var(--primaryColor);
}

.current-layer .layer-version {
	color: var(--yellowColor);
}

.current-layer .layer-title {
	color: var(--whiteColor);
}

.current-layer .layer-description {
	color: #cfe6df;
}

.current-layer .layer-tag {
	background-color: var(--yellowColor);
	color: var(--textColor);
}

.foundation-layer {
	background-color: #f5f6f7;
	border-left: 6px solid var(--borderColor);
}

.foundation-layer .layer-description {
	color: #555555;
}

.foundation-layer .layer-tag {
	color: #5b6b66;
	border: 2px solid var(--borderColor);
}

.customer-cards {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0.75rem, 1.3vw, 1.125rem);
	margin-top: 1.875rem;
}

.customer-card {
	flex: 1;
	min-width: 0;
	background-color: #f5f6f7;
	border-top: 5px solid var(--primaryColor);
	padding: 1.375rem clamp(1rem, 1.7vw, 1.625rem) 1.5rem;
}

.three-cards .customer-card {
	flex: 0 0 calc((100% - 2 * clamp(0.75rem, 1.3vw, 1.125rem)) / 3);
}

.customer-card .line-icon {
	display: block;
	width: 2.625rem;
	height: 2.625rem;
	color: var(--primaryColor);
	margin-bottom: 0.875rem;
}

.customer-elements .customer-card .line-icon {
	color: var(--darkGreenColor);
}

.card-label {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.7rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.card-number {
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	line-height: 1;
}

.card-title {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.04rem, 1.3vw, 1.2rem);
	line-height: 1.2;
	color: #14201d;
	margin-top: 0.625rem;
}

.card-number + .card-title {
	margin-top: 0.875rem;
}

.card-tag {
	display: inline-block;
	vertical-align: middle;
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: 0.6rem;
	text-transform: uppercase;
	color: var(--textColor);
	background-color: var(--yellowColor);
	padding: 0.1875rem 0.4375rem;
	margin-left: 0.5rem;
}

.card-text p {
	font-size: clamp(0.93rem, 1.02vw, 1rem);
	line-height: 1.54;
	color: #555555;
	margin-top: 0.625rem;
}

.card-text b,
.card-text strong {
	font-weight: 700;
	color: #14201d;
}

.dark-card {
	background-color: var(--darkGreenColor);
}

.dark-card .card-label {
	color: var(--yellowColor);
}

.dark-card .card-number {
	color: var(--primaryColor);
}

.dark-card .card-title,
.dark-card .card-text b,
.dark-card .card-text strong {
	color: var(--whiteColor);
}

.dark-card .card-text p {
	color: #cfe6df;
}

.customer-elements .dark-card .line-icon {
	color: var(--whiteColor);
}

.customer-elements {
	margin-top: 2rem;
	padding: clamp(1.125rem, 2.4vw, 2.125rem);
	border: 3px solid var(--darkGreenColor);
}

.elements-label {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: var(--darkGreenColor);
}

.elements-title {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: clamp(1.3rem, 2.3vw, 2rem);
	line-height: 1.08;
	margin-top: 0.5rem;
}

.elements-description {
	font-size: clamp(0.96rem, 1.08vw, 1.04rem);
	line-height: 1.55;
	color: #3a4744;
	max-width: 70ch;
	margin-top: 0.5rem;
}

.customer-elements .customer-cards {
	margin-top: 1.375rem;
}

.elements-comparison {
	margin-top: clamp(1rem, 1.8vw, 1.5rem);
	padding-top: clamp(0.875rem, 1.6vw, 1.25rem);
	border-top: 1px solid var(--borderColor);
}

.elements-comparison p {
	font-size: clamp(0.98rem, 1.1vw, 1.06rem);
	line-height: 1.58;
	color: #3a4744;
}

.elements-comparison b,
.elements-comparison strong {
	color: #14201d;
}

.customer-steps {
	display: flex;
	margin-top: 1.625rem;
	border-top: 4px solid var(--primaryColor);
}

.customer-step {
	flex: 1;
	min-width: 0;
	padding: 1.375rem clamp(0.875rem, 1.8vw, 1.875rem) 0.375rem;
	border-left: 1px solid var(--borderColor);
}

.customer-step:first-child {
	padding-left: 0;
	border-left: none;
}

.customer-step .line-icon {
	display: block;
	width: 2.625rem;
	height: 2.625rem;
	color: var(--primaryColor);
	margin-bottom: 0.875rem;
}

.step-number {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: clamp(1.5rem, 2.1vw, 1.9rem);
	line-height: 1;
	color: var(--darkGreenColor);
}

.step-title {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.02rem, 1.24vw, 1.16rem);
	line-height: 1.2;
	color: #14201d;
	margin-top: 0.625rem;
}

.step-title + p {
	font-size: clamp(0.93rem, 1.02vw, 0.99rem);
	line-height: 1.5;
	color: #4a5754;
	margin-top: 0.5625rem;
}

.customer-step a {
	display: inline-block;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.86rem;
	color: var(--darkGreenColor);
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
	padding-bottom: 0.1875rem;
	margin-top: 0.75rem;
}

.customer-stats {
	display: flex;
	gap: 1.125rem;
	margin-top: 2rem;
	padding: 1.75rem clamp(1.125rem, 2.2vw, 2.375rem) 1.875rem;
	background-color: var(--darkGreenColor);
}

.customer-stats > div {
	flex: 1;
	min-width: 0;
}

.customer-stats .stat-value {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: clamp(1.5rem, 2.4vw, 2.1rem);
	line-height: 1;
	color: var(--whiteColor);
}

.customer-stats .stat-value em {
	font-style: normal;
	color: var(--primaryColor);
}

.customer-stats .stat-description {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.68rem;
	line-height: 1.35;
	text-transform: uppercase;
	color: #cfe6df;
	margin-top: 0.625rem;
}

.customer-key-line {
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: clamp(1.1rem, 1.55vw, 1.4rem);
	line-height: 1.34;
	max-width: 56ch;
	margin-top: 1.875rem;
}

.signature-section .section-content {
	padding-top: clamp(2.5rem, 4vw, 3.625rem);
	padding-bottom: clamp(2.5rem, 4vw, 3.625rem);
}

.signature-section p {
	font-family: var(--displayFont);
	font-weight: 900;
	font-size: clamp(1.6rem, 3.2vw, 2.7rem);
	line-height: 1.08;
}

.signature-section p + p {
	margin-top: 0.375rem;
}

.signature-section span {
	color: var(--primaryColor);
}

.customer-top-link {
	display: inline-block;
	font-family: var(--displayFont);
	font-weight: 800;
	font-size: 0.8rem;
	color: var(--darkGreenColor);
	text-decoration: none;
	border-bottom: 2px solid var(--primaryColor);
	padding-bottom: 0.25rem;
	margin-top: 1.875rem;
}

.customer-footer {
	background-color: var(--textColor);
	font-family: var(--bodyFont);
	line-height: var(--bodyLineHeight);
}

.customer-footer .content-container {
	padding-top: 2.125rem;
	padding-bottom: 2.125rem;
}

.footer-note {
	margin: 0;
	padding-top: 1rem;
	border-top: 3px solid var(--yellowColor);
	font-size: 0.86rem;
	line-height: 1.56;
	color: rgba(255, 255, 255, 0.74);
}

.footer-note b {
	color: var(--yellowColor);
}

.footer-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1.75rem;
	margin-top: 1.375rem;
}

.footer-row img {
	display: block;
	width: 6.5rem;
	height: auto;
}

.footer-row span {
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 68.75em) {
	.news-item {
		flex-basis: calc((100% - clamp(1.25rem, 2.4vw, 2.375rem)) / 2);
	}

	.story-people {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	.three-cards .customer-card {
		flex-basis: calc((100% - clamp(0.75rem, 1.3vw, 1.125rem)) / 2);
	}
}

@media (max-width: 61.25em) {
	.current-index .content-container {
		flex-wrap: wrap;
		row-gap: 0.875rem;
	}

	.index-label {
		flex: 0 0 100%;
	}

	.current-index a {
		flex: 0 0 50%;
		padding: 0.625rem 0 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.24);
	}
}

@media (max-width: 58.125em) {
	.customer-hero {
		background-image: linear-gradient(90deg, rgba(0, 84, 80, 0.93), rgba(0, 84, 80, 0.8)), var(--heroImage, none);
	}

	.contents-list {
		flex-direction: column;
	}

	.contents-item,
	.contents-item:first-child {
		padding-left: 0;
		padding-right: 0;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.26);
	}

	.contents-item:first-child {
		border-top: none;
	}
}

@media (max-width: 53.75em) {
	.facts-layout,
	.story-layout,
	.story-columns,
	.story-pair {
		flex-direction: column;
	}

	.facts-layout {
		gap: 2.125rem;
	}

	.story-pair {
		row-gap: 2.75rem;
	}

	.story-brief {
		flex-basis: auto;
		align-self: stretch;
	}
}

@media (max-width: 47.5em) {
	.news-item {
		flex-basis: 100%;
	}

	.stay-columns,
	.customer-sides,
	.customer-steps,
	.customer-layer {
		flex-direction: column;
	}

	.customer-layer {
		align-items: flex-start;
		gap: 0.5rem;
	}

	.layer-version {
		flex-basis: auto;
	}

	.stay-column,
	.stay-column:first-child,
	.customer-step,
	.customer-step:first-child {
		padding-left: 0;
		padding-right: 0;
		border-left: none;
	}

	.stay-column + .stay-column,
	.customer-step + .customer-step {
		border-top: 1px solid var(--borderColor);
		margin-top: 1rem;
	}

	.customer-cards {
		flex-direction: column;
	}

	.three-cards .customer-card {
		flex-basis: auto;
	}

	.customer-stats {
		flex-wrap: wrap;
	}

	.customer-stats > div {
		flex: 0 0 calc(50% - 0.5625rem);
	}

	.lessons-heading span + span {
		display: none;
	}

	.customer-diagram {
		overflow-x: auto;
		padding-bottom: 0.625rem;
	}

	.customer-diagram svg {
		min-width: 55rem;
	}
}

@media (max-width: 38.75em) {
	.story-people {
		grid-template-columns: repeat(2, 1fr);
	}

	.current-note .section-content {
		flex-direction: column;
	}
}

