/* ==========================================================================
   Fonts: Manrope (variable, 200–800), local
   ========================================================================== */

/* cyrillic-ext */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/manrope-cyrillic-ext.woff2') format('woff2');
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/manrope-cyrillic.woff2') format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* latin-ext */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/manrope-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/manrope-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Base
   ========================================================================== */

:root {
	--color-bg: #e7eef5;
	--color-white: #fff;
	--color-black: #000;
	--color-dark: #040c21;
	--color-blue: #0e4e99;
	--color-yellow: #fbc607;
	--color-orange: #fd521a;
	--color-gray: #6b7c8c;
	--color-light: #f3f6fa;
	--color-border: #d4deef;
	--color-divider: #e9eef7;

	--radius: 1.11111vw;
	--gap: 0.69438vw;
	--tracking: -0.03em;
	--ease: cubic-bezier(0.25, 0.8, 0.25, 1);
}

*,
*::before,
*::after {
	box-sizing: border-box;
	/* Set on every element so em is computed from its own font size (inherit would pass px) */
	letter-spacing: var(--tracking);
}

body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-black);
	font-family: 'Manrope', sans-serif;
	font-size: 1.11111vw;
	line-height: 1.2;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, p, ul {
	margin: 0;
}

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

a {
	color: inherit;
	text-decoration: none;
}

button {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

img,
video {
	display: block;
}

/* <picture> only switches the source, it must not affect the layout */
picture {
	display: contents;
}

/* ==========================================================================
   Layout
   ========================================================================== */

.site {
	display: flex;
	align-items: flex-start;
	gap: var(--gap);
	width: 100vw;
	margin: 0 auto;
	padding: 0.69438vw;
}

.site__content {
	flex: 0 0 76.73611vw;
	width: 76.73611vw;
}

/* ==========================================================================
   Common
   ========================================================================== */

.tag {
	display: flex;
	align-items: center;
	gap: 1.04167vw;
	font-weight: 600;
	line-height: 1;
	color: var(--color-blue);
}

.tag::before {
	content: '';
	flex: 0 0 0.55562vw;
	width: 0.55562vw;
	height: 0.55562vw;
	border-radius: 50%;
	background: currentColor;
}

.tag--light {
	color: var(--color-white);
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	height: 5.55563vw;
	padding: 0 1.66667vw 0 2.22222vw;
	border-radius: 694.44437vw;
	font-size: 1.25vw;
	font-weight: 600;
	transition: background-color 0.3s var(--ease);
}

.btn__arrow {
	flex: 0 0 2.22222vw;
	width: 2.22222vw;
	height: 2.22222vw;
	transition: transform 0.3s var(--ease);
}

.btn:hover .btn__arrow {
	transform: translateX(0.27778vw);
}

.btn--yellow {
	position: relative;
	background: var(--color-yellow);
	color: var(--color-dark);
}

/* Border lies over the fill (as in the design), padding is counted from the outer edge */
.btn--yellow::before {
	content: '';
	position: absolute;
	inset: 0;
	border: 0.27778vw solid rgba(255, 255, 255, 0.35);
	border-radius: inherit;
	pointer-events: none;
}

.btn--yellow:hover {
	background-color: #e8b500;
}

/* ==========================================================================
   Sidebar (site header)
   ========================================================================== */

.sidebar {
	position: sticky;
	top: 0.69438vw;
	z-index: 10;
	display: flex;
	flex: 0 0 21.18062vw;
	flex-direction: column;
	gap: var(--gap);
	width: 21.18062vw;
	height: calc(100vh - 1.38889vw);
}

.sidebar__top {
	display: flex;
	flex: 0 0 5.55563vw;
	align-items: center;
	justify-content: space-between;
	padding: 0 1.38889vw;
	border-radius: var(--radius);
	background: var(--color-white);
}

.sidebar__logo {
	transition: opacity 0.3s var(--ease);
}

.sidebar__logo:hover {
	opacity: 0.8;
}

.messengers {
	display: flex;
}

.messengers__link {
	position: relative;
	width: 2.77778vw;
	height: 2.77778vw;
	border: 1px solid var(--color-border);
	border-radius: 0.83333vw;
	transition: background-color 0.3s var(--ease), border-color 0.3s var(--ease);
}

.messengers__link + .messengers__link {
	margin-left: -1px;
}

.messengers__link img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2.77778vw;
	height: 2.77778vw;
	transform: translate(-50%, -50%);
}

.messengers__link:hover {
	z-index: 1;
	border-color: var(--color-blue);
	background: var(--color-light);
}

/* Body: menu shrinks and scrolls inside, the callback button stays at the bottom */
.sidebar__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	padding: 1.38889vw;
	border-radius: var(--radius);
	background: var(--color-white);
}

.sidebar__nav {
	flex: 1 1 auto;
	min-height: 0;
	margin-right: -0.69438vw;
	padding-right: 0.69438vw;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: var(--color-border) transparent;
}

.sidebar__label {
	padding-bottom: 1.04167vw;
	border-bottom: 1px solid var(--color-divider);
	color: rgba(107, 124, 140, 0.5);
	font-size: 0.97222vw;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: uppercase;
}

.nav {
	display: flex;
	flex-direction: column;
	gap: 0.69438vw;
	padding: 1.04167vw 0;
	border-bottom: 1px solid var(--color-divider);
}

.nav__link {
	display: flex;
	align-items: center;
	gap: 1.04167vw;
	width: 100%;
	color: var(--color-gray);
	font-weight: 600;
	text-align: left;
	transition: color 0.3s var(--ease);
}

.nav__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 3.33333vw;
	width: 3.33333vw;
	height: 3.33333vw;
	border-radius: 0.83333vw;
	background: var(--color-light);
	transition: background-color 0.3s var(--ease);
}

.nav__link:hover,
.nav__link.is-active {
	color: var(--color-black);
}

.nav__link:hover .nav__icon {
	background: #e3ebf5;
}

/* Services dropdown */
.nav-dropdown {
	padding-top: 0.97222vw;
}

.nav-dropdown__toggle {
	width: 17.56938vw;
}

.nav-dropdown__arrow {
	margin-left: auto;
	transition: transform 0.3s var(--ease);
}

.nav-dropdown.is-open .nav-dropdown__toggle {
	color: var(--color-black);
}

.nav-dropdown.is-open .nav-dropdown__arrow {
	transform: rotate(180deg);
}

.nav-dropdown__body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.4s var(--ease);
}

.nav-dropdown.is-open .nav-dropdown__body {
	grid-template-rows: 1fr;
}

.nav-dropdown__list {
	display: flex;
	flex-direction: column;
	gap: 0.83333vw;
	min-height: 0;
	overflow: hidden;
	padding-left: 4.375vw;
}

.nav-dropdown__list li:first-child {
	padding-top: 0.83333vw;
}

.nav-dropdown__link {
	color: var(--color-gray);
	font-size: 1.04167vw;
	font-weight: 500;
	line-height: 1.3;
	transition: color 0.3s var(--ease);
}

.nav-dropdown__link:hover {
	color: var(--color-blue);
}

.callback-btn {
	display: flex;
	flex: 0 0 4.16667vw;
	align-items: center;
	justify-content: center;
	gap: 1.38889vw;
	margin-top: 1.38889vw;
	border: 1px solid rgba(14, 78, 153, 0.2);
	border-radius: 69.44438vw;
	background: var(--color-light);
	font-weight: 500;
	transition: background-color 0.3s var(--ease), border-color 0.3s var(--ease);
}

.callback-btn:hover {
	border-color: var(--color-blue);
	background: var(--color-white);
}

/* ==========================================================================
   First screen: hero + stats fill the viewport height
   min-height: hero 650 (bar 80 + content 60/460/50) + gap 10 + stats 100
   ========================================================================== */

.first-screen {
	display: flex;
	flex-direction: column;
	gap: var(--gap);
	height: calc(100vh - 1.38889vw);
	min-height: 52.77778vw;
}

/* ==========================================================================
   Hero
   ========================================================================== */

.hero {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	gap: var(--gap);
}

.hero__main,
.hero__side {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--color-blue);
	color: var(--color-white);
	isolation: isolate;
}

.hero__main {
	flex: 0 0 50vw;
}

.hero__side {
	flex: 0 0 26.04167vw;
	background: #4c5667;
}

.hero__side::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(4, 12, 33, 0.35);
}

.hero__video,
.hero__overlay {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero__bar {
	display: flex;
	flex: 0 0 5.55563vw;
	align-items: center;
	margin: 0 3.47222vw;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.1);
}

.hero__subtitle {
	width: 14.51389vw;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.97222vw;
	font-weight: 500;
}

.hero__phone {
	display: flex;
	align-items: center;
	gap: 1.04167vw;
	margin-left: 11.18063vw;
	font-size: 1.38889vw;
	font-weight: 600;
	white-space: nowrap;
}

.hero__phone-icon {
	width: 2.77778vw;
	height: 2.77778vw;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius);
	transition: background-color 0.3s var(--ease), border-color 0.3s var(--ease);
}

.hero__phone-icon img {
	width: 2.77778vw;
	height: 2.77778vw;
	margin: -1px;
}

.hero__phone:hover .hero__phone-icon {
	border-color: rgba(255, 255, 255, 0.4);
	background: rgba(255, 255, 255, 0.1);
}

.hero__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.38889vw;
	padding: 4.16667vw 3.47222vw 3.47222vw;
}

.hero__heading {
	display: flex;
	flex-direction: column;
	gap: 1.38889vw;
}

