/**
 * Homepage specific styling goes here. Excluded on all subpages
 *
 * @format
 */

/* For most builds, this stylesheet should be wiped and started fresh */
section {
	position: relative;
	padding: 50px 0;
}

.blue-section {
	background: var(--color-alternate);
}

.blue-section h2 {
	color: var(--color-secondary);
	font-size: 3.0556rem;
}

.blue-section h3 {
	color: var(--color-secondary);
}

.blue-section p {
	color: #fff;
}

@media screen and (min-width: 1025px) {
	section {
		padding: 100px 0;
	}

	.blue-section h2 {
		font-size: 3.6111rem;
		line-height: 1.1;
	}
}

@media screen and (min-width: 1600px) {
	section {
		padding: 130px 0;
	}

	.blue-section h2 {
		font-size: 4.6667rem;
	}
}

/* Base styles (mobile first) */
.results-hero {
	position: relative;
	color: #ffffff;
	overflow: hidden;
}

/* Background image wrapper */
.results-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
}

.results-hero-bg .swiper {
	width: 100%;
	height: 100%;
}

.results-hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.results-hero-bg .swiper-autoplay-toggle {
	display: none;
}

/* Dark teal overlay */
.results-hero::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 150px;
	background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: 1;
}

@media screen and (min-width: 1600px) {
	.results-hero::before {
		height: 170px;
	}
}

/* Content wrapper */
.results-hero-inner {
	position: relative;
	z-index: 2;
	min-height: 700px;
	padding: 0 20px 30px;
	display: flex;
	flex-direction: column;
	justify-content: end;
	text-align: center;
}

.results-hero-inner .swiper-outer {
	max-width: 100%;
	margin: 0;
}

.results-hero-inner .swiper-autoplay-toggle {
	display: none;
}

#hero-autoplay-toggle {
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 1;
}

#hero-autoplay-toggle:hover,
#hero-autoplay-toggle:focus {
	color: #fff;
}

/* Heading area */
.results-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.25em;
	font-size: 1.3889rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-secondary);
	margin: 0 0 15px;
}

.results-title {
	display: block;
	font-size: 3.8889rem;
	font-weight: 300;
	text-transform: uppercase;
	margin: 0 0 15px;
	line-height: 1;
}

.results-subtitle {
	margin: 0 0 1.8rem;
	font-size: 0.8889rem;
	max-width: 26rem;
	margin-inline: auto;
	color: #fff;
	/* opacity: 0; */
}

.results-subtitle + .button {
	padding: 12px 25px;
}

.results-subtitle + .button:hover,
.results-subtitle + .button:focus {
	color: #022943;
	background-color: #fff;
}

.results-cta {
	display: inline-block;
	padding: 0.9rem 2.4rem;
	color: #001018;
	letter-spacing: 0.12em;
	font-size: 0.8333rem;
}

.results-cta:hover,
.results-cta:focus {
	background-color: var(--color-alternate);
}

.results-title .word {
	display: inline-block;
	overflow: hidden;
}

.results-title .letter {
	display: inline-block;
	/* opacity: 0; */
	will-change: transform, opacity;
}

.results-title .space {
	display: none;
}

.results-hero-heading {
	transition: all 500ms ease-out;
}

.results-hero-heading.active {
	opacity: 0;
}

/* Stats row */
.results-stats {
	position: relative;
	margin-top: 3rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2.25rem;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
}

.results-stat {
	min-width: 9rem;
}

.results-amount {
	color: var(--color-secondary);
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 5px;
	line-height: 1;
}

.results-label {
	text-transform: uppercase;
	font-size: 1.0556rem;
	font-weight: 700;
	line-height: 1.2;
}

.results-stats button::after {
	font-size: 1.2778rem;
}

/* Arrows */
.results-arrow {
	color: var(--color-secondary);
	text-decoration: none;
	font-size: 1.5rem;
	padding: 0.25rem 0.5rem;
}

.results-arrow:hover,
.results-arrow:focus {
	color: #ffffff;
}

/* Larger screens */
@media (min-width: 768px) {
	.results-hero-inner {
		padding: 4rem 3rem 3rem;
	}

	.results-stats {
		margin-top: 4rem;
		flex-wrap: nowrap;
	}

	.results-stat {
		text-align: center;
	}
}

@media (min-width: 1025px) {
	.results-hero-inner {
		-webkit-box-pack: center;
		justify-content: center;
		padding: 5rem 4rem 4rem;
		min-height: 100vh;
	}

	.results-eyebrow {
		font-size: 2.1667rem;
	}

	.results-title {
		font-size: 5.5556rem;
	}

	.results-subtitle {
		font-size: 1.5rem;
		max-width: none;
	}

	.results-stats {
		position: absolute;
		bottom: 30px;
		left: 0;
		width: 100%;
		padding: 0 120px;
	}

	.results-stats .swiper-button-container {
		width: 94%;
	}

	.results-amount {
		font-size: 1.4rem;
	}
}

