/* ==========================================================================
   SSI TERMS & CONDITIONS PAGE
   ========================================================================== */

.ssi-terms-page {
	overflow: hidden;
	background: #ffffff;
	color: #0b1f3a;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.ssi-terms-hero {
	position: relative;
	overflow: hidden;
	padding: 86px 0 88px;

	background:
		radial-gradient(
			circle at 82% 24%,
			rgba(59,130,246,.14),
			transparent 34%
		),
		radial-gradient(
			circle at 10% 82%,
			rgba(220,162,56,.10),
			transparent 27%
		),
		linear-gradient(
			135deg,
			#f3f6fb,
			#eaf0f8 52%,
			#e6edf8
		);
}


.ssi-terms-hero__background {
	position: absolute;
	inset: 0;
	pointer-events: none;
}


.ssi-terms-hero__grid {
	position: absolute;
	inset: 0;

	opacity: .13;

	background-image:
		linear-gradient(
			rgba(15,23,42,.04) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(15,23,42,.04) 1px,
			transparent 1px
		);

	background-size: 48px 48px;
}


.ssi-terms-hero__glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(20px);
}


.ssi-terms-hero__glow--one {
	width: 480px;
	height: 480px;

	right: -180px;
	top: -200px;

	background:
		radial-gradient(
			circle,
			rgba(59,130,246,.16),
			transparent 70%
		);

	animation:
		ssiTermsGlow
		12s
		ease-in-out
		infinite
		alternate;
}


.ssi-terms-hero__glow--two {
	width: 360px;
	height: 360px;

	left: -180px;
	bottom: -220px;

	background:
		radial-gradient(
			circle,
			rgba(220,162,56,.10),
			transparent 70%
		);

	animation:
		ssiTermsGlow
		16s
		ease-in-out
		infinite
		alternate-reverse;
}


.ssi-terms-hero__content {
	position: relative;
	z-index: 2;

	max-width: 960px;
}


.ssi-terms-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	margin-bottom: 18px;

	color: #2457d6;

	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .10em;
	text-transform: uppercase;
}


.ssi-terms-hero__eyebrow span {
	width: 29px;
	height: 2px;
	background: #dca238;
}


.ssi-terms-hero h1 {
	margin: 0;

	font-family: "Manrope", sans-serif;

	font-size: clamp(
		3.4rem,
		6vw,
		6rem
	);

	line-height: .95;

	letter-spacing: -.065em;

	font-weight: 800;
}


.ssi-terms-hero h1 span {
	display: block;

	background:
		linear-gradient(
			135deg,
			#2457d6,
			#a38d7d,
			#dca238
		);

	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}


.ssi-terms-hero__content > p {
	max-width: 820px;

	margin: 25px 0 28px;

	color: #687b91;

	font-size: .80rem;

	line-height: 1.85;
}


.ssi-terms-hero__meta {
	display: flex;
	flex-wrap: wrap;

	gap: 12px;
}


.ssi-terms-hero__meta > div {
	min-width: 160px;

	padding: 14px 16px;

	border: 1px solid #d8e2ef;
	border-radius: 14px;

	background:
		rgba(
			255,
			255,
			255,
			.62
		);

	backdrop-filter: blur(10px);

	box-shadow:
		0
		10px
		25px
		rgba(
			15,
			23,
			42,
			.04
		);
}


.ssi-terms-hero__meta span {
	display: block;

	margin-bottom: 5px;

	color: #8a98aa;

	font-size: .46rem;

	font-weight: 700;

	text-transform: uppercase;
}


.ssi-terms-hero__meta strong {
	color: #0b1f3a;

	font-size: .58rem;

	font-weight: 800;
}


/* ==========================================================================
   OVERVIEW
   ========================================================================== */

.ssi-terms-overview {
	padding: 90px 0 95px;

	background:
		linear-gradient(
			180deg,
			#ffffff,
			#f7f9fc
		);
}


.ssi-terms-section-heading {
	margin-bottom: 35px;
}


.ssi-terms-section-heading > span {
	color: #2457d6;

	font-size: .60rem;

	font-weight: 800;

	letter-spacing: .09em;

	text-transform: uppercase;
}


.ssi-terms-section-heading h2 {
	margin: 9px 0 0;

	font-family: "Manrope", sans-serif;

	font-size: clamp(
		2.2rem,
		3.8vw,
		3.7rem
	);

	line-height: 1;

	letter-spacing: -.055em;
}


.ssi-terms-section-heading h2 strong {
	background:
		linear-gradient(
			135deg,
			#2457d6,
			#a38d7d,
			#dca238
		);

	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}


.ssi-terms-overview__grid {
	display: grid;

	grid-template-columns:
		repeat(
			4,
			minmax(
				0,
				1fr
			)
		);

	gap: 14px;
}


.ssi-terms-overview-card {
	position: relative;

	min-height: 230px;

	padding: 23px;

	border-radius: 21px;

	border: 1px solid transparent;

	overflow: hidden;

	transition:
		transform 300ms ease,
		box-shadow 300ms ease;
}


