﻿*,
*::before,
*::after {
	box-sizing: border-box;
}

:root {
	--eco-primary: #2f9fe3;
	--eco-accent: #258ed6;
	--eco-text: #26313d;
	--eco-muted: #667382;
	--eco-soft: #f2f6f8;
	--eco-border: #dde7ee;
	--eco-white: #ffffff;
	--eco-dark: #17212b;
	--eco-shadow: 0 18px 46px rgba(31, 57, 77, 0.11);
	--eco-radius: 8px;
	--eco-font: Arial, Helvetica, sans-serif;
}

html {
	scroll-behavior: auto;
}

body {
	margin: 0;
	background: var(--eco-white);
	color: var(--eco-text);
	font-family: var(--eco-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.62;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--eco-primary);
	text-decoration: none;
}

h1,
h2,
h3,
p,
a,
li,
span {
	overflow-wrap: break-word;
}

h1,
h2,
h3,
.site-brand__text,
.button,
.site-menu a {
	font-family: var(--eco-font);
}

a:hover {
	text-decoration: underline;
}

button,
input,
textarea,
select {
	font: inherit;
}

.container {
	width: min(1200px, calc(100% - 40px));
	margin: 0 auto;
}

.section {
	padding: 72px 0;
}

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

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	z-index: 1000;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	padding: 10px 14px;
	background: var(--eco-dark);
	color: var(--eco-white);
	clip: auto;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: var(--eco-radius);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.button:hover {
	text-decoration: none;
	transform: translateY(-1px);
}

.button--primary,
.button--header,
.button--promo {
	background: var(--eco-primary);
	color: var(--eco-white);
	box-shadow: 0 12px 28px rgba(47, 159, 227, 0.22);
}

.button--primary:hover,
.button--header:hover,
.button--promo:hover {
	background: #238bd0;
	color: var(--eco-white);
}

.button--ghost {
	background: var(--eco-white);
	border-color: var(--eco-border);
	color: var(--eco-text);
}

.button--ghost:hover {
	border-color: var(--eco-primary);
	color: var(--eco-primary);
}

.button-link {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--eco-primary);
	font-weight: 700;
	cursor: pointer;
}

.site-header {
	position: sticky;
	z-index: 50;
	top: 0;
	background: rgba(255, 255, 255, 0.96);
	border-top: 4px solid var(--eco-dark);
	box-shadow: 0 6px 28px rgba(23, 33, 43, 0.06);
	backdrop-filter: blur(10px);
}

.site-header__top {
	border-bottom: 1px solid var(--eco-border);
}

.site-header__top-inner,
.site-header__nav-inner {
	display: flex;
	align-items: center;
	gap: 24px;
}

.site-header__top-inner {
	min-height: 76px;
	justify-content: space-between;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
	width: auto;
	max-width: max-content;
	color: var(--eco-dark);
	font-weight: 800;
	text-transform: lowercase;
}

.site-brand:hover {
	text-decoration: none;
}

.site-brand__text {
	display: inline-block;
	width: auto;
	max-width: 220px;
	font-size: 25px;
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
}

.site-brand__text::first-letter {
	color: var(--eco-accent);
}

.site-brand__name {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding-left: 13px;
	color: var(--eco-dark);
	font-size: clamp(20px, 2vw, 28px);
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
}

.site-brand__name::before {
	content: "";
	position: absolute;
	left: 0;
	width: 3px;
	height: 28px;
	border-radius: 999px;
	background: var(--eco-primary);
}

.site-brand__name::after {
	content: "";
	position: absolute;
	right: -7px;
	bottom: -6px;
	left: 13px;
	height: 7px;
	border-radius: 999px;
	background: rgba(73, 169, 232, 0.16);
	z-index: -1;
}

.site-brand .custom-logo {
	width: auto;
	max-width: 190px;
	max-height: 58px;
	object-fit: contain;
}

.site-header__hours {
	color: var(--eco-muted);
	font-size: 14px;
	font-weight: 500;
}

.site-header__schedule {
	display: grid;
	gap: 6px;
	justify-items: start;
}

.site-header__promise {
	color: var(--eco-muted);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
}

.site-header__promise span {
	color: var(--eco-primary);
}

.site-header__city {
	position: relative;
	flex: 0 0 auto;
}

.site-header__city-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 8px 13px;
	border: 1px solid rgba(73, 169, 232, 0.2);
	border-radius: 999px;
	background: #f7fcff;
	color: var(--eco-text);
	font-family: inherit;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(37, 142, 214, 0.08);
}

.site-header__city-button span {
	color: var(--eco-muted);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.site-header__city-button strong {
	color: var(--eco-primary);
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.site-header__city-button i {
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	color: var(--eco-primary);
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.2s ease;
}

.site-header__city.is-open .site-header__city-button i {
	transform: translateY(2px) rotate(225deg);
}

.site-header__city-menu {
	position: absolute;
	z-index: 80;
	top: calc(100% + 10px);
	left: 0;
	display: none;
	min-width: 210px;
	max-height: min(56vh, 360px);
	padding: 8px;
	overflow-y: auto;
	border: 1px solid rgba(73, 169, 232, 0.18);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 22px 58px rgba(37, 142, 214, 0.16);
}

.site-header__city.is-open .site-header__city-menu {
	display: grid;
	gap: 4px;
}

.site-header__city-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 38px;
	padding: 9px 12px;
	border-radius: 12px;
	color: var(--eco-text);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.site-header__city-menu a:hover,
.site-header__city-menu a.is-active {
	background: var(--eco-primary-soft);
	color: var(--eco-primary);
}

.site-header__contacts {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.messenger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: var(--eco-white);
}

.messenger:hover {
	text-decoration: none;
	color: var(--eco-white);
}

.messenger--wa {
	background: var(--eco-accent);
}

.messenger--tg {
	background: var(--eco-primary);
}

.messenger svg {
	width: 19px;
	height: 19px;
	display: block;
	fill: currentColor;
}

.messenger--tg svg {
	width: 18px;
	height: 18px;
	transform: translateX(-1px);
}

.site-header__phone {
	color: var(--eco-primary);
	font-weight: 700;
	white-space: nowrap;
}

.site-header__nav-wrap {
	padding: 10px 0;
}

.site-header__nav-inner {
	min-height: 54px;
}

.site-nav {
	flex: 1 1 auto;
}

.site-menu,
.footer-menu {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-menu {
	justify-content: center;
	padding: 8px;
	background: var(--eco-primary);
	border-radius: var(--eco-radius);
}

.site-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 16px;
	border-radius: 6px;
	color: var(--eco-white);
	font-size: 14px;
	font-weight: 600;
}

.site-menu a:hover,
.site-menu .current-menu-item > a,
.site-menu .current_page_item > a {
	background: rgba(255, 255, 255, 0.16);
	text-decoration: none;
}

.site-menu__services {
	position: relative;
}

.services-dropdown__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 8px 16px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--eco-white);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.services-dropdown__button span {
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.18s ease;
}

.site-menu__services.is-open .services-dropdown__button span,
.site-menu__services:hover .services-dropdown__button span,
.site-menu__services:focus-within .services-dropdown__button span {
	transform: translateY(2px) rotate(225deg);
}

.services-dropdown__panel {
	position: absolute;
	top: calc(100% + 14px);
	left: 0;
	z-index: 60;
	display: none;
	width: min(720px, calc(100vw - 40px));
	padding: 18px;
	border: 1px solid rgba(47, 159, 227, 0.16);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 24px 70px rgba(23, 33, 43, 0.16);
	backdrop-filter: blur(12px);
}

.services-dropdown__panel::before {
	content: "";
	position: absolute;
	top: -7px;
	left: 30px;
	width: 14px;
	height: 14px;
	border-top: 1px solid rgba(47, 159, 227, 0.16);
	border-left: 1px solid rgba(47, 159, 227, 0.16);
	background: rgba(255, 255, 255, 0.98);
	transform: rotate(45deg);
}

.site-menu__services:hover .services-dropdown__panel,
.site-menu__services:focus-within .services-dropdown__panel,
.site-menu__services.is-open .services-dropdown__panel {
	display: block;
}

.services-dropdown__head {
	display: grid;
	gap: 4px;
	margin-bottom: 14px;
	padding: 0 4px;
}

.services-dropdown__head strong {
	color: var(--eco-text);
	font-size: 15px;
}

.services-dropdown__head small {
	color: var(--eco-muted);
	font-size: 12px;
	line-height: 1.45;
}

.services-dropdown__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.site-menu .services-dropdown__item {
	display: grid;
	gap: 5px;
	min-height: 96px;
	padding: 14px;
	border: 1px solid rgba(47, 159, 227, 0.12);
	border-radius: 14px;
	background: #f5fbff;
	color: var(--eco-text);
	box-shadow: none;
}

.services-dropdown__item strong {
	color: var(--eco-primary);
	font-size: 14px;
	line-height: 1.25;
}

.site-menu .services-dropdown__category {
	display: inline-flex;
	min-height: 0;
	width: fit-content;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--eco-primary);
	box-shadow: none;
}

.site-menu .services-dropdown__category:hover {
	background: transparent;
	box-shadow: none;
}

.services-dropdown__subitems {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.site-menu .services-dropdown__subitems a {
	display: inline-flex;
	min-height: 28px;
	width: auto;
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(47, 159, 227, 0.08);
	color: var(--eco-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
}

.site-menu .services-dropdown__subitems a:hover,
.site-menu .services-dropdown__subitems a.is-active {
	background: var(--eco-primary);
	color: var(--eco-white);
	box-shadow: none;
}

.site-menu .services-dropdown__item:hover,
.site-menu .services-dropdown__item.is-active {
	border-color: rgba(47, 159, 227, 0.28);
	background: var(--eco-white);
	box-shadow: 0 12px 26px rgba(47, 159, 227, 0.12);
}

.menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	background: var(--eco-white);
	cursor: pointer;
}

.menu-toggle span:not(.screen-reader-text) {
	display: block;
	width: 20px;
	height: 2px;
	margin: 4px auto;
	background: var(--eco-text);
}

.hero {
	padding-top: 54px;
	background: #f7fafc;
}

.hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 480px);
	gap: 48px;
	align-items: center;
}

.hero h1 {
	max-width: 760px;
	margin: 0 0 22px;
	color: var(--eco-dark);
	font-size: 52px;
	font-weight: 800;
	line-height: 1.1;
}

.hero__subtitle {
	max-width: 660px;
	margin: 0 0 30px;
	color: var(--eco-muted);
	font-size: 19px;
	font-weight: 500;
	line-height: 1.7;
}

.hero-badges {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 34px;
}

.hero-badge {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 12px;
	background: var(--eco-white);
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	box-shadow: 0 10px 26px rgba(23, 33, 43, 0.05);
}

.hero-badge__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: var(--eco-radius);
	background: rgba(47, 159, 227, 0.12);
	color: var(--eco-primary);
	font-weight: 700;
}

.hero-badge strong,
.hero-badge small {
	display: block;
}

.hero-badge strong {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
}

.hero-badge small {
	margin-top: 3px;
	color: var(--eco-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.hero-offer {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	max-width: 520px;
	margin-top: 16px;
	padding: 12px 14px;
	border: 1px solid rgba(73, 169, 232, 0.22);
	border-radius: var(--eco-radius);
	background: #eef8ff;
	color: var(--eco-text);
	box-shadow: 0 12px 30px rgba(73, 169, 232, 0.1);
}

.hero-offer__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--eco-accent);
	color: var(--eco-white);
	font-size: 14px;
	font-weight: 800;
}

.hero-offer strong,
.hero-offer small {
	display: block;
}

.hero-offer strong {
	font-size: 15px;
	font-weight: 800;
}

.hero-offer small {
	margin-top: 2px;
	color: var(--eco-muted);
	font-size: 13px;
	font-weight: 500;
}

.hero-docs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.hero-docs span {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 8px 12px;
	border: 1px solid rgba(73, 169, 232, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	color: var(--eco-text);
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 10px 24px rgba(73, 169, 232, 0.08);
}

.hero-docs span::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 8px;
	border: 5px solid var(--eco-white);
	border-radius: 50%;
	background: var(--eco-accent);
	box-shadow: 0 0 0 2px var(--eco-accent);
}

.hero__note {
	max-width: 440px;
	margin: 14px 0 0;
	color: var(--eco-muted);
	font-size: 14px;
}

.hero__image {
	align-self: end;
}

.hero__img {
	width: 100%;
	max-height: 590px;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 26px 36px rgba(23, 33, 43, 0.14));
}

.section-heading {
	max-width: 760px;
	margin: 0 auto 36px;
	text-align: center;
}

.section-heading h2,
.seo-text h2 {
	margin: 0;
	color: var(--eco-dark);
	font-size: 34px;
	font-weight: 800;
	line-height: 1.2;
}

.section-heading p {
	margin: 12px 0 0;
	color: var(--eco-muted);
	font-size: 17px;
	font-weight: 500;
}

.service-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.service-card {
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
	gap: 26px;
	min-height: 270px;
	padding: 30px;
	background: var(--eco-white);
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	box-shadow: 0 14px 34px rgba(23, 33, 43, 0.06);
}

.service-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 170px;
}

.service-card__img {
	max-height: 210px;
	object-fit: contain;
}

.service-card h3 {
	position: relative;
	margin: 0 0 18px;
	padding-left: 18px;
	color: var(--eco-primary);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.service-card h3::before {
	content: "";
	position: absolute;
	top: 0.62em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--eco-primary);
}

.service-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--eco-text);
	font-size: 15px;
	font-weight: 500;
}

.service-card li + li {
	margin-top: 6px;
}

.benefit-grid,
.check-grid,
.price-grid,
.steps-grid,
.review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.benefit,
.check-card,
.price-card,
.step-card,
.review-card,
.contact-card,
.form-card {
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	background: var(--eco-white);
	box-shadow: 0 12px 30px rgba(23, 33, 43, 0.05);
}

.benefit {
	min-height: 230px;
	padding: 26px;
}

.benefit--primary,
.benefit--accent {
	color: var(--eco-white);
	border-color: transparent;
}

.benefit--primary {
	background: var(--eco-primary);
}

.benefit--accent {
	background: var(--eco-accent);
}

.benefit__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 18px;
	border-radius: var(--eco-radius);
	background: rgba(47, 159, 227, 0.12);
	color: var(--eco-primary);
	font-weight: 800;
}

.benefit--primary .benefit__icon,
.benefit--accent .benefit__icon {
	background: rgba(255, 255, 255, 0.18);
	color: var(--eco-white);
}

.benefit h3,
.check-card h3,
.price-card h3,
.step-card h3,
.team-card h3 {
	margin: 0 0 10px;
	color: inherit;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
}

.benefit p,
.check-card p,
.price-card p,
.step-card p {
	margin: 0;
	color: inherit;
	font-size: 15px;
}

.benefit--light p,
.check-card p,
.price-card p,
.step-card p {
	color: var(--eco-muted);
}

.check-card {
	display: flex;
	gap: 14px;
	padding: 22px;
}

.check-card__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(73, 169, 232, 0.12);
	color: var(--eco-accent);
	font-weight: 800;
}

.price-card {
	padding: 26px;
}

.price-card--featured {
	border-color: var(--eco-primary);
	box-shadow: 0 18px 42px rgba(47, 159, 227, 0.16);
}

.price-card__price {
	margin: 18px 0 12px;
	color: var(--eco-primary);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.15;
}

.steps-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.step-card {
	position: relative;
	min-height: 190px;
	padding: 34px 20px 22px;
	text-align: center;
}

.step-card__number {
	position: absolute;
	top: -18px;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--eco-primary);
	color: var(--eco-white);
	font-weight: 800;
	transform: translateX(-50%);
}

.section-action {
	display: flex;
	justify-content: center;
	margin-top: 36px;
}

.split-section {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px;
	align-items: start;
}

.tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 14px;
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	background: var(--eco-white);
	color: var(--eco-text);
	font-size: 14px;
	font-weight: 600;
}

.tag__logo {
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.team-card {
	overflow: hidden;
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	background: var(--eco-white);
	box-shadow: 0 12px 30px rgba(23, 33, 43, 0.05);
}

.team-card__photo {
	width: 100%;
	aspect-ratio: 4 / 4.2;
	object-fit: cover;
	background: var(--eco-soft);
}

.team-card__body {
	min-height: 120px;
	padding: 20px;
	background: var(--eco-primary);
	color: var(--eco-white);
	text-align: center;
}

.team-card p,
.team-card small {
	display: block;
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-weight: 500;
}

.certificate-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.certificate-card {
	margin: 0;
	padding: 14px;
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	background: var(--eco-white);
}

.certificate-card__img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: contain;
	background: #fafafa;
}

.certificate-card figcaption {
	margin-top: 10px;
	color: var(--eco-muted);
	font-size: 14px;
	text-align: center;
}

.promo-section {
	background: var(--eco-soft);
}

.promo {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr) auto;
	gap: 28px;
	align-items: center;
	min-height: 250px;
	padding: 34px;
	border-radius: var(--eco-radius);
	background: var(--eco-primary);
	color: var(--eco-white);
	box-shadow: var(--eco-shadow);
}

.promo__media {
	align-self: end;
}

.promo__img {
	max-height: 260px;
	object-fit: contain;
}

.promo h2 {
	margin: 0 0 8px;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.2;
}

.promo p {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
}

.promo__discount {
	font-size: 54px;
	font-weight: 800;
	line-height: 1;
}

.button--promo {
	grid-column: 2 / 4;
	justify-self: start;
	background: var(--eco-white);
	color: var(--eco-primary);
	box-shadow: none;
}

.button--promo:hover {
	background: #eef7fd;
	color: var(--eco-primary);
}

.review-card {
	padding: 28px;
}

.review-card__quote {
	height: 34px;
	color: var(--eco-primary);
	font-size: 54px;
	font-weight: 800;
	line-height: 0.8;
}

.review-card p {
	margin: 12px 0 24px;
	color: var(--eco-muted);
	font-size: 15px;
	font-weight: 500;
}

.review-card__person {
	display: flex;
	align-items: center;
	gap: 12px;
}

.review-card__photo {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

.stars {
	color: #d3dbe2;
	font-size: 14px;
	line-height: 1;
}

.stars .is-active {
	color: #ffae42;
}

.faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 42px;
}

.faq-item {
	border-top: 1px solid var(--eco-border);
}

.faq-item:last-child {
	border-bottom: 1px solid var(--eco-border);
}

.faq-item__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	min-height: 74px;
	padding: 18px 0;
	border: 0;
	background: transparent;
	color: var(--eco-text);
	font-size: 17px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.faq-item__icon {
	position: relative;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
}

.faq-item__icon::before,
.faq-item__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 2px;
	background: var(--eco-primary);
	transform: translate(-50%, -50%);
}

.faq-item__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item__button[aria-expanded="true"] .faq-item__icon::after {
	display: none;
}

.faq-item__answer {
	padding: 0 34px 22px 0;
	color: var(--eco-muted);
	font-weight: 500;
}

.faq-item__answer p {
	margin: 0 0 10px;
}

.section--seo {
	background: #f7fafc;
}

.seo-text {
	position: relative;
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: 44px;
	align-items: start;
	padding: 42px;
	border-radius: var(--eco-radius);
	background: var(--eco-white);
	--collapsed-height: 245px;
}

.seo-text h2 {
	position: sticky;
	top: 140px;
	max-width: 360px;
	margin: 0;
	text-align: left;
}

.seo-text h2::after {
	margin-left: 0;
}

.seo-text:not(.is-open) .seo-text__content {
	max-height: var(--collapsed-height);
	overflow: hidden;
}

.seo-text:not(.is-open) .seo-text__content::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 86px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 78%);
	pointer-events: none;
}

.seo-text__content {
	position: relative;
	color: var(--eco-muted);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}

.seo-text__content p {
	margin: 0;
}

.seo-text__content p + p {
	margin-top: 18px;
}

.seo-text__content p:first-child {
	padding: 20px;
	border-left: 4px solid var(--eco-accent);
	border-radius: var(--eco-radius);
	background: #eef8ff;
	color: var(--eco-text);
	font-weight: 600;
}

.seo-text__toggle {
	grid-column: 2;
	justify-self: start;
	margin-top: -20px;
	padding: 10px 0;
	font-size: 15px;
}

.contact-grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
	gap: 28px;
	align-items: start;
}

.contact-grid > :only-child {
	grid-column: 1 / -1;
}

.contact-card,
.form-card {
	padding: 30px;
}

.contact-card__text {
	color: var(--eco-muted);
}

.contact-list {
	display: grid;
	gap: 12px;
	margin-top: 20px;
}

.contact-list a,
.contact-list span {
	display: block;
	padding: 14px 16px;
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	color: var(--eco-text);
	font-weight: 700;
}

.form-card input,
.form-card textarea,
.form-card select {
	width: 100%;
	min-height: 46px;
	padding: 12px 14px;
	border: 1px solid var(--eco-border);
	border-radius: var(--eco-radius);
	background: var(--eco-white);
	color: var(--eco-text);
}

.form-card textarea {
	min-height: 110px;
	resize: vertical;
}

.form-card input[type="submit"],
.form-card button[type="submit"] {
	width: auto;
	min-width: 180px;
	border-color: var(--eco-primary);
	background: var(--eco-primary);
	color: var(--eco-white);
	font-weight: 700;
	cursor: pointer;
}

.content-page {
	max-width: 860px;
}

.content-page h1 {
	margin-top: 0;
	color: var(--eco-dark);
	font-size: 42px;
	font-weight: 800;
	line-height: 1.2;
}

.entry-content {
	color: var(--eco-muted);
}

.site-footer {
	padding: 46px 0 20px;
	background: var(--eco-dark);
	color: rgba(255, 255, 255, 0.78);
}

.site-footer a {
	color: var(--eco-white);
}

.site-footer .site-brand {
	color: var(--eco-white);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) minmax(180px, 0.7fr) minmax(220px, 0.8fr);
	gap: 34px;
}

.site-footer__text {
	max-width: 420px;
	margin-top: 18px;
}

.footer-menu {
	display: grid;
	gap: 10px;
	align-items: start;
}

.site-footer__contacts {
	display: grid;
	gap: 10px;
}

.site-footer__bottom {
	margin-top: 34px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.58);
	font-size: 14px;
}

@media (max-width: 1100px) {
	.hero__grid {
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 30px;
	}

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

	.steps-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 34px;
	}

	.team-grid,
	.certificate-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.container {
		width: min(760px, calc(100% - 32px));
	}

	.section {
		padding: 56px 0;
	}

	.site-header__top-inner {
		flex-wrap: wrap;
		gap: 12px;
		padding: 12px 0;
	}

	.site-header__hours {
		order: 3;
		width: 100%;
	}

	.menu-toggle {
		display: block;
	}

	.site-header__nav-inner {
		position: relative;
		justify-content: space-between;
	}

	.site-nav {
		position: absolute;
		top: calc(100% + 10px);
		left: 0;
		right: 0;
		display: none;
		z-index: 20;
	}

	.site-nav.is-open {
		display: block;
	}

	.site-menu {
		display: grid;
		justify-content: stretch;
		padding: 10px;
		box-shadow: var(--eco-shadow);
	}

	.site-menu a {
		width: 100%;
	}

	.services-dropdown__button {
		width: 100%;
		justify-content: space-between;
		color: var(--eco-white);
	}

	.services-dropdown__panel {
		position: static;
		width: 100%;
		margin-top: 8px;
		padding: 12px;
		border-radius: 14px;
		box-shadow: none;
	}

	.services-dropdown__panel::before {
		display: none;
	}

	.site-menu__services:not(.is-open) .services-dropdown__panel {
		display: none;
	}

	.site-menu__services:hover .services-dropdown__panel,
	.site-menu__services:focus-within .services-dropdown__panel {
		display: none;
	}

	.site-menu__services.is-open .services-dropdown__panel {
		display: block;
	}

	.services-dropdown__grid {
		grid-template-columns: 1fr;
	}

	.hero__grid,
	.service-card-grid,
	.split-section,
	.contact-grid,
	.site-footer__grid {
		grid-template-columns: 1fr;
	}

	.hero {
		padding-top: 42px;
	}

	.hero h1 {
		font-size: 38px;
	}

	.hero__subtitle {
		font-size: 18px;
	}

	.hero__image {
		max-width: 430px;
		margin: 0 auto;
	}

	.benefit-grid,
	.check-grid,
	.price-grid,
	.review-grid,
	.faq-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.service-card {
		grid-template-columns: 190px minmax(0, 1fr);
	}

	.seo-text {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.seo-text h2 {
		position: static;
		max-width: none;
	}

	.seo-text__toggle {
		grid-column: auto;
		margin-top: -12px;
	}
}

@media (max-width: 640px) {
	.container {
		width: calc(100% - 28px);
	}

	.site-header__contacts {
		width: 100%;
		margin-left: 0;
		justify-content: space-between;
	}

	.site-header__phone {
		margin-left: auto;
	}

	.button--header {
		min-height: 42px;
		padding: 10px 14px;
		font-size: 14px;
	}

	.hero h1 {
		font-size: 30px;
	}

	.hero__subtitle {
		font-size: 16px;
	}

	.hero-badges,
	.benefit-grid,
	.check-grid,
	.price-grid,
	.steps-grid,
	.team-grid,
	.certificate-grid,
	.review-grid,
	.faq-grid {
		grid-template-columns: 1fr;
	}

	.hero__actions .button {
		width: 100%;
	}

	.hero-offer {
		width: 100%;
	}

	.hero-docs {
		display: grid;
	}

	.section-heading h2,
	.seo-text h2 {
		font-size: 26px;
	}

	.section-heading p {
		font-size: 16px;
	}

	.service-card {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 22px;
	}

	.service-card__media {
		min-height: 130px;
	}

	.service-card__img {
		max-height: 160px;
	}

	.promo {
		grid-template-columns: 1fr;
		padding: 24px;
		text-align: center;
	}

	.promo__media {
		max-width: 240px;
		margin: 0 auto;
	}

	.promo__discount {
		font-size: 42px;
	}

	.button--promo {
		grid-column: auto;
		justify-self: stretch;
	}

	.seo-text {
		padding: 26px 20px;
		--collapsed-height: 310px;
	}

	.seo-text__content {
		font-size: 15px;
		line-height: 1.75;
	}

	.seo-text__content p:first-child {
		padding: 16px;
	}

	.form-card input[type="submit"],
	.form-card button[type="submit"] {
		width: 100%;
	}
}

@media (max-width: 390px) {
	.hero h1 {
		font-size: 28px;
	}

	.site-brand__text {
		font-size: 23px;
	}

	.site-header__phone {
		font-size: 14px;
	}

	.section {
		padding: 48px 0;
	}
}

/* Premium eco-service refresh */
.site-header {
	border-top-color: var(--eco-accent);
}

.site-header__nav-wrap {
	background: var(--eco-white);
}

.site-menu {
	background: var(--eco-dark);
}

.button--header {
	background: var(--eco-accent);
	box-shadow: 0 12px 28px rgba(73, 169, 232, 0.2);
}

.button--header:hover {
	background: #258ed6;
}

.site-header__hours {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.site-header__hours::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--eco-accent);
	box-shadow: 0 0 0 5px rgba(73, 169, 232, 0.12);
}

.hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: #111b24;
	color: var(--eco-white);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.hero::before,
.hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.08);
	pointer-events: none;
}

.hero::before {
	inset: 34px auto auto 6%;
	width: 260px;
	height: 260px;
	transform: rotate(10deg);
}

.hero::after {
	right: -80px;
	bottom: -100px;
	width: 420px;
	height: 420px;
	border-color: rgba(73, 169, 232, 0.18);
	transform: rotate(-14deg);
}

.hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.hero__eyebrow span {
	width: 36px;
	height: 2px;
	background: var(--eco-accent);
}

.hero h1 {
	color: var(--eco-white);
}

.hero__subtitle {
	color: rgba(255, 255, 255, 0.74);
}

.hero-badge {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: none;
}

.hero-badge strong {
	color: var(--eco-white);
}

.hero-badge small {
	color: rgba(255, 255, 255, 0.62);
}

.hero-badge__icon {
	background: rgba(73, 169, 232, 0.16);
	color: var(--eco-accent);
}

.hero__note {
	color: rgba(255, 255, 255, 0.6);
}

.hero__quicklinks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.hero__quicklinks a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 13px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	font-weight: 700;
}

.hero__quicklinks a:hover {
	border-color: var(--eco-accent);
	color: var(--eco-white);
	text-decoration: none;
}

.hero__image {
	position: relative;
}

