/* При переносе в тему: проверить пути в url() и к фонам — они должны указывать на файлы в каталоге темы. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	margin: 0;
}

html,
body {
	height: 100%;
}

html {
	scroll-behavior: smooth;
}

body {
	line-height: var(--line-height-body);
	-webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

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

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

:root {
	color-scheme: light;
	--text: #1f262e;
	--text-muted: rgba(31, 38, 46, 0.7);
	--accent: #2d8df1;
	--accent-strong: #0277e4;
	--accent-soft: #4fb1f7;
	--bg: #f6f7fb;
	--bg-soft: #eef3f9;
	--border: rgba(31, 38, 46, 0.1);
	--border-strong: color-mix(in srgb, var(--text) 18%, transparent);
	--shadow: 0 24px 60px rgba(12, 26, 75, 0.12);
	--radius-lg: 22px;
	--radius-md: 16px;
	--radius-sm: 12px;
	--radius-button: 15px;
	--radius-brand-focus: 4px;
	--container-max: 1438px;
	--layout-wide-max: 1720px;
	--font-family-sans: "Inter", system-ui, sans-serif;
	--font-size-button: 17px;
	--font-weight-semibold: 600;
	--letter-spacing-tight: -0.18px;
	--line-height-body: 1.5;
	--line-height-button: 1.6;
	--space-1: 2px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 14px;
	--space-5: 15px;
	--space-6: 17px;
	--space-7: 22px;
	--space-8: 30px;
	--color-surface: #fff;
	--color-surface-muted: #f4f7fb;
	--color-surface-hover: #f9fbfd;
	--color-surface-active: #e8eef6;
	--color-surface-active-strong: #dde5f0;
	--color-primary-shadow: #005cb8;
	--color-topbar-line: rgba(0, 0, 0, 0.05);
	--outline-focus: 2px solid var(--accent-strong);
	--outline-offset-button: 3px;
	--outline-offset-brand: 4px;
	--motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--motion-ease-soft: cubic-bezier(0.4, 0, 0.2, 1);
	--motion-duration-fast: 0.18s;
	--motion-duration: 0.28s;
	--motion-duration-slow: 0.42s;
}

body {
	font-family: var(--font-family-sans);
	color: var(--text);
	overflow-x: hidden;
}

.page {
	min-height: 100vh;
	overflow: visible;
	position: relative;
	isolation: isolate;
}

.container {
	width: 100%;
	max-width: var(--container-max);
	margin: 0 auto;
}

.container .post {
    padding: 50px 0 100px;
    width: 100%;
    max-width: 1060px;
    border-radius: 40px;
}



.container.u3-timing__outer,
.container.u3-when__outer,
.container.our-services__outer {
	max-width: min(100%, var(--layout-wide-max));
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: var(--space-6) var(--space-8) var(--space-6);
	border-radius: var(--radius-button);
	border: 0;
	text-decoration: none;
	cursor: pointer;
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-size-button);
	line-height: var(--line-height-button);
	letter-spacing: var(--letter-spacing-tight);
	transition:
		filter var(--motion-duration-fast) var(--motion-ease-soft),
		transform var(--motion-duration-fast) var(--motion-ease-soft),
		box-shadow var(--motion-duration-fast) var(--motion-ease-soft),
		background-color var(--motion-duration-fast) var(--motion-ease-soft),
		border-color var(--motion-duration-fast) var(--motion-ease-soft),
		color var(--motion-duration-fast) var(--motion-ease-soft);
}

.btn--primary {
	color: var(--color-surface);
	background: linear-gradient(180deg, var(--accent-soft) 0%, var(--accent-strong) 100%);
	box-shadow:
		inset 0 2px 0 0 rgba(255, 255, 255, 0.25),
		inset 0 6px 10px 0 rgba(255, 255, 255, 0.13);
	text-shadow: 0 1px 1px var(--color-primary-shadow);
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: -0.18px;
	padding: 17px 30px 22px;
}

.btn--ghost {
	border: 1px solid var(--border);
	background: var(--color-surface);
	color: var(--text);
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: -0.18px;
	padding: 17px 30px 22px;
}

.btn__icon {
	display: block;
}

.btn--ghost .btn__icon {
	margin-top: var(--space-1);
}

.btn--light {
	background: var(--color-surface-muted);
	color: var(--text);
}

.btn--primary:hover {
	filter: brightness(1.04);
}

.btn--primary:active {
	filter: brightness(0.96);
	transform: translateY(1px);
}

.btn--primary:focus-visible {
	outline: var(--outline-focus);
	outline-offset: var(--outline-offset-button);
}

.btn--ghost:hover {
	border-color: var(--border-strong);
	background: var(--color-surface-hover);
}

.btn--ghost:active {
	background: var(--bg-soft);
	transform: translateY(1px);
}

.btn--ghost:focus-visible {
	outline: var(--outline-focus);
	outline-offset: var(--outline-offset-button);
}

.btn--light:hover {
	background: var(--color-surface-active);
}

.btn--light:active {
	background: var(--color-surface-active-strong);
	transform: translateY(1px);
}

.btn--light:focus-visible {
	outline: var(--outline-focus);
	outline-offset: var(--outline-offset-button);
}

.header {
	position: relative;
	top: 0;
	z-index: 10;
}

.topbar {
	padding: var(--space-3) 0;
	border-bottom: 1px solid var(--color-topbar-line);
	margin-bottom: var(--space-4);
}

.topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.brand {
	display: flex;
	align-items: center;
	gap: var(--space-7);
}

.brand__logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	transition: opacity 0.15s ease;
}

.brand__logo-img {
	width: 170px;
	height: 47px;
	display: block;
}

.brand__city-wrap {
	position: relative;
	display: inline-flex;
}

.brand__city {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 0;
	background: none;
	color: rgba(31, 38, 46, 0.7);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: -0.45px;
	cursor: pointer;
	transition: color 0.15s ease;
	border-radius: 6px;
}

.brand__city:hover {
	color: var(--accent-strong);
}

.brand__city:active {
	color: rgba(2, 119, 228, 0.85);
}

.brand__city:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.brand__city-label {
	display: inline-flex;
	align-items: center;
	gap: 4.5px;
}

.brand__city-icon {
	width: 17px;
	height: 17px;
	display: block;
	flex-shrink: 0;
}

.brand__city-name {
	white-space: nowrap;
}

.brand__caret {
	position: relative;
    bottom: 2px;
    left: 4px;
	box-sizing: border-box;
	width: 7.5px;
	height: 7.5px;
	border-right: 1.5px solid rgba(31, 38, 46, 0.7);
	border-bottom: 1.5px solid rgba(31, 38, 46, 0.7);
	transform: rotate(45deg);
	flex-shrink: 0;
}

.brand__city-menu {
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	z-index: 350;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 190px;
	margin: 0;
	padding: 18px;
	list-style: none;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 30px 80px -18px rgba(0, 0, 0, 0.24);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-8px);
	transition:
		opacity var(--motion-duration) var(--motion-ease),
		transform var(--motion-duration) var(--motion-ease),
		visibility 0s linear var(--motion-duration);
}

.brand__city-wrap.is-open > .brand__city-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition:
		opacity var(--motion-duration) var(--motion-ease),
		transform var(--motion-duration) var(--motion-ease),
		visibility 0s;
}

.brand__city-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #1f262e;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.32px;
	text-decoration: none;
	transition: color 0.15s ease;
}

.brand__city-link:hover {
	color: var(--accent-strong);
}

.brand__city-link:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
	border-radius: 4px;
}

.brand__city-menu-icon {
	width: 16px;
	height: 16px;
}

.topbar__contacts {
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 17px;
	color: var(--text);
}

.contact {
	color: var(--text);
	text-decoration: none;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition:
		color 0.15s ease,
		opacity 0.15s ease;
	border-radius: 4px;
}

.contact:active {
	opacity: 0.85;
}

.contact:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.contact--phone {
	display: grid;
	position: relative;
	top: 4px;
	gap: 0;
	text-align: right;
}

.contact__phone-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	font-weight: 700;
	letter-spacing: -0.17px;
	color: #1f262e;
	text-decoration: none;
	transition:
		color 0.15s ease,
		opacity 0.15s ease;
	border-radius: 4px;
}


.contact__phone-link:active {
	opacity: 0.85;
}

.contact__phone-link:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.contact--phone .contact__phone-icon {
	position: relative;
	top: 5px;
}

.contact--phone .contact__callback {
	position: relative;
	top: -6px;
}

.contact__icon {
	width: 28px;
	height: 28px;
	display: block;
}

.link {
	border: 0;
	background: none;
	color: var(--text);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: -0.52px;
	cursor: pointer;
	transition:
		color 0.15s ease,
		opacity 0.15s ease;
	border-radius: 4px;
}


.link:active {
	opacity: 0.85;
}

.link:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 2px;
}

.nav {
	padding-bottom: 10px;
}

.nav__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 2px;
}

.nav__menu {
	display: flex;
	align-items: center;
	gap: 16px;
}

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

.sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.menu-item {
	position: relative;
}

.menu-item > a {
	color: rgba(31, 38, 46, 0.7);
	text-decoration: none;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: -0.45px;
	line-height: 1.6;
	white-space: nowrap;
	transition:
		color 0.15s ease,
		opacity 0.15s ease;
	border-radius: 4px;
}

.menu-item > a:hover {
	color: var(--accent-strong);
}

.menu-item > a:active {
	opacity: 0.85;
}

.menu-item > a:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.menu-item.current-menu-item > a {
	color: var(--text);
	font-weight: 600;
}

.menu-item.current-menu-parent > .menu-item__button {
	border-color: #0277e4;
	color: #0277e4;
}

.menu-item__button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1px solid rgba(31, 38, 46, 0.1);
	border-radius: 40px;
	color: var(--text);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: -0.64px;
	padding: 7px 20px 9px;
	cursor: pointer;
	box-shadow:
		inset 0 2px 0 0 rgba(255, 255, 255, 0.13),
		inset 0 6px 10px 0 rgba(255, 255, 255, 0.13);
	transition:
		border-color 0.15s ease,
		background-color 0.15s ease,
		color 0.15s ease,
		transform 0.15s ease;
}

.menu-item__button:hover {
	border-color: rgba(31, 38, 46, 0.2);
	background: #f9fbfd;
}

.menu-item__button:active {
	transform: translateY(1px);
	background: #f4f7fb;
}

.menu-item__button:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.menu-item__icon {
	width: 16px;
	height: 16px;
	display: block;
}

.menu-item__button[aria-controls="nav-submenu-menu-item-1030"] {
	gap: 6px;
	background: none;
	border: 0;
	border-radius: 4px;
	color: rgba(31, 38, 46, 0.7);
	font-family: inherit;
	font-size: 15px;
	letter-spacing: -0.45px;
	line-height: 1.6;
	white-space: nowrap;
	padding: 0;
	box-shadow: none;
	transition:
		color 0.15s ease,
		opacity 0.15s ease;
}

.menu-item__button[aria-controls="nav-submenu-menu-item-1030"]::after {
	content: "";
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAJxJREFUeAGtkLEKwjAQhq8xFSVSirSYweEmCQXf/zU6iYPDjaFUCXZxCFUMFCRN7ND+091/991xBzBXZVntECsZqzPfEKIvgDOFqDAErHzDmNbkxWEDCTvm2d7lfwEH3Zs2BgUBHxLbzHbd4xm8IaQ0XdshjgJ4Oivo3xI4J6KLHvxksvla029ttMG9M9L8FR/Plxps86JbrWEJfQArZDk84TZV9gAAAABJRU5ErkJggg==");
	mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAJxJREFUeAGtkLEKwjAQhq8xFSVSirSYweEmCQXf/zU6iYPDjaFUCXZxCFUMFCRN7ND+091/991xBzBXZVntECsZqzPfEKIvgDOFqDAErHzDmNbkxWEDCTvm2d7lfwEH3Zs2BgUBHxLbzHbd4xm8IaQ0XdshjgJ4Oivo3xI4J6KLHvxksvla029ttMG9M9L8FR/Plxps86JbrWEJfQArZDk84TZV9gAAAABJRU5ErkJggg==");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transform: rotate(90deg);
}

.menu-item__button[aria-controls="nav-submenu-menu-item-1030"]:hover {
	color: var(--accent-strong);
}

.menu-item__button[aria-controls="nav-submenu-menu-item-1030"]:active {
	opacity: 0.85;
	transform: none;
	background: none;
}

.menu-item.current-menu-parent > .menu-item__button[aria-controls="nav-submenu-menu-item-1030"] {
	color: var(--text);
	font-weight: 600;
	border-color: transparent;
}

.menu-item__button[aria-controls="nav-submenu-menu-item-1030"] .menu-item__icon {
	display: none;
}

li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-has-children {
    margin-left: 25px;
}

.nav__more {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	background: none;
	border: 0;
	color: rgba(31, 38, 46, 0.7);
	font-weight: 500;
	font-size: 15px;
	letter-spacing: -0.45px;
	line-height: 1.6;
	cursor: pointer;
	transition:
		color 0.15s ease,
		opacity 0.15s ease;
	border-radius: 4px;
}

.nav__more:hover {
	color: var(--accent-strong);
}

.nav__more:active {
	opacity: 0.85;
}

.nav__more:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.nav__more-icon {
	width: 12px;
	height: 12px;
	display: block;
	flex-shrink: 0;
}

.sub-menu--services,
.sub-menu--staff {
	display: flex;
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	background: #fff;
	border-radius: 20px;
	padding: 30px;
	box-shadow: 0 40px 100px -10px rgba(0, 0, 0, 0.25);
	z-index: 300;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-8px);
	transition:
		opacity var(--motion-duration) var(--motion-ease),
		transform var(--motion-duration) var(--motion-ease),
		visibility 0s linear var(--motion-duration);
}

.menu-item.is-open > .sub-menu--services,
.menu-item.is-open > .sub-menu--staff {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition:
		opacity var(--motion-duration) var(--motion-ease),
		transform var(--motion-duration) var(--motion-ease),
		visibility 0s;
}

.sub-menu--services {
	flex-direction: column;
	gap: 20px;
	min-width: 233px;
}

.sub-menu--services > .menu-item > a {
	font-size: 17px;
	font-weight: 500;
	color: #1f262e;
	text-decoration: none;
	letter-spacing: -0.34px;
	line-height: 1.1;
	transition: color 0.2s;
}

.sub-menu--services > .menu-item > a:hover {
	color: #0277e4;
}

.sub-menu--services > .menu-item > a:active {
	opacity: 0.85;
}

.sub-menu--services > .menu-item > a:focus-visible {
	outline: 2px solid #0277e4;
	outline-offset: 3px;
	border-radius: 4px;
}

.sub-menu--services > .menu-item.current-menu-item > a {
	color: #0277e4;
	font-weight: 600;
}

.sub-menu--staff {
	flex-direction: row;
	gap: 31px;
	min-width: 596px;
}

.nav__staff-categories {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 258px;
	flex-shrink: 0;
}

.nav__staff-cat {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 17px;
	font-weight: 500;
	color: #1f262e;
	letter-spacing: -0.34px;
	line-height: 1.1;
	padding: 8px 11px;
	margin: -8px -11px;
	border: none;
	background: none;
	cursor: pointer;
	text-align: left;
	text-decoration: none;
	border-radius: 10px;
	transition:
		background 0.2s,
		color 0.2s;
}

.nav__staff-cat::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid rgba(31, 38, 46, 0.3);
	border-bottom: 2px solid rgba(31, 38, 46, 0.3);
	transform: rotate(-45deg);
	flex-shrink: 0;
	margin-left: 10px;
}

.nav__staff-cat.is-active {
	color: #0277e4;
	background: rgba(49, 150, 237, 0.1);
}

.nav__staff-cat.is-active::after {
	border-color: #0277e4;
}

.nav__staff-cat:hover:not(.is-active) {
	background: rgba(31, 38, 46, 0.05);
}

.nav__staff-cat:active {
	background: rgba(31, 38, 46, 0.08);
}

.nav__staff-cat:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 2px;
}

.nav__staff-list {
	width: 332px;
	flex-shrink: 0;
	background: #f7f7f7;
	border-radius: 10px;
	padding: 20px 24px;
}

.nav__staff-items {
	display: none;
	flex-direction: column;
	gap: 19px;
}

.nav__staff-items.is-active {
	display: flex;
}

.nav__staff-item {
	display: inline-block;
	font-size: 17px;
	font-weight: 400;
	color: rgba(31, 38, 46, 0.66);
	letter-spacing: -0.34px;
	line-height: 1.2;
	text-decoration: none;
	transition: color 0.2s;
}

.nav__staff-item:hover {
	color: #0277e4;
}

.nav__staff-item:active {
	color: rgba(2, 119, 228, 0.85);
}

.nav__staff-item:focus-visible {
	outline: 2px solid #0277e4;
	outline-offset: 2px;
	border-radius: 4px;
}

.menu > .menu-item + .menu-item:not(.menu-item-has-children) {
	margin-left: 31px;
}

.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;
}

.screen-reader-text:focus {
	clip: auto;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	padding: 12px 16px;
	background: #fff;
	color: var(--text);
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(31, 38, 46, 0.16);
	z-index: 1000;
}

.nav__actions {
	display: flex;
	align-items: center;
	position: relative;
	overflow: visible;
	width: 445px;
	background: rgba(31, 38, 46, 0.07);
	border-radius: 40px;
	padding: 7px 20px 9px;
	box-shadow: 0 0 0 1px transparent;
	transition:
		background 0.2s ease,
		box-shadow 0.2s ease;
}

.nav__actions:has(.nav__search:focus) {
	background: rgba(243, 246, 249, 0.76);
	box-shadow: 0 0 0 1px rgba(45, 141, 241, 0.28);
}

.nav__actions:has(.nav__search-form.is-open) {
	background: rgba(243, 246, 249, 0.46);
	box-shadow: 0 0 0 1px rgba(45, 141, 241, 0.28);
}

.nav__search-form {
	flex: 1 1 auto;
	min-width: 0;
	position: relative;
	display: flex;
	align-items: center;
	z-index: 50;
}

.nav__search {
	background: none;
	border: 0;
	color: rgba(31, 38, 46, 0.4);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: -0.64px;
	padding: 0;
	width: 100%;
	outline: none;
	box-shadow: none;
}

.nav__search:focus,
.nav__search:focus-visible {
	outline: none;
	box-shadow: none;
}

.nav__search::placeholder {
	color: rgba(31, 38, 46, 0.4);
}

.nav__search-dropdown {
	position: absolute;
	top: calc(100% + 14px);
	left: -20px;
	right: -20px;
	min-width: calc(100% + 40px);
	background: #fff;
	border-radius: 28px;
	box-shadow:
		0 18px 54px rgba(31, 38, 46, 0.14),
		0 0 0 1px rgba(31, 38, 46, 0.06);
	padding: 12px 0;
	z-index: 500;
	overflow: hidden;
}

.nav__search-dropdown[hidden] {
	display: none;
}

.nav__search-suggestions {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 360px;
	overflow-y: auto;
}

.nav__search-suggestion {
	margin: 0;
}

.nav__search-item-link {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 20px;
	color: var(--text);
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease;
}

.nav__search-item-link:hover,
.nav__search-item-link:focus-visible,
.nav__search-item-link.is-active {
	background: rgba(2, 119, 228, 0.08);
	color: var(--accent-strong);
	outline: none;
}

.nav__search-item-type {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(31, 38, 46, 0.45);
}

.nav__search-item-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: inherit;
}

.nav__search-item-excerpt {
	font-size: 13px;
	line-height: 1.45;
	color: rgba(31, 38, 46, 0.62);
}

.nav__search-state {
	padding: 14px 20px;
	font-size: 14px;
	line-height: 1.4;
	color: rgba(31, 38, 46, 0.6);
}

.nav__search-state--loading {
	color: var(--accent-strong);
}

.nav__search-state--error {
	color: #c0392b;
}

.nav__toggle {
	display: none;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	border: 1px solid var(--border);
	background: #fff;
	position: relative;
	cursor: pointer;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		transform 0.15s ease;
}

.nav__toggle:hover {
	border-color: rgba(31, 38, 46, 0.2);
	background: #f4f7fb;
}

.nav__toggle:active {
	transform: scale(0.96);
}

.nav__toggle:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.nav__toggle-line,
.nav__toggle-line::before,
.nav__toggle-line::after {
	position: absolute;
	left: 10px;
	right: 10px;
	height: 2px;
	background: var(--text);
	content: "";
}

.nav__toggle-line {
	top: 21px;
}

.nav__toggle-line::before {
	top: -8px;
}

.nav__toggle-line::after {
	top: 8px;
}

.hero {
	padding: 0 44px;
	position: relative;
}

/* Декоративные фоновые эллипсы первого экрана. */
.page-bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	min-height: 480px;
	pointer-events: none;
	z-index: -1;
	overflow: hidden;
}

/* Позиционирование эллипсов относительно центральной колонки. */
.page-bg__track {
	position: absolute;
	top: 0;
	left: 50%;
	height: 100%;
	width: min(100%, var(--container-max));
	max-width: var(--container-max);
	transform: translateX(-50%);
	pointer-events: none;
}

.page-bg__layer {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

/* Базовое мягкое свечение. */
.page-bg__layer--e29 {
	width: min(1325px, 92%);
	height: min(1325px, 92%);
	left: 105%;
	top: -73px;
	background: radial-gradient(
		circle closest-side,
		rgba(200, 240, 255, 0.35) 0%,
		rgba(220, 245, 255, 0.12) 50%,
		transparent 72%
	);
	filter: blur(30px);
}

/* Дополнительное бирюзовое свечение. */
.page-bg__layer--e20 {
	width: min(1262px, 88%);
	aspect-ratio: 1262 / 1099;
	height: auto;
	left: 70%;
	top: 200px;
	background: radial-gradient(
		ellipse closest-side,
		rgba(0, 245, 255, 0.55) 0%,
		rgba(100, 255, 255, 0.18) 48%,
		transparent 74%
	);
	filter: blur(40px);
}

/* Синее свечение у правого края контентной колонки. */
.page-bg__layer--e21 {
	width: min(1262px, 88%);
	aspect-ratio: 1262 / 1099;
	height: auto;
	left: 120%;
	top: -70px;
	border-radius: 1063.866px;
	background: rgb(11 40 255 / 92%);
	filter: blur(247px);
}

.section.section--process {
	margin-top: 0;
	margin-bottom: 0;
}

.section--process {
	background: #fff;
	overflow: hidden;
	background-position: right;
	background-repeat: no-repeat;
	padding: 0;
}

.section--process .container.process {
	padding-top: 110px;
	padding-bottom: 110px;
}

.process {
	display: flex;
	align-items: flex-start;
	gap: 35px;
	position: relative;
}

.process__steps {
	width: 757px;
	max-width: 757px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	padding: 0 28px 0 0;
}

.process__steps .section__head {
	margin-bottom: 0;
	gap: 5px;
}

.process__steps .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: #1f262e;
}

.process__steps .section__description {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.process .steps {
	display: grid;
	gap: 20px;
	padding-left: 0;
	list-style: none;
	counter-reset: process-step;
}

.process .steps__item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	column-gap: 20px;
	row-gap: 2px;
	align-items: center;
	min-height: 56px;
}