.hero__title {
	font-size: 3.88889vw;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.hero__title span {
	font-weight: 400;
}

.avatars {
	display: flex;
	width: 22.56938vw;
	height: 5.55563vw;
	padding: 0.625vw;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 69.44438vw;
}

.avatars__item {
	width: 4.16667vw;
	height: 4.16667vw;
	border: 0.13889vw solid var(--color-white);
	border-radius: 50%;
	background: #d9d9d9;
	object-fit: cover;
	transition: transform 0.3s var(--ease);
}

.avatars__item + .avatars__item {
	margin-left: -0.76389vw;
}

.avatars__item:hover {
	transform: translateY(-0.27778vw);
}

.hero__bottom {
	display: flex;
	align-items: flex-start;
	gap: 3.125vw;
}

.hero__btn {
	flex: 0 0 22.56938vw;
	width: 22.56938vw;
}

.hero__text {
	flex: 0 0 18.40278vw;
	margin-top: 0.48611vw;
	width: 18.40278vw;
	font-weight: 500;
	line-height: 1.4;
}

.hero__text strong {
	font-weight: 600;
}

/* Language switcher */
.lang {
	display: flex;
	flex: 0 0 5.55563vw;
	align-items: center;
	justify-content: space-between;
	margin: 0 3.47222vw;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.1);
	font-weight: 500;
	line-height: 1.4;
}

.lang__list {
	display: flex;
}

.lang__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.77778vw;
	height: 2.77778vw;
	border: 1px solid var(--color-white);
	border-radius: 0.83333vw;
	font-size: 0.97222vw;
	font-weight: 600;
	transition: background-color 0.3s var(--ease), color 0.3s var(--ease);
}

.lang__item + .lang__item {
	margin-left: -1px;
}

.lang__item:hover {
	background: rgba(255, 255, 255, 0.15);
}

.lang__item.is-active {
	background: var(--color-white);
	color: var(--color-black);
}

.hero__person {
	position: absolute;
	width: 28.68056vw;
	height: 40vw;
	bottom: 0;
	left: 48.05562vw;
	z-index: 2;
	pointer-events: none;
}

/* ==========================================================================
   Stats
   ========================================================================== */

.stats {
	display: grid;
	flex: 0 0 6.94437vw;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gap);
}

.stats__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 1.38889vw 0 2.08333vw;
	border-radius: var(--radius);
	background: var(--color-white);
}

.stats__value {
	font-size: 2.22222vw;
	font-weight: 600;
}

.stats__label {
	font-weight: 500;
	line-height: 1.4;
}

.stats__icon {
	display: flex;
	flex: 0 0 4.16667vw;
	align-items: center;
	justify-content: center;
	width: 4.16667vw;
	height: 4.16667vw;
	border-radius: 0.83333vw;
	background: rgba(253, 82, 26, 0.1);
	transition: transform 0.4s var(--ease);
}

.stats__item:hover .stats__icon {
	transform: rotate(-8deg) scale(1.05);
}

/* ==========================================================================
   Sections
   ========================================================================== */

.main {
	display: flex;
	flex-direction: column;
	gap: var(--gap);
}

.section {
	padding: 6.25vw 3.47222vw;
	border-radius: var(--radius);
	background: var(--color-white);
}

.section__head {
	display: flex;
	flex-direction: column;
	gap: 1.38889vw;
}

.section__title {
	font-size: 3.33333vw;
	font-weight: 500;
	line-height: 1;
}

.section__text {
	margin-top: 2.77778vw;
	color: var(--color-gray);
	font-weight: 500;
	line-height: 1.4;
}

/* Line breaks: classes list where the <br> is shown (br-d desktop, br-t tablet, br-m mobile); no class — everywhere */
br[class*="br-"]:not(.br-d) {
	display: none;
}

.header-call,
.menu-extra,
.lang-switch,
.menu-btn,
.slider-nav,
.contact__person,
.footer__dev-logo {
	display: none;
}

.img--placeholder {
	display: block;
	border-radius: 0.27778vw;
	background: rgba(0, 0, 0, 0.12);
}

/* ==========================================================================
   Services
   ========================================================================== */

.services {
	padding-bottom: 5.97222vw;
}

.services__body {
	position: relative;
	margin-top: 2.77778vw;
}

.services__tabs {
	display: flex;
	flex-direction: column;
	width: 22.56938vw;
	gap: 0.34722vw;
}

.services__tab {
	display: flex;
	align-items: center;
	gap: 1.38889vw;
	padding: 0.625vw 2.01389vw 0.625vw 0.625vw;
	border: 1px solid transparent;
	border-radius: var(--radius);
	background: var(--color-light);
	font-weight: 500;
	text-align: left;
	transition: background-color 0.3s var(--ease), border-color 0.3s var(--ease);
}

.services__tab:hover {
	background: #e9eef6;
}

.services__tab.is-active {
	border-color: color-mix(in srgb, var(--accent) 50%, transparent);
	background: color-mix(in srgb, var(--accent) 18%, #fff);
}

.services__icon {
	display: flex;
	flex: 0 0 4.16667vw;
	align-items: center;
	justify-content: center;
	width: 4.16667vw;
	height: 4.16667vw;
	border-radius: 0.83333vw;
	background: var(--accent);
}

.services__chevron {
	margin-left: auto;
	color: var(--color-gray);
	transition: transform 0.3s var(--ease);
}

.services__tab:hover .services__chevron {
	transform: translateX(0.27778vw);
}

.services__panel {
	position: absolute;
	top: 0;
	left: 23.61111vw;
	display: flex;
	flex-direction: column;
	width: 46.18062vw;
	height: 35.06938vw;
	padding: 2.01389vw;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.69438vw);
	transition: opacity 0.4s var(--ease), transform 0.4s var(--ease), visibility 0.4s;
}

.services__panel.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.services__panel-head {
	display: flex;
	align-items: center;
	gap: 2.08333vw;
}

.services__panel-title {
	font-size: 1.66667vw;
	font-weight: 500;
}

.services__lead {
	margin-top: 2.08333vw;
	font-size: 1.38889vw;
	font-weight: 500;
	line-height: 1.4;
}

.services__text {
	margin-top: 1.38889vw;
	font-weight: 500;
	line-height: 1.4;
}

.services__buttons {
	display: flex;
	gap: 1.04167vw;
	margin-top: auto;
}

.btn-outline {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20.48611vw;
	height: 4.16667vw;
	border: 1px solid var(--accent, var(--color-blue));
	border-radius: 69.44438vw;
	font-weight: 600;
	transition: background-color 0.3s var(--ease);
}

.btn-outline:hover {
	background: color-mix(in srgb, var(--accent, var(--color-blue)) 15%, #fff);
}

.btn--small {
	width: 20.48611vw;
	height: 4.16667vw;
	padding: 0 1.11111vw 0 1.66667vw;
	font-size: 1.11111vw;
}

.btn--small::before {
	border-width: 1px;
	border-color: rgba(0, 0, 0, 0.1);
}

.btn--small .btn__arrow {
	flex-basis: 1.66667vw;
	width: 1.66667vw;
	height: 1.66667vw;
}

/* ==========================================================================
   Photo
   ========================================================================== */

.photo {
	height: 33.33333vw;
	overflow: hidden;
	border-radius: var(--radius);
}

.photo__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==========================================================================
   CTA
   ========================================================================== */

.cta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	height: 12.5vw;
	padding: 3.47222vw;
	border-radius: var(--radius);
	background:
		radial-gradient(121.52778vw 20.13889vw at 44.79167vw 0.48611vw, #3676c1, rgba(14, 78, 153, 0)),
		radial-gradient(76.38889vw 13.19437vw at -2.43062vw 10.55563vw, #3676c1, rgba(14, 78, 153, 0)),
		var(--color-blue);
	color: var(--color-white);
}

.cta__title {
	width: 36.31938vw;
	margin-top: 0.13889vw;
	font-size: 2.22222vw;
	font-weight: 500;
}

.cta__btn {
	flex: 0 0 22.56938vw;
}

/* ==========================================================================
   Advantages
   ========================================================================== */

.advantages__list {
	margin-top: 4.16667vw;
}

.advantages__item {
	display: flex;
	align-items: flex-start;
	gap: 1.04167vw;
}

.advantages__item + .advantages__item {
	margin-top: 2.77778vw;
	padding-top: 2.70833vw;
	border-top: 1px solid var(--color-divider);
}

.advantages__num {
	flex: 0 0 2.77778vw;
	color: var(--color-orange);
	font-size: 0.97222vw;
	font-weight: 600;
	line-height: 1.4;
}

.advantages__title {
	flex: 0 0 18.75vw;
	font-size: 1.66667vw;
	font-weight: 600;
}

.advantages__text {
	font-size: 0.97222vw;
	font-weight: 500;
	line-height: 1.4;
}

/* ==========================================================================
   Directions
   ========================================================================== */

.directions {
	padding-bottom: 4.23611vw;
}

.directions__grid {
	display: grid;
	grid-template-columns: repeat(3, 22.56938vw);
	gap: 1.04167vw;
	margin-top: 2.77778vw;
}

.directions__item {
	display: flex;
	align-items: center;
	gap: 1.94437vw;
	height: 5.55563vw;
	padding: 0 2.01389vw 0 1.875vw;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	font-weight: 600;
	line-height: 1.4;
	transition: border-color 0.3s var(--ease), background-color 0.3s var(--ease), opacity 0.9s var(--ease), transform 0.9s var(--ease);
}

.directions__item:hover {
	border-color: var(--color-orange);
	background: rgba(253, 82, 26, 0.04);
}

.directions__item span {
	white-space: nowrap;
}

.directions__icon {
	flex: 0 0 1.66667vw;
	transition: transform 0.3s var(--ease);
}

.directions__item:hover .directions__icon {
	transform: scale(1.15);
}

.mask-icon {
	display: block;
	background: currentColor;
	-webkit-mask: var(--icon) center / contain no-repeat;
	mask: var(--icon) center / contain no-repeat;
}

/* ==========================================================================
   Steps (scroll-driven: JS sets .is-active and --progress)
   ========================================================================== */

.section--dark {
	background: var(--color-dark);
	color: var(--color-white);
}

.steps {
	padding-bottom: 4.16667vw;
}

.steps__intro {
	width: 28.33333vw;
	margin-top: 2.77778vw;
	font-weight: 500;
	line-height: 1.4;
}

.steps__body {
	position: relative;
	margin-top: 2.77778vw;
}

/* Line goes behind the icons: from the first icon to the end of the last one */
.steps__track {
	position: absolute;
	top: 1.66667vw;
	left: 0;
	width: 56.45833vw;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
}

.steps__fill {
	position: absolute;
	top: -0.5px;
	left: 0;
	width: 53.125vw;
	height: 0.13889vw;
	background: var(--color-yellow);
	transform: scaleX(var(--progress, 0));
	transform-origin: left;
}

.steps__list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 17.70833vw);
	margin: 0;
	padding: 0;
	list-style: none;
}

