@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/manrope-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Space Grotesk";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/space-grotesk-latin.woff2") format("woff2");
}

body.spo-homepage {
	--spo-ink: #f5f8ff;
	--spo-muted: #bec8dd;
	--spo-cyan: #0dade7;
	margin: 0;
	background: #070d20;
	color: var(--spo-ink);
	font-family: "Manrope", Arial, sans-serif;
}

.spo-homepage .site-content {
	padding: 0;
}

.spo-homepage .spo-home-shell {
	width: 100%;
	max-width: none;
	padding: 0;
}

.spo-homepage .spo-home-main {
	width: 100% !important;
	max-width: none;
	margin-inline: 0 !important;
}

.spo-homepage .site-footer {
	position: relative;
	z-index: 5;
}

.spo-site-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
	width: 100%;
	color: var(--spo-ink);
	font-family: "Manrope", Arial, sans-serif;
}

#campaign-bar + .spo-site-header {
	top: auto;
}

.spo-site-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	width: min(100% - 64px, 1480px);
	height: 88px;
	margin-inline: auto;
	border-bottom: 1px solid rgb(255 255 255 / 10%);
	animation: spo-header-reveal 650ms 520ms both cubic-bezier(0.22, 1, 0.36, 1);
}

.spo-site-header__nav {
	justify-self: start;
	min-width: 0;
}

.spo-site-header__menu {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2.1vw, 38px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.spo-site-header__menu a {
	position: relative;
	display: block;
	padding-block: 12px;
	color: #f8fbff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.spo-site-header__menu a::after {
	position: absolute;
	right: 100%;
	bottom: 4px;
	left: 0;
	height: 1px;
	background: var(--spo-cyan);
	content: "";
	transition: right 180ms ease;
}

.spo-site-header__menu a:hover::after,
.spo-site-header__menu a:focus-visible::after,
.spo-site-header__menu .current-menu-item > a::after {
	right: 0;
}

.spo-site-header__logo {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 154px;
	transform: translate(-50%, -50%);
}

.spo-site-header__logo img {
	display: block;
	width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
}

.spo-site-header__actions {
	display: flex;
	grid-column: 3;
	justify-self: end;
	align-items: center;
	gap: 17px;
}

.spo-site-header__mobile-menu .header-hamburger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #f8fbff;
}

.spo-site-header__mobile-menu svg {
	color: currentColor;
}

.spo-site-header__theme-action,
.spo-site-header__theme-action a,
.spo-site-header__theme-action .gz-button {
	color: inherit;
}

.spo-site-header .header-cart__counter.empty-counter {
	display: none;
}

.spo-site-header__mobile-menu {
	display: none;
}

.spo-homepage .hamburger-panel .panel__header {
	background: #070d20 !important;
	color: #f8fbff;
}

.spo-homepage .hamburger-panel .panel__menu-items a,
.spo-homepage .hamburger-panel .panel__button-close {
	color: #f8fbff;
}

.spo-homepage .hamburger-panel .panel__content {
	font-family: "Manrope", Arial, sans-serif;
}