.process .steps__item::before {
	counter-increment: process-step;
	content: counter(process-step);
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 56px;
	height: 56px;
	border-radius: 15px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	display: grid;
	place-items: center;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.92px;
	background: linear-gradient(180deg, #4fb1f7 0%, #0277e4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: #228fec;
}

.process .steps__title {
	grid-column: 2;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.54px;
	color: #1f262e;
}

.process .steps__text {
	grid-column: 2;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.45px;
	color: #7a8996;
}

.process__cta {
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	min-height: 74px;
	padding: 20px 30px 25px;
	white-space: nowrap;
}

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

.section--about.section--soft,
.section--benefits.section--soft,
.section--guarantees.section--soft,
.section--about-letters.section--soft {
	background: transparent;
}

.section--sectors {
	margin-bottom: 130px;
}

.section--sectors .section__head {
	margin-bottom: 35px;
	text-align: center;
}

.section--sectors .section__title {
	font-size: 50px;
	line-height: 1.1;
	letter-spacing: -2px;
}

.section--sectors .section__description {
	font-size: 26px;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.section__head {
	display: grid;
	gap: 16px;
	margin-bottom: 48px;
}

.section__head--center {
	text-align: center;
	gap: 10px;
}

.section__title {
	font-size: clamp(32px, 4vw, 50px);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.section__description {
	font-size: 20px;
	color: var(--text-muted);
}

.section--about {
	margin-bottom: 130px;
}

.section--benefits {
	margin-bottom: 130px;
}

.section--guarantees {
	margin-bottom: 0;
}

.section--about,
.section--benefits,
.section--guarantees,
.section--sectors {
	padding: 0 44px;
}

.page-content__inner {
	width: min(100%, 1080px);
	margin: 0 auto;
	padding: clamp(32px, 5vw, 64px);
	border: 1px solid rgba(31, 38, 46, 0.08);
	border-radius: 32px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(12, 26, 75, 0.08);
}

.page-content__content {
	color: var(--text);
	font-size: 18px;
	line-height: 1.72;
	letter-spacing: -0.18px;
}

.page-content__content > :first-child {
	margin-top: 0;
}

.page-content__content > :last-child {
	margin-bottom: 0;
}

.page-content__content h1,
.page-content__content h2,
.page-content__content h3,
.page-content__content h4,
.page-content__content h5,
.page-content__content h6 {
	color: var(--text);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.page-content__content h1 {
	margin: 0 0 28px;
	font-size: clamp(32px, 4vw, 48px);
}

.page-content__content h2 {
	margin: 42px 0 18px;
	font-size: clamp(26px, 3vw, 36px);
}

.page-content__content h3 {
	margin: 34px 0 16px;
	font-size: clamp(23px, 2.6vw, 30px);
}

.page-content__content h4,
.page-content__content h5,
.page-content__content h6 {
	margin: 28px 0 14px;
	font-size: clamp(20px, 2.2vw, 24px);
}

.page-content__content h4:empty {
	display: none;
}

.page-content__content p {
	margin: 0 0 18px;
}

.page-content__content a {
	color: var(--accent-strong);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.page-content__content a:hover,
.page-content__content a:focus-visible {
	color: var(--accent);
}

.page-content__content ul,
.page-content__content ol {
	margin: 20px 0 28px;
	padding-left: 1.35em;
}

.page-content__content ul {
	list-style: disc;
}

.page-content__content ol {
	list-style: decimal;
}

.page-content__content li {
	margin: 10px 0;
	padding-left: 0.25em;
}

.page-content__content li::marker {
	color: var(--accent-strong);
	font-weight: 700;
}

.page-id-18 .page-content__inner {
	width: 100%;
}

.page-id-18 .page-content__content {
	font-size: 17px;
	line-height: 1.75;
}

.page-id-18 .page-content__content > h1 {
	max-width: 900px;
	margin-bottom: 30px;
}

.page-id-18 .page-content__content > ul {
	display: grid;
	gap: 20px;
	margin: 34px 0;
	padding-left: 0;
	list-style: none;
}

.page-id-18 .page-content__content > ul > li {
	margin: 0;
	padding: 24px 26px;
	border: 1px solid rgba(31, 38, 46, 0.08);
	border-radius: 22px;
	background: linear-gradient(180deg, #f9fbff 0%, #fff 100%);
}

.page-id-18 .page-content__content > ul > li::marker {
	content: "";
}

.page-id-18 .page-content__content li[style*="list-style-type: none"] {
	padding-left: 40px;
}

.page-id-18 .page-content__content li[style*="list-style-type: none"]::before {
	display: none;
}

.page-id-18 .page-content__content > ul > li > h5:first-child,
.page-id-18 .page-content__content > ul > li > h5:first-child + ul h5 {
	margin-top: 0;
}

.page-id-18 .page-content__content h5 {
	color: #0b4f8c;
}

.page-id-18 .page-content__content ul ul {
	display: grid;
	gap: 10px;
	margin: 16px 0 0;
	padding-left: 0;
	list-style: none;
}

.page-id-18 .page-content__content ul ul > li {
	position: relative;
	margin: 0;
	padding-left: 26px;
}

.page-id-18 .page-content__content ul ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--accent-strong);
	box-shadow: 0 0 0 4px rgba(2, 119, 228, 0.1);
}

.page-id-18 .page-content__content ul ul ul {
	margin-top: 10px;
}

.page-id-18 .page-content__content ul ul ul > li::before {
	width: 6px;
	height: 6px;
	background: rgba(31, 38, 46, 0.45);
	box-shadow: none;
}

.section--about > .container,
.section--benefits > .container,
.section--guarantees > .container {
	width: 100%;
	max-width: var(--layout-wide-max);
	background:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
	border-radius: 40px;
	overflow: hidden;
	padding: 110px 197px;
	position: relative;
}

.section--benefits > .container,
.section--guarantees > .container {
	background:
		radial-gradient(ellipse at 85% -10%, rgba(54, 188, 241, 0.25) 0%, transparent 50%),
		radial-gradient(ellipse at 95% 60%, rgba(62, 177, 243, 0.18) 0%, transparent 50%),
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.section--services {
	margin-bottom: 130px;
}

.section--about .section__head,
.section--benefits .section__head,
.section--guarantees .section__head,
.section--services .section__head {
	text-align: center;
}

.section--about .section__head {
	gap: 17px;
}

.section--about .section__title,
.section--benefits .section__title,
.section--guarantees .section__title,
.section--services .section__title {
	font-size: 50px;
	letter-spacing: -2px;
}

.section--about .section__description {
	font-size: 26px;
	letter-spacing: -1.04px;
	color: #7a8996;
	line-height: 1.5;
}

.section--benefits .section__description,
.section--guarantees .section__description,
.section--services .section__description {
	font-size: 26px;
	letter-spacing: -1.04px;
	color: #7a8996;
	line-height: 1.4;
}

.section--about .section__title {
	font-weight: 600;
	line-height: 1.1;
}

.section--about .about__h2-line {
	display: block;
}

.section--about .about__h2-line--second {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.28em;
}

.section--about .about__h2-check {
	display: block;
	position: relative;
	top: 4px;
	width: 34px;
	height: 37px;
	flex-shrink: 0;
	object-fit: contain;
}

.section--about .section__title-accent {
	color: #228fec;
}

.section--about .about__gradient {
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

.section--about .about__gradient--1 {
	width: 1260px;
	height: 1100px;
	right: -230px;
	bottom: -400px;
	transform: rotate(153deg);
}

.section--about .about__gradient--2 {
	width: 1260px;
	height: 1100px;
	left: -860px;
	top: 110px;
	transform: rotate(153deg);
}

.section--about .section__head,
.section--about .pill-grid {
	position: relative;
	z-index: 1;
}

.cards {
	display: grid;
	gap: 24px;
}

.cards--services {
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.cards--benefits {
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.cards--guarantees {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
}

.guarantee {
	background: rgba(247, 247, 247, 0.6);
	background-image: url("img/guarantee-bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	box-sizing: border-box;
	width: 100%;
	max-width: min(100%, var(--layout-wide-max));
	margin: 0 auto 110px;
	border-radius: 16px;
	padding: 70px 0 114px;
}

.guarantee__image {
	width: 340px;
	height: 362px;
	margin: 0 auto -195px;
}

.guarantee__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
}

.guarantee__lead {
	font-weight: 500;
	text-align: center;
	font-size: 26px;
	color: #7a8996;
}

.guarantee__grid {
	display: flex;
	align-items: stretch;
	gap: 30px;
	margin-top: 40px;
}

.guarantee__card {
	flex: 1 1 0;
	min-width: 0;
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	padding: 20px 30px 40px;
}

.guarantee__card-title {
	font-size: 25px;
	font-weight: 600;
	color: #000;
}

.guarantee__card-accent {
	color: #ff5b24;
}

.guarantee__card-icon {
	display: block;
	margin-bottom: 16px;
}

.guarantee__card-text {
	margin: 0;
	color: #7a8996;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.4;
}

.section--clients {
	padding: 0 44px;
}

.section--clients.section--soft {
	background: transparent;
}

.section--clients > .container {
	width: 100%;
	max-width: var(--layout-wide-max);
	border-radius: 40px;
	padding: 110px 197px;
}

.section--clients .section__head {
	margin-bottom: 35px;
}

.section--clients .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
}

.section--clients .section__description {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.section--clients .logos {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.section--clients .logo {
	min-height: 110px;
	border-radius: 20px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	display: grid;
	place-items: center;
	color: rgba(31, 38, 46, 0.5);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.9px;
}

.section--consult {
	padding: 0 44px;
}

.section--consult.section--accent {
	background: transparent;
}

.consult {
	width: 100%;
	max-width: var(--layout-wide-max);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	border-radius: 40px;
	overflow: hidden;
	padding: 90px 197px 100px;
	position: relative;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, transparent 40%),
		radial-gradient(
			ellipse 58% 170% at -5% 45%,
			rgba(79, 177, 247, 0.34) 0%,
			rgba(79, 177, 247, 0) 72%
		),
		radial-gradient(
			ellipse 56% 170% at 102% 36%,
			rgba(79, 177, 247, 0.34) 0%,
			rgba(79, 177, 247, 0) 70%
		),
		#085192;
}

.consult .consult__glow {
	position: absolute;
	pointer-events: none;
	z-index: 0;
	width: min(2686px, 240vw);
	height: auto;
	aspect-ratio: 2686 / 1174;
	left: 50%;
	top: 0;
	transform: translate(-52%, -58%);
	max-width: none;
}

.consult__content,
.consult__form {
	position: relative;
	z-index: 1;
}

.consult__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 1438px;
	text-align: center;
}

.consult__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: #fff;
}

.consult__lead {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: rgba(255, 255, 255, 0.8);
}

.consult__form {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	width: 100%;
}

.consult__field {
	width: 280px;
	height: 76px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	padding: 14px 23px 15px;
	border-radius: 15px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.3);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
}

.consult__input {
	width: 100%;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.5);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.8px;
	outline: none;
}

.consult__input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.consult__form .btn {
	box-sizing: border-box;
	width: 276px;
	min-height: 74px;
	padding: 17px 30px 22px;
	white-space: nowrap;
}

/* Базовый сброс стилей (подход Josh Comeau). */

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

.section--about.section--soft,
.section--benefits.section--soft,
.section--guarantees.section--soft,
.section--about-letters.section--soft {
	background: transparent;
}


.section--sectors {
	margin-bottom: 130px;
}

.section--sectors .section__head {
	margin-bottom: 35px;
	text-align: center;
}

.section--sectors .section__title {
	font-size: 50px;
	line-height: 1.1;
	letter-spacing: -2px;
}

.section--sectors .section__description {
	font-size: 26px;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.section__head {
	display: grid;
	gap: 16px;
	margin-bottom: 48px;
}

.section__head--center {
	text-align: center;
	gap: 10px;
}

.section__title {
	font-size: clamp(32px, 4vw, 50px);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.section__description {
	font-size: 20px;
	color: var(--text-muted);
}

.section--about {
	margin-bottom: 130px;
}

.section--benefits {
	margin-bottom: 130px;
}

.section--guarantees {
	margin-bottom: 0;
}

.section--about,
.section--benefits,
.section--guarantees,
.section--sectors {
	padding: 0 44px;
}

.section--about > .container,
.section--benefits > .container,
.section--guarantees > .container {
	width: 100%;
	max-width: var(--layout-wide-max);
	background:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
	border-radius: 40px;
	overflow: hidden;
	padding: 110px 197px;
	position: relative;
}

.section--benefits > .container,
.section--guarantees > .container {
	background:
		radial-gradient(ellipse at 85% -10%, rgba(54, 188, 241, 0.25) 0%, transparent 50%),
		radial-gradient(ellipse at 95% 60%, rgba(62, 177, 243, 0.18) 0%, transparent 50%),
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.section--services {
	margin-bottom: 130px;
}

.section--about .section__head,
.section--benefits .section__head,
.section--guarantees .section__head,
.section--services .section__head {
	text-align: center;
}

.section--about .section__head {
	gap: 17px;
}

.section--about .section__title,
.section--benefits .section__title,
.section--guarantees .section__title,
.section--services .section__title {
	font-size: 50px;
	letter-spacing: -2px;
}

.section--about .section__description {
	font-size: 26px;
	letter-spacing: -1.04px;
	color: #7a8996;
	line-height: 1.5;
}

.section--benefits .section__description,
.section--guarantees .section__description,
.section--services .section__description {
	font-size: 26px;
	letter-spacing: -1.04px;
	color: #7a8996;
	line-height: 1.4;
}

.section--about .section__title-accent {
	color: #228fec;
}

.section--about .about__gradient {
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

.section--about .about__gradient--1 {
	width: 1260px;
	height: 1100px;
	right: -230px;
	bottom: -400px;
	transform: rotate(153deg);
}

.section--about .about__gradient--2 {
	width: 1260px;
	height: 1100px;
	left: -860px;
	top: 110px;
	transform: rotate(153deg);
}

.section--about .section__head,
.section--about .pill-grid {
	position: relative;
	z-index: 1;
}

.hero {
	margin-bottom: 52px;
}

.hero__inner {
	max-width: var(--layout-wide-max);
	margin: 0 auto;
	background: rgba(255, 255, 255, 0.5);
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 40px;
	padding-bottom: 58px;
}

.hero__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1372px;
    margin: 0 auto;
}

.hero__description {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.hero__title {
	font-size: 55px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2.2px;
	margin: 0;
	max-width: 800px;
	width: 100%;
}

.hero__subtitle {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: -0.2px;
	color: var(--text);
	margin: 0;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.hero__subtitle-line {
	display: inline-block;
}

.hero__subtitle-accent {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	padding: 4px 8px;
	color: #fff;
	background-color: #ff5b24;
	line-height: 20px;
	font-size: inherit;
	font-weight: inherit;
	white-space: nowrap;
}

.hero__kicker {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	align-items: center;
}

.hero__pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 18px 10px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	border-radius: 25px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: -0.14px;
	color: var(--text);
	-webkit-text-fill-color: currentColor;
	cursor: pointer;
	box-shadow: inset 0 0 0 0 transparent;
	transition:
		border-color var(--motion-duration-slow) var(--motion-ease-soft),
		box-shadow var(--motion-duration-slow) var(--motion-ease-soft),
		color var(--motion-duration-slow) var(--motion-ease-soft);
}

.hero__pill:hover {
	border-color: #eee6e3;
	background: linear-gradient(
		22.55deg,
		#ff5b24 11.474%,
		#ffbd61 56.92%,
		#ffc414 66.935%,
		#cb0 81.757%
	);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	box-shadow: inset 2px 2px 6px 0 rgba(255, 91, 36, 0.2);
}

.hero__pill:focus-visible {
	outline: 2px solid #ff5b24;
	outline-offset: 3px;
}

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

.hero__actions .btn {
	padding: 17px 30px 22px;
	font-size: 18px;
	letter-spacing: -0.18px;
	line-height: 1.6;
}

.hero__actions .btn--ghost {
	gap: 5px;
}

.hero__image {
	width: 500px;
	max-width: 90vw;
	height: 543px;
	border-radius: 20px;
	background-position: center;
	background-size: cover;
	display: block;
}

.hero__image--main {
	background-image: url("img/hero__media.png");
}

.hero__stats {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.stat {
	background: #f5f7f9;
	border-radius: 20px;
	padding: 20px 25px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.stat__value {
	font-size: 55px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -3.3px;
	background: linear-gradient(to top, #0277e4, #4fb1f7);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.stat__text {
	color: #1f262e;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.2px;
}

.pill-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}

.pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 19px 20px 20px;
	background: #fff;
	border-radius: 20px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.8px;
	color: #1f262e;
}

.pill__accent {
	background: #ff5b24;
	color: #fff;
	padding: 3px 6px 5px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.8px;
}

.cards {
	display: grid;
	gap: 24px;
}

.cards--services {
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.cards--benefits {
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.cards--guarantees {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
}

.section--guarantees .guarantees__gradient {
	position: absolute;
	pointer-events: none;
	z-index: 0;
	width: min(1893px, 200vw);
	height: auto;
	aspect-ratio: 1893 / 1318;
	left: 50%;
	top: 0;
	transform: translate(-40%, -46%);
	max-width: none;
}

.section--guarantees .section__head,
.section--guarantees .cards--guarantees {
	position: relative;
	z-index: 1;
}

.section--guarantees .section__title {
	font-weight: 600;
	line-height: 1.1;
}

.section--guarantees .section__head {
	margin-bottom: 32px;
}

section.breadcrumbs {
    padding: 20px 0;
}

ul.breadcrumbs__list {
    display: flex;
}

ul.breadcrumbs__list li {
    margin-right: 0px;
    padding-right: 25px;
    font-size: 14px;
}
ul.breadcrumbs__list li a {
	position: relative;
	background-color: #f5f5f5;
    padding: 4px 10px;
    text-decoration: none;
    border-radius: 10px;
    color: gray;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.3s ease;
}
ul.breadcrumbs__list li span {
    display: inline-flex;
    padding: 3px 10px;
    align-items: center;
    gap: 8px;
}
ul.breadcrumbs__list li a::after {
	content: "";
	position: absolute;
    right: -17px;
    top: 10px;
	width: 6px;
	height: 9px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask-image: url("img/arrow-right.svg");
	mask-image: url("img/arrow-right.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}
ul.breadcrumbs__list li a:hover {
	background-color: #228fec;
	color: #fff;
}

ul.breadcrumbs__list li a:hover::after {
	color: gray;
}

.section--guarantees .icon-card {
	padding: 20px 25px 35px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	min-height: 270px;
	gap: 20px;
}

.section--guarantees .icon-card__text {
	gap: 8px;
}

.section--guarantees .icon-card__title {
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.72px;
}

.section--guarantees .icon-card__description {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.64px;
	color: rgba(0, 0, 0, 0.5);
}

.card {
	padding: 24px;
	border-radius: var(--radius-lg);
	background: #fff;
	box-shadow: 0 18px 40px rgba(12, 26, 75, 0.08);
	display: grid;
	gap: 16px;
}

.section--services .card {
	background: #f5f7f9;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	padding: 10px 10px 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	box-shadow: none;
}

/* Декоративные световые слоты карточек услуг. */
.section--services .card__glow-slot {
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

.section--services .card__glow-img {
	display: block;
	max-width: none;
	object-fit: contain;
}

.section--services .card__glow-slot--1 {
	left: -402px;
	top: -578px;
	width: 1021.413px;
	height: 915.906px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.section--services .card__glow-slot--1 .card__glow-img {
	width: 839.211px;
	height: 646.405px;
	transform: rotate(-22.24deg);
	transform-origin: center center;
}

.section--services .card__glow-slot--2 {
	left: -19px;
	top: -334px;
	width: 972.066px;
	height: 591.58px;
}

.section--services .card__glow-slot--2 .card__glow-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.section--services .card__glow-slot--3 {
	left: -608.92px;
	top: -546.33px;
	width: 1085.912px;
	height: 808.239px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.section--services .card__glow-inner--3 {
	width: 972.066px;
	height: 591.58px;
	transform: scaleY(-1) rotate(166.07deg);
	transform-origin: center center;
	display: flex;
	align-items: center;
	justify-content: center;
}

.section--services .card__glow-inner--3 .card__glow-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Единый размер и кадрирование фото в карточках услуг. */
.section--services .card__image--service-1,
.section--services .card__image--service-2,
.section--services .card__image--service-3 {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 436px;
	height: auto;
	min-height: 0;
	flex-shrink: 0;
	aspect-ratio: 436 / 409;
	border-radius: 20px;
	overflow: hidden;
	line-height: 0;
	background: none;
}

/* Мягкое затемнение поверх фото для читаемости контента. */
.section--services .card__image--service-1::after,
.section--services .card__image--service-2::after,
.section--services .card__image--service-3::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 20px;
	pointer-events: none;
	z-index: 1;
	background-image: url("img/service-card-image-fade.svg");
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
}

.section--services .card__image--service-1 .card__photo,
.section--services .card__image--service-2 .card__photo,
.section--services .card__image--service-3 .card__photo {
	position: absolute;
	display: block;
	max-width: none;
	object-fit: cover;
	z-index: 0;
}

.section--services .card__image--service-1 .card__photo {
	width: 97.71%;
	height: 104.16%;
	left: 1.15%;
	top: 2.2%;
}

.section--services .card__image--service-2 .card__photo {
	width: 86.71%;
	height: 123.79%;
	left: 6.65%;
	top: 3.35%;
}

.section--services .card__image--service-3 .card__photo {
	width: 130.87%;
	height: 186.85%;
	left: -15.44%;
	top: -2.74%;
}

.section--services .card__content {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: center;
	padding-bottom: 10px;
	position: relative;
	z-index: 1;
	width: 100%;
}

.section--services .card__content h3 {
	font-size: 35px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -2.1px;
	background: linear-gradient(to top, #0277e4, #4fb1f7);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.section--services .card__content p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.36px;
	color: #637587;
}

.section--services .btn--light {
	background: #fff;
	border: 1px solid rgba(31, 38, 46, 0.1);
	border-radius: 15px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
	height: 74px;
	padding: 0 20px;
	width: 380px;
	max-width: 100%;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.72px;
	position: relative;
	z-index: 1;
}

.section--services .btn--light:hover {
	border-color: rgba(31, 38, 46, 0.18);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.07);
	background: #fafbfc;
}

.section--services .btn--light:active {
	transform: translateY(1px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.section--services .btn--light:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.card__image {
	height: 240px;
	background: linear-gradient(130deg, #d7e3f5, #f4f7fb);
	border-radius: 18px;
	overflow: hidden;
	position: relative;
	background-position: center;
	background-size: cover;
}

.card__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(245, 247, 249, 0) 65%, rgba(245, 247, 249, 1) 100%);
}

.icon-card {
	position: relative;
	padding: 24px 64px 39px 34px;
	border-radius: 20px;
	background: #fff;
	border: 2px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 20px;
	overflow: hidden;
	transition: border-color 0.25s ease;
}

.icon-card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	opacity: 0;
	background: linear-gradient(
		90deg,
		rgba(2, 119, 228, 0) 0%,
		rgba(2, 119, 228, 0.07) 30%,
		rgba(79, 177, 247, 0.13) 50%,
		rgba(2, 119, 228, 0.07) 70%,
		rgba(2, 119, 228, 0) 100%
	);
	background-size: 200% 100%;
	background-position: -200% 0;
	pointer-events: none;
	z-index: 0;
}

.icon-card:hover {
	border-color: rgba(2, 119, 228, 0.35);
}

.icon-card:hover::before {
	opacity: 1;
	animation: icon-card-shimmer 2s ease forwards;
}

@keyframes icon-card-shimmer {
	0% {
		background-position: -200% 0;
	}
	100% {
		background-position: 200% 0;
	}
}

.icon-card__icon {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
}

.icon-card__image {
	width: 100%;
	height: 100%;
	display: block;
}

.icon-card__text {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.icon-card__title {
	font-size: 25px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -1px;
	color: #1f262e;
}

.icon-card__description {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.64px;
	color: rgba(0, 0, 0, 0.5);
}

.tabs {
	position: relative;
}

.tabs__controls {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
}

.tabs__panels {
	position: relative;
	min-height: 0;
}

.tabs__button {
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	padding: 12px 18px;
	border-radius: 14px;
	cursor: pointer;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		color 0.15s ease,
		transform 0.15s ease;
}

.tabs__button:not(.is-active):hover {
	border-color: rgba(31, 38, 46, 0.2);
	background: #f4f7fb;
}

.tabs__button:not(.is-active):active {
	transform: scale(0.98);
}

.tabs__button:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.tabs__button.is-active {
	color: #ffffff;
    background: linear-gradient(0deg, #ff5b24 0%, rgba(233, 118, 64, 0.8) 100%);
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.13), inset 0 6px 10px rgba(255, 255, 255, 0.13);
}

.tabs__button.is-active:hover {
	filter: brightness(1.05);
}

.tabs__button.is-active:active {
	transform: scale(0.98);
}

.tabs__panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	z-index: 0;
	transition:
		opacity 0.35s ease,
		transform 0.35s ease;
	will-change: opacity, transform;
}

.tabs__panel.is-active {
	position: relative;
	left: auto;
	right: auto;
	top: auto;
	height: auto;
	overflow: visible;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
	z-index: 1;
}

.section--sectors .tabs__controls {
	justify-content: center;
	gap: 10px;
	margin-bottom: 35px;
}

.section--sectors .tabs__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px 14px;
	border-radius: 15px;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: -0.64px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	color: #1f262e;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
}

.section--sectors .tabs__button-icon {
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 20px;
}

.section--sectors .tabs__button-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.section--sectors .tabs__button.is-active .tabs__button-icon img {
	filter: brightness(0) invert(1);
}

.section--sectors .tabs__button.is-active {
	color: #ffffff;
    background: linear-gradient(0deg, #ff5b24 0%, rgba(233, 118, 64, 0.8) 100%);
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.13), inset 0 6px 10px rgba(255, 255, 255, 0.13);
}

.price-list {
	display: grid;
	gap: 16px;
}

.price-item {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 20px;
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(31, 38, 46, 0.06);
}

.price-item span {
	font-weight: 600;
}

.section--sectors .price-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 39px;
	row-gap: 0;
}

.section--sectors .price-item {
	flex-wrap: nowrap;
	align-items: center;
	gap: 30px;
	padding: 25px 0;
	background: none;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.section--sectors .price-item > div:first-of-type {
	flex: 1 1 0%;
	min-width: 0;
}

.section--sectors .price-item > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.section--sectors .price-item__heading {
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.54px;
	color: #1f262e;
}

.section--sectors .price-item__title {
	color: inherit;
	text-decoration: none;
}

.section--sectors .price-item p {
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: -0.45px;
	color: #7a8996;
}

.section--sectors .price-tag {
	display: inline-flex;
	flex-direction: column;
	flex: 0 1 auto;
	gap: 4px;
	align-items: center;
	align-self: center;
	min-width: 0;
}

.section--sectors .price-tag span {
	display: inline-flex;
	align-items: center;
	padding: 11px 20px 14px;
	border-radius: 15px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: -0.64px;
	color: #1f262e;
	white-space: nowrap;
}

.section--sectors .price-tag small {
	font-size: 12px;
	color: #7a8996;
	text-align: center;
}

.error-404 {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
	gap: 48px;
	align-items: center;
	overflow: hidden;
	min-height: 560px;
	margin-top: 60px;
	padding: 86px;
	border: 1px solid rgba(31, 38, 46, 0.06);
	border-radius: 40px;
	background:
		radial-gradient(ellipse 48% 58% at 90% 0%, rgba(79, 177, 247, 0.22) 0%, transparent 70%),
		radial-gradient(ellipse 42% 52% at 7% 100%, rgba(255, 91, 36, 0.1) 0%, transparent 68%),
		linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
	box-shadow: 0 24px 70px rgba(31, 38, 46, 0.08);
}

.error-404::before {
	content: "";
	position: absolute;
	right: -140px;
	bottom: -160px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: rgba(79, 177, 247, 0.14);
	filter: blur(4px);
	pointer-events: none;
}

.error-404__content,
.error-404__visual,
.error-404__links {
	position: relative;
	z-index: 1;
}

.error-404__content {
	display: grid;
	gap: 22px;
	max-width: 690px;
}

.error-404__eyebrow {
	width: fit-content;
	padding: 9px 16px 11px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	color: #0277e4;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.48px;
}

.error-404__title {
	max-width: 650px;
	font-size: clamp(42px, 5vw, 72px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.05em;
	color: #1f262e;
}

.error-404__text {
	max-width: 600px;
	color: #7a8996;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.88px;
}

.error-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 12px;
}

.error-404__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 340px;
	overflow: hidden;
	border: 1px solid rgba(31, 38, 46, 0.08);
	border-radius: 32px;
	background:
		radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.78) 0 12%, transparent 13%),
		linear-gradient(140deg, rgba(255, 255, 255, 0.88) 0%, rgba(233, 244, 255, 0.88) 100%);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.8),
		0 30px 70px rgba(2, 119, 228, 0.14);
}

.error-404__visual::before,
.error-404__visual::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.error-404__visual::before {
	inset: 44px auto auto 48px;
	width: 118px;
	height: 118px;
	background: linear-gradient(180deg, #4fb1f7 0%, #0277e4 100%);
	opacity: 0.16;
}

.error-404__visual::after {
	right: 48px;
	bottom: 52px;
	width: 86px;
	height: 86px;
	background: linear-gradient(0deg, #ff5b24 0%, rgba(233, 118, 64, 0.8) 100%);
	opacity: 0.18;
}

.error-404__code {
	position: relative;
	z-index: 1;
	background: linear-gradient(110deg, #0277e4 0%, #4fb1f7 46%, #ff5b24 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
	font-size: clamp(112px, 11vw, 184px);
	font-weight: 700;
	line-height: 0.85;
	letter-spacing: -0.1em;
	text-shadow: 0 18px 44px rgba(2, 119, 228, 0.18);
}

.error-404__route {
	position: absolute;
	right: 52px;
	bottom: 44px;
	left: 52px;
	height: 2px;
	background: linear-gradient(90deg, rgba(2, 119, 228, 0), rgba(2, 119, 228, 0.35), rgba(255, 91, 36, 0));
}

.error-404__route span {
	position: absolute;
	top: 50%;
	width: 14px;
	height: 14px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: #0277e4;
	box-shadow: 0 8px 18px rgba(2, 119, 228, 0.25);
	transform: translate(-50%, -50%);
}

.error-404__route span:nth-child(1) {
	left: 14%;
}

.error-404__route span:nth-child(2) {
	left: 52%;
	background: #4fb1f7;
}

.error-404__route span:nth-child(3) {
	left: 86%;
	background: #ff5b24;
	box-shadow: 0 8px 18px rgba(255, 91, 36, 0.22);
}

.error-404__links {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.error-404__link-card {
	display: grid;
	gap: 5px;
	padding: 20px 24px 23px;
	border: 1px solid rgba(31, 38, 46, 0.08);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 10px 34px rgba(31, 38, 46, 0.06);
	color: #1f262e;
	text-decoration: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.error-404__link-card:hover,
.error-404__link-card:focus-visible {
	border-color: rgba(2, 119, 228, 0.26);
	box-shadow: 0 16px 40px rgba(2, 119, 228, 0.12);
	transform: translateY(-2px);
}

.error-404__link-card:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.error-404__link-card span {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.54px;
}

.error-404__link-card small {
	color: #7a8996;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.45px;
}

@media (max-width: 980px) {
	.error-404 {
		grid-template-columns: 1fr;
		gap: 34px;
		min-height: 0;
		padding: 56px 32px;
	}

	.error-404__content {
		max-width: none;
		text-align: center;
	}

	.error-404__eyebrow {
		margin: 0 auto;
	}

	.error-404__text {
		margin: 0 auto;
	}

	.error-404__actions {
		justify-content: center;
	}

	.error-404__visual {
		min-height: 260px;
	}
}

@media (max-width: 720px) {
	.error-404 {
		gap: 24px;
		margin-top: 24px;
		padding: 34px 18px;
		border-radius: 24px;
	}

	.error-404__title {
		font-size: 36px;
		letter-spacing: -1.6px;
	}

	.error-404__text {
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: -0.48px;
	}

	.error-404__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.error-404__actions .btn {
		width: 100%;
	}

	.error-404__visual {
		min-height: 190px;
		border-radius: 22px;
	}

	.error-404__code {
		font-size: clamp(84px, 30vw, 118px);
	}

	.error-404__route {
		right: 28px;
		bottom: 28px;
		left: 28px;
	}

	.error-404__links {
		grid-template-columns: 1fr;
	}
}

/* Секция калькулятора. */
.section--calc {
	background:
		radial-gradient(ellipse 55% 50% at 65% -30%, rgba(79, 177, 247, 0.2) 0%, transparent 70%),
		radial-gradient(ellipse 55% 50% at -5% 40%, rgba(79, 177, 247, 0.15) 0%, transparent 70%),
		#085192;
	border-radius: 40px;
	margin: 0 44px;
	margin-bottom: 100px;
	padding: 90px 0;
}

.section--calc.section--accent {
	background:
		radial-gradient(ellipse 55% 50% at 65% -30%, rgba(79, 177, 247, 0.2) 0%, transparent 70%),
		radial-gradient(ellipse 55% 50% at -5% 40%, rgba(79, 177, 247, 0.15) 0%, transparent 70%),
		#085192;
}

.calc {
	display: flex;
	gap: 100px;
	align-items: stretch;
	position: relative;
}

.calc__form {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 768px;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}

.calc__desc {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.calc__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: #fff;
	margin: 0;
}

.calc__subtitle {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
}

.calc__grid {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 0;
}

.calc__field {
	display: flex;
	flex-direction: column;
	padding: 14px 23px 15px;
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.3);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	height: 76px;
	cursor: pointer;
	gap: 0;
	transition:
		background var(--motion-duration-fast) var(--motion-ease-soft),
		border-color var(--motion-duration-fast) var(--motion-ease-soft),
		box-shadow var(--motion-duration-fast) var(--motion-ease-soft),
		transform var(--motion-duration-fast) var(--motion-ease-soft);
}

.calc__field:hover {
	background: rgba(255, 255, 255, 0.38);
	border-color: rgba(255, 255, 255, 0.35);
	transform: translateY(-1px);
}

.calc__field:focus-within {
	background: rgba(255, 255, 255, 0.42);
	border-color: rgba(255, 255, 255, 0.5);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.calc__field:active {
	background: rgba(255, 255, 255, 0.34);
	transform: translateY(0);
}

.calc__field--full {
	width: 100%;
}

.calc__label {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.45px;
	color: rgba(255, 255, 255, 0.4);
}

.calc__input {
	border: 0;
	background: transparent;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.8px;
	color: #fff;
	padding: 0;
	outline: none;
	width: 100%;
}

.calc__input::placeholder {
	color: #fff;
	opacity: 1;
	transition: opacity 0.25s ease;
}

.calc__input:focus::placeholder {
	opacity: 0;
}

.calc__combo {
	position: relative;
	min-width: 0;
}

.calc__field--select {
	position: relative;
}

.calc__field--select::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 9px;
	height: 9px;
	border-right: 2px solid rgba(255, 255, 255, 0.72);
	border-bottom: 2px solid rgba(255, 255, 255, 0.72);
	transform: translateY(-65%) rotate(45deg);
	transition: transform var(--motion-duration-fast) var(--motion-ease-soft);
}

.calc__combo.is-open .calc__field--select::after {
	transform: translateY(-35%) rotate(225deg);
}

.calc__field--select .calc__input {
	padding-right: 28px;
	text-overflow: ellipsis;
	cursor: pointer;
}

.calc__select-dropdown {
	position: absolute;
	z-index: 20;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	padding: 10px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 40px rgba(31, 38, 46, 0.18);
}

.calc__select-search {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	margin: 0 0 8px;
	padding: 10px 14px 12px;
	border: 1px solid rgba(31, 38, 46, 0.12);
	border-radius: 12px;
	outline: none;
	color: #1f262e;
	background: #f5f8fb;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
}

.calc__select-search:focus {
	border-color: rgba(8, 81, 146, 0.38);
	box-shadow: 0 0 0 2px rgba(8, 81, 146, 0.12);
	background: #fff;
}

.calc__select-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	max-height: 280px;
	overflow-y: auto;
	padding-right: 2px;
}

.calc__select-option {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	padding: 10px 12px 12px;
	border: 0;
	border-radius: 12px;
	color: #1f262e;
	background: transparent;
	text-align: left;
	cursor: pointer;
	transition:
		background var(--motion-duration-fast) var(--motion-ease-soft),
		color var(--motion-duration-fast) var(--motion-ease-soft);
}

.calc__select-option--child {
	position: relative;
	padding-left: 30px;
}

.calc__select-option--child::before {
	content: "";
	position: absolute;
	left: 13px;
	top: 18px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(8, 81, 146, 0.42);
}

.calc__select-option:hover,
.calc__select-option:focus-visible,
.calc__select-option[aria-selected="true"] {
	background: rgba(8, 81, 146, 0.08);
}

.calc__select-option:focus-visible {
	outline: 2px solid rgba(8, 81, 146, 0.28);
	outline-offset: 2px;
}

.calc__select-option-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
}

.calc__select-option-meta {
	flex-shrink: 0;
	color: #37B61B;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	white-space: nowrap;
}

.calc__select-empty {
	padding: 12px;
	color: #7a8996;
	font-size: 14px;
	font-weight: 500;
}

.calc__field-row {
	display: flex;
	gap: 4px;
}

.calc__field-row .calc__combo {
	flex: 1;
	min-width: 0;
}

.calc__field-row .calc__combo .calc__field {
	height: 100%;
}

.calc__field-row .calc__field {
	flex: 1;
	min-width: 0;
}

.calc__field-row .calc__combo:first-child .calc__field {
	border-radius: 15px 5px 5px 15px;
}

.calc__field-row .calc__combo:last-child .calc__field {
	border-radius: 5px 15px 15px 5px;
}

.calc__field-row .calc__field:first-child {
	border-radius: 15px 5px 5px 15px;
}

.calc__field-row .calc__field:last-child {
	border-radius: 5px 15px 15px 5px;
}

.calc__field-row .calc__field:not(:first-child):not(:last-child) {
	border-radius: 5px;
}

.calc__result {
	background: #fff;
	border-radius: 30px;
	padding: 35px 40px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1;
	min-width: 0;
	position: relative;
	z-index: 1;
	overflow: hidden;
	box-shadow: none;
	gap: 0;
}

.calc__result-header-desc {
	margin-bottom: 21px;
}

.calc__result-title {
	color: #37B61B;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.6px;
	margin: 10px 0 0;
}

.calc__row {
	display: flex;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	padding-bottom: 14px;
	padding-top: 10px;
	gap: 0;
}

.calc__row--last {
	border-bottom: 0;
	padding-bottom: 24px;
}

.calc__row-item {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.calc__row-label {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.45px;
	color: #7a8996;
}

.calc__row-value {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.54px;
	color: #1f262e;
}

.calc__total {
	display: flex;
	flex-direction: column;
	gap: 0;
	font-size: initial;
}

.calc__total-value {
	font-size: 30px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.2px;
	color: #1f262e;
}

.calc__total-currency {
	font-size: 20px;
	color: #7a8996;
}

.calc__total-note {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.45px;
	color: #7a8996;
}

.calc__cta {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.section--calc .calc__cta > .btn {
	box-sizing: border-box;
	max-width: 331px;
	width: 100%;
	min-height: 73px;
	padding: 20px 35px 24px;
}

section#calc {
    width: 100%;
    max-width: var(--layout-wide-max);
    margin: 0 auto;
}

.calc__note {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.39px;
	color: rgba(122, 137, 150, 0.7);
}

.calc__note-icon {
	flex-shrink: 0;
}

.calc__dots {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	pointer-events: none;
	text-align: center;
	white-space: nowrap;
}

.calc__dots--top {
	color: #0b619f;
	top: -32px;
}

.calc__dots--bottom {
	color: #085395;
	bottom: -25px;
}

.calc__field-row:first-child {
	padding-bottom: 35px;
	border-bottom: 1px solid #ffffff47;
	margin-bottom: 25px;
}

.calc__field-row:nth-child(2) {
	flex-direction: column;
	padding-bottom: 35px;
}

.calc__result-desc {
	color: white;
	font-size: 25px;
	font-weight: 600;
}

.calc__whishbox {
	display: flex;
}



.calc__whishbox-item {
	color: white;
	font-size: 20px;
	margin-right: 20px;
}

.calc__offer {
	position: relative;
	width: 100%;
	color: white;
	font-size: 22px;
	padding: 15px 15px 15px 65px;
	background-color: #06447a;
	border-radius: 17px;
}

.calc__offer::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	width: 27px;
	height: 27px;
	background: url("img/money_box.svg") center / contain no-repeat;
	transform: translateY(-50%);
}

span.calc__org-value {background-color: #FF5B24;padding: 3px 5px;font-weight: 500; border-radius: 4px;}
span.calc__green-value {background-color: #37B61B;padding: 3px 5px;font-weight: 500; border-radius: 4px;}

.calc__row .calc__row-item:first-child strong.calc__row-value {color: #FF5B24;}
.calc__row .calc__row-item:last-child strong.calc__row-value {color: #37B61B;}

.banner {
	background: rgba(255, 255, 255, 0.5);
	border-radius: 16px;
	padding: 62px 0;
	background-repeat: no-repeat;
	background-position: right bottom;
}

.banner.usluga-1,
.banner.usluga-2,
.banner.usluga-3 {
	padding: 0 44px;
	background: transparent;
	border-radius: 0;
}

.banner.usluga-1 .banner__surface,
.banner.usluga-2 .banner__surface,
.banner.usluga-3 .banner__surface {
	max-width: var(--layout-wide-max);
	background-color: rgba(255, 255, 255, 0.5);
	background-repeat: no-repeat;
	background-position: right bottom;
	border-radius: 40px;
	border: 1px solid #ededed;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	padding: 0;
	margin: 0 auto;
}

.banner.usluga-1 .banner__surface {
	background-image: url("img/banner-usluga-1.png");
	background-size: contain;
}

.banner.usluga-2 .banner__surface {
	background-image: url("img/usluga-2.jpg");
}

.banner.usluga-3 .banner__surface {
	background-size: auto 100%;
	background-position: right center;
}

.banner.usluga-3 .banner__text {
	margin-top: 16px;
	margin-bottom: 0;
	max-width: 715px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.2px;
	color: var(--text);
}

.banner.usluga-3 .banner__price-badge {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
	padding: 6px 12px 8px;
	background-color: #ff5b24;
	color: #fff;
	border-radius: 4px;
}

.banner.usluga-3 .banner__price-value {
	font-size: 25px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.2px;
}

.banner.usluga-3 .banner__price-note {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.2px;
}

.banner.usluga-3 .banner__list-item {
	max-width: 165px;
}

.banner__title {
    font-size: 50px;
    font-weight: 600;
    line-height: 58px;
}

.banner_body {
    display: block;
    position: relative;
    max-width: 740px;
	padding: 45px 0;
	background-color: white;
}

.banner_body::after {
	content: "";
	position: absolute;
	top: 0;
	right: -84px;
	bottom: 0;
	width: 84px;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 1) 0,
		rgba(255, 255, 255, 1) 24px,
		rgba(255, 255, 255, 0.85) 42px,
		rgba(255, 255, 255, 0.35) 64px,
		rgba(255, 255, 255, 0) 100%
	);
}

.banner__lead {
	font-size: 20px;
	font-weight: 50;
	max-width: 750px;
}

p.banner__lead {
    margin-top: 15px;
}

.banner__lead .banner__accent {
	color: #fff;
	background-color: #ff5b24;
	padding: 4px;
}

.banner__text {
	font-size: 20px;
	font-weight: 50;
	max-width: 750px;
	margin-top: 12px;
}

.banner__list {
	display: flex;
	margin: 34px 0 40px;
	list-style: none;
	padding: 0;
}

.banner__list-item {
	padding-right: 34px;
	margin-right: 34px;
	border-right: 1px solid rgba(0, 0, 0, 0.1);
	max-width: 160px;
}

.banner__list-item:last-child {
	margin-right: 0;
	border-right: 0;
}

.banner__list-text {
	margin-top: 8px;
	display: block;
	font-size: 14px;
	color: #1f262e;
	line-height: 140%;
}

.banner__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

.banner__actions .btn {
	padding: 17px 30px 22px;
	font-size: 18px;
	letter-spacing: -0.18px;
	line-height: 1.6;
}

.banner__actions .btn--ghost {
	gap: 5px;
}


.warehouse-staff {
	max-width: var(--layout-wide-max);
	position: relative;
	overflow: hidden;
	padding: 110px 0;
	margin: 0 auto;
	border-radius: 40px;
	background-color: #fff;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, rgb(247, 247, 247) 0%, rgb(255, 255, 255) 100%);
}

.warehouse-staff::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 663px;
	max-height: 55%;
	background-image: url("img/staff-section-bg.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
	pointer-events: none;
	z-index: 0;
}

.warehouse-staff .container {
	position: relative;
	z-index: 1;
}

.warehouse-staff__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	border-radius: 15px;
	overflow: hidden;
	white-space: nowrap;
	text-align: center;
}

.warehouse-staff__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	text-align: center;
	margin: 0 0 10px;
	color: #1f262e;
}

.warehouse-staff__lead {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
	text-align: center;
	margin: 0;
}

.warehouse-staff__grid {
	margin: 40px 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 30px;
}

.warehouse-staff__card {
	padding: 30px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.05);
	border-radius: 20px;
	min-height: 270px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	background-color: #fff;
}

.warehouse-staff__card-head {
	display: flex;
	flex-direction: column;
	gap: 11px;
	flex: 1 1 auto;
	min-height: 0;
}

.warehouse-staff__card-title {
	font-size: 25px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -1px;
	margin: 0;
	color: #1f262e;
}

.warehouse-staff__card-title a {
	color: inherit;
	text-decoration: none;
	transition: all 0.3s ease;
}

.warehouse-staff__card-title a:hover {
	color: #0277e4;
	text-decoration: none;
	text-decoration-color: rgba(2, 119, 228, 0.35);
}

.warehouse-staff__card-title a:focus-visible {
	outline: 2px solid #0277e4;
	outline-offset: 2px;
	border-radius: 2px;
}

.warehouse-staff__card-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
}

.warehouse-staff__card-link {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.64px;
	color: #7a8996;
	text-decoration: none;
	margin-bottom: 7px;
	transition:
		color 0.15s ease,
		text-decoration-color 0.15s ease;
}

.warehouse-staff__card-link:last-child {
	margin-bottom: 0;
}

a.warehouse-staff__card-link:hover {
	color: #0277e4;
	text-decoration: underline;
	text-decoration-color: rgba(2, 119, 228, 0.35);
}

a.warehouse-staff__card-link:focus-visible {
	outline: 2px solid #0277e4;
	outline-offset: 2px;
	border-radius: 2px;
}

.warehouse-staff__card-price {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.72px;
	color: #1f262e;
}


strong.warehouse-staff__card-price {
    padding: 6px 12px 8px;
    background-color: #ff5b24;
    color: #fff;
    border-radius: 4px;
    width: 50%;
}

.warehouse-staff__card-price-wrap span.banner__price-note {
    font-size: 13px;
    color: #7a8996;
    margin-left: 6px;
}

.staff {
	max-width: var(--layout-wide-max);
	position: relative;
	overflow: hidden;
	padding: 110px 0;
	margin: 0 auto;
	border-radius: 40px;
	background-color: #fff;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, rgb(247, 247, 247) 0%, rgb(255, 255, 255) 100%);
}

.staff::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 663px;
	max-height: 55%;
	background-image: url("img/staff-section-bg.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
	pointer-events: none;
	z-index: 0;
}

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

.staff__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
}

.staff__subtitle {
	font-size: 26px;
	text-align: center;
	font-weight: 500;
	color: #7a8996;
}

.staff__actions {
	display: flex;
	justify-content: center;
}

.staff__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	margin: 40px 0;
}

.staff__card {
	background-color: #fff;
	border-radius: 16px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.05);
	padding: 12px 30px 30px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.staff__card-img {
	width: 120px;
	height: 138px;
	object-fit: cover;
}

.staff__card-title {
	font-size: 25px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -1px;
}

.staff__card-title a {
	color: inherit;
	text-decoration: none;
}

.staff__card-title a:hover {
	opacity: 0.85;
}

.staff__card-price {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.72px;
}

.staff__card-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.staff__card-list-item {
	font-weight: 500;
	color: #7a8996;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: -0.64px;
	margin-bottom: 7px;
}

.staff__card-list-item:last-child {
	margin-bottom: 0;
}

.staff__card-list-link {
	color: inherit;
	text-decoration: none;
}

.staff__card-list-link:hover {
	opacity: 0.85;
}

.benefit {
	margin: 110px 0;
}

.benefit__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
}

.benefit__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	text-align: center;
}

.benefit__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 62px;
	gap: 15px;
}

.benefit__item {
	border-radius: 16px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	padding: 24px 20px;
	font-size: 20px;
	font-weight: 500;
}

.benefit__accent {
	color: #fff;
	background-color: #ff5b24;
	padding: 4px;
}

.payment {
	margin: 100px 0 60px;
}

.payment__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
}

.payment__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	text-align: center;
}

.payment__list {
	margin-top: 30px;
	display: flex;
	gap: 30px;
}

.payment__item {
	border-radius: 16px;
	padding: 34px;
	font-size: 25px;
	font-weight: 500;
	border: 1px solid rgba(46, 46, 46, 0.1);
}

.letters {
	margin: 110px 0;
}

.letters__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
}

.letters__lead {
	font-size: 26px;
	font-weight: 500;
	text-align: center;
	color: #7a8996;
}

.letters__gallery {
	margin-top: 40px;
	display: flex;
	gap: 34px;
}

.letters__img {
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 16px;
	box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.05);
}

.reviews-landing {
	margin: 0 auto;
	max-width: var(--layout-wide-max);
}

.reviews-landing.section--soft {
	background: #f7f7f7;
	border-radius: 40px;
}

.reviews-landing > .container {
	width: 100%;
	max-width: var(--layout-wide-max);
	border-radius: 40px;
	padding: 110px 197px 80px;
	position: relative;
	overflow: hidden;
	background-color: #fff;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.reviews-landing > .container > *:not(.reviews__glow) {
	position: relative;
	z-index: 4;
}

.reviews-landing__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
}