.hero__visual-frame {
	position: relative;
	overflow: hidden;
	padding: 24px 24px 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--eco-radius);
	background: #eef8ff;
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.26);
}

.hero__visual-frame::before {
	content: "";
	position: absolute;
	top: 22px;
	right: 22px;
	width: 70px;
	height: 70px;
	border-top: 4px solid var(--eco-accent);
	border-right: 4px solid var(--eco-accent);
	opacity: 0.7;
}

.hero__img {
	position: relative;
	z-index: 1;
}

.hero__signal {
	position: absolute;
	right: -18px;
	bottom: 42px;
	z-index: 2;
	width: min(260px, 70%);
	padding: 16px 18px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--eco-radius);
	background: #ffffff;
	color: var(--eco-text);
	box-shadow: var(--eco-shadow);
}

.hero__signal span,
.hero__signal strong {
	display: block;
}

.hero__signal span {
	color: var(--eco-accent);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.hero__signal strong {
	margin-top: 4px;
	font-size: 17px;
	line-height: 1.25;
}

.section-heading h2,
.seo-text h2 {
	position: relative;
	display: inline-block;
}

.section-heading h2::after,
.seo-text h2::after {
	content: "";
	display: block;
	width: 58px;
	height: 3px;
	margin: 14px auto 0;
	background: var(--eco-accent);
}

.service-card {
	position: relative;
	overflow: hidden;
	border-color: transparent;
	box-shadow: 0 18px 44px rgba(23, 33, 43, 0.08);
}

.service-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: var(--eco-accent);
}

.service-card__media {
	border-radius: var(--eco-radius);
	background: var(--eco-soft);
}

.benefit,
.check-card,
.price-card,
.step-card,
.review-card,
.contact-card,
.form-card,
.team-card,
.certificate-card {
	border-color: rgba(38, 49, 61, 0.08);
	box-shadow: 0 18px 42px rgba(23, 33, 43, 0.07);
}

.step-card {
	border-top: 3px solid var(--eco-primary);
}

.price-card--featured {
	border-color: var(--eco-accent);
}

.price-card--featured .price-card__price {
	color: var(--eco-accent);
}

.tag {
	border-color: rgba(47, 159, 227, 0.22);
	background: #f8fcff;
}

.promo {
	background: #111b24;
}

.promo__discount {
	color: var(--eco-accent);
}

.seo-text {
	border: 1px solid rgba(38, 49, 61, 0.08);
	box-shadow: 0 18px 42px rgba(23, 33, 43, 0.07);
}

.mobile-action-bar {
	position: fixed;
	right: 14px;
	bottom: 14px;
	left: 14px;
	z-index: 80;
	display: none;
	gap: 10px;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--eco-radius);
	background: rgba(17, 27, 36, 0.94);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(10px);
}

.mobile-action-bar a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	min-height: 48px;
	border-radius: 6px;
	color: var(--eco-white);
	font-weight: 800;
}

.mobile-action-bar a:hover {
	text-decoration: none;
}

.mobile-action-bar__call {
	background: var(--eco-primary);
}

.mobile-action-bar__whatsapp {
	background: var(--eco-accent);
}

.contact-section {
	position: relative;
	overflow: hidden;
	background: #111b24;
	color: var(--eco-white);
}

.contact-section::before {
	content: "";
	position: absolute;
	inset: 34px 5% auto auto;
	width: 180px;
	height: 180px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	transform: rotate(12deg);
	pointer-events: none;
}

.contact-section .container {
	position: relative;
	z-index: 1;
}

.contact-section .section-heading h2 {
	color: var(--eco-white);
}

.contact-section .section-heading p {
	color: rgba(255, 255, 255, 0.68);
}

.contact-section .contact-grid {
	max-width: 1060px;
	margin: 0 auto;
}

.contact-section .contact-card {
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.06);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(10px);
}

.contact-section .contact-grid > .contact-card:only-child {
	padding: 36px;
}

.contact-card__text {
	max-width: 760px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 17px;
	font-weight: 500;
}

.contact-section .contact-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 26px;
}

.contact-section .contact-list__item {
	position: relative;
	display: grid;
	gap: 6px;
	min-height: 86px;
	padding: 18px 18px 18px 22px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--eco-radius);
	background: var(--eco-white);
	color: var(--eco-text);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
}

.contact-section .contact-list__item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: var(--eco-primary);
}

.contact-section .contact-list__item--whatsapp::before {
	background: var(--eco-accent);
}

.contact-section .contact-list__item--telegram::before {
	background: var(--eco-primary);
}

.contact-section .contact-list__item span,
.contact-section .contact-list__item strong {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}

.contact-section .contact-list__item span {
	color: var(--eco-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.contact-section .contact-list__item strong {
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
}

.contact-section .contact-list a:hover {
	text-decoration: none;
	transform: translateY(-2px);
}

.contact-section .form-card {
	border-color: transparent;
	background: var(--eco-white);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.2);
}

@media (max-width: 900px) {
	.hero__visual-frame {
		max-width: 460px;
		margin: 0 auto;
	}

	.hero__signal {
		right: 0;
	}
}

@media (max-width: 640px) {
	body {
		padding-bottom: 82px;
	}

	.site-header {
		border-top-width: 3px;
	}

	.site-header__top {
		border-bottom: 0;
	}

	.site-header__top-inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		min-height: 58px;
		padding: 10px 0 6px;
	}

	.site-brand {
		min-width: 0;
		max-width: min(100%, 220px);
	}

	.site-brand__text {
		font-size: 22px;
	}

	.site-brand__name {
		padding-left: 10px;
		font-size: 20px;
	}

	.site-brand__name::before {
		height: 22px;
	}

	.site-brand .custom-logo {
		max-width: 82px;
		max-height: 42px;
	}

	.site-header__city {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
	}

	.site-header__city-button {
		justify-content: center;
		width: 100%;
		min-height: 38px;
		padding: 8px 12px;
		box-shadow: none;
	}

	.site-header__city-menu {
		right: 0;
		left: 0;
		width: 100%;
		max-height: 42vh;
	}

	.site-header__hours {
		display: none;
	}

	.site-header__schedule {
		display: none;
	}

	.site-header__contacts {
		display: flex;
		width: auto;
		margin-left: 0;
		justify-content: flex-end;
		gap: 0;
	}

	.site-header__contacts .messenger {
		display: none;
	}

	.site-header__phone {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 36px;
		margin-left: 0;
		padding: 8px 11px;
		border: 1px solid rgba(47, 159, 227, 0.2);
		border-radius: 999px;
		background: #f5fbff;
		font-size: 12px;
		font-weight: 700;
		line-height: 1;
	}

	.site-header__nav-wrap {
		padding: 6px 0 10px;
	}

	.site-header__nav-inner {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 10px;
		min-height: 44px;
	}

	.menu-toggle {
		width: 44px;
		height: 44px;
		border-color: rgba(38, 49, 61, 0.1);
		background: var(--eco-dark);
		box-shadow: 0 10px 24px rgba(23, 33, 43, 0.12);
	}

	.menu-toggle span:not(.screen-reader-text) {
		background: var(--eco-white);
	}

	.button--header {
		width: 100%;
		min-height: 44px;
		padding: 10px 12px;
		font-size: 13px;
	}

	.site-nav {
		top: calc(100% + 8px);
	}

	.site-menu {
		border: 1px solid rgba(255, 255, 255, 0.08);
		background: rgba(17, 27, 36, 0.98);
	}

	.hero::before,
	.hero::after {
		display: none;
	}

	.hero__eyebrow {
		font-size: 12px;
	}

	.hero__quicklinks a {
		flex: 1 1 auto;
		justify-content: center;
	}

	.hero__signal {
		position: relative;
		right: auto;
		bottom: auto;
		width: 100%;
		margin-top: 14px;
	}

	.mobile-action-bar {
		display: flex;
	}

	.contact-section::before {
		display: none;
	}

	.contact-section .contact-grid > .contact-card:only-child {
		padding: 24px;
	}

	.contact-section .contact-list {
		grid-template-columns: 1fr;
	}

	.contact-section .contact-list__item strong {
		font-size: 15px;
	}
}

@media (max-width: 900px) {
	.mobile-action-bar {
		right: auto !important;
		bottom: calc(18px + env(safe-area-inset-bottom)) !important;
		left: 18px !important;
		z-index: 90;
		display: flex !important;
		width: 48px !important;
		height: 48px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: transparent !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
	}

	.mobile-action-bar__call,
	.mobile-action-bar__call:hover {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 48px !important;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		height: 48px !important;
		min-height: 48px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #ffb21a !important;
		color: transparent !important;
		font-size: 0 !important;
		line-height: 0 !important;
		box-shadow: 0 12px 28px rgba(255, 178, 26, 0.32) !important;
		text-decoration: none !important;
	}

	.mobile-action-bar__call::before {
		content: "";
		display: block;
		width: 22px;
		height: 22px;
		background: #ffffff;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.15 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.15 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.mobile-action-bar__whatsapp {
		display: none !important;
	}
}

/* Light clean eco-service palette */
.site-header {
	border-top-color: var(--eco-accent);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 10px 34px rgba(47, 159, 227, 0.08);
}

.site-menu {
	border: 1px solid rgba(47, 159, 227, 0.16);
	background: #eef9ff;
	box-shadow: 0 10px 28px rgba(47, 159, 227, 0.08);
}

.site-menu a {
	color: var(--eco-text);
}

.site-header .site-menu a {
	color: #2f9fe3;
}

.site-header .services-dropdown__button {
	color: #2f9fe3;
}

.site-menu a:hover,
.site-menu__services:hover .services-dropdown__button,
.site-menu__services.is-open .services-dropdown__button,
.site-menu .current-menu-item > a,
.site-menu .current_page_item > a {
	background: var(--eco-white);
	color: var(--eco-primary);
	box-shadow: 0 8px 20px rgba(47, 159, 227, 0.1);
}

.hero {
	background: #f4fbff;
	color: var(--eco-text);
	border-bottom: 1px solid rgba(47, 159, 227, 0.12);
}

.hero::before,
.hero::after {
	border-color: rgba(47, 159, 227, 0.14);
	background: transparent;
}

.hero::after {
	border-color: rgba(73, 169, 232, 0.18);
}

.hero__eyebrow {
	color: var(--eco-primary);
}

.hero h1 {
	color: var(--eco-dark);
}

.hero__subtitle {
	color: var(--eco-muted);
}

.hero-badge {
	background: var(--eco-white);
	border-color: rgba(47, 159, 227, 0.14);
	box-shadow: 0 14px 34px rgba(47, 159, 227, 0.08);
}

.hero-badge strong {
	color: var(--eco-text);
}

.hero-badge small,
.hero__note {
	color: var(--eco-muted);
}

.hero__quicklinks a {
	border-color: rgba(47, 159, 227, 0.18);
	background: var(--eco-white);
	color: var(--eco-primary);
	box-shadow: 0 8px 22px rgba(47, 159, 227, 0.08);
}

.hero__quicklinks a:hover {
	border-color: var(--eco-accent);
	color: var(--eco-accent);
}

.hero__visual-frame {
	border-color: rgba(47, 159, 227, 0.14);
	background: #eef8ff;
	box-shadow: 0 24px 60px rgba(47, 159, 227, 0.14);
}

.hero__signal {
	border-color: rgba(73, 169, 232, 0.18);
	box-shadow: 0 18px 44px rgba(47, 159, 227, 0.13);
}

.promo {
	background: #eef8ff;
	color: var(--eco-text);
	box-shadow: 0 20px 50px rgba(73, 169, 232, 0.14);
}

.promo p {
	color: var(--eco-muted);
}

.button--promo {
	background: var(--eco-primary);
	color: var(--eco-white);
}

.button--promo:hover {
	background: #238bd0;
	color: var(--eco-white);
}

.contact-section {
	background: #f4fbff;
	color: var(--eco-text);
}

.contact-section::before {
	border-color: rgba(47, 159, 227, 0.12);
}

.contact-section .section-heading h2 {
	color: var(--eco-dark);
}

.contact-section .section-heading p,
.contact-card__text {
	color: var(--eco-muted);
}

.contact-section .contact-card {
	border-color: rgba(47, 159, 227, 0.14);
	background: var(--eco-white);
	box-shadow: 0 20px 52px rgba(47, 159, 227, 0.1);
	backdrop-filter: none;
}

.contact-section .contact-list__item {
	border-color: rgba(47, 159, 227, 0.13);
	box-shadow: 0 14px 30px rgba(47, 159, 227, 0.08);
}

.contact-section .form-card {
	box-shadow: 0 20px 52px rgba(47, 159, 227, 0.1);
}

.site-footer {
	background: #f4fbff;
	color: var(--eco-muted);
	border-top: 1px solid rgba(47, 159, 227, 0.12);
}

.site-footer a,
.site-footer .site-brand {
	color: var(--eco-text);
}

.site-footer__bottom {
	border-top-color: rgba(47, 159, 227, 0.14);
	color: var(--eco-muted);
}

.mobile-action-bar {
	border-color: rgba(47, 159, 227, 0.14);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 18px 44px rgba(47, 159, 227, 0.14);
}

@media (max-width: 640px) {
	.menu-toggle {
		border-color: rgba(47, 159, 227, 0.18);
		background: var(--eco-white);
	}

	.menu-toggle span:not(.screen-reader-text) {
		background: var(--eco-primary);
	}

	.site-menu {
		background: var(--eco-white);
		border-color: rgba(47, 159, 227, 0.14);
		box-shadow: 0 18px 44px rgba(47, 159, 227, 0.14);
	}
}

/* Multiprofile company home */
.home-hero {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(47, 159, 227, 0.12), rgba(73, 169, 232, 0.12)),
		#f7fcff;
}

.home-hero::before,
.home-hero::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}

.home-hero::before {
	top: 80px;
	right: 8%;
	width: 240px;
	height: 240px;
	border: 34px solid rgba(73, 169, 232, 0.08);
}

.home-hero::after {
	bottom: -120px;
	left: -80px;
	width: 280px;
	height: 280px;
	background: rgba(47, 159, 227, 0.08);
}

.home-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap: 54px;
	align-items: center;
}

.home-hero h1 {
	max-width: 780px;
	margin: 0 0 22px;
	color: var(--eco-dark);
	font-size: 58px;
	font-weight: 800;
	line-height: 1.05;
}

.home-hero__subtitle {
	max-width: 700px;
	margin: 0 0 28px;
	color: var(--eco-muted);
	font-size: 19px;
	font-weight: 500;
	line-height: 1.75;
}

.home-hero__badges {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 28px;
}

.home-mini-card {
	display: grid;
	gap: 5px;
	min-height: 138px;
	padding: 18px;
	border: 1px solid rgba(47, 159, 227, 0.14);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 18px 38px rgba(47, 159, 227, 0.09);
}

.home-mini-card span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--eco-primary);
	color: var(--eco-white);
	font-size: 14px;
	font-weight: 800;
}

.home-mini-card strong,
.home-mini-card small {
	display: block;
}

.home-mini-card strong {
	color: var(--eco-text);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.25;
}

.home-mini-card small {
	color: var(--eco-muted);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

.home-hero__visual {
	display: flex;
	justify-content: center;
}

.home-hero__visual--mobile {
	display: none;
}

.home-master {
	position: relative;
	width: min(100%, 540px);
	min-height: 590px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	isolation: isolate;
}

.home-master__img {
	width: min(112%, 520px);
	max-height: 640px;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 30px 34px rgba(38, 49, 61, 0.18));
}

.home-orbit {
	position: relative;
	width: min(100%, 460px);
	aspect-ratio: 1;
	border-radius: 42px;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.48)),
		linear-gradient(135deg, rgba(47, 159, 227, 0.18), rgba(73, 169, 232, 0.16));
	border: 1px solid rgba(47, 159, 227, 0.16);
	box-shadow: 0 30px 80px rgba(47, 159, 227, 0.14);
}

.home-orbit::before {
	content: "";
	position: absolute;
	inset: 50px;
	border: 1px dashed rgba(47, 159, 227, 0.32);
	border-radius: 50%;
}

.home-orbit__center {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	place-items: center;
	width: 160px;
	height: 160px;
	padding: 22px;
	border-radius: 50%;
	background: var(--eco-white);
	color: var(--eco-text);
	box-shadow: 0 20px 45px rgba(47, 159, 227, 0.14);
	transform: translate(-50%, -50%);
}

.home-orbit__logo {
	width: 100%;
	max-width: 118px;
	max-height: 80px;
	object-fit: contain;
}

.home-orbit__brand {
	color: var(--eco-primary);
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
}

.home-orbit__item {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 16px;
	border: 1px solid rgba(47, 159, 227, 0.14);
	border-radius: 999px;
	background: var(--eco-white);
	color: var(--eco-text);
	font-size: 14px;
	font-weight: 800;
	box-shadow: 0 16px 36px rgba(47, 159, 227, 0.11);
}

.home-orbit__item--one {
	top: 42px;
	left: 36px;
}

.home-orbit__item--two {
	top: 86px;
	right: 28px;
}

.home-orbit__item--three {
	right: 50px;
	bottom: 62px;
}

.home-orbit__item--four {
	bottom: 92px;
	left: 22px;
}

.home-services {
	background: #f4fbff;
}

.home-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.home-service-grid--directory {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.home-service-card {
	display: grid;
	overflow: hidden;
	border: 1px solid rgba(47, 159, 227, 0.12);
	border-radius: 16px;
	background: var(--eco-white);
	box-shadow: 0 20px 46px rgba(47, 159, 227, 0.09);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.home-service-card:hover {
	box-shadow: 0 24px 58px rgba(47, 159, 227, 0.14);
	transform: translateY(-4px);
}

.home-service-card--directory {
	position: relative;
	grid-template-columns: minmax(0, 1fr) 170px;
	align-items: stretch;
	min-height: 260px;
	padding: 24px;
	overflow: hidden;
	border: 1px solid rgba(47, 159, 227, 0.12);
	border-radius: 18px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 251, 255, 0.9)),
		#f6fbff;
	box-shadow: 0 18px 44px rgba(47, 159, 227, 0.08);
}

.home-service-card--directory:hover {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(235, 249, 255, 0.95)),
		#ffffff;
	box-shadow: 0 22px 54px rgba(47, 159, 227, 0.13);
}

.home-service-card--directory.is-active {
	border-color: rgba(47, 159, 227, 0.42);
	box-shadow: 0 24px 58px rgba(47, 159, 227, 0.18);
}

.home-service-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: #eef9ff;
}

.home-service-card--directory .home-service-card__media {
	position: relative;
	z-index: 1;
	order: 2;
	align-self: center;
	justify-self: end;
	width: 168px;
	height: 168px;
	padding: 0;
	overflow: hidden;
	aspect-ratio: auto;
	border-radius: 50%;
	background:
		radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.96), rgba(227, 247, 255, 0.72) 58%, rgba(73, 169, 232, 0.1)),
		#eef9ff;
	box-shadow: inset 0 0 0 1px rgba(47, 159, 227, 0.12), 0 16px 34px rgba(47, 159, 227, 0.1);
}

.home-service-card--directory .home-service-card__media::before {
	content: "";
	position: absolute;
	inset: -14px;
	z-index: -1;
	border-radius: 50%;
	background: rgba(73, 169, 232, 0.08);
}

.home-service-card__media::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 38%;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.86));
}

.home-service-card--directory .home-service-card__media::after {
	display: none;
}

.home-service-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.home-service-card--directory .home-service-card__img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	filter: none;
}

.home-service-card:hover .home-service-card__img {
	transform: scale(1.04);
}

.home-service-card__body {
	display: grid;
	gap: 16px;
	padding: 22px;
}

.home-service-card--directory .home-service-card__body {
	position: relative;
	z-index: 2;
	order: 1;
	align-content: start;
	padding: 0;
}

.home-service-card h2 {
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.25;
}

.home-service-card--directory h2 {
	position: relative;
	padding-left: 22px;
	color: var(--eco-primary);
	font-size: 19px;
	text-transform: uppercase;
}

.home-service-card--directory h2::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--eco-primary);
}

.home-service-card h2 a {
	color: var(--eco-text);
}

.home-service-card h2 a:hover {
	color: var(--eco-primary);
	text-decoration: none;
}

.home-service-card ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--eco-muted);
	font-size: 14px;
	font-weight: 600;
}

.home-service-card--directory ul {
	gap: 8px;
	color: var(--eco-text);
	font-size: 15px;
}

.home-service-card--directory li {
	padding-left: 0;
}

.home-service-card--directory li::before {
	display: none;
}

.home-service-card--directory li a {
	display: inline-flex;
	color: var(--eco-text);
	line-height: 1.35;
}

.home-service-card--directory li a:hover {
	color: var(--eco-primary);
	text-decoration: none;
}

.home-service-card li {
	position: relative;
	padding-left: 20px;
}

.home-service-card li::before {
	content: "";
	position: absolute;
	top: 0.66em;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--eco-accent);
}

.home-service-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	margin-top: auto;
	padding: 10px 14px;
	border: 1px solid rgba(47, 159, 227, 0.16);
	border-radius: 10px;
	background: #f6fcff;
	color: var(--eco-primary);
	font-size: 14px;
	font-weight: 800;
}

.home-service-card__link::after {
	content: "->";
	font-size: 16px;
	line-height: 1;
}

.home-service-card__link:hover {
	background: var(--eco-primary);
	color: var(--eco-white);
	text-decoration: none;
}

.service-city-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 0 28px;
}

.service-city-tabs__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 18px;
	border: 1px solid rgba(47, 159, 227, 0.28);
	border-radius: 999px;
	background: #ffffff;
	color: var(--eco-primary);
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
	box-shadow: 0 12px 28px rgba(37, 142, 214, 0.08);
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.service-city-tabs__item:hover,
.service-city-tabs__item:focus-visible,
.service-city-tabs__item.is-active {
	border-color: var(--eco-primary);
	background: var(--eco-primary);
	color: var(--eco-white);
	text-decoration: none;
	transform: translateY(-1px);
	outline: none;
}

.service-city-empty {
	max-width: 620px;
	margin: 0 auto;
	padding: 24px;
	border: 1px dashed rgba(47, 159, 227, 0.35);
	border-radius: 18px;
	background: #ffffff;
	text-align: center;
}

.service-city-empty strong {
	display: block;
	color: var(--eco-dark);
	font-size: 20px;
	font-weight: 900;
}

.service-city-empty p {
	margin: 8px 0 0;
	color: var(--eco-muted);
	font-size: 15px;
	font-weight: 600;
}

.service-context {
	background:
		linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
}

.service-context__head {
	max-width: 900px;
	margin: 0 auto 28px;
	text-align: center;
}

.service-context__head h2 {
	margin: 0;
	color: var(--eco-dark);
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.16;
}

.service-context__head p {
	margin: 14px auto 0;
	color: var(--eco-muted);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.7;
}

.service-description {
	max-width: 980px;
	margin: 0 auto 32px;
	padding: 26px 28px;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 22px;
	background:
		linear-gradient(135deg, rgba(47, 159, 227, 0.09), rgba(255, 255, 255, 0.96) 46%),
		#ffffff;
	box-shadow: 0 20px 48px rgba(37, 142, 214, 0.09);
}

.service-description h3 {
	margin: 0 0 10px;
	color: var(--eco-primary);
	font-size: clamp(21px, 2.3vw, 30px);
	font-weight: 900;
	line-height: 1.22;
}

.service-description p,
.service-description__text p {
	margin: 0;
	color: var(--eco-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.75;
}

.service-description__text p + p {
	margin-top: 14px;
}

.service-price-ranges {
	max-width: 1120px;
	margin: 0 auto 34px;
	padding: 24px;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 22px 56px rgba(37, 142, 214, 0.1);
}

.service-price-ranges__head {
	display: grid;
	gap: 8px;
	max-width: 760px;
	margin: 0 0 18px;
}

.service-price-ranges__head span {
	width: max-content;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--eco-primary);
	color: #ffffff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.service-price-ranges__head h3 {
	margin: 0;
	color: var(--eco-dark);
	font-size: clamp(22px, 2.6vw, 32px);
	font-weight: 900;
	line-height: 1.18;
}

.service-price-ranges__head p {
	margin: 0;
	color: var(--eco-muted);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.65;
}

.service-price-ranges__head--secondary {
	margin-top: 48px;
	justify-items: center;
	max-width: none;
	text-align: center;
}

.service-price-table-wrap {
	overflow-x: auto;
	border-radius: 16px;
	background: #fff;
}

.service-price-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	color: var(--eco-text);
	font-size: 15px;
	line-height: 1.45;
}

.service-price-table thead {
	border-bottom: 3px solid var(--eco-primary);
}

.service-price-table th {
	padding: 14px 20px 12px;
	color: #8a9199;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}

.service-price-table td {
	padding: 17px 20px;
	vertical-align: middle;
}

.service-price-table tbody tr:nth-child(even) {
	background: #eef0f2;
}

.service-price-table tbody tr:nth-child(odd) {
	background: #ffffff;
}

.service-price-table td:first-child {
	width: 48%;
	color: var(--eco-dark);
}

.service-price-table--breakdowns td:first-child {
	width: 28%;
}

.service-price-table--breakdowns td:nth-child(2) {
	width: 46%;
}

.service-price-ranges__action {
	display: flex;
	justify-content: center;
	margin: 28px 0 10px;
}

.service-price-ranges__action .button {
	min-width: min(340px, 100%);
	box-shadow: 0 14px 28px rgba(34, 181, 115, 0.2);
}

.service-equipment {
	margin: 34px 0 28px;
}

.service-equipment h3 {
	margin: 0 0 16px;
	color: var(--eco-dark);
	font-size: clamp(22px, 3.4vw, 28px);
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}

.service-equipment__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 16px;
}

.service-equipment__card {
	display: grid;
	gap: 12px;
	align-content: start;
	min-height: 190px;
	padding: 14px;
	border: 1px solid rgba(73, 169, 232, 0.16);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(37, 142, 214, 0.09);
	color: inherit;
	text-decoration: none;
	-webkit-text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.service-equipment__card:hover,
.service-equipment__card:focus-visible {
	border-color: rgba(73, 169, 232, 0.46);
	box-shadow: 0 22px 48px rgba(37, 142, 214, 0.15);
	transform: translateY(-3px);
	outline: none;
}

.service-equipment__card img,
.service-equipment__placeholder {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	background: var(--eco-primary-soft);
	object-fit: cover;
}

.service-equipment__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--eco-primary);
	font-size: 42px;
	font-weight: 900;
}

.service-equipment__card strong {
	color: var(--eco-text);
	font-size: 15px;
	font-weight: 650;
	line-height: 1.34;
	text-align: center;
	text-decoration: none;
}

.service-context__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 18px;
}

.service-context__card {
	position: relative;
	overflow: hidden;
	padding: 24px;
	border: 1px solid rgba(47, 159, 227, 0.14);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 18px 42px rgba(47, 159, 227, 0.08);
}

.service-context__card--accent {
	border-color: rgba(73, 169, 232, 0.18);
	background:
		linear-gradient(135deg, rgba(73, 169, 232, 0.1), rgba(255, 255, 255, 0.96)),
		#ffffff;
}

.service-context__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-bottom: 14px;
	border-radius: 12px;
	background: var(--eco-primary);
	color: var(--eco-white);
	font-weight: 900;
}

.service-context__card--accent .service-context__icon {
	background: var(--eco-accent);
}

.service-context__card h3 {
	margin: 0 0 14px;
	color: var(--eco-dark);
	font-size: 19px;
	line-height: 1.25;
}

.service-context__card ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.service-context__card li {
	position: relative;
	padding-left: 22px;
	color: var(--eco-muted);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.55;
}

.service-context__card li::before {
	content: "";
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--eco-primary);
}

.service-context__card--accent li::before {
	background: var(--eco-accent);
}

.home-free-visit {
	padding: 40px 0;
	background: var(--eco-white);
}

.home-free-visit__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 30px;
	border: 1px solid rgba(73, 169, 232, 0.18);
	border-radius: 18px;
	background:
		linear-gradient(135deg, rgba(73, 169, 232, 0.11), rgba(47, 159, 227, 0.08)),
		#ffffff;
	box-shadow: 0 20px 50px rgba(73, 169, 232, 0.11);
}

