:root {
	--ct-ink: #0b2430;
	--ct-ink-soft: #173b47;
	--ct-teal: #4fb58d;
	--ct-teal-dark: #187b5d;
	--ct-lilac: #b7c2f4;
	--ct-cream: #f5f7f3;
	--ct-mist: #e8f0ec;
	--ct-border: #d7e2dd;
	--ct-white: #ffffff;
	--ct-text: #33464e;
	--ct-shadow: 0 24px 70px rgba( 11, 36, 48, 0.12 );
	--ct-radius: 22px;
	--ct-shell: 1180px;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 104px;
}

body.cleantera-site {
	margin: 0;
	color: var( --ct-text );
	background: var( --ct-white );
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

body.cleantera-site,
body.cleantera-site * {
	box-sizing: border-box;
}

body.cleantera-site img {
	max-width: 100%;
}

body.cleantera-site a {
	color: inherit;
}

body.cleantera-site :where( button, input[type="button"], input[type="submit"], input[type="reset"] ):focus-visible {
	outline: 3px solid #9ee0c4 !important;
	outline-offset: 3px;
	box-shadow: 0 0 0 2px var( --ct-ink );
}

body.cleantera-site :where( h1, h2, h3, h4 ) {
	margin: 0;
	color: var( --ct-ink );
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

body.cleantera-site p {
	margin-top: 0;
}

body.cleantera-site .site-content > .ast-container,
body.cleantera-site #primary,
body.cleantera-site .entry-content,
body.cleantera-site .elementor-location-single {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.cleantera-site .elementor-widget-html > .elementor-widget-container {
	width: 100%;
}

body.ct-menu-open {
	overflow: hidden;
}

/* Native global header */
.ct-native-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	min-height: 88px;
	border-bottom: 1px solid rgba( 11, 36, 48, 0.08 );
	background: rgba( 255, 255, 255, 0.96 );
	box-shadow: 0 8px 32px rgba( 11, 36, 48, 0.06 );
	backdrop-filter: blur( 14px );
}

.admin-bar .ct-native-header {
	top: 32px;
}

.ct-native-header__inner {
	display: grid;
	width: min( var( --ct-shell ), calc( 100% - 48px ) );
	min-height: 88px;
	grid-template-columns: minmax( 210px, 0.78fr ) auto;
	align-items: center;
	gap: 34px;
	margin-inline: auto;
}

.ct-native-header__logo {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
}

.ct-native-header__logo img {
	display: block;
	width: 220px;
	height: auto;
}

.ct-native-header__desktop {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 30px;
}

.ct-desktop-menu ul,
.ct-mobile-menu-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-desktop-menu ul {
	display: flex;
	align-items: center;
	gap: 28px;
}

.ct-desktop-menu a {
	display: inline-block;
	padding: 12px 0;
	color: var( --ct-ink ) !important;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none !important;
}

.ct-desktop-menu a:hover,
.ct-desktop-menu a:focus-visible,
.ct-desktop-menu a.is-current,
.ct-desktop-menu .current-menu-item > a {
	color: var( --ct-teal-dark ) !important;
}

.ct-native-header__phone {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	gap: 9px;
	padding: 12px 19px;
	border-radius: 999px;
	background: var( --ct-ink );
	box-shadow: 0 12px 26px rgba( 11, 36, 48, 0.18 );
	color: var( --ct-white ) !important;
	font-size: 14px;
	font-weight: 850;
	line-height: 1.2;
	text-decoration: none !important;
}

.ct-native-header__phone:hover,
.ct-native-header__phone:focus-visible {
	background: var( --ct-teal-dark );
}

.ct-native-header__phone svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.ct-native-header__toggle {
	display: none;
	width: 50px;
	height: 50px;
	align-content: center;
	justify-items: center;
	gap: 5px;
	margin-left: auto;
	padding: 0;
	border: 1px solid var( --ct-border );
	border-radius: 16px;
	background: var( --ct-cream );
	cursor: pointer;
}

.ct-native-header__toggle span {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 99px;
	background: var( --ct-ink );
}

.ct-mobile-overlay {
	position: fixed;
	z-index: 2000;
	inset: 0;
	visibility: hidden;
	display: grid;
	grid-template-columns: 1fr min( 100vw, 560px );
	opacity: 0;
	pointer-events: none;
	transition: visibility 0s linear 360ms, opacity 240ms ease;
}

.ct-mobile-overlay.is-open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transition-delay: 0s;
}

.ct-mobile-overlay__backdrop {
	position: absolute;
	inset: 0;
	padding: 0;
	border: 0;
	background: rgba( 4, 17, 23, 0.7 );
	cursor: pointer;
}

.ct-mobile-overlay__panel {
	position: relative;
	grid-column: 2;
	display: flex;
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	flex-direction: column;
	padding: 28px 34px 36px;
	background:
		radial-gradient( circle at 85% 8%, rgba( 79, 181, 141, 0.25 ), transparent 30% ),
		var( --ct-ink );
	box-shadow: -30px 0 80px rgba( 0, 0, 0, 0.28 );
	transform: translateX( 100% );
	transition: transform 360ms cubic-bezier( 0.22, 1, 0.36, 1 );
}

.ct-mobile-overlay.is-open .ct-mobile-overlay__panel {
	transform: translateX( 0 );
}

.ct-mobile-overlay__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 44px;
}