.reviews-landing__lead {
	font-size: 26px;
	font-weight: 500;
	text-align: center;
	color: #7a8996;
}

.reviews-landing__cta-wrap {
	margin: 0 auto;
	max-width: 628px;
}

.reviews-landing__cta {
	width: 100%;
}

.reviews-landing__cards {
	display: flex;
	gap: 30px;
	justify-content: center;
	margin-bottom: 40px;
}

.reviews-landing__sources {
	display: flex;
	gap: 14px;
	justify-content: center;
	margin: 40px 0;
}

.reviews-landing__source {
	display: flex;
	padding: 25px;
	border-radius: 16px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.05);
}

.reviews-landing__source-badge {
	max-height: 48px;
	width: auto;
	object-fit: contain;
}

.reviews-landing__card-img {
	max-width: 260px;
	border-radius: 16px;
}

.reviews-landing__source-meta {
	padding-left: 15px;
	border-left: 1px solid rgba(46, 46, 46, 0.1);
	margin-left: 15px;
	display: flex;
	align-items: center;
}

.reviews-landing__source-score {
	font-size: 20px;
	font-weight: 500;
	color: #7a8996;
	margin-right: 8px;
}

.reviews-landing__source-star {
	width: 18px;
	height: 18px;
}

.section--prices .section__head {
	max-width: 1438px;
	margin-inline: auto;
	margin-bottom: 35px;
	text-align: center;
}

.section--prices {
	margin-bottom: 115px;
	margin-top: 100px;
}

.section--prices.section--prices {
}

.section--prices .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
}

.section--prices .compare {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	align-items: stretch;
}

.section--prices .compare__col {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	padding: 5px;
	display: grid;
	gap: 0;
	align-content: start;
}

.section--prices .compare__heading {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 80px;
	margin: 0;
	padding: 20px;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -1px;
}

.section--prices .compare__list {
	list-style: none;
	margin: 0;
}

.section--prices .compare__list-item {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 58px;
	padding: 16px 0 16px 28px;
	border-bottom: 1px solid rgba(122, 137, 150, 0.2);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.54px;
	color: #1f262e;
}

.section--prices .compare__list-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	transform: translateY(-50%);
}

.section--prices .compare__list--labels .compare__list-item {
	padding-left: 0;
	color: #1f262e;
}

.section--prices .compare__list-item:last-child {
	border-bottom: 0;
	font-weight: 600;
}

.section--prices .compare__list--labels .compare__list-item::before {
	display: none;
}

.section--prices .compare__col--labels {
	padding: 5px 25px;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
}

.section--prices .compare__col--labels .compare__heading-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	white-space: nowrap;
}

.section--prices .compare__col--labels .compare__heading {
	position: relative;
	min-height: 0;
	padding: 20px 0;
	justify-content: flex-start;
}

.section--prices .compare__col--good {
	background: #228fec;
	box-shadow:
		0 5px 15px -5px rgba(34, 143, 236, 0.25),
		0 55px 55px -15px rgba(34, 143, 236, 0.25);
}

.section--prices .compare__good-inner {
	position: relative;
	z-index: 1;
	padding: 20px 20px 30px;
	background: #fff;
	border-radius: 15px;
}

.section--prices .compare__bad-inner {
	position: relative;
	z-index: 1;
	padding: 20px 20px 30px;
	background: #fff;
	border-radius: 15px;
}

.section--prices .compare__col--good::before {
	content: "";
	position: absolute;
	left: -40px;
	top: -391px;
	width: 878px;
	height: 616px;
	pointer-events: none;
	z-index: 0;
	background: url("img/compare-good-block-bg.svg") no-repeat 50% 50% / 100% 100%;
}

.section--prices .compare__col--good .compare__heading {
	position: relative;
	z-index: 1;
	min-height: 0;
	color: #fff;
}

.section--prices .compare__col--good .compare__heading::before {
	content: "";
	flex-shrink: 0;
	background-image: url("img/outsourcing.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 40px;
	height: 40px;
}

.section--prices .compare__col--good .compare__list-item::before {
	content: "";
	background-image: url("img/approve.svg");
	width: 18px;
	height: 18px;
}

.section--prices .compare__col--bad {
	background: #f7f7f7;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
}

.section--prices .compare__col--bad::before {
	content: "";
	position: absolute;
	left: 40px;
	top: -391px;
	width: 878px;
	height: 616px;
	pointer-events: none;
	z-index: 0;
	background: url("img/compare-bad-block-bg.svg") no-repeat 50% 50% / 100% 100%;
}

.section--prices .compare__col--bad .compare__heading {
	min-height: 0;
	padding: 20px;
	position: relative;
	z-index: 1;
}

.section--prices .compare__col--bad .compare__heading::before {
	content: "";
	flex-shrink: 0;
	background-image: url("img/shtat.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 40px;
	height: 40px;
}

.section--prices .compare__col--bad .compare__list-item::before {
	background: transparent;
}

.section--prices .compare__col--bad .compare__list-item::after {
	content: "×";
	position: absolute;
	left: 5px;
	top: 50%;
	transform: translateY(-50%);
	color: #f65335;
	font-size: 16px;
	line-height: 1;
	font-weight: 600;
}

.section--prices .compare__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 61px;
	margin-top: 15px;
	padding: 15px 30px 20px;
	border-radius: 15px;
	font-size: 16px;
	font-weight: 600;
	line-height: 26px;
	letter-spacing: -0.16px;
	text-decoration: none;
}

.section--prices .compare__btn--primary {
	color: #fff;
	text-shadow: 0 1px 1px #005cb8;
	background: linear-gradient(0deg, #0277e4 0%, #4fb1f7 100%);
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.25),
		inset 0 6px 10px rgba(255, 255, 255, 0.13);
}

.section--prices .compare__btn--muted {
	background: rgba(31, 38, 46, 0.05);
	color: rgba(31, 38, 46, 0.4);
	opacity: 0;
	pointer-events: none;
}

.section--prices .compare__col--labels .compare__list {
	padding-top: 20px;
	padding-bottom: 30px;
}

.section--prices .compare__col--labels .compare__list-item {
	border-bottom-color: rgba(122, 137, 150, 0.1);
}

.section--prices .compare__good-inner .compare__list-item,
.section--prices .compare__bad-inner .compare__list-item {
	border-bottom-color: rgba(122, 137, 150, 0.1);
}

.section--prices .compare__col--labels .compare__btn,
.section--prices .compare__col--bad .compare__btn,
.section--prices .compare__col--good .compare__btn {
	width: 100%;
}

.section--consult {
	padding: 0 44px;
}

.section--consult.section--accent {
	background: transparent;
}

.consult {
	width: 100%;
	max-width: var(--layout-wide-max);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	border-radius: 40px;
	overflow: hidden;
	padding: 90px 197px 100px;
	position: relative;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, transparent 40%),
		radial-gradient(
			ellipse 58% 170% at -5% 45%,
			rgba(79, 177, 247, 0.34) 0%,
			rgba(79, 177, 247, 0) 72%
		),
		radial-gradient(
			ellipse 56% 170% at 102% 36%,
			rgba(79, 177, 247, 0.34) 0%,
			rgba(79, 177, 247, 0) 70%
		),
		#085192;
}

.consult .consult__glow {
	position: absolute;
	pointer-events: none;
	z-index: 0;
	width: min(2686px, 240vw);
	height: auto;
	aspect-ratio: 2686 / 1174;
	left: 50%;
	top: 0;
	transform: translate(-52%, -58%);
	max-width: none;
}

.consult__content,
.consult__form {
	position: relative;
	z-index: 1;
}

.consult__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 1438px;
	text-align: center;
}

.consult__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: #fff;
}

.consult__lead {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: rgba(255, 255, 255, 0.8);
}

.consult__form {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	width: 100%;
}

.consult__field {
	width: 280px;
	height: 76px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	padding: 14px 23px 15px;
	border-radius: 15px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.3);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
}

.consult__input {
	width: 100%;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.5);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.8px;
	outline: none;
}

.consult__input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.consult__form .btn {
	box-sizing: border-box;
	width: 276px;
	min-height: 74px;
	padding: 17px 30px 22px;
	white-space: nowrap;
}

.section.section--process {
	max-width: var(--layout-wide-max);
	margin: auto;
	padding: 0 28px;
}

.section--process {
	background: #fff;
	overflow: hidden;

	background-position: right;
	background-repeat: no-repeat;
	padding: 0;
}

.section--process .container.process {
	padding-top: 80px;
	padding-bottom: 80px;
	background: linear-gradient(
		90deg,
		#ffffff 0%,
		rgba(255, 255, 255, 0.98) 28%,
		rgba(255, 255, 255, 0.9) 38%,
		rgba(255, 255, 255, 0.25) 42%,
		rgba(255, 255, 255, 0) 100%
	);
}

.process {
	display: flex;
	align-items: flex-start;
	gap: 35px;
	position: relative;
}

.process__steps {
	width: 757px;
	max-width: 757px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	padding: 0 28px 0 0;
}

.process__steps .section__head {
	margin-bottom: 0;
	gap: 5px;
}

.process__steps .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: #1f262e;
}

.process__steps .section__description {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.process .steps {
	display: grid;
	gap: 20px;
	padding-left: 0;
	list-style: none;
	counter-reset: process-step;
}

.process .steps__item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	column-gap: 20px;
	row-gap: 2px;
	align-items: center;
	min-height: 56px;
}

.process .steps__item::before {
	counter-increment: process-step;
	content: counter(process-step);
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 56px;
	height: 56px;
	border-radius: 15px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	display: grid;
	place-items: center;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.92px;
	background: linear-gradient(180deg, #4fb1f7 0%, #0277e4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: #228fec;
}

.process .steps__title {
	grid-column: 2;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.54px;
	color: #1f262e;
}

.process .steps__text {
	grid-column: 2;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.45px;
	color: #7a8996;
}

.process__cta {
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	min-height: 74px;
	padding: 20px 30px 25px;
	white-space: nowrap;
}

.section--clients {
	padding: 0 44px;
}

.section--clients.section--soft {
	background: transparent;
}

.section--clients > .container {
	width: 100%;
	max-width: var(--layout-wide-max);
	border-radius: 40px;
	padding: 110px 197px;
}

.section--clients .section__head {
	margin-bottom: 35px;
}

.section--clients .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
}

.section--clients .section__description {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.section--clients .logos {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 25px;
	justify-content: space-between;
	flex-wrap: wrap;
}

.section--clients .logo {
	min-height: 110px;
	border-radius: 20px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	display: grid;
	place-items: center;
	color: rgba(31, 38, 46, 0.5);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.9px;
}

.slider {
	position: relative;
}

.section--projects {
	padding: 0 44px;
}

.section--projects > .container {
	width: 100%;
	max-width: var(--layout-wide-max);
	border-radius: 40px;
	padding: 110px 190px;
}

.section--projects .section__head {
	margin-bottom: 40px;
}

.section--projects .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
}

.section--projects .section__description {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.section--projects .slider__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 704px;
	gap: 20px;
	overflow-x: hidden;
	scroll-snap-type: x mandatory;
	padding-bottom: 10px;
}

.section--projects .slider__track::-webkit-scrollbar {
	height: 6px;
}

.section--projects .slider__track::-webkit-scrollbar-thumb {
	background: rgba(31, 38, 46, 0.2);
	border-radius: 999px;
}

.section--projects .project {
	scroll-snap-align: start;
	width: 704px;
	min-height: 280px;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	gap: 15px;
}

