@font-face {
	font-family: "BSS Inter";
	src: url("../fonts/Inter-Variable.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--bss-ink: #101517;
	--bss-graphite: #242b2e;
	--bss-steel: #405b6a;
	--bss-steel-deep: #243e4b;
	--bss-brand: #00c4be;
	--bss-brand-dark: #008b87;
	--bss-brand-soft: #d9f6f4;
	--bss-brass: #d1bb8d;
	--bss-brass-dark: #a98d58;
	--bss-brass-soft: #f2ede3;
	--bss-signal: #00c4be;
	--bss-text: #41494c;
	--bss-muted: #70787a;
	--bss-white: #ffffff;
	--bss-paper: #f7f7f4;
	--bss-off-white: #f7f7f4;
	--bss-mist: #e9edec;
	--bss-surface: #e9edec;
	--bss-border: rgba(16, 21, 23, 0.13);
	--bss-border-strong: rgba(16, 21, 23, 0.24);
	--bss-radius-small: 4px;
	--bss-radius-medium: 6px;
	--bss-radius-large: 8px;
	--bss-shadow-small: 0 18px 50px rgba(11, 20, 23, 0.08);
	--bss-shadow-large: 0 28px 70px rgba(11, 20, 23, 0.16);
	--bss-container: 1280px;
	--bss-container-wide: 1480px;
	--bss-section-space: clamp(80px, 9vw, 150px);
	--bss-font: "BSS Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--wdtPrimaryColor: #00c4be;
	--wdtPrimaryColorRgb: 0, 196, 190;
	--wdtSecondaryColor: #101517;
	--wdtSecondaryColorRgb: 16, 21, 23;
	--wdtLinkHoverColor: #008b87;
	--wdtHeadAltColor: #101517;
	--wdtHeadAltColorRgb: 16, 21, 23;
	--wdtAccentTxtColor: #ffffff;
	--wdtAccentTxtColorRgb: 255, 255, 255;
}

html {
	scroll-behavior: smooth;
}

body.bss-premium-home {
	margin: 0;
	background: var(--bss-off-white);
	color: var(--bss-text);
	font-family: var(--bss-font);
	overflow-x: clip;
}

.bss-premium-home *,
.bss-premium-home *::before,
.bss-premium-home *::after {
	box-sizing: border-box;
}

.bss-container {
	width: min(calc(100% - 48px), var(--bss-container));
	margin-inline: auto;
}

.bss-display {
	margin: 0;
	color: var(--bss-white);
	font-size: clamp(3.2rem, 7vw, 6.8rem);
	font-weight: 760;
	line-height: 0.95;
	letter-spacing: 0;
}

.bss-display span {
	color: var(--bss-brand);
}

.bss-h2 {
	margin: 0;
	color: var(--bss-ink);
	font-size: clamp(2.35rem, 4.5vw, 4.5rem);
	font-weight: 720;
	line-height: 1.05;
	letter-spacing: 0;
}

.bss-h3 {
	font-size: clamp(1.5rem, 2vw, 2rem);
}

.bss-lead {
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	line-height: 1.65;
}

.bss-eyebrow {
	margin: 0 0 18px;
	color: var(--bss-brand-dark);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bss-section {
	padding-block: var(--bss-section-space);
}

.bss-section[id] {
	scroll-margin-top: 96px;
}

.bss-section-head {
	max-width: 820px;
	margin-bottom: clamp(34px, 5vw, 70px);
}

.bss-section-head p:not(.bss-eyebrow) {
	max-width: 660px;
	font-size: 1.08rem;
	line-height: 1.8;
}

.bss-section-head--dark .bss-h2,
.bss-section-head--dark p {
	color: var(--bss-white);
}

.bss-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.bss-button {
	position: relative;
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 22px;
	border-radius: var(--bss-radius-small);
	font-weight: 750;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.bss-button::after {
	content: "→";
	transition: transform 180ms ease;
}

.bss-button:hover,
.bss-button:focus-visible {
	transform: none;
	font-style: normal;
	box-shadow: 0 8px 24px rgba(11, 20, 23, 0.12);
}

.bss-button:hover::after,
.bss-button:focus-visible::after {
	transform: translateX(4px);
}

.bss-button--primary {
	background: var(--bss-brand);
	color: var(--bss-ink);
}

.bss-button--primary:visited {
	color: var(--bss-ink);
}

.bss-button--ghost:visited {
	color: var(--bss-white);
}

.bss-button--dark:visited {
	color: var(--bss-white);
}

.bss-button--primary:hover,
.bss-button--primary:focus-visible {
	background: #20d8d1;
	color: var(--bss-ink);
}

.bss-button--ghost {
	border: 1px solid rgba(255, 255, 255, 0.38);
	color: var(--bss-white);
}

.bss-button--ghost:hover,
.bss-button--ghost:focus-visible {
	border-color: var(--bss-brand);
	color: var(--bss-brand);
}

.bss-button--dark {
	background: var(--bss-ink);
	color: var(--bss-white);
}

.bss-button--dark:hover,
.bss-button--dark:focus-visible {
	background: var(--bss-brand);
	color: var(--bss-ink);
	box-shadow: 0 12px 30px rgba(0, 139, 135, 0.22);
}

.bss-premium-home a:focus-visible,
.bss-premium-home button:focus-visible,
.bss-premium-home input:focus-visible,
.bss-premium-home textarea:focus-visible {
	outline: 3px solid var(--bss-signal);
	outline-offset: 4px;
}

.bss-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 10000;
	padding: 10px 14px;
	background: var(--bss-brand);
	color: var(--bss-ink);
	transform: translateY(-140%);
	transition: transform 160ms ease;
}

.bss-skip-link:focus {
	transform: translateY(0);
}

.bss-reveal-ready [data-bss-reveal] {
	opacity: 0;
	transform: translateY(24px);
}

.bss-reveal-ready [data-bss-reveal].is-visible,
[data-bss-reveal] {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity 560ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--bss-reveal-delay, 0ms);
}

.bss-hero__content {
	animation: bss-hero-enter 760ms 100ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes bss-hero-enter {
	from {
		opacity: 0;
		transform: translateY(22px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body.bss-premium-home #back-to-top {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