.ct-mobile-overlay__logo img {
	display: block;
	width: 190px;
	height: auto;
}

.ct-mobile-overlay__close {
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba( 255, 255, 255, 0.2 );
	border-radius: 50%;
	background: rgba( 255, 255, 255, 0.08 );
	color: var( --ct-white );
	font-size: 35px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.ct-mobile-menu-links ul {
	display: grid;
}

.ct-mobile-menu-links li {
	border-bottom: 1px solid rgba( 255, 255, 255, 0.12 );
}

.ct-mobile-menu-links a {
	display: block;
	padding: 13px 0;
	color: var( --ct-white ) !important;
	font-size: clamp( 30px, 8vw, 50px );
	font-weight: 780;
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-decoration: none !important;
}

.ct-mobile-menu-links a:hover,
.ct-mobile-menu-links a:focus-visible,
.ct-mobile-menu-links a.is-current,
.ct-mobile-menu-links .current-menu-item > a {
	color: #9ee0c4 !important;
}

.ct-mobile-overlay__footer {
	display: grid;
	gap: 13px;
	margin-top: auto;
	padding-top: 36px;
}

.ct-mobile-overlay__phone,
.ct-mobile-overlay__quote {
	display: flex;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	padding: 13px 20px;
	border-radius: 999px;
	font-weight: 850;
	text-decoration: none !important;
}

.ct-mobile-overlay__phone {
	background: var( --ct-teal );
	color: var( --ct-ink ) !important;
	font-size: 19px;
}

.ct-mobile-overlay__quote {
	border: 1px solid rgba( 255, 255, 255, 0.3 );
	color: var( --ct-white ) !important;
}

.ct-mobile-overlay__footer p {
	margin: 8px 0 0;
	color: rgba( 255, 255, 255, 0.62 );
	font-size: 14px;
	line-height: 1.6;
}

.ct-mobile-overlay__footer strong {
	color: var( --ct-white );
}

.ct-page {
	width: 100%;
	overflow: clip;
	background: var( --ct-white );
}

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

.ct-section {
	padding: 104px 0;
}

.ct-section--soft {
	background: var( --ct-cream );
}

.ct-section--ink {
	color: rgba( 255, 255, 255, 0.82 );
	background: var( --ct-ink );
}

.ct-section--ink h2,
.ct-section--ink h3 {
	color: var( --ct-white );
}

.ct-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	color: var( --ct-teal-dark );
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ct-eyebrow::before {
	width: 34px;
	height: 3px;
	content: "";
	border-radius: 999px;
	background: var( --ct-teal );
}

.ct-section--ink .ct-eyebrow,
.ct-hero .ct-eyebrow,
.ct-page-hero .ct-eyebrow {
	color: #9ee0c4;
}

.ct-section-title {
	max-width: 780px;
	margin-bottom: 22px;
	font-size: clamp( 38px, 5vw, 64px );
}

.ct-home #ct-audience-title,
.ct-home #ct-process-title {
	margin-bottom: clamp( 36px, 5vw, 56px );
}

.ct-section-lead {
	max-width: 720px;
	margin-bottom: 48px;
	color: #5f7077;
	font-size: 19px;
}

.ct-section--ink .ct-section-lead {
	color: rgba( 255, 255, 255, 0.72 );
}