.section--projects .project__content {
	width: 379px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.section--projects .project__intro {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.section--projects .project__intro .project__title {
	margin: 0;
}

.section--projects .project__title {
	font-size: 25px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -1px;
	color: #1f262e;
}

.section--projects .project__title-link {
	color: inherit;
	text-decoration: none;
	transition: color var(--motion-duration-fast) var(--motion-ease-soft);
}

.section--projects .project__title-link:hover,
.section--projects .project__title-link:focus-visible {
	color: var(--accent-strong);
}

.section--projects .project__excerpt {
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.51px;
	color: #7a8996;
}

.section--projects .project__meta {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.section--projects .project__meta-item {
	width: 100%;
	max-width: 120px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.section--projects .project__meta-item:not(:last-child) {
	border-right: 1px solid rgba(0, 0, 0, 0.09);
}

.section--projects .project__meta-label {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.39px;
	color: #7a8996;
}

.section--projects .project__meta-value {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.54px;
	color: #1f262e;
}

.section--projects .project__cta {
	width: fit-content;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 47px;
	padding: 11px 20px 14px;
	border-radius: 15px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	text-decoration: none;
	color: #1f262e;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.64px;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease;
}

.section--projects .project__cta:hover {
	border-color: rgba(31, 38, 46, 0.18);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	background: #fafbfc;
}

.section--projects .project__cta:active {
	transform: translateY(1px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.section--projects .project__cta:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.section--projects .project__cta-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	display: block;
}

.section--projects .project__image {
	position: relative;
	width: 310px;
	flex-shrink: 0;
	box-sizing: border-box;
	border: 5px solid #fff;
	border-radius: 20px;
	background: linear-gradient(160deg, #d8e4f5, #f5f8fb);
}

.section--projects .project__image-frame {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 20px;
}

.section--projects .project__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.section--projects .slider__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	border-radius: 15px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	cursor: pointer;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	color: #1f262e;
	font-size: 24px;
	line-height: 1;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease;
}

.section--projects .slider__nav:hover {
	border-color: rgba(31, 38, 46, 0.2);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.section--projects .slider__nav:active {
	transform: translateY(calc(-50% + 1px)) scale(0.96);
}

.section--projects .slider__nav:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.section--projects .slider__nav:disabled {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
}

.section--projects .slider__nav--prev {
	left: -28px;
	right: auto;
}

.section--projects .slider__nav--next {
	right: -17px;
}

.section--reviews {
	margin: 0 auto;
	max-width: var(--layout-wide-max);
	background: transparent;
}

.section--reviews > .container {
	--reviews-bottom-pad: 110px;
	width: 100%;
	max-width: var(--layout-wide-max);
	border-radius: 40px;
	padding: 110px 197px var(--reviews-bottom-pad);
	position: relative;
	overflow: hidden;
	background-color: #fff;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #ffffff 100%);
}

.section--reviews .reviews__glow,
.reviews-landing .reviews__glow {
	position: absolute;
	left: -522px;
	top: 541px;
	width: 1893px;
	height: 1318px;
	pointer-events: none;
	z-index: 3;
	background: url("img/reviews-section-glow.svg") no-repeat 50% 50% / contain;
}

.section--reviews .section__head {
	margin-bottom: 40px;
	position: relative;
	z-index: 1;
	gap: 10px;
}

.section--reviews .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
}

.section--reviews .section__description {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.section--reviews .reviews__stack {
	z-index: 1;
	margin-bottom: 0;
}

.section--reviews .reviews {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	margin-bottom: 0;
}

.section--reviews .reviews__fade {
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(var(--reviews-bottom-pad) - 14px);
	height: 289px;
	pointer-events: none;
	z-index: 2;
	background: linear-gradient(to top, #f9f9f9 0%, #f7f7f7 20%, rgba(249, 249, 249, 0) 100%);
}

.section--reviews .reviews__col {
	display: grid;
	gap: 32px;
}

.section--reviews .review {
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	border-radius: 20px;
	padding: 25px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.section--reviews .review--lg {
	min-height: 314px;
}

.section--reviews .review--md {
	min-height: 245px;
}

.section--reviews .review--sm {
	min-height: 192px;
}

.section--reviews .review__head {
	display: flex;
	gap: 16px;
	align-items: center;
}

.section--reviews .review__avatar {
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: linear-gradient(160deg, #d8e4f5, #f5f8fb);
	flex-shrink: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.section--reviews .review__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section--reviews .review__avatar-fallback {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	color: #1f262e;
}

.section--reviews .review__name {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.8px;
	color: #1f262e;
}

.section--reviews .review__role {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.39px;
	color: #7a8996;
}

.section--reviews .review__text {
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.51px;
	color: #7a8996;
}

.section--reviews .review--md p,
.section--reviews .review--sm p {
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: -0.51px;
	color: #7a8996;
}

.section--reviews .review__footer {
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	color: #7a8996;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.39px;
}

.section--reviews .review__footer span:last-child {
	margin-left: auto;
	letter-spacing: 1px;
	color: #f4b84a;
	font-size: 16px;
	flex-shrink: 0;
}

.section--reviews .review__source {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 23px;
	padding: 0 10px;
	border-radius: 6px;
	background: #eef2f7;
	white-space: nowrap;
}

.section--reviews .review__source--wide {
	min-width: 73px;
}

.section--reviews .reviews__more {
	position: absolute;
	left: 50%;
	bottom: 135px;
	z-index: 3;
	transform: translateX(-50%);
	box-sizing: border-box;
	width: 628px;
	max-width: calc(100% - 40px);
	min-height: 71px;
	padding: 23px 20px 26px;
	margin: 0;
	border-radius: 15px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #1f262e;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.64px;
}

.section--reviews.section--reviews-page > .container {
	--reviews-bottom-pad: 56px;
}

.section--reviews.section--reviews-page .reviews {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section--reviews.section--reviews-page .review {
	min-height: 245px;
}

.section--reviews.section--reviews-page .reviews-page__description {
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.section--reviews.section--reviews-page .reviews-page__description p {
	margin-left: auto;
	margin-right: auto;
}

.section--reviews.section--reviews-page .reviews-page__description > *:last-child {
	margin-bottom: 0;
}

.section--reviews.section--reviews-page .reviews__more {
	position: static;
	left: auto;
	bottom: auto;
	transform: none;
	width: 320px;
	max-width: 100%;
	margin: 32px auto 0;
	cursor: pointer;
	appearance: none;
}

.section--reviews.section--reviews-page .reviews__more[hidden] {
	display: none;
}

.section--reviews.section--reviews-page .reviews__more.is-loading {
	opacity: 0.75;
	cursor: wait;
}

.section--reviews.section--reviews-page .review.is-entering {
	animation: reviews-card-fade-in 0.4s ease both;
}

@keyframes reviews-card-fade-in {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.section--faq {
	padding: 0 44px;
}

.section--faq > .faq {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--layout-wide-max);
	border-radius: 40px;
	background: #fff;
	display: grid;
	grid-template-columns: 581px minmax(0, 1fr);
	align-items: start;
	justify-content: start;
	gap: 31px;
}

.section--faq .faq__intro {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.section--faq .faq__head {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.section--faq .faq__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: #1f262e;
}

.section--faq .faq__lead {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
}

.section--faq .faq__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	box-sizing: border-box;
	padding: 23px 40px 26px;
	border-radius: 15px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.72px;
	color: #1f262e;
	text-decoration: none;
	cursor: pointer;
	transition:
		opacity 0.15s ease,
		border-color 0.15s ease;
}

.section--faq .faq__cta:hover {
	opacity: 0.92;
	border-color: rgba(31, 38, 46, 0.18);
}

.section--faq .faq__cta:active {
	opacity: 0.88;
}

.section--faq .faq__cta:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 4px;
}

.section--faq .faq__list {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.section--faq .accordion {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	background: transparent;
}

.section--faq .accordion:last-child {
	border-bottom: none;
}

.section--faq .accordion__title {
	width: 100%;
	border: 0;
	background: none;
	text-align: left;
	padding: 25px 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 60px;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -1px;
	color: #1f262e;
	cursor: pointer;
	transition: opacity 0.15s ease;
	border-radius: 8px;
}

.section--faq .accordion.is-open .accordion__title {
	padding: 10px 0 0;
}

.section--faq .accordion__title:hover {
	opacity: 0.88;
}

.section--faq .accordion__title:active {
	opacity: 0.84;
}

.section--faq .accordion__title:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 4px;
}

.section--faq .accordion__title-text {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
}

.section--faq .accordion__icon {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border: none;
	background-color: transparent;
	background-image: url("img/faq-accordion-plus.svg");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
	position: relative;
	box-shadow: none;
	border-radius: 0;
}

.section--faq .accordion.is-open .accordion__icon {
	background-image: url("img/faq-accordion-minus.svg");
}

.section--faq .accordion__content {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	padding: 0;
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.6px;
	color: #7a8996;
	transition:
		max-height var(--motion-duration-slow) var(--motion-ease),
		opacity var(--motion-duration) var(--motion-ease-soft),
		padding var(--motion-duration) var(--motion-ease-soft);
}

.section--faq .accordion.is-open .accordion__content {
	max-height: 28rem;
	opacity: 1;
	padding: 10px 110px 25px 0;
}

@media (min-width: 1201px) {
	.section--faq > .faq {
		grid-template-columns: minmax(260px, 480px) minmax(0, 720px);
		justify-content: space-between;
		column-gap: clamp(24px, 3vw, 48px);
		padding: 80px clamp(40px, 7vw, 120px);
	}
}

.section--publications {
	padding: 0 44px;
}

.section--publications > .container {
	width: 100%;
	max-width: var(--layout-wide-max);
	border-radius: 40px;
	padding: 100px 196px 110px;
	background: linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.section--publications .section__head {
	margin-bottom: 40px;
}

.section--publications .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: #1f262e;
}

.section--publications .slider__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 460px;
	gap: 29px;
	overflow-x: hidden;
	scroll-snap-type: x mandatory;
}

.section--publications .publication {
	width: 460px;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	border-radius: 20px;
	overflow: hidden;
}

.section--publications .publication__image {
	position: relative;
	width: 100%;
	height: 287px;
	box-sizing: border-box;
	border: 5px solid #fff;
	border-bottom: none;
	border-radius: 20px 20px 0 0;
	background: linear-gradient(160deg, #d8e4f5, #f5f8fb);
}

.section--publications a.publication__image {
	display: block;
	color: inherit;
	text-decoration: none;
}

.section--publications .publication__image-frame {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 15px 15px 0 0;
}

.section--publications .publication__category {
	position: absolute;
	z-index: 2;
	left: 16px;
	top: 16px;
	max-width: calc(100% - 32px);
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, 0.56);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.86);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 24px rgba(31, 38, 46, 0.12);
	color: #1f262e;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.26px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.section--publications .publication__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.section--publications .publication__content {
	height: auto;
	padding: 15px 25px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.section--publications .publication__title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.8px;
	color: #1f262e;
}

.section--publications .publication__title-link {
	color: inherit;
	text-decoration: none;
}

.section--publications .publication__excerpt {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.54px;
	color: #7a8996;
}

.section--publications .publication__date {
	margin-top: auto;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.39px;
	color: #7a8996;
}

.section--publications .publication__meta {
	gap: 8px;
	margin-top: auto;
	padding-top: 8px;
}

.section--publications .publication__meta .entry-meta__item {
	min-height: 34px;
	padding: 6px 11px 6px 7px;
	font-size: 12px;
	box-shadow: none;
}

.section--publications .publication__meta .entry-meta__icon {
	width: 22px;
	height: 22px;
}

.section--publications .publication__meta .entry-meta__icon svg {
	width: 13px;
	height: 13px;
}

.section--publications .publication__meta .publication__date {
	margin-top: 0;
	color: inherit;
}

.section--publications .slider__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	z-index: 2;
	top: 110px;
	width: 50px;
	height: 50px;
	border-radius: 15px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	background: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	color: #1f262e;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease;
}

.section--publications .slider__nav--prev {
	left: -24px;
	right: auto;
}

.section--publications .slider__nav--next {
	right: -24px;
	left: auto;
}

.section--publications .slider__nav:disabled {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
}

.section--publications .slider__nav:hover {
	border-color: rgba(31, 38, 46, 0.2);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.section--publications .slider__nav:active {
	transform: scale(0.96);
}

.section--publications .slider__nav:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.section--blog-list {
	padding: 0 44px;
}

.section--blog-list > .container {
    width: 100%;
    max-width: var(--container-max);
    border-radius: 40px;
    padding: 50px 0 100px;
}

.blog-list__header {
	display: flex;
	flex-direction: column;
	gap: 28px;
	margin-bottom: 42px;
}

.blog-list__title {
	margin: 0;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: #1f262e;
}

.blog-list__categories {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.blog-list__categories-label {
	padding-top: 12px;
	color: #7a8996;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}

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

.blog-list__category-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #1f262e;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.blog-list__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 29px;
}

.section--blog-list .publication {
	width: 100%;
	min-width: 0;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	border-radius: 20px;
	overflow: hidden;
}

.section--blog-list .publication__image {
	position: relative;
	display: block;
	width: 100%;
	height: 287px;
	box-sizing: border-box;
	border: 5px solid #fff;
	border-bottom: none;
	border-radius: 20px 20px 0 0;
	background: linear-gradient(160deg, #d8e4f5, #f5f8fb);
	color: inherit;
	text-decoration: none;
}

.section--blog-list .publication__image-frame {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 15px 15px 0 0;
}

.section--blog-list .publication__category {
	position: absolute;
	z-index: 2;
	left: 16px;
	top: 16px;
	max-width: calc(100% - 32px);
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, 0.56);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.86);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 24px rgba(31, 38, 46, 0.12);
	color: #1f262e;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.26px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.section--blog-list .publication__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.section--blog-list .publication__content {
	height: auto;
	padding: 15px 25px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.section--blog-list .publication__title {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.8px;
	color: #1f262e;
}

.section--blog-list .publication__title-link {
	color: inherit;
	text-decoration: none;
}

.section--blog-list .publication__excerpt {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.54px;
	color: #7a8996;
}

.section--blog-list .publication__date {
	margin-top: auto;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.39px;
	color: #7a8996;
}

.section--blog-list .publication__meta {
	gap: 8px;
	margin-top: auto;
	padding-top: 8px;
}

.section--blog-list .publication__meta .entry-meta__item {
	min-height: 34px;
	padding: 6px 11px 6px 7px;
	font-size: 12px;
	box-shadow: none;
}

.section--blog-list .publication__meta .entry-meta__icon {
	width: 22px;
	height: 22px;
}

.section--blog-list .publication__meta .entry-meta__icon svg {
	width: 13px;
	height: 13px;
}

.section--blog-list .publication__meta .publication__date {
	margin-top: 0;
	color: inherit;
}

.blog-list__pagination {
	margin-top: 44px;
}

.blog-list__pagination-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.blog-list__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(31, 38, 46, 0.1);
	border-radius: 14px;
	background: #fff;
	color: #1f262e;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		color 0.15s ease,
		transform 0.15s ease;
}

.blog-list__pagination a.page-numbers:hover {
	border-color: rgba(31, 38, 46, 0.2);
	background: #f4f7fb;
}

.blog-list__pagination .page-numbers.current {
	color: #ffffff;
	background: linear-gradient(0deg, #ff5b24 0%, rgba(233, 118, 64, 0.8) 100%);
	box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.13), inset 0 6px 10px rgba(255, 255, 255, 0.13);
}

@media (max-width: 1200px) {
	.section--blog-list {
		padding: 0 24px;
	}

	.section--blog-list > .container {
		padding: 60px;
		border-radius: 32px;
	}

	.blog-list__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.blog-list__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (max-width: 720px) {
	.section--blog-list {
		padding: 0 16px;
	}

	.section--blog-list > .container {
		padding: 40px 24px;
		border-radius: 24px;
	}

	.blog-list__header {
		gap: 22px;
		margin-bottom: 28px;
	}

	.blog-list__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.blog-list__categories {
		flex-direction: column;
		gap: 10px;
	}

	.blog-list__categories-label {
		padding-top: 0;
	}

	.blog-list__grid {
		grid-template-columns: 1fr;
	}

	.section--blog-list .publication__image {
		height: 220px;
	}

	.section--blog-list .publication__content {
		min-height: 122px;
	}

	.section--blog-list .publication__title {
		font-size: 18px;
	}

	.section--blog-list .publication__excerpt {
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.section--blog-list {
		padding: 0;
	}

	.section--blog-list > .container {
		padding: 22px 16px;
		border-radius: 0;
	}

	.blog-list__title {
		font-size: 24px;
	}

	.blog-list__category-button {
		font-size: 14px;
	}

	.section--blog-list .publication__image {
		height: 170px;
	}

	.section--blog-list .publication__content {
		min-height: 88px;
		padding: 10px 18px 14px;
	}

	.section--blog-list .publication__title {
		font-size: 16px;
		line-height: 1.38;
	}

	.section--blog-list .publication__excerpt {
		font-size: 14px;
		line-height: 1.43;
	}

	.blog-list__pagination .page-numbers {
		min-width: 38px;
		height: 38px;
		border-radius: 12px;
	}
}

.footer.footer {
	position: relative;
	z-index: 0;
	background-color: #085192;
    padding-bottom: 50px;
    padding-top: 200px;
}

.footer.footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #085192;
	background-image: url("img/footer-figma-overlay.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	pointer-events: none;
	z-index: 0;
}

.footer .footer__inner {
	position: relative;
	z-index: 1;
}

.footer .footer__cols {
	display: grid;
	grid-template-columns: minmax(240px, 1.45fr) repeat(4, minmax(0, 1fr));
	align-items: start;
	gap: 28px;
}

.footer__col {
	display: grid;
	gap: 8px;
	align-content: start;
}

.footer__col--brand {
	gap: 18px;
	max-width: 340px;
}

.footer .footer__bottom {
	flex-wrap: wrap;
	margin-top: 68px;
	padding-top: 44px;
	border-top: 1px solid rgba(183, 219, 242, 1);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

@media (min-width: 1200px) {
	.footer .footer__bottom {
		justify-content: space-between;
	}
}

.footer__copyright {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: none;
	margin: 0 auto;
	text-align: center;
}

.footer__copyright-line {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	color: #b7dbf2;
}

.footer__brand-logo {
	display: block;
	width: 174px;
	max-width: 100%;
	height: auto;
}

.footer__brand-text {
	margin: 0;
	color: rgba(183, 219, 242, 0.78);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
}

.footer__social-list {
	list-style-type: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.footer__social-item {
	display: flex;
	align-items: center;
	gap: 8px;
}

.footer__social-text {
	color: #b7dbf2;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.6;
	text-decoration: none;
	transition: color 0.2s ease;
}

a.footer__social-text:hover,
a.footer__social-text:focus-visible {
	color: #ffffff;
}

a.footer__social-text:focus-visible {
	outline: 2px solid #b7dbf2;
	outline-offset: 3px;
	border-radius: 4px;
}

.footer__social-text--phone {
	font-weight: 700;
}

.footer__col-title {
	margin: 0;
	color: #b7dbf2;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.footer__col-line {
	display: block;
	margin: 0;
	color: rgba(183, 219, 242, 0.7);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer__col-line:hover,
.footer__col-line:focus-visible {
	color: #b7dbf2;
}

@media (max-width: 1200px) {
	#process.section--process,
	.section.section--process {
		background-color: #fff;
		background-image: none !important;
	}

	.cards--services {
		grid-template-columns: 1fr;
		max-width: 500px;
		margin: 0 auto;
	}

	.section--services .card__glow-slot--1 {
		transform: scale(0.7);
		transform-origin: 42% 0;
	}

	.section--services .card__glow-slot--2 {
		transform: scale(0.72);
		transform-origin: 50% 0;
		left: -10%;
		top: -36%;
	}

	.section--services .card__glow-slot--3 {
		transform: scale(0.68);
		transform-origin: 52% 0;
	}

	.calc {
		flex-direction: column;
		padding: 60px 80px;
		gap: 40px;
	}

	.calc__form {
		width: 100%;
	}

	.section--consult .consult {
		padding: 70px 80px 80px;
	}

	.consult__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.consult__lead {
		font-size: 22px;
		letter-spacing: -0.88px;
	}

	.consult__form {
		flex-wrap: wrap;
	}

	.section--process .container.process {
		padding-left: 80px;
		padding-right: 80px;
		min-height: 700px;
	}

	.process__steps {
		width: 640px;
		max-width: 640px;
	}

	.process__steps .section__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.process__steps .section__description {
		font-size: 22px;
		letter-spacing: -0.88px;
	}

	.section--clients > .container {
		padding: 80px;
	}

	.section--clients .section__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.section--clients .section__description {
		font-size: 22px;
		letter-spacing: -0.88px;
	}

	.section--clients .logo {
		font-size: 26px;
	}

	.section--projects {
		padding: 0 24px;
	}

	.section--projects > .container {
		padding: 80px;
	}

	.section--projects .section__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.section--projects .section__description {
		font-size: 22px;
		letter-spacing: -0.88px;
	}

	.section--projects .slider__track {
		grid-auto-columns: 640px;
	}

	.section--projects .project {
		width: 640px;
	}

	.section--projects .project__content {
		width: 340px;
		padding: 24px;
	}

	.section--projects .project__image {
		width: 285px;
		height: 280px;
	}

	.section--reviews > .container {
		--reviews-bottom-pad: 80px;
		padding: 80px 80px var(--reviews-bottom-pad);
	}

	.section--reviews.section--reviews-page > .container {
		--reviews-bottom-pad: 40px;
	}

	.reviews-landing > .container {
		padding: 80px 80px 56px;
	}

	.section--reviews .section__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.section--reviews .section__description {
		font-size: 22px;
		letter-spacing: -0.88px;
	}

	.section--reviews .reviews {
		gap: 20px;
	}

	.section--reviews .reviews__col {
		gap: 20px;
	}

	.section--reviews .review {
		padding: 20px;
	}

	.section--reviews .review__text {
		font-size: 16px;
		letter-spacing: -0.48px;
	}

	.section--reviews .review--md p,
	.section--reviews .review--sm p {
		font-size: 16px;
		letter-spacing: -0.48px;
	}

	.section--reviews .reviews__fade {
		height: 260px;
	}

	.section--reviews .reviews__glow,
	.reviews-landing .reviews__glow {
		left: -40%;
		top: 48%;
		width: 140%;
		height: 90%;
	}

	.section--reviews .reviews__more {
		bottom: 72px;
	}

	.section--faq > .faq {
		padding: 80px;
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.section--faq .faq__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.section--faq .faq__lead {
		font-size: 22px;
		letter-spacing: -0.88px;
	}

	.section--faq .accordion__title {
		font-size: 22px;
		letter-spacing: -0.88px;
	}

	.section--publications > .container {
		padding: 80px;
	}

	.section--publications .section__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.section--publications .slider__track {
		grid-auto-columns: 420px;
		gap: 20px;
	}

	.section--publications .publication {
		width: 420px;
	}

	.footer .footer__inner {
		padding: 70px 80px;
	}

	.footer .footer__cols {
		grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(0, 1fr));
	}

	.section--prices .compare__heading {
		font-size: 24px;
		min-height: 68px;
	}

	.section--guarantees .cards--guarantees {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	/* Страницы услуг: скрываем фоновое изображение баннера до 1200px. */
	.banner.usluga-1 .banner__surface,
	.banner.usluga-2 .banner__surface,
	.banner.usluga-3 .banner__surface {
		background-image: none !important;
	}
}

@media (max-width: 1100px) {
	.hero__content {
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.hero__description {
		order: 1;
	}

	.hero__media {
		width: 100%;
		max-width: 560px;
		margin-left: auto;
		margin-right: auto;
		order: 2;
	}

	.hero__image {
		width: 100%;
		max-width: 500px;
		height: auto;
		aspect-ratio: 500 / 543;
		margin-left: auto;
		margin-right: auto;
	}

	.section--prices .compare {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.section--prices .compare__heading {
		min-height: auto;
		font-size: 22px;
		padding: 16px;
	}

	.section--prices .compare__col--bad .compare__heading {
		padding: 16px;
	}

	.section--prices .compare__col--labels {
		padding: 5px 16px;
	}

	.section--prices .compare__col--labels .compare__heading {
		padding: 16px 0;
	}

	.section--prices .compare__col--good .compare__heading {
		padding: 16px;
	}

	.section--prices .compare__list,
	.section--prices .compare__col--labels .compare__list {
		padding: 14px 14px 22px;
	}

	.section--prices .compare__bad-inner {
		padding: 14px 14px 22px;
	}

	.section--prices .compare__list-item {
		min-height: 50px;
		font-size: 16px;
		padding: 12px 0 12px 26px;
	}

	.section--process .container.process {
		padding-top: 90px;
		padding-bottom: 90px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.process {
		min-height: 0;
		flex-direction: column;
		gap: 32px;
	}

	.process__steps {
		width: 100%;
		max-width: none;
		padding: 0 12px 0 0;
		background: linear-gradient(
			90deg,
			#ffffff 0%,
			rgba(255, 255, 255, 0.99) 42%,
			rgba(255, 255, 255, 0.94) 68%,
			rgba(255, 255, 255, 0.65) 86%,
			rgba(255, 255, 255, 0) 100%
		);
	}

	.process__steps .section__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.process__steps .section__description {
		font-size: 20px;
		letter-spacing: -0.7px;
	}

	.process__cta {
		width: 100%;
	}
}

@media (max-width: 1280px) {
	.section--about > .container,
	.section--benefits > .container,
	.section--guarantees > .container,
	.about-letters__shell {
		padding: 72px 40px;
	}
}

@media (max-width: 980px) {
	.topbar__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.section--about,
	.section--benefits,
	.section--guarantees,
	.section--sectors,
	.section--about-letters {
		padding: 0 16px;
	}

	.page-content__inner {
		padding: 32px 24px;
		border-radius: 24px;
	}

	.page-id-18 .page-content__content > ul > li {
		padding: 20px;
		border-radius: 18px;
	}

	.page-main--about .section--about-letters {
		padding-left: max(20px, env(safe-area-inset-left));
		padding-right: max(20px, env(safe-area-inset-right));
	}

	.page-main--about .section--about-mission {
		padding-left: max(20px, env(safe-area-inset-left));
		padding-right: max(20px, env(safe-area-inset-right));
	}

	.section--about > .container,
	.section--benefits > .container,
	.section--guarantees > .container,
	.about-letters__shell {
		padding: 56px 24px;
	}

	.cards--benefits {
		grid-template-columns: repeat(2, 1fr);
	}

	.section--guarantees .cards--guarantees {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.section--calc {
		padding: 0 24px;
	}

	.section--consult {
		padding: 0 24px;
	}

	.calc {
		padding: 50px 60px;
	}

	.section--consult .consult {
		padding: 60px;
		border-radius: 32px;
	}

	.consult__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.consult__lead {
		font-size: 20px;
		letter-spacing: -0.7px;
	}

	.section--clients {
		padding: 0 24px;
	}

	.section--clients > .container {
		padding: 60px;
		border-radius: 32px;
	}

	.section--clients .section__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.section--clients .section__description {
		font-size: 20px;
		letter-spacing: -0.7px;
	}

	.section--clients .logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.section--clients .logo {
		min-height: 96px;
		font-size: 24px;
	}

	.section--projects {
		padding: 0 24px;
	}

	.section--projects > .container {
		padding: 60px;
		border-radius: 32px;
	}

	.section--projects .section__head {
		margin-bottom: 32px;
	}

	.section--projects .section__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.section--projects .section__description {
		font-size: 20px;
		letter-spacing: -0.7px;
	}

	.section--projects .slider__track {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}

	.section--projects .project {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.section--projects .project__content {
		width: calc(100% - 300px);
		min-width: 0;
	}

	.section--projects .project__image {
		width: 300px;
	}

	.section--projects .slider {
		overflow: visible;
	}

	.section--projects .slider__nav {
		z-index: 2;
		top: 50%;
		bottom: auto;
		width: 44px;
		height: 44px;
		border-radius: 12px;
		font-size: 20px;
		transform: translateY(-50%);
	}

	.section--projects .slider__nav:active {
		transform: translateY(-50%) scale(0.96);
	}

	.section--projects .slider__nav--prev {
		left: 8px;
		right: auto;
	}

	.section--projects .slider__nav--next {
		right: 8px;
		left: auto;
	}

	.section--reviews,
	.reviews-landing {
		padding: 0 24px;
	}

	.section--reviews > .container {
		--reviews-bottom-pad: 60px;
		padding: 60px 60px var(--reviews-bottom-pad);
		border-radius: 32px;
	}

	.section--reviews.section--reviews-page .reviews {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.reviews-landing > .container {
		padding: 60px 60px 48px;
		border-radius: 32px;
	}

	.section--reviews .section__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.section--reviews .section__description {
		font-size: 20px;
		letter-spacing: -0.7px;
	}

	.section--reviews .reviews {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.section--reviews .reviews__col {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.section--reviews .review {
		min-height: 0 !important;
	}

	.section--reviews .reviews__fade {
		height: 220px;
	}

	.section--reviews .reviews__glow,
	.reviews-landing .reviews__glow {
		left: -55%;
		top: 52%;
		width: 160%;
		height: 70%;
		opacity: 0.85;
	}

	.section--reviews .reviews__more {
		width: 100%;
		max-width: calc(100% - 32px);
		bottom: 56px;
	}

	.section--faq {
		padding: 0 24px;
	}

	.section--faq > .faq {
		padding: 60px;
		border-radius: 32px;
	}

	.section--faq .faq__intro {
		gap: 20px;
	}

	.section--faq .faq__head {
		gap: 10px;
	}

	.section--faq .faq__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.section--faq .faq__lead {
		font-size: 20px;
		letter-spacing: -0.7px;
	}

	.section--faq .accordion__title {
		font-size: 20px;
		letter-spacing: -0.8px;
		gap: 40px;
	}

	.section--faq .accordion.is-open .accordion__title {
		padding-top: 8px;
	}

	.section--faq .accordion__content {
		font-size: 18px;
	}

	.section--faq .accordion.is-open .accordion__content {
		padding: 10px 110px 22px 0;
	}

	.section--publications {
		padding: 0 24px;
	}

	.section--publications > .container {
		padding: 60px;
		border-radius: 32px;
	}

	.section--publications .section__head {
		margin-bottom: 32px;
	}

	.section--publications .section__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.section--publications .slider__track {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}

	.section--publications .publication {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.section--publications .slider__nav {
		top: 50%;
		bottom: auto;
		width: 44px;
		height: 44px;
		border-radius: 12px;
		font-size: 20px;
		line-height: 1;
		transform: translateY(-50%);
	}

	.section--publications .slider__nav--prev {
		left: 8px;
		right: auto;
	}

	.section--publications .slider__nav--next {
		right: 8px;
		left: auto;
	}

	.section--publications .slider__nav:active {
		transform: translateY(-50%) scale(0.96);
	}

	.footer.footer {
		padding: 0 24px 70px;
	}

	.page:has(.section--home-city-map) .footer.footer {
		padding-top: 280px;
	}

	.footer .footer__inner {
		padding: 60px;
		border-radius: 32px;
		min-height: 0;
	}

	.footer .footer__cols {
		grid-template-columns: minmax(220px, 1.2fr) minmax(0, 1fr);
		gap: 24px;
	}

	.nav__menu {
		position: absolute;
		inset: 70px 5vw auto;
		background: #fff;
		padding: 20px;
		border-radius: 16px;
		box-shadow: var(--shadow);
		flex-direction: column;
		align-items: flex-start;
		display: flex;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-10px);
		transition:
			opacity var(--motion-duration) var(--motion-ease),
			transform var(--motion-duration) var(--motion-ease),
			visibility 0s linear var(--motion-duration);
	}

	.nav__menu.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
		transition:
			opacity var(--motion-duration) var(--motion-ease),
			transform var(--motion-duration) var(--motion-ease),
			visibility 0s;
	}

	.nav__menu .menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.nav__menu .menu > .menu-item + .menu-item:not(.menu-item-has-children) {
		margin-left: 0;
	}

	.nav__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

@media (max-width: 720px) {
	.section {
		padding: 72px 0;
		margin: 0;
	}

	.section--calc {
		border-radius: 0;
	}

	.topbar__contacts {
		flex-wrap: wrap;
	}

	.hero__actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.hero__stats {
		margin-top: 40px;
	}

	.section--about,
	.section--benefits,
	.section--guarantees,
	.section--sectors {
		padding: 0 16px;
	}

	.section--about > .container,
	.section--benefits > .container,
	.section--guarantees > .container {
		padding: 60px 24px;
		border-radius: 24px;
	}

	.section--about .section__title,
	.section--benefits .section__title,
	.section--guarantees .section__title,
	.section--services .section__title {
		font-size: 32px;
	}

	.section--about .section__description,
	.section--benefits .section__description,
	.section--guarantees .section__description,
	.section--services .section__description {
		font-size: 18px;
	}

	.pill {
		font-size: 16px;
	}

	.pill__accent {
		font-size: 16px;
	}

	.guarantees__gradient,
	.consult__glow {
		display: none;
	}

	.section--services .card__content h3 {
		font-size: 26px;
	}

	.cards--benefits {
		grid-template-columns: 1fr;
	}

	.section--guarantees .cards--guarantees {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.section--guarantees .icon-card {
		min-height: 0;
	}

	.section--calc {
		padding: 0 16px;
	}

	.section--consult {
		padding: 0 16px;
	}

	.calc {
		padding: 40px 24px;
		border-radius: 24px;
	}

	.section--consult .consult {
		padding: 40px 24px;
		border-radius: 24px;
		gap: 24px;
	}

	.consult__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.consult__lead {
		font-size: 18px;
		letter-spacing: -0.54px;
	}

	.consult__form {
		flex-direction: column;
		gap: 10px;
	}

	.consult__consent {
		width: 100%;
		max-width: none;
		margin-top: -12px;
	}

	.consult__field,
	.consult__form .btn {
		width: 100%;
		min-height: 64px;
	}

	.consult__form .btn {
		padding: 17px 22px;
	}

	.section--process .container.process {
		padding-top: 72px;
		padding-bottom: 72px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.process {
		gap: 24px;
	}

	.process__steps {
		gap: 24px;
	}

	.process__steps .section__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.process__steps .section__description {
		font-size: 18px;
		letter-spacing: -0.54px;
	}

	.process .steps__item {
		grid-template-columns: 48px minmax(0, 1fr);
		column-gap: 12px;
	}

	.process .steps__item::before {
		width: 48px;
		height: 48px;
		border-radius: 12px;
		font-size: 28px;
		letter-spacing: -1.4px;
	}

	.process .steps__title {
		font-size: 16px;
	}

	.process .steps__text {
		font-size: 14px;
	}

	.process__cta {
		min-height: 64px;
		padding: 17px 22px;
	}

	.section--clients {
		padding: 0 16px;
	}

	.section--clients > .container {
		padding: 40px 24px;
		border-radius: 24px;
	}

	.section--clients .section__head {
		margin-bottom: 24px;
	}

	.section--clients .section__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.section--clients .section__description {
		font-size: 18px;
		letter-spacing: -0.54px;
	}

	.section--clients .logos {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.section--clients .logo {
		min-height: 84px;
		border-radius: 16px;
		font-size: 22px;
	}

	.section--projects {
		padding: 0 16px;
	}

	.section--projects > .container {
		padding: 40px 24px;
		border-radius: 24px;
	}

	.section--projects .section__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.section--projects .section__description {
		font-size: 18px;
		letter-spacing: -0.54px;
	}

	.section--projects .project {
		flex-direction: column;
		min-height: 0;
		gap: 0;
	}

	.section--projects .project__content {
		width: 100%;
		padding: 20px;
	}

	.section--projects .project__meta {
		gap: 8px;
	}

	.section--projects .project__meta-item {
		width: calc((100% - 16px) / 3);
	}

	.section--projects .project__meta-label {
		font-size: 12px;
	}

	.section--projects .project__meta-value {
		font-size: 16px;
	}

	.section--projects .project__cta {
		font-size: 14px;
	}

	.section--projects .project__image {
		width: 100%;
		height: 220px;
		border-width: 4px;
	}

	.section--projects .project__image-frame {
		border-radius: 16px;
	}

	.section--reviews,
	.reviews-landing {
		padding: 0 16px;
	}

	.section--reviews > .container {
		--reviews-bottom-pad: 40px;
		padding: 40px 24px var(--reviews-bottom-pad);
		border-radius: 24px;
	}

	.section--reviews.section--reviews-page .reviews {
		grid-template-columns: 1fr;
	}

	.section--reviews.section--reviews-page .reviews__more {
		width: 100%;
	}

	.reviews-landing > .container {
		padding: 40px 24px;
		border-radius: 24px;
	}

	.section--reviews .section__head {
		margin-bottom: 24px;
	}

	.section--reviews .section__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.section--reviews .section__description {
		font-size: 18px;
		letter-spacing: -0.54px;
	}

	.section--reviews .reviews__col {
		grid-template-columns: 1fr;
	}

	.section--reviews .review__name {
		font-size: 18px;
	}

	.section--reviews .review__text {
		font-size: 16px;
		letter-spacing: -0.48px;
	}

	.section--reviews .review--md p,
	.section--reviews .review--sm p {
		font-size: 16px;
		letter-spacing: -0.48px;
	}

	.section--reviews .reviews__fade {
		height: 180px;
	}

	.section--reviews .reviews__glow,
	.reviews-landing .reviews__glow {
		left: -70%;
		top: 58%;
		width: 200%;
		height: 55%;
		opacity: 0.75;
	}

	.section--reviews .reviews__more {
		min-height: 60px;
		border-radius: 16px;
		font-size: 14px;
		bottom: 40px;
	}

	.section--faq {
		padding: 0 16px;
	}

	.section--faq > .faq {
		padding: 40px 24px;
		border-radius: 24px;
		gap: 24px;
	}

	.section--faq .faq__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.section--faq .faq__lead {
		font-size: 18px;
		letter-spacing: -0.54px;
	}

	.section--faq .faq__intro .faq__cta {
		width: 100%;
		justify-content: center;
		min-height: 64px;
		padding: 17px 22px;
		font-size: 16px;
		letter-spacing: -0.64px;
	}

	.section--faq .accordion__title {
		padding: 18px 0;
		font-size: 20px;
		letter-spacing: -0.8px;
		gap: 16px;
	}

	.section--faq .accordion.is-open .accordion__title {
		padding: 8px 0 0;
	}

	.section--faq .accordion__icon {
		width: 40px;
		height: 40px;
	}

	.section--faq .accordion__content {
		font-size: 16px;
		letter-spacing: -0.48px;
	}

	.section--faq .accordion.is-open .accordion__content {
		padding: 8px 56px 18px 0;
	}

	.section--publications {
		padding: 0 16px;
	}

	.section--publications > .container {
		padding: 40px 24px;
		border-radius: 24px;
	}

	.section--publications .section__head {
		margin-bottom: 24px;
	}

	.section--publications .section__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.section--publications .publication__image {
		height: 220px;
	}

	.section--publications .publication__content {
		height: auto;
		min-height: 122px;
		padding: 14px 16px;
	}

	.section--publications .publication__title {
		font-size: 18px;
	}

	.section--publications .publication__excerpt {
		font-size: 16px;
	}

	.footer.footer {
		padding: 0 16px 56px;
	}

	.footer .footer__inner {
		padding: 40px 24px;
		border-radius: 24px;
		gap: 24px;
	}

	.footer .footer__cols {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.calc__title {
		font-size: 32px;
	}

	.calc__desc p {
		font-size: 18px;
	}

	.calc__field-row {
		flex-direction: column;
		gap: 10px;
	}

	.calc__field-row .calc__combo {
		width: 100%;
	}

	.calc__field-row .calc__field {
		border-radius: 15px !important;
	}

	.calc__result {
		border-radius: 20px;
	}

	.calc__result h3 {
		font-size: 30px;
	}

	.section--prices.section--prices {
		padding: 72px 0;
	}

	.section--prices .section__title {
		font-size: 32px;
		letter-spacing: -1px;
	}

	.section--prices .compare__heading {
		font-size: 20px;
		min-height: 64px;
	}

	.section--prices .compare__list-item {
		font-size: 15px;
		min-height: 46px;
		padding-left: 24px;
	}

	.section--prices .compare__list-item::before {
		width: 18px;
		height: 18px;
	}

	.section--prices .compare__btn {
		min-height: 48px;
		font-size: 14px;
	}
}


/* Обёртка секции: широкая панель и центрированный контент. */
.target-clients__wrap {
	max-width: var(--layout-wide-max);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
	border-radius: 40px;
	padding: 110px 0;
}

.target-clients__inner {
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

.target-clients__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
	letter-spacing: -2px;
	line-height: 1.1;
	color: var(--text);
}

.target-clients__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	text-align: center;
	letter-spacing: -1.04px;
	line-height: 1.4;
	margin-top: 10px;
}

.target-clients__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	margin-top: 40px;
}

.target-clients__card {
	flex: 1 0 0;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
}

.target-clients__card-img {
	position: relative;
	height: 150px;
	overflow: hidden;
}

/* Плавный переход изображения в белый фон карточки. */
.target-clients__card-img::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 49.333%, #ffffff 100%);
}

.target-clients__card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.target-clients__card-body {
	padding: 20px 30px 30px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.target-clients__card-title {
	font-size: 25px;
	font-weight: 600;
	color: var(--text);
	letter-spacing: -1px;
	line-height: 1.2;
}

.target-clients__card-text {
	font-size: 16px;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.5);
	letter-spacing: -0.64px;
	line-height: 1.4;
	margin: 0;
}

/* Секция «Что вы получаете». */

.what-you-get {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
}

.what-you-get__inner {
	display: flex;
	align-items: flex-start;
	gap: 35px;
	padding: 100px 0;
	position: relative;
}

.what-you-get__content {
	width: 799px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
	position: relative;
	z-index: 2;
}

.what-you-get__title {
	font-size: 50px;
	font-weight: 600;
	color: var(--text);
	letter-spacing: -2px;
	line-height: 1.1;
}

.what-you-get__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	letter-spacing: -1.04px;
	line-height: 1.4;
	max-width: 620px;
	margin-top: -20px;
}

.what-you-get__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.what-you-get__item {
	display: flex;
	align-items: center;
	gap: 20px;
}

.what-you-get__item-icon {
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 15px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	display: flex;
	align-items: center;
	justify-content: center;
}

.what-you-get__item-icon img {
	width: 30px;
	height: 30px;
}

.what-you-get__item-text-wrap {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.what-you-get__item-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--text);
	letter-spacing: -0.54px;
	line-height: 1.3;
}

.what-you-get__item-text {
	font-size: 15px;
	font-weight: 500;
	color: #7a8996;
	letter-spacing: -0.45px;
	line-height: 1.4;
	margin: 0;
}

.what-you-get__image {
	position: absolute;
	right: -140px;
	top: 0;
	bottom: 0;
	width: 100%;
	max-width: 900px;
	border-radius: 40px;
	overflow: hidden;
}

.what-you-get__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Секция «Какие услуги мы предоставляем». */

.our-services__panel {
	position: relative;
	overflow: hidden;
	border-radius: 40px;
	background-color: #ffffff;
	background-image:
		linear-gradient(90deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #ffffff 100%);
}

.our-services__bg-img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	min-height: 100%;
	display: block;
	object-fit: cover;
	object-position: left bottom;
}

.our-services__content {
	position: relative;
	z-index: 1;
	padding: 110px 48px 110px;
}

.our-services__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
	letter-spacing: -2px;
	line-height: 1.1;
	color: var(--text);
}

.our-services__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	text-align: center;
	letter-spacing: -1.04px;
	line-height: 1.4;
	margin-top: 10px;
}

.our-services__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
	row-gap: 0;
	margin-top: 40px;
}

.our-services__item {
	display: flex;
	gap: 20px;
	align-items: center;
	padding: 25px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.our-services__item-icon {
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 15px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	display: flex;
	align-items: center;
	justify-content: center;
}

.our-services__item-icon img {
	width: 30px;
	height: 30px;
}

.our-services__item-text-wrap {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.our-services__item-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--text);
	letter-spacing: -0.54px;
	line-height: 1.3;
}

.our-services__item-text {
	font-size: 15px;
	font-weight: 500;
	color: #7a8996;
	letter-spacing: -0.45px;
	line-height: 1.4;
	margin: 0;
}

.our-services__cta {
	display: block;
	width: fit-content;
	margin: 40px auto 0;
}

/* Страница usluga-3: блоки banner и u3-*. */

.u3-includes {
	padding: 110px 0;
}

.u3-includes__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
	letter-spacing: -2px;
	line-height: 1.1;
	color: var(--text);
	margin: 0;
}

.u3-includes__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	text-align: center;
	letter-spacing: -1.04px;
	line-height: 1.4;
	max-width: 1134px;
	margin: 10px auto 0;
}

.u3-includes__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 40px;
}

.u3-includes__card {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 25px;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 20px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
}

.u3-includes__card-icon {
	width: 30px;
	height: 30px;
	flex-shrink: 0;
}

.u3-includes__card-icon img {
	width: 30px;
	height: auto;
	max-height: 34px;
	display: block;
	object-fit: contain;
}

.u3-includes__card-text {
	flex: 1 1 0;
	min-width: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.72px;
	color: var(--text);
	margin: 0;
}

.u3-includes__cta {
	display: block;
	width: fit-content;
	margin: 40px auto 0;
}

.u3-functions {
	padding: 0 0 110px;
}

/* Обёртка и центрирование контента секции функций. */
.u3-functions__wrap {
	max-width: var(--layout-wide-max);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
	background:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
	border-radius: 40px;
	padding: 110px 0;
}

.u3-functions__inner {
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

.u3-functions__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
	letter-spacing: -2px;
	line-height: 1.1;
	color: var(--text);
	margin: 0;
}

.u3-functions__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	text-align: center;
	letter-spacing: -1.04px;
	line-height: 1.4;
	margin: 10px auto 0;
	max-width: 1311px;
}

.u3-functions__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 10px;
	margin-top: 40px;
	align-items: start;
}

.u3-functions__card {
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 20px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	padding: 19px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: flex-start;
	min-height: 175px;
}

.u3-functions__card-icon {
	width: 30px;
	height: 34px;
	flex-shrink: 0;
	overflow: hidden;
	line-height: 0;
}

.u3-functions__card-icon img {
	width: 30px;
	height: 34px;
	object-fit: contain;
	object-position: left top;
	display: block;
	flex-shrink: 0;
}

.u3-functions__card-text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.64px;
	color: var(--text);
	margin: 0;
}

.u3-functions__cta {
	display: block;
	width: fit-content;
	margin: 40px auto 0;
}

.u3-tasks {
	padding: 0 0 68px;
}

.u3-tasks__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.u3-tasks__content {
	max-width: 689px;
	flex-shrink: 0;
}

.u3-tasks__title {
	font-size: 50px;
	font-weight: 600;
	letter-spacing: -2px;
	line-height: 1.1;
	color: var(--text);
	margin: 0;
}

.u3-tasks__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	letter-spacing: -1.04px;
	line-height: 1.4;
	margin: 8px 0 0;
	max-width: 620px;
}

.u3-tasks__list {
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.u3-tasks__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 5px 0;
}

.u3-tasks__item-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	overflow: hidden;
	line-height: 0;
}

.u3-tasks__item-icon img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	object-position: left center;
	display: block;
}

.u3-tasks__item-text {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.72px;
	color: var(--text);
}

/* Медиа-блок справа в секции задач. */
.u3-tasks__media {
	flex: 0 0 auto;
	width: 711px;
	max-width: 100%;
	min-width: 0;
	height: 525px;
	border-radius: 16px;
	overflow: hidden;
}

.u3-tasks__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.u3-timing {
	padding: 0 44px 20px;
	background-color: #fff;
}

.u3-timing__panel {
	position: relative;
	overflow: hidden;
	border-radius: 40px;
	background-color: #fff;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.u3-timing__bg {
}

.u3-timing__bg-img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	min-height: 100%;
	display: block;
	object-fit: cover;
	object-position: left bottom;
}

.u3-timing__content {
	position: relative;
	z-index: 1;
	padding: 110px clamp(24px, 12vw, 197px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}

.u3-timing__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
}

.u3-timing__title {
	font-size: 50px;
	font-weight: 600;
	text-align: center;
	letter-spacing: -2px;
	line-height: 1.1;
	color: var(--text);
	margin: 0;
}

.u3-timing__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	text-align: center;
	letter-spacing: -1.04px;
	line-height: 1.4;
	margin: 0;
	max-width: 1438px;
}

.u3-timing__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	width: 100%;
	max-width: 1439px;
}

.u3-timing__card {
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 20px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	padding: 30px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.u3-timing__card--urgent {
	border-color: rgba(46, 46, 46, 0.1);
}

.u3-timing__card-icons {
	display: flex;
	align-items: flex-start;
	isolation: isolate;
	min-height: 36px;
}

.u3-timing__card-icons--two {
	padding-right: 25px;
}

.u3-timing__card-icons--three {
	padding-right: 25px;
}

.u3-timing__card-icons img {
	width: 36px;
	height: 36px;
	display: block;
	flex-shrink: 0;
	position: relative;
}

.u3-timing__card-icons--two img:first-child {
	z-index: 2;
}

.u3-timing__card-icons--two img:last-child {
	margin-left: -25px;
	z-index: 1;
}

.u3-timing__card-icons--three img:nth-child(1) {
	z-index: 3;
}

.u3-timing__card-icons--three img:nth-child(2) {
	margin-left: -25px;
	z-index: 2;
}

.u3-timing__card-icons--three img:nth-child(3) {
	margin-left: -25px;
	z-index: 1;
}

.u3-timing__card-icons--fire img {
	width: 36px;
	height: 36px;
}

.u3-timing__card-head {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.u3-timing__card-title {
	font-size: 25px;
	font-weight: 600;
	letter-spacing: -1px;
	line-height: 1.2;
	color: var(--text);
}

.u3-timing__card-sub {
	font-size: 16px;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.5);
	letter-spacing: -0.64px;
	line-height: 1.4;
}

.u3-timing__card-time {
	font-size: 20px;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.5);
	letter-spacing: -0.8px;
	line-height: 1.2;
	margin: 0;
}

.u3-timing__card-btn {
	box-sizing: border-box;
	width: 100%;
	min-height: 61px;
	text-align: center;
	justify-content: center;
	padding: 15px 20px 20px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: -0.16px;
	margin-top: auto;
	background: #fff;
	border: 1px solid rgba(31, 38, 46, 0.1);
	border-radius: 15px;
	color: var(--text);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
}

.u3-timing__card-btn:hover {
	border-color: rgba(31, 38, 46, 0.18);
	background: #fafbfc;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.07);
}

.u3-timing__card-btn:active {
	transform: translateY(1px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.u3-timing__card-btn:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.u3-timing__card-btn--accent {
	background: linear-gradient(180deg, #ff8e24 0%, #ff5b24 100%);
	border: 0;
	color: #fff;
	text-shadow: 0 1px 1px #8b1500;
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.25),
		inset 0 6px 10px rgba(255, 255, 255, 0.13);
}

.u3-timing__card-btn--accent:hover {
	filter: brightness(1.04);
	background: linear-gradient(180deg, #ff8e24 0%, #ff5b24 100%);
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.25),
		inset 0 6px 10px rgba(255, 255, 255, 0.13);
}

.u3-timing__card-btn--accent:active {
	filter: brightness(0.98);
}

.u3-when {
	padding: 0 44px 20px;
	background-color: #fff;
}

.u3-when__panel {
	position: relative;
	overflow: hidden;
	border-radius: 40px;
	background-color: #fff;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.u3-when__bg-img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	min-height: 100%;
	display: block;
	object-fit: cover;
	object-position: left bottom;
}

.u3-when__content {
	position: relative;
	z-index: 1;
	padding: 110px clamp(24px, 12vw, 197px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	text-align: center;
}

.u3-when__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 900px;
}

.u3-when__title {
	font-size: 50px;
	font-weight: 600;
	letter-spacing: -2px;
	line-height: 1.1;
	color: var(--text);
	margin: 0;
}

.u3-when__lead {
	font-size: 26px;
	font-weight: 500;
	color: #7a8996;
	letter-spacing: -1.04px;
	line-height: 1.4;
	margin: 0;
}

.u3-when__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
}

.u3-when__card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: 100%;
	padding: 24px 28px 32px;
	border-radius: 20px;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	text-align: left;
	overflow: hidden;
	transition: border-color 0.25s ease;
}

.u3-when__card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	opacity: 0;
	background: linear-gradient(
		90deg,
		rgba(2, 119, 228, 0) 0%,
		rgba(2, 119, 228, 0.07) 30%,
		rgba(79, 177, 247, 0.13) 50%,
		rgba(2, 119, 228, 0.07) 70%,
		rgba(2, 119, 228, 0) 100%
	);
	background-size: 200% 100%;
	background-position: -200% 0;
	pointer-events: none;
	z-index: 0;
}

.u3-when__card:hover {
	border-color: rgba(2, 119, 228, 0.35);
}

.u3-when__card:hover::before {
	opacity: 1;
	animation: icon-card-shimmer 2s ease forwards;
}

.u3-when__card-icon {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
}

.u3-when__card-image {
	width: 100%;
	height: 100%;
	display: block;
}

.u3-when__card-text {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.u3-when__card-description {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.64px;
	color: rgba(0, 0, 0, 0.5);
}

.u3-when__list {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
	width: 100%;
	max-width: 900px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.u3-when__item {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--text);
	padding: 0;
	margin: 0;
}

.u3-when__cta {
	margin-top: 0;
}

@media (max-width: 1200px) {
	.u3-functions__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.u3-tasks__inner {
		flex-direction: column;
		align-items: stretch;
		min-width: 0;
	}

	.u3-tasks__content {
		min-width: 0;
	}

	.u3-tasks__item {
		align-items: flex-start;
	}

	.u3-tasks__item-icon {
		margin-top: 0.2em;
	}

	.u3-tasks__media {
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 711 / 525;
		min-height: 0;
	}

	.u3-timing {
		padding: 0 24px 20px;
	}

	.u3-timing__content {
		padding: 80px clamp(24px, 6vw, 100px);
		gap: 32px;
	}

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

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

@media (max-width: 900px) {
	.u3-includes__grid {
		grid-template-columns: 1fr;
	}

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

	.u3-when__grid {
		grid-template-columns: 1fr;
	}

	.u3-timing__grid {
		grid-template-columns: 1fr;
	}
}

/* Страница прайса (price.html). */

.section--price-hero {
	padding-top: 48px;
	padding-bottom: 56px;
	position: relative;
	z-index: 1;
}

.price-banner {
	max-width: 876px;
}

.price-banner__title {
	font-size: 55px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2.2px;
	color: var(--text);
	margin: 0 0 24px;
}

.price-banner__lead {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: var(--text);
	margin: 0 0 32px;
}

.price-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.section--price-calc {
	margin-top: 0;
}

.section--price-catalog {
	padding-top: 110px;
	padding-bottom: 110px;
}

.price-catalog__head {
	margin-bottom: 40px;
	max-width: 100%;
}

.price-catalog__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: var(--text);
	margin: 0 0 10px;
}

.price-catalog__description {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: #7a8996;
	margin: 0;
}

.price-catalog__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 30px;
	align-items: start;
}

.price-card {
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 20px;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
	padding: 30px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.price-card__header {
	display: flex;
	gap: 20px;
	align-items: center;
}

.price-card__icon-wrap {
	width: 78px;
	height: 98px;
	flex-shrink: 0;
	overflow: hidden;
}

.price-card__icon {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
}

.price-card__heading-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.price-card__name {
	font-size: 35px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -1.4px;
	color: var(--text);
	margin: 0;
}

.price-card__base-price {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.72px;
	color: var(--text);
	margin: 0;
}

.price-card__rows {
	display: flex;
	flex-direction: column;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.72px;
	color: var(--text);
}

.price-card__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(31, 38, 46, 0.1);
}

.price-card__row--last {
	border-bottom: none;
}

.price-card__role {
	flex: 1;
	color: inherit;
	min-width: 0;
	text-decoration: none;
}

.price-card__price {
	flex-shrink: 0;
	text-align: right;
}

@media (max-width: 1200px) {
	.price-catalog__grid {
		grid-template-columns: 1fr;
	}

	.price-banner__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.price-banner__actions .btn {
		width: 100%;
		min-height: 56px;
		justify-content: center;
	}

	.section--price-catalog {
		padding-top: 28px;
		padding-bottom: 32px;
	}

	.price-card {
		padding: 18px 16px;
		border-radius: 16px;
		gap: 8px;
	}

	.price-card__header {
		gap: 12px;
		align-items: flex-start;
	}

	.price-card__icon-wrap {
		width: 56px;
		height: 64px;
	}

	.price-card__name {
		font-size: 20px;
		line-height: 1.25;
		letter-spacing: -0.4px;
	}

	.price-card__base-price {
		font-size: 14px;
		letter-spacing: -0.42px;
	}

	.price-card__rows {
		font-size: 14px;
		letter-spacing: -0.42px;
	}

	.price-card__row {
		padding: 10px 0;
		align-items: flex-start;
	}

	.price-card__price {
		text-align: left;
	}
}

@media (max-width: 900px) {
	.price-banner__title {
		font-size: 40px;
		letter-spacing: -1.5px;
	}

	.price-banner__lead {
		font-size: 20px;
	}

	.price-catalog__title {
		font-size: 36px;
	}

	.price-catalog__description {
		font-size: 18px;
	}
}

@media (max-width: 600px) {
	.section--price-hero {
		padding-top: 32px;
		padding-bottom: 40px;
	}

	.price-banner__title {
		font-size: 32px;
	}

	.section--price-catalog {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.price-card__name {
		font-size: 26px;
	}
}

/* Страница «О нас» (o-nas.html). */

.section--about-page {
	padding-top: 48px;
	padding-bottom: 80px;
	position: relative;
	z-index: 1;
}

.section--pay-page {
	padding: 48px 0 90px;
}

.pay-page__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
	gap: 30px;
	align-items: stretch;
	margin-bottom: 30px;
}

.pay-page__hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 48px;
	border: 1px solid rgba(46, 46, 46, 0.08);
	border-radius: 32px;
	background:
		radial-gradient(circle at 85% 14%, rgba(79, 177, 247, 0.18), transparent 32%),
		linear-gradient(180deg, #f7f9fc 0%, #fff 100%);
	box-shadow: 0 22px 33px -28px rgba(0, 0, 0, 0.22);
}

.pay-page__eyebrow {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--accent-strong);
}

.pay-page__title {
	margin: 0;
	font-size: 55px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2.2px;
	color: var(--text);
}

.pay-page__lead {
	max-width: 920px;
	margin: 22px 0 0;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.72px;
	color: var(--text-muted);
}

.pay-page__hero-media,
.pay-page__article-media {
	overflow: hidden;
	border-radius: 32px;
	background: #eef3f9;
	box-shadow: 0 18px 38px rgba(12, 26, 75, 0.08);
}

.pay-page__hero-img,
.pay-page__article-img,
.pay-page__contract-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pay-page__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 40px;
}

.pay-page__step {
	padding: 26px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 14px 30px rgba(12, 26, 75, 0.06);
}

.pay-page__step-number {
	display: inline-flex;
	margin-bottom: 22px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.36px;
	background: linear-gradient(180deg, #0277e4 0%, #4fb1f7 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.pay-page__step-title {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.66px;
	color: var(--text);
}

.pay-page__step-text {
	margin: 14px 0 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.32px;
	color: var(--text-muted);
}

.pay-page__content {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.pay-page__article {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
	gap: 30px;
	align-items: stretch;
}

.pay-page__article-text,
.pay-page__notice,
.pay-page__contract-text {
	padding: 38px;
	border: 1px solid rgba(46, 46, 46, 0.08);
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 18px 38px rgba(12, 26, 75, 0.06);
}

.pay-page__section-title {
	margin: 0;
	font-size: 42px;
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -1.68px;
	color: var(--text);
}

.pay-page__article-text p,
.pay-page__notice p,
.pay-page__refund-lead,
.pay-page__refund-card p,
.pay-page__contract-text p {
	margin: 18px 0 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.36px;
	color: var(--text-muted);
}

.pay-page__article-text p:first-of-type,
.pay-page__notice p:first-of-type,
.pay-page__contract-text p:first-of-type {
	margin-top: 22px;
}

.pay-page__notice {
	background:
		linear-gradient(90deg, rgba(247, 247, 247, 0.85) 0%, rgba(255, 255, 255, 0.95) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.pay-page__notice-title {
	margin: 0;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -1.28px;
	color: var(--text);
}

.pay-page__refund {
	margin-top: 50px;
	padding: 48px;
	border-radius: 40px;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, rgb(247, 247, 247) 0%, rgb(255, 255, 255) 100%);
}

.pay-page__refund-head {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	margin-bottom: 30px;
}

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

.pay-page__refund-card {
	padding: 24px;
	border: 1px solid rgba(46, 46, 46, 0.08);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 26px rgba(12, 26, 75, 0.05);
}

.pay-page__refund-card h3,
.pay-page__contract-text h3 {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.66px;
	color: var(--text);
}

.pay-page__contract {
	display: grid;
	grid-template-columns: minmax(320px, 520px) minmax(0, 1fr);
	gap: 30px;
	align-items: stretch;
	margin-top: 30px;
}

.pay-page__contract-img {
	overflow: hidden;
	min-height: 100%;
	border-radius: 28px;
	background: #eef3f9;
	box-shadow: 0 18px 38px rgba(12, 26, 75, 0.08);
}

.pay-page__contract-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.pay-page__cta {
	align-self: flex-start;
	margin-top: 24px;
}

.section--staff-page {
	padding: 48px 0 90px;
}

.staff-page__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
	gap: 30px;
	align-items: stretch;
	margin-bottom: 40px;
}

.staff-page__hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 48px;
	border-radius: 32px;
	background:
		radial-gradient(circle at 82% 12%, rgba(79, 177, 247, 0.18), transparent 32%),
		linear-gradient(180deg, #f7f9fc 0%, #fff 100%);
	border: 1px solid rgba(46, 46, 46, 0.08);
	box-shadow: 0 22px 33px -28px rgba(0, 0, 0, 0.22);
}

.staff-page__eyebrow {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--accent-strong);
}

.staff-page__title {
	margin: 0;
	font-size: 55px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2.2px;
	color: var(--text);
}

.staff-page__lead {
	max-width: 920px;
	margin: 22px 0 0;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.72px;
	color: var(--text-muted);
}

.staff-page__hero-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 300px;
	padding: 34px;
	border-radius: 32px;
	background: linear-gradient(180deg, var(--accent-soft) 0%, var(--accent-strong) 100%);
	color: #fff;
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.25),
		inset 0 6px 10px rgba(255, 255, 255, 0.13),
		0 22px 33px -28px rgba(0, 0, 0, 0.3);
}

.staff-page__stat-value {
	font-size: 92px;
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: -4px;
}

.staff-page__stat-label {
	max-width: 300px;
	margin-top: 18px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.36px;
}

.staff-page__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}

.staff-page__card {
	display: grid;
	grid-template-columns: minmax(240px, 0.85fr) minmax(0, 1fr);
	overflow: hidden;
	min-height: 430px;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 18px 38px rgba(12, 26, 75, 0.08);
}

.staff-page__photo-wrap {
	min-height: 100%;
	background: #eef3f9;
}

.staff-page__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.staff-page__card-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	padding: 38px;
}

.staff-page__role {
	align-self: flex-start;
	margin: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: #eef6ff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.15px;
	color: var(--accent-strong);
}

.staff-page__name {
	margin: 0;
	font-size: 34px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.36px;
	color: var(--text);
}

.staff-page__text {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.36px;
	color: var(--text-muted);
}

.staff-page__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-top: 40px;
	padding: 34px 38px;
	border-radius: 28px;
	background:
		linear-gradient(90deg, rgba(247, 247, 247, 0.85) 0%, rgba(255, 255, 255, 0.95) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
	border: 1px solid rgba(46, 46, 46, 0.08);
}

.staff-page__cta-text {
	min-width: 0;
}

.staff-page__cta-title {
	margin: 0;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -1.28px;
	color: var(--text);
}

.staff-page__cta-lead {
	max-width: 780px;
	margin: 12px 0 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.36px;
	color: var(--text-muted);
}

.staff-page__cta-button {
	flex-shrink: 0;
	white-space: nowrap;
}

.about-hero__grid {
	display: grid;
	position: relative;
	width: 100%;
	max-width: 1506px;
	min-height: clamp(700px, 55vw, 814px);
	align-items: start;
}

.about-hero__content {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
	position: relative;
	z-index: 1;
	width: min(60.9%, 917px);
	max-width: 917px;
}

.about-hero__title {
	margin: 0;
	font-size: 55px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2.2px;
	color: var(--text);
}

.about-hero__lead {
	margin: 0;
	max-width: 917px;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: var(--text);
}

.about-hero__card {
	position: relative;
	z-index: 0;
	max-width: 780px;
	width: 100%;
	overflow: visible;
}

.about-hero__card-back {
	position: absolute;
	z-index: 0;
	left: 6.25%;
	top: 8.5%;
	width: 86.12%;
	height: 86.12%;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid #ebebeb;
	border-radius: 25px;
	box-shadow: 0 22px 33px -20px rgba(0, 0, 0, 0.25);
	transform: rotate(-3.56deg);
	transform-origin: center center;
	pointer-events: none;
}

.about-hero__card-inner {
	position: relative;
	z-index: 1;
	padding: 40px 44px 36px;
	background: #fff;
	border: 1px solid #ebebeb;
	border-radius: 25px;
	box-shadow: 0 22px 33px -20px rgba(0, 0, 0, 0.25);
}

.about-hero__card-text {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.2px;
	color: var(--text);
}

.about-hero__card-footer {
	display: flex;
	align-items: flex-start;
	gap: 19px;
	margin-top: 28px;
}

.about-hero__quote-icon {
	display: block;
	width: 48px;
	height: 39px;
	flex-shrink: 0;
}

.about-hero__card-author {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.about-hero__card-name {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.15px;
	color: var(--text);
}

.about-hero__card-role {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.15px;
	color: rgba(31, 38, 46, 0.5);
}

.about-hero__clients {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 8px;
}

.about-hero__clients-label {
	margin: 0;
	max-width: 917px;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -1.04px;
	color: var(--text);
}

.about-hero__clients-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 50px;
	width: 100%;
    max-width: 788px;
}

.about-hero__client-logo {
	display: block;
	height: 73px;
	width: auto;
	max-width: 260px;
	object-fit: contain;
}

.about-hero__client-logo--zoo {
	height: 57px;
	align-self: center;
}

.about-hero__photo-wrap {
	position: absolute;
	top: -84px;
	right: 0;
	z-index: 0;
	width: min(49.67%, 748px);
	max-width: 748px;
}

.about-hero__photo-mask {
	width: 100%;
	max-width: 748px;
	aspect-ratio: 748 / 898;
	overflow: hidden;
	border-radius: 0 0 0 40px;
	-webkit-mask-image: url("img/about-hero-mask.svg");
	mask-image: url("img/about-hero-mask.svg");
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

.about-hero__photo {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	border-radius: 0;
	object-fit: cover;
	object-position: center top;
	vertical-align: top;
}

.section--about-history {
	padding-top: 110px;
	padding-bottom: 110px;
	border-radius: 40px;
	width: calc(100% - 88px);
	max-width: var(--layout-wide-max);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, rgb(247, 247, 247) 0%, rgb(255, 255, 255) 100%);
}

.section--about-history .section__head {
	margin-bottom: 30px;
}

.section--about-history .section__title {
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
}

.section--about-history .timeline {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.section--about-history .timeline__item {
	display: flex;
	gap: 40px;
	align-items: stretch;
}

.section--about-history .timeline__meta {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	width: 64px;
	flex-shrink: 0;
	gap: 15px;
	min-height: 0;
}

.section--about-history .timeline__year {
	margin: 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -1.04px;
	background: linear-gradient(180deg, #0277e4 0%, #4fb1f7 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.section--about-history .timeline__line {
	flex: 1 1 auto;
	width: 100%;
	max-width: 48px;
	min-height: 32px;
	margin: 0 auto;
	align-self: stretch;
	background-image: url("img/about-timeline-line.svg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 48px 100%;
}

.section--about-history .timeline__text {
	margin: 0;
	flex: 1;
	min-width: 0;
	max-width: 100%;
	padding-right: clamp(24px, 22vw, 400px);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.8px;
	color: var(--text);
}

.section--about-mission {
	padding-top: 110px;
	padding-bottom: 80px;
	box-sizing: border-box;
}

.mission__grid {
	display: grid;
	grid-template-columns: minmax(0, 640px) minmax(280px, 1fr);
	gap: 35px;
	align-items: start;
}

.mission__content {
	display: flex;
	flex-direction: column;
	gap: 30px;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.mission__title {
	margin: 0;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: var(--text);
}

.mission__lead {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.8px;
	color: var(--text);
}

.mission__values {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.mission__value {
	display: flex;
	flex-direction: column;
	gap: 15px;
	flex: 1 1 160px;
	min-width: 140px;
}

.mission__value-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 8px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 15px;
	box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.05);
}

.mission__value-icon-img {
	display: block;
	width: 40px;
	height: 40px;
}

.mission__value-label {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.54px;
	color: var(--text);
}

.mission__cta {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	align-self: flex-start;
	padding: 22px 30px 24px;
	border: 0;
	border-radius: 15px;
	cursor: pointer;
	text-decoration: none;
	font-family: inherit;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: -0.18px;
	color: #fff;
	background: linear-gradient(180deg, #4fb1f7 0%, #0277e4 100%);
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.25),
		inset 0 6px 10px rgba(255, 255, 255, 0.13);
	text-shadow: 0 1px 1px #005cb8;
	transition:
		filter 0.15s ease,
		transform 0.15s ease;
}

.mission__cta:hover {
	filter: brightness(1.04);
}

.mission__cta:active {
	filter: brightness(0.96);
	transform: translateY(1px);
}

.mission__cta:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
}

.mission__cta-icon {
	display: block;
	width: 18px;
	height: 19px;
}

.mission__photo-wrap {
	position: relative;
	justify-self: end;
	width: 100%;
	max-width: 831px;
}

.mission__photo {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	object-fit: cover;
}

.section--about-letters {
	position: relative;
	z-index: 1;
	padding: 0 44px;
	box-sizing: border-box;
}

.about-letters__shell {
	width: 100%;
	max-width: var(--layout-wide-max);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding: 110px 197px;
	border-radius: 40px;
	overflow: hidden;
	background-image:
		linear-gradient(90deg, rgba(247, 247, 247, 0.6) 0%, rgba(247, 247, 247, 0.6) 100%),
		linear-gradient(180deg, #f7f7f7 0%, #fff 100%);
}

.section--about-letters .letters {
	position: relative;
	z-index: 1;
	margin: 0;
}

.section--about-letters .letters__title {
	margin: 0;
}

.section--about-letters .letters__lead {
	margin: 10px 0 0;
}

.section--about-letters .letters__gallery-wrap {
	position: relative;
	margin-top: 48px;
	z-index: 0;
}

.section--about-letters .letters__glow {
	position: absolute;
	pointer-events: none;
	z-index: 0;
	display: block;
	box-sizing: border-box;
	width: 1262.433px;
	height: 1099.231px;
	max-width: none;
	object-fit: contain;
	transform: rotate(153.16deg);
	transform-origin: center center;
}

.section--about-letters .letters__glow--1 {
	left: -228px;
	top: 50%;
	transform: translateY(-50%) rotate(153.16deg);
}

.section--about-letters .letters__glow--2 {
	left: -859px;
	top: 50%;
	transform: translateY(-50%) rotate(153.16deg);
}

.section--about-letters .letters__gallery {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	width: 100%;
	align-items: start;
}

.section--about-letters .letters__card {
	min-width: 0;
	box-sizing: border-box;
	padding: 0;
	background: #fff;
	border: 1px solid rgba(46, 46, 46, 0.1);
	border-radius: 15px;
	box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.05);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition:
		transform var(--motion-duration-fast) var(--motion-ease-soft),
		box-shadow var(--motion-duration-fast) var(--motion-ease-soft);
}

.section--about-letters .letters__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0, 84, 150, 0.14);
}

.section--about-letters .letters__card-preview {
	display: block;
	color: inherit;
	text-decoration: none;
}

.section--about-letters .letters__card-preview:focus-visible,
.section--about-letters .letters__download:focus-visible {
	outline: var(--outline-focus);
	outline-offset: 3px;
}

.section--about-letters .letters__card-inner {
	display: block;
	background: #fff;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 389 / 600;
}

.section--about-letters .letters__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.section--about-letters .letters__card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 18px 18px 20px;
	text-align: center;
}

