.sms-home-hero,
.sms-signup-cta {
	box-sizing: border-box;
	font-family: inherit;
}

.sms-home-hero *,
.sms-signup-cta * {
	box-sizing: border-box;
}

.sms-home-hero {
	--sms-hero-image: none;
	--sms-hero-highlight: #ee3f96;
	--sms-hero-eyebrow: #08c9b8;
	--sms-hero-overlay: #080808;
	--sms-hero-opacity: .48;
	--sms-hero-height: 760px;
	--sms-hero-position: center center;
	--sms-hero-mobile-position: 62% center;
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: var(--sms-hero-height);
	align-items: center;
	overflow: hidden;
	background-color: #26221f;
	background-image: var(--sms-hero-image);
	background-position: var(--sms-hero-position);
	background-size: cover;
	color: #fff;
}

.sms-home-hero::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(90deg, var(--sms-hero-overlay) 0%, rgba(8, 8, 8, .62) 48%, rgba(8, 8, 8, .12) 100%);
	content: '';
	opacity: var(--sms-hero-opacity);
}

.sms-home-hero::after {
	position: absolute;
	z-index: -1;
	inset: 30% 0 0;
	background: linear-gradient(0deg, rgba(8, 8, 8, .72), transparent);
	content: '';
}

.sms-home-hero--full-width,
.sms-signup-cta--full-width {
	left: 50%;
	width: 100vw;
	max-width: 100vw;
	margin-left: -50vw;
}

.sms-home-hero__inner {
	width: min(1240px, 100%);
	margin: 0 auto;
	padding: clamp(64px, 8vw, 112px) clamp(24px, 5vw, 70px);
}

.sms-home-hero--custom-desktop-top {
	align-items: flex-start;
	min-height: auto;
}

.sms-home-hero--custom-desktop-top .sms-home-hero__inner {
	padding-top: var(--sms-hero-content-top);
}

.sms-home-hero__content {
	width: min(760px, 100%);
}

.sms-home-hero__eyebrow {
	display: inline-flex;
	min-height: 48px;
	margin-bottom: 32px;
	padding: 10px 24px;
	align-items: center;
	border-radius: 999px;
	background: var(--sms-hero-eyebrow);
	color: #fff;
	font-size: clamp(16px, 1.65vw, 22px);
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.sms-home-hero__title {
	margin: 0;
	color: #fff;
	font-size: clamp(48px, 6.2vw, 82px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.045em;
}

.sms-home-hero__title span,
.sms-home-hero__title strong {
	display: block;
}

.sms-home-hero__title strong {
	margin-top: 10px;
	color: var(--sms-hero-highlight);
	font-weight: inherit;
}

.sms-home-hero__description {
	max-width: 720px;
	margin: 38px 0 0;
	color: rgba(255, 255, 255, .88);
	font-size: clamp(21px, 2.2vw, 30px);
	line-height: 1.55;
}

.sms-home-hero__actions {
	display: grid;
	margin-top: 48px;
	gap: 20px;
}

.sms-home-hero__button,
.sms-signup-cta__button {
	display: flex;
	width: 100%;
	min-height: 82px;
	padding: 18px 28px;
	align-items: center;
	justify-content: center;
	border-radius: 28px;
	font-size: clamp(20px, 2.15vw, 29px);
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform .2s ease, filter .2s ease;
}

.sms-home-hero__button--primary {
	border: 0;
	background: linear-gradient(100deg, #08c9b8, #7137f8);
	color: #fff;
	box-shadow: 0 12px 28px rgba(19, 105, 178, .24);
}

.sms-home-hero__button--secondary {
	border: 2px solid rgba(255, 255, 255, .42);
	background: rgba(26, 24, 23, .5);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
	color: #fff;
	backdrop-filter: blur(6px);
}

a.sms-home-hero__button:hover,
a.sms-home-hero__button:focus-visible,
a.sms-signup-cta__button:hover,
a.sms-signup-cta__button:focus-visible {
	filter: brightness(1.06);
	transform: translateY(-2px);
}

.sms-signup-cta {
	--sms-cta-start: #09cbbb;
	--sms-cta-end: #7137f8;
	--sms-cta-button: #7137f8;
	position: relative;
	padding: clamp(72px, 9vw, 120px) 24px;
	background: linear-gradient(115deg, var(--sms-cta-start), var(--sms-cta-end));
	color: #fff;
}

.sms-signup-cta__inner {
	width: min(980px, 100%);
	margin: 0 auto;
	text-align: center;
}

.sms-signup-cta__heading {
	max-width: 900px;
	margin: 0 auto;
	color: #fff;
	font-size: clamp(39px, 5.6vw, 68px);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -.035em;
}

.sms-signup-cta__button {
	width: min(620px, 100%);
	min-height: 104px;
	margin: clamp(42px, 5.5vw, 62px) auto 0;
	background: #fff;
	box-shadow: 0 16px 34px rgba(52, 42, 120, .15);
	color: var(--sms-cta-button);
	font-size: clamp(23px, 2.8vw, 34px);
}

@media (max-width: 700px) {
	.sms-home-hero {
		min-height: max(720px, var(--sms-hero-height));
		align-items: flex-end;
		background-position: var(--sms-hero-mobile-position);
	}

	.sms-home-hero::before {
		background: rgba(8, 8, 8, .28);
	}

	.sms-home-hero::after {
		inset: 12% 0 0;
		background: linear-gradient(0deg, rgba(8, 8, 8, .9) 0%, rgba(8, 8, 8, .42) 62%, transparent 100%);
	}

	.sms-home-hero__inner {
		padding: 72px 26px 52px;
	}

	.sms-home-hero--custom-desktop-top .sms-home-hero__inner {
		padding-top: 72px;
	}

	.sms-home-hero--custom-desktop-top {
		min-height: max(720px, var(--sms-hero-height));
	}

	.sms-home-hero--custom-mobile-top {
		align-items: flex-start;
		min-height: auto;
	}

	.sms-home-hero--custom-mobile-top .sms-home-hero__inner {
		padding-top: var(--sms-hero-mobile-content-top);
	}

	.sms-home-hero__eyebrow {
		min-height: 40px;
		margin-bottom: 24px;
		padding: 8px 18px;
		font-size: 15px;
	}

	.sms-home-hero__title {
		font-size: clamp(43px, 11.5vw, 64px);
	}

	.sms-home-hero__description {
		margin-top: 28px;
		font-size: 21px;
	}

	.sms-home-hero__actions {
		margin-top: 36px;
		gap: 14px;
	}

	.sms-home-hero__button {
		min-height: 68px;
		border-radius: 23px;
		font-size: 19px;
	}

	.sms-signup-cta {
		padding: 68px 24px;
	}

	.sms-signup-cta__heading {
		font-size: clamp(36px, 10vw, 48px);
	}

	.sms-signup-cta__button {
		min-height: 82px;
		margin-top: 38px;
		border-radius: 25px;
		font-size: 23px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sms-home-hero__button,
	.sms-signup-cta__button {
		transition: none;
	}
}