.spo-hero {
	position: relative;
	isolation: isolate;
	min-height: max(840px, 100svh);
	overflow: clip;
	background:
		radial-gradient(ellipse 52% 46% at 0% 100%, rgb(243 247 255 / 88%) 0%, color-mix(in srgb, var(--spo-hero-glow) 52%, #b8cce9) 25%, color-mix(in srgb, var(--spo-hero-glow) 20%, transparent) 48%, transparent 68%),
		linear-gradient(135deg, color-mix(in srgb, var(--spo-hero-background) 90%, #17233e) 0%, var(--spo-hero-background) 58%, #020713 100%);
	color: var(--spo-ink);
	font-family: "Manrope", Arial, sans-serif;
}

.spo-hero__inner {
	position: relative;
	width: min(100% - 64px, 1480px);
	min-height: max(840px, 100svh);
	margin-inline: auto;
}

.spo-hero__eyebrow {
	position: absolute;
	top: 226px;
	left: 1.8%;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid rgb(182 205 241 / 25%);
	border-radius: 999px;
	background: rgb(5 13 32 / 45%);
	color: #d6dfef;
	font-size: 9px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.08em;
	animation: spo-detail-reveal 620ms 1.05s both cubic-bezier(0.22, 1, 0.36, 1);
}

.spo-hero__eyebrow svg,
.spo-hero__research-note svg {
	width: 11px;
	height: 11px;
	color: var(--spo-cyan);
}

.spo-hero__title {
	position: absolute;
	top: clamp(145px, 17vh, 190px);
	right: 0;
	z-index: 1;
	width: 74%;
	margin: 0;
	color: #eef3ff;
	font-family: "Space Grotesk", Arial, sans-serif;
	font-size: clamp(62px, 6.65vw, 104px);
	font-weight: 400;
	line-height: 0.88;
	letter-spacing: -0.055em;
	text-align: right;
	text-transform: uppercase;
	text-wrap: balance;
	animation: spo-title-reveal 900ms 180ms both cubic-bezier(0.16, 1, 0.3, 1);
}

.spo-hero__intro {
	position: absolute;
	top: clamp(340px, 40vh, 420px);
	left: 23.5%;
	z-index: 6;
	width: min(270px, 22vw);
	text-align: right;
	animation: spo-detail-reveal 700ms 700ms both cubic-bezier(0.22, 1, 0.36, 1);
}

.spo-hero__intro p {
	margin: 0 0 20px;
	color: var(--spo-muted);
	font-size: clamp(12px, 0.9vw, 14px);
	line-height: 1.55;
}

.spo-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 48px;
	padding: 0 18px;
	background: #f8fbff;
	color: #061026;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.spo-hero__cta:hover,
.spo-hero__cta:focus-visible {
	background: var(--spo-cyan);
	color: #031124;
	transform: translateY(-2px);
}

.spo-hero__cta-arrow {
	display: inline-flex;
}

.spo-hero__cta-arrow svg {
	width: 7px;
	height: 11px;
}

.spo-hero__quality-badge {
	position: absolute;
	top: clamp(274px, 31vh, 304px);
	left: 1.8%;
	z-index: 7;
	display: block;
	width: clamp(158px, 13vw, 210px);
	height: auto;
	filter: drop-shadow(0 18px 34px rgb(0 0 0 / 24%));
	animation: spo-card-reveal 760ms 980ms both cubic-bezier(0.22, 1, 0.36, 1);
}

.spo-hero__certificate {
	position: absolute;
	bottom: clamp(48px, 6vh, 72px);
	left: 1.8%;
	z-index: 7;
	display: none;
	width: clamp(170px, 14.5vw, 232px);
	padding: 0;
	aspect-ratio: 1007 / 1383;
	overflow: visible;
	border: 1px solid rgb(231 240 255 / 64%);
	border-radius: 16px;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: var(--spo-certificate-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	filter: drop-shadow(0 24px 44px rgb(0 0 0 / 32%));
	cursor: zoom-in;
	animation: spo-card-reveal 780ms 1.08s both cubic-bezier(0.22, 1, 0.36, 1);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.spo-hero__certificate:hover,
.spo-hero__certificate:focus-visible {
	border-color: var(--spo-cyan);
	box-shadow: 0 0 0 4px rgb(27 167 235 / 16%);
	transform: translateY(-3px);
}

.spo-hero__certificate:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

.spo-hero__certificate-action {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	border: 1px solid rgb(255 255 255 / 24%);
	border-radius: 999px;
	background: rgb(4 12 30 / 94%);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.spo-coa-modal {
	inset: 0;
	width: min(92vw, 620px);
	max-width: 620px;
	max-height: 92vh;
	margin: auto;
	padding: 0;
	overflow: visible;
	border: 0;
	background: transparent;
	color: #eef3ff;
}

.spo-coa-modal:popover-open {
	display: block;
}

.spo-coa-modal[data-open="true"] {
	position: fixed;
	z-index: 99999;
	display: block;
	box-shadow: 0 0 0 100vmax rgb(1 5 15 / 84%);
}

.spo-coa-modal::backdrop {
	background: rgb(1 5 15 / 84%);
	backdrop-filter: blur(10px);
}

.spo-coa-modal__shell {
	padding: 18px;
	border: 1px solid rgb(169 198 243 / 24%);
	border-radius: 24px;
	background: #060d20;
	box-shadow: 0 28px 90px rgb(0 0 0 / 56%);
}

.spo-coa-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 2px 2px 16px;
}

.spo-coa-modal__header p {
	margin: 0 0 4px;
	color: #70c9f3;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.spo-coa-modal__header h2 {
	margin: 0;
	color: #fff;
	font-family: "Space Grotesk", Arial, sans-serif;
	font-size: clamp(24px, 2.2vw, 34px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.035em;
}

.spo-coa-modal__close {
	min-width: 78px;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 999px;
	background: rgb(255 255 255 / 7%);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}

.spo-coa-modal__close:hover,
.spo-coa-modal__close:focus-visible {
	border-color: var(--spo-cyan);
	background: rgb(27 167 235 / 16%);
}

.spo-coa-modal__close:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.spo-coa-modal__figure {
	margin: 0;
	overflow: hidden;
	border-radius: 16px;
	background: #eef3fa;
}

.spo-coa-modal__image {
	display: block;
	width: auto;
	max-width: 100%;
	height: min(calc(92vh - 128px), 607px);
	aspect-ratio: 1007 / 1383;
	margin-inline: auto;
	background-color: #eef3fa;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.spo-coa-modal__figure figcaption {
	padding: 11px 16px 12px;
	background: #fff;
	color: #26324a;
	font-size: 11px;
	line-height: 1.4;
	text-align: center;
}

html.spo-coa-open {
	overflow: hidden;
}

@media (min-width: 769px) {
	.spo-hero__certificate {
		display: block;
	}

	.spo-coa-modal__image {
		background-image: var(--spo-coa-image);
	}
}

.spo-hero__art {
	--spo-art-translate-x: 0%;
	position: absolute;
	right: calc((100vw - 100%) / -2);
	bottom: -1px;
	left: auto;
	z-index: 4;
	display: block;
	width: 100vw;
	pointer-events: none;
	transform: translateX(var(--spo-art-translate-x));
	transform-origin: 58% 100%;
	animation: spo-art-reveal 1100ms 120ms both cubic-bezier(0.16, 1, 0.3, 1);
}

.spo-hero__art img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 35px 45px rgb(0 0 0 / 30%));
}

.spo-hero__research-note {
	position: absolute;
	right: 2%;
	bottom: 24px;
	z-index: 7;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: #aab5ca;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	animation: spo-detail-reveal 620ms 1.18s both cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes spo-header-reveal {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes spo-title-reveal {
	from {
		opacity: 0;
		transform: translateY(22px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes spo-art-reveal {
	from {
		opacity: 0;
		transform: translateX(var(--spo-art-translate-x)) translateY(42px) scale(1.018);
	}

	to {
		opacity: 1;
		transform: translateX(var(--spo-art-translate-x)) translateY(0) scale(1);
	}
}

@keyframes spo-detail-reveal {
	from {
		opacity: 0;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes spo-card-reveal {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.985);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (min-width: 1600px) {
	.spo-hero,
	.spo-hero__inner {
		height: min(100svh, 1020px);
		min-height: 880px;
	}

	.spo-hero__inner {
		width: min(100% - 96px, 1680px);
	}

	.spo-hero__title {
		top: 174px;
		right: auto;
		left: 26%;
		width: min(55%, 980px);
		font-size: clamp(70px, 3vw, 82px);
		text-align: left;
	}

	.spo-hero__eyebrow {
		top: 130px;
		left: 3.5%;
	}

	.spo-hero__intro {
		top: 370px;
		left: 26%;
		width: 290px;
		text-align: left;
	}

	.spo-hero__art {
		right: calc((100vw - 100%) / -2);
		left: auto;
		width: clamp(1800px, 82vw, 2300px);
	}

	.spo-hero__quality-badge,
	.spo-hero__certificate {
		left: 3.5%;
	}

	.spo-hero__quality-badge {
		top: 205px;
		width: 210px;
	}

	.spo-hero__certificate {
		bottom: 64px;
		width: 232px;
	}
}

@media (min-width: 769px) and (max-width: 1599px) {
	.spo-hero,
	.spo-hero__inner {
		height: clamp(840px, 62vw, 920px);
		min-height: 0;
	}
}

@media (max-width: 1100px) {
	.spo-site-header__inner,
	.spo-hero__inner {
		width: min(100% - 40px, 1480px);
	}

	.spo-site-header__menu {
		gap: 16px;
	}

	.spo-site-header__menu a {
		font-size: 10px;
	}

	.spo-hero__title {
		width: 78%;
	}

	.spo-hero__intro {
		left: 18%;
	}

	.spo-hero__art {
		right: calc((100vw - 100%) / -2);
		left: auto;
		width: max(100vw, 1180px);
	}
}

@media (max-width: 768px) {
	.spo-coa-modal {
		display: none !important;
	}

	.spo-site-header__inner {
		grid-template-columns: 1fr auto 1fr;
		width: calc(100% - 32px);
		height: 72px;
	}

	.spo-site-header__mobile-menu {
		display: block;
		justify-self: start;
	}

	.spo-site-header__nav,
	.spo-site-header__theme-action--search,
	.spo-site-header__theme-action--account {
		display: none;
	}

	.spo-site-header__logo {
		width: 126px;
	}

	.spo-site-header__actions {
		grid-column: 3;
		justify-self: end;
	}

	.spo-hero,
	.spo-hero__inner {
		height: 700px;
		min-height: 700px;
	}

	.spo-hero__inner {
		width: calc(100% - 32px);
	}

	.spo-hero__eyebrow {
		top: 96px;
		left: 0;
	}

	.spo-hero__title {
		top: 147px;
		left: 0;
		width: 100%;
		font-size: clamp(30px, 8.8vw, 36px);
		line-height: 0.96;
		letter-spacing: -0.045em;
		text-align: left;
		white-space: nowrap;
	}

	.spo-hero__intro {
		top: auto;
		bottom: 100px;
		left: 0;
		z-index: 8;
		width: auto;
		text-align: left;
	}

	.spo-hero__intro p {
		display: none;
	}

	.spo-hero__cta {
		min-height: 46px;
		min-width: 168px;
	}

	.spo-hero__quality-badge {
		top: 310px;
		right: -2px;
		bottom: auto;
		left: auto;
		width: 110px;
		filter: drop-shadow(0 14px 28px rgb(0 0 0 / 22%));
	}

	.spo-hero__art {
		--spo-art-translate-x: 0%;
		right: auto;
		bottom: -1px;
		left: calc((100vw - 100%) / -2 - 20px);
		width: 110vw;
	}

	.spo-hero__research-note {
		right: 0;
		bottom: 16px;
		font-size: 8px;
	}
}

@media (max-width: 390px) and (max-height: 760px) {
	.spo-hero__title {
		top: 135px;
		font-size: 30px;
	}

	.spo-hero__intro {
		top: auto;
		bottom: 96px;
	}

	.spo-hero__quality-badge {
		top: 305px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.spo-site-header__inner,
	.spo-hero__eyebrow,
	.spo-hero__title,
	.spo-hero__intro,
	.spo-hero__quality-badge,
	.spo-hero__certificate,
	.spo-hero__art,
	.spo-hero__research-note,
	.spo-site-header__menu a::after,
	.spo-hero__cta {
		animation: none;
		transition: none;
	}

	.spo-hero__certificate {
		transition: none;
	}
}

/* End homepage component styles. */

.spo-benefits {
	position: relative;
	z-index: 3;
	overflow: hidden;
	padding: 88px 32px 78px;
	background: #fff;
	color: #071127;
	font-family: "Manrope", Arial, sans-serif;
}

.spo-benefits__heading {
	margin: 0 auto 50px;
	text-align: center;
}

.spo-benefits__heading > p {
	margin: 0 0 8px;
	color: #3479d9;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.25em;
}

.spo-benefits__heading h2 {
	margin: 0;
	color: #05070d;
	font-family: "Space Grotesk", Arial, sans-serif;
	font-size: clamp(38px, 3.4vw, 52px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.045em;
}

.spo-benefits__viewport {
	width: min(100%, 1500px);
	margin-inline: auto;
}

.spo-benefits__marquee {
	width: 100%;
}

.spo-benefits__list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(24px, 3.2vw, 60px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.spo-benefits__list[aria-hidden="true"] {
	display: none;
}

.spo-benefits__item {
	min-width: 0;
	text-align: center;
}

.spo-benefits__icon {
	display: grid;
	place-items: center;
	width: 76px;
	height: 76px;
	margin: 0 auto 20px;
	border-radius: 24px;
	background: #0b1935;
	color: #fff;
}

/* Homepage catalogue shell; card markup and behavior stay native to Glozin. */
.spo-products {
	padding: 104px 32px 112px;
	background: #f3f6fb;
	color: #071127;
	font-family: "Manrope", Arial, sans-serif;
}

.spo-products__inner {
	width: min(100%, 1500px);
	margin-inline: auto;
}

.spo-products__header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 48px;
	margin-bottom: 52px;
}

.spo-products__heading {
	max-width: 680px;
}

.spo-products__eyebrow {
	margin: 0 0 12px;
	color: #3479d9;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.24em;
}

.spo-products__heading h2 {
	margin: 0;
	color: #05070d;
	font-family: "Space Grotesk", Arial, sans-serif;
	font-size: clamp(42px, 4.5vw, 68px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.055em;
}

.spo-products__copy {
	max-width: 560px;
	margin: 20px 0 0;
	color: #626b7b;
	font-size: 15px;
	line-height: 1.65;
}

.spo-products__catalogue-link {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 18px;
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid #9ca9bb;
	color: #071127;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.spo-products__catalogue-link:hover,
.spo-products__catalogue-link:focus-visible {
	border-color: #0b1935;
	background: #0b1935;
	color: #fff;
}

.spo-products__catalogue-link svg {
	width: 7px;
	height: 12px;
}

.spo-products__loop .products {
	margin-top: 0;
	margin-bottom: 0;
}

.spo-precision {
	overflow: hidden;
	padding: clamp(80px, 7vw, 122px) 32px;
	background: var(--spo-precision-background, #060d20);
	color: #f5f8ff;
	font-family: "Manrope", Arial, sans-serif;
}

.spo-precision__inner {
	display: grid;
	grid-template-columns: minmax(390px, 0.9fr) minmax(540px, 1.1fr);
	align-items: center;
	gap: clamp(54px, 6vw, 106px);
	width: min(100%, 1560px);
	margin-inline: auto;
}

.spo-precision__content {
	min-width: 0;
}

.spo-precision__badge {
	display: block;
	width: clamp(165px, 14vw, 205px);
	height: auto;
	margin: 0 0 34px;
	filter: drop-shadow(0 16px 28px rgb(0 0 0 / 22%));
}

.spo-precision__content h2 {
	max-width: 680px;
	margin: 0;
	color: #f3f6ff;
	font-family: "Space Grotesk", Arial, sans-serif;
	font-size: clamp(52px, 4.5vw, 80px);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.055em;
	text-transform: uppercase;
}

.spo-precision__copy {
	max-width: 520px;
	margin: 32px 0 0 3px;
	color: #b9c4d8;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: 0.01em;
}

.spo-precision__points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0;
	margin: 42px 0 0;
	border-top: 1px solid rgb(190 204 229 / 18%);
	border-bottom: 1px solid rgb(190 204 229 / 18%);
	list-style: none;
}

.spo-precision__points li {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 76px;
	padding: 14px 12px;
	border-left: 1px solid rgb(190 204 229 / 18%);
	color: #edf3ff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.spo-precision__points li:first-child {
	padding-left: 0;
	border-left: 0;
}

.spo-precision__point-icon {
	display: inline-flex;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgb(72 151 255 / 38%);
	border-radius: 50%;
	background: rgb(16 48 91 / 72%);
	color: #fff;
}

.spo-precision__point-icon i {
	font-size: 19px;
}

.spo-precision__point-icon img {
	display: block;
	width: 19px;
	height: 19px;
}

.spo-precision__media {
	overflow: hidden;
	border: 1px solid rgb(191 211 242 / 16%);
	border-radius: 30px;
	background: #0c1730;
	box-shadow: 0 34px 80px rgb(0 0 0 / 30%);
	line-height: 0;
}

.spo-precision__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: inherit;
}

.spo-home-faq {
	padding: clamp(82px, 7vw, 122px) 32px;
	background: #f5f7fb;
	color: #111a30;
	font-family: "Manrope", Arial, sans-serif;
}

.spo-home-faq__inner {
	display: grid;
	grid-template-columns: minmax(330px, 0.42fr) minmax(0, 0.58fr);
	align-items: start;
	gap: clamp(56px, 7vw, 118px);
	width: min(100%, 1460px);
	margin-inline: auto;
}

.spo-home-faq__intro {
	position: sticky;
	top: 118px;
}

.spo-home-faq__eyebrow {
	margin: 0 0 22px;
	color: #147ed1;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.spo-home-faq__intro h2 {
	max-width: 590px;
	margin: 0;
	color: #111a30;
	font-family: "Space Grotesk", Arial, sans-serif;
	font-size: clamp(50px, 4.7vw, 78px);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.055em;
	text-transform: uppercase;
}

.spo-home-faq__copy {
	max-width: 490px;
	margin: 30px 0 0;
	color: #536075;
	font-size: 15px;
	line-height: 1.72;
}

.spo-home-faq__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 22px;
	margin-top: 34px;
	border: 1px solid #0f1d38;
	color: #0f1d38;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	transition: background-color 180ms ease, color 180ms ease;
}

.spo-home-faq__link:hover,
.spo-home-faq__link:focus-visible {
	background: #0f1d38;
	color: #fff;
}

.spo-home-faq__items details {
	margin: 0 0 12px;
	border: 1px solid #d8e0ec;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 8px 26px rgb(15 33 65 / 5%);
	overflow: hidden;
}

.spo-home-faq__items details[open] {
	border-color: #b9cde7;
	box-shadow: 0 16px 38px rgb(15 39 76 / 9%);
}

.spo-home-faq__items summary {
	padding: 23px 26px;
	cursor: pointer;
	color: #111a30;
	font-size: clamp(15px, 1.2vw, 18px);
	font-weight: 750;
	line-height: 1.4;
}

.spo-home-faq__items summary::marker {
	color: #147ed1;
}

.spo-home-faq__items details[open] summary {
	color: #0d62a9;
}

.spo-home-faq__items details > :not(summary) {
	margin-right: 26px;
	margin-left: 26px;
}

.spo-home-faq__items details > p {
	margin-top: 0;
	margin-bottom: 16px;
	color: #536075;
	font-size: 14px;
	line-height: 1.76;
}

.spo-home-faq__items details > p:last-child {
	padding-bottom: 23px;
	margin-bottom: 0;
}

.spo-home-faq__items a {
	color: #096cb8;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 1024px) {
	.spo-precision__inner {
		grid-template-columns: minmax(320px, 0.88fr) minmax(440px, 1.12fr);
		gap: 44px;
	}

	.spo-precision__content h2 {
		font-size: clamp(46px, 5.5vw, 62px);
	}

	.spo-home-faq__inner {
		grid-template-columns: minmax(300px, 0.4fr) minmax(0, 0.6fr);
		gap: 46px;
	}
}

@media (max-width: 860px) {
	.spo-precision {
		padding-right: 24px;
		padding-left: 24px;
	}

	.spo-precision__inner {
		display: block;
	}

	.spo-precision__content {
		max-width: 660px;
	}

	.spo-precision__media {
		margin-top: 52px;
	}

	.spo-home-faq {
		padding-right: 24px;
		padding-left: 24px;
	}

	.spo-home-faq__inner {
		display: block;
	}

	.spo-home-faq__intro {
		position: static;
		max-width: 660px;
	}

	.spo-home-faq__items {
		margin-top: 48px;
	}
}

@media (max-width: 640px) {
	.spo-products {
		padding: 76px 16px 84px;
	}

	.spo-products__header {
		display: block;
		margin-bottom: 38px;
	}

	.spo-products__eyebrow {
		font-size: 12px;
	}

	.spo-products__heading h2 {
		font-size: clamp(38px, 12vw, 52px);
	}

	.spo-products__copy {
		margin-top: 16px;
		font-size: 13px;
	}

	.spo-products__catalogue-link {
		margin-top: 24px;
	}

	.spo-precision {
		padding: 66px 18px 64px;
	}

	.spo-precision__badge {
		width: 170px;
		margin-bottom: 26px;
	}

	.spo-precision__content h2 {
		font-size: clamp(38px, 10.5vw, 48px);
		line-height: 0.94;
		letter-spacing: -0.05em;
	}

	.spo-precision__copy {
		max-width: 330px;
		margin-top: 24px;
		font-size: 13px;
		line-height: 1.65;
	}

	.spo-precision__points {
		display: block;
		margin-top: 32px;
		border-bottom: 1px solid rgb(190 204 229 / 18%);
	}

	.spo-precision__points li {
		min-height: 66px;
		padding: 10px 0;
		border-top: 1px solid rgb(190 204 229 / 18%);
		border-left: 0;
		font-size: 12px;
	}

	.spo-precision__points li:first-child {
		border-top: 0;
	}

	.spo-precision__point-icon {
		flex-basis: 42px;
		width: 42px;
		height: 42px;
	}

	.spo-precision__media {
		width: 100%;
		margin: 38px 0 0;
		border-radius: 20px;
	}

	.spo-home-faq {
		padding: 66px 18px 72px;
	}

	.spo-home-faq__intro h2 {
		font-size: clamp(40px, 11vw, 50px);
		line-height: 0.94;
	}

	.spo-home-faq__copy {
		margin-top: 22px;
		font-size: 14px;
	}

	.spo-home-faq__link {
		width: 100%;
		margin-top: 26px;
	}

	.spo-home-faq__items {
		margin-top: 38px;
	}

	.spo-home-faq__items summary {
		padding: 20px 18px;
		font-size: 15px;
	}

	.spo-home-faq__items details > :not(summary) {
		margin-right: 18px;
		margin-left: 18px;
	}
}

.spo-benefits__icon i {
	font-size: 35px;
}

.spo-benefits__icon img {
	display: block;
	width: 34px;
	height: 34px;
	color: #fff;
}

.spo-benefits__item h3 {
	margin: 0 0 10px;
	color: #05070d;
	font-size: clamp(15px, 1.1vw, 18px);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.025em;
}

.spo-benefits__item p {
	max-width: 250px;
	margin: 0 auto;
	color: #555b65;
	font-size: 13px;
	line-height: 1.6;
}

@media (max-width: 768px) {
	.spo-benefits {
		padding: 68px 0 62px;
	}

	.spo-benefits__heading {
		width: calc(100% - 40px);
		margin-bottom: 40px;
	}

	.spo-benefits__heading > p {
		font-size: 12px;
	}

	.spo-benefits__heading h2 {
		font-size: clamp(32px, 9.4vw, 40px);
	}

	.spo-benefits__viewport {
		overflow: hidden;
	}

	.spo-benefits__marquee {
		display: flex;
		width: max-content;
		animation: spo-benefits-scroll 28s linear infinite;
		will-change: transform;
	}

	.spo-benefits__viewport:hover .spo-benefits__marquee,
	.spo-benefits__viewport:focus-within .spo-benefits__marquee,
	.spo-benefits__viewport:active .spo-benefits__marquee {
		animation-play-state: paused;
	}

	.spo-benefits__list,
	.spo-benefits__list[aria-hidden="true"] {
		display: flex;
		flex: none;
		gap: 18px;
		padding-right: 18px;
	}

	.spo-benefits__item {
		width: min(68vw, 250px);
	}

	.spo-benefits__icon {
		width: 70px;
		height: 70px;
		border-radius: 22px;
	}

	.spo-benefits__item h3 {
		font-size: 16px;
	}

	.spo-benefits__item p {
		font-size: 13px;
	}
}

@keyframes spo-benefits-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.spo-benefits__viewport {
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.spo-benefits__marquee {
		animation: none;
	}

	.spo-benefits__list[aria-hidden="true"] {
		display: none;
	}

	.spo-benefits__item {
		scroll-snap-align: center;
	}
}

/* Customer reviews */
.spo-reviews {
	overflow: hidden;
	padding: 118px 32px 110px;
	background: #071127;
	color: #f7f9ff;
}

.spo-reviews__inner {
	width: min(100%, 1460px);
	margin: 0 auto;
}

.spo-reviews__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(270px, 360px);
	gap: 72px;
	align-items: end;
	margin-bottom: 62px;
}

.spo-reviews__eyebrow {
	margin: 0 0 22px;
	color: #38b7ee;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.21em;
	text-transform: uppercase;
}

.spo-reviews__intro h2 {
	max-width: 850px;
	margin: 0;
	color: #f7f9ff;
	font-family: var(--spo-display-font, inherit);
	font-size: clamp(54px, 6vw, 94px);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.055em;
}

.spo-reviews__copy {
	max-width: 590px;
	margin: 28px 0 0;
	color: #aebbd3;
	font-size: 15px;
	line-height: 1.7;
}

.spo-reviews__summary {
	padding: 30px 0 5px 36px;
	border-left: 1px solid rgb(163 184 220 / 28%);
}

.spo-reviews__score-row {
	display: flex;
	gap: 12px;
	align-items: baseline;
}

.spo-reviews__score-row strong {
	color: #fff;
	font-size: 58px;
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.06em;
}

.spo-reviews__score-row span {
	color: #91a0bc;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.15em;
}

.spo-reviews__summary .star-rating,
.spo-review-card__rating .star-rating {
	float: none;
	margin: 16px 0 0;
	color: #3bbdf3;
	font-size: 15px;
}

.spo-reviews__summary p {
	margin: 13px 0 0;
	color: #91a0bc;
	font-size: 12px;
	line-height: 1.5;
}

.spo-reviews__viewport {
	overflow-x: auto;
	padding: 1px 1px 8px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.spo-reviews__viewport::-webkit-scrollbar {
	display: none;
}

.spo-reviews__viewport:focus-visible {
	outline: 2px solid #3bbdf3;
	outline-offset: 6px;
}

.spo-reviews__track {
	display: flex;
	gap: 24px;
}

.spo-review-card {
	display: flex;
	flex: 0 0 calc((100% - 48px) / 3);
	flex-direction: column;
	min-width: 0;
	min-height: 356px;
	padding: 34px 34px 0;
	border: 1px solid rgb(152 177 218 / 18%);
	border-radius: 22px;
	background: #0d1933;
	box-shadow: 0 22px 55px rgb(0 0 0 / 14%);
	scroll-snap-align: start;
}

.spo-review-card__rating {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.spo-review-card__rating .star-rating {
	margin: 0;
}

.spo-review-card__rating > span {
	color: #71819f;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.spo-review-card blockquote {
	margin: 29px 0 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
}

.spo-review-card blockquote::before,
.spo-review-card blockquote::after {
	display: none;
	content: none;
}

.spo-review-card blockquote p {
	margin: 0;
	color: #f3f6fc;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
}

.spo-review-card__meta {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: flex-end;
	margin-top: auto;
	padding-bottom: 28px;
}

.spo-review-card__meta strong,
.spo-review-card__date {
	display: block;
}

.spo-review-card__meta strong {
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}

.spo-review-card__date {
	margin-top: 5px;
	color: #71819f;
	font-size: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.spo-review-card__verified {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	color: #8ed8f7;
	font-size: 10px;
	font-weight: 600;
	white-space: nowrap;
}

.spo-review-card__verified svg {
	width: 16px;
	height: 16px;
}

.spo-review-card__product {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
	min-height: 58px;
	margin: 0 -34px;
	padding: 15px 24px 15px 34px;
	border-top: 1px solid rgb(152 177 218 / 16%);
	border-radius: 0 0 21px 21px;
	color: #c8d4e9;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 180ms ease, background-color 180ms ease;
}

.spo-review-card__product > span:last-child {
	display: grid;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	place-items: center;
}

.spo-review-card__product svg {
	width: 15px;
	height: 15px;
}

.spo-review-card__product:hover,
.spo-review-card__product:focus-visible {
	background: #122244;
	color: #fff;
}

.spo-reviews__controls {
	display: flex;
	justify-content: center;
	gap: 14px;
	align-items: center;
	margin-top: 34px;
}

.spo-reviews__control {
	display: grid;
	width: 48px;
	height: 48px;
	padding: 0;
	place-items: center;
	border: 1px solid rgb(162 184 220 / 30%);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: border-color 180ms ease, background-color 180ms ease, opacity 180ms ease;
}

.spo-reviews__control svg {
	width: 17px;
	height: 17px;
}

.spo-reviews__control:hover,
.spo-reviews__control:focus-visible {
	border-color: #3bbdf3;
	background: #122244;
}

.spo-reviews__control:disabled {
	opacity: 0.28;
	cursor: default;
}

.spo-reviews__counter {
	min-width: 54px;
	margin: 0 4px;
	color: #91a0bc;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-align: center;
}

@media (max-width: 1024px) {
	.spo-reviews {
		padding: 94px 24px 92px;
	}

	.spo-reviews__header {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: 40px;
	}

	.spo-review-card {
		flex-basis: calc((100% - 22px) / 2);
	}
}

@media (max-width: 768px) {
	.spo-reviews {
		padding: 72px 18px 74px;
	}

	.spo-reviews__header {
		display: block;
		margin-bottom: 42px;
	}

	.spo-reviews__eyebrow {
		margin-bottom: 18px;
		font-size: 10px;
	}

	.spo-reviews__intro h2 {
		font-size: clamp(42px, 13vw, 58px);
	}

	.spo-reviews__copy {
		margin-top: 22px;
		font-size: 13px;
	}

	.spo-reviews__summary {
		margin-top: 34px;
		padding: 4px 0 4px 20px;
	}

	.spo-reviews__score-row strong {
		font-size: 46px;
	}

	.spo-reviews__track {
		gap: 14px;
	}

	.spo-review-card {
		flex-basis: min(84vw, 350px);
		min-height: 340px;
		padding: 28px 24px 0;
		border-radius: 18px;
	}

	.spo-review-card blockquote {
		margin: 25px 0 26px;
	}

	.spo-review-card blockquote p {
		font-size: 15px;
	}

	.spo-review-card__meta {
		align-items: flex-start;
		padding-bottom: 24px;
	}

	.spo-review-card__verified {
		font-size: 9px;
	}

	.spo-review-card__product {
		min-height: 56px;
		margin: 0 -24px;
		padding-right: 18px;
		padding-left: 24px;
		border-radius: 0 0 17px 17px;
	}

	.spo-reviews__controls {
		justify-content: space-between;
		margin-top: 26px;
	}

	.spo-reviews__counter {
		order: 2;
	}

	.spo-reviews__control:first-child {
		order: 1;
	}

	.spo-reviews__control:last-child {
		order: 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.spo-reviews__viewport {
		scroll-behavior: auto;
	}

	.spo-review-card__product,
	.spo-reviews__control {
		transition: none;
	}
}