.ssi-terms-overview-card:hover {
	transform:
		translateY(-7px)
		scale(1.01);

	box-shadow:
		0
		20px
		42px
		rgba(
			15,
			23,
			42,
			.08
		);
}


.ssi-terms-overview-card--blue {
	background:
		linear-gradient(
			145deg,
			#edf4ff,
			#dce9ff
		);

	border-color: #d4e2f8;
}


.ssi-terms-overview-card--purple {
	background:
		linear-gradient(
			145deg,
			#f2efff,
			#e6e0ff
		);

	border-color: #ded8f8;
}


.ssi-terms-overview-card--gold {
	background:
		linear-gradient(
			145deg,
			#fff7e5,
			#ffebbf
		);

	border-color: #f0dfb8;
}


.ssi-terms-overview-card--teal {
	background:
		linear-gradient(
			145deg,
			#edf9f7,
			#d9efec
		);

	border-color: #cbe5e1;
}


.ssi-terms-overview-card > span {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 37px;
	height: 37px;

	border-radius: 11px;

	background:
		rgba(
			255,
			255,
			255,
			.74
		);

	color: #2457d6;

	font-size: .54rem;
	font-weight: 800;
}


.ssi-terms-overview-card h3 {
	margin: 35px 0 9px;

	font-family: "Manrope", sans-serif;

	font-size: .90rem;

	font-weight: 800;
}


.ssi-terms-overview-card p {
	margin: 0;

	color: #6d8096;

	font-size: .61rem;

	line-height: 1.8;
}


/* ==========================================================================
   DOCUMENT
   ========================================================================== */

.ssi-terms-content {
	padding: 95px 0 110px;

	background:
		linear-gradient(
			180deg,
			#f7f9fc,
			#eef3f9
		);
}


.ssi-terms-content__layout {
	display: grid;

	grid-template-columns:
		250px
		minmax(
			0,
			1fr
		);

	gap: 60px;

	align-items: start;
}


/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.ssi-terms-sidebar {
	position: sticky;
	top: 100px;
}


.ssi-terms-sidebar__card {
	padding: 20px;

	border:
		1px solid
		#d8e2ef;

	border-radius: 18px;

	background: #ffffff;

	box-shadow:
		0
		12px
		30px
		rgba(
			15,
			23,
			42,
			.05
		);
}


.ssi-terms-sidebar__card > span {
	display: block;

	margin-bottom: 12px;

	color: #2457d6;

	font-size: .50rem;

	font-weight: 800;

	letter-spacing: .08em;
}


.ssi-terms-sidebar__card a {
	display: block;

	padding: 9px 8px;

	border-radius: 9px;

	color: #64788f;

	font-size: .53rem;

	font-weight: 700;

	transition:
		background 200ms ease,
		color 200ms ease,
		transform 200ms ease;
}


.ssi-terms-sidebar__card a:hover {
	background:
		#eef4ff;

	color:
		#2457d6;

	transform:
		translateX(3px);
}


/* ==========================================================================
   DOCUMENT SECTIONS
   ========================================================================== */

.ssi-terms-document {
	min-width: 0;
}


.ssi-terms-document__section {
	padding:
		32px;

	margin-bottom:
		13px;

	border:
		1px solid
		#dbe4ef;

	border-radius:
		21px;

	background:
		rgba(
			255,
			255,
			255,
			.88
		);

	box-shadow:
		0
		10px
		28px
		rgba(
			15,
			23,
			42,
			.035
		);
}


.ssi-terms-document__section > span {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 37px;
	height: 37px;

	margin-bottom:
		22px;

	border-radius:
		11px;

	background:
		#edf3ff;

	color:
		#2457d6;

	font-size:
		.53rem;

	font-weight:
		800;
}


.ssi-terms-document__section h2 {
	margin:
		0
		0
		14px;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		1.08rem;

	line-height:
		1.2;

	letter-spacing:
		-.03em;
}


.ssi-terms-document__section p,
.ssi-terms-document__section li {
	color:
		#687b91;

	font-size:
		.66rem;

	line-height:
		1.9;
}


.ssi-terms-document__section p {
	margin:
		0
		0
		13px;
}


.ssi-terms-document__section p:last-child {
	margin-bottom:
		0;
}


.ssi-terms-document__section ul {
	margin:
		16px
		0
		0;

	padding-left:
		18px;
}


.ssi-terms-document__section li + li {
	margin-top:
		8px;
}


/* ==========================================================================
   CONTACT BOX
   ========================================================================== */

.ssi-terms-contact-box {
	display:
		grid;

	grid-template-columns:
		repeat(
			2,
			minmax(
				0,
				1fr
			)
		);

	gap:
		10px;

	margin-top:
		20px;
}


.ssi-terms-contact-box a {
	display:
		flex;

	flex-direction:
		column;

	gap:
		5px;

	padding:
		15px;

	border:
		1px solid
		#dbe4ef;

	border-radius:
		13px;

	background:
		#f7faff;

	transition:
		transform 220ms ease,
		border-color 220ms ease,
		box-shadow 220ms ease;
}