.section--about-letters .letters__card-title {
	margin: 0;
	color: var(--text);
	font-size: 18px;
	font-weight: var(--font-weight-semibold);
	line-height: 1.25;
	letter-spacing: -0.18px;
}

.section--about-letters .letters__file-meta {
	margin: 0;
	color: var(--text-muted);
	font-size: 14px;
	line-height: 1.35;
}

.section--about-letters .letters__download {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: auto;
	box-sizing: border-box;
	border-radius: 999px;
	padding: 12px 18px 14px;
	background: linear-gradient(180deg, var(--accent-soft) 0%, var(--accent-strong) 100%);
	color: #fff;
	font-size: 15px;
	font-weight: var(--font-weight-semibold);
	line-height: 1.2;
	text-decoration: none;
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.24),
		0 8px 18px rgba(0, 84, 150, 0.16);
	transition:
		filter var(--motion-duration-fast) var(--motion-ease-soft),
		transform var(--motion-duration-fast) var(--motion-ease-soft);
}

.section--about-letters .letters__download:hover {
	filter: brightness(1.04);
}

.section--about-letters .letters__download:active {
	filter: brightness(0.96);
	transform: translateY(1px);
}

@media (max-width: 1200px) {
	.pay-page__hero,
	.pay-page__article,
	.pay-page__refund-head,
	.pay-page__contract {
		grid-template-columns: 1fr;
	}

	.pay-page__steps,
	.pay-page__refund-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pay-page__hero-media,
	.pay-page__article-media,
	.pay-page__contract-img {
		min-height: 320px;
	}

	.staff-page__hero,
	.staff-page__grid {
		grid-template-columns: 1fr;
	}

	.staff-page__hero-card {
		min-height: 220px;
	}

	.about-hero__grid {
		grid-template-columns: 1fr;
		max-width: none;
		min-height: 0;
		gap: 24px;
	}

	.about-hero__photo-wrap {
		position: relative;
		top: auto;
		right: auto;
		margin-top: 0;
		width: 100%;
		justify-self: center;
		order: -1;
		align-self: center;
	}

	.about-hero__content {
		width: 100%;
		max-width: none;
	}

	.about-hero__photo-mask {
		max-height: 480px;
	}

	.about-hero__photo {
		max-height: none;
	}

	.mission__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.mission__photo-wrap {
		order: -1;
		justify-self: stretch;
		width: 100%;
		max-width: min(640px, 100%);
		margin-left: auto;
		margin-right: auto;
	}

	.mission__content {
		gap: 24px;
	}

	.section--about-history .timeline__text {
		padding-right: 0;
	}

	.section--about-history {
		width: calc(100% - 48px);
	}

	.section--about-letters .letters__gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1200px) and (min-width: 981px) {
	.section--about-letters {
		padding: 0 max(24px, env(safe-area-inset-right)) 0 max(24px, env(safe-area-inset-left));
	}
}