.steps__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.33333vw;
	height: 3.33333vw;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 0.83333vw;
	background: var(--color-dark);
	color: rgba(255, 255, 255, 0.5);
	transition: background-color 0.4s var(--ease), border-color 0.4s var(--ease), color 0.4s var(--ease);
}

.steps__title {
	width: 16.66667vw;
	margin-top: 2.08333vw;
	font-size: 1.66667vw;
	font-weight: 500;
	opacity: 0.25;
	transition: opacity 0.4s var(--ease);
}

.steps__text,
.steps__note {
	font-size: 0.97222vw;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	opacity: 0.25;
	transition: opacity 0.4s var(--ease);
}

.steps__text {
	margin-top: 1.05563vw;
}

.steps__note {
	margin-top: 1.04167vw;
}

.steps__item.is-active .steps__icon {
	border: 0.27778vw solid var(--color-dark);
	background: var(--color-yellow);
	color: var(--color-dark);
}

.steps__item.is-active .steps__title {
	opacity: 1;
}

.steps__item.is-active .steps__text {
	opacity: 0.5;
}

/* ==========================================================================
   Team
   ========================================================================== */

.team {
	padding-bottom: 4.30556vw;
}

.team__list {
	display: grid;
	grid-template-columns: repeat(4, 16.66667vw);
	gap: 1.04167vw;
	margin-top: 2.77778vw;
}

.team__photo {
	width: 16.66667vw;
	height: 16.66667vw;
	overflow: hidden;
	border-radius: var(--radius);
}

.team__photo .img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--ease);
}

.team__item:hover .team__photo .img {
	transform: scale(1.05);
}

.team__name {
	margin-top: 1.38889vw;
	font-size: 1.66667vw;
	font-weight: 500;
}

.team__role {
	width: 15.27778vw;
	margin-top: 0.34722vw;
	color: var(--color-gray);
	font-size: 0.97222vw;
	font-weight: 500;
	line-height: 1.4;
}

/* ==========================================================================
   FAQ
   ========================================================================== */

.faq {
	padding-bottom: 5.55563vw;
}

.faq__grid {
	display: flex;
	align-items: flex-start;
	gap: 1.04167vw;
	margin-top: 2.77778vw;
}

.faq__column {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 1.04167vw;
}

.faq__item {
	border-radius: var(--radius);
	background: var(--color-light);
	transition: background-color 0.3s var(--ease);
}

.faq__item:hover {
	background: #ebf0f7;
}

.faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.38889vw;
	width: 100%;
	min-height: 6.71319vw;
	padding: 1.11111vw 2.77778vw 1.11111vw 2.08333vw;
	font-size: 1.38889vw;
	font-weight: 500;
	text-align: left;
}

.faq__arrow {
	flex: 0 0 1.66667vw;
	width: 1.66667vw;
	height: 1.66667vw;
	transition: transform 0.3s var(--ease);
}

.faq__item.is-open .faq__arrow {
	transform: rotate(180deg);
}

.faq__answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.4s var(--ease);
}

.faq__item.is-open .faq__answer {
	grid-template-rows: 1fr;
}

.faq__answer-inner {
	min-height: 0;
	overflow: hidden;
}

.faq__answer p {
	padding: 0 2.77778vw 2.08333vw 2.08333vw;
	color: var(--color-gray);
	font-weight: 500;
	line-height: 1.4;
}

/* ==========================================================================
   Contact form
   ========================================================================== */

.contact {
	display: flex;
	gap: 1.04167vw;
	height: 51.38889vw;
}

.contact__form-wrap,
.contact__image {
	flex: 0 0 37.84722vw;
	overflow: hidden;
	border-radius: var(--radius);
}