@media screen and (min-width: 1600px) {
	.results-eyebrow {
		font-size: 2.7778rem;
	}

	.results-title {
		font-size: 7.2222rem;
	}

	.results-subtitle {
		font-size: 1.9444rem;
	}

	.results-stats {
		bottom: 50px;
	}
}

/* Base styles (mobile first) */
.employment-section {
	color: #1f3450; /* dark navy */
	margin: 0 auto;
	padding: 50px 0;
	background-color: #ffffff;
}

.employment-inner {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.employment-left {
	text-align: left;
}

.employment-eyebrow {
	text-transform: uppercase;
	font-size: 1.1667rem;
	font-weight: 700;
	color: #596e76;
	margin: 0 0 5px;
}

.employment-title {
	font-size: 2.7778rem;
	line-height: 1.1;
}

.employment-title + .button {
	font-size: 14px;
}

/* Right column text */
.employment-right {
	font-size: 0.95rem;
	line-height: 1.7;
}

.employment-intro {
	margin: 0 0 1.6rem;
}

.employment-right h2 {
	font-size: 1.4444rem;
}

.employment-body {
	margin: 0;
}

/* Divider and logos */
.employment-divider {
	border: 0;
	background: #000;
	height: 1px;
	width: 100%;
}

.employment-logos {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	align-items: center;
	justify-content: center;
}

.employment-logos img {
	width: auto;
	flex: 0 0 auto;
}

.employment-logos .swiper-outer {
	max-width: 100%;
}

.employment-logos .swiper-button-container {
	top: 50%;
	transform: translate(-50%, -50%);
}

.employment-logos .swiper-button-container button {
	font-size: 1.2778rem;
	left: auto;
	right: auto;
}

.employment-logos .swiper-button-container button::after {
	color: var(--color-secondary);
	font-size: 1.2778rem;
}

.employment-logos .swiper-button-container button:hover:after,
.employment-logos .swiper-button-container button:focus:after {
	color: var(--color-primary) !important;
}

.employment-logos .swiper-wrapper {
	-webkit-box-align: center;
	align-items: center;
}

.badge-inner {
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
}

/* Desktop / larger screens */
@media (min-width: 768px) {
	.employment-inner {
		flex-direction: row;
		align-items: flex-start;
		gap: 4rem;
	}

	.employment-left {
		flex: 0 0 32%;
	}

	.employment-right {
		flex: 1;
	}
}

@media (min-width: 1025px) {
	.employment-section {
		padding: 90px 0;
	}

	.employment-eyebrow {
		font-size: 1.6111rem;
	}

	.employment-title {
		font-size: 3.7778rem;
	}

	.employment-right h2 {
		font-size: 1.9444rem;
	}

	.employment-title + .button {
		font-size: 1rem;
	}
}

@media screen and (min-width: 1600px) {
	.employment-section {
		padding: 100px 0;
	}

	.employment-eyebrow {
		font-size: 2rem;
	}

	.employment-title {
		font-size: 4.6667rem;
	}
}

/* Proven section */
.proven-section {
	padding-bottom: 20px;
}

.proven-content {
	margin-bottom: 30px;
}

.proven-content p {
	font-weight: 700;
}

.proven-content p:last-child {
	margin-bottom: 0;
}

#proven-slider-container {
	width: 100%;
	max-width: 100%;
}

.proven-section #slider-proven {
	height: 645px;
}

.proven-section .amount {
	color: var(--color-secondary);
	font-size: 1.9444rem;
	font-weight: 500;
	margin-bottom: 15px;
}

.proven-single-inner {
	margin-bottom: 20px;
	border-bottom: 1px solid #bbe1fa;
}

.proven-single-inner:last-child {
	margin-bottom: 0;
}

.proven-single-inner .accordion-item {
	border: none;
}

.proven-single-inner .accordion-item h3 button {
	font-size: 1.3889rem;
	text-transform: none;
	color: #fff;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
}

.proven-single-inner .accordion-item-content {
	color: #fff;
}

.proven-single-inner .accordion-item-content > *:first-child {
	margin-top: 0;
}

.proven-single-inner .accordion-item-content > *:last-child {
	margin-bottom: 0;
}

#slider-proven-pagination {
	top: auto;
	left: -20px;
	right: auto;
	bottom: 58px;
}

#slider-proven-pagination .swiper-pagination-bullet {
	width: 9px;
	height: 9px;
	background: none;
	border: 1px solid #fff;
}