.ssi-terms-contact-box a:hover {
	transform:
		translateY(-3px);

	border-color:
		#b8ccea;

	box-shadow:
		0
		10px
		25px
		rgba(
			15,
			23,
			42,
			.05
		);
}


.ssi-terms-contact-box strong {
	color:
		#0b1f3a;

	font-size:
		.60rem;

	font-weight:
		800;
}


.ssi-terms-contact-box span {
	color:
		#8290a2;

	font-size:
		.46rem;
}


/* ==========================================================================
   CTA
   ========================================================================== */

.ssi-terms-cta {
	position:
		relative;

	overflow:
		hidden;

	padding:
		95px
		0
		100px;

	background:
		radial-gradient(
			circle at 76% 25%,
			rgba(
				59,
				130,
				246,
				.17
			),
			transparent 35%
		),
		linear-gradient(
			145deg,
			#06182e,
			#12385f
		);

	color:
		#ffffff;

	text-align:
		center;
}


.ssi-terms-cta__glow {
	position:
		absolute;

	width:
		520px;

	height:
		520px;

	left:
		-230px;

	bottom:
		-300px;

	border-radius:
		50%;

	background:
		radial-gradient(
			circle,
			rgba(
				220,
				162,
				56,
				.10
			),
			transparent 70%
		);

	filter:
		blur(
			20px
		);
}


.ssi-terms-cta__content {
	position:
		relative;

	z-index:
		2;

	max-width:
		800px;

	margin:
		0
		auto;
}


.ssi-terms-cta__content > span {
	color:
		#f4c766;

	font-size:
		.59rem;

	font-weight:
		800;

	letter-spacing:
		.09em;
}


.ssi-terms-cta__content h2 {
	margin:
		14px
		0
		16px;

	color:
		#ffffff;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		clamp(
			2.6rem,
			4.8vw,
			4.5rem
		);

	line-height:
		1;

	letter-spacing:
		-.055em;
}


.ssi-terms-cta__content h2 strong {
	color:
		#f4c766;
}


.ssi-terms-cta__content p {
	max-width:
		620px;

	margin:
		0
		auto
		28px;

	color:
		rgba(
			255,
			255,
			255,
			.62
		);

	font-size:
		.74rem;

	line-height:
		1.8;
}


.ssi-terms-cta__actions {
	display:
		flex;

	justify-content:
		center;

	align-items:
		center;

	flex-wrap:
		wrap;

	gap:
		12px;
}


.ssi-terms-cta__primary,
.ssi-terms-cta__secondary {
	min-height:
		50px;

	display:
		inline-flex;

	align-items:
		center;

	justify-content:
		center;

	gap:
		8px;

	padding:
		0
		22px;

	border-radius:
		999px;

	font-size:
		.64rem;

	font-weight:
		800;

	transition:
		transform 230ms ease;
}


.ssi-terms-cta__primary {
	background:
		#efb63b;

	color:
		#0b1f3a;

	box-shadow:
		0
		12px
		30px
		rgba(
			220,
			162,
			56,
			.18
		);
}


.ssi-terms-cta__secondary {
	border:
		1px solid
		rgba(
			255,
			255,
			255,
			.18
		);

	background:
		rgba(
			255,
			255,
			255,
			.06
		);

	color:
		#ffffff;
}


.ssi-terms-cta__primary:hover,
.ssi-terms-cta__secondary:hover {
	transform:
		translateY(-4px);
}


/* ==========================================================================
   ANIMATION
   ========================================================================== */

@keyframes ssiTermsGlow {

	from {
		transform:
			translate(
				-1%,
				-1%
			)
			scale(1);
	}

	to {
		transform:
			translate(
				2%,
				2%
			)
			scale(
				1.06
			);
	}
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1000px) {

	.ssi-terms-overview__grid {
		grid-template-columns:
			repeat(
				2,
				minmax(
					0,
					1fr
				)
			);
	}

	.ssi-terms-content__layout {
		grid-template-columns:
			1fr;

		gap:
			25px;
	}

	.ssi-terms-sidebar {
		position:
			static;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 600px) {

	.ssi-terms-hero {
		padding:
			68px
			0
			72px;
	}

	.ssi-terms-hero h1 {
		font-size:
			3rem;
	}

	.ssi-terms-hero__meta > div {
		width:
			100%;
	}

	.ssi-terms-overview {
		padding:
			75px
			0
			80px;
	}

	.ssi-terms-overview__grid {
		grid-template-columns:
			1fr;
	}

	.ssi-terms-content {
		padding:
			70px
			0
			80px;
	}

	.ssi-terms-document__section {
		padding:
			23px;
	}

	.ssi-terms-contact-box {
		grid-template-columns:
			1fr;
	}

	.ssi-terms-cta {
		padding:
			78px
			0
			82px;
	}

	.ssi-terms-cta__content h2 {
		font-size:
			2.7rem;
	}

	.ssi-terms-cta__primary,
	.ssi-terms-cta__secondary {
		width:
			100%;

		max-width:
			270px;
	}

}