.contact__form-wrap {
	padding: 5.625vw 3.47222vw 0;
	background:
		radial-gradient(69.44438vw 62.5vw at 22.08333vw 2.08333vw, #3676c1, rgba(14, 78, 153, 0)),
		radial-gradient(38.19438vw 52.08333vw at -1.18063vw 43.47222vw, #3676c1, rgba(14, 78, 153, 0)),
		var(--color-blue);
	color: var(--color-white);
}

.contact__image {
	position: relative;
	background: linear-gradient(180deg, #a8d9ff, #3676c1);
}

/* Background logo: wider than the card, cropped by it (position from the design) */
.contact__logo {
	position: absolute;
	top: 3.95833vw;
	left: -32.70833vw;
	width: 103.31875vw;
	max-width: none;
	height: 28.82569vw;
	pointer-events: none;
}

/* Photo pinned to the right and bottom edges */
.contact__photo {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 35vw !important;
	height: 43.68056vw !important;
	object-fit: contain;
}

.contact__text {
	width: 16.38889vw;
	margin-top: 1.38889vw;
	font-weight: 500;
	line-height: 1.4;
}

.contact__form {
	display: flex;
	flex-direction: column;
	gap: 0.69438vw;
	margin-top: 4.16667vw;
}

.input {
	width: 30.90278vw;
	height: 5.55563vw;
	padding: 0 2.77778vw;
	border: 1px solid transparent;
	border-radius: 69.44438vw;
	outline: none;
	background: var(--color-white);
	color: var(--color-black);
	font: inherit;
	font-weight: 500;
	transition: border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.input::placeholder {
	color: var(--color-gray);
	font-weight: 400;
}

.input:focus {
	border-color: var(--color-yellow);
	box-shadow: 0 0 0 0.27778vw rgba(251, 198, 7, 0.35);
}

.contact__btn {
	width: 30.90278vw;
	margin-top: 2.08333vw;
}

.contact__policy {
	width: 24.16667vw;
	margin-top: 2.08333vw;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.97222vw;
	font-weight: 500;
	line-height: 1.4;
}

.contact__policy a {
	text-decoration: underline;
	transition: color 0.3s var(--ease);
}

.contact__policy a:hover {
	color: var(--color-white);
}

/* ==========================================================================
   Footer
   ========================================================================== */

.footer {
	display: flex;
	flex-direction: column;
	gap: 2.77778vw;
	margin-top: var(--gap);
	padding: 3.61111vw 3.47222vw 3.95833vw;
	border-radius: var(--radius);
	background: var(--color-dark);
	color: var(--color-white);
}

/* Lines take no height in the design */
.footer__divider {
	height: 1px;
	margin-bottom: -1px;
	background: rgba(255, 255, 255, 0.1);
}

/* Columns: 0 / 510 / 765 inside 1005 */
.footer__top {
	display: grid;
	grid-template-columns: 35.41667vw 17.70833vw 16.66667vw;
}

.footer__caption {
	padding-top: 0.83333vw;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.97222vw;
	font-weight: 500;
}

.footer__email {
	display: inline-block;
	margin-top: 1.18063vw;
	font-size: 3.88889vw;
	font-weight: 500;
	white-space: nowrap;
	transition: color 0.3s var(--ease);
}

.footer__email:hover {
	color: var(--color-yellow);
}

.footer__address-text {
	width: 15.97222vw;
	margin-top: 1.875vw;
	font-size: 1.38889vw;
	font-weight: 500;
}

.footer__messengers {
	display: flex;
}

.footer__icon-link {
	display: flex;
	flex: 0 0 2.77778vw;
	align-items: center;
	justify-content: center;
	width: 2.77778vw;
	height: 2.77778vw;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 0.83333vw;
	transition: background-color 0.3s var(--ease), border-color 0.3s var(--ease);
}

.footer__messengers .footer__icon-link + .footer__icon-link {
	margin-left: -1px;
}

.footer__icon-link > img[width="40"] {
	width: 2.77778vw;
	height: 2.77778vw;
	margin: -1px;
}

a.footer__icon-link:hover,
.footer__phone:hover .footer__icon-link {
	border-color: rgba(255, 255, 255, 0.4);
	background: rgba(255, 255, 255, 0.08);
}

.footer__phone {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 15.69437vw;
	margin-top: 1.38889vw;
	font-size: 1.38889vw;
	font-weight: 600;
	white-space: nowrap;
}

.footer__menus {
	display: grid;
	grid-template-columns: repeat(4, 16.66667vw);
	justify-content: space-between;
}

.footer__menu-title {
	color: rgba(255, 255, 255, 0.35);
	font-size: 0.97222vw;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: uppercase;
}

.footer__links {
	display: flex;
	flex-direction: column;
	gap: 1.04167vw;
	margin-top: 2.08333vw;
	font-size: 0.97222vw;
	font-weight: 500;
}

.footer__links a,
.footer__policy,
.footer__dev a {
	transition: color 0.3s var(--ease);
}

.footer__links a:hover,
.footer__dev a:hover {
	color: var(--color-yellow);
}

.footer__bottom {
	position: relative;
	height: 2.36111vw;
	font-size: 0.97222vw;
	font-weight: 500;
}

.footer__bottom > * {
	position: absolute;
	top: 0.625vw;
}

.footer__logo {
	top: 1px;
	left: 0;
}

.footer__copy {
	top: 0;
	left: 9.72222vw;
	color: rgba(255, 255, 255, 0.5);
	letter-spacing: 0;
}

.footer__policy {
	left: 35.41667vw;
	color: rgba(255, 255, 255, 0.5);
	text-decoration: underline;
}

.footer__policy:hover {
	color: var(--color-white);
}

.footer__dev {
	left: 53.125vw;
}

/* Line heights rounded to whole pixels at 1440, as in the design (ratio = px / font-size) */
.nav__link {
	line-height: 1.1875;
}

.sidebar__label {
	line-height: 1.21429;
}

.hero__subtitle {
	line-height: 1.21429;
}

.hero__text {
	line-height: 1.375;
}

.stats__value {
	line-height: 1.1875;
}

.stats__label {
	line-height: 1.375;
}

.section__text {
	line-height: 1.375;
}

.services__tab {
	line-height: 1.1875;
}

.services__panel-title {
	line-height: 1.20833;
}

.services__text {
	line-height: 1.375;
}

.cta__title {
	line-height: 1.1875;
}

.advantages__num {
	line-height: 1.42857;
}

.advantages__title {
	line-height: 1.20833;
}

.advantages__text {
	line-height: 1.42857;
}

.directions__item {
	line-height: 1.375;
}

.steps__intro {
	line-height: 1.375;
}

.steps__title {
	line-height: 1.20833;
}

.steps__text,
.steps__note {
	line-height: 1.42857;
}

.team__name {
	line-height: 1.20833;
}

.team__role {
	line-height: 1.42857;
}

.team__item:first-child .team__role {
	line-height: 1.21429;
}

.faq__answer p {
	line-height: 1.375;
}

.contact__text {
	line-height: 1.375;
}

.contact__policy {
	line-height: 1.42857;
}

.footer__caption {
	line-height: 1.21429;
}

.footer__email {
	line-height: 1.19643;
}

.footer__menu-title {
	line-height: 1.21429;
}

.footer__links {
	line-height: 1.21429;
}

.footer__bottom {
	line-height: 1.21429;
}

/* The Services icon is drawn at 24px (others are 48px with built-in padding) */
.nav-dropdown__toggle .nav__icon img {
	width: 50%;
	height: 50%;
}

/* Image sizes in CSS (HTML attributes are px and would not scale) */
.sidebar__logo img,
.footer__logo .img {
	width: 7.98611vw !important;
	height: 2.22222vw !important;
}

.nav__icon img {
	width: 3.33333vw;
	height: 3.33333vw;
}

.nav-dropdown__arrow,
.services__chevron {
	flex: 0 0 auto;
	width: 1.38889vw;
	height: 1.38889vw;
}

.callback-btn img {
	width: 1.11111vw;
	height: 1.11111vw;
}

.stats__icon .img,
.services__icon .img {
	width: 2.08333vw !important;
	height: 2.08333vw !important;
}

.steps__icon .mask-icon,
.directions__icon {
	width: 1.66667vw !important;
	height: 1.66667vw !important;
}

.footer__icon-link .img {
	width: 1.11111vw !important;
	height: 1.11111vw !important;
}

.photo__img,
.team__photo .img {
	width: 100% !important;
	height: 100% !important;
}


/* ==========================================================================
   Tablet: ≤1023px. Design width 768, all sizes in vw (px / 768 * 100)
   ========================================================================== */

@media (max-width: 1023px) {
	html {
		min-width: 0;
		overflow-x: clip;
	}

	br[class*="br-"]:not(.br-t) {
		display: none;
	}

	/* Same specificity as the desktop hide rule, so it wins by order */
	br[class*="br-"].br-t {
		display: revert;
	}

	.site {
		flex-direction: column;
		align-items: stretch;
		gap: 1.30208vw;
		width: auto;
		padding: 1.30208vw;
	}

	.site__content {
		flex: none;
		width: auto;
	}

	.main {
		gap: 1.30208vw;
	}

	.tag {
		gap: 1.95312vw;
		font-size: 2.08333vw;
	}

	.tag::before {
		flex-basis: 1.04167vw;
		width: 1.04167vw;
		height: 1.04167vw;
	}

	.btn {
		height: 10.41667vw;
		padding: 0 3.125vw 0 4.16667vw;
		font-size: 2.34375vw;
	}

	.btn__arrow {
		flex-basis: 4.16667vw;
		width: 4.16667vw;
		height: 4.16667vw;
	}

	.btn--yellow::before {
		border-width: 0.52083vw;
	}

	.btn--small {
		width: 37.76042vw;
		height: 7.8125vw;
		padding: 0 2.08333vw 0 3.125vw;
		font-size: 2.08333vw;
	}

	.btn--small::before {
		border-width: 1px;
	}

	.btn--small .btn__arrow {
		flex-basis: 3.125vw;
		width: 3.125vw;
		height: 3.125vw;
	}

	.btn-outline {
		width: 37.76042vw;
		height: 7.8125vw;
		font-size: 2.08333vw;
	}

	/* Header: top bar + dropdown menu
	   ---------------------------------------------------------------------- */

	.sidebar {
		top: 1.30208vw;
		z-index: 50;
		flex: none;
		gap: 0;
		width: auto;
		height: auto;
	}

	.sidebar__top {
		flex: none;
		justify-content: flex-start;
		height: 10.41667vw;
		padding: 0 4.42708vw;
		border-radius: 2.08333vw;
	}

	.sidebar__logo img {
		width: 14.97396vw !important;
		height: 4.16667vw !important;
	}

	.messengers {
		margin-left: 7.8125vw;
	}

	.messengers__link {
		width: 6.25vw;
		height: 6.25vw;
		border-radius: 1.5625vw;
	}

	.messengers__link img {
		inset: auto;
		top: 50%;
		left: 50%;
		width: 5.20833vw;
		height: 5.20833vw;
		transform: translate(-50%, -50%);
	}

	.lang-switch {
		display: flex;
		margin-left: 4.29688vw;
	}

	.lang-switch__item {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 6.25vw;
		height: 6.25vw;
		border: 1px solid var(--color-blue);
		border-radius: 1.5625vw;
		color: var(--color-blue);
		font-size: 1.82292vw;
		font-weight: 600;
		transition: background-color 0.3s var(--ease), color 0.3s var(--ease);
	}

	.lang-switch__item:hover {
		background: var(--color-light);
	}

	.lang-switch__item.is-active {
		background: var(--color-blue);
		color: var(--color-white);
	}

	.menu-btn {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 20.18229vw;
		height: 6.25vw;
		margin-left: auto;
		padding: 0 2.47396vw;
		border: 1px solid var(--color-border);
		border-radius: 1.5625vw;
		color: var(--color-blue);
		font-size: 1.82292vw;
		font-weight: 600;
		text-transform: uppercase;
		transition: border-color 0.3s var(--ease), background-color 0.3s var(--ease);
	}

	.menu-btn:hover {
		border-color: var(--color-blue);
	}

	.menu-btn__icon {
		position: relative;
		width: 4.16667vw;
		height: 4.16667vw;
	}

	.menu-btn__icon i {
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.26042vw;
		background: currentColor;
		transition: transform 0.3s var(--ease);
	}

	.menu-btn__icon i:first-child {
		top: 1.5625vw;
	}

	.menu-btn__icon i:last-child {
		top: 2.34375vw;
	}

	.sidebar.is-menu-open .menu-btn__icon i:first-child {
		transform: translateY(0.39062vw) rotate(45deg);
	}

	.sidebar.is-menu-open .menu-btn__icon i:last-child {
		transform: translateY(-0.39062vw) rotate(-45deg);
	}

	/* Menu content is not in the design: keeps the desktop sizes */
	.sidebar__body {
		position: absolute;
		top: calc(100% + 1.30208vw);
		left: 0;
		right: 0;
		max-height: calc(100vh - 14.32292vw);
		overflow-y: auto;
		box-shadow: 0 20px 40px rgba(4, 12, 33, 0.12);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-10px);
		transition: opacity 0.3s var(--ease), transform 0.3s var(--ease), visibility 0.3s;
	}

	.sidebar.is-menu-open .sidebar__body {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.sidebar__body {
		padding: 2.60417vw;
		border-radius: 2.08333vw;
	}

	.sidebar__label {
		padding-bottom: 1.95312vw;
		font-size: 1.82292vw;
	}

	.nav {
		gap: 1.30208vw;
		padding: 1.95312vw 0;
	}

	.nav__link {
		gap: 1.95312vw;
		font-size: 2.08333vw;
	}

	.nav__icon {
		flex-basis: 6.25vw;
		width: 6.25vw;
		height: 6.25vw;
		border-radius: 1.5625vw;
	}

	.nav__icon img {
		width: 6.25vw;
		height: 6.25vw;
	}

	.nav-dropdown {
		padding-top: 1.82292vw;
	}

	.nav-dropdown__toggle {
		width: 100%;
	}

	.nav-dropdown__arrow {
		width: 2.60417vw;
		height: 2.60417vw;
	}

	.nav-dropdown__list {
		gap: 1.5625vw;
		padding-left: 8.20312vw;
	}

	.nav-dropdown__list li:first-child {
		padding-top: 1.5625vw;
	}

	.nav-dropdown__link {
		font-size: 1.95312vw;
	}

	.callback-btn {
		flex-basis: 7.8125vw;
		gap: 2.60417vw;
		height: 7.8125vw;
		margin-top: 2.60417vw;
		font-size: 2.08333vw;
	}

	.callback-btn img {
		width: 2.08333vw;
		height: 2.08333vw;
	}

	.sidebar__nav {
		flex: none;
		margin-right: 0;
		padding-right: 0;
		overflow: visible;
	}

	/* Hero + stats
	   ---------------------------------------------------------------------- */

	.first-screen {
		gap: 1.30208vw;
		height: auto;
		min-height: 0;
	}

	.hero {
		display: block;
		flex: none;
	}

	.hero__main {
		height: 85.15625vw;
		border-radius: 2.08333vw;
	}

	.hero__side,
	.hero__bar,
	.avatars {
		display: none;
	}

	.hero__content {
		gap: 2.60417vw;
		padding: 11.71875vw 4.42708vw 10.41667vw;
	}

	.hero__heading {
		gap: 2.60417vw;
	}

	.hero__title {
		font-size: 7.29167vw;
	}

	.hero__bottom {
		flex-direction: column-reverse;
		gap: 5.20833vw;
	}

	.hero__text {
		flex: none;
		width: 50.39062vw;
		margin-top: 0;
		font-size: 2.08333vw;
		line-height: 2.86458vw;
	}

	.hero__btn {
		flex: none;
		width: 42.96875vw;
	}

	.hero__person {
		 left: 55.95312vw;
        width: 42.44271vw;
        height: 58.59375vw;
        object-fit: cover;
        object-position: 50% 20%;
	}

	.stats {
		flex: none;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.30208vw;
	}

	.stats__item {
		height: 15.625vw;
		padding: 0 3.90625vw 0 4.55729vw;
		border-radius: 2.08333vw;
	}

	.stats__value {
		font-size: 4.16667vw;
	}

	.stats__label {
		font-size: 2.08333vw;
	}

	.stats__icon {
		flex-basis: 7.8125vw;
		width: 7.8125vw;
		height: 7.8125vw;
		border-radius: 1.5625vw;
	}

	.stats__icon .img {
		width: 3.90625vw !important;
		height: 3.90625vw !important;
	}

	/* Sections
	   ---------------------------------------------------------------------- */

	.section {
		padding: 10.41667vw 4.42708vw;
		border-radius: 2.08333vw;
	}

	.section__head {
		gap: 2.60417vw;
	}

	.section__title {
		font-size: 6.25vw;
	}

	.section__text {
		margin-top: 5.20833vw;
		font-size: 2.08333vw;
		line-height: 2.86458vw;
	}

	/* Services: tabs → accordion */
	.services .section__text {
		width: 75.26042vw;
	}

	.services__body {
		margin-top: 7.8125vw;
	}

	.services__tabs {
		gap: 0.65104vw;
		width: auto;
	}

	.services__tab {
		gap: 2.60417vw;
		padding: 1.17188vw 3.77604vw 1.17188vw 1.17188vw;
		border-radius: 2.08333vw;
		font-size: 3.125vw;
		white-space: nowrap;
	}

	.services__icon {
		flex-basis: 7.8125vw;
		width: 7.8125vw;
		height: 7.8125vw;
		border-radius: 1.5625vw;
	}

	.services__icon .img {
		width: 3.90625vw !important;
		height: 3.90625vw !important;
	}

	.services__chevron,
	.services__tab:hover .services__chevron {
		width: 2.60417vw;
		height: 2.60417vw;
		transform: rotate(90deg);
	}

	.services__tab.is-active .services__chevron {
		color: var(--accent);
		transform: rotate(-90deg);
	}

	.services__panel {
		position: static;
		display: none;
		width: auto;
		height: 50vw;
		padding: 5.07812vw;
		border-radius: 2.08333vw;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}

	.services__panel.is-active {
		display: flex;
		animation: fade-in 0.4s var(--ease);
	}

	.services__panel-head {
		display: none;
	}

	.services__lead {
		width: 78.77604vw;
		margin-top: 0;
		font-size: 2.60417vw;
	}

	.services__text {
		width: 78.77604vw;
		margin-top: 2.60417vw;
		font-size: 2.08333vw;
		line-height: 2.86458vw;
	}

	.services__buttons {
		gap: 2.60417vw;
	}

	.photo {
		height: 62.5vw;
		border-radius: 2.08333vw;
	}

	/* CTA */
	.cta {
		flex-direction: column;
		align-items: stretch;
		height: 35.9375vw;
		padding: 5.20833vw 4.42708vw;
		border-radius: 2.08333vw;
	}

	.cta__title {
		width: 68.09896vw;
		margin-top: 0;
		font-size: 4.16667vw;
	}

	.cta__btn {
		flex: none;
		width: 100%;
	}

	/* Advantages */
	.advantages__list {
		margin-top: 7.8125vw;
	}

	.advantages__item {
		gap: 2.60417vw;
	}

	.advantages__item + .advantages__item {
		margin-top: 5.20833vw;
		padding-top: 5.07812vw;
	}

	.advantages__num {
		flex-basis: 5.20833vw;
		font-size: 1.82292vw;
	}

	.advantages__title {
		flex-basis: 35.15625vw;
		font-size: 3.125vw;
	}

	.advantages__text {
		width: 42.96875vw !important;
		font-size: 1.82292vw;
		line-height: 2.60417vw;
	}

	/* Not in the tablet design */
	.directions {
		display: none;
	}

	/* Sliders (steps, team)
	   ---------------------------------------------------------------------- */

	[data-slider-track] {
		transition: transform 0.5s var(--ease);
		touch-action: pan-y;
	}

	.slider-nav {
		position: absolute;
		left: 4.42708vw;
		right: 4.42708vw;
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 3.125vw;
	}

	.slider-nav--mobile {
		display: none;
	}

	.slider-nav__dots {
		display: flex;
		gap: 1.04167vw;
	}

	.slider-nav__dot {
		width: 1.04167vw;
		height: 1.04167vw;
		border-radius: 50%;
		background: var(--color-border);
		transition: background-color 0.3s var(--ease);
	}

	.slider-nav__dot.is-active {
		background: var(--color-blue);
	}

	.slider-nav__arrows {
		display: flex;
		gap: 2.21354vw;
	}

	.slider-nav__arrow {
		width: 3.125vw;
		height: 3.125vw;
		color: var(--color-blue);
		transition: opacity 0.3s var(--ease);
	}

	.slider-nav__arrow svg {
		display: block;
		width: 100%;
		height: 100%;
	}

	.slider-nav__arrow--prev svg {
		transform: rotate(180deg);
	}

	.slider-nav__arrow:disabled {
		opacity: 0.3;
		cursor: default;
	}

	.slider-nav--dark .slider-nav__dot {
		background: rgba(255, 255, 255, 0.25);
	}

	.slider-nav--dark .slider-nav__dot.is-active {
		background: var(--color-white);
	}

	.slider-nav--dark .slider-nav__arrow {
		color: var(--color-white);
	}

	/* Steps */
	.steps {
		--design: 768;
		position: relative;
		height: 89.84375vw;
		padding: 10.41667vw 4.42708vw 0;
		overflow: hidden;
	}

	.steps .slider-nav {
		bottom: 10.54688vw;
	}

	.steps__intro {
		width: 53.125vw;
		margin-top: 5.20833vw;
		font-size: 2.08333vw;
		line-height: 2.86458vw;
	}

	.steps__body {
		margin-top: 5.20833vw;
	}

	.steps__inner {
		position: relative;
		width: max-content;
	}

	.steps__track {
		top: 3.125vw;
		width: 141.01562vw;
	}

	.steps__fill {
		width: 100%;
		transition: transform 0.5s var(--ease);
	}

	.steps__list {
		grid-template-columns: repeat(4, 42.96875vw);
		gap: 2.60417vw;
	}

	.steps__icon {
		width: 7.32878vw;
		height: 7.32878vw;
		margin-left: 0.63281vw;
		border-radius: 1.5625vw;
	}

	.steps__icon .mask-icon {
		width: 3.66432vw !important;
		height: 3.66432vw !important;
	}

	.steps__item.is-active .steps__icon {
		border-width: 0.52083vw;
	}

	.steps__title {
		width: 42.96875vw;
		margin-top: 2.82747vw;
		font-size: 3.125vw;
	}

	.steps__text,
	.steps__note {
		font-size: 1.82292vw;
		line-height: 2.60417vw;
	}

	.steps__text {
		margin-top: 1.97917vw;
	}

	.steps__note {
		margin-top: 1.95312vw;
	}

	/* Team */
	.team {
		position: relative;
		height: 93.75vw;
		padding: 10.41667vw 4.42708vw 0;
		overflow: hidden;
	}

	.team .slider-nav {
		bottom: 10.15625vw;
	}

	.team__list {
		display: flex;
		gap: 2.60417vw;
		width: max-content;
		margin-top: 7.94271vw;
	}

	.team__item {
		flex: 0 0 31.25vw;
	}

	.team__photo {
		width: 31.25vw;
		height: 31.25vw;
		border-radius: 2.08333vw;
	}

	.team__name {
		margin-top: 2.60417vw;
		font-size: 3.125vw;
	}

	.team__role {
		width: 28.64583vw;
		margin-top: 0.65104vw;
		font-size: 1.82292vw;
		line-height: 2.60417vw;
	}

	/* FAQ: one column, items in the design order */
	.faq {
		padding-bottom: 10.41667vw;
	}

	.faq__grid {
		flex-direction: column;
		align-items: stretch;
		gap: 1.30208vw;
		margin-top: 7.8125vw;
	}

	.faq__column {
		display: contents;
	}

	.faq__column:first-child .faq__item:nth-child(1) { order: 1; }
	.faq__column:last-child .faq__item:nth-child(1) { order: 2; }
	.faq__column:first-child .faq__item:nth-child(2) { order: 3; }
	.faq__column:last-child .faq__item:nth-child(2) { order: 4; }
	.faq__column:first-child .faq__item:nth-child(3) { order: 5; }
	.faq__column:last-child .faq__item:nth-child(3) { order: 6; }

	.faq__item {
		border-radius: 2.08333vw;
	}

	.faq__question {
		gap: 2.60417vw;
		min-height: 15.625vw;
		padding: 2.08333vw 5.20833vw 2.08333vw 3.90625vw;
		font-size: 3.125vw;
	}

	.faq__arrow {
		flex-basis: 3.125vw;
		width: 3.125vw;
		height: 3.125vw;
	}

	.faq__answer p {
		padding: 0 5.20833vw 3.90625vw 3.90625vw;
		font-size: 2.08333vw;
		line-height: 2.86458vw;
	}

	/* Contact: one card, person on the right */
	.contact {
		display: block;
		height: 96.35417vw;
	}

	.contact__image {
		display: none;
	}

	.contact__form-wrap {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 100%;
		padding: 0 4.42708vw;
		border-radius: 2.08333vw;
	}

	.contact__person {
	    position: absolute;
        right: -18vw;
        bottom: 0;
        display: block;
        width: 65.39583vw;
        height: 91.14583vw;
        object-fit: cover;
        object-position: 30% 0;
        pointer-events: none;
	}

	.contact__text {
		width: 30.72917vw;
		margin-top: 2.60417vw;
		font-size: 2.08333vw;
		line-height: 2.86458vw;
	}

	.contact__form {
		position: relative;
		z-index: 1;
		gap: 1.30208vw;
		margin-top: 7.8125vw;
	}

	.input {
		width: 42.96875vw;
		height: 10.41667vw;
		padding: 0 5.20833vw;
		font-size: 2.08333vw;
	}

	.contact__btn {
		width: 42.96875vw;
		margin-top: 3.90625vw;
	}

	.contact__policy {
		width: 31.77083vw;
		margin-top: 3.90625vw;
		font-size: 1.82292vw;
		line-height: 2.60417vw;
	}

	/* Footer
	   ---------------------------------------------------------------------- */

	.footer {
		gap: 5.20833vw;
		margin-top: 1.30208vw;
		padding: 5.20833vw 4.42708vw 6.51042vw;
		border-radius: 2.08333vw;
	}

	.footer__top {
		grid-template-columns: 50.78125vw 1fr;
		grid-template-rows: auto 0 auto;
		row-gap: 5.20833vw;
	}

	.footer__top::before {
		content: '';
		grid-row: 2;
		grid-column: 1 / -1;
		align-self: start;
		height: 1px;
		background: rgba(255, 255, 255, 0.1);
	}

	.footer__email-wrap {
		grid-row: 1;
		grid-column: 1;
	}

	.footer__address {
		grid-row: 1;
		grid-column: 2;
		padding-left: 1.30208vw;
	}

	.footer__contacts {
		display: contents;
	}

	.footer__messengers {
		grid-row: 3;
		grid-column: 1;
	}

	.footer__phone {
		grid-row: 3;
		grid-column: 2;
		width: 29.42708vw;
		margin-top: 0;
		font-size: 2.60417vw;
	}

	.footer__caption {
		padding-top: 0;
		font-size: 1.82292vw;
		line-height: 2.21354vw;
	}

	.footer__email {
		margin-top: 1.30208vw;
		font-size: 5.20833vw;
	}

	.footer__address-text {
		width: 29.94792vw;
		margin-top: 1.30208vw;
		font-size: 2.60417vw;
	}

	.footer__icon-link {
		flex-basis: 5.20833vw;
		width: 5.20833vw;
		height: 5.20833vw;
		border-radius: 1.5625vw;
	}

	.footer__icon-link .img {
		width: 2.08333vw !important;
		height: 2.08333vw !important;
	}

	.footer__icon-link > img[width="40"] {
		width: 5.20833vw;
		height: 5.20833vw;
	}

	.footer__divider {
		margin-bottom: -1px;
	}

	.footer__menus {
		grid-template-columns: 50.78125vw 37.76042vw;
		justify-content: start;
		row-gap: 5.20833vw;
	}

	.footer__menu-title {
		font-size: 1.82292vw;
	}

	.footer__links {
		gap: 1.95312vw;
		margin-top: 3.93229vw;
		font-size: 2.34375vw;
		line-height: 2.86458vw;
	}

	.footer__bottom {
		display: grid;
		grid-template-columns: 50.78125vw 1fr;
		grid-template-rows: 4.16667vw auto;
		row-gap: 2.60417vw;
		height: auto;
		font-size: 1.82292vw;
	}

	.footer__bottom > * {
		position: static;
	}

	.footer__logo {
		grid-row: 1;
		grid-column: 1;
	}

	.footer__logo .img {
		width: 14.97396vw !important;
		height: 4.16667vw !important;
	}

	.footer__copy {
		grid-row: 2;
		grid-column: 1;
		line-height: 2.21354vw;
	}

	.footer__dev {
		grid-row: 1;
		grid-column: 2;
	}

	.footer__dev-text {
		display: none;
	}

	.footer__dev-logo {
		display: block;
	}

	.footer__dev-logo .img {
		width: 23.56771vw !important;
		height: 4.16667vw !important;
	}

	.footer__policy {
		grid-row: 2;
		grid-column: 2;
		line-height: 2.21354vw;
	}

	/* Design quirks of the tablet layout */
	.team__item:first-child .team__role {
		line-height: 2.21354vw;
	}

	.footer__menu:nth-child(3) li:nth-child(3) {
		font-size: 2.60417vw;
		line-height: 3.125vw;
	}

	/* Menu (open): card under the button, as in the design
	   ---------------------------------------------------------------------- */

	.sidebar.is-menu-open .menu-btn {
		background: var(--color-light);
	}

	.sidebar.is-menu-open .menu-btn__icon i {
		left: 0.78125vw;
		width: 2.60417vw;
	}

	.menu-btn__icon i {
		transition: transform 0.3s var(--ease), width 0.3s var(--ease), left 0.3s var(--ease);
	}

	.sidebar__body {
		top: 9.63542vw;
		left: auto;
		right: 4.42708vw;
		width: 42.96875vw;
		min-height: 77.60417vw;
		max-height: calc(100vh - 12.23958vw);
		padding: 3.90625vw;
		box-shadow: 0 2.60417vw 6.51042vw rgba(0, 0, 0, 0.25);
	}

	.sidebar__label {
		display: none;
	}

	.nav {
		padding-top: 0;
	}

	.sidebar__nav {
		margin-bottom: 7.8125vw;
	}

	.callback-btn {
		margin-top: auto;
	}
}

/* ==========================================================================
   Mobile: ≤767px. Design width 390, all sizes in vw (px / 390 * 100)
   ========================================================================== */

@media (max-width: 767px) {
	br[class*="br-"]:not(.br-m) {
		display: none;
	}

	br[class*="br-"].br-m {
		display: revert;
	}

	.site {
		gap: 2.5641vw;
		padding: 2.5641vw;
	}

	.main {
		gap: 2.5641vw;
	}

	.tag {
		gap: 2.5641vw;
		font-size: 3.58974vw;
	}

	.tag::before {
		flex-basis: 1.53846vw;
		width: 1.53846vw;
		height: 1.53846vw;
	}

	.btn {
		height: 20.51282vw;
		padding: 0 6.15385vw 0 8.20513vw;
		font-size: 4.61538vw;
	}

	.btn__arrow {
		flex-basis: 8.20513vw;
		width: 8.20513vw;
		height: 8.20513vw;
	}

	.btn--yellow::before {
		border-width: 1.02564vw;
	}

	.btn--small {
		width: 74.35897vw;
		height: 15.38462vw;
		padding: 0 4.10256vw 0 6.15385vw;
		font-size: 4.10256vw;
	}

	.btn--small::before {
		border-width: 1px;
	}

	.btn--small .btn__arrow {
		flex-basis: 6.15385vw;
		width: 6.15385vw;
		height: 6.15385vw;
	}

	.btn-outline {
		width: 74.35897vw;
		height: 15.38462vw;
		font-size: 4.10256vw;
	}

	/* Header: logo, call, burger
	---------------------------------------------------------------------- */

	.sidebar {
		top: 2.5641vw;
	}

	.sidebar__top {
		height: 20.51282vw;
		padding: 0 5.12821vw;
		border-radius: 4.10256vw;
	}

	.sidebar__logo img {
		width: 29.48718vw !important;
		height: 8.20513vw !important;
	}

	.messengers,
	.lang-switch {
		display: none;
	}

	.header-call {
		display: block;
		width: 10.25641vw;
		height: 10.25641vw;
		margin-left: auto;
		border-radius: 3.07692vw;
		background: var(--color-blue);
		transition: background-color 0.3s var(--ease);
	}

	.header-call:hover {
		background: #0b3f7c;
	}

	.header-call img {
		width: 10.25641vw;
		height: 10.25641vw;
	}

	.menu-btn {
		justify-content: center;
		width: 15.38462vw;
		height: 10.25641vw;
		margin-left: 2.5641vw;
		padding: 0;
		border-radius: 3.07692vw;
	}

	.menu-btn__text {
		display: none;
	}

	.menu-btn__icon {
		width: 8.20513vw;
		height: 8.20513vw;
	}

	.menu-btn__icon i {
		height: 0.51282vw;
	}

	.menu-btn__icon i:first-child {
		top: 3.07692vw;
	}

	.menu-btn__icon i:last-child {
		top: 4.61538vw;
	}

	.sidebar.is-menu-open .menu-btn__icon i:first-child {
		transform: translateY(0.76923vw) rotate(45deg);
	}

	.sidebar.is-menu-open .menu-btn__icon i:last-child {
		transform: translateY(-0.76923vw) rotate(-45deg);
	}

	.sidebar__body {
		top: calc(100% + 2.5641vw);
		max-height: calc(100vh - 28.20513vw);
		padding: 5.12821vw;
		border-radius: 4.10256vw;
	}

	.sidebar__label {
		padding-bottom: 3.84615vw;
		font-size: 3.58974vw;
	}

	.nav {
		gap: 2.5641vw;
		padding: 0 0 3.84615vw;
	}

	.nav__link {
		gap: 3.84615vw;
		font-size: 4.10256vw;
	}

	.nav__icon {
		flex-basis: 12.30769vw;
		width: 12.30769vw;
		height: 12.30769vw;
		border-radius: 3.07692vw;
	}

	.nav__icon img {
		width: 12.30769vw;
		height: 12.30769vw;
	}

	.nav-dropdown {
		padding-top: 3.58974vw;
	}

	.nav-dropdown__arrow {
		width: 5.12821vw;
		height: 5.12821vw;
	}

	.nav-dropdown__list {
		gap: 3.07692vw;
		padding-left: 16.15385vw;
	}

	.nav-dropdown__list li:first-child {
		padding-top: 3.07692vw;
	}

	.nav-dropdown__link {
		font-size: 3.84615vw;
	}

	.callback-btn {
		flex-basis: 15.38462vw;
		gap: 5.12821vw;
		height: 15.38462vw;
		margin-top: 5.12821vw;
		font-size: 4.10256vw;
	}

	.callback-btn img {
		width: 4.10256vw;
		height: 4.10256vw;
	}

	/* Hero: heading, text, avatars, button
	---------------------------------------------------------------------- */

	/* Photo sits between the background and the content: the card is drawn by .hero */
	.hero {
		overflow: hidden;
		border-radius: 4.10256vw;
		background: var(--color-blue);
		isolation: isolate;
		animation: fade-in 0.8s var(--ease) both;
	}

	/* An animation here would create a stacking context and put the photo over the content */
	.hero__main {
		height: 148.71795vw;
		background: none;
		isolation: auto;
	}

	.hero .hero__main {
		animation: none;
	}

	.hero__content {
		position: relative;
		z-index: 2;
	}

	.hero__content {
		justify-content: flex-start;
		gap: 0;
		padding: 10.25641vw 5.12821vw 5.12821vw;
	}

	.hero__heading {
		order: 1;
		gap: 5.12821vw;
	}

	.hero__title {
		font-size: 7.69231vw;
	}

	.hero__bottom {
		display: contents;
	}

	.hero__text {
		order: 2;
		width: 81.53846vw;
		margin-top: 10.25641vw;
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	.avatars {
		display: flex;
		order: 3;
		width: 46.15385vw;
		height: 20.51282vw;
		margin-top: auto;
		padding: 2.30769vw;
	}

	.avatars__item {
		width: 15.38462vw;
		height: 15.38462vw;
	}

	.avatars__item + .avatars__item {
		margin-left: -2.5641vw;
	}

	.avatars__item:nth-child(n + 4) {
		display: none;
	}

	.hero__btn {
		order: 4;
		width: 84.61538vw;
		margin-top: 7.69231vw;
	}

	.hero__person {
		 z-index: 1;
        left: inherit;
        right: -13vw;
        width: 71.25641vw;
        height: 100vw;
        object-position: 50% 10%;
	}

	.first-screen {
		gap: 2.5641vw;
	}

	.stats {
		gap: 2.5641vw;
	}

	.stats__item {
		height: auto;
		padding: 2.82051vw 5.12821vw;
		border-radius: 4.10256vw;
	}

	.stats__value {
		font-size: 7.17949vw;
		line-height: 8.71795vw;
	}

	.stats__label {
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	.stats__icon {
		flex-basis: 7.69231vw;
		width: 7.69231vw;
		height: 7.69231vw;
		border-radius: 0;
		background: none;
	}

	.stats__icon .img {
		width: 7.69231vw !important;
		height: 7.69231vw !important;
	}

	/* Sections
	---------------------------------------------------------------------- */

	.section {
		padding: 10.25641vw 5.12821vw;
	}

	.section__head {
		gap: 5.12821vw;
	}

	.section__title {
		font-size: 8.20513vw;
	}

	.section__text {
		margin-top: 10.25641vw;
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	.photo {
		height: 61.53846vw;
	}

	/* Services */
	.services .section__text {
		width: 82.30769vw;
	}

	.services__body {
		margin-top: 10.25641vw;
	}

	.services__tabs {
		gap: 1.28205vw;
	}

	.services__tab {
		gap: 5.12821vw;
		padding: 2.30769vw 7.4359vw 2.30769vw 2.30769vw;
		font-size: 4.10256vw;
		white-space: normal;
		line-height: 4.87179vw;
	}

	.services__icon {
		flex-basis: 15.38462vw;
		width: 15.38462vw;
		height: 15.38462vw;
		border-radius: 3.07692vw;
	}

	.services__icon .img {
		width: 7.69231vw !important;
		height: 7.69231vw !important;
	}

	.services__chevron,
	.services__tab:hover .services__chevron {
		width: 5.12821vw;
		height: 5.12821vw;
	}

	.services__panel {
		height: 120.51282vw;
		padding: 4.87179vw;
	}

	.services__lead {
		width: auto;
		font-size: 4.61538vw;
		line-height: 6.41026vw;
	}

	.services__text {
		width: auto;
		margin-top: 5.12821vw;
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	.services__buttons {
		flex-direction: column-reverse;
		gap: 2.5641vw;
	}

	/* CTA */
	.cta {
		gap: 10.25641vw;
		height: auto;
		padding: 10.25641vw 5.12821vw 10.51282vw;
	}

	.cta__title {
		width: 84.61538vw;
		font-size: 8.20513vw;
		line-height: 9.74359vw;
	}

	/* Sliders */
	.slider-nav {
		left: 5.12821vw;
		right: 5.12821vw;
		height: 6.15385vw;
	}

	.slider-nav--mobile {
		display: flex;
	}

	.slider-nav__dots {
		gap: 2.05128vw;
	}

	.slider-nav__dot {
		width: 2.05128vw;
		height: 2.05128vw;
	}

	.slider-nav__arrows {
		gap: 4.35897vw;
	}

	.slider-nav__arrow {
		width: 6.15385vw;
		height: 6.15385vw;
	}

	/* Advantages: card slider */
	.advantages {
		position: relative;
		padding-bottom: 26.92308vw;
		overflow: hidden;
	}

	.advantages .slider-nav {
		bottom: 10.51282vw;
	}

	.advantages__list {
		display: flex;
		gap: 2.5641vw;
		width: max-content;
		margin-top: 10.25641vw;
	}

	.advantages__item,
	.advantages__item + .advantages__item {
		flex: 0 0 71.79487vw;
		flex-direction: column;
		gap: 5.12821vw;
		height: 87.17949vw;
		margin-top: 0;
		padding: 4.87179vw;
		border: 1px solid var(--color-border);
		border-radius: 2.05128vw;
	}

	.advantages__num,
	.advantages__title {
		flex: none;
		line-height: 7.4359vw;
	}

	.advantages__num {
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	.advantages__title {
		font-size: 6.15385vw;
	}

	.advantages__text {
		width: auto !important;
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	/* Directions: three columns of six, one column per slide */
	.directions {
		position: relative;
		display: block;
		padding-bottom: 26.66667vw;
		overflow: hidden;
	}

	.directions .section__head {
		width: 73.58974vw;
	}

	.directions .slider-nav {
		bottom: 10.25641vw;
	}

	.directions__grid {
		grid-template-columns: repeat(3, 84.61538vw);
		gap: 0 5.12821vw;
		width: max-content;
		margin-top: 12.82051vw;
	}

	.directions__item {
		gap: 7.17949vw;
		height: 20.51282vw;
		padding: 0 7.4359vw 0 6.92308vw;
		border-radius: 4.10256vw;
		font-size: 4.10256vw;
		line-height: 5.64103vw;
	}

	.directions__icon {
		flex-basis: 6.15385vw;
		width: 6.15385vw !important;
		height: 6.15385vw !important;
	}

	/* Steps: one step per slide */
	.steps {
		--design: 390;
		height: 145.38462vw;
		padding: 10.25641vw 5.12821vw 0;
	}

	.steps .slider-nav {
		bottom: 10.25641vw;
		left: 5.64103vw;
		right: 4.61538vw;
	}

	.steps__intro {
		width: auto;
		margin-top: 10.25641vw;
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	.steps__body {
		margin-top: 10.25641vw;
	}

	.steps__track {
		top: 6.15385vw;
		width: 236.66667vw;
	}

	.steps__list {
		grid-template-columns: repeat(4, 61.53846vw);
		gap: 15.38462vw;
	}

	.steps__icon {
		width: 12.30769vw;
		height: 12.30769vw;
		margin-left: 0;
		border-radius: 3.07692vw;
	}

	.steps__icon .mask-icon {
		width: 6.15385vw !important;
		height: 6.15385vw !important;
	}

	.steps__item.is-active .steps__icon {
		border-width: 1.02564vw;
	}

	.steps__title {
		width: 61.53846vw;
		margin-top: 7.69231vw;
		font-size: 6.15385vw;
		line-height: 7.4359vw;
	}

	.steps__text,
	.steps__note {
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	.steps__text {
		width: 61.53846vw;
		margin-top: 3.89744vw;
		white-space: normal;
	}

	.steps__note {
		margin-top: 3.84615vw;
	}

	/* Team: 2 × 2 grid, no slider */
	.team {
		height: auto;
		padding: 10.25641vw 5.12821vw;
		overflow: visible;
	}

	.team .slider-nav {
		display: none;
	}

	.team__list {
		display: grid;
		grid-template-columns: repeat(2, 41.02564vw);
		gap: 10.25641vw 2.5641vw;
		width: auto;
		margin-top: 10.25641vw;
	}

	.team__item {
		flex: none;
	}

	.team__photo {
		width: 41.02564vw;
		height: 41.02564vw;
		border-radius: 4.10256vw;
	}

	.team__name {
		margin-top: 5.12821vw;
		font-size: 6.15385vw;
		line-height: 7.4359vw;
	}

	.team__role {
		width: 41.02564vw;
		margin-top: 2.5641vw;
		font-size: 3.07692vw;
		line-height: 4.35897vw;
	}

	.team__item:nth-child(1) .team__role {
		width: 37.94872vw;
	}

	.team__item:nth-child(4) .team__role {
		width: 35.64103vw;
	}

	/* FAQ */
	.faq {
		padding-bottom: 10.25641vw;
	}

	.faq__grid {
		gap: 2.5641vw;
		margin-top: 10.25641vw;
	}

	.faq__question {
		min-height: 30.76923vw;
		padding: 4.10256vw 10.25641vw 4.10256vw 7.69231vw;
		font-size: 5.12821vw;
		line-height: 6.15385vw;
		gap: 0;
	}

	.faq__arrow {
		flex-basis: 6.15385vw;
		width: 6.15385vw;
		height: 6.15385vw;
	}

	.faq__answer p {
		padding: 0 10.25641vw 7.69231vw 7.69231vw;
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	/* Contact: form only */
	.contact {
		height: 164.10256vw;
	}

	.contact__form-wrap {
		padding: 0 5.12821vw;
	}

	.contact__person {
		display: none;
	}

	.contact__text {
		width: 60.51282vw;
		margin-top: 5.12821vw;
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	.contact__form {
		gap: 2.5641vw;
		margin-top: 10.25641vw;
	}

	.input {
		width: 84.61538vw;
		height: 20.51282vw;
		padding: 0 10.25641vw;
		font-size: 4.10256vw;
	}

	.contact__btn {
		width: 84.61538vw;
		margin-top: 7.69231vw;
	}

	.contact__policy {
		width: 84.61538vw;
		margin-top: 7.69231vw;
		font-size: 3.58974vw;
		line-height: 5.12821vw;
	}

	/* Footer: one column
	---------------------------------------------------------------------- */

	.footer {
		gap: 7.69231vw;
		margin-top: 2.5641vw;
		padding: 10.25641vw 5.12821vw;
	}

	.footer__top {
		display: flex;
		flex-direction: column;
		gap: 7.69231vw;
	}

	.footer__top::before {
		display: none;
	}

	.footer__address {
		padding-left: 0;
	}

	.footer__caption {
		font-size: 3.58974vw;
		line-height: 4.35897vw;
	}

	.footer__email {
		margin-top: 2.5641vw;
		font-size: 10.25641vw;
		line-height: 12.30769vw;
	}

	.footer__address-text {
		width: 58.97436vw;
		margin-top: 2.5641vw;
		font-size: 5.12821vw;
		line-height: 6.15385vw;
	}

	.footer__phone {
		width: 57.94872vw;
		font-size: 5.12821vw;
	}

	.footer__icon-link {
		flex-basis: 10.25641vw;
		width: 10.25641vw;
		height: 10.25641vw;
		border-radius: 3.07692vw;
	}

	.footer__icon-link .img {
		width: 4.10256vw !important;
		height: 4.10256vw !important;
	}

	.footer__icon-link > img[width="40"] {
		width: 10.25641vw;
		height: 10.25641vw;
	}

	.footer__menus {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	/* Lines between menus take no height in the design */
	.footer__menu + .footer__menu {
		margin-top: 7.69231vw;
		padding-top: calc(7.69231vw - 1px);
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}

	.footer__menu-title {
		font-size: 3.58974vw;
		line-height: 4.35897vw;
	}

	.footer__links {
		gap: 2.5641vw;
		margin-top: 5.12821vw;
		font-size: 5.12821vw;
		line-height: 6.15385vw;
	}

	.footer__menu:nth-child(-n + 2) .footer__links {
		font-weight: 400;
	}

	.footer__bottom {
		grid-template-columns: 1fr auto;
		grid-template-rows: 8.20513vw auto auto;
		row-gap: 7.69231vw;
	}

	.footer__logo {
		grid-row: 1;
		grid-column: 1;
	}

	.footer__logo .img {
		width: 29.48718vw !important;
		height: 8.20513vw !important;
	}

	.footer__dev {
		grid-row: 1;
		grid-column: 2;
	}

	.footer__dev-logo .img {
		width: 46.41026vw !important;
		height: 8.20513vw !important;
	}

	.footer__policy {
		grid-row: 2;
		grid-column: 1 / -1;
		justify-self: start;
	}

	.footer__copy {
		grid-row: 3;
		grid-column: 1 / -1;
	}

	.footer__copy,
	.footer__policy {
		font-size: 3.58974vw;
		line-height: 4.35897vw;
	}

	/* The second CTA has 1px less bottom padding in the design */
	.cta ~ .cta {
		padding-bottom: 10.25641vw;
	}

	/* In the design these two tags have an 8px dot */
	.faq .tag::before,
	.contact .tag::before {
		flex-basis: 2.05128vw;
		width: 2.05128vw;
		height: 2.05128vw;
	}

	/* First team card differs in the design: 20px name, 1.2 line height for the role */
	.team__item:first-child .team__name {
		font-size: 5.12821vw;
		line-height: 6.15385vw;
	}

	.team__item:first-child .team__role {
		line-height: 3.58974vw;
	}

	/* Reset the tablet-only quirk */
	.footer__menu:nth-child(3) li:nth-child(3) {
		font-size: inherit;
		line-height: inherit;
	}

	/* No mobile menu design yet: full-width card under the header */
	.sidebar__body {
		left: 0;
		right: 0;
		width: auto;
		min-height: 0;
	}

	.sidebar__nav {
		margin-bottom: 0;
	}

	.sidebar.is-menu-open .menu-btn__icon i {
		left: 1.53846vw;
		width: 5.12821vw;
	}

	/* Menu (open), as in the mobile design
	   ---------------------------------------------------------------------- */

	.sidebar__body {
		padding: 5.12821vw 5.12821vw 6.92308vw;
		box-shadow: 0 5.12821vw 12.82051vw rgba(0, 0, 0, 0.25);
	}

	.nav-dropdown {
		padding-bottom: 3.58974vw;
		border-bottom: 1px solid var(--color-divider);
	}

	.menu-extra {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 10.25641vw 0;
	}

	.menu-extra .messengers,
	.menu-extra .lang-switch {
		display: flex;
		margin: 0;
	}

	.menu-extra .messengers__link,
	.menu-extra .lang-switch__item {
		width: 12.30769vw;
		height: 12.30769vw;
		border-radius: 3.07692vw;
	}

	.menu-extra .messengers__link img {
		width: 10.25641vw;
		height: 10.25641vw;
	}

	.menu-extra .lang-switch__item {
		font-size: 3.58974vw;
	}

	.callback-btn {
		margin-top: 0;
	}
}

/* ==========================================================================
   Animations
   ========================================================================== */

@keyframes fade-up {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
}

@keyframes fade-in {
	from {
		opacity: 0;
	}
}

.hero__bar,
.lang,
.hero__heading,
.avatars,
.hero__bottom,
.hero__person,
.stats__item {
	animation: fade-up 0.9s var(--ease) both;
}

.hero__main,
.hero__side {
	animation: fade-in 0.8s var(--ease) both;
}

.hero__bar,
.lang { animation-delay: 0.15s; }
.hero__heading { animation-delay: 0.25s; }
.hero__person { animation-delay: 0.35s; }
.avatars { animation-delay: 0.4s; }
.hero__bottom { animation-delay: 0.5s; }
.stats__item:nth-child(1) { animation-delay: 0.55s; }
.stats__item:nth-child(2) { animation-delay: 0.62s; }
.stats__item:nth-child(3) { animation-delay: 0.69s; }
.stats__item:nth-child(4) { animation-delay: 0.76s; }

/* Scroll reveal for future sections: add data-animate to an element */
[data-animate] {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);
	transition-delay: var(--delay, 0s);
}

[data-animate].is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}

	[data-animate] {
		opacity: 1;
		transform: none;
	}
}