@media (max-width: 900px) {
	.section--pay-page {
		padding-bottom: 64px;
	}

	.pay-page__hero-content {
		padding: 34px;
	}

	.pay-page__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.pay-page__lead {
		font-size: 18px;
		letter-spacing: -0.36px;
	}

	.pay-page__section-title {
		font-size: 34px;
		letter-spacing: -1.02px;
	}

	.pay-page__refund {
		padding: 34px;
		border-radius: 30px;
	}

	.section--staff-page {
		padding-bottom: 64px;
	}

	.staff-page__hero-content {
		padding: 34px;
	}

	.staff-page__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.staff-page__lead {
		font-size: 18px;
		letter-spacing: -0.36px;
	}

	.staff-page__card {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.staff-page__photo-wrap {
		aspect-ratio: 16 / 10;
	}

	.staff-page__card-body {
		padding: 30px;
	}

	.staff-page__cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.staff-page__cta-button {
		width: 100%;
	}

	.about-hero__title {
		font-size: 36px;
		letter-spacing: -1.2px;
	}

	.about-hero__lead,
	.about-hero__clients-label {
		font-size: 18px;
	}

	.section--about-mission {
		padding-top: 72px;
		padding-bottom: 56px;
	}

	.mission__grid {
		gap: 22px;
	}

	.mission__content {
		gap: 20px;
	}

	.mission__lead {
		font-size: 18px;
		letter-spacing: -0.36px;
		line-height: 1.45;
	}

	.mission__values {
		gap: 16px;
	}

	.section--about-history .section__title,
	.mission__title {
		font-size: 36px;
	}

	.section--about-letters .letters__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.section--pay-page {
		padding-top: 30px;
		padding-bottom: 44px;
	}

	.pay-page__hero {
		gap: 14px;
		margin-bottom: 18px;
	}

	.pay-page__hero-content,
	.pay-page__hero-media,
	.pay-page__article-media,
	.pay-page__article-text,
	.pay-page__notice,
	.pay-page__refund,
	.pay-page__refund-card,
	.pay-page__contract-img,
	.pay-page__contract-text {
		border-radius: 22px;
	}

	.pay-page__hero-content,
	.pay-page__article-text,
	.pay-page__notice,
	.pay-page__contract-text {
		padding: 22px 18px;
	}

	.pay-page__eyebrow {
		margin-bottom: 8px;
		font-size: 12px;
	}

	.pay-page__title {
		font-size: 28px;
		letter-spacing: -0.84px;
	}

	.pay-page__lead {
		margin-top: 12px;
		font-size: 15px;
		line-height: 1.45;
		letter-spacing: -0.3px;
	}

	.pay-page__hero-media,
	.pay-page__article-media,
	.pay-page__contract-img {
		min-height: 220px;
	}

	.pay-page__steps,
	.pay-page__refund-grid {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-bottom: 18px;
	}

	.pay-page__step,
	.pay-page__refund-card {
		padding: 18px;
		border-radius: 18px;
	}

	.pay-page__step-number {
		margin-bottom: 12px;
		font-size: 15px;
	}

	.pay-page__step-title,
	.pay-page__refund-card h3,
	.pay-page__contract-text h3 {
		font-size: 19px;
		letter-spacing: -0.57px;
	}

	.pay-page__step-text,
	.pay-page__article-text p,
	.pay-page__notice p,
	.pay-page__refund-lead,
	.pay-page__refund-card p,
	.pay-page__contract-text p {
		font-size: 15px;
		line-height: 1.45;
		letter-spacing: -0.3px;
	}

	.pay-page__content,
	.pay-page__article,
	.pay-page__contract {
		gap: 14px;
	}

	.pay-page__section-title {
		font-size: 26px;
		letter-spacing: -0.78px;
	}

	.pay-page__notice-title {
		font-size: 23px;
		letter-spacing: -0.69px;
	}

	.pay-page__refund {
		margin-top: 24px;
		padding: 22px 18px;
	}

	.pay-page__refund-head {
		gap: 12px;
		margin-bottom: 18px;
	}

	.pay-page__contract {
		margin-top: 14px;
	}

	.pay-page__cta {
		width: 100%;
		margin-top: 18px;
	}

	.section--staff-page {
		padding-top: 30px;
		padding-bottom: 44px;
	}

	.staff-page__hero {
		gap: 14px;
		margin-bottom: 18px;
	}

	.staff-page__hero-content,
	.staff-page__hero-card,
	.staff-page__cta {
		border-radius: 22px;
	}

	.staff-page__hero-content {
		padding: 22px 18px;
	}

	.staff-page__eyebrow {
		margin-bottom: 8px;
		font-size: 12px;
	}

	.staff-page__title {
		font-size: 28px;
		letter-spacing: -0.84px;
	}

	.staff-page__lead {
		margin-top: 12px;
		font-size: 15px;
		line-height: 1.45;
		letter-spacing: -0.3px;
	}

	.staff-page__hero-card {
		min-height: 150px;
		padding: 22px 18px;
	}

	.staff-page__stat-value {
		font-size: 56px;
		letter-spacing: -2px;
	}

	.staff-page__stat-label {
		margin-top: 10px;
		font-size: 14px;
	}

	.staff-page__grid {
		gap: 14px;
	}

	.staff-page__card {
		border-radius: 22px;
	}

	.staff-page__photo-wrap {
		aspect-ratio: 4 / 3;
	}

	.staff-page__card-body {
		gap: 12px;
		padding: 20px 18px;
	}

	.staff-page__role {
		padding: 6px 10px;
		font-size: 13px;
	}

	.staff-page__name {
		font-size: 23px;
		letter-spacing: -0.69px;
	}

	.staff-page__text {
		font-size: 15px;
		line-height: 1.45;
		letter-spacing: -0.3px;
	}

	.staff-page__cta {
		gap: 18px;
		margin-top: 18px;
		padding: 22px 18px;
	}

	.staff-page__cta-title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.staff-page__cta-lead {
		font-size: 15px;
		letter-spacing: -0.3px;
	}

	.about-hero__title {
		font-size: 28px;
	}

	.about-hero__clients-logos {
		gap: 24px 32px;
	}

	.about-hero__card-inner {
		padding: 28px 24px;
	}

	.section--about-history .timeline__item {
		flex-direction: column;
		gap: 12px;
	}

	.section--about-history .timeline__meta {
		flex-direction: row;
		width: auto;
		align-items: center;
	}

	.section--about-history .timeline__line {
		display: none;
	}
}

.section--home-city-map {
	padding: 56px 44px 100px;
	margin-bottom: -220px;
	position: relative;
	z-index: 2;
	width: 100%;
	box-sizing: border-box;
}

.section--home-city-map > .container {
	width: 100%;
	max-width: var(--layout-wide-max);
}

.city-map__frame {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.city-map--live .city-map__bg {
	filter: saturate(0.9) contrast(0.97);
}

.city-map {
	position: relative;
	max-width: 1432px;
	height: 520px;
	margin: 0 auto;
	border-radius: 40px;
	overflow: hidden;
	background: #085192;
}

.section--home-city-map .city-map {
	max-width: none;
	width: 100%;
	height: 535px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 40px;
}

.section--home-city-map .city-map__overlay {
	background: linear-gradient(
		90deg,
		#f8f8f8 0%,
		rgba(248, 248, 248, 0.94) 22%,
		rgba(248, 248, 248, 0.72) 40%,
		rgba(248, 248, 248, 0.35) 55%,
		rgba(248, 248, 248, 0) 72%
	);
}

.section--home-city-map .city-map__content {
	background: transparent;
	z-index: 2;
	width: min(100%, 680px, max(47%, 300px));
	padding-top: 100px;
	padding-bottom: 100px;
	padding-right: clamp(32px, 4.5%, 64px);
	padding-left: clamp(24px, 10.75%, 197px);
	box-sizing: border-box;
}

.city-map__bg {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	overflow: hidden;
}

.city-map__overlay {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(
		90deg,
		#f8f8f8 0%,
		rgba(248, 248, 248, 0.85) 38%,
		rgba(248, 248, 248, 0) 72%
	);
	pointer-events: none;
	z-index: 1;
}

.city-map__content {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: min(420px, 100%);
	height: 100%;
	padding: 40px 48px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 30px;
	background: #fff;
}

.city-map__intro {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
	width: 100%;
}

.city-map__title {
	margin: 0;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2px;
	color: var(--text);
}

.city-map__subtitle {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.8px;
	color: #7a8996;
}

.city-map__info {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
}

.city-map__info-item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	max-width: 330px;
}

.city-map__info-icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.city-map__info-icon-img {
	display: block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	object-fit: contain;
}

.city-map__info-icon--glyph {
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: var(--text);
	letter-spacing: -0.02em;
	user-select: none;
}

.city-map__info-text {
	margin: 0;
	flex: 1;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.8px;
	color: var(--text);
}

.city-map__info-link {
	color: inherit;
	text-decoration: none;
}

.city-map__info-link:hover {
	text-decoration: underline;
}

.city-map__info-link:active {
	opacity: 0.85;
}

.city-map__info-link:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
	border-radius: 2px;
}

.city-map__cta {
	align-self: flex-start;
	margin-top: 0;
}

@media (max-width: 1200px) {
	.contacts {
		grid-template-columns: 1fr;
	}

	.contacts__map-wrap {
		max-width: none;
		margin-left: 0;
		height: 480px;
	}
}

@media (max-width: 900px) {
	.section--contacts {
		padding: 32px 24px 60px;
	}

	.contacts__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.section--home-city-map {
		padding: 40px 24px 80px;
		margin-bottom: -160px;
	}

	.section--home-city-map .city-map {
		height: auto;
		min-height: 480px;
	}

	.city-map {
		height: auto;
		min-height: 480px;
	}

	.city-map__content {
		position: relative;
		width: 100%;
		height: auto;
		min-height: 0;
		padding: 32px 28px;
	}

	.section--home-city-map .city-map__content {
		background: #fff;
		width: 100%;
		max-width: none;
		padding: 32px 28px;
	}

	.city-map__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.city-map__subtitle {
		font-size: 18px;
	}

	.page:has(.section--home-city-map) .footer.footer {
		padding-top: 220px;
	}
}

@media (max-width: 600px) {
	.section--contacts {
		padding: 24px 16px 48px;
	}

	.contacts__title {
		font-size: 32px;
		letter-spacing: -1.2px;
	}

	.contacts__info-text,
	.contacts__metro-name {
		font-size: 18px;
	}

	.contacts__map-wrap {
		height: 360px;
	}

	.section--home-city-map {
		padding: 28px 16px 60px;
		margin-bottom: -120px;
	}

	.city-map__title {
		font-size: 36px;
	}

	.city-map__info-text {
		font-size: 18px;
	}
}

/* Мобильная шапка: базовые правила здесь, финальный переключатель для #top — в конце файла. */

.mobile-menu {
	display: none;
}

/* Мобильная верстка до 768px. */