#slider-proven-pagination .swiper-pagination-bullet-active {
	background: #fff;
}

@media screen and (min-width: 1025px) {
	.proven-section {
		padding-bottom: 100px;
	}

	.proven-inner {
		display: -webkit-flex;
		display: -moz-flex;
		display: -o-flex;
		display: flex;
		-webkit-box-pack: center;
		justify-content: center;
		grid-gap: 120px;
		gap: 120px;
	}

	.proven-content {
		width: 100%;
		max-width: 330px;
		margin-bottom: 0;
	}

	.proven-content p {
		font-size: 1rem;
	}

	#proven-slider-container {
		flex: 1;
	}

	.proven-single-inner {
		display: -webkit-flex;
		display: -moz-flex;
		display: -o-flex;
		display: flex;
		-webkit-box-align: start;
		align-items: flex-start;
		grid-gap: 35px;
		gap: 35px;
		padding: 20px 0;
		margin-bottom: 0;
	}

	.proven-single-inner .accordion-item {
		flex: 1;
	}

	.proven-single-inner .accordion-item.active .accordion-item-content {
		padding-bottom: 0;
	}

	.proven-single-inner .accordion-item h3 button {
		padding: 6px 0;
	}

	.proven-section .amount {
		margin-bottom: 0;
	}

	.proven-section #slider-proven {
		height: 450px;
	}

	#slider-proven-pagination {
		left: -25px;
		bottom: 10px;
	}
}

@media screen and (min-width: 1600px) {
	.proven-section .amount {
		font-size: 2.5rem;
	}

	.proven-content {
		max-width: 400px;
	}

	.proven-content p {
		font-size: 1.2222rem;
	}

	.proven-section #slider-proven {
		height: 510px;
	}

	.proven-single-inner .accordion-item h3 {
		font-size: 1.9444rem;
	}

	.proven-single-inner .accordion-item h3 button {
		font-size: 1.9444rem;
		line-height: 1.1;
	}

	#slider-proven-pagination {
		bottom: 15px;
	}
}

/* Commitment section */
.commitment-section {
	position: relative;
}

.commitment-section h2 {
	font-size: 1.6667rem;
	color: #14254a;
	margin-bottom: 40px;
}

.commitment-section h3 {
	font-size: 1.1111rem;
	font-weight: 700;
	color: #14254a;
	margin-bottom: 0;
}

.commitment-section.active::before {
	content: url(../images/commitment-mobile.webp);
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}

.commitment-inner {
	display: grid;
	grid-gap: 40px;
	gap: 40px;
}

.title-container {
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	grid-gap: 20px;
	gap: 20px;
	margin-bottom: 30px;
}

.feature-text {
	padding-left: 12px;
	border-left: 2px solid #00c6d3;
}

.feature-text p {
	font-size: 0.8889rem;
	font-weight: 700;
	color: #093764;
}

@media screen and (min-width: 1025px) {
	.commitment-section.active::before {
		content: url(../images/commitment-desktop.webp);
	}

	.commitment-section h2 {
		font-size: 3.6111rem;
		margin-bottom: 60px;
		text-align: center;
	}

	.commitment-section h3 {
		font-size: 35px;
	}

	.commitment-inner {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 120px;
		gap: 120px;
	}

	.title-container {
		grid-gap: 30px;
		gap: 30px;
	}

	.feature-text {
		font-size: 1.1111rem;
	}
}

@media screen and (min-width: 1600px) {
	.commitment-section h2 {
		font-size: 3.8889rem;
		margin-bottom: 80px;
	}
}

/* FAQs section */
.faqs-section {
	padding-bottom: 60px;
}

.faqs-inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 50px;
	gap: 50px;
}

.faqs-section .accordion-item-title {
	font-size: 0.8889rem;
	color: #fff;
	text-transform: none;
}

.faqs-section .accordion-item-title:hover,
.faqs-section .accordion-item-title:focus {
	color: #00c6d3;
}

.faqs-section .accordion-item-content {
	color: #fff;
	font-size: 0.8333rem;
}

.faqs-right .accordion-item:last-child {
	border-bottom: none;
}

.arrow {
	position: absolute;
	top: calc(100% + 15px);
	left: 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border: 1px solid var(--color-secondary);
	border-radius: 50%;
	font-size: 0.8333rem;
	color: var(--color-secondary);
}

@media screen and (min-width: 1025px) {
	.faqs-section {
		padding-bottom: 140px;
	}

	.faqs-section h2 {
		text-align: center;
		margin-bottom: 50px;
	}

	.faqs-inner {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 100px;
		gap: 100px;
	}

	.faqs-section .accordion-item-title {
		font-size: 1rem;
	}

	.faqs-section .accordion-item-content {
		font-size: 0.8889rem;
	}

	.faqs-right .accordion-item:last-child {
		border-bottom: 1px solid var(--color-gray);
	}

	.arrow {
		top: calc(100% + 55px);
		left: -20px;
		width: 116px;
		height: 116px;
		font-size: 2.0556rem;
		border: 2px solid var(--color-secondary);
	}
}

