.circutec-sticky-scroll,
.circutec-sticky-scroll * { box-sizing: border-box; }

html:has(.circutec-sticky-scroll),
body:has(.circutec-sticky-scroll) { overflow-x: clip; }

.circutec-sticky-scroll {
	--ct-sticky-left: #efefef;
	--ct-sticky-marker-indent: 22px;
	--ct-sticky-marker-size: 8px;
	--ct-sticky-red: #e70633;
	background: linear-gradient(to right, var(--ct-sticky-left) 0 50%, var(--ct-sticky-red) 50% 100%);
	color: #000;
	margin-inline: calc(50% - 50vw);
	overflow-x: hidden;
	overflow-x: clip;
	width: 100vw;
}

.circutec-sticky-scroll__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1500px;
}

.circutec-sticky-scroll__left-track { background: var(--ct-sticky-left); min-width: 0; }

.circutec-sticky-scroll__left {
	align-items: center;
	display: flex;
	min-height: 100vh;
	position: sticky;
	top: 0;
}

.circutec-sticky-scroll__left-inner,
.circutec-sticky-scroll__panel-inner {
	padding: clamp(48px, 6vw, 96px);
	width: 100%;
}

.circutec-sticky-scroll h2,
.circutec-sticky-scroll h3,
.circutec-sticky-scroll p,
.circutec-sticky-scroll button,
.circutec-sticky-scroll li {
	font-family: var(--e-global-typography-text-font-family, "TT_Firs_Neue_Regular"), Arial, sans-serif;
}

.circutec-sticky-scroll h2,
.circutec-sticky-scroll h3 {
	font-family: var(--e-global-typography-primary-font-family, "TT_Firs_Neue_DemiBold"), Arial, sans-serif;
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: 1;
	margin: 0;
}

