.shs {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	background: var(--shs-surround, #fff);
	--shs-mode-height: clamp(350px, 25vw, 640px);
	--shs-mode-title: clamp(1.85rem, 2.25vw, 3.65rem);
}
.shs, .shs * { box-sizing: border-box; }
.shs .shs-back {
	position: absolute;
	inset: 0 0 0 var(--shs-split, 39%);
	z-index: -1;
	background: var(--shs-back, linear-gradient(115deg, #0d1f2c, #12444e 70%, #146769));
}
.shs .shs-back-layer {
	position: absolute; inset: 0; overflow: hidden;
	--shs-bg-scale: calc(clamp(100, var(--shs-bg-zoom, 100), 400) / 100);
}
.shs .shs-back-layer[hidden] { display: none; }
.shs-back::after { content: ""; position: absolute; inset: 0; background: var(--shs-tint, transparent); opacity: var(--shs-tint-opacity, 1); pointer-events: none; }
.shs .shs-background, .shs .shs-background img { display: block; width: 100%; height: 100%; }
.shs .shs-background img {
	object-fit: cover;
	object-position: calc(var(--shs-bg-x, var(--shs-focus-x, 50%)) + var(--shs-bg-dx, 0px) / var(--shs-bg-scale)) calc(var(--shs-bg-y, var(--shs-focus-y, 50%)) + var(--shs-bg-dy, 0px) / var(--shs-bg-scale));
	transform-origin: var(--shs-bg-x, var(--shs-focus-x, 50%)) var(--shs-bg-y, var(--shs-focus-y, 50%));
	/* An unset zoom keeps the original transform-free rendering. Offsets stay in screen pixels. */
	transform: scale(calc(clamp(100, var(--shs-bg-zoom), 400) / 100));
}
.shs .shs-deck { display: grid; grid-template-columns: minmax(0, 1fr); }
.shs .shs-slide {
	position: relative;
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	min-width: 0;
	min-height: var(--shs-height, var(--shs-mode-height));
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.shs .shs-slide.is-current { z-index: 1; visibility: visible; opacity: 1; pointer-events: auto; }
.shs .shs-artboard { position: absolute; inset: 0; width: 100%; pointer-events: none; }
.shs .shs-art {
	position: absolute;
	left: calc(var(--shs-wide-anchor, var(--shs-wide-x, var(--shs-split, 39%))) + var(--shs-wide-offset, 0px));
	top: calc(var(--shs-wide-vanchor, var(--shs-wide-y, 50%)) + var(--shs-wide-voffset, 0px));
	width: var(--shs-wide-w, 24%);
	transform: translate(var(--shs-wide-shift, -50%), var(--shs-wide-vshift, -50%));
	--shs-art-object-x: var(--shs-wide-object-x, 50%);
	--shs-art-object-y: var(--shs-wide-object-y, 50%);
}
.shs .shs-product, .shs .shs-badge { display: block; }
.shs .shs-product img { display: block; width: 100%; height: auto; max-height: var(--shs-art-cap, clamp(275px, 23vw, 570px)); object-fit: contain; object-position: var(--shs-art-object-x, 50%) var(--shs-art-object-y, 50%); }
.shs .shs-badge {
	position: absolute;
	left: var(--shs-badge-x, 85%);
	top: var(--shs-badge-y, 12%);
	width: var(--shs-badge-w, 25%);
	transform: translate(-50%, -50%);
}
.shs .shs-badge img { display: block; width: 100%; height: auto; }
.shs .shs-copy {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: var(--shs-copy-align, var(--shs-mode-copy-align, center));
	min-height: var(--shs-copy-min-height, 0px);
	position: relative;
	min-width: 0;
	margin-left: var(--shs-copy-x, calc(var(--shs-split, 39%) + 15%));
	flex: 1 1 auto;
	padding: var(--shs-copy-pt, clamp(42px, 4vw, 96px)) var(--shs-copy-pr, clamp(56px, 5vw, 108px)) var(--shs-copy-pb, clamp(42px, 4vw, 96px)) var(--shs-copy-pl, 0px);
}
.shs .shs-text {
	width: 100%;
	max-width: var(--shs-copy-w, 39rem);
	margin-left: var(--shs-box-left, 0);
	margin-right: var(--shs-box-right, auto);
	text-align: var(--shs-text-align, inherit);
	overflow-wrap: anywhere;
}
.shs .shs-text > * { margin: 0; }
.shs .shs-text > * + * { margin-top: var(--shs-text-gap, .65rem); }
.shs .shs-heading {
	color: var(--shs-heading, #fff);
	font: inherit;
	font-size: var(--shs-title-size, var(--shs-mode-title));
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -.025em;
	white-space: pre-line;
}
.shs .shs-sub { color: var(--shs-sub, #63dec0); font-size: 1rem; font-weight: 650; line-height: 1.3; }
.shs .shs-body { color: var(--shs-body, #fff); font-size: 1rem; line-height: 1.5; white-space: pre-line; }
.shs .shs-actions { display: flex; flex-wrap: wrap; justify-content: var(--shs-buttons-align, var(--shs-text-align, left)); gap: var(--shs-button-gap, .75rem); max-width: 100%; }
.shs .shs-actions:empty { display: none; }
.shs a.shs-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	max-width: 100%;
	padding: .65em 1.3em;
	background: var(--shs-button-fill, #45ceaa);
	color: var(--shs-button-ink, #092d28);
	border: 0;
	border-radius: var(--shs-radius, 0);
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.shs a.shs-cta:hover, .shs a.shs-cta:focus-visible { background: var(--shs-hover-fill, #e1fff6); color: var(--shs-hover-ink, #103d35); }
.shs .shs-cta-label { min-width: 0; }
.shs .shs-nav { display: none; position: absolute; inset: 50% clamp(6px, 1.5vw, 36px) auto; z-index: 2; justify-content: space-between; align-items: center; pointer-events: none; }
.shs.shs-ready .shs-nav { display: flex; }
.shs button.shs-control {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	padding: 0;
	margin: 0;
	background: var(--shs-nav-fill, #fff);
	color: var(--shs-nav-ink, #132f38);
	border: 1px solid currentColor;
	border-radius: 0;
	box-shadow: none;
	font: 700 1.05rem/1 sans-serif;
	pointer-events: auto;
	cursor: pointer;
}
.shs button.shs-control[hidden] { display: none; }
.shs .shs-control svg { display: block; width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.7; fill: none; }
.shs .shs-nav { margin-top: -22px; }
.shs .shs-play { position: absolute; right: 0; top: calc(100% + 8px); }
.shs .shs-page { display: none; color: var(--shs-body, #fff); font-size: .875rem; font-variant-numeric: tabular-nums; }
.shs :is(a, button):focus-visible { outline: 3px solid #1683c0; outline-offset: 2px; box-shadow: 0 0 0 2px #fff; }
.shs .shs-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@keyframes shs-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes shs-art-in {
	from { opacity: 0; transform: translateX(var(--shs-enter-x)); }
	to { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: no-preference) {
	.shs .shs-slide[data-art-enter="left"] { --shs-enter-x: clamp(-54px, -3.5vw, -18px); }
	.shs .shs-slide[data-art-enter="right"] { --shs-enter-x: clamp(18px, 3.5vw, 54px); }
	.shs.shs-motion-managed .is-current[data-text-enter="fade"]:not(.shs-text-entered) .shs-text,
	.shs.shs-motion-managed .is-current:not([data-art-enter="none"]):not(.shs-art-entered) .shs-artboard { opacity: 0; }
	.shs .is-current.shs-text-entered[data-text-enter="fade"] .shs-text,
	.shs .is-current.shs-art-entered[data-art-enter="fade"] .shs-artboard {
		animation: shs-fade-in var(--shs-enter-duration, 600ms) ease-out;
	}
	.shs .is-current.shs-art-entered[data-art-enter="left"] .shs-artboard,
	.shs .is-current.shs-art-entered[data-art-enter="right"] .shs-artboard {
		animation: shs-art-in var(--shs-enter-duration, 600ms) cubic-bezier(.2, .7, .3, 1);
	}
}
.shs .shs-deck { touch-action: pan-y pinch-zoom; }