@media (max-width: 768px) {
	/* Шапка: скрываем десктоп и показываем мобильную версию. */

	.topbar {
		display: none;
	}

	.nav {
		display: none;
	}

	.header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 100;
		background: rgba(255, 255, 255, 0.85);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
		padding-top: env(safe-area-inset-top);
	}

	.header__mobile {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 10px 16px;
		min-height: 72px;
		height: auto;
	}

	.header__mobile-logo {
		display: inline-flex;
		align-items: center;
		text-decoration: none;
		transition: opacity 0.15s ease;
		border-radius: 4px;
	}

	.header__mobile-logo:hover {
		opacity: 0.85;
	}

	.header__mobile-logo:active {
		opacity: 0.75;
	}

	.header__mobile-logo:focus-visible {
		outline: 2px solid var(--accent-strong);
		outline-offset: 4px;
	}

	.header__mobile-logo-img {
		width: 126px;
		height: 35px;
		display: block;
	}

	.header__mobile-actions {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.header__mobile-btn {
		width: 48px;
		height: 48px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		border: none;
		cursor: pointer;
		padding: 0;
		text-decoration: none;
		transition:
			filter 0.15s ease,
			transform 0.15s ease;
	}

	.header__mobile-btn:hover {
		filter: brightness(1.08);
	}

	.header__mobile-btn:active {
		filter: brightness(0.92);
		transform: scale(0.96);
	}

	.header__mobile-btn:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 2px;
	}

	.header__mobile-btn img {
		width: 34px;
		height: 34px;
		display: block;
	}

	.header__mobile-btn--tg {
		background: #27a6e6;
	}

	.header__mobile-btn--phone {
		background: #1f262e;
	}

	.header__mobile-btn--burger {
		background: #1f262e;
	}

	.burger-icon {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 5px;
		width: 24px;
		height: 24px;
	}

	.burger-icon__line {
		display: block;
		width: 18px;
		height: 2px;
		background: #fff;
		border-radius: 1px;
		transition:
			transform 0.3s,
			opacity 0.3s;
	}

	.header__mobile-btn--burger.is-active .burger-icon__line:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.header__mobile-btn--burger.is-active .burger-icon__line:nth-child(2) {
		opacity: 0;
	}

	.header__mobile-btn--burger.is-active .burger-icon__line:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	/* Компенсация отступа контента под фиксированную шапку. */

	body {
		overflow-x: hidden;
	}

	.page {
		padding-top: calc(55px + env(safe-area-inset-top));
		overflow: visible;
		isolation: auto;
	}

	html {
		scroll-padding-top: calc(88px + env(safe-area-inset-top));
	}

	[id] {
		scroll-margin-top: calc(88px + env(safe-area-inset-top));
	}

	.page-bg {
		display: none;
	}

	/* Оверлей мобильного меню. */

	.mobile-menu {
		display: block;
		position: fixed;
		top: calc(72px + env(safe-area-inset-top));
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 200;
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.3s ease;
	}

	.mobile-menu.is-open {
		pointer-events: auto;
		opacity: 1;
	}

	.mobile-menu__inner {
		position: absolute;
		left: 8px;
		right: 8px;
		bottom: 8px;
		top: 0;
		max-height: calc(100vh - (72px + env(safe-area-inset-top)) - 16px);
		max-height: calc(100dvh - (72px + env(safe-area-inset-top)) - 16px);
		background: rgba(57, 57, 57, 0.97);
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
		border: 1px solid rgba(0, 0, 0, 0.1);
		border-radius: 15px;
		padding: 18px 16px calc(16px + env(safe-area-inset-bottom));
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		box-shadow: 0 4px 30px -10px rgba(0, 0, 0, 0.8);
		transform: translateY(-20px);
		transition: transform 0.3s ease;
	}

	.mobile-menu.is-open .mobile-menu__inner {
		transform: translateY(0);
	}

	.mobile-menu__content {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 18px;
	}

	.mobile-menu__tabs {
		display: flex;
		background: rgba(0, 0, 0, 0.2);
		border-radius: 10px;
		padding: 4px;
		gap: 5px;
	}

	.mobile-menu__tab {
		flex: 1;
		border: none;
		background: none;
		color: #fff;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: -0.3px;
		line-height: 1.1;
		padding: 8px 0 11px;
		min-height: 44px;
		border-radius: 8px;
		cursor: pointer;
		transition:
			background 0.2s,
			color 0.2s;
	}

	.mobile-menu__tab.is-active {
		background: #fff;
		color: #000;
	}

	.mobile-menu__tab:not(.is-active):hover {
		background: rgba(255, 255, 255, 0.12);
	}

	.mobile-menu__tab:not(.is-active):active {
		transform: scale(0.98);
	}

	.mobile-menu__tab:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 2px;
	}

	.mobile-menu__tabpanel {
		flex: 1;
		min-height: 0;
	}

	.mobile-menu__applicants-lead {
		margin: 0;
		padding: 0 4px;
		font-size: 15px;
		line-height: 1.5;
		color: rgba(255, 255, 255, 0.88);
	}

	.mobile-menu__nav {
		display: flex;
		flex-direction: column;
		gap: 18px;
	}

	.mobile-menu__link {
		font-size: 15px;
		font-weight: 500;
		color: #fff;
		text-decoration: none;
		letter-spacing: -0.3px;
		line-height: 1.3;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: none;
		background: none;
		padding: 10px 0;
		min-height: 44px;
		cursor: pointer;
		width: 100%;
		text-align: left;
		transition:
			opacity 0.15s ease,
			color 0.15s ease;
		border-radius: 4px;
	}

	.mobile-menu__link:hover {
		color: rgba(255, 255, 255, 0.85);
	}

	.mobile-menu__link:active {
		opacity: 0.85;
	}

	.mobile-menu__link:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 4px;
	}

	.mobile-menu__link--arrow::after {
		content: "";
		width: 8px;
		height: 8px;
		border-right: 2px solid rgba(255, 255, 255, 0.5);
		border-bottom: 2px solid rgba(255, 255, 255, 0.5);
		transform: rotate(-45deg);
		flex-shrink: 0;
		transition: transform var(--motion-duration-slow) var(--motion-ease);
	}

	.mobile-menu__list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 18px;
	}

	.mobile-menu__item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		padding-bottom: 18px;
	}

	.mobile-menu__item:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	.mobile-menu__item--has-children {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.mobile-menu__sub {
		display: flex;
		flex-direction: column;
		gap: 14px;
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		padding: 0 0 0 16px;
		list-style: none;
		margin: 0;
		transition:
			max-height var(--motion-duration-slow) var(--motion-ease),
			opacity var(--motion-duration) var(--motion-ease-soft),
			padding var(--motion-duration) var(--motion-ease-soft);
	}

	.mobile-menu__item--has-children.is-open .mobile-menu__sub {
		max-height: 28rem;
		opacity: 1;
		padding: 14px 0 0 16px;
	}

	.mobile-menu__item--has-children.is-open .mobile-menu__link--arrow::after {
		transform: rotate(45deg);
	}

	.mobile-menu__separator {
		height: 1px;
		background: rgba(255, 255, 255, 0.1);
	}

	.mobile-menu__sublink {
		display: flex;
		align-items: center;
		min-height: 40px;
		font-size: 14px;
		font-weight: 400;
		color: rgba(255, 255, 255, 0.7);
		text-decoration: none;
		letter-spacing: -0.28px;
		line-height: 1.4;
		overflow-wrap: anywhere;
		transition:
			color 0.15s ease,
			opacity 0.15s ease;
		border-radius: 4px;
	}

	.mobile-menu__sublink:hover {
		color: #fff;
	}

	.mobile-menu__sublink:active {
		opacity: 0.85;
	}

	.mobile-menu__sublink:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 3px;
	}

	.mobile-menu__footer {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-top: 16px;
	}

	.mobile-menu__city-btn {
		display: inline-flex;
		align-items: center;
		gap: 3px;
		border: none;
		background: none;
		color: #fff;
		font-size: 15px;
		font-weight: 700;
		letter-spacing: -0.3px;
		line-height: 1.1;
		padding: 0;
		cursor: pointer;
		transition: opacity 0.15s ease;
		border-radius: 4px;
	}

	.mobile-menu__city-btn:hover {
		opacity: 0.88;
	}

	.mobile-menu__city-btn:active {
		opacity: 0.75;
	}

	.mobile-menu__city-btn:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 3px;
	}

	.mobile-menu__city-caret {
		width: 8px;
		height: 8px;
		border-right: 2px solid rgba(255, 255, 255, 0.6);
		border-bottom: 2px solid rgba(255, 255, 255, 0.6);
		transform: rotate(45deg);
		margin-top: -3px;
	}

	.mobile-menu__contacts {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.mobile-menu__contact {
		display: flex;
		align-items: flex-start;
		gap: 10px;
		min-height: 44px;
		font-size: 15px;
		font-weight: 500;
		color: #fff;
		text-decoration: none;
		letter-spacing: -0.6px;
		line-height: 1.35;
		overflow-wrap: anywhere;
		transition: opacity 0.15s ease;
		border-radius: 4px;
	}

	.mobile-menu__contact:hover {
		opacity: 0.88;
	}

	.mobile-menu__contact:active {
		opacity: 0.75;
	}

	.mobile-menu__contact:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 3px;
	}

	.mobile-menu__contact-icon {
		width: 22px;
		height: 22px;
		flex-shrink: 0;
		filter: brightness(0) invert(1);
		margin-top: 1px;
	}

	.mobile-menu__contact-icon--badge {
		width: 28px;
		height: 28px;
		filter: none;
		margin-top: -3px;
	}

	.mobile-menu__cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 52px;
		padding: 9px 18px 12px;
		border-radius: 12px;
		background: linear-gradient(to top, #0277e4, #4fb1f7);
		color: #fff;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: -0.14px;
		line-height: 1.6;
		text-shadow: 0 1px 1px #005cb8;
		border: none;
		cursor: pointer;
		box-shadow:
			inset 0 2px 0 0 rgba(255, 255, 255, 0.25),
			inset 0 6px 10px 0 rgba(255, 255, 255, 0.13);
		align-self: flex-start;
		transition:
			filter 0.15s ease,
			transform 0.15s ease;
	}

	.mobile-menu__cta:hover {
		filter: brightness(1.04);
	}

	.mobile-menu__cta:active {
		filter: brightness(0.96);
		transform: translateY(1px);
	}

	.mobile-menu__cta:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 3px;
	}

	/* Контейнер. */

	.container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.page-main--about .container {
		padding-left: max(20px, env(safe-area-inset-left));
		padding-right: max(20px, env(safe-area-inset-right));
	}

	/* Первый экран. */

	.hero {
		padding: 12px 0 0;
		margin-bottom: 0;
	}

	.hero__inner {
		gap: 0;
		padding-bottom: 20px;
	}

	.hero__content {
		flex-direction: column;
		padding: 0;
	}

	.hero__description {
		gap: 10px;
	}

	.hero__title {
		font-size: 25px;
		letter-spacing: -1px;
		line-height: 1.2;
	}

	.hero__subtitle {
		font-size: 15px;
		letter-spacing: -0.15px;
		line-height: 1.5;
		margin-top: 8px;
	}

	.hero__kicker {
		gap: 4px;
	}

	.hero__pill {
		font-size: 10px;
		line-height: 1.2;
		padding: 3px 8px 5px;
		letter-spacing: -0.1px;
		min-height: 24px;
		box-sizing: border-box;
	}

	.hero__actions {
		flex-direction: row;
		gap: 8px;
		margin-top: 14px;
	}

	.hero__actions .btn {
		font-size: 13px;
		padding: 10px 18px 13px;
		border-radius: 10px;
		min-height: 0;
	}

	.hero__media {
		width: 100%;
		max-width: 342px;
		margin: 0 auto;
	}

	.hero__image {
		width: 100%;
		max-width: 342px;
		height: 357px;
		border-radius: 0;
	}

	.hero__stats {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin-top: -85px;
	}

	/* Сетка карточек статистики для мобильного первого экрана. */
	.hero__stats .stat {
		box-sizing: border-box;
		min-height: 99px;
		background: #f5f7f9;
		border-radius: 10px;
		padding: 14px 18px 14px;
		display: flex;
		flex-direction: column;
		gap: 2px;
		justify-content: flex-start;
	}

	.hero__stats .stat__value {
		font-size: 33px;
		font-weight: 600;
		letter-spacing: -1.98px;
		line-height: 1;
		background: linear-gradient(to top, #0277e4, #4fb1f7);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
	}

	.hero__stats .stat__text {
		font-size: 13px;
		font-weight: 500;
		letter-spacing: -0.13px;
		line-height: 1.23;
		color: #1f262e;
		-webkit-text-fill-color: currentColor;
	}

	/* Секция «О нас». */

	.section--about {
		padding: 0;
	}

	.section--about > .container {
		padding: 24px 16px;
		border-radius: 24px;
	}

	.section--about .section__head {
		text-align: left;
	}

	.section--about .about__h2-line--second {
		justify-content: flex-start;
	}

	.section--about .about__h2-check {
		width: 19px;
		height: 21px;
	}

	.section--about .section__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.section--about .section__description {
		font-size: 15px;
		letter-spacing: -0.45px;
	}

	.section--about .pill-grid {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 10px;
	}

	.section--about .pill {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		white-space: normal;
		overflow-wrap: break-word;
		word-break: normal;
		line-height: 1.45;
	}

	.section--about .pill__accent {
		display: inline;
		vertical-align: baseline;
		padding: 2px 5px 4px;
		font-size: inherit;
		line-height: inherit;
		letter-spacing: inherit;
		box-decoration-break: clone;
		-webkit-box-decoration-break: clone;
	}

	/* Секция преимуществ. */

	.section--benefits,
	.section--guarantees {
		padding: 0;
	}

	.section--benefits > .container,
	.section--guarantees > .container {
		padding: 24px 16px;
		border-radius: 0;
	}

	.section--benefits .section__title,
	.section--guarantees .section__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.section--benefits .section__description,
	.section--guarantees .section__description {
		font-size: 15px;
	}

	.cards--benefits {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.cards--benefits .icon-card {
		box-sizing: border-box;
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 15px;
		min-height: 105px;
		padding: 20px;
	}

	.cards--benefits .icon-card__icon {
		width: 40px;
		height: 40px;
	}

	.cards--benefits .icon-card__text {
		gap: 5px;
		min-width: 0;
	}

	.cards--benefits .icon-card__title {
		font-size: 16px;
		line-height: 1.25;
		letter-spacing: -0.32px;
		margin: 0;
	}

	.cards--benefits .icon-card__description {
		font-size: 14px;
		line-height: 1.43;
		letter-spacing: -0.42px;
		margin: 0;
	}

	/* Секция услуг. */

	.section--services {
		padding: 22px 0;
		box-sizing: border-box;
	}

	.section--services .section__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.section--services .section__description {
		font-size: 15px;
	}

	.section--services .cards {
		gap: 12px;
	}

	.section--services .card {
		flex-direction: column;
		min-height: 0;
	}

	.section--services .card__image--service-1,
	.section--services .card__image--service-2,
	.section--services .card__image--service-3 {
		width: 100%;
		max-width: 436px;
		height: auto;
		aspect-ratio: 436 / 409;
		flex-shrink: 0;
	}

	.section--services .card__glow-slot--1 {
		left: -125%;
		top: -165%;
		width: 290%;
		height: auto;
		aspect-ratio: 1021.413 / 915.906;
		max-width: none;
		transform: none;
	}

	.section--services .card__glow-slot--1 .card__glow-img {
		width: 52%;
		height: auto;
		max-height: none;
		aspect-ratio: 839.211 / 646.405;
		transform: rotate(-22.24deg);
	}

	.section--services .card__glow-slot--2 {
		left: -35%;
		top: -88%;
		width: 195%;
		height: auto;
		aspect-ratio: 972.066 / 591.58;
		transform: none;
	}

	.section--services .card__glow-slot--2 .card__glow-img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.section--services .card__glow-slot--3 {
		left: -155%;
		top: -150%;
		width: 310%;
		height: auto;
		aspect-ratio: 1085.912 / 808.239;
		transform: none;
	}

	.section--services .card__glow-inner--3 {
		width: 78%;
		height: auto;
		aspect-ratio: 972.066 / 591.58;
	}

	.section--services .card__glow-inner--3 .card__glow-img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.section--services .card__content {
		padding: 20px 30px 24px;
	}

	.section--services .card__content h3 {
		font-size: 20px;
		line-height: 1.25;
		letter-spacing: -0.4px;
		margin: 0 0 7px;
	}

	.section--services .card__content p {
		font-size: 14px;
		line-height: 1.43;
		letter-spacing: -0.42px;
		margin: 0;
	}

	/* Секция гарантий. */

	.section--guarantees .cards--guarantees {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.section--guarantees .icon-card {
		box-sizing: border-box;
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 15px;
		min-height: 145px;
		padding: 20px;
	}

	.section--guarantees .icon-card__icon {
		width: 40px;
		height: 40px;
	}

	.section--guarantees .icon-card__text {
		gap: 5px;
		min-width: 0;
	}

	.section--guarantees .icon-card__title {
		font-size: 16px;
		line-height: 1.25;
		letter-spacing: -0.32px;
		margin: 0;
	}

	.section--guarantees .icon-card__description {
		font-size: 14px;
		line-height: 1.43;
		letter-spacing: -0.42px;
		margin: 0;
	}

	/* Секция отраслей. */

	.section--sectors {
		padding: 22px 16px;
	}

	.page-content__inner {
		padding: 24px 18px;
		border-radius: 20px;
	}

	.page-content__content {
		font-size: 15px;
		line-height: 1.65;
	}

	.page-content__content h1 {
		margin-bottom: 20px;
	}

	.page-content__content h2 {
		margin-top: 30px;
	}

	.page-content__content h3,
	.page-content__content h4,
	.page-content__content h5,
	.page-content__content h6 {
		margin-top: 24px;
	}

	.page-id-18 .page-content__content {
		font-size: 15px;
	}

	.page-id-18 .page-content__content > ul {
		gap: 14px;
		margin: 24px 0;
	}

	.page-id-18 .page-content__content > ul > li {
		padding: 18px 16px;
	}

	.page-id-18 .page-content__content ul ul > li {
		padding-left: 22px;
	}

	.section--sectors .section__title {
		font-size: 24px;
	}

	.section--sectors .section__description {
		font-size: 15px;
	}

	.section--sectors .tabs__controls {
		flex-wrap: wrap;
		justify-content: center;
		gap: 6px;
		margin-bottom: 14px;
	}

	.section--sectors .tabs__button {
		font-size: 14px;
		line-height: 1.43;
		padding: 8px 14px 9px;
		min-height: 36px;
		box-sizing: border-box;
	}

	.section--sectors .tabs__button-icon {
		width: 16px;
		height: 16px;
		flex-basis: 16px;
	}

	.section--sectors .price-list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.section--sectors .price-item {
		flex-wrap: nowrap;
		align-items: center;
		gap: 12px;
		padding: 10px 0 18px;
		border-bottom-width: 1px;
	}

	.section--sectors .price-item__heading {
		font-size: 16px;
		line-height: 1.25;
	}

	.section--sectors .price-item p {
		font-size: 14px;
		line-height: 1.43;
	}

	.section--sectors .price-tag span {
		font-size: clamp(12px, 3.4vw, 14px);
		padding: 9px 12px 11px;
		letter-spacing: -0.04em;
	}

	/* Секция калькулятора. */

	.section--calc {
		padding: 0;
	}

	.calc {
		padding: 22px 16px;
		border-radius: 20px;
	}

	.calc__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.calc__desc p {
		font-size: 15px;
	}

	.calc__field-row {
		flex-direction: column;
		gap: 6px;
	}

	.calc__field-row .calc__combo {
		width: 100%;
	}

	.calc__field-row .calc__field {
		border-radius: 12px !important;
		min-height: 58px;
		box-sizing: border-box;
	}

	.calc__select-dropdown {
		border-radius: 14px;
	}

	.calc__select-list {
		max-height: 240px;
	}

	.calc__select-option {
		flex-direction: column;
		gap: 3px;
	}

	.calc__select-option-meta {
		white-space: normal;
	}

	.calc {
		gap: 24px;
	}

	.calc__result {
		border-radius: 20px;
		padding: 35px 25px;
		justify-content: flex-start;
		gap: 5px;
	}

	.calc__result .calc__result-title {
		font-size: 25px;
		font-weight: 600;
		line-height: 1.1;
		letter-spacing: -1px;
	}

	.calc__row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 16px;
		row-gap: 0;
		width: 100%;
		padding-bottom: 0;
		margin: 0;
		border-bottom: none;
	}

	.calc__row-item:nth-child(-n + 2) {
		padding-bottom: 8px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}

	.calc__row-item:nth-child(n + 3) {
		padding-top: 8px;
	}

	.calc__row-item {
		flex: initial;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		align-content: flex-start;
		gap: 0.2em;
		min-width: 0;
	}

	.calc__row-label {
		font-size: 13px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: -0.39px;
		color: #7a8996;
	}

	.calc__row-value {
		font-size: 13px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: -0.39px;
		color: #1f262e;
	}

	.calc__total {
		padding-top: 5px;
		padding-bottom: 15px;
		gap: 0;
	}

	.calc__total-value {
		font-size: 25px;
		line-height: 1.1;
		letter-spacing: -1.2px;
	}

	.calc__total-currency {
		font-size: 15px;
		font-weight: 500;
		line-height: 1.1;
		vertical-align: baseline;
		margin-left: 0.15em;
	}

	.calc__total-note {
		display: block;
		margin-top: 2px;
		font-size: 13px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: -0.39px;
	}

	.calc__cta {
		gap: 12px;
	}

	.section--calc .calc__cta > .btn {
		max-width: none;
		width: 100%;
		min-height: 0;
		box-sizing: border-box;
		padding: 17px 18px 20px;
		font-size: 15px;
		line-height: 1.6;
		letter-spacing: -0.15px;
		border-radius: 15px;
	}

	.calc__note {
		font-size: 13px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: -0.3px;
		align-items: flex-start;
		max-width: 100%;
	}

	.calc__dots {
		font-size: 45px;
		letter-spacing: -0.9px;
	}

	.calc__dots--top {
		top: -28px;
	}

	.calc__dots--bottom {
		bottom: 28px;
		transform: translateX(-50%) translateY(100%);
	}

	/* Секция сравнения и цен. */

	.section--prices.section--prices {
		padding: 22px 0;
	}

	.section--prices .section__title {
		font-size: 24px;
	}

	.section--prices .compare {
		flex-direction: column;
		gap: 10px;
	}

	.section--prices .compare__col {
		width: 100%;
		border-radius: 16px;
	}

	.section--prices .compare__heading {
		font-size: 16px;
		line-height: 1.25;
		min-height: 48px;
		padding: 12px 16px;
	}

	.section--prices .compare__list-item {
		font-size: 14px;
		line-height: 1.43;
		min-height: 44px;
		padding: 10px 0 10px 22px;
	}

	.section--prices .compare__list-item::before {
		width: 16px;
		height: 16px;
	}

	.section--prices .compare__btn {
		min-height: 61px;
		font-size: 14px;
		box-sizing: border-box;
	}

	/* Секция консультации. */

	.section--consult {
		padding: 0;
	}

	.section--consult .consult {
		padding: 22px 16px;
		border-radius: 20px;
		gap: 14px;
	}

	.consult__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.consult__lead {
		font-size: 15px;
		letter-spacing: -0.45px;
	}

	.consult__form {
		flex-direction: column;
		gap: 6px;
	}

	.consult__consent {
		margin-top: -6px;
	}

	.consult__field {
		width: 100%;
		min-height: 58px;
		box-sizing: border-box;
	}

	.consult__form .btn {
		width: 100%;
		min-height: 61px;
		box-sizing: border-box;
		padding: 16px 18px;
	}

	/* Секция процесса работы. */

	#process.section--process,
	.section.section--process {
		margin-top: 0;
		margin-bottom: 0;
		padding: 0;
	}

	.section--process .container.process {
		padding: 22px 16px;
		gap: 20px;
		grid-template-columns: 1fr;
	}

	.process__steps {
		padding: 0;
		background: none;
	}

	.process__steps .section__title {
		font-size: 24px;
	}

	.process__steps .section__description {
		font-size: 15px;
	}

	.process .steps__item {
		grid-template-columns: 42px minmax(0, 1fr);
		column-gap: 15px;
	}

	.process .steps__item::before {
		width: 42px;
		height: 42px;
		border-radius: 10px;
		font-size: 24px;
	}

	.process .steps__title {
		font-size: 15px;
	}

	.process .steps__text {
		font-size: 13px;
	}

	.process__cta {
		min-height: 61px;
		padding: 16px 24px;
		box-sizing: border-box;
	}

	/* Секция клиентов. */

	.section--clients {
		padding: 0;
	}

	.section--clients > .container {
		padding: 22px 16px;
		border-radius: 0;
	}

	.section--clients .section__title {
		font-size: 24px;
	}

	.section--clients .section__description {
		font-size: 15px;
	}

	.section--clients .logos {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		align-content: center;
		gap: 12px 18px;
		max-width: 100%;
	}

	.section--clients .logos__img {
		display: block;
		box-sizing: border-box;
		height: 20px;
		width: auto;
		max-width: 56px;
		object-fit: contain;
		object-position: center;
		flex: 0 0 auto;
	}

	/* Секция проектов. */

	.section--projects {
		padding: 0;
	}

	.section--projects > .container {
		padding: 22px 16px;
		border-radius: 0;
	}

	.section--projects .section__title {
		font-size: 24px;
	}

	.section--projects .section__description {
		font-size: 15px;
	}

	.section--projects .slider {
		padding-bottom: 0;
		overflow: visible;
	}

	.section--projects .slider__track {
		gap: 0;
		scrollbar-width: none;
	}

	.section--projects .slider__track::-webkit-scrollbar {
		display: none;
	}

	.section--projects .project {
		flex-direction: column;
		min-height: 0;
	}

	.section--projects .project__image {
		order: -1;
		width: 100%;
		height: 170px;
		border-width: 0;
	}

	.section--projects .project__image-frame {
		border-radius: 0;
	}

	.section--projects .project__content {
		width: 100%;
		padding: 10px 18px 18px;
	}

	.section--projects .slider__nav {
		z-index: 2;
		top: 50%;
		bottom: auto;
		width: 44px;
		height: 44px;
		border-radius: 12px;
		font-size: 20px;
		transform: translateY(-50%);
	}

	.section--projects .slider__nav:active {
		transform: translateY(-50%) scale(0.96);
	}

	.section--projects .slider__nav--prev {
		left: 8px;
		right: auto;
	}

	.section--projects .slider__nav--next {
		left: auto;
		right: 8px;
	}

	.section--projects .project__title {
		font-size: 18px;
		line-height: 1.35;
		margin: 0;
	}

	.section--projects .project__meta-label {
		font-size: 11px;
	}

	.section--projects .project__meta-value {
		font-size: 15px;
	}

	.section--projects .project__cta {
		font-size: 13px;
	}

	/* Секция отзывов. */

	.section--reviews,
	.reviews-landing {
		padding: 0;
	}

	.section--reviews > .container {
		--reviews-bottom-pad: 24px;
		padding: 22px 16px var(--reviews-bottom-pad);
		border-radius: 0;
	}

	.section--reviews.section--reviews-page .reviews__more {
		margin-top: 20px;
	}

	.reviews-landing > .container {
		padding: 22px 16px 32px;
		border-radius: 0;
	}

	.section--reviews .section__title {
		font-size: 24px;
	}

	.section--reviews .section__description {
		font-size: 15px;
	}

	.section--reviews .reviews__col {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.section--reviews .review {
		padding: 18px;
		border-radius: 16px;
	}

	.section--reviews .review__name {
		font-size: 16px;
		line-height: 1.44;
	}

	.section--reviews .review__text {
		font-size: 14px;
		letter-spacing: -0.42px;
	}

	.section--reviews .review--md p,
	.section--reviews .review--sm p {
		font-size: 14px;
		letter-spacing: -0.42px;
	}

	.section--reviews .reviews__fade {
		height: 120px;
	}

	.section--reviews .reviews__more {
		min-height: 60px;
		border-radius: 12px;
		font-size: 15px;
		line-height: 1.4;
		bottom: 14px;
		max-width: calc(100% - 24px);
	}

	/* Секция частых вопросов. */

	.section--faq {
		padding: 0;
	}

	.section--faq > .faq {
		padding: 22px 16px;
		border-radius: 0;
		gap: 14px;
	}

	.section--faq .faq__title {
		font-size: 24px;
	}

	.section--faq .faq__lead {
		font-size: 15px;
	}

	.section--faq .faq__intro .faq__cta {
		width: 100%;
		justify-content: center;
		min-height: 60px;
		padding: 16px 18px;
		font-size: 15px;
		line-height: 1.4;
		letter-spacing: -0.45px;
	}

	.section--faq .accordion__title {
		padding: 10px 0;
		font-size: 16px;
		letter-spacing: -0.48px;
		gap: 10px;
	}

	.section--faq .accordion.is-open .accordion__title {
		padding: 6px 0 0;
	}

	.section--faq .accordion__icon {
		width: 30px;
		height: 30px;
	}

	.section--faq .accordion__content {
		font-size: 14px;
		letter-spacing: -0.42px;
	}

	.section--faq .accordion.is-open .accordion__content {
		padding: 4px 36px 10px 0;
	}

	/* Секция публикаций. */

	.section--publications {
		padding: 0;
	}

	.section--publications > .container {
		padding: 22px 16px;
		border-radius: 0;
	}

	.section--publications .section__title {
		font-size: 24px;
	}

	.section--publications .slider {
		padding-bottom: 0;
		overflow: visible;
	}

	.section--publications .slider__track {
		gap: 0;
		scrollbar-width: none;
	}

	.section--publications .slider__track::-webkit-scrollbar {
		display: none;
	}

	.section--publications .publication {
		min-width: 0;
	}

	.section--publications .slider__nav {
		top: 50%;
		bottom: auto;
		width: 44px;
		height: 44px;
		border-radius: 12px;
		font-size: 20px;
		line-height: 1;
		transform: translateY(-50%);
	}

	.section--publications .slider__nav:active {
		transform: translateY(-50%) scale(0.96);
	}

	.section--publications .slider__nav--prev {
		left: 8px;
		right: auto;
	}

	.section--publications .slider__nav--next {
		left: auto;
		right: 8px;
	}

	.section--publications .publication__image {
		height: 170px;
	}

	.section--publications .publication__content {
		min-height: 88px;
		padding: 10px 18px 14px;
	}

	.section--publications .publication__title {
		font-size: 16px;
		line-height: 1.38;
		margin: 0 0 6px;
	}

	.section--publications .publication__excerpt {
		font-size: 14px;
		line-height: 1.43;
		margin: 0;
	}

	/* Футер. */

	.footer.footer {
		padding: 0 0 28px;
	}

	.page:has(.section--home-city-map) .footer.footer {
		padding-top: 96px;
	}

	.footer .footer__inner {
		padding: 22px 16px;
		border-radius: 0;
		gap: 14px;
	}

	.footer .footer__cols {
		grid-template-columns: 1fr;
		gap: 12px;
		justify-items: center;
		text-align: center;
	}

	.footer .footer__col {
		width: 100%;
		justify-items: center;
	}

	.footer .footer__col-title {
		font-size: 15px;
	}

	.footer .footer__copyright {
		align-items: center;
		max-width: none;
		text-align: center;
	}

	.footer .footer__copyright-line {
		font-size: 15px;
	}

	.footer .footer__bottom {
		margin-top: 32px;
		padding-top: 24px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 18px;
		text-align: center;
	}

	.footer__social-list {
		width: 100%;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		gap: 10px;
	}

	.footer__social-item {
		width: 100%;
		justify-content: center;
	}

	.footer__copyright {
		width: 100%;
	}

	.footer__copyright-line {
		overflow-wrap: normal;
		word-break: normal;
	}

	/* Общие правила секций для мобильной версии. */

	.section {
		padding: 22px 0;
		margin-bottom: 10px;
	}

	.section.section--guarantees {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.section.section--consult {
		margin-bottom: 0;
	}

	.section.section--clients {
		margin-top: 0;
		padding-top: 0;
	}

	.section__head {
		margin-bottom: 16px;
		gap: 6px;
	}

	.section__title {
		line-height: 1.17;
	}

	/* Страницы услуг: баннер в мобильном стиле первого экрана. */

	.banner {
		padding: 12px 0 0;
		margin-bottom: 0;
		border-radius: 0;
	}

	.banner.usluga-1 .banner__surface,
	.banner.usluga-2 .banner__surface,
	.banner.usluga-3 .banner__surface {
		background-image: none !important;
		background-color: rgba(255, 255, 255, 0.5);
		border: 2px solid rgba(255, 255, 255, 0.3);
		border-radius: 40px;
		padding-bottom: 20px;
	}

	.banner__title {
		margin: 0;
		font-size: 25px;
		font-weight: 600;
		letter-spacing: -1px;
		line-height: 1.2;
	}

	.banner_body::after {
		display: none;
	}

	.banner__lead {
		font-size: 15px;
		font-weight: 500;
		letter-spacing: -0.15px;
		line-height: 1.5;
		margin: 8px 0 0;
	}

	.banner__lead .banner__accent {
		box-sizing: border-box;
		display: inline-flex;
		align-items: center;
		width: fit-content;
		max-width: 100%;
		padding: 4px 8px;
		line-height: 20px;
		font-size: inherit;
		font-weight: inherit;
		white-space: nowrap;
	}

	.banner__text {
		font-size: 14px;
		margin: 8px 0 0;
	}

	.banner.usluga-3 .banner__text {
		font-size: 15px;
		margin-top: 8px;
	}

	.banner.usluga-3 .banner__price-value {
		font-size: 20px;
	}

	.banner.usluga-3 .banner__price-note {
		font-size: 11px;
	}

	.banner__list {
		flex-direction: column;
		gap: 8px;
		margin: 10px 0 14px;
	}

	.banner__list-item {
		padding-right: 0;
		margin-right: 0;
		border-right: 0;
		max-width: 100%;
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.banner.usluga-3 .banner__list-item {
		max-width: 100%;
	}

	.banner__list-text {
		font-size: 13px;
		margin-top: 0;
	}

	.banner__actions {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		margin-top: 14px;
	}

	.banner__actions .btn {
		width: auto;
		flex: 1 1 auto;
		min-width: 0;
		justify-content: center;
		min-height: 0;
		font-size: 13px;
		padding: 10px 18px 13px;
		border-radius: 10px;
	}

	.banner__actions .btn:only-child {
		flex: 1 1 100%;
		width: 100%;
	}

	/* Секция персонала (usluga-1). */

	.staff {
		padding: 22px 0;
		margin: 0;
		border-radius: 0;
	}

	.staff__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.staff__subtitle {
		font-size: 15px;
	}

	.staff__grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 10px;
		margin: 16px 0;
	}

	.staff__card {
		padding: 12px 14px 14px;
		gap: 10px;
	}

	.staff__card-img {
		width: 80px;
		height: 80px;
	}

	.staff__card-title {
		font-size: 18px;
		letter-spacing: -0.72px;
	}

	.staff__card-list-item {
		font-size: 15px;
		letter-spacing: -0.6px;
	}

	.staff__card-price {
		font-size: 16px;
	}

	.staff__actions {
		flex-direction: column;
	}

	.staff__actions .btn {
		width: 100%;
		justify-content: center;
	}

	/* Складской персонал (usluga-2). */

	.warehouse-staff__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.warehouse-staff__lead {
		font-size: 15px;
	}

	.warehouse-staff__grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 10px;
		margin: 16px 0;
	}

	.warehouse-staff {
		padding: 48px 0;
		border-radius: 24px;
	}

	.warehouse-staff__card {
		padding: 14px 16px;
		min-height: 0;
		border-radius: 16px;
		gap: 12px;
	}

	.warehouse-staff__card-head {
		gap: 8px;
	}

	.warehouse-staff__card-title {
		font-size: 18px;
		margin: 0;
	}

	.warehouse-staff__card-link {
		font-size: 14px;
		letter-spacing: -0.56px;
		margin-bottom: 5px;
	}

	.warehouse-staff__cta {
		width: 100%;
		white-space: normal;
	}

	/* Секция выгод (usluga-1). */

	.benefit {
		margin: 22px 0;
	}

	.benefit__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.benefit__lead {
		font-size: 15px;
	}

	.benefit__grid {
		flex-direction: column;
		margin-top: 16px;
		gap: 8px;
	}

	.benefit__item {
		font-size: 16px;
		padding: 12px 14px;
	}

	/* Секция оплаты (usluga-1). */

	.payment {
		margin: 22px 0 10px;
	}

	.payment__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.payment__lead {
		font-size: 15px;
	}

	.payment__list {
		flex-direction: column;
		gap: 10px;
		margin-top: 14px;
	}

	.payment__item {
		padding: 14px 16px;
		font-size: 16px;
	}

	/* Секция гарантий (страницы услуг). */

	.guarantee {
		padding: 22px 0;
		border-radius: 0;
		background-size: cover;
		margin-bottom: 30px;
	}

	.guarantee > .container {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.guarantee__image {
        display: block;
        width: 75%;
        height: 75%;
        margin: 0 auto -122px;
    }

	.guarantee__title {
		margin: 0;
		font-size: 24px;
		letter-spacing: -0.72px;
		text-align: center;
	}

	.guarantee__lead {
		margin: 8px auto 0;
		font-size: 15px;
		text-align: center;
	}

	.guarantee__grid {
		width: 100%;
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
	}

	.guarantee__card {
		padding: 14px 16px;
	}

	.guarantee__card-title {
		font-size: 18px;
	}

	.guarantee__card-text {
		font-size: 14px;
	}

	/* Секция писем (usluga-1). */

	.letters {
		margin: 22px 0;
	}

	.letters__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.letters__lead {
		font-size: 15px;
	}

	.letters__gallery {
		flex-direction: row;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 10px;
		margin-top: 16px;
	}

	.letters__gallery::-webkit-scrollbar {
		display: none;
	}

	.letters__img {
		max-width: 200px;
		flex-shrink: 0;
	}

	/* Секция отзывов на страницах услуг. */

	.reviews-landing__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.reviews-landing__lead {
		font-size: 15px;
	}

	.reviews-landing__cards {
		flex-direction: row;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 10px;
		margin-bottom: 16px;
		justify-content: flex-start;
	}

	.reviews-landing__cards::-webkit-scrollbar {
		display: none;
	}

	.reviews-landing__card-img {
		max-width: 200px;
		flex-shrink: 0;
	}

	.reviews-landing__sources {
		flex-wrap: wrap;
		gap: 8px;
		margin: 16px 0;
		justify-content: center;
	}

	.reviews-landing__source {
		padding: 12px 14px;
	}

	.reviews-landing__cta-wrap {
		max-width: 100%;
	}

	.reviews-landing__cta {
		width: 100%;
		justify-content: center;
	}

	/* Секция «Что вы получаете» (usluga-2, usluga-3). */

	.what-you-get__inner {
		flex-direction: column;
	}

	.what-you-get__content {
		width: 100%;
	}

	.what-you-get__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.what-you-get__lead {
		font-size: 15px;
	}

	.what-you-get__list {
		gap: 10px;
	}

	.what-you-get__item-icon {
		width: 40px;
		height: 40px;
	}

	.what-you-get__item-icon img {
		width: 24px;
		height: 24px;
	}

	.what-you-get__item-title {
		font-size: 16px;
	}

	.what-you-get__item-text {
		font-size: 14px;
	}

	.what-you-get__image {
		position: relative;
		inset: auto;
		width: 100%;
		height: 220px;
		margin-inline: auto;
		border-radius: 16px;
		overflow: hidden;
	}

	/* Секция «Наши услуги» (usluga-2, usluga-3). */

	.our-services {
		padding: 22px 0;
	}

	.our-services__panel {
		border-radius: 24px;
	}

	.our-services__bg {
		height: min(42%, 280px);
	}

	.our-services__content {
		padding: 32px 16px 40px;
	}

	.our-services__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.our-services__lead {
		font-size: 15px;
	}

	.our-services__grid {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	.our-services__item {
		padding: 14px 0;
		gap: 12px;
		align-items: flex-start;
	}

	.our-services__item:last-child {
		border-bottom: 0;
	}

	.our-services__item-icon {
		width: 40px;
		height: 40px;
	}

	.our-services__item-icon img {
		width: 24px;
		height: 24px;
	}

	.our-services__item-title {
		font-size: 16px;
	}

	.our-services__item-text {
		font-size: 14px;
	}

	.target-clients {
		padding: 22px 0;
	}

	.target-clients__wrap {
		padding: 22px 0;
		border-radius: 24px;
	}

	.target-clients__inner {
		padding: 0 16px;
	}

	.target-clients__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.target-clients__lead {
		font-size: 15px;
	}

	.target-clients__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.target-clients__card {
		flex: 1 0 auto;
	}

	.target-clients__card-body {
		padding: 12px 14px 14px;
	}

	.target-clients__card-title {
		font-size: 18px;
	}

	.target-clients__card-text {
		font-size: 14px;
	}

	/* Блок u3-includes. */

	.u3-includes {
		padding: 22px 0;
	}

	.u3-includes__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.u3-includes__lead {
		font-size: 15px;
	}

	.u3-includes__grid {
		grid-template-columns: 1fr;
		margin-top: 16px;
	}

	/* Блок u3-functions. */

	.u3-functions {
		padding: 0 0 22px;
	}

	.u3-functions__wrap {
		padding: 22px 0;
		border-radius: 24px;
	}

	.u3-functions__inner {
		padding: 0 16px;
	}

	.u3-functions__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.u3-functions__lead {
		font-size: 15px;
	}

	.u3-functions__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
		margin-top: 16px;
	}

	/* Блок u3-tasks. */

	.u3-tasks {
		padding: 0 0 20px;
	}

	.u3-tasks__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
		min-width: 0;
	}

	.u3-tasks__content {
		max-width: 100%;
		min-width: 0;
		padding: 8px 12px;
		box-sizing: border-box;
	}

	.u3-tasks__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.u3-tasks__lead {
		font-size: 15px;
		max-width: 100%;
	}

	.u3-tasks__list {
		margin-top: 16px;
	}

	.u3-tasks__item {
		align-items: flex-start;
	}

	.u3-tasks__item-icon {
		margin-top: 0.2em;
	}

	.u3-tasks__item-text {
		font-size: 15px;
		min-width: 0;
		flex: 1 1 auto;
	}

	.u3-tasks__media {
		display: none;
	}

	/* Блок u3-when. */

	.u3-when {
		padding: 0 16px 22px;
	}

	.u3-when__panel {
		border-radius: 24px;
	}

	.u3-when__bg {
		height: min(42%, 280px);
	}

	.u3-when__content {
		padding: 40px 20px 48px;
		gap: 24px;
	}

	.u3-when__head {
		gap: 8px;
	}

	.u3-when__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.u3-when__lead {
		font-size: 15px;
	}

	.u3-when__card {
		padding: 20px;
		gap: 16px;
	}

	.u3-when__card-description {
		font-size: 15px;
	}

	.u3-when__item {
		font-size: 15px;
	}

	/* Блок u3-timing. */

	.u3-timing {
		padding: 0 16px 20px;
	}

	.u3-timing__panel {
		border-radius: 24px;
	}

	.u3-timing__bg {
		height: min(42%, 280px);
	}

	.u3-timing__content {
		padding: 40px 20px 48px;
		gap: 24px;
	}

	.u3-timing__intro {
		gap: 8px;
	}

	.u3-timing__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.u3-timing__lead {
		font-size: 15px;
	}

	.u3-timing__grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.u3-timing__card-title {
		font-size: 20px;
		letter-spacing: -0.8px;
	}

	.u3-timing__card-time {
		font-size: 18px;
	}

	.u3-timing__card-btn {
		width: 100%;
	}

	/* Мобильные правки страницы прайса. */

	.section--price-hero {
		padding-top: 16px;
	}

	.price-banner__title {
		font-size: 24px;
	}

	.price-banner__lead {
		font-size: 15px;
	}

	.price-catalog__grid {
		grid-template-columns: 1fr;
	}

	/* Мобильные правки страницы «О нас». */

	.about-hero__title {
		font-size: 24px;
	}

	.about-hero__lead {
		font-size: 15px;
	}

	.about-hero__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.about-hero__card-inner {
		padding: 16px 14px;
	}

	.about-hero__content {
		gap: 14px;
	}

	.about-hero__card-text {
		font-size: 14px;
		line-height: 1.45;
		letter-spacing: -0.28px;
	}

	.about-hero__card-footer {
		gap: 10px;
		margin-top: 16px;
		align-items: center;
	}

	.about-hero__quote-icon {
		width: 28px;
		height: 22px;
	}

	.about-hero__card-name,
	.about-hero__card-role {
		font-size: 13px;
		line-height: 1.4;
		letter-spacing: -0.26px;
	}

	.about-hero__clients {
		gap: 12px;
		margin-top: 0;
	}

	.about-hero__clients-logos {
		gap: 12px 16px;
	}

	.about-hero__client-logo {
		height: 34px;
		max-width: 140px;
	}

	.about-hero__client-logo--zoo {
		height: 26px;
	}

	.section--about-history {
		width: calc(100% - 40px);
		padding-top: 22px;
		padding-bottom: 22px;
		border-radius: 24px;
	}

	.section--about-history .section__head {
		margin-bottom: 14px;
	}

	.section--about-history .section__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}

	.section--about-history .timeline {
		gap: 16px;
	}

	.section--about-history .timeline__year {
		font-size: 18px;
		letter-spacing: -0.72px;
	}

	.section--about-history .timeline__text {
		font-size: 14px;
		line-height: 1.45;
		letter-spacing: -0.28px;
	}

	.section--about-history .timeline__item {
		flex-direction: column;
		gap: 10px;
	}

	.section--about-history .timeline__meta {
		flex-direction: row;
		width: auto;
		align-items: center;
	}

	.section--about-history .timeline__line {
		display: none;
	}

	.section--about-mission {
		padding-top: 32px;
		padding-bottom: 40px;
	}

	.mission__grid {
		gap: 20px;
	}

	.mission__content {
		gap: 18px;
	}

	.mission__title {
		font-size: 26px;
		letter-spacing: -0.78px;
		line-height: 1.15;
	}

	.mission__lead {
		font-size: 16px;
		letter-spacing: -0.32px;
		line-height: 1.5;
	}

	.mission__values {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 14px;
	}

	.mission__value {
		flex-direction: row;
		align-items: flex-start;
		gap: 12px;
		min-width: 0;
		flex: 1 1 auto;
	}

	.mission__value-icon {
		width: 44px;
		height: 44px;
		border-radius: 12px;
		flex-shrink: 0;
	}

	.mission__value-icon-img {
		width: 24px;
		height: 24px;
	}

	.mission__value-label {
		font-size: 15px;
		line-height: 1.35;
		letter-spacing: -0.3px;
		flex: 1 1 auto;
		min-width: 0;
	}

	.mission__cta {
		width: 100%;
		min-height: 56px;
		justify-content: center;
		padding: 14px 16px;
		font-size: 15px;
		align-self: stretch;
		box-sizing: border-box;
	}

	.section--about-letters {
		padding: 0 max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left));
	}

	.about-letters__shell {
		padding: 22px max(20px, env(safe-area-inset-right)) 22px
			max(20px, env(safe-area-inset-left));
		border-radius: 24px;
	}

	.section--about-letters .letters__gallery-wrap {
		margin-top: 20px;
		overflow: hidden;
	}

	.section--about-letters .letters__gallery-wrap .letters__glow {
		display: none;
	}

	.section--about-letters .letters__gallery {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 12px;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 0 6px;
		box-sizing: border-box;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		scroll-snap-type: x mandatory;
	}

	.section--about-letters .letters__gallery::-webkit-scrollbar {
		display: none;
	}

	.section--about-letters .letters__card {
		flex: 0 0 auto;
		width: min(240px, 72vw);
		max-width: 240px;
		min-width: 0;
		scroll-snap-align: start;
	}

	.section--about-letters .letters__card-inner {
		max-height: 260px;
		aspect-ratio: 389 / 600;
	}

	.section--about-letters .letters__card-body {
		gap: 8px;
		padding: 14px;
	}

	.section--about-letters .letters__card-title {
		font-size: 15px;
	}

	.section--about-letters .letters__download {
		padding: 10px 14px 12px;
		font-size: 14px;
	}

	/* Мобильные правки страницы контактов. */

	.section--contacts {
		padding: 16px 16px 28px;
	}

	.contacts {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.contacts__info {
		gap: 12px;
	}

	.contacts__title {
		font-size: 24px;
	}

	.contacts__info-text,
	.contacts__metro-name {
		font-size: 15px;
		line-height: 1.35;
		letter-spacing: -0.3px;
	}

	.contacts__metro {
		gap: 10px 12px;
	}

	.contacts__map-wrap {
		height: 300px;
		border-radius: 16px;
	}

	.section--home-city-map {
		padding: 0;
		margin-bottom: -80px;
	}

	.page-main--about .section--home-city-map {
		padding-left: max(20px, env(safe-area-inset-left));
		padding-right: max(20px, env(safe-area-inset-right));
	}

	.section--home-city-map > .container {
		max-width: none;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}

	.section--home-city-map .city-map {
		display: flex;
		flex-direction: column;
		border-radius: 0;
		max-width: none;
		width: 100%;
		margin: 0;
		min-height: 480px;
		height: auto;
		overflow: hidden;
	}

	.section--home-city-map .city-map__bg {
		position: relative;
		inset: auto;
		order: 2;
		width: 100%;
		height: clamp(300px, 72vw, 380px);
		min-height: 300px;
		border-radius: 0;
	}

	.section--home-city-map .city-map__overlay {
		display: none;
		border-radius: 0;
		background: linear-gradient(180deg, #f8f8f8 0%, rgba(248, 248, 248, 0) 60%);
	}

	.section--home-city-map .city-map__content {
		position: relative;
		order: 1;
		left: auto;
		top: auto;
		width: 100%;
		max-width: none;
		height: auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		justify-content: flex-start;
		gap: 25px;
		padding: 50px 16px 30px;
		background: #fff;
		box-sizing: border-box;
		z-index: 2;
	}

	.section--home-city-map .city-map__intro {
		align-items: center;
		text-align: center;
		gap: 2px;
	}

	.section--home-city-map .city-map__title {
		font-size: 25px;
		letter-spacing: -1px;
		width: 100%;
	}

	.section--home-city-map .city-map__subtitle {
		font-size: 15px;
		letter-spacing: -0.6px;
		width: 100%;
	}

	.section--home-city-map .city-map__info {
		align-items: center;
		gap: 8px;
	}

	.section--home-city-map .city-map__info-item {
		justify-content: center;
		width: 100%;
	}

	.section--home-city-map .city-map__info-text {
		font-size: 15px;
		letter-spacing: -0.6px;
		text-align: center;
		flex: 0 1 auto;
	}

	.section--home-city-map .city-map__cta {
		align-self: center;
	}


	.calc__whishbox {
		flex-direction: column;
		gap: 10px;
	}
	.calc__result-desc {font-size: 22px;}
	.calc__whishbox-item, .calc__offer {font-size: 17px;}

	.banner.usluga-1, .banner.usluga-2, .banner.usluga-3 {
		padding: 0 15px;
	}

	ul.breadcrumbs__list {flex-wrap: wrap; gap: 10px;}

}

@media (max-width: 480px) {
	.hero__actions,
	.banner__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hero__actions .btn,
	.banner__actions .btn {
		flex: 1 1 100%;
		width: 100%;
	}

	.hero__subtitle-accent,
	.banner__lead .banner__accent {
		white-space: normal;
		line-height: 1.35;
	}

	.price-banner__actions .btn {
		min-height: 52px;
	}

	.price-card__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.price-card__price {
		flex-shrink: 1;
	}

	.about-hero__client-logo {
		height: 30px;
		max-width: 120px;
	}

	.contacts__info-text,
	.contacts__info-link {
		overflow-wrap: anywhere;
	}

	.mobile-menu__inner {
		left: 6px;
		right: 6px;
		bottom: 6px;
	}

	.mission__title {
		font-size: 24px;
		letter-spacing: -0.72px;
	}
}

/* Декоративные градиентные фигуры секции «О нас». */
.section--about > .container .about__gradient {
	position: absolute;
	pointer-events: none;
	z-index: 0;
	display: block;
	box-sizing: border-box;
	width: 1262.433px;
	height: 1099.231px;
	max-width: none;
	object-fit: contain;
	transform: rotate(153.16deg);
	transform-origin: center center;
}

.section--about > .container .about__gradient--1 {
	left: -228px;
	top: 0;
	right: auto;
	bottom: auto;
}

.section--about > .container .about__gradient--2 {
	left: -859px;
	top: 0;
	right: auto;
	bottom: auto;
}

.section--about > .container .section__head {
	max-width: 1077px;
	margin-left: auto;
	margin-right: auto;
}

.section--about > .container .pill-grid {
	max-width: 1317px;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 1920px) {
	.section--about > .container {
		min-height: 727px;
	}
}

@media (max-width: 768px) {
	.section--about > .container .section__head,
	.section--about > .container .pill-grid {
		max-width: none;
	}

	.section--about > .container .about__gradient {
		width: min(1262.433px, 220vw);
		height: auto;
		aspect-ratio: 1262.433 / 1099.231;
	}

	.section--about > .container .about__gradient--1 {
		left: -42%;
		top: 22%;
	}

	.section--about > .container .about__gradient--2 {
		left: -78%;
		top: 6%;
	}

	.section--about-letters .letters__gallery-wrap .letters__glow {
		display: none;
	}
}

@media (max-width: 380px) {
	.footer .footer__inner {
		padding-left: 14px;
		padding-right: 14px;
	}

	.footer .footer__bottom {
		margin-top: 28px;
		padding-top: 20px;
		gap: 14px;
	}

	.footer__social-list {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}

	.footer__social-item {
		width: 100%;
	}

	.footer__social-text {
		text-align: center;
		overflow-wrap: normal;
		word-break: normal;
	}
}

/* Жёсткая фиксация шапки: мобильная версия до 768px (блок в конце для приоритета каскада). */
@media screen and (max-width: 768px) {
	header#top .header__mobile {
		display: flex !important;
	}

	header#top .topbar,
	header#top .nav {
		display: none !important;
	}

	.mobile-menu[data-mobile-menu] {
		display: block !important;
	}
}