.ct-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.ct-btn {
	display: inline-flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 24px;
	border: 2px solid transparent;
	border-radius: 999px;
	background: var( --ct-teal );
	box-shadow: 0 12px 28px rgba( 79, 181, 141, 0.24 );
	color: var( --ct-ink ) !important;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.ct-btn:hover,
.ct-btn:focus-visible {
	transform: translateY( -2px );
	background: #77cba9;
	box-shadow: 0 16px 34px rgba( 79, 181, 141, 0.32 );
}

.ct-btn--light {
	border-color: rgba( 255, 255, 255, 0.7 );
	background: rgba( 255, 255, 255, 0.08 );
	box-shadow: none;
	color: var( --ct-white ) !important;
	backdrop-filter: blur( 8px );
}

.ct-btn--light:hover,
.ct-btn--light:focus-visible {
	border-color: var( --ct-white );
	background: var( --ct-white );
	color: var( --ct-ink ) !important;
}

.ct-btn--dark {
	background: var( --ct-ink );
	box-shadow: 0 12px 28px rgba( 11, 36, 48, 0.2 );
	color: var( --ct-white ) !important;
}

.ct-btn--dark:hover,
.ct-btn--dark:focus-visible {
	background: var( --ct-ink-soft );
}

.ct-btn svg {
	width: 19px;
	height: 19px;
	fill: currentColor;
}

/* Header */
.elementor-location-header {
	position: relative;
	z-index: 1000;
}

.ct-header-shell {
	min-height: 88px;
	padding: 0 max( 24px, calc( ( 100vw - var( --ct-shell ) ) / 2 ) ) !important;
	border-bottom: 1px solid rgba( 11, 36, 48, 0.08 );
	background: rgba( 255, 255, 255, 0.96 );
	box-shadow: 0 8px 32px rgba( 11, 36, 48, 0.06 );
	backdrop-filter: blur( 14px );
}

.ct-header-logo,
.ct-header-actions {
	min-width: 0;
}

.ct-header-logo {
	flex: 0 0 30%;
	align-items: center;
	justify-content: flex-start;
}

.ct-header-logo .elementor-widget-image img {
	display: block;
	width: 220px;
	height: auto;
}

.ct-header-actions {
	flex: 0 0 70%;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
}

.ct-header-nav {
	width: auto !important;
}

.ct-header-nav .elementor-nav-menu {
	display: flex;
	align-items: center;
	gap: 30px;
}

.ct-header-nav .elementor-nav-menu a {
	padding: 12px 0 !important;
	color: var( --ct-ink ) !important;
	font-size: 14px;
	font-weight: 750;
	letter-spacing: 0.02em;
	text-transform: none;
}

.ct-header-nav .elementor-nav-menu a:hover,
.ct-header-nav .elementor-nav-menu a:focus-visible,
.ct-header-nav .elementor-nav-menu a.elementor-item-active,
.ct-header-nav .elementor-nav-menu a.is-current {
	color: var( --ct-teal-dark ) !important;
}

.ct-header-phone {
	width: auto !important;
}

.ct-header-phone .elementor-button {
	min-height: 48px;
	padding: 13px 20px !important;
	border-radius: 999px !important;
	background: var( --ct-ink ) !important;
	box-shadow: 0 12px 26px rgba( 11, 36, 48, 0.18 );
	color: var( --ct-white ) !important;
	font-size: 14px;
	font-weight: 800;
}

.ct-header-phone .elementor-button:hover,
.ct-header-phone .elementor-button:focus-visible {
	background: var( --ct-teal-dark ) !important;
}

.ct-menu-toggle {
	display: none;
	width: auto !important;
	margin-left: auto;
}

.ct-menu-toggle .elementor-icon {
	display: grid;
	width: 50px;
	height: 50px;
	place-items: center;
	border: 1px solid var( --ct-border );
	border-radius: 16px;
	background: var( --ct-cream );
	color: var( --ct-ink );
}

.ct-menu-toggle .elementor-icon svg {
	width: 24px;
	height: 24px;
}

body.admin-bar .ct-header-shell.elementor-sticky--active {
	top: 32px !important;
}

/* Elementor popup / mobile navigation */
#elementor-popup-modal-3207 {
	background: rgba( 5, 20, 27, 0.54 );
}

#elementor-popup-modal-3207 .dialog-widget-content,
#elementor-popup-modal-3207 .dialog-message {
	width: 100vw !important;
	max-width: 100vw !important;
	height: 100dvh !important;
	max-height: 100dvh !important;
	margin: 0 !important;
	border-radius: 0 !important;
	background: var( --ct-ink );
}

#elementor-popup-modal-3207 .dialog-close-button {
	top: 24px !important;
	right: 24px !important;
	z-index: 5;
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	border: 1px solid rgba( 255, 255, 255, 0.2 );
	border-radius: 50%;
	background: rgba( 255, 255, 255, 0.08 );
	color: var( --ct-white );
}

.ct-mobile-menu {
	min-height: 100dvh;
	padding: 72px 30px 42px !important;
	background:
		radial-gradient( circle at 85% 10%, rgba( 79, 181, 141, 0.25 ), transparent 30% ),
		var( --ct-ink );
}

.ct-mobile-menu .elementor-widget-image img {
	width: 190px;
	height: auto;
}

.ct-mobile-menu .elementor-heading-title {
	color: #9ee0c4;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.ct-mobile-nav .elementor-nav-menu {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	gap: 2px;
}

.ct-mobile-nav .elementor-nav-menu a {
	padding: 13px 0 !important;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.12 );
	color: var( --ct-white ) !important;
	font-size: clamp( 30px, 8vw, 50px );
	font-weight: 780;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.ct-mobile-nav .elementor-nav-menu a:hover,
.ct-mobile-nav .elementor-nav-menu a:focus-visible,
.ct-mobile-nav .elementor-nav-menu a.elementor-item-active,
.ct-mobile-nav .elementor-nav-menu a.is-current {
	color: #9ee0c4 !important;
}

.ct-mobile-phone .elementor-button {
	width: 100%;
	min-height: 60px;
	border-radius: 999px !important;
	background: var( --ct-teal ) !important;
	color: var( --ct-ink ) !important;
	font-size: 18px;
	font-weight: 850;
}

.ct-mobile-meta {
	color: rgba( 255, 255, 255, 0.65 );
	font-size: 14px;
	line-height: 1.65;
}