.circutec-sticky-scroll h2 { font-size: 56px; max-width: 650px; }
.circutec-sticky-scroll__left-copy,
.circutec-sticky-scroll__left-copy p,
.circutec-sticky-scroll__left-copy li { font-size: clamp(18px, 1.6vw, 25px); line-height: 1.4; }
.circutec-sticky-scroll__left-copy { margin: 30px 0 48px; max-width: 620px; }
.circutec-sticky-scroll__left-copy > :first-child { margin-top: 0; }
.circutec-sticky-scroll__left-copy > :last-child { margin-bottom: 0; }
.circutec-sticky-scroll__left-copy ul,
.circutec-sticky-scroll__left-copy ol { padding-left: 1.2em; }
.circutec-sticky-scroll__topics { border-top: 1px solid #aaa; display: grid; }

.circutec-sticky-scroll__topics button,
.circutec-sticky-scroll__mobile-register button {
	appearance: none;
	background: transparent !important;
	border-color: #aaa !important;
	border-radius: 0 !important;
	border-style: solid !important;
	border-width: 0 0 1px !important;
	box-shadow: none !important;
	color: inherit !important;
	cursor: pointer;
	font-size: clamp(16px, 1.25vw, 20px);
	font-weight: 500;
	padding: 16px 0;
	text-align: left;
	transition: background-color 160ms ease, padding 160ms ease;
}

.circutec-sticky-scroll__topics button:hover,
.circutec-sticky-scroll__topics button:focus-visible { background: #ddd !important; padding-inline: 12px; }
.circutec-sticky-scroll__topics button.is-active { font-weight: 600; padding-left: var(--ct-sticky-marker-indent); position: relative; }
.circutec-sticky-scroll__topics button.is-active::before { background: var(--ct-sticky-red); content: ""; height: var(--ct-sticky-marker-size); left: 0; position: absolute; top: calc(50% - (var(--ct-sticky-marker-size) / 2)); width: var(--ct-sticky-marker-size); }
.circutec-sticky-scroll__progress { background: #c8c8c8; height: 2px; margin-top: 28px; overflow: hidden; }
.circutec-sticky-scroll__progress span { background: var(--ct-sticky-red); display: block; height: 100%; transform: scaleX(0); transform-origin: left; }

.circutec-sticky-scroll__right { background: var(--ct-sticky-red); color: #fff; min-width: 0; }
.circutec-sticky-scroll__panel { align-items: center; display: flex; min-height: 100vh; }
.circutec-sticky-scroll__panel + .circutec-sticky-scroll__panel { border-top: 1px solid rgb(255 255 255 / 45%); }
.circutec-sticky-scroll__right h3 { color: inherit !important; font-size: 56px; }
.circutec-sticky-scroll__statement,
.circutec-sticky-scroll__statement p { font-size: clamp(18px, 1.6vw, 25px); font-weight: 500; line-height: 1.25; }
.circutec-sticky-scroll__statement { margin: 26px 0 40px; max-width: 640px; }
.circutec-sticky-scroll__statement > :first-child { margin-top: 0; }
.circutec-sticky-scroll__statement > :last-child { margin-bottom: 0; }
.circutec-sticky-scroll__html-content { font-size: clamp(16px, 1.25vw, 20px); line-height: 1.5; margin: 0 0 40px; max-width: 680px; }
.circutec-sticky-scroll__html-content a { color: inherit; text-decoration: underline; }
.circutec-sticky-scroll__html-content ul,
.circutec-sticky-scroll__html-content ol { margin: 0 0 1.2em; padding-left: 1.2em; }
.circutec-sticky-scroll__html-content li { border: 0; display: list-item; padding: .2em 0; }
.circutec-sticky-scroll__points { border: 0; list-style: none; margin: 0; padding: 0; }
.circutec-sticky-scroll__points li { border: 0 !important; display: grid; font-size: clamp(16px, 1.25vw, 20px); gap: 6px; line-height: 1.35; padding: 17px 0 17px var(--ct-sticky-marker-indent); position: relative; }
.circutec-sticky-scroll__points li::before { background: #fff; content: ""; height: var(--ct-sticky-marker-size); left: 0; position: absolute; top: calc(17px + .675em - (var(--ct-sticky-marker-size) / 2)); width: var(--ct-sticky-marker-size); }
.circutec-sticky-scroll__points li strong { font-weight: 600; }
.circutec-sticky-scroll__points li span { opacity: .82; }
.circutec-sticky-scroll__mobile-register { display: none; }

.circutec-sticky-scroll__contact {
	--ct-contact-accent: #e70633;
	--ct-contact-background: #050505;
	background: var(--ct-contact-background);
	color: #fff;
	min-height: 100vh;
	position: relative;
}

.circutec-sticky-scroll__contact::after {
	background: var(--ct-contact-background);
	content: "";
	inset: 0 auto 0 100%;
	pointer-events: none;
	position: absolute;
	width: 100vw;
}

.circutec-sticky-scroll__contact-inner {
	display: grid;
	gap: clamp(30px, 3vw, 48px);
	grid-template-columns: minmax(0, 1fr);
	padding: 120px clamp(48px, 6vw, 96px);
	position: relative;
	width: 100%;
	z-index: 1;
}

.circutec-sticky-scroll__contact-heading,
.circutec-sticky-scroll__contact-body { max-width: 680px; }

.circutec-sticky-scroll__contact-eyebrow {
	color: var(--ct-contact-accent) !important;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .02em;
	margin: 0 0 22px !important;
}

.circutec-sticky-scroll__contact h3 {
	color: inherit !important;
	font-size: clamp(38px, 3vw, 56px);
	max-width: 660px;
}

.circutec-sticky-scroll__contact-copy,
.circutec-sticky-scroll__contact-copy p,
.circutec-sticky-scroll__contact-copy li {
	color: inherit !important;
	font-size: clamp(17px, 1.35vw, 21px);
	line-height: 1.55;
}

.circutec-sticky-scroll__contact-copy p {
	margin: 0 0 1.2em;
}

.circutec-sticky-scroll__contact-copy ul,
.circutec-sticky-scroll__contact-copy ol {
	margin: 0 0 1.2em;
	padding-left: 1.2em;
}

.circutec-sticky-scroll__contact-methods {
	border-top: 1px solid rgb(255 255 255 / 45%);
	margin-top: 32px;
}

.circutec-sticky-scroll__contact-method {
	align-items: center;
	border-bottom: 1px solid rgb(255 255 255 / 45%);
	color: inherit !important;
	display: grid;
	gap: 8px 12px;
	grid-template-columns: minmax(64px, .38fr) minmax(0, 1.62fr) auto;
	padding: 18px 0;
	text-decoration: none !important;
	transition: background-color 180ms ease, padding 180ms ease;
}

.circutec-sticky-scroll__contact-method span {
	color: var(--ct-contact-accent) !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.circutec-sticky-scroll__contact-method strong {
	color: inherit !important;
	font-size: clamp(16px, 1.25vw, 20px);
	font-style: normal;
	font-weight: 500;
	overflow-wrap: anywhere;
}

.circutec-sticky-scroll__contact-method i {
	color: inherit;
	font-size: 20px;
	font-style: normal;
}

.circutec-sticky-scroll__contact-method:hover,
.circutec-sticky-scroll__contact-method:focus-visible {
	background: rgb(255 255 255 / 8%);
	padding-inline: 12px;
}

.circutec-sticky-scroll__contact-button {
	align-items: center;
	background: var(--ct-contact-accent);
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	display: inline-flex;
	font-family: var(--e-global-typography-text-font-family, "TT_Firs_Neue_Regular"), Arial, sans-serif;
	font-size: 17px;
	font-weight: 600;
	gap: 10px;
	line-height: 1;
	margin-top: 20px;
	padding: 16px 24px;
	text-decoration: none !important;
	transition: transform 180ms ease, filter 180ms ease;
}

.circutec-sticky-scroll__contact-button:hover,
.circutec-sticky-scroll__contact-button:focus-visible {
	filter: brightness(.9);
	transform: translateY(-2px);
}

@media (min-width: 1500px) {
	.circutec-sticky-scroll__contact--split .circutec-sticky-scroll__contact-methods {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.circutec-sticky-scroll__contact--split .circutec-sticky-scroll__contact-method {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		padding: 20px 22px;
	}

	.circutec-sticky-scroll__contact--split .circutec-sticky-scroll__contact-method:first-child {
		border-right: 1px solid rgb(255 255 255 / 45%);
		padding-left: 0;
	}

	.circutec-sticky-scroll__contact--split .circutec-sticky-scroll__contact-method:last-child {
		padding-right: 0;
	}

	.circutec-sticky-scroll__contact--split .circutec-sticky-scroll__contact-method span {
		grid-column: 1 / -1;
	}

	.circutec-sticky-scroll__contact--split .circutec-sticky-scroll__contact-method strong {
		grid-column: 1;
		grid-row: 2;
	}

	.circutec-sticky-scroll__contact--split .circutec-sticky-scroll__contact-method i {
		grid-column: 2;
		grid-row: 2;
	}
}

.circutec-sticky-scroll--js [data-circutec-sticky-reveal] {
	opacity: .3;
	transform: translateY(38px);
	transition:
		opacity 620ms cubic-bezier(.2, .7, .2, 1),
		transform 620ms cubic-bezier(.2, .7, .2, 1);
}

.circutec-sticky-scroll--js [data-circutec-sticky-reveal].is-circutec-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 900px) {
	.circutec-sticky-scroll { background: #fff; margin-inline: 0; width: 100%; }
	.circutec-sticky-scroll__grid { display: block; }
	.circutec-sticky-scroll__left { min-height: auto; position: relative; }
	.circutec-sticky-scroll__left-inner { padding: 54px 24px 40px; }
	.circutec-sticky-scroll__topics, .circutec-sticky-scroll__progress { display: none; }
	.circutec-sticky-scroll__mobile-register { background: var(--ct-sticky-left); display: flex; gap: 0; overflow-x: auto; padding: 0 24px; position: sticky; top: 0; z-index: 4; }
	.circutec-sticky-scroll__mobile-register button { border-bottom-color: transparent; flex: 0 0 auto; margin-right: 24px; white-space: nowrap; }
	.circutec-sticky-scroll__mobile-register button.is-active { border-bottom-color: var(--ct-sticky-red) !important; border-bottom-width: 3px !important; }
	.circutec-sticky-scroll__panel { min-height: auto; }
	.circutec-sticky-scroll__panel-inner { padding: 64px 24px 72px; }
	.circutec-sticky-scroll__contact { min-height: auto; }
	.circutec-sticky-scroll__contact::after { display: none; }
	.circutec-sticky-scroll__contact-inner { gap: 38px; grid-template-columns: minmax(0, 1fr); padding: 72px 24px; }
}

@media (prefers-reduced-motion: reduce) {
	.circutec-sticky-scroll__topics button,
	.circutec-sticky-scroll__mobile-register button { scroll-behavior: auto; transition: none; }
	.circutec-sticky-scroll--js [data-circutec-sticky-reveal] { opacity: 1; transform: none; transition: none; }
}