@media screen and (min-width: 769px) {
	header#top .header__mobile {
		display: none !important;
	}

	.mobile-menu[data-mobile-menu] {
		display: none !important;
	}
}

/* Актуальная версия страницы контактов (desktop/tablet/mobile). */

.section--contacts {
	padding: 48px 0 0;
	position: relative;
	z-index: 1;
}

.contacts {
	max-width: 1438px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.contacts__intro {
	width: 100%;
}

.contacts__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px 60px;
	width: 100%;
}

.contacts__column {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.contacts__title {
	margin: 0;
	font-size: 55px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -2.2px;
	color: var(--text);
}

.contacts__info {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

.contacts__info-item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.contacts__info-icon,
.contacts__group-icon {
	width: 26px;
	height: 26px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--accent);
}

.contacts__info-icon-svg,
.contacts__group-icon-svg {
	width: 26px;
	height: 26px;
	display: block;
}

.contacts__info-text,
.contacts__group-line,
.contacts__metro-name {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.6px;
	color: var(--text);
}

.contacts__info-strong {
	font-weight: 500;
	color: var(--text);
}

.contacts__info-muted {
	color: rgba(31, 38, 46, 0.4);
}

.contacts__info-subtle {
	color: rgba(31, 38, 46, 0.5);
}

.contacts__info-link {
	color: inherit;
	text-decoration: none;
}

.contacts__info-link:hover {
	text-decoration: underline;
}

.contacts__info-link:active {
	opacity: 0.85;
}

.contacts__info-link:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
	border-radius: 2px;
}

.contacts__group {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.contacts__group-head {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	width: 100%;
}

.contacts__group-title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.6px;
	color: var(--text);
}

.contacts__group-copy {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

.contacts__metro {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
}

.contacts__metro-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.contacts__metro-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 3px;
	border-radius: 5px;
	background: #f64242;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.36px;
}

.contacts__map-wrap {
	position: relative;
	width: 100%;
	max-width: none;
	height: 463px;
	margin-left: 0;
	border-radius: 10px;
	overflow: hidden;
	background: #dfe7ef;
	box-shadow: var(--shadow);
}

.contacts__map-frame {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.contacts__map-pin {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 105px;
	height: auto;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.contacts__gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 17px;
	width: 100%;
}

.contacts__gallery-photo {
	width: 100%;
	height: 187px;
	display: block;
	border-radius: 10px;
	object-fit: cover;
}

.section--contact-form {
	padding: 68px 0 80px;
	position: relative;
	z-index: 1;
}

.contact-form {
	max-width: 1440px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.contact-form__head {
	display: flex;
	flex-direction: column;
	gap: 5px;
	max-width: 557px;
}

.contact-form__title {
	margin: 0;
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.6px;
	color: var(--text);
}

.contact-form__lead {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.8px;
	color: var(--text);
}

.contact-form__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

.contact-form__row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
}

.contact-form__field {
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 0;
	min-height: 68px;
	padding: 17px 28px 22px;
	border: 1px solid rgba(31, 38, 46, 0.08);
	border-radius: 12px;
	background: #f9f9f9;
	transition:
		border-color var(--motion-duration-fast) var(--motion-ease-soft),
		box-shadow var(--motion-duration-fast) var(--motion-ease-soft),
		background-color var(--motion-duration-fast) var(--motion-ease-soft);
}

.contact-form__field:focus-within {
	border-color: rgba(2, 119, 228, 0.3);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(2, 119, 228, 0.08);
}

.contact-form__field--message {
	align-items: flex-start;
	min-height: 147px;
	padding-top: 22px;
	padding-bottom: 22px;
}

.contact-form__input,
.contact-form__textarea {
	width: 100%;
	border: 0;
	padding: 0;
	background: transparent;
	color: var(--text);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: -0.18px;
	outline: none;
}

.contact-form__textarea {
	min-height: 103px;
	resize: vertical;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
	color: rgba(0, 0, 0, 0.4);
}

.contact-form__footer {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
}

.contact-form__submit {
	min-width: 282px;
	min-height: 75px;
	padding: 22px 30px 24px;
}

.contact-form__consent {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	cursor: pointer;
}

.contact-form__checkbox-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.contact-form__checkbox-box {
	position: relative;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	border: 1px solid rgba(36, 145, 237, 0.12);
	border-radius: 6px;
	background: rgba(36, 145, 237, 0.08);
}

.contact-form__checkbox-box::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 4px;
	width: 10px;
	height: 6px;
	border-left: 2px solid var(--accent);
	border-bottom: 2px solid var(--accent);
	transform: rotate(-45deg) scale(0);
	transform-origin: center;
	transition: transform var(--motion-duration-fast) var(--motion-ease-soft);
}

.contact-form__checkbox-input:checked + .contact-form__checkbox-box::after {
	transform: rotate(-45deg) scale(1);
}

.contact-form__checkbox-input:focus-visible + .contact-form__checkbox-box {
	outline: var(--outline-focus);
	outline-offset: 3px;
}

.contact-form__consent-text {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.22px;
	color: rgba(0, 0, 0, 0.5);
}

.contact-form__consent-link {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color var(--motion-duration-fast) var(--motion-ease-soft);
}

.contact-form__consent-link:hover,
.contact-form__consent-link:focus-visible {
	color: var(--accent);
}

.consult__consent {
	z-index: 1;
	max-width: 846px;
	margin-top: -24px;
	align-self: center;
}

.consult__consent .contact-form__checkbox-box {
	border-color: rgba(255, 255, 255, 0.24);
	background: rgba(255, 255, 255, 0.16);
}

.consult__consent .contact-form__checkbox-box::after {
	border-color: #fff;
}

.consult__consent .contact-form__consent-text {
	color: rgba(255, 255, 255, 0.72);
}

.consult__consent .contact-form__consent-link:hover,
.consult__consent .contact-form__consent-link:focus-visible {
	color: #fff;
}

.cookie-consent {
	position: fixed;
	left: 50%;
	bottom: max(24px, calc(env(safe-area-inset-bottom) + 18px));
	z-index: 1150;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	width: min(calc(100% - 32px), 900px);
	padding: 14px 16px;
	border: 1px solid rgba(31, 38, 46, 0.08);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow:
		0 22px 60px rgba(31, 38, 46, 0.16),
		inset 0 1px 0 rgba(255, 255, 255, 0.82);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, 18px) scale(0.98);
	transition:
		opacity var(--motion-duration) var(--motion-ease),
		transform var(--motion-duration) var(--motion-ease),
		visibility 0s linear var(--motion-duration);
}

.cookie-consent[hidden] {
	display: none;
}

.cookie-consent.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0) scale(1);
	transition-delay: 0s;
}

.cookie-consent__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 16px;
	color: #ff5b24;
	background: rgba(255, 91, 36, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.cookie-consent__icon svg {
	width: 24px;
	height: 24px;
}

.cookie-consent__text {
	color: rgba(31, 38, 46, 0.76);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.28px;
}

.cookie-consent__link {
	color: #0277e4;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.cookie-consent__link:hover,
.cookie-consent__link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cookie-consent__link:focus-visible {
	outline: 2px solid var(--accent-strong);
	outline-offset: 3px;
	border-radius: 4px;
}

.cookie-consent__accept {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 22px 12px;
	border: 0;
	border-radius: 15px;
	color: #fff;
	background: linear-gradient(180deg, var(--accent-soft) 0%, var(--accent-strong) 100%);
	box-shadow:
		inset 0 2px 0 rgba(255, 255, 255, 0.25),
		inset 0 6px 10px rgba(255, 255, 255, 0.13);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.15px;
	cursor: pointer;
	transition:
		filter var(--motion-duration-fast) var(--motion-ease-soft),
		transform var(--motion-duration-fast) var(--motion-ease-soft);
}

.cookie-consent__accept:hover {
	filter: brightness(1.04);
}

.cookie-consent__accept:active {
	filter: brightness(0.96);
	transform: translateY(1px);
}

.cookie-consent__accept:focus-visible {
	outline: var(--outline-focus);
	outline-offset: var(--outline-offset-button);
}

.floating-actions {
	position: fixed;
	right: max(24px, calc(env(safe-area-inset-right) + 16px));
	bottom: max(24px, calc(env(safe-area-inset-bottom) + 16px));
	z-index: 110;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(14px) scale(0.92);
	transition:
		opacity var(--motion-duration) var(--motion-ease),
		transform var(--motion-duration) var(--motion-ease),
		visibility 0s linear var(--motion-duration);
}

.floating-actions.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition-delay: 0s;
}

.floating-actions__contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background: #ffffff;
	box-shadow:
		0 14px 34px rgba(31, 38, 46, 0.16),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.floating-actions__contact .contact__icon {
	width: 34px;
	height: 34px;
}

.floating-actions .scroll-top {
	position: static;
	right: auto;
	bottom: auto;
}

.scroll-top {
	position: fixed;
	right: max(24px, calc(env(safe-area-inset-right) + 16px));
	bottom: max(24px, calc(env(safe-area-inset-bottom) + 16px));
	z-index: 110;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 0;
	border-radius: 999px;
	padding: 0;
	color: var(--color-surface);
	background:
		linear-gradient(180deg, rgba(79, 177, 247, 0.98) 0%, rgba(2, 119, 228, 0.98) 100%);
	box-shadow:
		0 18px 40px rgba(2, 119, 228, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.3);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(14px) scale(0.92);
	transition:
		opacity var(--motion-duration) var(--motion-ease),
		transform var(--motion-duration) var(--motion-ease),
		box-shadow var(--motion-duration-fast) var(--motion-ease-soft),
		filter var(--motion-duration-fast) var(--motion-ease-soft),
		visibility 0s linear var(--motion-duration);
}

.scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition-delay: 0s;
}

.scroll-top:hover {
	filter: brightness(1.05);
	box-shadow:
		0 22px 48px rgba(2, 119, 228, 0.34),
		inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

.scroll-top:active {
	transform: translateY(1px) scale(0.98);
}

.scroll-top:focus-visible {
	outline: var(--outline-focus);
	outline-offset: var(--outline-offset-button);
}

.scroll-top__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.scroll-top__icon svg {
	width: 24px;
	height: 24px;
}

.contact-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px 20px;
	background: rgba(66, 49, 78, 0.5);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity var(--motion-duration) var(--motion-ease),
		visibility 0s linear var(--motion-duration);
}

.contact-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.contact-modal__dialog {
	position: relative;
	width: min(100%, 460px);
	max-height: min(calc(100vh - 64px), 720px);
	max-height: min(calc(100dvh - 64px), 720px);
	padding: 50px 30px 40px;
	border-radius: 25px;
	background: var(--color-surface);
	box-shadow: 0 35px 65px rgba(0, 0, 0, 0.25);
	overflow-y: auto;
	transform: translateY(18px) scale(0.98);
	transition: transform var(--motion-duration) var(--motion-ease);
}

.contact-modal.is-open .contact-modal__dialog {
	transform: translateY(0) scale(1);
}

.contact-modal__content {
	display: flex;
	flex-direction: column;
	gap: 25px;
	width: 100%;
}

.contact-modal__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	text-align: center;
}

.contact-modal__title {
	margin: 0;
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.6px;
	color: var(--text);
}

.contact-modal__lead {
	margin: 0;
	max-width: 325px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.8px;
	color: #000;
}

.contact-modal__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

.contact-modal__field {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 68px;
	padding: 17px 28px 22px;
	border: 1px solid rgba(190, 151, 184, 0.3);
	border-radius: 12px;
	background: #f9f9f9;
	transition:
		border-color var(--motion-duration-fast) var(--motion-ease-soft),
		box-shadow var(--motion-duration-fast) var(--motion-ease-soft),
		background-color var(--motion-duration-fast) var(--motion-ease-soft);
}

.contact-modal__field:focus-within {
	border-color: rgba(2, 119, 228, 0.3);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(2, 119, 228, 0.08);
}

.form-field-error {
	display: block;
	margin-top: 6px;
	color: #d83a3a;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

.form-field-error[hidden] {
	display: none;
}

.is-invalid {
	color: #d83a3a;
}

.consult__field,
.contact-form__field,
.contact-modal__field {
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
}

.contact-form__field--message {
	justify-content: flex-start;
}

.contact-modal__input {
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	outline: none;
	color: var(--text);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: -0.18px;
}

.contact-modal__input::placeholder {
	color: rgba(0, 0, 0, 0.4);
}

.contact-modal__submit {
	width: 100%;
	min-height: 75px;
	padding: 22px 30px 24px;
}

.contact-modal__consent {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
	cursor: pointer;
}

.contact-modal__checkbox-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.contact-modal__checkbox-box {
	position: relative;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	border: 1px solid rgba(36, 145, 237, 0.12);
	border-radius: 6px;
	background: rgba(36, 145, 237, 0.08);
}

.contact-modal__checkbox-box::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 4px;
	width: 10px;
	height: 6px;
	border-left: 2px solid var(--accent);
	border-bottom: 2px solid var(--accent);
	transform: rotate(-45deg) scale(0);
	transform-origin: center;
	transition: transform var(--motion-duration-fast) var(--motion-ease-soft);
}

.contact-modal__checkbox-input:checked + .contact-modal__checkbox-box::after {
	transform: rotate(-45deg) scale(1);
}

.contact-modal__checkbox-input:focus-visible + .contact-modal__checkbox-box {
	outline: var(--outline-focus);
	outline-offset: 3px;
}

.contact-modal__consent-text {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.22px;
	color: rgba(0, 0, 0, 0.5);
}

.contact-modal__close {
	position: absolute;
	top: 30px;
	right: 30px;
	width: 34px;
	height: 34px;
	border: 0;
	padding: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition:
		background-color var(--motion-duration-fast) var(--motion-ease-soft),
		transform var(--motion-duration-fast) var(--motion-ease-soft);
}

.contact-modal__close:hover {
	background: rgba(31, 38, 46, 0.04);
}

.contact-modal__close:active {
	transform: scale(0.96);
}

.contact-modal__close:focus-visible {
	outline: var(--outline-focus);
	outline-offset: 2px;
}

.contact-modal__close-line {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 15px;
	height: 1.5px;
	border-radius: 999px;
	background: rgba(31, 38, 46, 0.32);
	transform-origin: center;
}

.contact-modal__close-line--left {
	transform: translate(-50%, -50%) rotate(45deg);
}

.contact-modal__close-line--right {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.video-modal {
	padding: 32px 20px;
}

.video-modal__dialog {
	width: min(calc(100vw - 40px), 1120px);
	max-height: calc(100vh - 64px);
	max-height: calc(100dvh - 64px);
	padding: 0;
	border-radius: 24px;
	background: #05070a;
	overflow: visible;
}

.video-modal__media {
	display: block;
	width: 100%;
	max-height: calc(100vh - 64px);
	max-height: calc(100dvh - 64px);
	aspect-ratio: 16 / 9;
	border-radius: inherit;
	background: #000;
	object-fit: contain;
}

.video-modal__close {
	z-index: 2;
	top: 16px;
	right: 16px;
	background: rgba(5, 7, 10, 0.68);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.video-modal__close:hover {
	background: rgba(5, 7, 10, 0.82);
}

.video-modal__close .contact-modal__close-line {
	background: #fff;
}

@media (max-width: 1200px) {
	.section--contacts {
		padding-top: 40px;
	}

	.contacts {
		padding: 0 24px;
		gap: 24px;
	}

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

	.contacts__column {
		gap: 24px;
	}

	.contacts__column--requisites {
		grid-column: 1 / -1;
		max-width: 704px;
	}

	.contacts__map-wrap {
		height: 420px;
	}

	.contacts__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.contacts__gallery-photo {
		height: 200px;
	}

	.section--contact-form {
		padding: 56px 0 72px;
	}

	.contact-form {
		padding: 0 24px;
	}

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

	.contact-form__field--email {
		grid-column: 1 / -1;
	}

	.contact-form__footer {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.contact-modal {
		padding: 24px 16px;
	}
}

@media (max-width: 767px) {
	.section--contacts {
		padding-top: 32px;
	}

	.contacts {
		padding: 0 16px;
		gap: 20px;
	}

	.contacts__title {
		font-size: 42px;
		letter-spacing: -1.6px;
	}

	.contacts__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.contacts__column {
		gap: 20px;
	}

	.contacts__column--requisites {
		grid-column: auto;
		max-width: none;
	}

	.contacts__info {
		gap: 16px;
	}

	.contacts__info-text,
	.contacts__group-line,
	.contacts__group-title,
	.contacts__metro-name {
		font-size: 18px;
		letter-spacing: -0.54px;
	}

	.contacts__metro {
		gap: 10px 12px;
	}

	.contacts__map-wrap {
		height: 320px;
		border-radius: 18px;
	}

	.contacts__map-pin {
		width: 72px;
	}

	.contacts__gallery {
		gap: 8px;
	}

	.contacts__gallery-photo {
		height: 148px;
	}

	.section--contact-form {
		padding: 40px 0 56px;
	}

	.contact-form {
		padding: 0 16px;
		gap: 20px;
	}

	.contact-form__title {
		font-size: 32px;
		letter-spacing: -1.2px;
	}

	.contact-form__lead {
		font-size: 16px;
		letter-spacing: -0.32px;
	}

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

	.contact-form__field,
	.contact-form__field--email {
		grid-column: auto;
	}

	.contact-form__field {
		min-height: 60px;
		padding: 15px 18px 18px;
	}

	.contact-form__field--message {
		min-height: 132px;
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.contact-form__textarea {
		min-height: 92px;
	}

	.contact-form__footer {
		align-items: stretch;
	}

	.contact-form__submit {
		width: 100%;
		min-width: 0;
		min-height: 68px;
		padding-top: 18px;
		padding-bottom: 20px;
	}

	.contact-form__consent {
		align-items: flex-start;
		margin-top: 20px;
	}

	.contact-modal {
		padding: 16px;
		align-items: stretch;
	}

	.contact-modal__dialog {
		width: 100%;
		max-height: calc(100vh - 32px);
		max-height: calc(100dvh - 32px);
		margin: auto;
		padding: 40px 20px 24px;
		border-radius: 22px;
	}

	.contact-modal__content {
		gap: 20px;
	}

	.contact-modal__title {
		font-size: 32px;
		letter-spacing: -1.2px;
	}

	.contact-modal__lead {
		max-width: none;
		font-size: 16px;
		letter-spacing: -0.32px;
	}

	.contact-modal__field {
		min-height: 60px;
		padding: 15px 18px 18px;
	}

	.contact-modal__submit {
		min-height: 68px;
		padding-top: 18px;
		padding-bottom: 20px;
	}

	.contact-modal__close {
		top: 18px;
		right: 18px;
	}

	.video-modal {
		align-items: center;
		padding: 16px;
	}

	.video-modal__dialog {
		width: calc(100vw - 32px);
		max-height: calc(100vh - 32px);
		max-height: calc(100dvh - 32px);
		padding: 0;
		border-radius: 18px;
	}

	.video-modal__media {
		max-height: calc(100vh - 32px);
		max-height: calc(100dvh - 32px);
	}

	.video-modal__close {
		top: 10px;
		right: 10px;
	}
}

@media (max-width: 479px) {
	.contact-modal__title {
		font-size: 30px;
	}

	.contact-modal__close {
		top: 16px;
		right: 16px;
	}

	.video-modal__close {
		top: 10px;
		right: 10px;
	}

	.scroll-top {
		right: max(16px, calc(env(safe-area-inset-right) + 12px));
		bottom: max(16px, calc(env(safe-area-inset-bottom) + 12px));
		width: 52px;
		height: 52px;
	}

	.floating-actions {
		right: max(16px, calc(env(safe-area-inset-right) + 12px));
		bottom: max(16px, calc(env(safe-area-inset-bottom) + 12px));
	}

	.floating-actions__contact,
	.floating-actions .scroll-top {
		width: 52px;
		height: 52px;
	}

	.cookie-consent {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 10px 12px;
		width: min(calc(100% - 24px), 420px);
		padding: 12px;
		border-radius: 18px;
	}

	.cookie-consent__icon {
		width: 40px;
		height: 40px;
		border-radius: 14px;
	}

	.cookie-consent__text {
		font-size: 13px;
		line-height: 1.38;
	}

	.cookie-consent__accept {
		grid-column: 1 / -1;
		width: 100%;
		min-height: 42px;
	}
}

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

	:root {
		--motion-duration-fast: 0.01ms;
		--motion-duration: 0.01ms;
		--motion-duration-slow: 0.01ms;
	}

	.icon-card:hover::before {
		animation: none;
	}

	.page-bg__layer {
		filter: none;
	}

	.section--about > .container .about__gradient,
	.section--about-letters .letters__gallery-wrap .letters__glow {
		opacity: 0.92;
	}

	.contact-modal,
	.contact-modal__dialog,
	.cookie-consent,
	.floating-actions {
		transition: none;
	}

	.scroll-top {
		transition: none;
	}
}

ul#nav-submenu-menu-item-1030 {
    left: -28px;
}

.container .post header.entry-header, .container .post .post-thumbnail {
    margin-bottom: 30px;
}

.entry-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    color: #7a8996;
}

.entry-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 8px 14px 8px 10px;
    border: 1px solid rgba(31, 38, 46, 0.08);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(31, 38, 46, 0.06);
    color: #1f262e;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
}

.entry-meta__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #ff5b24;
    background: rgba(255, 91, 36, 0.1);
}

.entry-meta__icon svg {
    display: block;
    width: 15px;
    height: 15px;
    fill: currentColor;
}

.entry-meta .publication__date,
.entry-meta__text {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: -0.14px;
}

.entry-meta .updated {
    display: none;
}

.single-post .entry-footer {
    margin-top: 44px;
}

.author-box-wrapper {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
    border: 1px solid rgba(31, 38, 46, 0.08);
    border-radius: 22px;
    background: linear-gradient(180deg, #f7f9fc 0%, #fff 100%);
    box-shadow: 0 14px 36px rgba(31, 38, 46, 0.08);
}

.author-box-wrapper .avatar-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 76px;
    height: 76px;
    border-radius: 22px;
    background: #085192;
    box-shadow: 0 12px 26px rgba(8, 81, 146, 0.18);
    overflow: hidden;
}

.author-box-wrapper .avatar {
    display: block;
    width: 58px;
    height: auto;
    max-height: 58px;
    object-fit: contain;
    border-radius: 0;
}

.author-box-wrapper .desc-wrapper {
    min-width: 0;
}

.author-box-wrapper h5 {
    margin: 0 0 5px;
    color: #1f262e;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.44px;
}

.author-box-wrapper .desc {
    color: #7a8996;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

.container .post .post-thumbnail img, .section.mcb-section img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
}

.column_photo_box {
    margin-bottom: 30px;
    margin-top: 30px;
}

.oglav {
    position: relative;
    margin: 0 0 34px;
    padding: 24px 28px 26px;
    border: 1px solid rgba(31, 38, 46, 0.08);
    border-radius: 22px;
    background: linear-gradient(180deg, #f7f9fc 0%, #fff 100%);
    box-shadow: 0 14px 36px rgba(31, 38, 46, 0.08);
    overflow: hidden;
}

.oglav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #ff5b24 0%, rgba(233, 118, 64, 0.45) 100%);
}

.oglav-h1 {
    margin: 0 0 16px;
    color: #1f262e;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.44px;
}

.oglav ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: oglav;
}

.oglav li {
    position: relative;
    margin: 0;
    padding: 0;
    counter-increment: oglav;
}

.oglav li::before {
    content: counter(oglav);
    position: absolute;
    left: 10px;
    top: 9px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(180deg, #ff7a3d 0%, #ff5b24 100%);
    box-shadow: 0 8px 18px rgba(255, 91, 36, 0.24);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

.oglav a {
    display: block;
    min-height: 46px;
    padding: 11px 14px 11px 50px;
    border: 1px solid rgba(31, 38, 46, 0.06);
    border-radius: 14px;
    color: #1f262e;
    background: rgba(255, 255, 255, 0.74);
    text-decoration: none;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        color 0.15s ease,
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.oglav a:hover,
.oglav a:focus-visible {
    border-color: rgba(255, 91, 36, 0.22);
    background: #fff;
    color: #ff5b24;
    box-shadow: 0 8px 22px rgba(31, 38, 46, 0.08);
    transform: translateX(3px);
}

.oglav a:focus-visible {
    outline: 2px solid var(--accent-strong);
    outline-offset: 3px;
}

.oglav strong {
    font-weight: 600;
}

@media (max-width: 600px) {
    .entry-meta {
        align-items: stretch;
        gap: 8px;
    }

    .entry-meta__item {
        width: 100%;
        justify-content: flex-start;
        min-height: 40px;
        font-size: 13px;
    }

    .author-box-wrapper {
        align-items: flex-start;
        gap: 14px;
        padding: 18px;
        border-radius: 18px;
    }

    .author-box-wrapper .avatar-wrapper {
        width: 64px;
        height: 64px;
        border-radius: 18px;
    }

    .author-box-wrapper .avatar {
        width: 50px;
        max-height: 50px;
    }

    .author-box-wrapper h5 {
        font-size: 19px;
    }

    .author-box-wrapper .desc {
        font-size: 14px;
    }

    .oglav {
        padding: 20px 18px 22px;
        border-radius: 18px;
    }

    .oglav-h1 {
        font-size: 20px;
    }

    .oglav a {
        padding-right: 12px;
        font-size: 15px;
        line-height: 1.35;
    }
}

.entry-content p {
    line-height: 27px;
    margin-bottom: 30px;
}


h1.entry-title {
    line-height: 38px;
    margin-bottom: 20px;
}