.ct-mobile-meta strong {
	color: var( --ct-white );
}

/* Homepage hero */
.ct-hero {
	position: relative;
	display: grid;
	min-height: 720px;
	align-items: end;
	padding: 118px 0 96px;
	background-image:
		linear-gradient( 90deg, rgba( 5, 24, 32, 0.9 ) 0%, rgba( 5, 24, 32, 0.62 ) 48%, rgba( 5, 24, 32, 0.14 ) 100% ),
		var( --ct-hero-image );
	background-position: center;
	background-size: cover;
	color: var( --ct-white );
}

.ct-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 130px;
	content: "";
	background: linear-gradient( transparent, rgba( 5, 24, 32, 0.28 ) );
	pointer-events: none;
}

.ct-hero__content {
	position: relative;
	z-index: 1;
	max-width: 760px;
}

.ct-hero h1 {
	margin-bottom: 26px;
	color: var( --ct-white );
	font-size: clamp( 50px, 7vw, 88px );
	letter-spacing: -0.055em;
}

.ct-hero p {
	max-width: 660px;
	margin-bottom: 34px;
	color: rgba( 255, 255, 255, 0.82 );
	font-size: clamp( 18px, 2vw, 22px );
}

.ct-hero__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin-top: 34px;
	color: rgba( 255, 255, 255, 0.74 );
	font-size: 14px;
	font-weight: 700;
}

.ct-hero__proof span::before {
	margin-right: 8px;
	content: "✓";
	color: #9ee0c4;
}

/* Cards and grids */
.ct-highlights {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 18px;
}

.ct-highlight {
	padding: 30px;
	border: 1px solid var( --ct-border );
	border-radius: var( --ct-radius );
	background: var( --ct-white );
	box-shadow: 0 14px 40px rgba( 11, 36, 48, 0.06 );
}

.ct-highlight__icon,
.ct-service-card__icon {
	display: grid;
	width: 52px;
	height: 52px;
	margin-bottom: 34px;
	place-items: center;
	border-radius: 16px;
	background: var( --ct-mist );
	color: var( --ct-teal-dark );
	font-size: 21px;
	font-weight: 900;
}

.ct-highlight h3 {
	margin-bottom: 12px;
	font-size: 22px;
	letter-spacing: -0.025em;
}

.ct-highlight p {
	margin-bottom: 0;
	font-size: 15px;
	line-height: 1.65;
}

.ct-services-grid {
	display: grid;
	grid-template-columns: repeat( 6, minmax( 0, 1fr ) );
	gap: 18px;
}

.ct-service-card {
	display: flex;
	min-height: 360px;
	grid-column: span 2;
	flex-direction: column;
	padding: 32px;
	border: 1px solid rgba( 255, 255, 255, 0.12 );
	border-radius: var( --ct-radius );
	background: rgba( 255, 255, 255, 0.055 );
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.ct-service-card:nth-child( 4 ) {
	grid-column: 2 / span 2;
}

.ct-service-card:hover {
	transform: translateY( -5px );
	border-color: rgba( 158, 224, 196, 0.44 );
	background: rgba( 255, 255, 255, 0.085 );
}

.ct-service-card__icon {
	background: rgba( 158, 224, 196, 0.14 );
	color: #9ee0c4;
}

.ct-service-card h3 {
	margin-bottom: 14px;
	color: var( --ct-white );
	font-size: 26px;
}

.ct-service-card p {
	margin-bottom: 26px;
	color: rgba( 255, 255, 255, 0.68 );
	font-size: 15px;
}

.ct-service-card__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	color: #9ee0c4 !important;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
}

.ct-service-card__link::after {
	content: "→";
	font-size: 20px;
	transition: transform 180ms ease;
}

.ct-service-card__link:hover::after,
.ct-service-card__link:focus-visible::after {
	transform: translateX( 4px );
}

.ct-audiences {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 24px;
}

.ct-audience {
	position: relative;
	overflow: hidden;
	padding: 48px;
	border: 1px solid var( --ct-border );
	border-radius: 28px;
	background: var( --ct-white );
	box-shadow: var( --ct-shadow );
}

.ct-audience:nth-child( 2 ) {
	background: var( --ct-ink );
	color: rgba( 255, 255, 255, 0.72 );
}

.ct-audience::before {
	position: absolute;
	top: -60px;
	right: -60px;
	width: 180px;
	height: 180px;
	content: "";
	border-radius: 50%;
	background: rgba( 79, 181, 141, 0.1 );
}

.ct-audience h3 {
	margin-bottom: 18px;
	font-size: 36px;
}

.ct-audience:nth-child( 2 ) h3 {
	color: var( --ct-white );
}

.ct-check-list {
	display: grid;
	gap: 10px;
	margin: 24px 0 30px;
	padding: 0;
	list-style: none;
}

.ct-check-list li {
	position: relative;
	padding-left: 28px;
}

.ct-check-list li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "✓";
	color: var( --ct-teal-dark );
	font-weight: 900;
}