@media screen and (min-width: 1600px) {
	.faqs-section {
		padding-bottom: 180px;
	}

	.faqs-section .accordion-item-title {
		font-size: 1.1111rem;
	}

	.faqs-section .accordion-item-content {
		font-size: 1rem;
	}

	.arrow {
		top: calc(100% + 65px);
		left: -50px;
		width: 150px;
		height: 150px;
		font-size: 2.0556rem;
		border: 3px solid var(--color-secondary);
	}
}

/* Practices section */
.practices-section .section-title {
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #596e76;
}

.practices-content {
	text-align: center;
	max-width: 710px;
	margin: 0 auto;
}

.practices-section h2 {
	font-size: 1.6667rem;
	margin-bottom: 20px;
}

.practices-section p {
	font-size: 0.8889rem;
}

.practices-section p:last-child {
	margin-bottom: 0;
}

.practices-list {
	display: grid;
	grid-gap: 25px;
	gap: 25px;
}

.practices-list a {
	position: relative;
	display: block;
	color: #093764;
	font-size: 0.8889rem;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	padding-bottom: 10px;
	padding-right: 35px;
	border-bottom: 1px solid #093764;
}

.practices-list a:hover,
.practices-list a:focus {
	color: #00c6d3;
}

.practices-list a::after {
	content: '\f061';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	font-family: 'Font Awesome 6 Pro';
	font-weight: 700;
	font-size: 1.2778rem;
	color: #00c6d3;
}

@media screen and (min-width: 768px) {
	.practices-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 70px;
		row-gap: 30px;
	}
}

@media screen and (min-width: 1025px) {
	.practices-section .section-title {
		font-size: 1.3889rem;
	}

	.practices-bottom {
		margin-top: 100px;
	}

	.practices-section h2 {
		font-size: 2.6667rem;
	}

	.practices-section p,
	.practices-list a {
		font-size: 1rem;
	}
}

@media screen and (min-width: 1600px) {
	.practices-section .section-title {
		font-size: 1.6111rem;
	}

	.practices-content {
		max-width: 850px;
	}

	.practices-section h2 {
		font-size: 3.0556rem;
	}

	.practices-section p,
	.practices-list a {
		font-size: 1.1111rem;
	}
}

/* Testimonials section */
.testimonials-section {
	position: relative;
	padding: 50px 0;
}

.testimonials-section-bg {
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	max-width: 100%;
	height: auto;
}

.testimonials-section h2 {
	margin-bottom: 50px;
}

.review-stars {
	color: #ffb400;
	font-size: 27px;
}

.testimonials-section .swiper-outer {
	max-width: 880px;
	margin-left: 0;
	margin-right: auto;
	margin-bottom: 50px;
}

.testimonials-section .swiper-button-container {
	top: calc(100% + 50px);
	left: auto;
	right: 0;
	transform: none;
	width: auto;
	grid-gap: 5px;
	gap: 5px;
}

.testimonials-section .swiper-button-container button {
	background: #00c6d3 !important;
	left: auto;
	right: auto;
	width: 54px;
	height: 54px !important;
	transition: all 200ms ease-out;
}

.testimonials-section .swiper-button-container button:hover,
.testimonials-section .swiper-button-container button:focus {
	background: #000 !important;
}

.testimonials-section .swiper-button-container button::after {
	color: #000;
	font-size: 20px;
}

.testimonials-section .swiper-button-container button:hover::after,
.testimonials-section .swiper-button-container button:focus::after {
	color: #00c6d3 !important;
}

@media screen and (min-width: 768px) {
	.testimonials-section .swiper-wrapper {
		align-items: stretch;
	}

	.testimonial-inner {
		padding-right: 35px;
	}

	.testimonials-section .swiper-slide {
		height: auto;
	}

	.testimonials-section .swiper-slide::after {
		content: '';
		position: absolute;
		top: 0;
		right: -2px;
		width: 1px;
		height: 100%;
		background: #707070;
		opacity: 0.5;
	}
}

@media screen and (min-width: 1025px) {
	.testimonials-section h2 {
		font-size: 2.6667rem;
	}
}

@media screen and (min-width: 1280px) {
	.testimonials-section {
		padding-bottom: 80px;
	}

	.testimonials-section .swiper-button-container {
		top: auto;
		bottom: 0;
		right: -140px;
		flex-direction: column-reverse;
	}
}