.home-free-visit__label {
	display: inline-flex;
	margin-bottom: 10px;
	color: var(--eco-accent);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.home-free-visit h2 {
	max-width: 720px;
	margin: 0;
	color: var(--eco-dark);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
}

.home-free-visit p {
	max-width: 760px;
	margin: 10px 0 0;
	color: var(--eco-muted);
	font-weight: 600;
}

.home-reviews {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
}

.home-reviews::before {
	content: "";
	position: absolute;
	top: 64px;
	right: -90px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: rgba(73, 169, 232, 0.08);
	pointer-events: none;
}

.home-reviews .container {
	position: relative;
	z-index: 1;
}

.home-review-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 384px));
	gap: 22px;
	align-items: stretch;
	justify-content: center;
}

.review-carousel {
	--review-gap: 22px;
	--review-visible: 3;
	--review-card-size: calc((100% - (var(--review-gap) * (var(--review-visible) - 1))) / var(--review-visible));
	position: relative;
	max-width: 1180px;
	margin: 0 auto;
	padding: 10px 0 74px;
}

.home-review-grid.review-carousel__track,
.review-grid.review-carousel__track {
	display: flex;
	grid-template-columns: none;
	gap: var(--review-gap);
	justify-content: flex-start;
	margin: 0;
	padding: 12px 2px 28px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-padding-inline: 2px;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	mask-image: linear-gradient(90deg, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
}

.home-review-grid.review-carousel__track::-webkit-scrollbar,
.review-grid.review-carousel__track::-webkit-scrollbar {
	display: none;
}

.review-carousel .home-review,
.review-carousel .review-card {
	flex: 0 0 var(--review-card-size);
	scroll-snap-align: start;
	transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease, opacity 0.22s ease;
	opacity: 0.9;
}

.review-carousel .review-card {
	min-height: 260px;
}

.review-carousel .home-review.is-active,
.review-carousel .review-card.is-active {
	border-color: rgba(47, 159, 227, 0.3);
	box-shadow: 0 24px 60px rgba(47, 159, 227, 0.16);
	opacity: 1;
	transform: translateY(-4px);
}

.review-carousel__nav {
	position: absolute;
	bottom: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(47, 159, 227, 0.22);
	border-radius: 50%;
	background: #ffffff;
	color: var(--eco-primary);
	box-shadow: 0 14px 32px rgba(47, 159, 227, 0.14);
	font-size: 0;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.review-carousel__nav::before {
	content: "";
	display: block;
	width: 11px;
	height: 11px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.review-carousel__nav:hover,
.review-carousel__nav:focus-visible {
	background: var(--eco-primary);
	border-color: var(--eco-primary);
	color: #ffffff;
	transform: translateY(-2px);
}

.review-carousel__nav--prev {
	left: calc(50% - 150px);
}

.review-carousel__nav--prev::before {
	transform: rotate(-135deg) translate(-1px, -1px);
}

.review-carousel__nav--next {
	right: calc(50% - 150px);
}

.review-carousel__nav--next::before {
	transform: rotate(45deg) translate(-1px, 1px);
}

.review-carousel__dots {
	position: absolute;
	left: 50%;
	bottom: 22px;
	display: flex;
	gap: 5px;
	align-items: center;
	justify-content: center;
	max-width: calc(100% - 116px);
	min-height: 18px;
	transform: translateX(-50%);
}

.review-carousel__dot {
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(47, 159, 227, 0.18);
	cursor: pointer;
	transition: width 0.2s ease, background 0.2s ease;
}

.review-carousel__dot.is-active {
	width: 24px;
	background: var(--eco-primary);
}

.home-review {
	position: relative;
	display: grid;
	gap: 18px;
	min-height: 270px;
	padding: 26px;
	overflow: hidden;
	border: 1px solid rgba(47, 159, 227, 0.13);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 20px 48px rgba(47, 159, 227, 0.09);
}

.home-review:nth-child(2n) {
	transform: none;
}

.home-review:nth-child(3n) {
	background: linear-gradient(180deg, #ffffff, #f4fbff);
}

.home-review::before {
	content: "";
	position: absolute;
	top: 8px;
	right: 22px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(47, 159, 227, 0.12);
	color: rgba(47, 159, 227, 0.12);
}

.home-review__top {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 14px;
}

.home-review__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--eco-primary), var(--eco-accent));
	color: var(--eco-white);
	font-size: 20px;
	font-weight: 800;
}

.home-review h3 {
	margin: 0 0 8px;
	color: var(--eco-text);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
}

.home-review p {
	position: relative;
	z-index: 1;
	margin: 0;
	color: var(--eco-muted);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.7;
}

.home-review__tag {
	align-self: end;
	justify-self: start;
	min-height: 32px;
	padding: 7px 11px;
	border-radius: 999px;
	background: #eef8ff;
	color: var(--eco-accent);
	font-size: 12px;
	font-weight: 800;
}

.home-review-action {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}

.home-review-form {
	max-width: 860px;
	margin: 26px auto 0;
	padding: 28px;
	border: 1px solid rgba(47, 159, 227, 0.14);
	border-radius: 18px;
	background: var(--eco-white);
	box-shadow: 0 22px 54px rgba(47, 159, 227, 0.11);
}

.home-review-form__intro {
	margin-bottom: 20px;
	text-align: center;
}

.home-review-form h3 {
	margin: 0;
	color: var(--eco-dark);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.25;
}

.home-review-form p {
	max-width: 620px;
	margin: 8px auto 0;
	color: var(--eco-muted);
	font-weight: 600;
}

.home-review-form form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.home-review-form label {
	display: grid;
	gap: 7px;
	color: var(--eco-text);
	font-size: 13px;
	font-weight: 800;
}

.home-review-form__wide {
	grid-column: 1 / -1;
}

.home-review-form input,
.home-review-form select,
.home-review-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 12px;
	background: #f8fcff;
	color: var(--eco-text);
	font: inherit;
}

.home-review-form textarea {
	resize: vertical;
}

.home-review-form__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.home-review-message {
	grid-column: 1 / -1;
	padding: 12px 14px;
	border-radius: 14px;
	font-size: 14px;
	font-weight: 700;
}

.home-review-message--success {
	border: 1px solid rgba(34, 181, 115, 0.25);
	background: rgba(34, 181, 115, 0.1);
	color: #16784b;
}

.home-review-message--error {
	border: 1px solid rgba(244, 163, 72, 0.3);
	background: rgba(244, 163, 72, 0.12);
	color: #9a5c17;
}

.home-review-form button[type="submit"] {
	justify-self: start;
}

@media (max-width: 1100px) {
	.review-carousel {
		--review-visible: 2;
	}

	.home-hero__grid {
		grid-template-columns: 1fr;
	}

	.home-hero__visual {
		order: -1;
	}

	.home-orbit {
		max-width: 390px;
	}

	.home-master {
		min-height: 500px;
	}

	.home-master__img {
		max-height: 540px;
	}

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

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

	.home-review-grid.review-carousel__track,
	.review-grid.review-carousel__track {
		grid-template-columns: none;
	}

	.home-review:nth-child(2n) {
		transform: none;
	}

	.home-service-card--directory {
		grid-template-columns: minmax(0, 1fr) 138px;
		min-height: 240px;
	}

	.home-service-card--directory .home-service-card__media {
		width: 138px;
		height: 138px;
	}
}

@media (max-width: 760px) {
	.home-hero h1 {
		font-size: 38px;
	}

	.home-hero__subtitle {
		font-size: 17px;
	}

	.home-hero__badges,
	.home-service-grid,
	.home-review-grid {
		grid-template-columns: 1fr;
	}

	.review-carousel {
		--review-visible: 1;
		--review-mobile-card: min(86vw, 380px);
		padding: 4px 0 64px;
	}

	.home-review-grid.review-carousel__track,
	.review-grid.review-carousel__track {
		padding-right: max(2px, calc((100% - var(--review-mobile-card)) / 2));
		padding-left: max(2px, calc((100% - var(--review-mobile-card)) / 2));
		scroll-padding-inline: max(2px, calc((100% - var(--review-mobile-card)) / 2));
		mask-image: none;
	}

	.review-carousel .home-review,
	.review-carousel .review-card {
		flex-basis: var(--review-mobile-card);
	}

	.review-carousel__nav {
		width: 38px;
		height: 38px;
		font-size: 28px;
	}

	.review-carousel__nav:hover,
	.review-carousel__nav:focus-visible {
		transform: translateY(-2px);
	}

	.review-carousel__nav--prev {
		left: calc(50% - 138px);
	}

	.review-carousel__nav--next {
		right: calc(50% - 138px);
	}

	.review-carousel__dots {
		bottom: 18px;
		max-width: calc(100% - 128px);
	}

	.home-review {
		min-height: 0;
	}

	.home-review-action {
		margin-top: 28px;
	}

	.home-review-action .button,
	.home-review-form button[type="submit"] {
		width: 100%;
	}

	.home-review-form {
		padding: 22px;
	}

	.home-review-form form {
		grid-template-columns: 1fr;
	}

	.home-service-card--directory {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 22px 20px;
	}

	.service-context__grid {
		grid-template-columns: 1fr;
	}

	.service-context__card {
		padding: 20px;
	}

	.home-service-card--directory .home-service-card__media {
		order: 1;
		justify-self: center;
		width: 150px;
		height: 150px;
		margin: 2px auto 8px;
	}

	.home-service-card--directory .home-service-card__body {
		order: 2;
	}

	.home-service-card--directory h2 {
		font-size: 18px;
		text-align: center;
	}

	.home-service-card--directory h2::before {
		top: 0.62em;
	}

	.home-service-card--directory ul {
		font-size: 15px;
	}

	.home-hero__visual {
		display: flex;
	}

	.home-master {
		width: min(100%, 370px);
		min-height: 430px;
		margin: 0 auto;
	}

	.home-master__img {
		width: min(112%, 410px);
		max-height: 460px;
	}

	.home-mini-card {
		min-height: 0;
	}

	.home-free-visit__inner {
		display: grid;
		padding: 24px;
	}

	.home-free-visit h2 {
		font-size: 25px;
	}
}

@media (max-width: 390px) {
	.home-hero h1 {
		font-size: 32px;
	}
}

