/* General
--------------------------------------------- */

body {
	--bs-body-color: #1C1919;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 28px;
}

@media (min-width: 992px) {
	body {
		font-size: 22px;
		line-height: 36px;
	}
}

.site h1,
.site h2 {
	font-family: "garamond-premier-pro-display", serif;
	font-weight: 300;
	letter-spacing: 0.01em;
}

.site h2 {
	font-size: 40px;
	line-height: 40px;
}

@media (min-width: 992px) {
	.site h2 {
		font-size: 72px;
		line-height: 82px;
	}
}

.site a {
	color: #1C1919;
	letter-spacing: 0.15em;
}

/* Testimonial Component
--------------------------------------------- */

.testimonial {
	margin: 0;
}

.testimonial__rating {
	font-size: 16px;
	margin-bottom: 24px;
}

@media (min-width: 992px) {
	.testimonial__rating {
		font-size: 20px;
		margin-bottom: 40px;
	}
}

.testimonial__content {
	font-family: "garamond-premier-pro-display", serif;
	font-size: 20px;
	letter-spacing: 0.01em;
	line-height: 25px;
	margin-bottom: 16px;
}

@media (min-width: 992px) {
	.testimonial__content {
		font-size: 45px;
		line-height: 50px;
		margin-bottom: 32px;
	}
}

.testimonial__cite {
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	.testimonial__cite {
		font-size: 22px;
	}
}

.bg-dark .testimonial__cite {
	color: #CCB08F;
}

.testimonial__cite span {
	display: block;
}


/* Hero Section
--------------------------------------------- */

.hero {
	background: url(../jpg/hero-mobile.jpg) no-repeat top/cover;
	padding-top: 75px;
	padding-bottom: 40px;
	position: relative;
}

@media (min-width: 992px) {
	.hero {
		background: url(../jpg/hero.jpg) no-repeat top/cover fixed;
		padding-top: 400px;
		padding-bottom: 80px;
	}
}