.ct-audience:nth-child( 2 ) .ct-check-list li::before {
	color: #9ee0c4;
}

.ct-process {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 24px;
	counter-reset: process;
}

.ct-step {
	position: relative;
	padding: 36px 34px;
	border-top: 1px solid var( --ct-border );
	counter-increment: process;
}

.ct-step::before {
	display: grid;
	width: 58px;
	height: 58px;
	margin-bottom: 40px;
	place-items: center;
	content: "0" counter( process );
	border-radius: 50%;
	background: var( --ct-ink );
	color: var( --ct-white );
	font-size: 14px;
	font-weight: 850;
	letter-spacing: 0.08em;
}

.ct-step:not( :last-child )::after {
	position: absolute;
	top: 65px;
	right: -24px;
	width: 48px;
	height: 1px;
	content: "";
	background: var( --ct-teal );
}

.ct-step h3 {
	margin-bottom: 12px;
	font-size: 25px;
}

.ct-step p {
	margin-bottom: 0;
	font-size: 15px;
}

.ct-prefooter {
	position: relative;
	overflow: hidden;
	padding: 110px 0;
	background: var( --ct-teal );
}

.ct-prefooter::after {
	position: absolute;
	top: -120px;
	right: -80px;
	width: 480px;
	height: 480px;
	content: "";
	border: 80px solid rgba( 255, 255, 255, 0.16 );
	border-radius: 50%;
}

.ct-prefooter__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax( 0, 1.5fr ) auto;
	align-items: end;
	gap: 50px;
}

.ct-prefooter h2 {
	max-width: 850px;
	margin-bottom: 22px;
	font-size: clamp( 44px, 6vw, 78px );
}

.ct-prefooter p {
	max-width: 700px;
	margin-bottom: 0;
	color: rgba( 11, 36, 48, 0.75 );
	font-size: 20px;
}

/* Interior page heroes */
.ct-page-hero {
	position: relative;
	display: grid;
	min-height: 530px;
	align-items: end;
	padding: 120px 0 74px;
	background:
		linear-gradient( 90deg, rgba( 5, 24, 32, 0.92 ), rgba( 5, 24, 32, 0.45 ) ),
		var( --ct-page-hero-image, linear-gradient( 135deg, var( --ct-ink ), var( --ct-ink-soft ) ) );
	background-position: center;
	background-size: cover;
	color: var( --ct-white );
}

.ct-page-hero h1 {
	max-width: 880px;
	margin-bottom: 22px;
	color: var( --ct-white );
	font-size: clamp( 48px, 7vw, 82px );
}

.ct-page-hero p {
	max-width: 720px;
	margin-bottom: 0;
	color: rgba( 255, 255, 255, 0.76 );
	font-size: 20px;
}

/* Services */
.ct-service-list {
	display: grid;
	gap: 22px;
}

.ct-service-row {
	display: grid;
	grid-template-columns: 110px minmax( 0, 1fr );
	align-items: center;
	gap: 34px;
	padding: 42px;
	border: 1px solid var( --ct-border );
	border-radius: 26px;
	background: var( --ct-white );
	box-shadow: 0 16px 44px rgba( 11, 36, 48, 0.06 );
}

.ct-service-row__number {
	display: grid;
	width: 82px;
	height: 82px;
	place-items: center;
	border-radius: 24px;
	background: var( --ct-mist );
	color: var( --ct-teal-dark );
	font-size: 16px;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.ct-service-row h2 {
	margin-bottom: 13px;
	font-size: clamp( 30px, 4vw, 44px );
}

.ct-service-row p {
	max-width: 750px;
	margin-bottom: 0;
}

.ct-service-row__action {
	margin-top: 20px;
}

.ct-local-note {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	align-items: center;
	gap: 34px;
	margin-top: 50px;
	padding: 38px 42px;
	border-radius: 24px;
	background: var( --ct-ink );
	color: rgba( 255, 255, 255, 0.72 );
}

.ct-local-note h3 {
	margin-bottom: 10px;
	color: var( --ct-white );
	font-size: 28px;
}

.ct-local-note p {
	margin-bottom: 0;
}

/* About */
.ct-story-grid {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	align-items: center;
	gap: 76px;
}

.ct-story-grid p {
	font-size: 18px;
}

.ct-story-image {
	position: relative;
}

.ct-story-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 30px;
	box-shadow: var( --ct-shadow );
}

.ct-story-image__badge {
	position: absolute;
	right: -24px;
	bottom: 28px;
	max-width: 240px;
	padding: 24px;
	border-radius: 20px;
	background: var( --ct-teal );
	box-shadow: var( --ct-shadow );
	color: var( --ct-ink );
	font-size: 15px;
	font-weight: 800;
}

.ct-principles {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 20px;
}

.ct-principle {
	padding: 36px;
	border: 1px solid rgba( 255, 255, 255, 0.12 );
	border-radius: 22px;
	background: rgba( 255, 255, 255, 0.055 );
}