/* Mobile menu with a scrollable service directory */
@media (max-width: 900px) {
	.site-header {
		z-index: 100;
	}

	.site-nav {
		max-height: min(74dvh, calc(100dvh - 132px));
		overflow-y: auto;
		overscroll-behavior: contain;
		border-radius: 18px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.site-menu {
		gap: 8px;
		align-items: stretch;
		padding: 10px;
		border-color: rgba(47, 159, 227, 0.18);
		background: rgba(247, 252, 255, 0.98) !important;
	}

	.site-menu > li > a,
	.services-dropdown__button {
		width: 100%;
		justify-content: space-between;
		min-height: 42px;
		border: 1px solid rgba(47, 159, 227, 0.12);
		border-radius: 12px;
		background: var(--eco-white);
		color: var(--eco-primary) !important;
		box-shadow: none;
	}

	.site-menu__services {
		min-width: 0;
	}

	.services-dropdown__panel {
		position: static;
		width: 100%;
		max-height: none;
		margin-top: 8px;
		padding: 10px;
		overflow: visible;
		border-radius: 14px;
		background: var(--eco-white);
		box-shadow: inset 0 0 0 1px rgba(47, 159, 227, 0.08);
		backdrop-filter: none;
	}

	.services-dropdown__head {
		margin-bottom: 10px;
	}

	.services-dropdown__grid {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.site-menu .services-dropdown__item {
		min-height: 0;
		padding: 10px;
		border-radius: 12px;
	}

	.site-menu .services-dropdown__category {
		width: 100%;
	}

	.services-dropdown__subitems {
		display: grid;
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.site-menu .services-dropdown__subitems a {
		width: 100%;
		min-height: 34px;
		justify-content: flex-start;
		padding: 8px 10px;
		white-space: normal;
	}
}

@media (max-width: 390px) {
	.site-nav {
		max-height: calc(100dvh - 118px);
	}

	.services-dropdown__head small {
		display: none;
	}
}

/* Two-tone blue service palette */
:root {
	--eco-primary: #49a9e8;
	--eco-primary-deep: #258ed6;
	--eco-primary-soft: #eef8ff;
	--eco-accent: #258ed6;
	--eco-text: #343941;
	--eco-muted: #5f6975;
	--eco-soft: #f4f8fb;
	--eco-border: #d8edf9;
	--eco-dark: #2f343b;
	--eco-shadow: 0 18px 44px rgba(37, 142, 214, 0.14);
}

body {
	background: #ffffff;
	color: var(--eco-text);
}

a,
.site-header__phone,
.site-brand__text::first-letter,
.section-heading h2,
.seo-text h2,
.home-service-card--directory h2,
.home-service-card h2 a:hover {
	color: var(--eco-primary);
}

.site-header {
	border-top: 4px solid var(--eco-primary);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 8px 26px rgba(37, 142, 214, 0.08);
}

.site-header__top {
	border-bottom-color: rgba(73, 169, 232, 0.18);
}

.site-header__hours::before,
.home-service-card li::before,
.home-service-card--directory h2::before,
.service-context__card li::before,
.service-context__card--accent li::before {
	background: var(--eco-primary);
	box-shadow: none;
}

.site-menu {
	border: 0;
	background: var(--eco-primary);
	box-shadow: 0 10px 0 rgba(73, 169, 232, 0.14);
}

.site-header .site-menu a,
.site-header .services-dropdown__button,
.site-menu a,
.services-dropdown__button {
	color: #ffffff;
}

.site-menu a:hover,
.site-menu__services:hover .services-dropdown__button,
.site-menu__services.is-open .services-dropdown__button,
.site-menu .current-menu-item > a,
.site-menu .current_page_item > a {
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
	box-shadow: none;
}

.services-dropdown__panel,
.services-dropdown__panel::before {
	border-color: rgba(73, 169, 232, 0.2);
	background: rgba(255, 255, 255, 0.99);
}

.services-dropdown__head strong,
.services-dropdown__item strong,
.site-menu .services-dropdown__category,
.site-menu .services-dropdown__subitems a:hover {
	color: var(--eco-primary);
}

.site-menu .services-dropdown__item,
.site-menu .services-dropdown__subitems a {
	border-color: rgba(73, 169, 232, 0.14);
	background: #ffffff;
	color: var(--eco-text);
}

.button--primary,
.button--header,
.button--promo,
.mobile-action-bar__call,
.home-mini-card span,
.service-context__icon,
.service-context__card--accent .service-context__icon,
.home-review__avatar,
.home-review-form button[type="submit"],
.contact-section .contact-list__item::before,
.contact-section .contact-list__item--telegram::before {
	background: var(--eco-primary);
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(73, 169, 232, 0.24);
}

.button--primary:hover,
.button--header:hover,
.button--promo:hover,
.home-review-form button[type="submit"]:hover {
	background: var(--eco-primary-deep);
	color: #ffffff;
}

.button--ghost {
	border-color: rgba(73, 169, 232, 0.28);
	background: #ffffff;
	color: var(--eco-primary);
}

.button--ghost:hover {
	border-color: var(--eco-primary);
	background: var(--eco-primary-soft);
	color: var(--eco-primary-deep);
}

.home-hero,
.hero,
.home-services,
.service-context,
.home-reviews,
.section--soft {
	background: #ffffff;
}

.home-hero::before,
.home-hero::after,
.hero::before,
.hero::after,
.contact-section::before,
.home-reviews::before {
	display: none;
}

.hero__eyebrow {
	color: var(--eco-primary);
}

.hero__eyebrow span,
.section-heading h2::after,
.seo-text h2::after {
	background: var(--eco-primary);
}

.home-hero h1,
.hero h1 {
	color: var(--eco-primary);
	letter-spacing: 0;
}

.home-hero__subtitle,
.hero__subtitle,
.section-heading p,
.service-context__head p,
.home-review p,
.home-review-form p,
.contact-card__text {
	color: var(--eco-muted);
}

.home-mini-card,
.hero-badge,
.service-card,
.benefit,
.check-card,
.price-card,
.step-card,
.review-card,
.contact-card,
.form-card,
.team-card,
.certificate-card,
.seo-text,
.home-review,
.home-review-form,
.home-service-card,
.service-context__card {
	border-color: rgba(73, 169, 232, 0.16);
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(37, 142, 214, 0.09);
}

.home-mini-card strong,
.hero-badge strong,
.home-service-card h2 a,
.service-context__head h2,
.service-context__card h3,
.home-review h3,
.home-review-form h3,
.contact-section .section-heading h2 {
	color: var(--eco-dark);
}

.home-service-card__media,
.home-service-card--directory .home-service-card__media,
.hero__visual-frame {
	background:
		radial-gradient(circle at 34% 26%, #ffffff 0%, #f2faff 58%, #dff2ff 100%);
	box-shadow: inset 0 0 0 1px rgba(73, 169, 232, 0.14), 0 24px 58px rgba(73, 169, 232, 0.14);
}

.home-service-card--directory {
	border-color: rgba(73, 169, 232, 0.16);
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(37, 142, 214, 0.09);
}

.home-service-card--directory:hover,
.home-service-card--directory.is-active {
	border-color: rgba(73, 169, 232, 0.42);
	background: #ffffff;
	box-shadow: 0 24px 58px rgba(37, 142, 214, 0.16);
}

.home-service-card--directory .home-service-card__media::before {
	background: rgba(73, 169, 232, 0.12);
}

.home-service-card__link,
.home-review__tag {
	border-color: rgba(73, 169, 232, 0.18);
	background: var(--eco-primary-soft);
	color: var(--eco-primary);
}

.home-service-card__link:hover {
	background: var(--eco-primary);
	color: #ffffff;
}

.service-card::before {
	background: var(--eco-primary);
}

.service-context__card--accent {
	border-color: transparent;
	background: var(--eco-primary);
	color: #ffffff;
	box-shadow: 0 22px 54px rgba(37, 142, 214, 0.2);
}

.service-context__card--accent h3,
.service-context__card--accent li {
	color: #ffffff;
}

.service-context__card--accent .service-context__icon {
	background: #ffffff;
	color: var(--eco-primary);
	box-shadow: none;
}

.home-free-visit__inner,
.promo {
	background: var(--eco-primary);
	color: #ffffff;
	box-shadow: 0 22px 54px rgba(37, 142, 214, 0.22);
}

.home-free-visit__label,
.promo__discount {
	color: #ffffff;
}

.home-free-visit p,
.promo p {
	color: rgba(255, 255, 255, 0.86);
}

.home-free-visit .button,
.promo .button {
	background: #ffffff;
	color: var(--eco-primary);
	box-shadow: none;
}

/* Deal promo */
.promo-section {
	padding: 0;
	background: #f1f1f1;
}

.promo--deal {
	position: relative;
	grid-template-columns: minmax(280px, 45%) minmax(0, 1fr);
	gap: clamp(26px, 5vw, 70px);
	overflow: hidden;
	min-height: 410px;
	padding: 0 clamp(28px, 6vw, 86px);
	border: 0;
	border-radius: 0;
	background: #f1f1f1;
	color: var(--eco-text);
	box-shadow: none;
}

.promo--deal::before {
	display: none;
}

.promo--deal .promo__media {
	position: relative;
	z-index: 1;
	align-self: end;
	display: flex;
	justify-content: center;
	min-height: 410px;
}

.promo--deal .promo__img {
	width: auto;
	max-width: 100%;
	max-height: 430px;
	object-fit: contain;
	object-position: bottom center;
	filter: drop-shadow(0 16px 18px rgba(23, 33, 43, 0.08));
}

.promo--deal .promo__content {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 20px;
	align-content: center;
	justify-items: start;
	max-width: 560px;
	padding: 46px 0;
}

.promo__eyebrow {
	width: max-content;
	padding: 7px 12px;
	border-radius: 999px;
	background: #ffffff;
	color: var(--eco-primary);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

.promo--deal h2 {
	max-width: 560px;
	margin: 0;
	color: var(--eco-text);
	font-size: clamp(25px, 2.35vw, 35px);
	font-weight: 900;
	line-height: 1.28;
}

.promo--deal h2 span {
	color: var(--eco-primary);
}

.promo--deal p {
	max-width: 520px;
	margin: 0;
	color: var(--eco-muted);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.55;
}

.promo--deal .promo__discount {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	align-self: center;
	width: 146px;
	height: 146px;
	border: 8px solid #ffffff;
	border-radius: 50%;
	background: var(--eco-phone);
	color: #ffffff;
	font-size: 42px;
	box-shadow: 0 20px 42px rgba(244, 163, 72, 0.28);
}

.promo--deal .promo__discount span {
	display: block;
	margin-bottom: -10px;
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
}

.promo--deal .button--promo {
	grid-column: auto;
	justify-self: center;
	width: min(340px, 100%);
	min-height: 72px;
	border-radius: 0 0 18px 18px;
	background: #08aeea;
	color: #ffffff;
	box-shadow: inset 4px 0 0 rgba(0, 111, 164, 0.28), inset -4px 0 0 rgba(0, 111, 164, 0.28), inset 0 -5px 0 rgba(0, 111, 164, 0.24);
	font-size: 20px;
}

.promo--deal .button--promo:hover {
	background: #079ed6;
	color: #ffffff;
}

.promo-timer {
	display: grid;
	gap: 12px;
}

.promo-timer__label {
	color: var(--eco-text);
	font-size: 20px;
	font-weight: 500;
}

.promo-timer__items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.promo-timer__item {
	--timer-progress: 360deg;
	position: relative;
	display: grid;
	place-items: center;
	width: 118px;
	height: 118px;
	border-radius: 50%;
	background: conic-gradient(var(--eco-primary) var(--timer-progress), #dbeefb 0deg);
	box-shadow: inset 0 0 0 1px rgba(73, 169, 232, 0.08);
}

.promo-timer__item::before {
	content: "";
	position: absolute;
	inset: 7px;
	border-radius: inherit;
	background: #ffffff;
	box-shadow: inset 0 0 0 1px rgba(73, 169, 232, 0.1);
}

.promo-timer__item strong,
.promo-timer__item span {
	position: relative;
	z-index: 1;
}

.promo-timer__item strong {
	color: var(--eco-text);
	font-size: 48px;
	font-weight: 500;
	line-height: 1;
}

.promo-timer__item span {
	color: var(--eco-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.promo-timer__sep {
	color: #000000;
	font-size: 46px;
	font-weight: 700;
	line-height: 1;
}

@media (max-width: 980px) {
	.promo--deal {
		grid-template-columns: 1fr;
		padding: 24px;
		text-align: left;
	}

	.promo--deal .promo__media {
		min-height: 220px;
		order: -1;
	}

	.promo--deal .promo__img {
		max-height: 260px;
	}

	.promo--deal .promo__content {
		padding: 0 0 26px;
	}

	.promo--deal .promo__discount {
		position: absolute;
		top: 22px;
		right: 22px;
		width: 108px;
		height: 108px;
		font-size: 30px;
	}
}

@media (max-width: 620px) {
	.promo--deal {
		padding: 18px;
		border-radius: 0;
	}

	.promo--deal::before {
		inset: 10px;
		border-radius: 18px;
	}

	.promo--deal .promo__media {
		min-height: 180px;
		padding-right: 90px;
	}

	.promo--deal h2 {
		font-size: 27px;
	}

	.promo--deal p {
		font-size: 15px;
	}

	.promo-timer__items {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
	}

	.promo-timer__sep {
		display: none;
	}

	.promo-timer__item {
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}

	.promo-timer__item strong {
		font-size: 28px;
	}

	.promo--deal .button--promo {
		width: 100%;
		justify-content: center;
		min-height: 58px;
		font-size: 16px;
	}
}

.home-reviews {
	background: var(--eco-primary-soft);
}

.home-review::before {
	color: rgba(73, 169, 232, 0.16);
}

.home-review:nth-child(3n) {
	background: #ffffff;
}

.contact-section {
	background: var(--eco-primary);
	color: #ffffff;
}

.contact-section .section-heading h2,
.contact-section .section-heading p,
.contact-card__text {
	color: #ffffff;
}

.contact-section .section-heading h2::after {
	background: #ffffff;
}

.contact-section .contact-card,
.contact-section .form-card,
.contact-section .contact-list__item {
	border-color: rgba(255, 255, 255, 0.36);
	background: #ffffff;
	color: var(--eco-text);
	box-shadow: 0 22px 54px rgba(22, 93, 143, 0.18);
}

.contact-section .contact-list__item span {
	color: var(--eco-primary);
}

.mobile-action-bar {
	border-color: rgba(73, 169, 232, 0.18);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 18px 44px rgba(37, 142, 214, 0.18);
}

.site-footer {
	background: var(--eco-primary);
	color: rgba(255, 255, 255, 0.82);
	border-top: 0;
}

.site-footer a,
.site-footer .site-brand,
.site-footer__text {
	color: #ffffff;
}

.site-footer__bottom {
	border-top-color: rgba(255, 255, 255, 0.22);
	color: rgba(255, 255, 255, 0.72);
}

.site-footer .site-brand__text::first-letter {
	color: #ffffff;
}

@media (max-width: 900px) {
	.site-menu {
		border: 1px solid rgba(73, 169, 232, 0.18);
		background: var(--eco-primary-soft) !important;
		box-shadow: 0 18px 44px rgba(37, 142, 214, 0.14);
	}

	.site-menu > li > a,
	.services-dropdown__button {
		border-color: rgba(73, 169, 232, 0.14);
		background: #ffffff;
		color: var(--eco-primary) !important;
	}

	.services-dropdown__tabs {
		display: flex;
		gap: 8px;
		padding: 0 0 10px;
		overflow-x: auto;
	}

	.services-dropdown__tabs button {
		display: inline-flex;
		align-items: center;
		min-height: 34px;
		padding: 7px 11px;
		border: 1px solid rgba(73, 169, 232, 0.16);
		border-radius: 999px;
		background: #ffffff;
		color: var(--eco-text);
		font-family: inherit;
		font-size: 12px;
		font-weight: 800;
		white-space: nowrap;
		cursor: pointer;
	}

	.services-dropdown__tabs button:hover,
	.services-dropdown__tabs button:focus-visible,
	.services-dropdown__tabs button.is-active {
		border-color: rgba(73, 169, 232, 0.38);
		background: var(--eco-primary-soft);
		color: var(--eco-primary);
		outline: none;
	}

	.services-dropdown__layout {
		display: grid;
		gap: 10px;
	}

	.services-dropdown__list {
		display: grid;
		gap: 8px;
	}

	.site-menu .services-dropdown__item,
	.site-menu .services-dropdown__item:hover,
	.site-menu .services-dropdown__item.is-active {
		display: grid;
		gap: 8px;
		min-height: 0;
		padding: 10px;
		border: 1px solid rgba(73, 169, 232, 0.12);
		border-radius: 14px;
		background: #ffffff;
		box-shadow: none;
	}

	.site-menu .services-dropdown__category,
	.site-menu .services-dropdown__category:hover,
	.site-menu .services-dropdown__item:hover .services-dropdown__category,
	.site-menu .services-dropdown__item.is-active .services-dropdown__category {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 34px;
		padding: 0;
		background: transparent;
		color: var(--eco-primary);
	}

	.services-dropdown__category span,
	.services-dropdown__subitems a span {
		display: none;
	}

	.services-dropdown__subitems {
		position: static;
		display: grid;
		grid-template-columns: 1fr;
		gap: 6px;
		max-height: none;
		padding: 0;
		overflow: visible;
		background: transparent;
	}

	.services-dropdown__subhead {
		display: none;
	}

	.site-menu .services-dropdown__subitems a,
	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active {
		display: flex;
		width: 100%;
		min-height: 34px;
		justify-content: flex-start;
		padding: 8px 10px;
		border: 1px solid rgba(73, 169, 232, 0.14);
		border-radius: 10px;
		background: #f7fcff;
		color: var(--eco-text);
		font-size: 13px;
		font-weight: 700;
		white-space: normal;
	}

	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active {
		border-color: rgba(73, 169, 232, 0.38);
		color: var(--eco-primary);
	}

	.services-dropdown__aside {
		display: none;
	}
}

/* Section stability fixes after palette update */
#why .benefit-grid {
	align-items: stretch;
}

#why .benefit,
#why .benefit--primary,
#why .benefit--accent {
	display: grid;
	align-content: start;
	min-height: 0;
	border: 1px solid rgba(73, 169, 232, 0.16);
	background: #ffffff;
	color: var(--eco-text);
	box-shadow: 0 18px 42px rgba(37, 142, 214, 0.09);
}

#why .benefit__icon,
#why .benefit--primary .benefit__icon,
#why .benefit--accent .benefit__icon {
	background: var(--eco-primary);
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(73, 169, 232, 0.24);
}

#why .benefit h3 {
	color: var(--eco-dark);
}

#why .benefit p,
#why .benefit--light p,
#why .benefit--primary p,
#why .benefit--accent p {
	color: var(--eco-muted);
}

.home-review-grid {
	align-items: stretch;
}

.home-review,
.home-review:nth-child(2n),
.home-review:nth-child(3n) {
	min-height: 0;
	transform: none;
	background: #ffffff;
}

.home-review-action {
	margin-top: 30px;
}

.contact-section .contact-card .contact-card__text,
.contact-section .contact-card .contact-card__text p {
	color: var(--eco-muted);
}

/* Brand messenger colors and warm phone accent */
:root {
	--eco-phone: #f4a348;
	--eco-phone-soft: #fff6eb;
	--eco-whatsapp: #25d366;
	--eco-telegram: #229ed9;
}

.site-header__phone {
	color: var(--eco-phone);
	font-weight: 800;
}

.site-header__phone:hover {
	color: #e18b2d;
	text-decoration: none;
}

.messenger--wa,
.mobile-action-bar__whatsapp {
	background: var(--eco-whatsapp);
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(37, 211, 102, 0.22);
}

.messenger--tg {
	background: var(--eco-telegram);
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(34, 158, 217, 0.22);
}

.contact-section .contact-list__item--whatsapp::before {
	background: var(--eco-whatsapp);
}

.contact-section .contact-list__item--telegram::before {
	background: var(--eco-telegram);
}

@media (max-width: 640px) {
	.site-header__phone {
		border-color: rgba(244, 163, 72, 0.32);
		background: var(--eco-phone-soft);
		color: var(--eco-phone);
	}
}

.button--primary,
.button--header,
.home-review-form button[type="submit"] {
	background: var(--eco-phone);
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(244, 163, 72, 0.26);
}

.button--primary:hover,
.button--header:hover,
.home-review-form button[type="submit"]:hover {
	background: #e18b2d;
	color: #ffffff;
}

.hero__actions .button--ghost,
a[href*="wa.me"].button--ghost,
a[href*="whatsapp"].button--ghost {
	border-color: rgba(37, 211, 102, 0.28);
	background: var(--eco-whatsapp);
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(37, 211, 102, 0.22);
}

.hero__actions .button--ghost:hover,
a[href*="wa.me"].button--ghost:hover,
a[href*="whatsapp"].button--ghost:hover {
	border-color: var(--eco-whatsapp);
	background: #17ad51;
	color: #ffffff;
}

.contact-list__item--whatsapp strong {
	color: var(--eco-whatsapp);
}

a.button[href*="api.whatsapp.com"],
a.button[href*="wa.me"],
a.button[href*="whatsapp"] {
	border-color: var(--eco-whatsapp);
	background: var(--eco-whatsapp);
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(37, 211, 102, 0.22);
}

a.button[href*="api.whatsapp.com"]:hover,
a.button[href*="wa.me"]:hover,
a.button[href*="whatsapp"]:hover {
	border-color: #17ad51;
	background: #17ad51;
	color: #ffffff;
}

/* Keep service dropdown readable on hover */
.site-menu__services:hover .services-dropdown__button,
.site-menu__services:focus-within .services-dropdown__button,
.site-menu__services.is-open .services-dropdown__button {
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
}

.site-menu .services-dropdown__item,
.site-menu .services-dropdown__item:hover,
.site-menu .services-dropdown__item.is-active {
	color: var(--eco-text);
}

.site-menu .services-dropdown__category,
.site-menu .services-dropdown__category:hover,
.site-menu .services-dropdown__item:hover .services-dropdown__category,
.site-menu .services-dropdown__item.is-active .services-dropdown__category {
	background: transparent;
	color: var(--eco-primary);
}

.site-menu .services-dropdown__subitems a {
	border: 1px solid rgba(73, 169, 232, 0.16);
	background: #ffffff;
	color: var(--eco-text);
}

.site-menu .services-dropdown__subitems a:hover,
.site-menu .services-dropdown__subitems a.is-active {
	border-color: var(--eco-primary);
	background: #ffffff;
	color: var(--eco-primary);
}

@media (min-width: 901px) {
	.site-header__nav-inner {
		position: relative;
	}

	.site-menu__services {
		position: static;
	}

	.services-dropdown__panel {
		top: calc(100% + 10px);
		left: 50%;
		width: min(1160px, calc(100vw - 32px));
		max-height: min(72vh, 620px);
		padding: 0;
		overflow: hidden;
		border-radius: 22px;
		transform: translateX(-50%);
		backdrop-filter: none;
	}

	.services-dropdown__panel::before {
		display: none;
	}

	.services-dropdown__head {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid rgba(73, 169, 232, 0.12);
	}

	.services-dropdown__tabs {
		display: flex;
		align-items: center;
		gap: 0;
		min-height: 52px;
		padding: 0 24px;
		overflow-x: auto;
	}

	.services-dropdown__tabs button {
		position: relative;
		display: inline-flex;
		align-items: center;
		min-height: 52px;
		padding: 0 18px;
		border: 0;
		background: transparent;
		color: var(--eco-text);
		font-family: inherit;
		font-size: 14px;
		font-weight: 700;
		white-space: nowrap;
		cursor: pointer;
	}

	.services-dropdown__tabs button:hover,
	.services-dropdown__tabs button:focus-visible,
	.services-dropdown__tabs button.is-active {
		color: var(--eco-primary);
		outline: none;
	}

	.services-dropdown__tabs button.is-active::after {
		content: "";
		position: absolute;
		right: 12px;
		bottom: 0;
		left: 12px;
		height: 3px;
		border-radius: 999px 999px 0 0;
		background: var(--eco-primary);
	}

	.services-dropdown__layout {
		position: relative;
		display: grid;
		grid-template-columns: 300px 320px minmax(260px, 1fr);
		min-height: 430px;
		max-height: min(68vh, 560px);
		overflow: hidden;
		overscroll-behavior: contain;
	}

	.services-dropdown__list {
		position: relative;
		z-index: 2;
		grid-column: 1;
		max-height: inherit;
		overflow-y: auto;
		border-right: 1px solid rgba(73, 169, 232, 0.12);
		background: #ffffff;
		scrollbar-gutter: stable;
		-webkit-overflow-scrolling: touch;
	}

	.services-dropdown__list::-webkit-scrollbar,
	.services-dropdown__subitems::-webkit-scrollbar {
		width: 8px;
	}

	.services-dropdown__list::-webkit-scrollbar-track,
	.services-dropdown__subitems::-webkit-scrollbar-track {
		background: #eef8ff;
		border-radius: 999px;
	}

	.services-dropdown__list::-webkit-scrollbar-thumb,
	.services-dropdown__subitems::-webkit-scrollbar-thumb {
		background: rgba(73, 169, 232, 0.55);
		border-radius: 999px;
	}

	.site-menu .services-dropdown__item,
	.site-menu .services-dropdown__item:hover,
	.site-menu .services-dropdown__item.is-active {
		display: block;
		min-height: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.site-menu .services-dropdown__category,
	.site-menu .services-dropdown__category:hover,
	.site-menu .services-dropdown__item:hover .services-dropdown__category,
	.site-menu .services-dropdown__item:focus-within .services-dropdown__category,
	.site-menu .services-dropdown__item.is-active .services-dropdown__category {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		min-height: 42px;
		padding: 11px 24px;
		border-radius: 0;
		background: transparent;
		color: var(--eco-text);
		text-decoration: none;
	}

	.services-dropdown__category strong {
		color: inherit;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.3;
	}

	.services-dropdown__category span {
		width: 7px;
		height: 7px;
		border-top: 1.8px solid currentColor;
		border-right: 1.8px solid currentColor;
		opacity: 0.42;
		transform: rotate(45deg);
	}

	.site-menu .services-dropdown__item:hover .services-dropdown__category,
	.site-menu .services-dropdown__item:focus-within .services-dropdown__category,
	.site-menu .services-dropdown__item.is-menu-current .services-dropdown__category,
	.site-menu .services-dropdown__item.is-active .services-dropdown__category {
		background: #f2faff;
		color: var(--eco-primary);
	}

	.services-dropdown__subitems {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 300px;
		z-index: 1;
		display: none;
		width: 320px;
		padding: 18px 0;
		overflow-y: auto;
		border-right: 1px solid rgba(73, 169, 232, 0.12);
		background: #fbfdff;
	}

	.services-dropdown__item.is-first .services-dropdown__subitems,
	.services-dropdown__item.is-menu-current .services-dropdown__subitems,
	.services-dropdown__item.is-active .services-dropdown__subitems,
	.services-dropdown__item:hover .services-dropdown__subitems,
	.services-dropdown__item:focus-within .services-dropdown__subitems {
		display: block;
	}

	.services-dropdown__list:hover .services-dropdown__item.is-first:not(.is-menu-current):not(:hover):not(:focus-within):not(.is-active) .services-dropdown__subitems {
		display: none;
	}

	.services-dropdown__subhead {
		display: grid;
		gap: 3px;
		padding: 0 24px 12px;
	}

	.services-dropdown__subhead strong {
		color: var(--eco-primary);
		font-size: 14px;
		font-weight: 900;
		line-height: 1.3;
	}

	.services-dropdown__subhead small {
		color: var(--eco-muted);
		font-size: 12px;
		line-height: 1.35;
	}

	.site-menu .services-dropdown__subitems a,
	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		width: 100%;
		min-height: 40px;
		padding: 10px 24px;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: var(--eco-text);
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
		text-decoration: none;
		box-shadow: none;
	}

	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active {
		background: #eef9ff;
		color: var(--eco-primary);
	}

	.services-dropdown__subitems a span {
		width: 7px;
		height: 7px;
		border-top: 1.8px solid currentColor;
		border-right: 1.8px solid currentColor;
		opacity: 0.38;
		transform: rotate(45deg);
	}

	.services-dropdown__aside {
		grid-column: 3;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 12px;
		padding: 34px;
		background:
			radial-gradient(circle at 50% 32%, rgba(73, 169, 232, 0.08), transparent 34%),
			#ffffff;
		text-align: center;
	}

	.services-dropdown__aside > span {
		color: rgba(38, 49, 61, 0.36);
		font-size: 42px;
		font-weight: 300;
		line-height: 1;
	}

	.services-dropdown__aside strong {
		color: var(--eco-primary);
		font-size: 18px;
		font-weight: 900;
	}

	.services-dropdown__aside p {
		max-width: 360px;
		margin: 0;
		color: var(--eco-muted);
		font-size: 14px;
		line-height: 1.6;
	}

	.site-menu .services-dropdown__cta,
	.site-menu .services-dropdown__cta:hover {
		min-height: 40px;
		margin-top: 4px;
		padding: 10px 18px;
		border-radius: 999px;
		background: var(--eco-primary);
		color: #ffffff;
		font-size: 13px;
		font-weight: 800;
	}
}

/* Footer refresh */
.site-footer {
	background: #f1f3f5;
	color: var(--eco-muted);
	border-top: 1px solid rgba(52, 57, 65, 0.08);
}

.site-footer a,
.site-footer .site-brand,
.site-footer__text {
	color: var(--eco-text);
}

.site-footer__text {
	color: var(--eco-muted);
}

.site-footer__grid {
	align-items: start;
}

.site-footer .site-brand__text::first-letter {
	color: var(--eco-primary);
}

.footer-menu a {
	color: var(--eco-muted);
	font-weight: 700;
}

.footer-menu a:hover {
	color: var(--eco-primary);
	text-decoration: none;
}

.site-footer__contacts {
	gap: 8px;
}

.site-footer__contact {
	position: relative;
	display: grid;
	gap: 2px;
	min-height: 58px;
	padding: 10px 12px 10px 16px;
	overflow: hidden;
	border: 1px solid rgba(52, 57, 65, 0.08);
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 10px 26px rgba(37, 142, 214, 0.06);
}

.site-footer__contact::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: var(--eco-primary);
}

.site-footer__contact span,
.site-footer__contact strong {
	position: relative;
	z-index: 1;
}

.site-footer__contact span {
	color: var(--eco-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.site-footer__contact strong {
	font-size: 15px;
	font-weight: 800;
	line-height: 1.25;
}

.site-footer__contact--phone::before {
	background: var(--eco-phone);
}

.site-footer__contact--phone strong {
	color: var(--eco-phone);
}

.site-footer__contact--whatsapp::before {
	background: var(--eco-whatsapp);
}

.site-footer__contact--whatsapp strong {
	color: var(--eco-whatsapp);
}

.site-footer__contact--telegram::before {
	background: var(--eco-telegram);
}

.site-footer__contact--telegram strong {
	color: var(--eco-telegram);
}

.site-footer__contact--address strong {
	color: var(--eco-text);
}

.site-footer__contact--contract::before {
	background: var(--eco-primary);
}

.site-footer__contact--contract strong {
	color: var(--eco-primary);
}

.contact-map-card {
	display: grid;
	gap: 16px;
	padding: 22px;
	border: 1px solid rgba(73, 169, 232, 0.16);
	border-radius: 22px;
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(37, 142, 214, 0.09);
}

.contact-map-card__head {
	display: grid;
	gap: 8px;
}

.contact-map-card__head span {
	width: max-content;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--eco-primary);
	color: #ffffff;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.contact-map-card__head h3 {
	margin: 0;
	color: var(--eco-dark);
	font-size: 24px;
	font-weight: 900;
	line-height: 1.2;
}

.contact-map-card__head p {
	margin: 0;
	color: var(--eco-muted);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.55;
}

.contact-map-card__head a {
	justify-self: start;
	color: var(--eco-primary);
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
}

.contact-map-card__head a:hover {
	text-decoration: underline;
}

.contact-map-card__frame {
	overflow: hidden;
	min-height: 320px;
	border-radius: 18px;
	background: var(--eco-primary-soft);
}

.contact-map-card__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	border: 0;
}

@media (max-width: 900px) {
	.contact-map-card {
		padding: 16px;
	}

	.contact-map-card__frame,
	.contact-map-card__frame iframe {
		min-height: 260px;
	}
}

/* Contact section final layout */
.contact-section {
	background:
		linear-gradient(180deg, #f4faff 0%, #ffffff 100%);
	color: var(--eco-text);
}

.contact-section::before {
	display: none;
}

.contact-section .container {
	max-width: 1180px;
}

.contact-section .section-heading {
	max-width: 760px;
	margin: 0 auto 30px;
}

.contact-section .section-heading h2 {
	color: var(--eco-dark);
}

.contact-section .section-heading p,
.contact-section .contact-card .contact-card__text,
.contact-section .contact-card .contact-card__text p {
	color: var(--eco-muted);
}

.contact-section .section-heading h2::after {
	background: var(--eco-primary);
}

.contact-section .contact-grid {
	display: grid;
	grid-template-columns: minmax(360px, 0.92fr) minmax(520px, 1.35fr);
	align-items: stretch;
	gap: 26px;
	max-width: 1120px;
	margin: 0 auto;
}

.contact-section .contact-card,
.contact-section .contact-map-card {
	border: 1px solid rgba(73, 169, 232, 0.18);
	border-radius: 26px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(37, 142, 214, 0.11);
}

.contact-section .contact-card {
	display: grid;
	align-content: center;
	padding: 26px;
}

.contact-section .contact-card__text {
	max-width: none;
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.65;
}

.contact-section .contact-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin: 0;
}

.contact-section .contact-list__item {
	display: grid;
	gap: 7px;
	min-height: 74px;
	padding: 16px 18px 16px 20px;
	border: 1px solid rgba(73, 169, 232, 0.14);
	border-radius: 18px;
	background:
		linear-gradient(135deg, rgba(73, 169, 232, 0.06), rgba(255, 255, 255, 0.96)),
		#ffffff;
	box-shadow: none;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-section .contact-list__item:hover {
	border-color: rgba(73, 169, 232, 0.34);
	box-shadow: 0 14px 34px rgba(37, 142, 214, 0.1);
	transform: translateY(-2px);
}

.contact-section .contact-list__item span,
.contact-section .contact-list__item strong {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

.contact-section .contact-list__item span {
	color: var(--eco-primary);
	font-size: 11px;
	letter-spacing: 0.04em;
}

.contact-section .contact-list__item strong {
	color: var(--eco-dark);
	font-size: clamp(16px, 1.4vw, 19px);
	font-weight: 900;
	line-height: 1.2;
}

.contact-section .contact-list__item--phone strong,
.contact-section .contact-list__item--address strong {
	color: var(--eco-phone);
}

.contact-section .contact-list__item--whatsapp::before {
	background: var(--eco-whatsapp);
}

.contact-section .contact-list__item--whatsapp strong {
	color: var(--eco-whatsapp);
}

.contact-section .contact-list__item--telegram::before {
	background: var(--eco-telegram);
}

.contact-section .contact-list__item--telegram strong {
	color: var(--eco-telegram);
}

.contact-section .contact-map-card {
	padding: 18px;
}

.contact-section .contact-map-card__head {
	grid-template-columns: 1fr auto;
	align-items: start;
	gap: 8px 18px;
	padding: 4px 4px 0;
}

.contact-section .contact-map-card__head span {
	grid-column: 1;
	grid-row: 1;
	background: var(--eco-primary);
}

.contact-section .contact-map-card__head h3 {
	grid-column: 1;
	margin-top: 2px;
	font-size: clamp(22px, 2vw, 30px);
}

.contact-section .contact-map-card__head p {
	grid-column: 1;
	max-width: 520px;
}

.contact-section .contact-map-card__head a {
	grid-column: 2;
	grid-row: 1 / span 3;
	align-self: center;
	padding: 11px 15px;
	border-radius: 999px;
	background: var(--eco-primary-soft);
	color: var(--eco-primary);
	text-decoration: none;
	white-space: nowrap;
}

.contact-section .contact-map-card__head a:hover {
	background: var(--eco-primary);
	color: #ffffff;
	text-decoration: none;
}

.contact-section .contact-map-card__frame {
	min-height: 360px;
	margin-top: 14px;
	border: 1px solid rgba(73, 169, 232, 0.14);
	border-radius: 22px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.contact-section .contact-map-card__frame iframe {
	min-height: 360px;
}

@media (max-width: 1050px) {
	.contact-section .contact-grid {
		grid-template-columns: 1fr;
		max-width: 760px;
	}

	.contact-section .contact-card {
		align-content: start;
	}

	.contact-section .contact-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.contact-section .contact-card,
	.contact-section .contact-map-card {
		border-radius: 20px;
	}

	.contact-section .contact-card {
		padding: 18px;
	}

	.contact-section .contact-list,
	.contact-section .contact-map-card__head {
		grid-template-columns: 1fr;
	}

	.contact-section .contact-map-card__head a {
		grid-column: 1;
		grid-row: auto;
		justify-self: start;
		white-space: normal;
	}

	.contact-section .contact-map-card__frame,
	.contact-section .contact-map-card__frame iframe {
		min-height: 280px;
	}
}

.site-footer__bottom {
	border-top-color: rgba(52, 57, 65, 0.1);
	color: var(--eco-muted);
}

body.has-equipment-modal {
	overflow: hidden;
}

.equipment-contact-modal[hidden] {
	display: none;
}

.equipment-contact-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
}

.equipment-contact-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(31, 52, 68, 0.46);
	backdrop-filter: blur(10px);
}

.equipment-contact-modal__dialog {
	position: relative;
	width: min(100%, 520px);
	padding: 30px;
	border: 1px solid rgba(73, 169, 232, 0.22);
	border-radius: 26px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 249, 255, 0.98)),
		#ffffff;
	box-shadow: 0 28px 80px rgba(24, 79, 116, 0.24);
}

.equipment-contact-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(73, 169, 232, 0.18);
	border-radius: 50%;
	background: #ffffff;
	color: var(--eco-dark);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 12px 30px rgba(37, 142, 214, 0.12);
}

.equipment-contact-modal__close:hover,
.equipment-contact-modal__close:focus-visible {
	border-color: rgba(73, 169, 232, 0.48);
	outline: none;
}

.equipment-contact-modal__head {
	padding-right: 36px;
}

.equipment-contact-modal__head span {
	display: inline-flex;
	margin-bottom: 10px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(73, 169, 232, 0.1);
	color: var(--eco-primary);
	font-size: 13px;
	font-weight: 800;
}

.equipment-contact-modal__head h2 {
	margin: 0 0 10px;
	color: var(--eco-dark);
	font-size: clamp(25px, 5vw, 34px);
	font-weight: 900;
	line-height: 1.1;
}

.equipment-contact-modal__head p {
	margin: 0;
	color: var(--eco-muted);
	font-size: 16px;
	line-height: 1.65;
}

.equipment-contact-modal__actions {
	display: grid;
	gap: 12px;
	margin-top: 24px;
}

.equipment-contact-modal__action {
	display: grid;
	gap: 4px;
	padding: 16px 18px;
	border: 1px solid rgba(73, 169, 232, 0.18);
	border-radius: 18px;
	background: #ffffff;
	text-decoration: none;
	box-shadow: 0 14px 34px rgba(37, 142, 214, 0.1);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.equipment-contact-modal__action:hover,
.equipment-contact-modal__action:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(73, 169, 232, 0.45);
	box-shadow: 0 18px 40px rgba(37, 142, 214, 0.16);
	outline: none;
}