.hero::before {
	background: linear-gradient(#54545400, #000000);
	content: "";
	display: block;
	opacity: 0.55;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.hero__title {
	font-size: 65px;
}

@media (min-width: 992px) {
	.hero__title {
		font-size: 125px;
	}
}


/* Trainer Section
--------------------------------------------- */

.trainer {
	background-color: #ffffff;
	padding: 70px 0;
}

@media (min-width: 992px) {
	.trainer {
		padding: 125px 0;
	}
}
.trainer__content figure {
	margin: 0 auto 40px;
	max-width: 80%;
}

.trainer__title {
	font-size: 40px;
	line-height: 40px;
	margin-bottom: 16px;
}

@media (min-width: 992px) {
	.trainer__title {
		font-size: 85px;
		line-height: 82px;
		margin-bottom: 24px;
	}
}

.trainer__summary {
	color: #C39A6A;
	font-size: 18px;
	line-height: 30px;
	margin-bottom: 24px;
}

@media (min-width: 992px) {
	.trainer__summary {
		font-size: 22px;
		line-height: 36px;
		margin-bottom: 45px;
	}
}


/* Journey Section
--------------------------------------------- */

.journey {
	background-color: #EBE8E3;
	padding: 70px 0;
}

@media (min-width: 992px) {
	.journey {
		padding: 212px 0;
	}
}

.journey h2 {
	margin-bottom: 40px;
}

@media (min-width: 992px) {
	.journey h2 {
		margin-bottom: 52px;
	}
}

.journey__step {
	counter-increment: journey;
	margin-bottom: 48px;
}

@media (min-width: 992px) {
	.journey__step {
		margin-bottom: 64px;
	}
}

.journey__step::before {
	background-color: #1C1919;
	border-radius: 100%;
	content: counter(journey, decimal-leading-zero);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 22px;
	padding: 5px;
	width: 22px;
	height: 22px;
}

.journey__step h3 {
	color: #C39A6A;
	font-family: "europa", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 28px;
	margin-top: 15px;
	margin-bottom: 20px;
}

@media (min-width: 992px) {
	.journey__step h3 {
		font-size: 30px;
		margin-bottom: 24px;
	}
}


/* Testimonial CTA Section
--------------------------------------------- */

.testimonial-cta {
	padding: 70px 0;
}

@media (min-width: 992px) {
	.testimonial-cta {
		padding: 145px 0;
	}
}


/* Benefits Section
--------------------------------------------- */

.benefits {
	padding: 70px 0;
}

@media (min-width: 992px) {
	.benefits {
		padding: 180px 0;
	}
}

.benefits h2 {
	margin-bottom: 24px;
}

@media (min-width: 992px) {
	.benefits h2 {
		margin-bottom: 64px;
	}
}

.benefits .col {
	counter-increment: benefits;
}

.benefit {
	background-color: #ffffff;
	border-radius: 12px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 32px;
}

.benefit::before {
	content: counter(benefits, decimal-leading-zero);
	color: #C39A6A;
	font-size: 16px;
	font-weight: 700;
}

.benefit h3 {
	font-family: "europa", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	min-height: 66px;
	margin-top: 32px;
	margin-bottom: 0;
	text-transform: uppercase;
}

.benefit p {
	font-size: 18px;
	line-height: 28px;
}

/* slider variation */
.benefits-slider {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	padding-bottom: 30px;
}

.benefits-slider .benefit {
	box-shadow: none;
}

.benefits-slider .slick-dots {
	bottom: 24px !important;
}

.benefits-slider .slick-dots li {
	margin: 0;
}


/* Media CTA Section
--------------------------------------------- */

.media-cta {
	background: url(../jpg/media-cta-featured.jpg) no-repeat top/cover;
	padding: 100px 0;
}

@media (min-width: 992px) {
	.media-cta {
		background: url(../jpg/media-cta-featured.jpg) no-repeat top/cover fixed;
		padding: 315px 0;
	}
}


/* Trust Section
--------------------------------------------- */

.trust {
	background-color: #fff;
}

.trust__badge img {
	margin: -65px auto 0;
	width: 130px;
}

@media (min-width: 992px) {
	.trust__badge img {
		margin: -115px auto 33px;
		width: 230px;
	}
}

.trust h2 {
	margin-bottom: 32px;
}

@media (min-width: 992px) {
	.trust h2 {
		margin-bottom: 72px;
	}
}

.trust__card {
	margin-bottom: 30px;
}

@media (min-width: 992px) {
	.trust__card {
		margin-bottom: 120px;
	}
}

.trust__card h3 {
	color: #C39A6A;
	font-family: "europa", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 30px;
	margin-bottom: 18px;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	.trust__card h3 {
		margin-bottom: 28px;
	}
}


/* Deal Section
--------------------------------------------- */

.design__media {
	background: url(../jpg/design-featured.jpg) no-repeat top/cover;
	height: 100%;
	position: relative;
	padding: 130px 24px 48px;
}

.design__media::before {
	background: linear-gradient(#54545400, #000000);
	content: "";
	display: block;
	opacity: 0.76;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.design__media h2 {
	font-size: 65px;
	line-height: 55px;
	margin-bottom: 0;
}

@media (min-width: 992px) {
	.design__media h2 {
		font-size: 150px;
		line-height: 120px;
		margin-bottom: 32px;
	}
}

.design__pricing {
	margin-bottom: 50px;
}

.design__price {
	background-color: #EBE8E3;
	border-radius: 100%;
	color: #1C1919;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 34px;
	letter-spacing: 0;
	outline: #1C1919 1px solid;
	outline-offset: -10px;
	width: 114px;
	height: 114px;
}

@media (min-width: 992px) {
	.design__price {
		font-size: 88px;
		width: 274px;
		height: 274px;
	}
}

.design__info {
	background-color: #D5C1A9;
	padding: 70px 40px;
}

@media (min-width: 992px) {
	.design__info {
		padding: 130px 100px;
	}
}

.design__info h3 {
	font-family: "europa", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 28px;
	margin-bottom: 30px;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	.design__info h3 {
		font-size: 22px;
	}
}

.design__info ul {
	list-style: none;
	margin-bottom: 50px;
	padding: 0;
}

.design__info ul li {
	padding-left: 35px;
	position: relative;
}

.design__info ul li + li {
	margin-top: 24px;
}

.design__info ul li::before {
	font-family: "Font Awesome 6 Free";
	content: "\f058";
	position: absolute;
	left: 0;
}


/* Bonus Section
--------------------------------------------- */

.bonus {
	background-color: #EBE8E3;
	padding: 70px 0;
}

@media (min-width: 992px) {
	.bonus {
		padding: 146px 0;
	}
}

.bonus h2 {
	font-size: 40px;
	line-height: 40px;
	margin-bottom: 16px;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	.bonus h2 {
		font-size: 85px;
		line-height: 82px;
		margin-bottom: 24px;
	}
}

.bonus__content figure {
	margin: 0 auto 40px;
	max-width: 80%;
}

.bonus__highlight {
	margin: 45px 0;
}

@media (min-width: 992px) {
	.bonus__highlight {
		margin: 70px 0;
	}
}

.bonus__highlight a {
	background-color: #1C1919;
	border-radius: 4px;
	color: #ffffff;
	display: inline-block;
	font-size: 25px;
	letter-spacing: 0;
	line-height: 22px;
	padding: 12px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	.bonus__highlight a {
		font-size: 46px;
		line-height: 40px;
		padding: 17px 15px;
	}
}

.bonus__highlight a span {
	color: #CCB08F;
}


/* Testimonials Section
--------------------------------------------- */

.testimonials {
	background-color: #ffffff;
	padding: 70px 0;
}

@media (min-width: 992px) {
	.testimonials {
		padding: 115px 0;
	}
}

@media (min-width: 992px) {
	.testimonials h2 {
		font-size: 56px;
		line-height: 1.2;
	}
}

.testimonials h2 em {
	color: #C39A6A;
}


/* Why Section
--------------------------------------------- */

.why {
	padding-top: 70px;
}

.why h2 {
	margin-bottom: 32px;
}

@media (min-width: 992px) {
	.why h2 {
		margin-bottom: 72px;
	}
}

.why__table .row + .row {
	border-top: 1px solid rgb(179 189 200 / 50%);
}

.why__table .row .col-4 {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	text-align: center;
}

@media (min-width: 992px) {
	.why__table .row .col-4 {
		padding: 30px 24px;
	}
}

/* First column */
.why__table .row .col-4:nth-child(1) {
	justify-content: flex-start;
	text-align: left;
}

/* Second column */
.why__table .row .col-4:nth-child(2) {
	background-color: #1c1919;
	color: #CCB08F;
}

/* Third column */
.why__table .row .col-4:nth-child(3) {
	background-color: #ffffff;
}

/* Columns content */

.why__table .row .col-4 span {
	font-size: 16px;
	line-height: 20px;
}

@media (min-width: 992px) {
	.why__table .row .col-4 span {
		font-size: 21px;
		line-height: 36px;
	}
}

.why__table .row .col-4 i {
	font-size: 20px;
}

@media (min-width: 992px) {
	.why__table .row .col-4 i {
		font-size: 28px;
	}
}

/* Row used as heading */

.why__table .row:first-child .col-4 {
	font-size: 12px;
	line-height: 1;
	padding: 24px;
}

@media (min-width: 992px) {
	.why__table .row:first-child .col-4 {
		font-size: 18px;
	}
}


/* Guarantee Section
--------------------------------------------- */

.guarantee {
	background-color: #EBE8E3;
	padding-bottom: 36px;
}

@media (min-width: 992px) {
	.guarantee {
		padding-bottom: 85px;
	}
}

.guarantee__badge img {
	margin: -65px auto 36px;
	width: 130px;
}

@media (min-width: 992px) {
	.guarantee__badge img {
		margin: -115px auto 85px;
		width: 230px;
	}
}

.guarantee h2 {
	margin-bottom: 24px;
}

@media (min-width: 992px) {
	.guarantee h2 {
		font-size: 56px;
		line-height: 72px;
		margin-bottom: 44px;
	}
}


/* FAQ Section
--------------------------------------------- */

.faq {
	padding: 70px 0;
}

@media (min-width: 992px) {
	.faq {
		padding: 115px 0;
	}
}

@media (min-width: 992px) {
	.faq h2 {
		font-size: 56px;
		line-height: 1.2;
	}
}



/* Goal Section
--------------------------------------------- */

.goal__media {
	background: url(../jpg/goal-featured.jpg) no-repeat top/cover;
	height: 100%;
	position: relative;
	padding: 220px 24px;
}

.goal__content {
	background-color: #ffffff;
	padding: 50px 24px;
}

@media (min-width: 992px) {
	.goal__content {
		padding: 130px 90px;
	}
}

.goal__content h2 {
	font-size: 40px;
	line-height: 40px;
	margin-bottom: 24px;
}

@media (min-width: 992px) {
	.goal__content h2 {
		font-size: 85px;
		line-height: 82px;
		margin-bottom: 32px;
	}
}