.ct-principle__number {
	display: block;
	margin-bottom: 48px;
	color: #9ee0c4;
	font-size: 13px;
	font-weight: 850;
	letter-spacing: 0.15em;
}

.ct-principle h3 {
	margin-bottom: 12px;
	font-size: 25px;
}

.ct-principle p {
	margin-bottom: 0;
	color: rgba( 255, 255, 255, 0.65 );
	font-size: 15px;
}

/* Contact */
.ct-contact-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-top: -70px;
}

.ct-contact-card {
	position: relative;
	z-index: 2;
	padding: 42px;
	border: 1px solid var( --ct-border );
	border-radius: 26px;
	background: var( --ct-white );
	box-shadow: var( --ct-shadow );
}

.ct-contact-card__label {
	display: block;
	margin-bottom: 10px;
	color: var( --ct-teal-dark );
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ct-contact-card__link {
	display: inline-block;
	color: var( --ct-ink ) !important;
	font-size: clamp( 26px, 4vw, 43px );
	font-weight: 850;
	line-height: 1.15;
	letter-spacing: -0.035em;
	text-decoration: none !important;
	overflow-wrap: anywhere;
}

.ct-contact-card__link[href^="mailto:"] {
	font-size: clamp( 24px, 3vw, 34px );
}

.ct-contact-card__link:hover,
.ct-contact-card__link:focus-visible {
	color: var( --ct-teal-dark ) !important;
}

.ct-form-heading {
	max-width: 760px;
	margin: 0 auto 38px;
	text-align: center;
}

.ct-form-heading h2 {
	margin-bottom: 15px;
	font-size: clamp( 40px, 5vw, 62px );
}

.ct-contact-form {
	width: min( 820px, calc( 100% - 48px ) ) !important;
	margin: 0 auto 104px;
	padding: 46px !important;
	border: 1px solid var( --ct-border );
	border-radius: 28px;
	background: var( --ct-white );
	box-shadow: var( --ct-shadow );
}

.ct-contact-form .elementor-form-fields-wrapper {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 20px;
}

.ct-contact-form .elementor-field-group {
	width: 100% !important;
	margin: 0 !important;
}

.ct-contact-form .elementor-field-group-service,
.ct-contact-form .elementor-field-group-message,
.ct-contact-form .elementor-field-type-submit,
.ct-contact-form .elementor-message {
	grid-column: 1 / -1;
}

.ct-contact-form .elementor-field-label {
	margin-bottom: 8px;
	color: var( --ct-ink );
	font-size: 14px;
	font-weight: 800;
}

.ct-contact-form .elementor-field {
	min-height: 56px;
	padding: 14px 17px !important;
	border: 1px solid var( --ct-border ) !important;
	border-radius: 14px !important;
	background: var( --ct-cream ) !important;
	box-shadow: none !important;
	color: var( --ct-ink ) !important;
	font-size: 16px;
}

.ct-contact-form textarea.elementor-field {
	min-height: 150px;
	resize: vertical;
}

.ct-contact-form .elementor-field:focus {
	border-color: var( --ct-teal-dark ) !important;
	outline: 3px solid rgba( 79, 181, 141, 0.14 );
}

.ct-contact-form .elementor-button {
	width: 100%;
	min-height: 58px;
	border: 0;
	border-radius: 999px !important;
	background: var( --ct-ink ) !important;
	color: var( --ct-white ) !important;
	font-size: 16px;
	font-weight: 850;
}

.ct-contact-form .elementor-button:hover,
.ct-contact-form .elementor-button:focus-visible {
	background: var( --ct-teal-dark ) !important;
}

.ct-contact-form-widget {
	width: min( 820px, calc( 100% - 48px ) ) !important;
	margin: 0 auto !important;
	padding: 46px !important;
	border: 1px solid var( --ct-border );
	border-radius: 28px;
	background: var( --ct-white );
	box-shadow: var( --ct-shadow );
}

.ct-contact-form-widget + .elementor-widget-html {
	padding-top: 120px;
}

.ct-lead-form {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 20px;
}

.ct-form-field {
	display: grid;
	gap: 8px;
}

.ct-form-field--wide {
	grid-column: 1 / -1;
}

.ct-form-field label {
	color: var( --ct-ink );
	font-size: 14px;
	font-weight: 800;
}

.ct-form-field input,
.ct-form-field select,
.ct-form-field textarea {
	width: 100%;
	min-height: 56px;
	padding: 14px 17px;
	border: 1px solid var( --ct-border );
	border-radius: 14px;
	background: var( --ct-cream );
	box-shadow: none;
	color: var( --ct-ink );
	font: inherit;
	font-size: 16px;
}

.ct-form-field textarea {
	min-height: 150px;
	resize: vertical;
}

.ct-form-field input:focus,
.ct-form-field select:focus,
.ct-form-field textarea:focus {
	border-color: var( --ct-teal-dark );
	outline: 3px solid rgba( 79, 181, 141, 0.14 );
}

.ct-form-field button {
	width: 100%;
	min-height: 58px;
	padding: 14px 24px;
	border: 0;
	border-radius: 999px;
	background: var( --ct-ink );
	color: var( --ct-white );
	font: inherit;
	font-size: 16px;
	font-weight: 850;
	cursor: pointer;
	transition: background-color 180ms ease, transform 180ms ease;
}

.ct-form-field button:hover,
.ct-form-field button:focus-visible {
	transform: translateY( -1px );
	background: var( --ct-teal-dark );
}

.ct-form-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.ct-form-notice {
	margin-bottom: 24px;
	padding: 15px 18px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 750;
}

.ct-form-notice--success {
	border: 1px solid #a7d8c4;
	background: #edf8f3;
	color: #135d47;
}

.ct-form-notice--error {
	border: 1px solid #efb4ad;
	background: #fff2f0;
	color: #8a2d22;
}

.ct-requisites {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	gap: 64px;
	align-items: start;
}

.ct-requisites h2 {
	font-size: clamp( 38px, 5vw, 60px );
}

.ct-requisites dl {
	display: grid;
	grid-template-columns: 190px 1fr;
	gap: 12px 22px;
	margin: 0;
}

.ct-requisites dt {
	color: rgba( 255, 255, 255, 0.52 );
	font-size: 13px;
	font-weight: 750;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.ct-requisites dd {
	margin: 0;
	color: var( --ct-white );
	font-weight: 700;
}

/* Mega footer */
.ct-mega-footer {
	padding: 80px 0 26px;
	background: #061a23;
	color: rgba( 255, 255, 255, 0.66 );
}

.ct-footer-grid {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr 1fr;
	gap: 52px;
}

.ct-footer-brand img {
	display: block;
	width: 210px;
	height: auto;
	margin-bottom: 24px;
}

.ct-footer-brand p {
	max-width: 330px;
	font-size: 15px;
}

body.cleantera-site .ct-mega-footer .ct-footer-heading {
	margin: 6px 0 22px;
	color: var( --ct-white );
	font-size: 14px;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ct-footer-links {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-footer-links a {
	color: var( --ct-white ) !important;
	font-size: 14px;
	text-decoration: none !important;
	transition: color 160ms ease;
}

.ct-footer-links a:hover,
.ct-footer-links a:focus-visible {
	color: #9ee0c4 !important;
}

.ct-footer-contact a {
	display: inline-block;
	margin-bottom: 8px;
	color: var( --ct-white ) !important;
	font-weight: 800;
	text-decoration: none !important;
}

.ct-footer-contact .ct-footer-phone {
	font-size: 21px;
}

.ct-footer-contact address {
	margin-top: 13px;
	font-style: normal;
}

.ct-footer-data {
	display: grid;
	gap: 7px;
	font-size: 14px;
}

.ct-footer-data strong {
	color: var( --ct-white );
}

.ct-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 62px;
	padding-top: 24px;
	border-top: 1px solid rgba( 255, 255, 255, 0.1 );
	font-size: 13px;
}

.ct-footer-bottom a {
	color: rgba( 255, 255, 255, 0.72 ) !important;
	text-decoration: none !important;
}

/* 404 */
.ct-not-found {
	display: grid;
	min-height: 66vh;
	place-items: center;
	padding: 100px 24px;
	background: var( --ct-cream );
	text-align: center;
}

.ct-not-found__code {
	display: block;
	margin-bottom: 15px;
	color: var( --ct-teal-dark );
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.18em;
}

.ct-not-found h1 {
	margin-bottom: 22px;
	font-size: clamp( 50px, 8vw, 90px );
}

.ct-not-found p {
	max-width: 620px;
	margin: 0 auto 32px;
}

/* Responsive */
@media ( max-width: 1100px ) {
	.ct-highlights {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.ct-services-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.ct-service-card,
	.ct-service-card:nth-child( 4 ) {
		grid-column: auto;
	}

	.ct-service-card:last-child {
		grid-column: 1 / -1;
		min-height: 300px;
	}

	.ct-service-row {
		grid-template-columns: 90px minmax( 0, 1fr );
	}

	.ct-service-row__action {
		justify-self: start;
	}

	.ct-footer-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 900px ) {
	html {
		scroll-padding-top: 82px;
	}

	.ct-section {
		padding: 80px 0;
	}

	.ct-native-header,
	.ct-native-header__inner {
		min-height: 74px;
	}

	.ct-native-header__inner {
		width: calc( 100% - 40px );
		grid-template-columns: 80% 20%;
		gap: 0;
	}

	.ct-native-header__logo img {
		width: min( 185px, 68vw );
	}

	.ct-native-header__desktop {
		display: none;
	}

	.ct-native-header__toggle {
		display: grid;
		grid-column: 2;
	}

	.ct-header-shell {
		min-height: 74px;
		padding: 0 20px !important;
	}

	.ct-header-logo {
		flex: 0 0 80% !important;
		width: 80% !important;
	}

	.ct-header-actions {
		flex: 0 0 20% !important;
		width: 20% !important;
		gap: 0;
	}

	.ct-header-logo .elementor-widget-image img {
		width: min( 185px, 68vw );
	}

	.ct-header-nav,
	.ct-header-phone {
		display: none !important;
	}

	.ct-menu-toggle {
		display: block;
	}

	.ct-hero {
		min-height: 650px;
		padding: 105px 0 72px;
		background-image:
			linear-gradient( 90deg, rgba( 5, 24, 32, 0.9 ), rgba( 5, 24, 32, 0.42 ) ),
			url( "/wp-content/uploads/2024/09/IMG_1031-1024x768.jpg" );
		background-position: 60% center;
	}

	.ct-audiences,
	.ct-process,
	.ct-story-grid,
	.ct-contact-intro,
	.ct-requisites {
		grid-template-columns: 1fr;
	}

	.ct-step:not( :last-child )::after {
		display: none;
	}

	.ct-prefooter__inner,
	.ct-local-note {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.ct-story-grid {
		gap: 48px;
	}

	.ct-story-image {
		max-width: 650px;
	}

	.ct-story-image img {
		aspect-ratio: 4 / 3;
	}

	.ct-principles {
		grid-template-columns: 1fr 1fr;
	}

	.ct-principle:last-child {
		grid-column: 1 / -1;
	}

	.ct-page-hero {
		min-height: 480px;
	}
}

@media ( max-width: 680px ) {
	body.cleantera-site {
		font-size: 16px;
	}

	.ct-shell {
		width: min( 100% - 32px, var( --ct-shell ) );
	}

	.ct-section {
		padding: 68px 0;
	}

	.ct-section-title {
		font-size: clamp( 34px, 11vw, 48px );
	}

	.ct-section-lead {
		font-size: 17px;
	}

	.ct-btns,
	.ct-btn {
		width: 100%;
	}

	.ct-menu-toggle .elementor-icon {
		width: 46px;
		height: 46px;
	}

	.ct-hero {
		min-height: 620px;
		padding-bottom: 58px;
		background-position: 66% center;
	}

	.ct-hero h1 {
		font-size: clamp( 43px, 13vw, 61px );
	}

	.ct-hero p {
		font-size: 17px;
	}

	.ct-hero__proof {
		display: grid;
		gap: 6px;
	}

	.ct-highlights,
	.ct-services-grid,
	.ct-principles,
	.ct-footer-grid {
		grid-template-columns: 1fr;
	}

	.ct-service-card:last-child,
	.ct-principle:last-child {
		grid-column: auto;
	}

	.ct-highlight,
	.ct-service-card,
	.ct-audience,
	.ct-principle {
		padding: 28px;
	}

	.ct-audience h3 {
		font-size: 31px;
	}

	.ct-step {
		padding: 30px 20px;
	}

	.ct-prefooter {
		padding: 76px 0;
	}

	.ct-prefooter h2 {
		font-size: clamp( 40px, 12vw, 58px );
	}

	.ct-prefooter p {
		font-size: 17px;
	}

	.ct-page-hero {
		min-height: 430px;
		padding: 100px 0 55px;
	}

	.ct-page-hero h1 {
		font-size: clamp( 42px, 12vw, 58px );
	}

	.ct-page-hero p {
		font-size: 17px;
	}

	.ct-service-row {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 28px;
	}

	.ct-service-row__number {
		width: 64px;
		height: 64px;
	}

	.ct-service-row__action {
		width: 100%;
	}

	.ct-local-note {
		padding: 30px;
	}

	.ct-story-image img {
		aspect-ratio: 4 / 5;
	}

	.ct-story-image__badge {
		right: 14px;
		bottom: 14px;
		left: 14px;
		max-width: none;
	}

	.ct-contact-intro {
		margin-top: -38px;
	}

	.ct-contact-card {
		padding: 28px;
	}

	.ct-contact-card__link {
		font-size: clamp( 23px, 7.5vw, 34px );
	}

	.ct-contact-card__link[href^="mailto:"] {
		font-size: clamp( 21px, 6.2vw, 28px );
	}

	.ct-contact-form {
		width: calc( 100% - 32px ) !important;
		margin-bottom: 68px;
		padding: 28px 20px !important;
	}

	.ct-contact-form-widget {
		width: calc( 100% - 32px ) !important;
		padding: 28px 20px !important;
	}

	.ct-contact-form-widget + .elementor-widget-html {
		padding-top: 80px;
	}

	.ct-lead-form {
		grid-template-columns: 1fr;
	}

	.ct-form-field {
		grid-column: 1 !important;
	}

	.ct-contact-form .elementor-form-fields-wrapper {
		grid-template-columns: 1fr;
	}

	.ct-contact-form .elementor-field-group {
		grid-column: 1 !important;
	}

	.ct-requisites dl {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.ct-requisites dd {
		margin-bottom: 14px;
	}

	.ct-footer-grid {
		gap: 38px;
	}

	.ct-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media ( max-width: 782px ) {
	body.admin-bar .ct-header-shell.elementor-sticky--active {
		top: 46px !important;
	}

	body.admin-bar .ct-native-header {
		top: 46px;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