.equipment-contact-modal__action span {
	color: var(--eco-muted);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.equipment-contact-modal__action strong {
	font-size: 18px;
	font-weight: 900;
	line-height: 1.25;
}

.equipment-contact-modal__action--phone strong {
	color: var(--eco-phone);
}

.equipment-contact-modal__action--whatsapp strong {
	color: var(--eco-whatsapp);
}

.equipment-contact-modal__action--telegram strong {
	color: var(--eco-telegram);
}

@media (max-width: 520px) {
	.equipment-contact-modal {
		align-items: flex-end;
		padding: 12px;
	}

	.equipment-contact-modal__dialog {
		padding: 24px 18px 18px;
		border-radius: 24px;
	}

	.equipment-contact-modal__head {
		padding-right: 38px;
	}
}

/* Keep uploaded service images looking like objects, not stretched backgrounds. */
.home-service-card--directory .home-service-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.home-service-card--directory .home-service-card__img {
	width: 82%;
	height: 82%;
	border-radius: 0;
	object-fit: contain;
	object-position: center;
	transform: none;
}

.home-service-card--directory:hover .home-service-card__img {
	transform: scale(1.04);
}

.service-equipment__card {
	align-content: start;
}

.service-equipment__card img,
.service-equipment__placeholder {
	box-sizing: border-box;
	height: auto;
	padding: 16px;
	border-radius: 18px;
	background:
		radial-gradient(circle at 35% 26%, #ffffff 0%, #f3fbff 58%, #e3f4ff 100%);
	object-fit: contain;
	object-position: center;
}

.service-equipment__card img {
	display: block;
	max-height: 150px;
}

@media (max-width: 760px) {
	.home-service-card--directory .home-service-card__media {
		width: 136px;
		height: 136px;
		padding: 14px;
	}

	.home-service-card--directory .home-service-card__img {
		width: 84%;
		height: 84%;
	}

	.service-equipment__card img,
	.service-equipment__placeholder {
		max-height: 136px;
		padding: 14px;
	}

	.service-equipment {
		margin-top: 28px;
	}

	.service-equipment h3 {
		margin-bottom: 14px;
		font-size: 24px;
		font-weight: 700;
		letter-spacing: 0;
	}

	.service-equipment__grid {
		gap: 14px;
	}

	.service-equipment__card {
		gap: 10px;
		min-height: 0;
		padding: 12px;
		border-radius: 16px;
	}

	.service-equipment__card strong {
		font-size: 14px;
		font-weight: 600;
		line-height: 1.28;
	}
}

/* Mega-menu text contrast guard. */
.services-dropdown__panel,
.services-dropdown__panel strong,
.services-dropdown__panel small,
.services-dropdown__panel p,
.site-menu .services-dropdown__panel a,
.site-menu .services-dropdown__panel a:hover,
.site-menu .services-dropdown__panel button {
	color: var(--eco-text);
}

.services-dropdown__tabs button.is-active,
.services-dropdown__tabs button:hover,
.services-dropdown__tabs button:focus-visible,
.site-menu .services-dropdown__category,
.site-menu .services-dropdown__category:hover,
.site-menu .services-dropdown__item:hover .services-dropdown__category,
.site-menu .services-dropdown__item:focus-within .services-dropdown__category,
.site-menu .services-dropdown__item.is-active .services-dropdown__category,
.site-menu .services-dropdown__subitems a:hover,
.site-menu .services-dropdown__subitems a.is-active,
.services-dropdown__subhead strong,
.services-dropdown__aside strong {
	color: var(--eco-primary);
}

/* Mega-menu hierarchy: direction -> subcategory -> service -> work/equipment types. */
.services-dropdown__groups,
.services-dropdown__group,
.services-dropdown__sections,
.services-dropdown__cards,
.services-dropdown__section-panel {
	min-width: 0;
}

.services-dropdown__group,
.services-dropdown__section-panel {
	display: none;
}

.services-dropdown__group.is-active,
.services-dropdown__section-panel.is-active {
	display: block;
}

.services-dropdown__section {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	border: 0;
	background: transparent;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
}

.services-dropdown__section strong {
	color: inherit;
}

.services-dropdown__section span,
.services-dropdown__category span,
.services-dropdown__subitems a span {
	display: block;
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-top: 1.8px solid currentColor;
	border-right: 1.8px solid currentColor;
	opacity: 0.42;
	transform: rotate(45deg);
}

.services-dropdown__citybar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(73, 169, 232, 0.12);
	background: linear-gradient(135deg, #f7fcff 0%, #ffffff 72%);
}

.services-dropdown__city-current {
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
}

.services-dropdown__city-current span {
	color: var(--eco-muted);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

.services-dropdown__city-current strong {
	color: var(--eco-primary);
	font-size: 16px;
	font-weight: 900;
	line-height: 1.2;
}

.services-dropdown__cities {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	min-width: 0;
}

.site-menu .services-dropdown__cities a,
.site-menu .services-dropdown__cities a:hover {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 7px 13px;
	border: 1px solid rgba(73, 169, 232, 0.24);
	border-radius: 999px;
	background: #ffffff;
	color: var(--eco-text);
	font-size: 13px;
	font-weight: 850;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: none;
}

.site-menu .services-dropdown__cities a:hover,
.site-menu .services-dropdown__cities a.is-active {
	border-color: var(--eco-primary);
	background: var(--eco-primary);
	color: #ffffff;
}

.services-dropdown__empty {
	display: grid;
	gap: 6px;
	margin: 14px 18px 0;
	padding: 16px 18px;
	border: 1px dashed rgba(73, 169, 232, 0.34);
	border-radius: 16px;
	background: #f7fcff;
	color: var(--eco-text);
}

.services-dropdown__empty strong {
	color: var(--eco-primary);
	font-size: 15px;
	font-weight: 900;
}

.services-dropdown__empty p {
	margin: 0;
	color: var(--eco-muted);
	font-size: 13px;
	line-height: 1.45;
}

@media (min-width: 901px) {
	.services-dropdown__layout {
		position: relative;
		display: block;
		min-height: 430px;
		max-height: min(68vh, 560px);
		overflow: hidden;
		overscroll-behavior: contain;
	}

	.services-dropdown__groups {
		min-height: inherit;
		max-height: inherit;
	}

	.services-dropdown__group.is-active {
		position: relative;
		display: grid !important;
		grid-template-columns: 260px 320px minmax(360px, 1fr);
		min-height: inherit;
		max-height: inherit;
		background: #ffffff;
	}

	.services-dropdown__group:not(.is-active),
	.services-dropdown__section-panel:not(.is-active) {
		display: none !important;
	}

	.services-dropdown__sections {
		grid-column: 1;
		max-height: inherit;
		overflow-y: auto;
		border-right: 1px solid rgba(73, 169, 232, 0.12);
		background: #ffffff;
		scrollbar-gutter: stable;
		-webkit-overflow-scrolling: touch;
	}

	.services-dropdown__section {
		min-height: 48px;
		padding: 13px 22px;
		color: var(--eco-text);
		font-size: 14px;
		font-weight: 800;
		line-height: 1.25;
	}

	.services-dropdown__section:hover,
	.services-dropdown__section:focus-visible,
	.services-dropdown__section.is-active {
		background: #eaf7ff;
		color: var(--eco-primary);
		outline: none;
	}

	.services-dropdown__cards {
		grid-column: 2;
		max-height: inherit;
		overflow-y: auto;
		border-right: 1px solid rgba(73, 169, 232, 0.12);
		background: #ffffff;
		scrollbar-gutter: stable;
		-webkit-overflow-scrolling: touch;
	}

	.services-dropdown__sections::-webkit-scrollbar,
	.services-dropdown__cards::-webkit-scrollbar,
	.services-dropdown__subitems::-webkit-scrollbar {
		width: 8px;
	}

	.services-dropdown__sections::-webkit-scrollbar-track,
	.services-dropdown__cards::-webkit-scrollbar-track,
	.services-dropdown__subitems::-webkit-scrollbar-track {
		background: #eef8ff;
		border-radius: 999px;
	}

	.services-dropdown__sections::-webkit-scrollbar-thumb,
	.services-dropdown__cards::-webkit-scrollbar-thumb,
	.services-dropdown__subitems::-webkit-scrollbar-thumb {
		background: rgba(73, 169, 232, 0.55);
		border-radius: 999px;
	}

	.site-menu .services-dropdown__item,
	.site-menu .services-dropdown__item:hover,
	.site-menu .services-dropdown__item.is-active {
		display: block;
		min-height: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.site-menu .services-dropdown__category,
	.site-menu .services-dropdown__category:hover,
	.site-menu .services-dropdown__item:hover .services-dropdown__category,
	.site-menu .services-dropdown__item:focus-within .services-dropdown__category,
	.site-menu .services-dropdown__item.is-active .services-dropdown__category {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		min-height: 46px;
		padding: 12px 22px;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: var(--eco-text);
		text-decoration: none;
	}

	.services-dropdown__category strong {
		color: inherit;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.28;
	}

	.site-menu .services-dropdown__item:hover .services-dropdown__category,
	.site-menu .services-dropdown__item:focus-within .services-dropdown__category,
	.site-menu .services-dropdown__item.is-menu-current .services-dropdown__category,
	.site-menu .services-dropdown__item.is-active .services-dropdown__category {
		background: #f2faff;
		color: var(--eco-primary);
	}

	.services-dropdown__subitems {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 580px;
		z-index: 3;
		display: none;
		width: auto;
		max-height: none;
		padding: 22px 0;
		overflow-y: auto;
		border: 0;
		background:
			radial-gradient(circle at 72% 20%, rgba(73, 169, 232, 0.08), transparent 28%),
			#fbfdff;
	}

	.services-dropdown__item.is-menu-current .services-dropdown__subitems,
	.services-dropdown__item.is-active .services-dropdown__subitems,
	.services-dropdown__item:hover .services-dropdown__subitems,
	.services-dropdown__item:focus-within .services-dropdown__subitems {
		display: block;
	}

	.services-dropdown__subhead {
		display: grid;
		gap: 4px;
		padding: 0 30px 14px;
	}

	.services-dropdown__subhead strong {
		color: var(--eco-primary);
		font-size: 17px;
		font-weight: 900;
		line-height: 1.25;
	}

	.services-dropdown__subhead small {
		color: var(--eco-muted);
		font-size: 13px;
		line-height: 1.35;
	}

	.site-menu .services-dropdown__subitems a,
	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		min-height: 42px;
		padding: 10px 30px;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: var(--eco-text);
		font-size: 14px;
		font-weight: 500;
		line-height: 1.35;
		text-decoration: none;
		box-shadow: none;
	}

	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active {
		background: #eef9ff;
		color: var(--eco-primary);
	}
}

@media (max-width: 900px) {
	.services-dropdown__citybar {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
		padding: 12px;
		border-radius: 14px;
	}

	.services-dropdown__city-current {
		width: 100%;
		justify-content: space-between;
	}

	.services-dropdown__cities {
		flex-wrap: nowrap;
		justify-content: flex-start;
		width: 100%;
		overflow-x: auto;
		padding-bottom: 2px;
		-webkit-overflow-scrolling: touch;
	}

	.site-menu .services-dropdown__cities a,
	.site-menu .services-dropdown__cities a:hover {
		flex: 0 0 auto;
		min-height: 34px;
		font-size: 12px;
	}

	.services-dropdown__empty {
		margin: 10px 0 0;
		padding: 14px;
	}

	.services-dropdown__layout {
		display: block;
		max-height: min(74vh, 620px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.services-dropdown__group.is-active {
		display: block !important;
	}

	.services-dropdown__group:not(.is-active),
	.services-dropdown__section-panel:not(.is-active) {
		display: none !important;
	}

	.services-dropdown__sections {
		display: grid;
		gap: 8px;
		margin: 0 0 10px;
	}

	.services-dropdown__section {
		min-height: 42px;
		padding: 10px 12px;
		border: 1px solid rgba(73, 169, 232, 0.16);
		border-radius: 12px;
		background: #ffffff;
		color: var(--eco-text);
		font-size: 13px;
		font-weight: 800;
	}

	.services-dropdown__section.is-active {
		border-color: rgba(73, 169, 232, 0.36);
		background: #f1faff;
		color: var(--eco-primary);
	}

	.services-dropdown__section-panel.is-active,
	.services-dropdown__cards {
		display: grid;
		gap: 8px;
	}

	.site-menu .services-dropdown__item,
	.site-menu .services-dropdown__item:hover,
	.site-menu .services-dropdown__item.is-active {
		display: grid;
		gap: 8px;
		min-height: 0;
		padding: 10px;
		border: 1px solid rgba(73, 169, 232, 0.12);
		border-radius: 14px;
		background: #ffffff;
		box-shadow: none;
	}

	.site-menu .services-dropdown__category,
	.site-menu .services-dropdown__category:hover,
	.site-menu .services-dropdown__item:hover .services-dropdown__category,
	.site-menu .services-dropdown__item.is-active .services-dropdown__category {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 34px;
		padding: 0;
		background: transparent;
		color: var(--eco-primary);
	}

	.services-dropdown__subitems {
		position: static;
		display: none;
		grid-template-columns: 1fr;
		gap: 6px;
		max-height: none;
		padding: 0;
		overflow: visible;
		background: transparent;
	}

	.services-dropdown__item.is-menu-current .services-dropdown__subitems,
	.services-dropdown__item.is-active .services-dropdown__subitems {
		display: grid;
	}

	.services-dropdown__subhead {
		display: none;
	}

	.site-menu .services-dropdown__subitems a,
	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active {
		display: flex;
		width: 100%;
		min-height: 34px;
		justify-content: space-between;
		padding: 8px 10px;
		border: 1px solid rgba(73, 169, 232, 0.14);
		border-radius: 10px;
		background: #f7fcff;
		color: var(--eco-text);
		font-size: 13px;
		font-weight: 700;
		white-space: normal;
	}

	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active {
		border-color: rgba(73, 169, 232, 0.38);
		color: var(--eco-primary);
	}
}

/* Services mega-menu final layout: categories -> services -> grouped details. */
.services-dropdown__detail-group {
	display: grid;
	gap: 10px;
	margin: 0 0 18px;
}

.services-dropdown__detail-group b {
	display: block;
	color: var(--eco-text);
	font-size: 13px;
	font-weight: 900;
	line-height: 1.25;
}

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

.services-dropdown__detail-group--brands .services-dropdown__detail-links {
	gap: 2px 28px;
}

.services-dropdown__detail-group--brands .services-dropdown__detail-links a {
	color: #334155;
	font-weight: 500;
}

@media (min-width: 901px) {
	.services-dropdown__panel {
		width: min(1200px, calc(100vw - 28px));
		border-radius: 18px;
	}

	.services-dropdown__group.is-active {
		grid-template-columns: 294px 260px minmax(420px, 1fr) !important;
	}

	.services-dropdown__subitems {
		left: 554px !important;
		width: auto !important;
		padding: 24px 28px !important;
		background: #ffffff !important;
	}

	.services-dropdown__subhead {
		padding: 0 0 18px !important;
	}

	.services-dropdown__subhead strong {
		color: var(--eco-primary);
		font-size: 16px;
		text-transform: uppercase;
	}

	.site-menu .services-dropdown__detail-links a,
	.site-menu .services-dropdown__detail-links a:hover,
	.site-menu .services-dropdown__detail-links a.is-active {
		min-height: 34px;
		padding: 7px 0;
		border: 0;
		background: transparent;
		color: var(--eco-text);
		font-size: 14px;
		font-weight: 600;
	}

	.site-menu .services-dropdown__detail-links a:hover,
	.site-menu .services-dropdown__detail-links a.is-active {
		color: var(--eco-primary);
	}
}

@media (max-width: 900px) {
	.services-dropdown__detail-links {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.services-dropdown__detail-group {
		margin: 0;
		padding: 8px 0 0;
	}

	.services-dropdown__detail-group b {
		font-size: 12px;
	}
}

/* Mobile services menu: turn the desktop mega-menu into a focused picker sheet. */
.services-dropdown__mobile-top {
	display: none;
}

.services-dropdown__close {
	display: none;
}

.services-dropdown__scroll-hint,
.services-dropdown__section-hint {
	display: none;
}

@media (max-width: 900px) {
	body.has-services-menu {
		overflow: hidden;
	}

	.site-menu__services.is-open .services-dropdown__panel {
		position: fixed !important;
		inset: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));
		z-index: 1000;
		display: flex !important;
		flex-direction: column;
		width: auto !important;
		max-width: none !important;
		max-height: none !important;
		height: calc(100dvh - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border: 1px solid rgba(73, 169, 232, 0.18);
		border-radius: 22px;
		background: #f7fcff !important;
		box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
	}

	.site-menu__services.is-open .services-dropdown__panel::before {
		display: none !important;
	}

	.services-dropdown__head {
		position: relative;
		z-index: 2;
		display: grid;
		flex: 0 0 auto;
		gap: 10px;
		margin: 0 !important;
		padding: 14px 14px 10px !important;
		border-bottom: 1px solid rgba(73, 169, 232, 0.14);
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 8px 20px rgba(37, 142, 214, 0.08);
	}

	.services-dropdown__mobile-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.services-dropdown__mobile-top strong {
		color: var(--eco-dark);
		font-size: 18px;
		font-weight: 750;
		line-height: 1.2;
	}

	.services-dropdown__close {
		position: relative;
		display: inline-flex;
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		border: 1px solid rgba(73, 169, 232, 0.18);
		border-radius: 14px;
		background: #ffffff;
		box-shadow: 0 10px 22px rgba(37, 142, 214, 0.12);
		cursor: pointer;
	}

	.services-dropdown__close::before,
	.services-dropdown__close::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 16px;
		height: 2px;
		border-radius: 999px;
		background: var(--eco-primary);
	}

	.services-dropdown__close::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.services-dropdown__close::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.services-dropdown__tabs {
		display: flex !important;
		gap: 8px !important;
		min-height: 0 !important;
		padding: 0 54px 2px 0 !important;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 42px), transparent 100%);
	}

	.services-dropdown__scroll-hint {
		position: absolute;
		right: 13px;
		bottom: 12px;
		z-index: 3;
		display: inline-flex;
		align-items: center;
		gap: 5px;
		min-height: 28px;
		padding: 6px 9px;
		border: 1px solid rgba(73, 169, 232, 0.2);
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.94);
		color: var(--eco-primary);
		font-size: 11px;
		font-weight: 650;
		line-height: 1;
		box-shadow: 0 10px 22px rgba(37, 142, 214, 0.12);
		pointer-events: none;
	}

	.services-dropdown__scroll-hint::after {
		content: "";
		width: 7px;
		height: 7px;
		border-top: 2px solid currentColor;
		border-right: 2px solid currentColor;
		transform: rotate(45deg);
	}

	.services-dropdown__tabs::-webkit-scrollbar {
		display: none;
	}

	.services-dropdown__tabs button {
		flex: 0 0 auto;
		min-height: 40px !important;
		padding: 9px 14px !important;
		border: 1px solid rgba(73, 169, 232, 0.18) !important;
		border-radius: 999px !important;
		background: #ffffff !important;
		color: var(--eco-text) !important;
		font-size: 13px !important;
		font-weight: 650 !important;
		line-height: 1.2;
		box-shadow: none !important;
	}

	.services-dropdown__tabs button.is-active {
		border-color: rgba(73, 169, 232, 0.48) !important;
		background: var(--eco-primary) !important;
		color: #ffffff !important;
		box-shadow: 0 10px 22px rgba(73, 169, 232, 0.22) !important;
	}

	.services-dropdown__tabs button::after {
		display: none !important;
	}

	.services-dropdown__layout {
		flex: 1 1 auto;
		display: block !important;
		min-height: 0 !important;
		max-height: none !important;
		height: auto !important;
		padding: 12px 12px 18px;
		overflow-y: auto !important;
		background:
			linear-gradient(180deg, rgba(235, 248, 255, 0.72), rgba(255, 255, 255, 0.96));
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.services-dropdown__groups,
	.services-dropdown__group.is-active {
		display: block !important;
		min-height: 0 !important;
		max-height: none !important;
		background: transparent !important;
	}

	.services-dropdown__group:not(.is-active) {
		display: none !important;
	}

	.services-dropdown__group.is-active {
		position: relative;
	}

	.services-dropdown__sections {
		display: flex !important;
		gap: 8px !important;
		margin: 0 0 12px !important;
		padding: 0 46px 4px 0;
		overflow-x: auto;
		background: transparent !important;
		border: 0 !important;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 34px), transparent 100%);
	}

	.services-dropdown__section-hint {
		position: absolute;
		top: 6px;
		right: 0;
		z-index: 2;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		border: 1px solid rgba(73, 169, 232, 0.18);
		border-radius: 50% !important;
		background: rgba(255, 255, 255, 0.95);
		color: transparent;
		box-shadow: 0 10px 22px rgba(37, 142, 214, 0.12);
		pointer-events: none;
	}

	.services-dropdown__section-hint::before {
		content: "";
		width: 8px;
		height: 8px;
		border-top: 2px solid var(--eco-primary);
		border-right: 2px solid var(--eco-primary);
		transform: rotate(45deg);
	}

	.services-dropdown__sections::-webkit-scrollbar {
		display: none;
	}

	.services-dropdown__section {
		display: inline-flex;
		align-items: center;
		justify-content: space-between;
		flex: 0 0 auto;
		gap: 10px;
		width: auto;
		max-width: 78vw;
		min-height: 42px !important;
		padding: 10px 13px !important;
		border: 1px solid rgba(73, 169, 232, 0.18) !important;
		border-radius: 14px !important;
		background: #ffffff !important;
		color: var(--eco-text) !important;
		font-size: 13px !important;
		font-weight: 650 !important;
		text-align: left;
		box-shadow: 0 10px 22px rgba(37, 142, 214, 0.06);
	}

	.services-dropdown__section strong {
		color: inherit;
		font-size: inherit;
		font-weight: inherit;
		line-height: 1.2;
	}

	.services-dropdown__section span {
		flex: 0 0 auto;
		width: 8px;
		height: 8px;
		border-top: 2px solid currentColor;
		border-right: 2px solid currentColor;
		opacity: 0.58;
		transform: rotate(135deg);
		transition: transform 0.18s ease;
	}

	.services-dropdown__section.is-active {
		border-color: rgba(73, 169, 232, 0.54) !important;
		background: #e9f7ff !important;
		color: var(--eco-primary) !important;
	}

	.services-dropdown__section.is-active span {
		transform: translateY(2px) rotate(-45deg);
	}

	.services-dropdown__cards {
		display: block !important;
		min-height: 150px;
		background: transparent !important;
		border: 0 !important;
		overflow: visible !important;
	}

	.services-dropdown__group.is-active .services-dropdown__cards:not(:has(.services-dropdown__section-panel.is-active))::before {
		content: "Выберите категорию выше";
		display: grid;
		place-items: center;
		min-height: 150px;
		padding: 22px;
		border: 1px dashed rgba(73, 169, 232, 0.28);
		border-radius: 18px;
		background: rgba(255, 255, 255, 0.72);
		color: var(--eco-muted);
		font-size: 14px;
		font-weight: 600;
		text-align: center;
	}

	.services-dropdown__section-panel {
		display: none !important;
	}

	.services-dropdown__section-panel.is-active {
		display: grid !important;
		gap: 10px;
	}

	.site-menu .services-dropdown__item,
	.site-menu .services-dropdown__item:hover,
	.site-menu .services-dropdown__item.is-active {
		display: block !important;
		padding: 0 !important;
		border: 1px solid rgba(73, 169, 232, 0.16) !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		box-shadow: 0 14px 30px rgba(37, 142, 214, 0.08) !important;
		overflow: hidden;
	}

	.site-menu .services-dropdown__category,
	.site-menu .services-dropdown__category:hover,
	.site-menu .services-dropdown__item:hover .services-dropdown__category,
	.site-menu .services-dropdown__item.is-active .services-dropdown__category {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		min-height: 48px !important;
		padding: 13px 14px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #ffffff !important;
		color: var(--eco-dark) !important;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	.services-dropdown__category strong {
		color: inherit !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.25;
	}

	.services-dropdown__category span {
		flex: 0 0 auto;
		width: 9px;
		height: 9px;
		border-top: 2px solid currentColor;
		border-right: 2px solid currentColor;
		opacity: 0.55;
		transform: rotate(135deg);
		transition: transform 0.18s ease;
	}

	.site-menu .services-dropdown__item.is-menu-current .services-dropdown__category,
	.site-menu .services-dropdown__item.is-active .services-dropdown__category {
		background: #f1faff !important;
		color: var(--eco-primary) !important;
	}

	.services-dropdown__item.is-menu-current .services-dropdown__category span,
	.services-dropdown__item.is-active .services-dropdown__category span {
		transform: translateY(2px) rotate(-45deg);
	}

	.services-dropdown__subitems {
		position: static !important;
		display: none !important;
		width: auto !important;
		max-height: none !important;
		padding: 0 14px 14px !important;
		overflow: visible !important;
		border: 0 !important;
		background: #ffffff !important;
	}

	.services-dropdown__item.is-menu-current .services-dropdown__subitems,
	.services-dropdown__item.is-active .services-dropdown__subitems {
		display: grid !important;
		gap: 12px;
	}

	.services-dropdown__subhead {
		display: none !important;
	}

	.services-dropdown__detail-group {
		display: grid;
		gap: 7px;
		margin: 0 !important;
		padding: 0 !important;
	}

	.services-dropdown__detail-group b {
		color: var(--eco-primary) !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1.2;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.services-dropdown__detail-links {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}

	.services-dropdown__detail-group--brands .services-dropdown__detail-links {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		max-height: 172px;
		overflow-y: auto;
		padding-right: 2px;
	}

	.site-menu .services-dropdown__detail-links a,
	.site-menu .services-dropdown__detail-links a:hover,
	.site-menu .services-dropdown__detail-links a.is-active {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
		min-height: 38px !important;
		padding: 9px 10px !important;
		border: 1px solid rgba(73, 169, 232, 0.13) !important;
		border-radius: 12px !important;
		background: #f7fcff !important;
		color: var(--eco-text) !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		line-height: 1.25;
		text-decoration: none !important;
		box-shadow: none !important;
		white-space: normal !important;
	}

	.site-menu .services-dropdown__detail-links a:hover,
	.site-menu .services-dropdown__detail-links a.is-active {
		border-color: rgba(73, 169, 232, 0.38) !important;
		background: #eef9ff !important;
		color: var(--eco-primary) !important;
	}
}

@media (max-width: 390px) {
	.site-menu__services.is-open .services-dropdown__panel {
		inset: max(6px, env(safe-area-inset-top)) 6px max(6px, env(safe-area-inset-bottom));
		border-radius: 18px;
	}

	.services-dropdown__head {
		padding: 12px 12px 9px !important;
	}

	.services-dropdown__layout {
		padding: 10px 10px 16px;
	}

	.services-dropdown__detail-group--brands .services-dropdown__detail-links {
		grid-template-columns: 1fr !important;
	}
}

/* Typography weight tune: keep hierarchy clear without making every block shout. */
body {
	font-weight: 400;
}

h1,
.hero h1,
.home-hero h1,
.section-title,
.section-heading h2,
.service-context__head h2,
.home-services__head h2,
.promo__content h2,
.reviews h2,
.site-footer h2 {
	font-weight: 700 !important;
}

h2,
h3,
.hero__eyebrow,
.site-brand__name,
.hero-badge strong,
.benefit h3,
.check-card h3,
.step-card h3,
.service-description h3,
.service-price-ranges__head h3,
.service-equipment h3,
.service-context__card h3,
.contact-card h3,
.review-card h3,
.home-review h3,
.footer-brand,
.site-footer h3 {
	font-weight: 650 !important;
}

.button,
button,
.site-menu a,
.services-dropdown__button,
.services-dropdown__tabs button,
.services-dropdown__section,
.site-menu .services-dropdown__category,
.site-menu .services-dropdown__detail-links a,
.site-menu .services-dropdown__subitems a,
.site-header__phone,
.site-header__city-button,
.contact-card strong,
.price-card strong,
.service-price-table strong,
.service-card h3,
.service-card__body h3,
.home-service-card--directory strong,
.service-equipment__card strong,
.review-card__name,
.home-review__name,
.review-card__badge,
.home-review__badge,
.promo-countdown strong,
.equipment-contact-modal__action strong,
.mobile-sticky__button {
	font-weight: 600 !important;
}

.site-menu .services-dropdown__category {
	font-weight: 500 !important;
}

.services-dropdown__category strong {
	font-weight: 600 !important;
}

.site-menu .services-dropdown__subitems a,
.site-menu .services-dropdown__detail-links a {
	font-weight: 500 !important;
}

.site-header__promise,
.hero__subtitle,
.hero__note,
.section-heading p,
.home-services__head p,
.service-context__head p,
.service-description__text,
.service-context__card li,
.benefit p,
.check-card p,
.step-card p,
.review-card p,
.home-review p,
.contact-card p,
.site-footer p,
.site-footer a {
	font-weight: 400 !important;
}

.hero-offer strong,
.hero-docs span,
.service-context__icon,
.benefit__icon,
.check-card__mark,
.services-dropdown__detail-group b,
.services-dropdown__mobile-top strong {
	font-weight: 650 !important;
}

@media (max-width: 900px) {
	h1,
	.hero h1,
	.home-hero h1,
	.section-heading h2,
	.home-services__head h2,
	.service-context__head h2 {
		font-weight: 700 !important;
	}

	.site-brand__name,
	.services-dropdown__mobile-top strong,
	.services-dropdown__category strong,
	.services-dropdown__section strong,
	.service-equipment__card strong,
	.home-service-card--directory strong {
		font-weight: 600 !important;
	}

	.services-dropdown__detail-group b,
	.services-dropdown__tabs button,
	.site-menu .services-dropdown__detail-links a,
	.site-menu .services-dropdown__subitems a {
		font-weight: 550 !important;
	}
}

/* Mobile first-screen polish: compact header and readable service hero. */
@media (max-width: 640px) {
	body {
		padding-bottom: 72px;
	}

	.site-header {
		border-top-width: 3px;
		box-shadow: 0 8px 24px rgba(37, 142, 214, 0.1);
	}

	.site-header__top-inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto;
		align-items: center;
		gap: 8px;
		min-height: 58px !important;
		padding: 7px 0 5px !important;
	}

	.site-brand {
		gap: 7px;
		min-width: 0;
		max-width: 178px !important;
	}

	.site-brand .custom-logo {
		max-width: 40px !important;
		max-height: 40px !important;
	}

	.site-brand__name {
		max-width: 126px;
		padding-left: 8px;
		font-size: 18px !important;
		line-height: 1;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.site-brand__name::before {
		height: 22px;
	}

	.site-brand__name::after {
		left: 8px;
		right: -2px;
		bottom: -5px;
		height: 5px;
	}

	.site-header__city {
		grid-column: auto !important;
		grid-row: auto !important;
		width: auto !important;
	}

	.site-header__city-button {
		width: auto !important;
		min-height: 36px !important;
		padding: 8px 11px !important;
		gap: 6px;
		border-color: rgba(73, 169, 232, 0.18);
		background: #ffffff;
		box-shadow: none !important;
	}

	.site-header__city-button span {
		display: none;
	}

	.site-header__city-button strong {
		max-width: 82px;
		font-size: 13px !important;
		font-weight: 600 !important;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.site-header__city-menu {
		left: auto !important;
		right: 0 !important;
		width: min(240px, calc(100vw - 28px)) !important;
	}

	.site-header__contacts {
		width: auto !important;
		gap: 0 !important;
		margin-left: 0 !important;
	}

	.site-header__contacts .messenger {
		display: none !important;
	}

	.site-header__phone {
		min-height: 36px !important;
		padding: 8px 11px !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		line-height: 1;
		box-shadow: none;
	}

	.site-header__nav-wrap {
		padding: 5px 0 9px !important;
	}

	.site-header__nav-inner {
		display: grid !important;
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 8px;
		min-height: 42px !important;
	}

	.menu-toggle {
		width: 42px !important;
		height: 42px !important;
		border-radius: 10px;
		box-shadow: 0 8px 20px rgba(73, 169, 232, 0.12);
	}

	.button--header {
		min-height: 42px !important;
		padding: 9px 12px !important;
		border-radius: 10px;
		font-size: 13px !important;
		font-weight: 650 !important;
	}

	.site-nav {
		top: calc(100% + 8px) !important;
	}

	.hero {
		padding: 22px 0 34px !important;
		overflow: hidden;
	}

	.hero__grid {
		display: flex !important;
		flex-direction: column;
		gap: 18px !important;
	}

	.hero__content {
		order: 1;
	}

	.hero__image {
		order: 2;
		width: min(100%, 310px) !important;
		max-width: 310px !important;
		margin: 10px auto 0 !important;
	}

	.hero__visual-frame {
		padding: 13px 12px 0 !important;
		border-radius: 28px !important;
		box-shadow: inset 0 0 0 1px rgba(73, 169, 232, 0.12), 0 16px 38px rgba(73, 169, 232, 0.12) !important;
	}

	.hero__visual-frame::before {
		display: none !important;
	}

	.hero__img {
		max-height: 240px !important;
		width: 100%;
		object-fit: contain;
	}

	.hero__signal {
		right: 50% !important;
		bottom: 12px !important;
		width: min(230px, 86%) !important;
		padding: 12px 14px !important;
		border-radius: 14px !important;
		transform: translateX(50%);
	}

	.hero__signal span {
		font-size: 11px !important;
		font-weight: 600 !important;
	}

	.hero__signal strong {
		font-size: 14px !important;
		font-weight: 650 !important;
	}

	.hero__eyebrow {
		margin-bottom: 12px !important;
		font-size: 11px !important;
		font-weight: 600 !important;
	}

	.hero__eyebrow span {
		width: 28px;
	}

	.hero h1 {
		margin-bottom: 12px !important;
		font-size: clamp(29px, 8.1vw, 36px) !important;
		line-height: 1.12 !important;
	}

	.hero__subtitle {
		margin-bottom: 16px !important;
		font-size: 15px !important;
		line-height: 1.58 !important;
	}

	.hero-badges {
		gap: 10px !important;
		margin-bottom: 16px !important;
	}

	.hero-badge {
		min-height: 62px !important;
		padding: 10px !important;
	}

	.hero__actions {
		gap: 9px;
	}

	.hero__actions .button {
		min-height: 44px !important;
	}
}

@media (max-width: 430px) {
	.site-brand {
		max-width: 162px !important;
	}

	.site-brand__name {
		max-width: 112px;
		font-size: 17px !important;
	}

	.site-header__city-button strong {
		max-width: 72px;
	}

	.site-header__phone {
		max-width: 40px;
		padding: 8px !important;
		color: transparent !important;
		overflow: hidden;
	}

	.site-header__phone::before {
		content: "";
		display: block;
		width: 15px;
		height: 15px;
		margin: 0 auto;
		border: 2px solid var(--eco-phone);
		border-top-color: transparent;
		border-left-color: transparent;
		border-radius: 50% !important;
		transform: rotate(-35deg);
	}
}

@media (max-width: 380px) {
	.site-brand__name {
		max-width: 96px;
		font-size: 16px !important;
	}

	.site-header__city-button {
		padding-inline: 9px !important;
	}

	.site-header__city-button strong {
		max-width: 62px;
	}

	.hero__image {
		max-width: 286px !important;
	}
}

/* Mobile repair: prevent horizontal overflow and keep the first screen compact. */
@media (max-width: 640px) {
	html,
	body {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.container,
	.site-main,
	.hero,
	.hero__grid,
	.hero__content {
		min-width: 0;
		max-width: 100%;
	}

	.container {
		width: min(480px, calc(100% - 24px)) !important;
	}

	.site-header {
		min-height: 58px;
		border-top-width: 3px !important;
		background: rgba(255, 255, 255, 0.98);
	}

	.site-header__top {
		border-bottom: 0 !important;
	}

	.site-header__top-inner {
		display: grid !important;
		grid-template-columns: minmax(116px, 1fr) auto auto;
		gap: 6px;
		min-height: 58px !important;
		padding: 7px 48px 7px 0 !important;
	}

	.site-brand {
		gap: 7px;
		max-width: 150px !important;
		overflow: hidden;
	}

	.site-brand .custom-logo {
		flex: 0 0 36px;
		width: 36px !important;
		max-width: 36px !important;
		max-height: 36px !important;
	}

	.site-brand__name {
		max-width: 108px !important;
		padding-left: 7px !important;
		font-size: 16px !important;
		font-weight: 650 !important;
		line-height: 1 !important;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.site-brand__name::before {
		width: 2px;
		height: 22px !important;
	}

	.site-brand__name::after {
		display: none;
	}

	.site-header__city {
		grid-column: auto !important;
		grid-row: auto !important;
		width: auto !important;
	}

	.site-header__city-button {
		min-height: 36px !important;
		width: auto !important;
		padding: 7px 10px !important;
		border-radius: 999px !important;
		background: #ffffff !important;
		box-shadow: none !important;
	}

	.site-header__city-button span {
		display: none !important;
	}

	.site-header__city-button strong {
		max-width: 74px;
		color: var(--eco-primary);
		font-size: 13px !important;
		font-weight: 600 !important;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.site-header__contacts {
		width: auto !important;
		gap: 6px !important;
		margin-left: 0 !important;
		justify-content: flex-end !important;
	}

	.site-header__contacts .messenger {
		display: inline-flex !important;
		width: 36px !important;
		height: 36px !important;
		box-shadow: none !important;
	}

	.site-header__contacts .messenger--tg {
		display: none !important;
	}

	.site-header__phone {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		order: -1;
		width: 36px !important;
		min-width: 36px;
		max-width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: var(--eco-primary) !important;
		color: transparent !important;
		font-size: 0 !important;
		box-shadow: none !important;
		overflow: hidden;
	}

	.site-header__phone::before {
		content: "";
		display: block;
		width: 17px;
		height: 17px;
		background: #ffffff;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.7 3.9 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.4.6 3.7.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.7 21 3 13.3 3 3.8c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.7.1.4 0 .8-.3 1.1l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.7 3.9 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.4.6 3.7.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.7 21 3 13.3 3 3.8c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.7.1.4 0 .8-.3 1.1l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.site-header__nav-wrap {
		position: absolute;
		top: 10px;
		right: 12px;
		z-index: 90;
		width: 38px;
		padding: 0 !important;
		background: transparent !important;
	}

	.site-header__nav-inner {
		display: block !important;
		width: 38px;
		min-height: 38px !important;
	}

	.menu-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 38px !important;
		height: 38px !important;
		border-radius: 999px !important;
		background: #ffffff !important;
		box-shadow: none !important;
	}

	.menu-toggle span:not(.screen-reader-text) {
		position: absolute;
		width: 18px;
		margin: 0;
		background: var(--eco-dark) !important;
	}

	.menu-toggle span:not(.screen-reader-text):nth-child(1) {
		transform: translateY(-6px);
	}

	.menu-toggle span:not(.screen-reader-text):nth-child(3) {
		transform: translateY(6px);
	}

	.button--header {
		display: none !important;
	}

	.site-nav {
		position: fixed !important;
		top: 66px !important;
		right: 12px !important;
		left: 12px !important;
		width: auto !important;
		max-height: calc(100dvh - 82px);
		overflow-y: auto;
	}

	.hero {
		padding: 24px 0 34px !important;
	}

	.hero__grid {
		display: flex !important;
		flex-direction: column !important;
		gap: 18px !important;
	}

	.hero__content {
		order: 1 !important;
		width: 100%;
	}

	.hero__image {
		order: 2 !important;
		width: min(100%, 300px) !important;
		max-width: 300px !important;
		margin: 2px auto 0 !important;
	}

	.hero__visual-frame {
		padding: 12px 12px 0 !important;
		border-radius: 24px !important;
	}

	.hero__img {
		max-height: 220px !important;
	}

	.hero__signal {
		right: 50% !important;
		bottom: 10px !important;
		width: min(218px, 86%) !important;
		padding: 10px 12px !important;
		border-radius: 13px !important;
		transform: translateX(50%) !important;
	}

	.hero h1,
	.home-hero h1 {
		max-width: 100%;
		margin-bottom: 12px !important;
		font-size: clamp(26px, 7.1vw, 32px) !important;
		line-height: 1.14 !important;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.hero__subtitle {
		max-width: 100%;
		margin-bottom: 14px !important;
		font-size: 15px !important;
		line-height: 1.55 !important;
		overflow-wrap: anywhere;
	}

	.hero-badges {
		gap: 9px !important;
		margin-bottom: 14px !important;
	}

	.hero__quicklinks {
		display: none !important;
	}
}

@media (max-width: 390px) {
	.container {
		width: min(480px, calc(100% - 20px)) !important;
	}

	.site-header__top-inner {
		grid-template-columns: minmax(106px, 1fr) auto auto;
		gap: 5px;
		padding-right: 44px !important;
	}

	.site-brand {
		max-width: 138px !important;
	}

	.site-brand__name {
		max-width: 96px !important;
		font-size: 15px !important;
	}

	.site-header__city-button {
		padding-inline: 8px !important;
	}

	.site-header__city-button strong {
		max-width: 62px;
		font-size: 12px !important;
	}

	.site-header__contacts .messenger,
	.site-header__phone {
		width: 34px !important;
		min-width: 34px;
		max-width: 34px !important;
		height: 34px !important;
		min-height: 34px !important;
	}

	.site-header__nav-wrap {
		top: 10px;
		right: 10px;
		width: 36px;
	}

	.menu-toggle {
		width: 36px !important;
		height: 36px !important;
	}
}

/* Final mobile layout: content first, image out of the way. */
@media (max-width: 900px) {
	.hero__content {
		order: 1 !important;
	}

	.hero__image {
		order: 2 !important;
	}
}

@media (max-width: 760px) {
	.site-header__top-inner {
		grid-template-columns: auto minmax(0, 1fr) auto !important;
		padding-right: 48px !important;
	}

	.site-brand {
		max-width: 42px !important;
	}

	.site-brand__name,
	.site-brand__text {
		display: none !important;
	}

	.site-brand .custom-logo {
		width: 38px !important;
		max-width: 38px !important;
		max-height: 38px !important;
	}

	.site-header__city {
		justify-self: start;
	}

	.site-header__city-button {
		max-width: 120px;
	}

	.site-header__contacts {
		justify-self: end;
	}

	.hero {
		padding: 28px 0 34px !important;
	}

	.hero__grid {
		display: block !important;
	}

	.hero__image {
		display: none !important;
	}

	.hero__eyebrow {
		margin-bottom: 12px !important;
	}

	.hero h1 {
		margin-bottom: 12px !important;
		font-size: clamp(28px, 8vw, 34px) !important;
		line-height: 1.16 !important;
	}

	.hero__subtitle {
		display: block !important;
		margin-bottom: 18px !important;
		color: var(--eco-muted) !important;
		font-size: 16px !important;
		line-height: 1.6 !important;
	}

	.hero-badges {
		margin-bottom: 18px !important;
	}

	.hero-offer,
	.hero-docs {
		margin-top: 12px !important;
	}
}

@media (max-width: 390px) {
	.site-header__top-inner {
		grid-template-columns: 38px minmax(0, 1fr) auto !important;
	}

	.site-brand {
		max-width: 38px !important;
	}
}

/* Mobile homepage correction: do not let the visual block push useful text below the fold. */
@media (max-width: 760px) {
	.site-header,
	.site-header__top {
		width: 100% !important;
		max-width: 100vw !important;
		overflow-x: clip;
	}

	.site-header__top-inner {
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: auto !important;
	}

	.home-hero {
		padding: 28px 0 34px !important;
	}

	.home-hero__grid {
		display: block !important;
	}

	.home-hero__visual,
	.home-master,
	.home-master__img {
		display: none !important;
	}

	.home-hero__visual--mobile {
		display: flex !important;
		justify-content: center;
		width: 100%;
		margin: 2px auto 18px !important;
	}

	.home-hero__visual--mobile .home-master {
		display: flex !important;
		align-items: flex-end;
		justify-content: center;
		width: min(100%, 320px);
		min-height: 260px;
		margin: 0 auto;
	}

	.home-hero__visual--mobile .home-master__img {
		display: block !important;
		width: min(100%, 300px);
		max-height: 300px;
		object-fit: contain;
		object-position: center bottom;
	}

	.home-hero__content {
		width: 100%;
		max-width: 100%;
	}

	.home-hero h1 {
		margin-bottom: 12px !important;
		font-size: clamp(28px, 8vw, 34px) !important;
		line-height: 1.16 !important;
		overflow-wrap: anywhere;
	}

	.home-hero__subtitle {
		margin-bottom: 18px !important;
		font-size: 16px !important;
		line-height: 1.6 !important;
	}

	.home-hero__badges {
		gap: 10px !important;
		margin-bottom: 18px !important;
	}
}

/* Final mobile header guard: keep the compact header inside the viewport. */
@media (max-width: 760px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.site-header {
		contain: none !important;
		overflow: visible !important;
		border-top: 0 !important;
		background: #f6fbff !important;
	}

	.site-header__top {
		padding: 8px 0 !important;
		background: transparent !important;
	}

	.site-header__top-inner.container {
		box-sizing: border-box !important;
		width: min(440px, calc(100vw - 24px)) !important;
		max-width: calc(100vw - 24px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		min-height: 78px !important;
		padding: 8px 46px 9px 10px !important;
		border: 1px solid #dceffb;
		border-radius: 22px;
		background: #ffffff;
		box-shadow: 0 12px 30px rgba(42, 157, 221, 0.1);
	}

	.site-header__top-inner {
		grid-template-columns: minmax(128px, 1fr) auto auto !important;
		grid-template-rows: auto auto;
		column-gap: 7px !important;
		row-gap: 3px !important;
		align-items: center !important;
	}

	.site-header__schedule {
		display: grid !important;
		grid-column: 1 / -1;
		grid-row: 2;
		grid-template-columns: auto 1fr;
		gap: 2px 7px;
		min-width: 0;
		margin-top: 0;
		padding-left: 3px;
		color: #6b7684;
		font-size: 10.4px;
		font-weight: 600;
		line-height: 1.18;
		letter-spacing: 0;
		overflow: hidden;
	}

	.site-header__hours {
		display: inline !important;
		grid-column: 2;
		grid-row: 1;
		color: #6b7684;
		font-size: inherit;
		font-weight: 700;
		line-height: inherit;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.site-header__hours::before {
		display: none !important;
		content: none !important;
	}

	.site-header__schedule::before {
		content: "";
		grid-row: 1 / 3;
		align-self: center;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: var(--eco-primary);
		box-shadow: 0 0 0 3px rgba(47, 159, 227, 0.12);
	}

	.site-header__hours::after {
		content: none;
	}

	.site-header__promise {
		display: inline !important;
		grid-column: 2;
		grid-row: 2;
		min-width: 0;
		color: #6b7684;
		font-size: inherit;
		font-weight: inherit;
		line-height: inherit;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.site-header__promise span {
		color: var(--eco-primary);
		font-weight: 700;
	}

	.site-brand {
		grid-column: 1;
		grid-row: 1;
		gap: 5px !important;
		min-width: 0;
		max-width: 132px !important;
		overflow: hidden;
	}

	.site-brand .custom-logo {
		flex: 0 0 30px;
		width: 30px !important;
		max-width: 30px !important;
		max-height: 30px !important;
	}

	.site-brand__name {
		display: inline-flex !important;
		max-width: 92px !important;
		padding-left: 6px !important;
		color: #1d2033 !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		letter-spacing: 0 !important;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.site-brand__name::before {
		width: 2px !important;
		height: 18px !important;
		background: var(--eco-primary) !important;
	}

	.site-brand__name::after {
		display: none !important;
	}

	.site-header__city {
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
	}

	.site-header__contacts {
		grid-column: 3;
		grid-row: 1;
		min-width: 78px;
		align-self: center;
		gap: 7px !important;
	}

	.site-header__phone {
		position: relative !important;
		display: inline-flex !important;
		flex: 0 0 34px !important;
		align-items: center !important;
		justify-content: center !important;
		width: 34px !important;
		min-width: 34px !important;
		max-width: 34px !important;
		height: 34px !important;
		min-height: 34px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #10aeea !important;
		color: transparent !important;
		font-size: 0 !important;
		line-height: 0 !important;
		box-shadow: none !important;
		overflow: hidden !important;
		transform: none !important;
	}

	.site-header__phone::before {
		content: "" !important;
		display: block !important;
		width: 17px !important;
		height: 17px !important;
		margin: 0 !important;
		background: #ffffff !important;
		transform: none !important;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.15 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat !important;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.15 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat !important;
	}

	.site-header__contacts .messenger {
		width: 34px !important;
		height: 34px !important;
		min-width: 34px !important;
		border-radius: 50% !important;
		padding: 0 !important;
	}

	.site-header__nav-wrap {
		top: 17px !important;
		right: max(18px, calc(((100vw - min(440px, calc(100vw - 24px))) / 2) + 8px)) !important;
		width: 34px !important;
	}

	.site-header__nav-inner {
		width: 34px !important;
		min-height: 34px !important;
	}

	.menu-toggle {
		width: 34px !important;
		height: 34px !important;
		min-height: 34px !important;
		border-color: #dceffb !important;
	}

	.menu-toggle span:not(.screen-reader-text) {
		width: 17px !important;
	}

	.site-nav {
		top: 102px !important;
		right: max(12px, calc((100vw - min(440px, calc(100vw - 24px))) / 2)) !important;
		left: max(12px, calc((100vw - min(440px, calc(100vw - 24px))) / 2)) !important;
		max-height: calc(100dvh - 114px) !important;
	}
}

@media (max-width: 390px) {
	.site-header__top-inner.container {
		width: calc(100vw - 18px) !important;
		max-width: calc(100vw - 18px) !important;
		min-height: 78px !important;
		padding-right: 42px !important;
		padding-left: 7px !important;
	}

	.site-header__schedule {
		gap: 1px 6px;
		font-size: 9.6px;
	}

	.site-brand {
		max-width: 122px !important;
	}

	.site-brand__name {
		max-width: 86px !important;
		font-size: 11.8px !important;
	}

	.site-header__contacts {
		min-width: 68px;
	}

	.site-header__nav-wrap {
		right: 14px !important;
	}

	.site-nav {
		top: 98px !important;
		right: 9px !important;
		left: 9px !important;
		max-height: calc(100dvh - 108px) !important;
	}
}

/* Mobile services drilldown menu. */
.services-mobile {
	display: none;
}

@media (max-width: 900px) {
	body.has-services-menu .site-nav.is-open {
		position: fixed !important;
		inset: 0 !important;
		z-index: 1000 !important;
		display: block !important;
		width: 100vw !important;
		max-height: none !important;
		background: transparent !important;
		box-shadow: none !important;
		pointer-events: none;
	}

	body.has-services-menu .site-nav.is-open .site-menu {
		display: block !important;
		padding: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		pointer-events: none;
	}

	body.has-services-menu .site-nav.is-open .site-menu > li:not(.site-menu__services) {
		display: none !important;
	}

	body.has-services-menu .site-nav.is-open .site-menu__services,
	body.has-services-menu .site-nav.is-open .services-dropdown__panel {
		pointer-events: auto;
	}

	body.has-services-menu .site-nav.is-open .services-dropdown__button {
		display: none !important;
	}

	body.has-services-menu .site-header {
		contain: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	body.has-services-menu .mobile-action-bar {
		display: none !important;
	}

	.site-menu__services.is-open .services-dropdown__panel {
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		max-height: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #ffffff !important;
		box-shadow: none !important;
	}

	.site-menu__services.is-open .services-dropdown__panel > .services-dropdown__head,
	.site-menu__services.is-open .services-dropdown__panel > .services-dropdown__layout {
		display: none !important;
	}

	.services-mobile {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		width: 100%;
		height: 100%;
		min-height: 0;
		background: #ffffff;
		color: #1d2033;
	}

	.site-menu__services.is-open .services-mobile {
		position: fixed !important;
		inset: 0 !important;
		z-index: 1001 !important;
		display: flex !important;
		width: 100vw !important;
		height: 100dvh !important;
	}

	.services-mobile__topbar {
		position: relative;
		z-index: 4;
		display: grid;
		grid-template-columns: minmax(82px, 1fr) auto auto;
		align-items: center;
		gap: 8px;
		width: min(400px, calc(100% - 28px));
		min-height: 54px;
		margin: max(0px, env(safe-area-inset-top)) auto 0;
		padding: 7px 10px 7px 16px;
		border: 1px solid #edf1f5;
		border-radius: 27px;
		background: #ffffff;
		box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
	}

	.services-mobile .site-brand {
		display: flex !important;
		min-width: 0 !important;
		max-width: 112px !important;
		gap: 0 !important;
		overflow: hidden;
	}

	.services-mobile .site-brand .custom-logo {
		width: auto !important;
		max-width: 102px !important;
		height: auto !important;
		max-height: 36px !important;
		object-fit: contain;
	}

	.services-mobile .site-brand__name {
		display: none !important;
	}

	.services-mobile .site-brand__text {
		color: #1d2033;
		font-size: 16px;
		font-weight: 800;
		line-height: 1.05;
	}

	.services-mobile__city-select {
		position: relative;
		min-width: 0;
	}

	.services-mobile__city-select--card {
		margin: 0 0 46px;
	}

	.services-mobile__city-select--card .services-mobile__city-list {
		right: 0;
		left: 0;
		min-width: 0;
		transform: none;
	}

	.services-mobile__city-toggle {
		display: inline-flex;
		align-items: center;
		gap: 5px;
		max-width: 94px;
		min-height: 34px;
		padding: 7px 2px;
		border: 0;
		background: transparent;
		color: #1d2033;
		font-size: 12px;
		font-weight: 700;
		line-height: 1;
		white-space: nowrap;
		cursor: pointer;
	}

	.services-mobile__city-toggle::after {
		content: "";
		flex: 0 0 auto;
		width: 6px;
		height: 6px;
		border-right: 1.7px solid currentColor;
		border-bottom: 1.7px solid currentColor;
		opacity: 0.72;
		transform: translateY(-2px) rotate(45deg);
	}

	.services-mobile__city-list {
		position: absolute;
		top: calc(100% + 8px);
		left: 50%;
		display: none;
		min-width: 150px;
		max-height: 230px;
		padding: 7px;
		overflow-y: auto;
		border: 1px solid #e4edf4;
		border-radius: 14px;
		background: #ffffff;
		box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14);
		transform: translateX(-50%);
	}

	.services-mobile__city-select.is-open .services-mobile__city-list {
		display: grid;
		gap: 2px;
	}

	.services-mobile__city-list a {
		display: block;
		padding: 9px 10px;
		border-radius: 9px;
		color: #1d2033;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.2;
		text-decoration: none;
	}

	.services-mobile__city-list a:hover,
	.services-mobile__city-list a.is-active {
		background: #eaf8ff;
		color: var(--eco-primary);
	}

	.services-mobile__actions {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.services-mobile__round,
	.services-mobile__close {
		position: relative;
		display: inline-flex !important;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		border: 0;
		border-radius: 50%;
		padding: 0 !important;
		text-decoration: none;
		box-shadow: none !important;
		cursor: pointer;
	}

	.services-mobile__round::before,
	.services-mobile__float-call::before {
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		background: #ffffff;
		-webkit-mask: var(--services-mobile-icon) center / contain no-repeat;
		mask: var(--services-mobile-icon) center / contain no-repeat;
	}

	.services-mobile__round--phone,
	.services-mobile__round--phone:hover {
		background: #10aeea;
	}

	.services-mobile__round--chat,
	.services-mobile__round--chat:hover {
		background: #ff9f10;
	}

	.services-mobile__round--phone,
	.services-mobile__float-call {
		--services-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.15 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
	}

	.services-mobile__round--chat {
		--services-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14v-2a9 9 0 0 1 18 0v2'/%3E%3Cpath d='M21 14v3a2 2 0 0 1-2 2h-1'/%3E%3Cpath d='M3 14v3a2 2 0 0 0 2 2h1'/%3E%3Cpath d='M7 15v-4h2v4H7zM15 15v-4h2v4h-2z'/%3E%3C/g%3E%3C/svg%3E");
	}

	.services-mobile__close {
		background: transparent;
	}

	.services-mobile__close::before,
	.services-mobile__close::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 22px;
		height: 2.2px;
		border-radius: 999px;
		background: #1d2033;
	}

	.services-mobile__close::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.services-mobile__close::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.services-mobile__screens {
		flex: 1 1 auto;
		min-height: 0;
		padding: 18px 22px calc(92px + env(safe-area-inset-bottom));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.services-mobile__screen {
		display: none;
		width: min(390px, 100%);
		min-height: 100%;
		margin: 0 auto;
	}

	.services-mobile__screen.is-active {
		display: block;
	}

	.services-mobile__screen h2 {
		margin: 0 0 24px;
		color: #1d2033;
		font-size: 24px;
		font-weight: 800;
		line-height: 1.16;
		letter-spacing: 0;
		text-align: center;
	}

	.services-mobile__screen--root h2 {
		margin-top: 1px;
		margin-bottom: 26px;
	}

	.services-mobile__screen--group h2,
	.services-mobile__screen--section h2 {
		margin-top: 31px;
		margin-bottom: 32px;
	}

	.services-mobile__screen--card h2 {
		max-width: 330px;
		margin: 31px auto 28px;
		font-size: 24px;
		font-weight: 850;
		line-height: 1.32;
		text-transform: uppercase;
	}

	.services-mobile__back {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		min-height: 28px;
		margin: 2px 0 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #08aeea;
		font-size: 14px;
		font-weight: 800;
		line-height: 1.2;
		cursor: pointer;
	}

	.services-mobile__back::before {
		content: "";
		width: 8px;
		height: 8px;
		border-bottom: 2px solid currentColor;
		border-left: 2px solid currentColor;
		transform: rotate(45deg);
	}

	.services-mobile__city-card {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		min-height: 52px;
		margin: 0;
		padding: 8px 18px;
		border: 1px solid #e3e9ef;
		border-radius: 26px;
		background: #f8fafc;
		color: #1d2033;
		font: inherit;
		text-align: left;
		cursor: pointer;
	}

	.services-mobile__city-card strong {
		min-width: 0;
		font-size: 16px;
		font-weight: 800;
		line-height: 1.2;
	}

	.services-mobile__list {
		display: grid;
		gap: 24px;
	}

	.services-mobile__list--groups {
		gap: 34px;
	}

	.services-mobile__list--pages {
		gap: 24px;
	}

	.services-mobile__list--links {
		gap: 21px;
		padding-top: 4px;
	}

	.services-mobile__divider {
		height: 1px;
		margin: 30px 0 32px;
		background: #e9edf1;
	}

	.services-mobile__row,
	.site-menu .services-mobile__row,
	.site-menu .services-mobile__row:hover {
		display: flex;
		align-items: center;
		gap: 14px;
		width: 100%;
		min-height: 40px;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: #1d2033 !important;
		font-family: inherit;
		font-size: 16px;
		font-weight: 800;
		line-height: 1.3;
		text-align: left;
		text-decoration: none;
		box-shadow: none;
		cursor: pointer;
	}

	.services-mobile__row strong {
		flex: 1 1 auto;
		min-width: 0;
		color: inherit;
		font-size: inherit;
		font-weight: inherit;
		line-height: inherit;
	}

	.services-mobile__row--link,
	.services-mobile__row--type,
	.site-menu .services-mobile__row--link,
	.site-menu .services-mobile__row--link:hover {
		gap: 16px;
		min-height: 31px;
		font-size: 16px;
		font-weight: 750;
	}

	.services-mobile__row--type,
	.site-menu .services-mobile__row--type,
	.site-menu .services-mobile__row--type:hover {
		min-height: 40px;
	}

	.services-mobile__icon {
		position: relative;
		display: inline-flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border-radius: 9px;
		background: #eaf9ff;
	}

	.services-mobile__icon::before {
		content: "";
		display: block;
		width: 22px;
		height: 22px;
		background: #08aeea;
		-webkit-mask: var(--services-menu-row-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5z'/%3E%3C/svg%3E")) center / contain no-repeat;
		mask: var(--services-menu-row-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5z'/%3E%3C/svg%3E")) center / contain no-repeat;
	}

	.services-mobile__icon[data-menu-icon="tools"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M22 19.6 19.6 22 13 15.4 15.4 13 22 19.6zM14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.3-3.3a6 6 0 0 1-7.5 7.5l-6.8 6.8a2.1 2.1 0 0 1-3-3l6.8-6.8A6 6 0 0 1 18 3l-3.3 3.3z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="home"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2 11h3v10h6v-6h2v6h6V11h3L12 3z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="car"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 5h10.8c.9 0 1.7.6 2 1.5L21 11v7h-2a2 2 0 0 1-4 0H9a2 2 0 0 1-4 0H3v-7l1.6-4.5c.3-.9 1.1-1.5 2-1.5zm.2 2L5.7 10h12.6l-1.1-3H6.8zM7 16a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm10 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="user"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-8 2.2-8 5v3h16v-3c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="folder"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="info"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 10h2v8h-2v-8zm0-4h2v2h-2V6zm1-4a10 10 0 1 0 0 20 10 10 0 0 0 0-20z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="star"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 3 6.3 7 .9-5.1 4.8 1.3 7-6.2-3.4L5.8 21l1.3-7L2 9.2l7-.9L12 2z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="pin"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="headphones"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3a8 8 0 0 0-8 8v7a3 3 0 0 0 3 3h3v-8H6v-2a6 6 0 0 1 12 0v2h-4v8h3a3 3 0 0 0 3-3v-7a8 8 0 0 0-8-8z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="monitor"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-6v2h3v2H7v-2h3v-2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm0 2v10h16V6H4z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="smartphone"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm0 2v16h10V4H7zm4 13h2v2h-2v-2z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="thermometer"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 14.8V5a4 4 0 0 0-8 0v9.8A6 6 0 1 0 14 14.8zM10 3a2 2 0 0 1 2 2v10.7l.5.3A4 4 0 1 1 7.5 16l.5-.3V5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="appliance"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm0 2v14h14V5H5zm3 2h8v2H8V7zm4 4a3 3 0 1 1 0 6 3 3 0 0 1 0-6z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="leaf"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21 3C12 3 5 8 5 15c0 1.4.4 2.7 1.1 3.8L3 22h3.5l1.8-1.8c1 .5 2.2.8 3.7.8 7 0 10-7 9-18zm-9 16c-1.1 0-2-.2-2.8-.7L16 11l-1.4-1.4-6.8 6.8A5.3 5.3 0 0 1 7 15c0-4.9 4.7-8.6 11.8-9.7C19.2 13.4 16.5 19 12 19z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="clock"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm1 4h-2v5l4 2 1-1.7-3-1.5V8z'/%3E%3C/svg%3E");
	}

	.services-mobile__icon[data-menu-icon="shop"] {
		--services-menu-row-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16l2 6v2h-2v10H4V11H2V9l2-6zm2 2-1.3 4h14.6L18 5H6zm0 6v8h4v-5h4v5h4v-8H6z'/%3E%3C/svg%3E");
	}

	.services-mobile__chevron {
		flex: 0 0 auto;
		width: 8px;
		height: 8px;
		margin-left: auto;
		border-top: 2px solid #a9b9c4;
		border-right: 2px solid #a9b9c4;
		transform: rotate(45deg);
	}

	.services-mobile__float-call,
	.services-mobile__float-call:hover {
		position: absolute !important;
		top: auto !important;
		right: auto !important;
		bottom: calc(18px + env(safe-area-inset-bottom)) !important;
		left: max(18px, calc((100vw - min(390px, 100vw)) / 2 + 18px)) !important;
		z-index: 5 !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		height: 48px !important;
		min-height: 48px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #ffb21a;
		text-decoration: none;
		box-shadow: 0 12px 28px rgba(255, 178, 26, 0.32);
	}

	.services-mobile__float-call::before {
		width: 22px;
		height: 22px;
	}
}

@media (max-width: 390px) {
	.services-mobile__topbar {
		width: min(390px, calc(100% - 16px));
		padding-right: 8px;
		padding-left: 14px;
	}

	.services-mobile__screens {
		padding-right: 20px;
		padding-left: 20px;
	}

	.services-mobile__round,
	.services-mobile__close {
		width: 34px;
		height: 34px;
	}

	.services-mobile__actions {
		gap: 6px;
	}
}

/* Typography refinement inspired by eco-service.kz. */
:root {
	--eco-type-text: #4c4c4c;
	--eco-type-heading: #3d3d3d;
	--eco-type-muted: #6e7680;
}

body {
	color: var(--eco-type-text);
	font-family: var(--eco-font);
	font-weight: 400;
	line-height: 1.58;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

p,
li,
input,
textarea,
select,
.hero__subtitle,
.home-hero__subtitle,
.service-context__head p,
.service-description p,
.service-description__text p,
.service-price-ranges__head p,
.seo-text,
.seo-text p,
.faq-body,
.contact-card__text,
.site-footer__text {
	color: var(--eco-type-text);
	font-weight: 400 !important;
}

strong,
b {
	font-weight: 600;
}

h1,
.hero h1,
.home-hero h1,
.hero-title,
.home-hero__title,
.service-hero__title,
.page-hero__title {
	color: var(--eco-type-heading);
	font-weight: 700 !important;
	line-height: 1.14 !important;
	letter-spacing: 0 !important;
}

h2,
.section-heading h2,
.section-title,
.home-services__head h2,
.service-context__head h2,
.promo__content h2,
.reviews h2,
.seo-text h2 {
	color: var(--eco-type-heading);
	font-weight: 700 !important;
	line-height: 1.22 !important;
	letter-spacing: 0 !important;
}

h3,
h4,
.benefit h3,
.check-card h3,
.price-card h3,
.step-card h3,
.team-card h3,
.service-card h3,
.home-review h3,
.service-description h3,
.service-price-ranges__head h3,
.faq-head h3,
.seo-text h3 {
	color: var(--eco-type-heading);
	font-weight: 600 !important;
	line-height: 1.28 !important;
	letter-spacing: 0 !important;
}

.button,
.button-link,
.button--primary,
.button--header,
.button--promo,
.home-service-card__link,
.btn-show-more,
.site-header__phone,
.site-menu a,
.services-dropdown__button,
.services-dropdown__tabs button,
.service-city-tabs__item,
.faq-head,
.mobile-menu-toggle {
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

.site-brand {
	font-weight: 700 !important;
}

.site-brand__name {
	color: #17212b;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

.site-header__hours {
	color: var(--eco-type-muted);
	font-weight: 600 !important;
}

.site-header__promise,
.site-header__promise span {
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

.site-header__city-button span,
.site-header__city-button strong,
.site-header__city-menu a,
.services-dropdown__city-current span,
.services-dropdown__city-current strong,
.site-menu .services-dropdown__cities a {
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

.hero__eyebrow,
.hero-docs span,
.home-services__label,
.steps-eyebrow,
.pf-label,
.pricing-table th,
.pricing-table td:first-child,
.service-price-table th,
.service-price-table td:first-child,
.service-price-ranges__head span,
.service-city-empty strong,
.home-mini-card strong,
.hero-badge strong,
.contact-list__item strong,
.site-footer__contact strong {
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

.benefit__icon,
.step-card__number,
.adv-num,
.price-card__price,
.badge-name,
.team-name {
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

.home-service-card,
.home-service-card p,
.home-service-card li,
.home-service-card--directory li a,
.review-card,
.review-card p,
.team-card,
.team-card p,
.contact-list__item,
.contact-list__item span,
.service-equipment__card,
.service-equipment__card p,
.equipment-contact-modal,
.equipment-contact-modal p {
	font-weight: 400 !important;
}

.home-service-card h3,
.service-equipment__card strong,
.review-card strong,
.team-card strong,
.service-context__content strong {
	font-weight: 600 !important;
}

.services-dropdown__section,
.site-menu .services-dropdown__category,
.site-menu .services-dropdown__subitems a,
.site-menu .services-dropdown__detail-links a,
.services-dropdown__subhead strong,
.services-dropdown__aside strong,
.services-dropdown__detail-group b,
.services-dropdown__empty strong {
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

.site-menu .services-dropdown__category,
.site-menu .services-dropdown__category strong,
.site-menu .services-dropdown__subitems a,
.site-menu .services-dropdown__detail-links a {
	font-weight: 500 !important;
}

.site-menu .services-dropdown__item.is-active .services-dropdown__category,
.site-menu .services-dropdown__item.is-active .services-dropdown__category strong,
.site-menu .services-dropdown__item:hover .services-dropdown__category,
.site-menu .services-dropdown__item:hover .services-dropdown__category strong {
	font-weight: 600 !important;
}

@media (min-width: 901px) {
	.services-dropdown__cards .services-dropdown__category,
	.services-dropdown__cards .services-dropdown__category:hover,
	.services-dropdown__cards .services-dropdown__category strong,
	.services-dropdown__cards .services-dropdown__item:hover .services-dropdown__category,
	.services-dropdown__cards .services-dropdown__item:hover .services-dropdown__category strong,
	.services-dropdown__cards .services-dropdown__item.is-active .services-dropdown__category,
	.services-dropdown__cards .services-dropdown__item.is-active .services-dropdown__category strong,
	.services-dropdown__cards .services-dropdown__item.is-menu-current .services-dropdown__category,
	.services-dropdown__cards .services-dropdown__item.is-menu-current .services-dropdown__category strong {
		font-weight: 500 !important;
	}
}

@media (max-width: 900px) {
	body {
		font-size: 16px;
		line-height: 1.54;
	}

	.site-brand__name {
		font-weight: 700 !important;
	}

	.site-header__hours {
		font-weight: 600 !important;
	}

	.site-header__promise,
	.site-header__promise span {
		font-weight: 500 !important;
	}

	.services-mobile__screen h2,
	.services-mobile__screen--section h2,
	.services-mobile__screen--card h2 {
		font-weight: 700 !important;
		letter-spacing: 0 !important;
	}

	.services-mobile__row,
	.site-menu .services-mobile__row,
	.site-menu .services-mobile__row:hover,
	.services-mobile__row strong,
	.services-mobile__row--type,
	.site-menu .services-mobile__row--type,
	.site-menu .services-mobile__row--type:hover,
	.services-mobile__row--link,
	.site-menu .services-mobile__row--link,
	.site-menu .services-mobile__row--link:hover,
	.services-mobile__back,
	.services-mobile__city-card strong {
		font-weight: 600 !important;
		letter-spacing: 0 !important;
	}
}

/* Keep the services menu header visually consistent with the mobile site header. */
@media (max-width: 900px) {
	.services-mobile__topbar {
		grid-template-columns: minmax(128px, 1fr) auto auto !important;
		grid-template-rows: auto auto !important;
		gap: 3px 8px !important;
		min-height: 74px !important;
		padding: 8px 10px 8px 12px !important;
		border-color: #e7eef5 !important;
		border-radius: 24px !important;
	}

	.services-mobile .site-brand {
		grid-column: 1 !important;
		grid-row: 1 !important;
		display: inline-flex !important;
		align-items: center !important;
		gap: 6px !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		overflow: visible !important;
	}

	.services-mobile .site-brand .custom-logo {
		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		height: 36px !important;
		max-height: 36px !important;
		object-fit: contain !important;
	}

	.services-mobile .site-brand__name {
		display: inline-flex !important;
		min-width: 0 !important;
		max-width: 86px !important;
		padding-left: 7px !important;
		color: #17212b !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.services-mobile .site-brand__name::before {
		width: 2px !important;
		height: 18px !important;
	}

	.services-mobile .site-brand__name::after {
		display: none !important;
		content: none !important;
	}

	.services-mobile__city-select:not(.services-mobile__city-select--card) {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	.services-mobile__actions {
		grid-column: 3 !important;
		grid-row: 1 !important;
	}

	.services-mobile__schedule {
		position: relative;
		grid-column: 1 / -1;
		grid-row: 2;
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 1px 6px;
		align-items: center;
		min-width: 0;
		padding-left: 4px;
		color: #6b7684;
	}

	.services-mobile__schedule::before {
		content: "";
		grid-row: 1 / 3;
		align-self: center;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: var(--eco-primary);
		box-shadow: 0 0 0 4px rgba(47, 159, 227, 0.1);
	}

	.services-mobile__schedule .site-header__hours,
	.services-mobile__schedule .site-header__promise {
		display: block !important;
		min-width: 0 !important;
		margin: 0 !important;
		color: #6b7684 !important;
		font-size: 10.3px !important;
		line-height: 1.12 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.services-mobile__schedule .site-header__hours {
		grid-column: 2;
		grid-row: 1;
		font-weight: 600 !important;
	}

	.services-mobile__schedule .site-header__hours::before,
	.services-mobile__schedule .site-header__hours::after {
		display: none !important;
		content: none !important;
	}

	.services-mobile__schedule .site-header__promise {
		grid-column: 2;
		grid-row: 2;
		font-weight: 500 !important;
	}

	.services-mobile__schedule .site-header__promise span {
		color: var(--eco-primary) !important;
		font-weight: 700 !important;
	}
}

@media (max-width: 390px) {
	.services-mobile__topbar {
		grid-template-columns: minmax(114px, 1fr) auto auto !important;
		gap: 2px 6px !important;
		width: min(390px, calc(100% - 16px)) !important;
		padding-right: 8px !important;
		padding-left: 10px !important;
	}

	.services-mobile .site-brand {
		gap: 5px !important;
	}

	.services-mobile .site-brand .custom-logo {
		width: 32px !important;
		min-width: 32px !important;
		max-width: 32px !important;
		height: 32px !important;
		max-height: 32px !important;
	}

	.services-mobile .site-brand__name {
		max-width: 78px !important;
		font-size: 12px !important;
	}

	.services-mobile__city-toggle {
		max-width: 78px !important;
		font-size: 11px !important;
	}

	.services-mobile__schedule .site-header__hours,
	.services-mobile__schedule .site-header__promise {
		font-size: 9.6px !important;
	}
}

/* Correct messenger icons inside the services overlay. */
@media (max-width: 900px) {
	.services-mobile__round--whatsapp,
	.services-mobile__round--whatsapp:hover {
		background: #25d366 !important;
		box-shadow: 0 10px 22px rgba(37, 211, 102, 0.24) !important;
		--services-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='black' d='M16.04 4C9.42 4 4.04 9.37 4.04 15.98c0 2.11.55 4.18 1.6 6L4 28l6.18-1.62a11.94 11.94 0 0 0 5.86 1.49h.01c6.61 0 11.99-5.37 11.99-11.98C28.04 9.37 22.66 4 16.04 4Zm0 21.84h-.01c-1.8 0-3.56-.48-5.11-1.39l-.37-.22-3.67.96.98-3.58-.24-.37a9.89 9.89 0 0 1-1.52-5.26c0-5.48 4.46-9.94 9.95-9.94 2.65 0 5.15 1.03 7.03 2.91a9.86 9.86 0 0 1 2.91 7.03c0 5.48-4.46 9.86-9.95 9.86Zm5.45-7.43c-.3-.15-1.77-.87-2.04-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.95 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.47-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.05 1.02-1.05 2.5s1.07 2.9 1.22 3.1c.15.2 2.1 3.2 5.08 4.48.71.31 1.26.49 1.69.63.71.23 1.36.2 1.87.12.57-.08 1.77-.72 2.02-1.42.25-.7.25-1.3.17-1.42-.07-.13-.27-.2-.57-.35Z'/%3E%3C/svg%3E") !important;
	}

	.services-mobile__round--telegram,
	.services-mobile__round--telegram:hover {
		background: #229ed9 !important;
		box-shadow: 0 10px 22px rgba(34, 158, 217, 0.22) !important;
		--services-mobile-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='black' d='M27.74 6.53 23.5 26.55c-.32 1.42-1.16 1.77-2.35 1.1l-6.5-4.79-3.14 3.02c-.35.35-.64.64-1.31.64l.47-6.62L22.72 8.99c.52-.47-.12-.73-.81-.26L7.01 18.1.6 16.1c-1.39-.43-1.42-1.39.29-2.06L25.97 4.4c1.16-.43 2.17.28 1.77 2.13Z'/%3E%3C/svg%3E") !important;
	}

	.services-mobile__round--whatsapp::before,
	.services-mobile__round--telegram::before {
		width: 19px !important;
		height: 19px !important;
	}
}

/* Mobile service card detail groups: types, services, categories and brands. */
@media (max-width: 900px) {
	.services-mobile__city-select--card {
		z-index: 1;
		display: grid;
	}

	.services-mobile__city-select--card.is-open {
		z-index: 3;
		margin-bottom: 34px;
	}

	.services-mobile__city-select--card .services-mobile__city-list {
		position: static !important;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		width: 100%;
		min-width: 0 !important;
		max-height: none !important;
		margin-top: 8px;
		transform: none !important;
		box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
	}

	.services-mobile__city-select--card:not(.is-open) .services-mobile__city-list {
		display: none !important;
	}

	.services-mobile__city-select--card.is-open .services-mobile__city-list {
		display: grid !important;
	}

	.services-mobile__detail-group {
		display: grid;
		gap: 13px;
	}

	.services-mobile__detail-group + .services-mobile__detail-group {
		padding-top: 22px;
		border-top: 1px solid #edf1f5;
	}

	.services-mobile__detail-group h3 {
		margin: 0;
		color: #08aeea;
		font-size: 12px;
		font-weight: 700 !important;
		line-height: 1.2;
		letter-spacing: 0.02em !important;
		text-transform: uppercase;
	}

	.services-mobile__detail-links {
		display: grid;
		gap: 18px;
	}

	.services-mobile__detail-group--brands .services-mobile__detail-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px 14px;
	}

	.services-mobile__detail-group--brands .services-mobile__row--link,
	.site-menu .services-mobile__detail-group--brands .services-mobile__row--link,
	.site-menu .services-mobile__detail-group--brands .services-mobile__row--link:hover {
		min-height: 28px;
		font-size: 14px;
		line-height: 1.25;
	}

	.services-mobile__detail-group--brands .services-mobile__row--link .services-mobile__chevron {
		display: none;
	}
}

/* Desktop services menu: when hovering a card, do not keep another card highlighted. */
@media (min-width: 901px) {
	.services-dropdown__section-panel.is-hovering-menu-item .services-dropdown__item.is-active:not(.is-menu-current) .services-dropdown__category,
	.services-dropdown__section-panel.is-hovering-menu-item .services-dropdown__item.is-active:not(.is-menu-current) .services-dropdown__category:hover {
		background: transparent !important;
		color: var(--eco-text) !important;
	}

	.services-dropdown__section-panel.is-hovering-menu-item .services-dropdown__item.is-active:not(.is-menu-current) .services-dropdown__category span {
		transform: rotate(45deg) !important;
	}

	.services-dropdown__section-panel.is-hovering-menu-item .services-dropdown__item.is-active:not(.is-menu-current) .services-dropdown__subitems,
	.services-dropdown__section-panel:has(.services-dropdown__item:hover) .services-dropdown__item.is-active:not(:hover) .services-dropdown__subitems {
		display: none !important;
	}

	.services-dropdown__section-panel.is-hovering-menu-item .services-dropdown__item.is-menu-current .services-dropdown__subitems,
	.services-dropdown__section-panel:has(.services-dropdown__item:hover) .services-dropdown__item:hover .services-dropdown__subitems {
		display: block !important;
	}
}

/* Desktop services menu: show equipment/type links as regular second-column rows. */
@media (min-width: 901px) {
	.site-menu .services-dropdown__item--type .services-dropdown__category,
	.site-menu .services-dropdown__item--type .services-dropdown__category:hover,
	.site-menu .services-dropdown__item--type.is-active .services-dropdown__category {
		min-height: 42px;
		padding: 10px 22px !important;
		color: var(--eco-text);
		background: transparent;
	}

	.site-menu .services-dropdown__item--type .services-dropdown__category strong {
		font-size: 14px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
	}

	.site-menu .services-dropdown__item--type:hover .services-dropdown__category,
	.site-menu .services-dropdown__item--type.is-active .services-dropdown__category {
		background: #f2faff;
		color: var(--eco-primary);
	}

	.services-dropdown__section-panel:has(.services-dropdown__item--type:hover) > .services-dropdown__item.is-menu-current:not(:hover):not(:focus-within) .services-dropdown__category,
	.services-dropdown__section-panel:has(.services-dropdown__item--type:focus-within) > .services-dropdown__item.is-menu-current:not(:hover):not(:focus-within) .services-dropdown__category,
	.services-dropdown__section-panel:has(.services-dropdown__item--type:hover) > .services-dropdown__item.is-active:not(.services-dropdown__item--type):not(:hover):not(:focus-within) .services-dropdown__category,
	.services-dropdown__section-panel:has(.services-dropdown__item--type:focus-within) > .services-dropdown__item.is-active:not(.services-dropdown__item--type):not(:hover):not(:focus-within) .services-dropdown__category,
	.services-dropdown__section-panel:has(.services-dropdown__item--type:hover) .services-dropdown__item--type.is-active:not(:hover):not(:focus-within) .services-dropdown__category,
	.services-dropdown__section-panel:has(.services-dropdown__item--type:focus-within) .services-dropdown__item--type.is-active:not(:hover):not(:focus-within) .services-dropdown__category {
		background: transparent !important;
		color: var(--eco-text) !important;
	}
}

/* Desktop services menu: align first-column hover/active state with the next columns. */
@media (min-width: 901px) {
	.services-dropdown__sections .services-dropdown__section:hover,
	.services-dropdown__sections .services-dropdown__section:focus-visible,
	.services-dropdown__sections .services-dropdown__section.is-active {
		background: #f2faff !important;
		color: var(--eco-primary) !important;
		outline: none !important;
	}

	.services-dropdown__sections .services-dropdown__section:hover strong,
	.services-dropdown__sections .services-dropdown__section:focus-visible strong,
	.services-dropdown__sections .services-dropdown__section.is-active strong {
		color: inherit !important;
	}

	.services-dropdown__sections .services-dropdown__section:hover span,
	.services-dropdown__sections .services-dropdown__section:focus-visible span,
	.services-dropdown__sections .services-dropdown__section.is-active span {
		opacity: 0.55;
		transform: rotate(45deg) !important;
	}
}

/* Mobile services overlay: remove the duplicated header chrome. */
@media (max-width: 900px) {
	.site-menu__services.is-open .services-dropdown__panel {
		background: #ffffff !important;
	}

	.site-menu__services.is-open .services-mobile__topbar {
		position: absolute !important;
		top: max(12px, env(safe-area-inset-top)) !important;
		right: 14px !important;
		left: auto !important;
		z-index: 8 !important;
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.site-menu__services.is-open .services-mobile__topbar .site-brand,
	.site-menu__services.is-open .services-mobile__topbar .services-mobile__city-select,
	.site-menu__services.is-open .services-mobile__topbar .services-mobile__round,
	.site-menu__services.is-open .services-mobile__schedule {
		display: none !important;
	}

	.site-menu__services.is-open .services-mobile__actions {
		display: block !important;
	}

	.site-menu__services.is-open .services-mobile__close {
		display: inline-flex !important;
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		height: 42px !important;
		min-height: 42px !important;
		border: 1px solid #e4edf4 !important;
		border-radius: 50% !important;
		background: #ffffff !important;
		box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
	}

	.site-menu__services.is-open .services-mobile__screens {
		padding-top: calc(56px + env(safe-area-inset-top)) !important;
	}

	.site-menu__services.is-open .services-mobile__screen--root h2 {
		margin-top: 0 !important;
	}
}

/* Smooth mobile service menu motion. */
@keyframes ecoServicesOverlayIn {
	from {
		opacity: 0;
		transform: translateY(14px) scale(0.985);
	}

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

@keyframes ecoServicesPanelIn {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

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

@keyframes ecoServicesScreenIn {
	from {
		opacity: 0;
		transform: translateX(14px);
	}

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

@keyframes ecoServicesCityIn {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

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

@media (max-width: 900px) {
	.site-menu__services.is-open .services-dropdown__panel {
		animation: ecoServicesPanelIn 0.24s cubic-bezier(0.22, 0.8, 0.28, 1) both;
		will-change: opacity, transform;
	}

	.site-menu__services.is-open .services-mobile {
		animation: ecoServicesOverlayIn 0.32s cubic-bezier(0.22, 0.8, 0.28, 1) both;
		will-change: opacity, transform;
	}

	.services-mobile__screen.is-active {
		animation: ecoServicesScreenIn 0.24s cubic-bezier(0.22, 0.8, 0.28, 1) both;
		will-change: opacity, transform;
	}

	.services-mobile__row,
	.site-menu .services-mobile__row,
	.services-mobile__city-card,
	.services-mobile__back,
	.services-mobile__close,
	.services-mobile__float-call {
		transition:
			background-color 0.2s ease,
			border-color 0.2s ease,
			box-shadow 0.2s ease,
			color 0.2s ease,
			opacity 0.2s ease,
			transform 0.2s ease;
	}

	.services-mobile__row:active,
	.site-menu .services-mobile__row:active,
	.services-mobile__city-card:active,
	.services-mobile__back:active {
		transform: translateY(1px) scale(0.99);
	}

	.services-mobile__row:hover,
	.site-menu .services-mobile__row:hover,
	.services-mobile__city-card:hover {
		background: rgba(8, 174, 234, 0.045);
	}

	.services-mobile__icon,
	.services-mobile__icon::before,
	.services-mobile__chevron,
	.services-mobile__city-toggle::after,
	.services-mobile__close::before,
	.services-mobile__close::after {
		transition:
			background-color 0.2s ease,
			color 0.2s ease,
			opacity 0.2s ease,
			transform 0.2s ease;
	}

	.services-mobile__row:hover .services-mobile__icon {
		background: #dff6ff;
		transform: translateY(-1px);
	}

	.services-mobile__row:hover .services-mobile__chevron {
		opacity: 1;
		transform: translateX(2px) rotate(45deg);
	}

	.services-mobile__city-select.is-open .services-mobile__city-list {
		animation: ecoServicesCityIn 0.18s ease both;
	}

	.services-mobile__city-select.is-open .services-mobile__city-toggle::after,
	.services-mobile__city-select--card.is-open .services-mobile__chevron {
		transform: translateY(2px) rotate(225deg);
	}

	.services-mobile__detail-group {
		animation: ecoServicesScreenIn 0.22s cubic-bezier(0.22, 0.8, 0.28, 1) both;
	}
}

/* Services menu typography normalization. */
.services-dropdown__panel,
.services-dropdown__panel *,
.services-mobile,
.services-mobile * {
	font-family: var(--eco-font) !important;
	letter-spacing: 0 !important;
}

@media (min-width: 901px) {
	.services-dropdown__tabs button,
	.services-dropdown__section,
	.services-dropdown__section strong,
	.site-menu .services-dropdown__category,
	.site-menu .services-dropdown__category strong,
	.site-menu .services-dropdown__subitems a,
	.site-menu .services-dropdown__subitems a:hover,
	.site-menu .services-dropdown__subitems a.is-active,
	.site-menu .services-dropdown__detail-links a,
	.site-menu .services-dropdown__detail-links a:hover,
	.site-menu .services-dropdown__detail-links a.is-active {
		font-size: 14px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
	}

	.services-dropdown__tabs button,
	.services-dropdown__section,
	.services-dropdown__section strong,
	.site-menu .services-dropdown__category strong {
		font-weight: 600 !important;
	}

	.services-dropdown__subhead strong {
		font-size: 15px !important;
		font-weight: 600 !important;
		line-height: 1.28 !important;
	}

	.services-dropdown__subhead small,
	.services-dropdown__detail-group b {
		font-size: 13px !important;
		font-weight: 500 !important;
		line-height: 1.3 !important;
	}
}

@media (max-width: 900px) {
	.services-mobile__screen h2,
	.services-mobile__screen--section h2,
	.services-mobile__screen--card h2 {
		font-size: 24px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
	}

	.services-mobile__row,
	.site-menu .services-mobile__row,
	.site-menu .services-mobile__row:hover,
	.services-mobile__row strong,
	.services-mobile__row--type,
	.site-menu .services-mobile__row--type,
	.site-menu .services-mobile__row--type:hover,
	.services-mobile__row--link,
	.site-menu .services-mobile__row--link,
	.site-menu .services-mobile__row--link:hover,
	.services-mobile__city-card strong {
		font-size: 16px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
	}

	.services-mobile__back,
	.services-mobile__city-toggle,
	.services-mobile__city-list a,
	.services-mobile__detail-group h3 {
		font-weight: 600 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-menu__services.is-open .services-dropdown__panel,
	.site-menu__services.is-open .services-mobile,
	.services-mobile__screen.is-active,
	.services-mobile__city-select.is-open .services-mobile__city-list,
	.services-mobile__detail-group {
		animation: none !important;
	}

	.services-mobile__row,
	.site-menu .services-mobile__row,
	.services-mobile__city-card,
	.services-mobile__back,
	.services-mobile__close,
	.services-mobile__float-call,
	.services-mobile__icon,
	.services-mobile__icon::before,
	.services-mobile__chevron,
	.services-mobile__city-toggle::after,
	.services-mobile__close::before,
	.services-mobile__close::after {
		transition: none !important;
	}
}

/* Directory pages: reviews and contacts. */
.directory-page {
	background: #ffffff;
	color: var(--eco-text);
}

.directory-page .section {
	padding: 56px 0;
}

.directory-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 30px;
	color: #5f6d7a;
	font-size: 15px;
	line-height: 1.4;
}

.directory-breadcrumbs a {
	color: #5f6d7a;
	text-decoration: none;
}

.directory-breadcrumbs a:hover {
	color: var(--eco-primary);
}

.directory-stars {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	color: #cdd5dc;
	font-size: 22px;
	line-height: 1;
}

.directory-stars span.is-active {
	color: #ffb31a;
}

.reviews-directory__hero {
	padding-top: 42px;
	background: linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
}

.reviews-directory__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
	gap: 58px;
	align-items: center;
}

.reviews-directory__intro h1,
.contacts-directory__head h1 {
	margin: 0;
	color: #3d454d;
	font-size: clamp(44px, 6vw, 76px);
	font-weight: 700;
	line-height: 0.96;
	letter-spacing: 0;
	text-transform: uppercase;
}

.reviews-directory__intro h1 span,
.reviews-directory__intro h1 em {
	display: block;
	font-style: normal;
}

.reviews-directory__intro h1 em {
	color: var(--eco-primary);
}

.reviews-directory__intro p,
.contacts-directory__head p {
	max-width: 520px;
	margin: 22px 0 0;
	color: #4d5864;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.48;
}

.reviews-directory__features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 28px;
	margin-top: 34px;
}

.reviews-directory__feature {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	min-height: 58px;
}

.reviews-directory__feature span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(47, 159, 227, 0.35);
	border-radius: 8px;
	color: var(--eco-primary);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	grid-row: 1 / 3;
}

.reviews-directory__feature strong {
	display: block;
	color: #303a43;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.28;
	padding-top: 2px;
}

.reviews-directory__feature small {
	display: block;
	margin-top: -4px;
	color: #6c7782;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
}

.reviews-directory__featured {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 230px;
	overflow: hidden;
	min-height: 360px;
	border-radius: 8px;
	background: #eef7fc;
	border: 1px solid rgba(47, 159, 227, 0.12);
}

.reviews-directory__featured-content {
	position: relative;
	z-index: 1;
	padding: 46px 24px 42px 40px;
}

.reviews-directory__featured h2 {
	margin: 0;
	color: #404952;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

.reviews-directory__featured-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 18px;
}

.reviews-directory__featured-rating strong {
	color: var(--eco-primary);
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
}

.reviews-directory__featured p {
	margin: 28px 0 0;
	color: #3f4952;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.32;
}

.reviews-directory__featured-image {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 24px 0 0;
}

.reviews-directory__featured-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: right bottom;
}

.reviews-directory__summary {
	background: #ffffff;
}

.reviews-directory__summary-grid {
	display: grid;
	grid-template-columns: minmax(260px, 380px) minmax(260px, 1fr) minmax(260px, 380px);
	gap: 48px;
	align-items: center;
}

.reviews-directory__rating-card {
	display: grid;
	place-items: center;
	min-height: 210px;
	padding: 30px;
	border: 1px solid rgba(47, 159, 227, 0.28);
	border-radius: 8px;
	text-align: center;
}

.reviews-directory__rating-card span {
	color: #4b555f;
	font-size: 31px;
	font-weight: 400;
	line-height: 1.1;
}

.reviews-directory__rating-card span strong {
	color: var(--eco-primary);
	font-weight: 500;
}

.reviews-directory__rating-card p {
	margin: 4px 0 0;
	color: #5f6a74;
	font-size: 17px;
	line-height: 1.35;
}

.reviews-directory__bars {
	display: grid;
	gap: 14px;
}

.reviews-directory__bar {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	color: #4d5864;
	font-size: 18px;
	font-weight: 700;
}

.reviews-directory__bar i {
	display: block;
	overflow: hidden;
	height: 14px;
	border-radius: 999px;
	background: #e0e4e7;
}

.reviews-directory__bar b {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--eco-primary);
}

.reviews-directory__recommend {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px 18px;
	align-items: center;
}

.reviews-directory__recommend strong {
	color: var(--eco-primary);
	font-size: 64px;
	font-weight: 500;
	line-height: 0.95;
}

.reviews-directory__recommend span {
	color: #4d5864;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.15;
}

.reviews-directory__recommend .button {
	grid-column: 1 / -1;
	margin-top: 20px;
	width: 100%;
	min-height: 64px;
	border-radius: 8px;
}

.reviews-directory__form {
	max-width: 920px;
	margin: 30px auto 0;
}

.reviews-directory__sort {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-bottom: 42px;
	color: #4d5864;
	font-size: 16px;
}

.reviews-directory__sort span {
	margin-right: 8px;
	color: #4d5864;
	font-weight: 400;
}

.reviews-directory__sort a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 14px;
	border: 1px solid rgba(47, 159, 227, 0.22);
	border-radius: 999px;
	background: #ffffff;
	color: #247fbd;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.15;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.reviews-directory__sort a.is-active {
	border-color: var(--eco-primary);
	background: var(--eco-primary);
	color: #ffffff;
	font-weight: 600;
	box-shadow: 0 10px 22px rgba(47, 159, 227, 0.18);
}

.reviews-directory__sort a:hover {
	border-color: rgba(47, 159, 227, 0.48);
	background: rgba(47, 159, 227, 0.08);
	color: #176fa8;
}

.reviews-directory__sort a.is-active:hover {
	background: var(--eco-primary);
	color: #ffffff;
}

.reviews-directory__sort a:focus {
	outline: none;
}

.reviews-directory__sort a:focus-visible {
	outline: 2px solid rgba(47, 159, 227, 0.36);
	outline-offset: 3px;
}

.reviews-directory__list {
	display: grid;
	gap: 34px;
}

.reviews-directory__item {
	padding-bottom: 30px;
	border-bottom: 1px solid #edf1f4;
}

.reviews-directory__item header {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 8px;
}

.reviews-directory__item header div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	align-items: baseline;
}

.reviews-directory__item strong {
	color: #3d454d;
	font-size: 18px;
	font-weight: 600;
}

.reviews-directory__item header span,
.reviews-directory__item time {
	color: #95a0aa;
	font-size: 14px;
	font-weight: 400;
}

.reviews-directory__item .directory-stars {
	margin-bottom: 12px;
	font-size: 18px;
}

.reviews-directory__item p {
	max-width: 1040px;
	margin: 0;
	color: #3f4952;
	font-size: 16px;
	line-height: 1.58;
}

.reviews-directory__more {
	margin-top: 28px;
}

.reviews-directory__more summary {
	display: block;
	width: fit-content;
	margin: 0 auto;
	color: var(--eco-primary);
	font-size: 19px;
	font-weight: 500;
	text-decoration: underline;
	cursor: pointer;
}

.reviews-directory__more[open] summary {
	margin-bottom: 34px;
}

.contacts-directory__hero {
	padding-top: 42px;
	background: #ffffff;
}

.contacts-directory__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
	gap: 40px;
	align-items: end;
}

.contacts-directory__quick {
	display: grid;
	gap: 12px;
}

.contacts-directory__quick a {
	display: block;
	padding: 18px 20px;
	border: 1px solid rgba(47, 159, 227, 0.2);
	border-radius: 8px;
	background: #f5fbff;
	text-decoration: none;
}

.contacts-directory__quick span {
	display: block;
	margin-bottom: 4px;
	color: #6a7783;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
}

.contacts-directory__quick strong {
	display: block;
	color: #2f3a44;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
}

.contacts-directory__tables {
	padding-top: 28px;
	background: linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
}

.contacts-directory__group {
	margin-bottom: 42px;
}

.contacts-directory__group h2 {
	margin: 0 0 20px;
	color: #3d454d;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.contacts-directory__table-wrap {
	overflow-x: auto;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 8px;
	background: #ffffff;
}

.contacts-directory__table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	color: #3f4952;
	font-size: 15px;
}

.contacts-directory__table th {
	padding: 16px 20px;
	background: var(--eco-primary);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	text-transform: uppercase;
}

.contacts-directory__table td {
	padding: 15px 20px;
	vertical-align: middle;
}

.contacts-directory__table tbody tr:nth-child(even) {
	background: #f0f2f4;
}

.contacts-directory__table a {
	color: #3d454d;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.contacts-directory__table td:nth-child(2) a,
.contacts-directory__table td:nth-child(3) a {
	font-weight: 400;
	text-decoration: none;
}

.contacts-directory__map {
	overflow: hidden;
	margin-top: 34px;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 8px;
	background: #eef7fc;
}

.contacts-directory__map iframe {
	display: block;
	width: 100%;
	height: 360px;
	border: 0;
}

.contacts-directory__empty {
	padding: 34px;
	border: 1px solid rgba(47, 159, 227, 0.2);
	border-radius: 8px;
	background: #ffffff;
	text-align: center;
}

.contacts-directory__empty h2 {
	margin: 0 0 10px;
	font-size: 26px;
	font-weight: 700;
}

.reviews-directory__content,
.contacts-directory__content {
	margin-top: 40px;
}

@media (max-width: 980px) {
	.reviews-directory__hero-grid,
	.reviews-directory__summary-grid,
	.contacts-directory__head {
		grid-template-columns: 1fr;
	}

	.reviews-directory__featured {
		grid-template-columns: minmax(0, 1fr) 190px;
	}

	.reviews-directory__summary-grid {
		gap: 24px;
	}
}

@media (max-width: 700px) {
	.directory-page .section {
		padding: 38px 0;
	}

	.directory-breadcrumbs {
		margin-bottom: 22px;
		font-size: 14px;
	}

	.reviews-directory__intro h1,
	.contacts-directory__head h1 {
		font-size: 42px;
		line-height: 1;
	}

	.reviews-directory__intro p,
	.contacts-directory__head p {
		font-size: 17px;
		line-height: 1.5;
	}

	.reviews-directory__features {
		grid-template-columns: 1fr;
	}

	.reviews-directory__featured {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.reviews-directory__featured-content {
		padding: 28px 24px 8px;
	}

	.reviews-directory__featured-image {
		max-height: 260px;
		padding-top: 0;
	}

	.reviews-directory__featured-image img {
		max-height: 260px;
	}

	.reviews-directory__rating-card {
		min-height: 180px;
	}

	.reviews-directory__recommend {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.reviews-directory__recommend strong {
		font-size: 54px;
	}

	.reviews-directory__sort {
		gap: 10px 16px;
	}

	.contacts-directory__quick a {
		padding: 16px;
	}

	.contacts-directory__group h2 {
		font-size: 25px;
		text-align: left;
	}

	.contacts-directory__table {
		min-width: 680px;
	}

	.contacts-directory__map iframe {
		height: 300px;
	}
}

.reviews-directory__featured[data-featured-reviews] {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	align-content: start;
	gap: 18px;
	overflow: hidden;
	min-height: 0;
	padding: 28px;
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(47, 159, 227, 0.11), rgba(34, 181, 115, 0.07)),
		#ffffff;
	border: 1px solid rgba(47, 159, 227, 0.22);
	box-shadow: 0 22px 50px rgba(31, 57, 77, 0.1);
}

.reviews-directory__featured[data-featured-reviews]::before {
	content: "";
	position: absolute;
	top: 18px;
	right: 20px;
	width: 86px;
	height: 86px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(47, 159, 227, 0.14), rgba(47, 159, 227, 0));
	pointer-events: none;
}

.reviews-directory__featured[data-featured-reviews] .reviews-directory__featured-content,
.reviews-directory__featured[data-featured-reviews] .reviews-directory__featured-image {
	display: none;
}

.reviews-directory__featured-top {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.reviews-directory__featured-top span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(47, 159, 227, 0.1);
	color: var(--eco-primary);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.reviews-directory__featured-top strong {
	color: #203040;
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
}

.reviews-directory__featured-slider {
	position: relative;
	z-index: 1;
	min-height: 270px;
}

.reviews-directory__featured-slide {
	position: absolute;
	inset: 0;
	display: grid;
	align-content: start;
	gap: 20px;
	padding: 28px;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 16px 34px rgba(31, 57, 77, 0.08);
	opacity: 0;
	transform: translateX(18px);
	pointer-events: none;
	transition: opacity 0.45s ease, transform 0.45s ease;
}

.reviews-directory__featured-slide.is-active {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}

.reviews-directory__featured-slide header {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
}

.reviews-directory__featured-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--eco-primary), #29c48a);
	color: #ffffff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}

.reviews-directory__featured-slide h2 {
	margin: 0;
	color: #203040;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.14;
}

.reviews-directory__featured-slide small {
	display: block;
	margin-top: 4px;
	color: #6b7785;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}

.reviews-directory__featured-slide .reviews-directory__featured-rating {
	margin-top: 0;
}

.reviews-directory__featured-slide p {
	margin: 0;
	color: #2f3b46;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.45;
}

.reviews-directory__featured-controls {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.reviews-directory__featured-controls button {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(47, 159, 227, 0.25);
	cursor: pointer;
	transition: width 0.25s ease, background-color 0.25s ease;
}

.reviews-directory__featured-controls button.is-active {
	width: 28px;
	background: var(--eco-primary);
}

@media (max-width: 700px) {
	.reviews-directory__featured[data-featured-reviews] {
		padding: 18px;
	}

	.reviews-directory__featured-slider {
		min-height: 320px;
	}

	.reviews-directory__featured-slide {
		padding: 22px;
	}

	.reviews-directory__featured-slide p {
		font-size: 17px;
	}
}

/* Informational pages: order and why us. */
.info-page__hero {
	padding-top: 42px;
	background: #f6fbff;
}

.info-page__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
	gap: 54px;
	align-items: center;
}

.info-page__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--eco-primary);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.info-page__eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: currentColor;
}

.info-page__intro h1 {
	max-width: 760px;
	margin: 0;
	color: #343b43;
	font-size: clamp(42px, 5vw, 72px);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: 0;
}

.info-page__intro p {
	max-width: 690px;
	margin: 22px 0 0;
	color: #4f5b66;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.55;
}

.info-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.info-page__hero-card,
.why-hero-card,
.order-contact-panel,
.why-quality-panel,
.why-cta-panel {
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 18px 46px rgba(35, 69, 94, 0.08);
}

.info-page__hero-card {
	overflow: hidden;
}

.info-page__hero-image,
.why-hero-card__image {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: 320px;
	background: #edf8ff;
}

.info-page__hero-image img,
.why-hero-card__image img {
	display: block;
	width: 100%;
	max-height: 380px;
	object-fit: contain;
	object-position: center bottom;
}

.info-page__contact-card {
	display: grid;
	gap: 6px;
	padding: 22px;
}

.info-page__contact-card span,
.order-contact-panel__links span {
	color: #6a7682;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
}

.info-page__contact-card strong,
.info-page__contact-card a {
	color: #222b35;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}

.info-page__section-head {
	max-width: 760px;
	margin-bottom: 28px;
}

.info-page__section-head h2 {
	margin: 0;
	color: #28313a;
	font-size: clamp(30px, 3.8vw, 46px);
	font-weight: 700;
	line-height: 1.08;
}

.info-page__section-head p {
	margin: 14px 0 0;
	color: #5d6873;
	font-size: 18px;
	line-height: 1.55;
}

.order-timeline {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.order-timeline__item {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	min-height: 150px;
	padding: 24px;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 8px;
	background: #ffffff;
}

.order-timeline__item > span,
.order-prep-card > span,
.why-benefit-card > span,
.why-quality-panel__steps span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--eco-primary);
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
}

.order-timeline__item h3,
.order-prep-card h3,
.why-benefit-card h3,
.why-quality-panel__steps h3,
.why-review-card strong {
	margin: 0;
	color: #26313b;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.25;
}

.order-timeline__item p,
.order-prep-card p,
.why-benefit-card p,
.why-review-card p {
	margin: 10px 0 0;
	color: #5a6672;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

.order-info-page__note {
	margin-top: 22px;
	padding: 22px 24px;
	border-left: 4px solid #ffad2f;
	border-radius: 8px;
	background: #fff8ed;
	color: #414b55;
	font-size: 17px;
	line-height: 1.55;
}

.order-prep-grid,
.why-benefits-grid,
.why-reviews-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.order-prep-card,
.why-benefit-card,
.why-review-card,
.why-stat-card {
	padding: 24px;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 8px;
	background: #ffffff;
}

.order-prep-card > span,
.why-benefit-card > span {
	width: 44px;
	height: 44px;
	margin-bottom: 20px;
	background: #e8f7ff;
	color: var(--eco-primary);
}

.order-contact-panel,
.why-cta-panel {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(300px, 1.1fr);
	gap: 28px;
	align-items: center;
	padding: 32px;
}

.order-contact-panel h2,
.why-cta-panel h2,
.why-quality-panel h2 {
	margin: 0;
	color: #26313b;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.12;
}

.order-contact-panel p,
.why-cta-panel p,
.why-quality-panel p {
	margin: 14px 0 0;
	color: #586471;
	font-size: 17px;
	line-height: 1.55;
}

.order-contact-panel__links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.order-contact-panel__links a {
	display: grid;
	gap: 5px;
	min-height: 94px;
	padding: 18px;
	border: 1px solid rgba(47, 159, 227, 0.18);
	border-radius: 8px;
	background: #f7fcff;
	color: #24303b;
	text-decoration: none;
}

.order-contact-panel__links strong {
	color: #26313b;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
}

.why-hero-card {
	overflow: hidden;
}

.why-hero-card__caption {
	display: grid;
	gap: 6px;
	padding: 22px;
}

.why-hero-card__caption strong {
	color: var(--eco-primary);
	font-size: 22px;
	font-weight: 700;
}

.why-hero-card__caption span {
	color: #4f5b66;
	font-size: 16px;
	line-height: 1.45;
}

.why-stats-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.why-stat-card {
	min-height: 180px;
}

.why-stat-card strong {
	display: block;
	color: var(--eco-primary);
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 700;
	line-height: 1;
}

.why-stat-card h2 {
	margin: 18px 0 0;
	color: #26313b;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
}

.why-stat-card p {
	margin: 8px 0 0;
	color: #5a6672;
	font-size: 16px;
	line-height: 1.45;
}

.why-quality-panel {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
	gap: 30px;
	align-items: center;
	padding: 34px;
}

.why-quality-panel__steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.why-quality-panel__steps article {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	min-height: 86px;
	padding: 18px;
	border-radius: 8px;
	background: #f5fbff;
}

.why-quality-panel__steps span {
	width: 40px;
	height: 40px;
	background: #ffad2f;
}

.why-quality-panel__steps h3 {
	font-size: 16px;
	font-weight: 700;
}

.why-review-card header {
	display: grid;
	gap: 10px;
}

.why-review-card .directory-stars {
	font-size: 17px;
}

.why-cta-panel {
	background: #f7fcff;
}

.why-cta-panel .info-page__actions {
	justify-content: flex-end;
	margin-top: 0;
}

.info-page__content {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid rgba(47, 159, 227, 0.16);
}

@media (max-width: 980px) {
	.info-page__hero-grid,
	.order-contact-panel,
	.why-quality-panel,
	.why-cta-panel {
		grid-template-columns: 1fr;
	}

	.order-timeline,
	.order-prep-grid,
	.why-benefits-grid,
	.why-reviews-grid,
	.why-stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.why-cta-panel .info-page__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 700px) {
	.info-page__hero {
		padding-top: 24px;
	}

	.info-page__hero-grid {
		gap: 28px;
	}

	.info-page__intro h1 {
		font-size: clamp(34px, 10vw, 44px);
	}

	.info-page__intro p {
		font-size: 17px;
	}

	.info-page__actions .button {
		width: 100%;
		justify-content: center;
	}

	.info-page__hero-image,
	.why-hero-card__image {
		min-height: 250px;
	}

	.order-timeline,
	.order-prep-grid,
	.why-benefits-grid,
	.why-reviews-grid,
	.why-stats-grid,
	.order-contact-panel__links,
	.why-quality-panel__steps {
		grid-template-columns: 1fr;
	}

	.order-timeline__item {
		grid-template-columns: 50px minmax(0, 1fr);
		min-height: 0;
		padding: 20px;
	}

	.order-contact-panel,
	.why-quality-panel,
	.why-cta-panel {
		padding: 22px;
	}
}

/* Site-wide motion polish. */
@media (prefers-reduced-motion: no-preference) {
	:root {
		--eco-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
		--eco-motion-fast: 0.22s;
		--eco-motion-base: 0.55s;
	}

	.site-header {
		animation: ecoHeaderEnter 0.5s var(--eco-motion-ease) both;
	}

	body.has-reveal-motion .site-reveal {
		opacity: 0;
		transform: translate3d(0, 22px, 0);
		transition:
			opacity var(--eco-motion-base) var(--eco-motion-ease),
			transform var(--eco-motion-base) var(--eco-motion-ease),
			filter var(--eco-motion-base) var(--eco-motion-ease);
		transition-delay: var(--reveal-delay, 0ms);
		filter: saturate(0.96);
		will-change: opacity, transform;
	}

	body.has-reveal-motion .site-reveal.is-visible {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		filter: saturate(1);
	}

	body.has-reveal-motion .home-hero__content > *.site-reveal {
		transform: translate3d(-18px, 0, 0);
	}

	body.has-reveal-motion .home-hero__content > *.site-reveal.is-visible {
		transform: translate3d(0, 0, 0);
	}

	body.has-reveal-motion .home-hero__visual.site-reveal,
	body.has-reveal-motion .reviews-directory__featured.site-reveal,
	body.has-reveal-motion .info-page__hero-card.site-reveal,
	body.has-reveal-motion .why-hero-card.site-reveal {
		transform: translate3d(22px, 0, 0) scale(0.985);
	}

	body.has-reveal-motion .home-hero__visual.site-reveal.is-visible,
	body.has-reveal-motion .reviews-directory__featured.site-reveal.is-visible,
	body.has-reveal-motion .info-page__hero-card.site-reveal.is-visible,
	body.has-reveal-motion .why-hero-card.site-reveal.is-visible {
		transform: translate3d(0, 0, 0) scale(1);
	}

	.button,
	.site-header__phone,
	.messenger,
	.home-service-card,
	.service-card,
	.benefit,
	.price-card,
	.contact-card,
	.form-card,
	.home-review,
	.service-context__card,
	.service-equipment__card,
	.reviews-directory__item,
	.contacts-directory__quick a,
	.contacts-directory__table tbody tr,
	.order-timeline__item,
	.order-prep-card,
	.order-contact-panel__links a,
	.why-stat-card,
	.why-benefit-card,
	.why-review-card,
	.why-quality-panel__steps article {
		transition:
			transform var(--eco-motion-fast) var(--eco-motion-ease),
			box-shadow var(--eco-motion-fast) var(--eco-motion-ease),
			border-color var(--eco-motion-fast) var(--eco-motion-ease),
			background-color var(--eco-motion-fast) var(--eco-motion-ease),
			color var(--eco-motion-fast) var(--eco-motion-ease);
	}

	.button:hover,
	.site-header__phone:hover,
	.messenger:hover {
		transform: translateY(-2px);
	}

	.home-service-card:hover,
	.service-card:hover,
	.benefit:hover,
	.price-card:hover,
	.contact-card:hover,
	.form-card:hover,
	.home-review:hover,
	.service-context__card:hover,
	.service-equipment__card:hover,
	.contacts-directory__quick a:hover,
	.order-timeline__item:hover,
	.order-prep-card:hover,
	.order-contact-panel__links a:hover,
	.why-stat-card:hover,
	.why-benefit-card:hover,
	.why-review-card:hover,
	.why-quality-panel__steps article:hover {
		transform: translateY(-4px);
		box-shadow: 0 22px 48px rgba(31, 57, 77, 0.13);
	}

	.reviews-directory__item:hover {
		transform: translateX(4px);
		border-bottom-color: rgba(47, 159, 227, 0.32);
	}

	.contacts-directory__table tbody tr:hover {
		background-color: rgba(47, 159, 227, 0.09);
		transform: translateX(3px);
	}

	.home-service-card__img,
	.service-card__img,
	.service-equipment__card img {
		transition: transform 0.55s var(--eco-motion-ease);
	}

	.home-service-card:hover .home-service-card__img,
	.service-card:hover .service-card__img,
	.service-equipment__card:hover img {
		transform: scale(1.045);
	}

	.review-carousel__nav,
	.review-carousel__dot,
	.reviews-directory__featured-controls button,
	.services-dropdown__section,
	.services-dropdown__item,
	.services-mobile__row {
		transition:
			transform var(--eco-motion-fast) var(--eco-motion-ease),
			background-color var(--eco-motion-fast) var(--eco-motion-ease),
			border-color var(--eco-motion-fast) var(--eco-motion-ease),
			color var(--eco-motion-fast) var(--eco-motion-ease),
			opacity var(--eco-motion-fast) var(--eco-motion-ease);
	}

	.review-carousel__nav:hover,
	.services-mobile__row:hover {
		transform: translateY(-2px);
	}

	.services-dropdown__section:hover,
	.services-dropdown__item:hover {
		transform: translateX(3px);
	}

	.home-hero__visual img,
	.home-master {
		animation: ecoSoftFloat 6.5s ease-in-out infinite;
	}

	@keyframes ecoHeaderEnter {
		from {
			opacity: 0;
			transform: translateY(-10px);
		}

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

	@keyframes ecoSoftFloat {
		0%,
		100% {
			transform: translateY(0);
		}

		50% {
			transform: translateY(-5px);
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-reveal,
	.site-reveal.is-visible {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		transition: none !important;
		animation: none !important;
	}
}

/* Services menu is click-controlled: hover/focus must not fight the JS state. */
.site-menu__services .services-dropdown__panel,
.site-menu__services:hover .services-dropdown__panel,
.site-menu__services:focus-within .services-dropdown__panel,
.site-menu__services:not(.is-open):hover .services-dropdown__panel,
.site-menu__services:not(.is-open):focus-within .services-dropdown__panel {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.site-menu__services.is-open .services-dropdown__panel {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

@media (max-width: 900px) {
	.site-menu__services.is-open .services-dropdown__panel {
		display: flex !important;
	}
}

.site-menu__services:hover .services-dropdown__button span,
.site-menu__services:focus-within .services-dropdown__button span,
.site-menu__services:not(.is-open):hover .services-dropdown__button span,
.site-menu__services:not(.is-open):focus-within .services-dropdown__button span {
	transform: translateY(-2px) rotate(45deg) !important;
}

.site-menu__services.is-open .services-dropdown__button span {
	transform: translateY(2px) rotate(225deg) !important;
}

.services-dropdown__section:hover,
.services-dropdown__item:hover {
	transform: none !important;
}

button.services-dropdown__category {
	border: 0;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

@media (max-width: 900px) {
	.site-menu__services.is-open .services-dropdown__panel > .services-dropdown__head,
	.site-menu__services.is-open .services-dropdown__panel > .services-dropdown__layout {
		display: block !important;
	}

	.site-menu__services.is-open .services-dropdown__panel > .services-mobile ~ .services-dropdown__head,
	.site-menu__services.is-open .services-dropdown__panel > .services-mobile ~ .services-dropdown__layout {
		display: none !important;
	}
}

/* Header brand cleanup: remove the extra blue decorative strip. */
.site-header .site-brand__name {
	padding-left: 0 !important;
}

.site-header .site-brand__name::before,
.site-header .site-brand__name::after {
	display: none !important;
	content: none !important;
}

/* Mobile quick action: WhatsApp instead of a phone call. */
@media (max-width: 900px) {
	.mobile-action-bar {
		right: 18px !important;
		left: auto !important;
		bottom: calc(18px + env(safe-area-inset-bottom)) !important;
		width: 48px !important;
		height: 48px !important;
	}

	.mobile-action-bar__whatsapp,
	.mobile-action-bar__whatsapp:hover {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 48px !important;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		height: 48px !important;
		min-height: 48px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #25d366 !important;
		color: transparent !important;
		font-size: 0 !important;
		line-height: 0 !important;
		box-shadow: 0 12px 28px rgba(37, 211, 102, 0.34), 0 0 0 0 rgba(37, 211, 102, 0.34) !important;
		text-decoration: none !important;
		animation: eco-whatsapp-pulse 2.4s ease-in-out infinite !important;
	}

	.mobile-action-bar__whatsapp::before {
		content: "";
		display: block;
		width: 25px;
		height: 25px;
		background: #ffffff;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='black' d='M16.04 4C9.42 4 4.04 9.37 4.04 15.98c0 2.11.55 4.18 1.6 6L4 28l6.18-1.62a11.94 11.94 0 0 0 5.86 1.49h.01c6.61 0 11.99-5.37 11.99-11.98C28.04 9.37 22.66 4 16.04 4Zm0 21.84h-.01c-1.8 0-3.56-.48-5.11-1.39l-.37-.22-3.67.96.98-3.58-.24-.37a9.89 9.89 0 0 1-1.52-5.26c0-5.48 4.46-9.94 9.95-9.94 2.65 0 5.15 1.03 7.03 2.91a9.86 9.86 0 0 1 2.91 7.03c0 5.48-4.46 9.86-9.95 9.86Zm5.45-7.43c-.3-.15-1.77-.87-2.04-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.95 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.47-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.05 1.02-1.05 2.5s1.07 2.9 1.22 3.1c.15.2 2.1 3.2 5.08 4.48.71.31 1.26.49 1.69.63.71.23 1.36.2 1.87.12.57-.08 1.77-.72 2.02-1.42.25-.7.25-1.3.17-1.42-.07-.13-.27-.2-.57-.35Z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='black' d='M16.04 4C9.42 4 4.04 9.37 4.04 15.98c0 2.11.55 4.18 1.6 6L4 28l6.18-1.62a11.94 11.94 0 0 0 5.86 1.49h.01c6.61 0 11.99-5.37 11.99-11.98C28.04 9.37 22.66 4 16.04 4Zm0 21.84h-.01c-1.8 0-3.56-.48-5.11-1.39l-.37-.22-3.67.96.98-3.58-.24-.37a9.89 9.89 0 0 1-1.52-5.26c0-5.48 4.46-9.94 9.95-9.94 2.65 0 5.15 1.03 7.03 2.91a9.86 9.86 0 0 1 2.91 7.03c0 5.48-4.46 9.86-9.95 9.86Zm5.45-7.43c-.3-.15-1.77-.87-2.04-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.95 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.47-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.05 1.02-1.05 2.5s1.07 2.9 1.22 3.1c.15.2 2.1 3.2 5.08 4.48.71.31 1.26.49 1.69.63.71.23 1.36.2 1.87.12.57-.08 1.77-.72 2.02-1.42.25-.7.25-1.3.17-1.42-.07-.13-.27-.2-.57-.35Z'/%3E%3C/svg%3E") center / contain no-repeat;
	}
}

@keyframes eco-whatsapp-pulse {
	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 12px 28px rgba(37, 211, 102, 0.34), 0 0 0 0 rgba(37, 211, 102, 0.34);
	}

	50% {
		transform: scale(1.055);
		box-shadow: 0 16px 34px rgba(37, 211, 102, 0.44), 0 0 0 13px rgba(37, 211, 102, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mobile-action-bar__whatsapp {
		animation: none !important;
	}
}

/* Scroll to top control. */
.scroll-top {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 85;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 50%;
	background: var(--eco-primary);
	box-shadow: 0 14px 34px rgba(47, 159, 227, 0.28);
	cursor: pointer;
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
	transition: opacity 0.22s ease, transform 0.22s ease, background-color 0.22s ease;
}

.scroll-top::before {
	content: "";
	width: 13px;
	height: 13px;
	border-top: 3px solid #ffffff;
	border-left: 3px solid #ffffff;
	transform: translateY(4px) rotate(45deg);
}

.scroll-top.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.scroll-top:hover {
	background: #1d8fd4;
}

@media (max-width: 900px) {
	.scroll-top {
		right: auto;
		left: 18px;
		bottom: calc(18px + env(safe-area-inset-bottom));
		width: 48px;
		height: 48px;
	}
}

