.stemscale-service-carousel {
	width: 60%;
	margin-inline: auto;
	padding-block-end: 130px;
	color: #fff;
	font-family: Lato, sans-serif;
	text-align: center;
}

.stemscale-carousel-frame { position: relative; }
.stemscale-carousel-slides { touch-action: pan-y; }
.stemscale-carousel-slide { padding-block: 15px 20px; }
.stemscale-carousel-slide + .stemscale-carousel-slide { margin-block-start: 12px; }
.stemscale-service-carousel[data-stemscale-ready] .stemscale-carousel-slides { margin-inline: 28px; }
.stemscale-service-carousel[data-stemscale-ready] .stemscale-carousel-slide { margin-block-start: 0; }
.stemscale-service-carousel .stemscale-carousel-label { margin: 0 0 10px; color: #fff; font-size: 16px; font-weight: 700; }
.stemscale-service-carousel .stemscale-carousel-description { margin: 0 0 20px; color: #fff; font-size: 32px; font-weight: 700; line-height: 1.25; }
.stemscale-service-carousel .stemscale-carousel-link { display: inline-block; font-weight: 400; }

.stemscale-service-carousel .stemscale-carousel-arrow {
	position: absolute;
	top: 50%;
	display: grid;
	width: 32px;
	height: 44px;
	place-items: center;
	padding: 0;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 20px;
	line-height: 1;
}

.stemscale-carousel-prev { left: -4px; }
.stemscale-carousel-next { right: -4px; }
.stemscale-service-carousel [hidden], .stemscale-saved-modal[hidden] { display: none !important; }
.stemscale-carousel-arrow:focus-visible, .stemscale-dialog-close:focus-visible { outline: 2px solid #ff9442; outline-offset: 2px; }
#openButton[aria-haspopup="dialog"]:focus-visible,
#formulaButton[aria-haspopup="dialog"]:focus-visible { outline: 2px solid #ff9442 !important; outline-offset: 3px; }

.stemscale-carousel-status {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.stemscale-saved-modal summary { cursor: pointer; }
.stemscale-saved-modal-content { color: #26262a; background: #fff; }

.stemscale-saved-dialog {
	box-sizing: border-box;
	width: min(600px, calc(100% - 2rem));
	max-height: calc(100% - 2rem);
	padding: 0;
	overflow: auto;
	overscroll-behavior: contain;
	border: 0;
	background: #fff;
	color: #26262a;
}

.stemscale-saved-dialog::backdrop { background: rgba(0, 0, 0, .75); }
body:has(.stemscale-saved-dialog[open]) { overflow: hidden; }
.stemscale-saved-dialog[data-stemscale-modal-style="bi"] { border-radius: 16px; }
.stemscale-saved-dialog[data-stemscale-modal-style="formula"] .stemscale-saved-modal-content { padding: 0 25px 25px; }

.stemscale-saved-dialog .stemscale-dialog-close {
	position: sticky;
	top: 0;
	z-index: 1;
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	margin-left: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #26262a;
	font-size: 28px;
	line-height: 1;
}

@media (max-width: 1024px) {
	.stemscale-service-carousel { padding-block-end: 0; }
	.stemscale-service-carousel .stemscale-carousel-description { font-size: 24px; }
	.stemscale-saved-dialog { width: min(500px, calc(100% - 2rem)); }
}

@media (max-width: 767px) {
	.stemscale-service-carousel { width: 90%; }
	.stemscale-saved-dialog { width: min(300px, calc(100% - 2rem)); }
}

@media (prefers-reduced-motion: no-preference) {
	.stemscale-service-carousel[data-stemscale-ready] .stemscale-carousel-slide:not([hidden]) {
		animation: stemscale-carousel-fade .2s ease-out;
	}
	@keyframes stemscale-carousel-fade { from { opacity: .65; } to { opacity: 1; } }
}
