@font-face {
	font-family: "TeX Gyre Adventor";
	src:
		url("fonts/TeXGyreAdventor-Regular.woff2") format("woff2"),
		url("fonts/TeXGyreAdventor-Regular.woff") format("woff");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

/* Contacts page */
.contacts-page {
	position: relative;
	background: #0b0d0d;
}

.page-contacts .header:not(.header--fixed) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.contacts-page__layout {
	display: grid;
	min-height: 740px;
	grid-template-columns: calc(50% + 10px) calc(50% - 10px);
}

.contacts-page__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 108px 40px 60px 60px;
}

.contacts-page__breadcrumb {
	color: #fff;
	font-size: 16px;
	line-height: 1.25;
}

.contacts-page__breadcrumb span:last-child {
	color: #848484;
}

.contacts-page__breadcrumb a {
	transition: opacity 180ms ease;
}

.contacts-page__breadcrumb a:hover,
.contacts-page__breadcrumb a:focus-visible {
	opacity: 0.65;
}

.contacts-page__content h1 {
	width: min(626px, 100%);
	margin: 70px 0 0;
	font-size: 50px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: uppercase;
}

.contacts-page__lead {
	width: min(546px, 100%);
	margin: 19px 0 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	line-height: 1.15;
}

.contacts-page__details {
	display: grid;
	justify-items: start;
	gap: 7px;
	margin: 58px 0 0 -2px;
	font-size: 18px;
	font-style: normal;
	line-height: 1.15;
}

.contacts-page__details > a {
	display: flex;
	min-height: 30px;
	align-items: center;
	gap: 20px;
	color: #ebebeb;
	transition: color 180ms ease;
}

.contacts-page__details > a:hover,
.contacts-page__details > a:focus-visible {
	color: #a1a1a1;
}

.contacts-page__icon {
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
}

.contacts-page__icon > img {
	width: 100%;
	height: 100%;
}

.contacts-page__icon--composite > img:last-child {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	transform: translate(-50%, -50%);
}

.contacts-page__icon--composite:first-child > img:last-child {
	width: 15px;
	height: 15px;
}

.contacts-page__social {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.contacts-page__media {
	position: relative;
	min-width: 0;
	min-height: 740px;
	overflow: hidden;
}

.contacts-page__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media (min-width: 1920px) {
	.contacts-page__layout {
		min-height: clamp(1015px, 52.857vw, 1353px);
	}

	.contacts-page__content {
		padding: clamp(148px, 7.714vw, 197px) clamp(55px, 2.857vw, 73px) clamp(82px, 4.286vw, 110px) var(--desktop-gutter);
	}

	.contacts-page__breadcrumb {
		font-size: clamp(19px, 1.111vw, 28px);
	}

	.contacts-page__content h1 {
		width: min(44.714vw, 1145px);
		margin-top: clamp(96px, 5vw, 128px);
		font-size: clamp(69px, 3.571vw, 91px);
	}

	.contacts-page__lead {
		width: min(39vw, 998px);
		margin-top: clamp(26px, 1.357vw, 35px);
		font-size: clamp(21px, 1.071vw, 27px);
	}

	.contacts-page__details {
		gap: clamp(10px, 0.5vw, 13px);
		margin-top: clamp(80px, 4.143vw, 106px);
		font-size: clamp(25px, 1.286vw, 33px);
	}

	.contacts-page__details > a {
		min-height: clamp(41px, 2.143vw, 55px);
		gap: clamp(27px, 1.429vw, 37px);
	}

	.contacts-page__icon {
		width: clamp(41px, 2.143vw, 55px);
		height: clamp(41px, 2.143vw, 55px);
		flex-basis: clamp(41px, 2.143vw, 55px);
	}

	.contacts-page__icon--composite > img:last-child {
		width: clamp(22px, 1.143vw, 29px);
		height: clamp(22px, 1.143vw, 29px);
	}

	.contacts-page__icon--composite:first-child > img:last-child {
		width: clamp(21px, 1.071vw, 27px);
		height: clamp(21px, 1.071vw, 27px);
	}

	.contacts-page__media {
		min-height: clamp(1015px, 52.857vw, 1353px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.contacts-page__layout {
		min-height: 680px;
		grid-template-columns: 55% 45%;
	}

	.contacts-page__content {
		padding: 100px 32px 50px;
	}

	.contacts-page__breadcrumb {
		font-size: 14px;
	}

	.contacts-page__content h1 {
		margin-top: 62px;
		font-size: clamp(34px, 4.2vw, 46px);
	}

	.contacts-page__lead {
		margin-top: 18px;
		font-size: 15px;
	}

	.contacts-page__details {
		margin-top: 48px;
		font-size: 16px;
	}

	.contacts-page__media {
		min-height: 680px;
	}
}

@media (max-width: 767px) {
	.contacts-page__layout {
		display: block;
		min-height: 0;
	}

	.contacts-page__content {
		width: 100%;
		margin: 0 auto;
		padding: 85px 10px 70px;
	}

	.contacts-page__breadcrumb {
		font-size: 12px;
	}

	.contacts-page__content h1 {
		width: 100%;
		margin-top: 40px;
		font-size: 26px;
		line-height: 1.25;
	}

	.contacts-page__lead {
		width: 100%;
		margin-top: 21px;
		font-size: 15px;
		line-height: 1.25;
	}

	.contacts-page__details {
		gap: 7px;
		margin-top: 39px;
		margin-left: 0;
		font-size: 18px;
	}

	.contacts-page__details > a {
		gap: 20px;
	}

	.contacts-page__media {
		width: 100%;
		min-height: 0;
		aspect-ratio: 375 / 340;
	}
}

:root {
	--desktop-gutter: 60px;
	--mobile-visual-height: 250px;
	--mobile-card-height: 360px;
	--mobile-gap-text-image: 20px;
	--mobile-gap-text: 15px;
	--mobile-gap-line-text: 30px;
	--mobile-section-gap: 70px;
}

@font-face {
	font-family: "TeX Gyre Adventor";
	src:
		url("fonts/TeXGyreAdventor-Italic.woff2") format("woff2"),
		url("fonts/TeXGyreAdventor-Italic.woff") format("woff");
	font-style: italic;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "TeX Gyre Adventor";
	src:
		url("fonts/TeXGyreAdventor-Bold.woff2") format("woff2"),
		url("fonts/TeXGyreAdventor-Bold.woff") format("woff");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "TeX Gyre Adventor";
	src:
		url("fonts/TeXGyreAdventor-BoldItalic.woff2") format("woff2"),
		url("fonts/TeXGyreAdventor-BoldItalic.woff") format("woff");
	font-style: italic;
	font-weight: 700;
	font-display: swap;
}

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

html {
	font-family: "TeX Gyre Adventor", Arial, sans-serif;
	background: #0b0d0d;
	color: #fff;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	min-width: 320px;
}

main {
	background: #0b0d0d;
}

body.consultation-open {
	overflow: hidden;
}

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

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

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

button {
	color: inherit;
}

.consultation-modal {
	position: fixed;
	z-index: 1000;
	inset: 0;
	display: grid;
	visibility: hidden;
	place-items: center;
	padding: 20px;
	opacity: 0;
	transition:
		opacity 220ms ease,
		visibility 220ms;
}

.consultation-modal--open {
	visibility: visible;
	opacity: 1;
}

.consultation-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(2px);
}

.consultation-modal__dialog {
	position: relative;
	z-index: 1;
	width: 525px;
	height: 440px;
	max-width: 100%;
	padding: 0;
	background: #0b0d0d;
	opacity: 0;
	transform: translateY(27.5px) scale(0.985);
	transition:
		opacity 220ms ease,
		transform 220ms ease;
}

.consultation-modal--open .consultation-modal__dialog {
	opacity: 1;
	transform: translateY(15.5px) scale(1);
}

.consultation-modal__dialog h2 {
	position: absolute;
	top: 48px;
	left: 46.5px;
	width: 433px;
	margin: 0;
	font-size: 31px;
	font-weight: 400;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

.consultation-modal__lead {
	position: absolute;
	top: 97px;
	left: 127.5px;
	width: 270px;
	margin: 0;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
}

.consultation-form__field {
	position: absolute;
	left: 78.5px;
	display: block;
	width: 368px;
	height: 34px;
	border-bottom: 0.5px solid #646363;
	color: #646363;
	font-size: 14px;
	line-height: 1;
}

.consultation-form__field:first-child {
	top: 161px;
}

.consultation-form__field:nth-child(2) {
	top: 219px;
	height: 36px;
}

.consultation-form__field span {
	display: block;
}

.consultation-form__field input {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 22px;
	padding: 0;
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff;
	font-size: 14px;
}

.consultation-form__field input:focus {
	outline: 0;
}

.consultation-form__field:focus-within {
	border-bottom-color: rgba(255, 255, 255, 0.8);
}

.consultation-form__field input:-webkit-autofill,
.consultation-form__field input:-webkit-autofill:hover,
.consultation-form__field input:-webkit-autofill:focus,
.consultation-form__field input:autofill {
	-webkit-appearance: none;
	appearance: none;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	-webkit-text-fill-color: #fff;
	caret-color: #fff;
	transition: background-color 9999s ease-out 0s;
}

.consultation-form__consent {
	position: absolute;
	top: 269px;
	left: 78.5px;
	display: flex;
	width: 368px;
	align-items: flex-start;
	gap: 5px;
	margin: 0;
	color: #646363;
	font-size: 10px;
	line-height: 1.15;
	cursor: pointer;
}

.consultation-form__consent input {
	width: 12px;
	height: 12px;
	margin: 0;
	flex: 0 0 auto;
	accent-color: #848484;
}

.consultation-form__consent a {
	text-decoration: underline;
	text-underline-offset: 1px;
}

.consultation-form__submit {
	position: absolute;
	top: 342px;
	left: 130.5px;
	display: block;
	width: 264px;
	height: 50px;
	margin: 0;
	border: 0.6px solid #fff;
	background: transparent;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease;
}

.consultation-form__submit:hover,
.consultation-form__submit:focus-visible {
	border-color: #2e2f2f;
	background: #2e2f2f;
}

@media (min-width: 1920px) {
	.consultation-modal__dialog {
		transform: translateY(38px) scale(1.3714);
	}

	.consultation-modal--open .consultation-modal__dialog {
		transform: translateY(21px) scale(1.3714);
	}
}

@media (max-width: 600px) {
	.consultation-modal {
		padding: 10px;
	}

	.consultation-modal__dialog {
		width: 100%;
		height: 420px;
		padding: 0;
	}

	.consultation-modal__dialog h2 {
		top: 48px;
		left: 20px;
		width: calc(100% - 40px);
		font-size: clamp(22px, 6.7vw, 27px);
		white-space: normal;
	}

	.consultation-modal__lead {
		top: 112px;
		left: 50%;
		transform: translateX(-50%);
	}

	.consultation-form__field {
		left: 28px;
		width: calc(100% - 56px);
	}

	.consultation-form__field:first-child {
		top: 173px;
	}

	.consultation-form__field:nth-child(2) {
		top: 231px;
	}

	.consultation-form__consent {
		top: 282px;
		left: 28px;
		width: calc(100% - 56px);
	}

	.consultation-form__submit {
		top: 342px;
		left: 50%;
		width: min(264px, 100%);
		transform: translateX(-50%);
	}
}

.hero {
	position: relative;
	height: 100vh;
	height: 100svh;
	overflow: hidden;
	background-image: var(--pm-image-6ed9021518, url("images/bg-hero.webp"));
	background-position: center;
	background-size: cover;
}

.hero--secondary {
	background-image: var(--pm-image-e42e8ba01f, url("images/remont-vtorichka.webp"));
}

.hero--about {
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.58)),
		var(--pm-image-f7fc27863c, url("images/about/hero-bg.webp"));
}

.hero--about .hero__content {
	top: 36.2857%;
	width: 700px;
}

.hero--about .hero__content h1 {
	width: 700px;
}

.hero--about .hero__content p {
	top: 124px;
	left: 50%;
	width: 760px;
	transform: translateX(-50%);
}

.hero--about .hero__button {
	top: 203px;
}

.hero--secondary .hero__content {
	width: min(1450px, calc(100% - 40px));
}

.hero--secondary .hero__content h1 {
	width: 100%;
}

.hero--secondary .hero__content p {
	left: 50%;
	transform: translateX(-50%);
}

.header {
	position: relative;
	z-index: 100;
	display: flex;
	height: 58px;
	align-items: center;
	justify-content: space-between;
	padding: 0 4.14vw;
	background: rgba(142, 142, 142, 0.3);
	backdrop-filter: blur(6px);
}

.header--fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	animation: header-slide-down 280ms ease both;
}

@keyframes header-slide-down {
	from {
		transform: translateY(-100%);
	}

	to {
		transform: translateY(0);
	}
}

.header__logo {
	display: block;
	width: 106px;
	flex: 0 0 auto;
}

.header__logo img {
	width: 100%;
	height: auto;
}

.header__nav {
	position: absolute;
	top: 18px;
	right: 4.43vw;
	display: block;
	width: 353px;
	height: 18px;
	font-size: 16px;
	line-height: 1.1;
}

.header__services-menu,
.header__nav > a {
	position: absolute;
	top: 0;
}

.header__services-menu {
	left: 0;
}

.header__projects {
	left: 78px;
}

.header__about {
	left: 160px;
}

.header__contacts {
	left: 271px;
}

.header__services-menu::after {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 29px;
	content: "";
}

.header__services {
	display: flex;
	align-items: center;
	gap: 2px;
	cursor: pointer;
}

.header__services img,
.site-footer__services img {
	position: relative;
	top: 1px;
	display: block;
	width: 9px;
	height: 5px;
	flex: 0 0 auto;
}

.header__nav a,
.header__services {
	transition: opacity 180ms ease;
}

.header__nav a:hover,
.header__nav a:focus-visible,
.header__services:hover,
.header__services:focus-visible {
	opacity: 0.65;
}

.services-dropdown {
	position: absolute;
	top: 47px;
	left: -2px;
	display: flex;
	visibility: hidden;
	width: 300px;
	flex-direction: column;
	gap: 15px;
	padding: 25px 29px 23px;
	border-radius: 1px;
	background: #efefef;
	color: #121212;
	font-size: 14px;
	line-height: 1.25;
	opacity: 0;
	transform: translateY(-5px);
	transition:
		opacity 160ms ease,
		transform 160ms ease,
		visibility 160ms;
}

.header__services-menu:hover .services-dropdown,
.header__services-menu:focus-within .services-dropdown {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.services-dropdown a {
	position: static;
	white-space: normal;
}

.services-dropdown a:hover,
.services-dropdown a:focus-visible {
	color: #a1a1a1;
	opacity: 1;
}

.header__menu {
	display: none;
	width: 29px;
	height: 19px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.header__menu img {
	width: 29px;
	height: 19px;
}

.mobile-menu {
	position: fixed;
	z-index: 200;
	inset: 0;
	visibility: hidden;
	background: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition:
		opacity 280ms ease,
		visibility 280ms;
}

.mobile-menu--open {
	visibility: visible;
	opacity: 1;
}

.mobile-menu__panel {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	width: 312px;
	height: 100vh;
	height: 100dvh;
	flex-direction: column;
	padding: 95px 20px max(20px, env(safe-area-inset-bottom));
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	background: #0b0d0d;
	transform: translateX(100%);
	transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-menu--open .mobile-menu__panel {
	transform: translateX(0);
}

.mobile-menu__logo {
	position: absolute;
	top: 16px;
	left: 14px;
	width: 85px;
}

.mobile-menu__logo img {
	width: 100%;
	height: auto;
}

.mobile-menu__close {
	position: absolute;
	top: 15px;
	right: 16px;
	display: grid;
	width: 24px;
	height: 24px;
	padding: 0;
	place-items: center;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.mobile-menu__close img {
	width: 14px;
	height: 14px;
}

.mobile-menu__nav {
	display: flex;
	width: 100%;
	flex-shrink: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 11px;
	font-size: 14px;
	line-height: normal;
}

.mobile-menu__services {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.mobile-menu__services-group {
	display: flex;
	width: 100%;
	flex-direction: column;
	transition: margin-bottom 280ms ease;
}

.mobile-menu__services-group--open {
	margin-bottom: 9px;
	border-bottom: 0.5px solid rgba(255, 255, 255, 0.5);
}

.mobile-menu__services img {
	width: 9px;
	height: 5px;
	transition: transform 220ms ease;
}

.mobile-menu__services[aria-expanded="true"] img {
	transform: rotate(180deg);
}

.mobile-submenu {
	display: grid;
	width: 100%;
	grid-template-rows: 0fr;
	opacity: 0;
	transition:
		grid-template-rows 280ms ease,
		opacity 220ms ease;
}

.mobile-submenu--open {
	grid-template-rows: 1fr;
	opacity: 1;
}

.mobile-submenu__inner {
	display: flex;
	min-height: 0;
	overflow: hidden;
	flex-direction: column;
	gap: 10px;
	padding-left: 12px;
	color: rgba(255, 255, 255, 0.65);
	font-size: 12px;
	line-height: 1.25;
}

.mobile-submenu--open .mobile-submenu__inner {
	padding-top: 10px;
	padding-bottom: 18px;
}

.mobile-menu__nav a,
.mobile-menu__services,
.mobile-menu__contacts a {
	transition: color 160ms ease;
}

.mobile-menu__nav a:hover,
.mobile-menu__nav a:focus-visible,
.mobile-menu__services:hover,
.mobile-menu__services:focus-visible,
.mobile-menu__contacts a:hover,
.mobile-menu__contacts a:focus-visible {
	color: #a1a1a1;
}

.mobile-menu__contacts {
	display: flex;
	flex-shrink: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	margin-top: auto;
	padding-top: 32px;
	color: #ebebeb;
	font-size: 14px;
	line-height: 1.15;
}

.mobile-menu__contacts a:nth-child(3),
.mobile-menu__contacts a:nth-child(4) {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.mobile-menu__cta {
	display: flex;
	width: 100%;
	height: 50px;
	flex-shrink: 0;
	margin-top: 49px;
	align-items: center;
	justify-content: center;
	border: 0.6px solid #fff;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	transition:
		background-color 180ms ease,
		border-color 180ms ease;
}

.mobile-menu__cta:hover,
.mobile-menu__cta:focus-visible,
.mobile-menu__cta:active {
	border-color: #2e2f2f;
	background: #2e2f2f;
}

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

.hero__content {
	position: absolute;
	top: 34.1429%;
	left: calc(50% + 1.5px);
	z-index: 1;
	width: 637px;
	transform: translateX(-50%);
	text-align: center;
}

.hero__content h1 {
	margin: 0;
	width: 626px;
	margin-inline: auto;
	font-size: 50px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: uppercase;
}

.hero__content p {
	position: absolute;
	top: 124px;
	left: 0;
	width: 637px;
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	line-height: normal;
}

.hero__button {
	position: absolute;
	top: 225px;
	left: 50%;
	display: flex;
	width: 264px;
	height: 50px;
	align-items: center;
	justify-content: center;
	transform: translateX(-50%);
	border: 1px solid #fff;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease;
}

.hero__button:hover,
.hero__button:focus-visible {
	border-color: #ffffff;
	background: #ffffff;
	color: #0b0d0d;
}

@media (min-width: 1920px) {
	.header {
		height: clamp(80px, 4.15vw, 106px);
		padding-inline: clamp(80px, 4.15vw, 106px);
	}

	.header__logo {
		width: clamp(146px, 7.6vw, 195px);
	}

	.header__nav {
		top: 50%;
		right: clamp(85px, 4.43vw, 113px);
		display: flex;
		width: auto;
		height: auto;
		align-items: center;
		gap: clamp(20px, 1.05vw, 27px);
		transform: translateY(-50%);
		font-size: 16px;
	}

	.header__services-menu,
	.header__nav > a {
		position: static;
	}

	.header__services {
		gap: min(0.29vw, 6px);
	}

	.header__services-menu::after {
		height: 38px;
	}

	.services-dropdown {
		top: calc(clamp(40px, 2.075vw, 53px) + 16px);
	}

	.header__services img {
		width: min(0.65vw, 12px);
		height: min(0.36vw, 7px);
	}

	.hero__content {
		width: clamp(874px, 45.5vw, 1165px);
	}

	.hero__content h1 {
		width: clamp(859px, 44.72vw, 1145px);
		font-size: clamp(69px, 3.58vw, 92px);
	}

	.hero__content p {
		top: clamp(170px, 8.86vw, 227px);
		width: clamp(874px, 45.5vw, 1165px);
		font-size: clamp(21px, 1.08vw, 28px);
	}

	.hero__button {
		top: clamp(309px, 16.08vw, 412px);
		width: clamp(362px, 18.86vw, 483px);
		height: clamp(69px, 3.58vw, 92px);
		font-size: clamp(22px, 1.15vw, 29px);
	}

	.hero--about .hero__content,
	.hero--about .hero__content h1 {
		width: min(51vw, 1306px);
	}

	.hero--about .hero__content p {
		top: clamp(170px, 8.8571vw, 227px);
		width: min(54.2857vw, 1390px);
	}

	.hero--about .hero__button {
		top: clamp(278px, 14.5vw, 371px);
	}
}

@media (min-width: 768px) and (max-width: 1100px) {
	.header {
		padding-inline: 32px;
	}

	.header__nav {
		right: 32px;
		display: flex;
		width: auto;
		height: auto;
		align-items: center;
		gap: 14px;
		font-size: 15px;
	}

	.header__services-menu,
	.header__nav > a {
		position: static;
	}

	.hero__content {
		top: 36%;
	}

	.hero__content h1 {
		font-size: 44px;
	}
}

@media (max-width: 767px) {
	.hero {
		background-position: 77% center;
		background-size: auto 100%;
	}

	.header {
		height: 55px;
		padding: 0 10px;
		background: rgba(185, 185, 185, 0.3);
	}

	.header__logo {
		width: 85px;
	}

	.header__nav {
		display: none;
	}

	.header__menu {
		display: block;
	}

	.hero__content {
		top: 34.2308%;
		left: 50%;
		width: calc(100% - 20px);
		text-align: left;
	}

	.hero--secondary .hero__content {
		width: calc(100% - 20px);
	}

	.hero__content h1 {
		width: 100%;
		margin-inline: 0;
		font-size: 32px;
	}

	.hero--secondary .hero__content h1 {
		width: 100%;
	}

	.hero__content p {
		top: 89px;
		width: 100%;
		font-size: 15px;
		line-height: 1.25;
	}

	.hero--secondary .hero__content p {
		top: 128px;
		left: 0;
		width: 100%;
		transform: none;
	}

	.hero__button {
		top: 233px;
		left: 0;
		transform: none;
	}

	.hero--about {
		background-position: 55% center;
		background-size: cover;
	}

	.hero--about .hero__content {
		top: 31.7949%;
		width: calc(100% - 20px);
	}

	.hero--about .hero__content h1 {
		width: 275px;
	}

	.hero--about .hero__content p {
		top: 163px;
		left: 0;
		width: min(318px, 100%);
		transform: none;
	}

	.hero--about .hero__button {
		top: 288px;
	}
}

/* Request form */
.request {
	position: relative;
	border-top: 0.5px solid rgba(255, 255, 255, 0.35);
	border-bottom: 0.5px solid rgba(255, 255, 255, 0.35);
	background: #0b0d0d;
}

.request::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 0.5px;
	background: rgba(255, 255, 255, 0.35);
	content: "";
}

.request__inner {
	display: grid;
	padding-block: 30px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.request-slider {
	position: relative;
	overflow: hidden;
	width: calc(100% - 123px);
	margin-left: var(--desktop-gutter);
	aspect-ratio: 577 / 500;
	background: #171919;
}

.request-slider__slide {
	position: absolute;
	z-index: 0;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
}

.request-slider__slide--previous {
	z-index: 1;
	opacity: 1;
}

.request-slider__slide--active {
	z-index: 2;
	opacity: 1;
	transition: opacity 1.5s cubic-bezier(0.45, 0, 0.15, 1);
}

.request__content {
	padding-left: 30px;
}

.request__content h2 {
	width: min(434px, calc(100% - 30px));
	margin: 0;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.request--secondary .request__content h2 {
	width: min(560px, calc(100% - 30px));
}

.request__copy {
	width: min(490px, calc(100% - 60px));
	margin-top: 30px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.15;
}

.request__copy p {
	margin: 0;
}

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

.request-form {
	width: min(536px, calc(100% - 66px));
	margin: 62px 0 0 8px;
}

.request-form__field {
	display: block;
	color: #646363;
	font-size: 14px;
	line-height: 1.15;
}

.request-form__field + .request-form__field {
	margin-top: 19px;
}

.request-form__field span {
	display: block;
}

.request-form__field input {
	display: block;
	width: 100%;
	height: 16px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 0.6px solid #848484;
	border-radius: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	color: rgba(255, 255, 255, 0.8);
	font: inherit;
}

.request-form__field input:focus,
.request-form__field input:not(:placeholder-shown),
.request-form__field input:-webkit-autofill,
.request-form__field input:-webkit-autofill:hover,
.request-form__field input:-webkit-autofill:focus {
	border-bottom-color: #848484;
	background: transparent;
	box-shadow: 0 0 0 1000px #0b0d0d inset;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.8);
}

.request-form__consent {
	display: flex;
	margin-top: 11px;
	align-items: flex-start;
	gap: 5px;
	color: #646363;
	font-size: 10px;
	line-height: 1.15;
	cursor: pointer;
}

.request-form__consent input {
	width: 12px;
	height: 12px;
	margin: 0;
	flex: 0 0 12px;
	accent-color: #848484;
}

.request-form__consent a {
	text-decoration: underline;
	text-underline-offset: 1px;
}

.request-form__submit {
	display: grid;
	width: 215px;
	height: 52px;
	margin-top: 34px;
	padding: 0;
	place-items: center;
	border: 0.6px solid transparent;
	background: rgba(185, 185, 185, 0.2);
	color: rgba(255, 255, 255, 0.8);
	font: inherit;
	font-size: 16px;
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease;
}

.request-form__submit:hover,
.request-form__submit:focus-visible {
	border-color: #fff;
	background: transparent;
}

@media (min-width: 1920px) {
	.request__inner {
		padding-block: clamp(40px, 2.08vw, 53px);
	}

	.request-slider {
		width: calc(100% - clamp(164px, 8.54vw, 219px));
		margin-left: var(--desktop-gutter);
	}

	.request__content {
		padding-left: clamp(40px, 2.08vw, 53px);
	}

	.request__content h2 {
		width: min(clamp(580px, 30.2vw, 773px), calc(100% - 40px));
		font-size: clamp(43px, 2.23vw, 57px);
	}

	.request--secondary .request__content h2 {
		width: min(850px, calc(100% - 40px));
	}

	.request__copy {
		width: min(clamp(654px, 34.06vw, 872px), calc(100% - 80px));
		margin-top: clamp(40px, 2.08vw, 53px);
		font-size: clamp(21px, 1.12vw, 29px);
	}

	.request-form {
		width: min(clamp(715px, 37.24vw, 953px), calc(100% - 88px));
		margin-top: clamp(83px, 4.32vw, 111px);
		margin-left: clamp(10px, 0.52vw, 13px);
	}

	.request-form__field {
		font-size: clamp(17px, 0.9vw, 23px);
	}

	.request-form__field + .request-form__field {
		margin-top: clamp(25px, 1.3vw, 33px);
	}

	.request-form__field input {
		height: clamp(21px, 1.1vw, 28px);
	}

	.request-form__consent {
		font-size: clamp(12px, 0.65vw, 17px);
	}

	.request-form__submit {
		width: clamp(287px, 14.95vw, 383px);
		height: clamp(69px, 3.61vw, 92px);
		font-size: clamp(21px, 1.12vw, 29px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.request {
		border: 0;
	}

	.request__inner {
		display: flex;
		padding: 0 20px;
		flex-direction: column;
	}

	.request::after {
		display: none;
	}

	.request-slider {
		order: 2;
		width: 100%;
		height: auto;
		margin: 37px 0 0;
		aspect-ratio: 728 / 464;
	}

	.request__content {
		order: 1;
		padding: 0;
	}

	.request__content h2 {
		width: min(562px, 100%);
		font-size: 32px;
	}

	.request--secondary .request__content h2 {
		width: min(562px, 100%);
	}

	.request__copy {
		width: min(678px, 100%);
		margin-top: 30px;
		font-size: 16px;
		line-height: 1.15;
	}

	.request-form {
		width: 100%;
		margin: 20px 0 0;
	}

	.request-form__submit {
		width: 317px;
		height: 52px;
		margin-top: 37px;
	}
}

@media (max-width: 767px) {
	.request {
		width: 100%;
		margin: var(--mobile-section-gap) auto 0;
		border: 0;
	}

	.request::after {
		display: none;
	}

	.request__inner {
		display: flex;
		padding: 0;
		flex-direction: column;
	}

	.request__content {
		order: 1;
		padding-inline: 10px;
	}

	.request__content h2 {
		width: 279px;
		font-size: 26px;
		line-height: 1.25;
	}

	.request__copy {
		width: 100%;
		margin-top: 14px;
		font-size: 14px;
		line-height: 1.15;
	}

	.request__copy p + p {
		margin-top: 16px;
	}

	.request-form {
		width: 100%;
		margin: 65px 0 0;
	}

	.request-form__field + .request-form__field {
		margin-top: 20px;
	}

	.request-form__field input {
		height: 16px;
	}

	.request-form__consent {
		margin-top: 12px;
	}

	.request-form__consent span {
		width: 317px;
	}

	.request-form__submit {
		height: 50px;
		margin-top: 29px;
	}

	.request-slider {
		order: 2;
		width: 100%;
		height: 250px;
		margin: 50px 0 0;
		aspect-ratio: auto;
	}

	.request-slider__slide {
		object-position: center 55%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.request-slider__slide {
		transition: none;
	}
}

/* FAQ */
.faq {
	padding: 103px 60px 70px;
	background: #0b0d0d;
}

.faq > h2 {
	width: 350px;
	margin: 0 0 0 8px;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
}

.faq__list {
	margin: 56px 8px 0;
	border-top: 0.5px solid #a9a9a9;
}

.faq__item {
	border-bottom: 0.5px solid #a9a9a9;
}

.faq__item h3 {
	margin: 0;
	font: inherit;
}

.faq__trigger {
	display: flex;
	width: 100%;
	min-height: 80px;
	padding: 20px 0;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 22px;
	line-height: normal;
	text-align: left;
	cursor: pointer;
}

.faq__question {
	display: grid;
	min-width: 0;
	grid-template-columns: 33px minmax(0, 1fr);
}

.faq__icon {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	margin-right: 1px;
	flex: 0 0 24px;
}

.faq__icon img {
	position: absolute;
	inset: 0;
	display: block;
	width: 24px;
	height: 24px;
	transition: opacity 250ms ease, transform 350ms ease;
}

.faq__icon-minus {
	opacity: 0;
	transform: rotate(-90deg);
}

.faq__item--open .faq__icon-plus {
	opacity: 0;
	transform: rotate(90deg);
}

.faq__item--open .faq__icon-minus {
	opacity: 1;
	transform: rotate(0);
}

.faq__answer {
	display: grid;
	grid-template-rows: 0fr;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.2;
	opacity: 0;
	transition:
		grid-template-rows 500ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 300ms ease;
}

.faq__answer > div {
	overflow: hidden;
}

.faq__answer p {
	width: min(819px, calc(100% - 70px));
	margin: 0 0 50px 30px;
}

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

@media (min-width: 1920px) {
	.faq {
		padding-top: clamp(137px, 7.14vw, 183px);
		padding-bottom: clamp(93px, 4.86vw, 124px);
	}

	.faq > h2 {
		width: clamp(467px, 24.31vw, 622px);
		font-size: clamp(43px, 2.23vw, 57px);
	}

	.faq__list {
		margin-top: clamp(68px, 3.54vw, 91px);
	}

	.faq__trigger {
		min-height: clamp(106px, 5.56vw, 142px);
		font-size: clamp(29px, 1.53vw, 39px);
	}

	.faq__question {
		grid-template-columns: clamp(44px, 2.29vw, 59px) minmax(0, 1fr);
	}

	.faq__answer {
		font-size: clamp(21px, 1.12vw, 29px);
	}

	.faq__answer p {
		width: min(clamp(1092px, 56.88vw, 1456px), calc(100% - 95px));
		margin-bottom: clamp(67px, 3.47vw, 89px);
		margin-left: clamp(40px, 2.08vw, 53px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.faq {
		padding: 85px 32px 70px;
	}

	.faq > h2 {
		margin-left: 0;
		font-size: 28px;
	}

	.faq__list {
		margin-inline: 0;
	}

	.faq__trigger {
		font-size: 18px;
		line-height: 1.2;
	}

	.faq__answer {
		font-size: 14px;
	}

	.faq__answer p {
		width: min(680px, calc(100% - 60px));
	}
}

@media (max-width: 767px) {
	.faq {
		width: 100%;
		margin: 0 auto;
		padding: 70px 10px 50px;
	}

	.faq > h2 {
		width: 303px;
		margin: 0;
		font-size: 26px;
		line-height: 1.1;
	}

	.faq__list {
		margin: 13px 0 0;
		border-top: 0;
	}

	.faq__trigger {
		position: relative;
		min-height: 0;
		padding: 20px 34px 20px 4px;
		align-items: flex-start;
		gap: 8px;
		font-size: 18px;
		line-height: 1.2;
	}

	.faq__question {
		grid-template-columns: 22px minmax(0, 1fr);
	}

	.faq__icon {
		position: absolute;
		top: 20px;
		right: -1px;
		margin: 0;
	}

	.faq__answer {
		font-size: 14px;
		line-height: 1.2;
	}

	.faq__answer p {
		width: auto;
		margin: 0 13px 27px 25px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.faq__answer,
	.faq__icon img {
		transition: none;
	}
}

/* About company: founder */
.about-founder {
	padding: 30px 60px 0;
	background: #0b0d0d;
}

.about-founder__breadcrumbs {
	font-size: 16px;
	line-height: 1.25;
}

.about-founder__breadcrumbs ol {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	list-style: none;
}

.about-founder__breadcrumbs li {
	display: flex;
	color: #848484;
}

.about-founder__breadcrumbs li:not(:last-child)::after {
	margin-inline: 6px;
	color: #fff;
	content: "/";
}

.about-founder__breadcrumbs a {
	color: #fff;
}

.about-founder__breadcrumbs a:hover,
.about-founder__breadcrumbs a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.about-founder__inner {
	display: grid;
	min-height: 589px;
	margin-top: 123px;
	grid-template-columns: 631px minmax(0, 1fr);
	grid-template-rows: auto auto 1fr auto;
	grid-template-areas:
		"media role"
		"media quote"
		"media principles"
		"media facts";
	column-gap: 37px;
}

.about-founder__media {
	display: block;
	width: 631px;
	height: 589px;
	grid-area: media;
	overflow: hidden;
}

.about-founder__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 95%;
}

.about-founder__role {
	margin: 4px 0 0;
	grid-area: role;
	color: rgba(255, 255, 255, 0.5);
	font-size: 16px;
	line-height: 1.25;
	text-transform: uppercase;
}

.about-founder__quote {
	max-width: 563px;
	margin: 22px 0 0;
	grid-area: quote;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.about-founder__principles {
	margin: 10px 0 0;
	padding: 0;
	grid-area: principles;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
	list-style: none;
}

.about-founder__principles li::before {
	content: "- ";
}

.about-founder__facts {
	display: flex;
	margin: 0 0 4px;
	grid-area: facts;
	align-self: end;
}

.about-founder__fact {
	min-height: 90px;
	padding-left: 19px;
	border-left: 1px solid rgba(255, 255, 255, 0.45);
}

.about-founder__fact + .about-founder__fact {
	margin-left: 88px;
}

.about-founder__fact strong,
.about-founder__fact span {
	display: block;
	font-weight: 400;
}

.about-founder__fact strong {
	font-size: 40px;
	line-height: 1.05;
	text-transform: uppercase;
}

.about-founder__fact span {
	margin-top: 5px;
	font-size: 16px;
	line-height: 1.25;
}

@media (min-width: 1920px) {
	.about-founder {
		padding: 2.1429vw 4.2857vw 0;
	}

	.about-founder__breadcrumbs {
		font-size: 1.1429vw;
	}

	.about-founder__inner {
		min-height: 42.0714vw;
		margin-top: 8.7857vw;
		grid-template-columns: 45.0714vw minmax(0, 1fr);
		column-gap: 2.6429vw;
	}

	.about-founder__media {
		width: 45.0714vw;
		height: 42.0714vw;
	}

	.about-founder__role,
	.about-founder__principles,
	.about-founder__fact span {
		font-size: 1.1429vw;
	}

	.about-founder__quote {
		max-width: 40.2143vw;
		margin-top: 1.5714vw;
		font-size: 1.8571vw;
	}

	.about-founder__principles {
		margin-top: 0.7143vw;
	}

	.about-founder__fact {
		min-height: 6.4286vw;
		padding-left: 1.3571vw;
	}

	.about-founder__fact + .about-founder__fact {
		margin-left: 6.2857vw;
	}

	.about-founder__fact strong {
		font-size: 2.8571vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.about-founder {
		padding: 24px 32px 0;
	}

	.about-founder__breadcrumbs {
		font-size: 14px;
	}

	.about-founder__inner {
		min-height: 500px;
		margin-top: 72px;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 28px;
	}

	.about-founder__media {
		width: 100%;
		height: 500px;
	}

	.about-founder__role,
	.about-founder__principles,
	.about-founder__fact span {
		font-size: 13px;
	}

	.about-founder__quote {
		margin-top: 14px;
		font-size: clamp(19px, 2.4vw, 24px);
	}

	.about-founder__principles {
		margin-top: 10px;
	}

	.about-founder__fact {
		min-height: 68px;
		padding-left: 12px;
	}

	.about-founder__fact + .about-founder__fact {
		margin-left: 24px;
	}

	.about-founder__fact strong {
		font-size: clamp(25px, 3vw, 32px);
	}
}

@media (max-width: 767px) {
	.about-founder {
		padding: 10px 10px 0;
	}

	.about-founder__breadcrumbs {
		font-size: 12px;
	}

	.about-founder__inner {
		display: grid;
		min-height: 0;
		margin-top: 73px;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		grid-template-areas:
			"quote"
			"principles"
			"media"
			"role"
			"facts";
		column-gap: 0;
	}

	.about-founder__quote {
		max-width: 355px;
		margin: 0;
		font-size: 18px;
	}

	.about-founder__principles {
		margin-top: 10px;
		font-size: 14px;
	}

	.about-founder__media {
		width: 100%;
		height: auto;
		margin-top: 33px;
		aspect-ratio: 355 / 360;
	}

	.about-founder__media img {
		object-position: center;
	}

	.about-founder__role {
		margin-top: 14px;
		font-size: 14px;
	}

	.about-founder__facts {
		display: block;
		margin: 38px 0 0;
	}

	.about-founder__fact {
		min-height: 67px;
		padding-left: 15px;
	}

	.about-founder__fact + .about-founder__fact {
		margin: 35px 0 0;
	}

	.about-founder__fact strong {
		font-size: 30px;
	}

	.about-founder__fact span {
		margin-top: 4px;
		font-size: 14px;
	}
}

/* About company: values */
.about-values {
	min-height: 368px;
	padding: 120px 80px 0 60px;
	background: #0b0d0d;
}

.about-values > h2 {
	margin: 0;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.about-values__grid {
	display: grid;
	min-height: 166px;
	margin-top: 42px;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-values__item {
	padding: 40px 25px 0;
	border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.about-values__item h3,
.about-values__item p {
	margin: 0;
	font-weight: 400;
}

.about-values__item h3 {
	color: #f4f0e8;
	font-size: 20px;
	line-height: 1.2;
	text-transform: uppercase;
}

.about-values__item h3 span {
	color: rgba(244, 240, 232, 0.6);
}

.about-values__item p {
	max-width: 255px;
	margin-top: 11px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

@media (min-width: 1920px) {
	.about-values {
		min-height: 26.2857vw;
		padding: 8.5714vw 5.7143vw 0 4.2857vw;
	}

	.about-values > h2 {
		font-size: 2.2857vw;
	}

	.about-values__grid {
		min-height: 11.8571vw;
		margin-top: 3vw;
	}

	.about-values__item {
		padding: 2.8571vw 1.7857vw 0;
	}

	.about-values__item h3 {
		font-size: 1.4286vw;
	}

	.about-values__item p {
		max-width: 18.2143vw;
		margin-top: 0.7857vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.about-values {
		min-height: 0;
		padding: 80px 32px 0;
	}

	.about-values > h2 {
		font-size: 28px;
	}

	.about-values__grid {
		min-height: 0;
		margin-top: 34px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.about-values__item {
		min-height: 130px;
		padding: 30px 22px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	}

	.about-values__item h3 {
		font-size: 18px;
	}

	.about-values__item p {
		max-width: 290px;
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.about-values {
		min-height: 577px;
		padding: 70px 10px 0;
	}

	.about-values > h2 {
		font-size: 26px;
	}

	.about-values__grid {
		display: block;
		min-height: 446px;
		margin-top: 28px;
		border-top: 0;
		border-left: 1px solid rgba(255, 255, 255, 0.35);
	}

	.about-values__item {
		min-height: 107px;
		padding: 32px 15px 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.35);
		border-left: 0;
	}

	.about-values__item:first-child {
		min-height: 109px;
	}

	.about-values__item h3 {
		font-size: 18px;
		line-height: 1.15;
	}

	.about-values__item p {
		max-width: none;
		margin-top: 11px;
		font-size: 14px;
		line-height: 1.15;
	}

	.about-values__item:last-child {
		min-height: 123px;
		border-bottom: 0;
	}
}

/* About company: team */
.about-team {
	min-height: 759px;
	padding-top: 120px;
	overflow: hidden;
	background: #0b0d0d;
}

.about-team__intro {
	margin-left: 60px;
}

.about-team__intro h2,
.about-team__intro p,
.about-team__member h3,
.about-team__member > p {
	margin: 0;
	font-weight: 400;
}

.about-team__intro h2 {
	width: 565px;
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.about-team__intro p {
	width: 696px;
	margin-top: 20px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.about-team__divider {
	width: calc(100% - 60px);
	height: 1px;
	margin: 35px 0 0 60px;
	background: rgba(255, 255, 255, 0.25);
}

.about-team__list {
	display: flex;
	margin: 34px 0 0 61px;
	padding-right: 60px;
	gap: 17px;
	overflow-x: auto;
	cursor: grab;
	user-select: none;
	scrollbar-width: none;
}

.about-team__list.is-dragging {
	cursor: grabbing;
}

.about-team__list::-webkit-scrollbar {
	display: none;
}

.about-team__member {
	width: 305px;
	flex: 0 0 305px;
}

.about-team__photo {
	display: block;
	width: 305px;
	height: 375px;
	overflow: hidden;
}

.about-team__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-team__photo--placeholder {
	background: #fff;
}

.about-team__member h3 {
	margin-top: 20px;
	font-size: 20px;
	line-height: 1.05;
	text-transform: uppercase;
}

.about-team__member > p {
	margin-top: 15px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
	line-height: 1.05;
	text-transform: uppercase;
}

.about-team__more {
	display: none;
}

@media (min-width: 1920px) {
	.about-team {
		min-height: 54.2143vw;
		padding-top: 8.5714vw;
	}

	.about-team__intro {
		margin-left: 4.2857vw;
	}

	.about-team__intro h2 {
		width: 40.3571vw;
		font-size: 2.2857vw;
	}

	.about-team__intro p {
		width: 49.7143vw;
		margin-top: 1.4286vw;
		font-size: 1.1429vw;
	}

	.about-team__divider {
		width: calc(100% - 4.2857vw);
		margin: 2.5vw 0 0 4.2857vw;
	}

	.about-team__list {
		margin: 2.4286vw 0 0 4.3571vw;
		padding-right: 4.2857vw;
		gap: 1.2143vw;
	}

	.about-team__member {
		width: 21.7857vw;
		flex-basis: 21.7857vw;
	}

	.about-team__photo {
		width: 21.7857vw;
		height: 26.7857vw;
	}

	.about-team__member h3 {
		margin-top: 1.4286vw;
		font-size: 1.4286vw;
	}

	.about-team__member > p {
		margin-top: 1.0714vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.about-team {
		min-height: 0;
		padding: 80px 32px 0;
		overflow: visible;
	}

	.about-team__intro {
		margin-left: 0;
	}

	.about-team__intro h2 {
		width: min(565px, 100%);
		font-size: 28px;
	}

	.about-team__intro p {
		width: min(696px, 100%);
		font-size: 14px;
	}

	.about-team__divider {
		width: 100%;
		margin: 44px 0 0;
	}

	.about-team__list {
		display: grid;
		margin: 30px 0 0;
		padding-right: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 36px 18px;
		overflow: visible;
		cursor: default;
		user-select: auto;
	}

	.about-team__member {
		width: auto;
	}

	.about-team__photo {
		width: 100%;
		height: auto;
		aspect-ratio: 305 / 375;
	}

	.about-team__member h3 {
		font-size: 18px;
	}

	.about-team__member > p {
		font-size: 14px;
	}

	.about-team__member:nth-child(n + 3) {
		display: none;
	}

	.about-team.is-expanded .about-team__member:nth-child(n + 3) {
		display: block;
	}

	.about-team__more {
		display: block;
		width: 100%;
		height: 50px;
		margin-top: 50px;
		border: 0;
		background: rgba(185, 185, 185, 0.2);
		color: #fff;
		font: inherit;
		font-size: 16px;
		cursor: pointer;
	}

	.about-team.is-expanded .about-team__more {
		display: none;
	}
}

@media (max-width: 767px) {
	.about-team {
		min-height: 1257px;
		padding: 70px 10px 0;
		overflow: visible;
	}

	.about-team__intro {
		margin-left: 0;
	}

	.about-team__intro h2 {
		width: 273px;
		font-size: 26px;
	}

	.about-team__intro p {
		width: min(316px, 100%);
		margin-top: 16px;
		font-size: 14px;
	}

	.about-team__divider {
		display: none;
	}

	.about-team__list {
		display: block;
		margin: 27px 0 0;
		padding-right: 0;
		overflow: visible;
		cursor: default;
		user-select: auto;
	}

	.about-team__member {
		width: 100%;
	}

	.about-team__member + .about-team__member {
		margin-top: 45px;
	}

	.about-team__photo {
		width: 100%;
		height: auto;
		aspect-ratio: 355 / 360;
	}

	.about-team__member:first-child .about-team__photo img {
		object-position: 50% 95%;
	}

	.about-team__member h3 {
		margin-top: 11px;
		font-size: 18px;
		line-height: 1.3;
	}

	.about-team__member > p {
		margin-top: 9px;
		font-size: 14px;
		line-height: 1.25;
	}

	.about-team__member:nth-child(n + 3) {
		display: none;
	}

	.about-team.is-expanded .about-team__member:nth-child(n + 3) {
		display: block;
	}

	.about-team__more {
		display: block;
		width: 100%;
		height: 50px;
		margin-top: 55px;
		border: 0;
		background: rgba(185, 185, 185, 0.2);
		color: #fff;
		font: inherit;
		font-size: 16px;
		cursor: pointer;
	}

	.about-team.is-expanded .about-team__more {
		display: none;
	}
}

/* About company: client process */
.about-process {
	min-height: 446px;
	padding: 120px 54px 0 60px;
	background: #0b0d0d;
}

.about-process__inner {
	display: grid;
	grid-template-columns: 657px minmax(0, 1fr);
}

.about-process__intro h2,
.about-process__intro p,
.about-process__list,
.about-process__list h3,
.about-process__list p {
	margin: 0;
}

.about-process__intro h2 {
	width: 565px;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.about-process__intro p {
	width: 478px;
	margin-top: 15px;
	color: #bababa;
	font-size: 16px;
	line-height: 1.25;
}

.about-process__list {
	margin-top: 14px;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	list-style: none;
}

.about-process__list li {
	min-height: 107px;
	padding: 24px 0 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.about-process__list li:first-child {
	min-height: 110px;
}

.about-process__list li:last-child {
	min-height: 94px;
	padding-top: 19px;
}

.about-process__list h3 {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: uppercase;
}

.about-process__list h3 span {
	margin-right: 10px;
	color: rgba(255, 255, 255, 0.5);
}

.about-process__list p {
	margin: 10px 0 0 45px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.15;
}

@media (min-width: 1920px) {
	.about-process {
		min-height: 31.8571vw;
		padding: 8.5714vw 3.8571vw 0 4.2857vw;
	}

	.about-process__inner {
		grid-template-columns: 46.9286vw minmax(0, 1fr);
	}

	.about-process__intro h2 {
		width: 40.3571vw;
		font-size: 2.2857vw;
	}

	.about-process__intro p {
		width: 34.1429vw;
		margin-top: 1.0714vw;
		font-size: 1.1429vw;
	}

	.about-process__list {
		margin-top: 1vw;
	}

	.about-process__list li {
		min-height: 7.6429vw;
		padding: 1.7143vw 0 1.2857vw;
	}

	.about-process__list li:first-child {
		min-height: 7.8571vw;
	}

	.about-process__list li:last-child {
		min-height: 6.7143vw;
		padding-top: 1.3571vw;
	}

	.about-process__list h3 {
		font-size: 1.4286vw;
	}

	.about-process__list h3 span {
		margin-right: 0.7143vw;
	}

	.about-process__list p {
		margin: 0.7143vw 0 0 3.2143vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 900px) and (max-width: 1199px) {
	.about-process {
		min-height: 0;
		padding: 80px 32px 0;
	}

	.about-process__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		gap: 30px;
	}

	.about-process__intro h2 {
		width: 100%;
		font-size: 28px;
	}

	.about-process__intro p {
		width: min(430px, 100%);
		font-size: 14px;
	}

	.about-process__list {
		margin-top: 10px;
	}

	.about-process__list li {
		min-height: 100px;
		padding: 22px 0 16px;
	}

	.about-process__list li:first-child,
	.about-process__list li:last-child {
		min-height: 100px;
		padding-top: 22px;
	}

	.about-process__list h3 {
		font-size: 18px;
	}

	.about-process__list p {
		font-size: 14px;
	}
}

@media (min-width: 768px) and (max-width: 899px) {
	.about-process {
		min-height: 0;
		padding: 80px 32px 0;
	}

	.about-process__inner {
		display: block;
	}

	.about-process__intro h2 {
		width: min(565px, 100%);
		font-size: 28px;
	}

	.about-process__intro p {
		width: min(520px, 100%);
		font-size: 14px;
	}

	.about-process__list {
		margin-top: 50px;
	}
}

@media (max-width: 767px) {
	.about-process {
		min-height: 582px;
		padding: 70px 10px 0;
	}

	.about-process__inner {
		display: block;
	}

	.about-process__intro h2 {
		width: 339px;
		max-width: 100%;
		font-size: 26px;
	}

	.about-process__intro p {
		width: min(322px, 100%);
		margin-top: 16px;
		color: rgba(255, 255, 255, 0.8);
		font-size: 14px;
	}

	.about-process__list {
		min-height: 329px;
		margin-top: 32px;
		border-top: 0;
		border-left: 1px solid rgba(255, 255, 255, 0.35);
	}

	.about-process__list li {
		min-height: 107px;
		padding: 32px 15px 16px;
		border-bottom-color: rgba(255, 255, 255, 0.35);
	}

	.about-process__list li:first-child {
		min-height: 107px;
	}

	.about-process__list li:last-child {
		min-height: 115px;
		padding-top: 29px;
	}

	.about-process__list h3 {
		font-size: 18px;
	}

	.about-process__list h3 span {
		margin-right: 0;
		color: rgba(235, 235, 235, 0.5);
	}

	.about-process__list p {
		margin: 10px 0 0;
		font-size: 14px;
	}
}

/* Completed projects */
.projects {
	padding: 120px 0 80px;
	background: #0b0d0d;
}

.projects__mobile-line {
	display: none;
}

.projects__header {
	display: grid;
	padding-inline: var(--desktop-gutter);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.projects__header h2,
.projects__header p {
	margin: 0;
}

.projects__header h2 {
	max-width: 430px;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.projects__header p {
	width: 100%;
	max-width: none;
	justify-self: start;
	color: #bababa;
	font-size: 16px;
	line-height: 1.25;
}

@media (min-width: 768px) {
	.projects--about .projects__header p {
		width: calc(100% - 20px);
		margin-left: 20px;
	}

	.projects--about .projects__all {
		max-width: calc(100% - 20px);
		margin-left: 20px;
	}
}

.projects__separator {
	height: 0.5px;
	margin: 50px var(--desktop-gutter) 0;
	background: rgba(255, 255, 255, 0.35);
}

.projects__all-row {
	display: grid;
	padding-inline: var(--desktop-gutter);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.projects__all {
	display: flex;
	width: min(615px, 100%);
	margin-top: 8px;
	grid-column: 2;
	justify-self: start;
	align-items: center;
	gap: 3px;
	color: #fff;
	font-size: 14px;
	line-height: 1.25;
	text-decoration: none;
}

.projects__all-arrow {
	position: relative;
	display: block;
	width: 32px;
	height: 32px;
	transform: translateY(2px);
}

.projects__all-arrow img {
	position: absolute;
	inset: 0;
	display: block;
	margin: auto;
	transition: opacity 250ms ease, transform 250ms ease;
}

.projects__all-arrow-right {
	opacity: 0;
	transform: translateX(-4px);
}

.projects__all:hover .projects__all-arrow-top,
.projects__all:focus-visible .projects__all-arrow-top {
	opacity: 0;
}

.projects__all:hover .projects__all-arrow-right,
.projects__all:focus-visible .projects__all-arrow-right {
	opacity: 1;
	transform: translateX(0);
}

.projects-carousel {
	position: relative;
	margin-top: 30px;
}

.projects-carousel__viewport {
	overflow: hidden;
	margin-inline: var(--desktop-gutter);
}

.projects-carousel__track {
	display: flex;
	gap: 20px;
	transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.project-card {
	min-width: 0;
	flex: 0 0 calc((100% - 40px) / 3);
	color: #fff;
	cursor: pointer;
	text-decoration: none;
}

.project-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 413 / 509;
}

.project-card__media > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.project-card__overlay {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	transition: opacity 450ms ease;
}

.project-card__overlay span {
	font-size: 14px;
	line-height: 1.25;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 350ms ease 70ms, transform 450ms cubic-bezier(0.22, 1, 0.36, 1) 70ms;
}

.project-card:hover .project-card__overlay,
.project-card:focus-visible .project-card__overlay {
	opacity: 1;
}

.project-card:hover .project-card__overlay span,
.project-card:focus-visible .project-card__overlay span {
	opacity: 1;
	transform: translateY(0);
}

.project-card__title {
	display: block;
	margin-top: 27px;
	font-size: 20px;
	line-height: 1.15;
	text-transform: uppercase;
}

.projects-carousel__arrow {
	position: absolute;
	z-index: 2;
	top: calc(19.89vw - 40px);
	display: grid;
	width: 32px;
	height: 32px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.projects-carousel__arrow img {
	display: block;
	width: 32px;
	height: 32px;
}

.projects-carousel__arrow--prev {
	left: 18px;
}

.projects-carousel__arrow--prev img {
	transform: rotate(180deg);
}

.projects-carousel__arrow--next {
	right: 18px;
}

.projects__toggle {
	display: none;
}

@media (min-width: 1920px) {
	.projects {
		padding-top: clamp(150px, 7.82vw, 200px);
		padding-bottom: clamp(100px, 5.21vw, 133px);
	}

	.projects__header h2 {
		max-width: clamp(570px, 29.7vw, 760px);
		font-size: clamp(43px, 2.23vw, 57px);
	}

	.projects__header p {
		font-size: clamp(21px, 1.12vw, 29px);
	}

	.projects__all {
		width: min(clamp(820px, 42.7vw, 1093px), 100%);
		font-size: clamp(17px, 0.9vw, 23px);
	}

	.projects-carousel {
		margin-top: clamp(40px, 2.08vw, 53px);
	}

	.projects-carousel__track {
		gap: clamp(25px, 1.3vw, 33px);
	}

	.project-card {
		flex-basis: calc((100% - clamp(50px, 2.6vw, 66px)) / 3);
	}

	.project-card__title {
		margin-top: clamp(32px, 1.67vw, 43px);
		font-size: clamp(24px, 1.25vw, 32px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.projects {
		padding: 90px 0 70px;
	}

	.projects__header {
		padding-inline: 30px;
	}

	.projects__all-row {
		padding-inline: 30px;
	}

	.projects__header h2 {
		font-size: 27px;
	}

	.projects__header p {
		font-size: 14px;
	}

	.projects__separator {
		margin: 50px 30px 0;
	}

	.projects-carousel__viewport {
		margin-inline: 30px;
	}

	.project-card {
		flex-basis: calc((100% - 20px) / 2);
	}

	.project-card__title {
		font-size: 18px;
	}

	.projects-carousel__arrow {
		top: calc(30.25vw - 32px);
	}

	.projects-carousel__arrow--prev {
		left: 8px;
	}

	.projects-carousel__arrow--next {
		right: 8px;
	}
}

@media (max-width: 767px) {
	.projects {
		width: 100%;
		margin: var(--mobile-section-gap) auto 0;
		padding: 28px 10px 0;
	}

	.projects__mobile-line {
		display: block;
		width: 0.5px;
		height: 40px;
		margin: 0 auto 30px;
		background: rgba(255, 255, 255, 0.35);
	}

	.projects__header {
		display: block;
		padding: 0;
	}

	.projects__header h2 {
		max-width: 339px;
		font-size: 26px;
		line-height: 1.25;
	}

	.projects__header p {
		max-width: 355px;
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.25;
	}

	.projects__separator,
	.projects__all-row,
	.projects__all,
	.projects-carousel__arrow {
		display: none;
	}

	.projects-carousel {
		margin-top: 20px;
	}

	.projects-carousel__viewport {
		overflow: visible;
		margin: 0;
	}

	.projects-carousel__track {
		display: grid;
		gap: 40px;
		transform: none;
		transition: none;
		will-change: auto;
	}

	.project-card {
		width: 100%;
		flex: none;
	}

	.project-card--additional {
		display: none;
	}

	.projects-carousel__track--expanded .project-card--additional {
		display: block;
	}

	.project-card__media {
		aspect-ratio: 355 / 360;
	}

	.project-card__overlay {
		display: none;
	}

	.project-card__title {
		margin-top: 14px;
		font-size: 18px;
		line-height: 1.3;
	}

	.projects__toggle {
		display: grid;
		width: 100%;
		height: 50px;
		margin-top: 49px;
		padding: 0;
		place-items: center;
		border: 0;
		background: rgba(185, 185, 185, 0.2);
		color: #fff;
		font: inherit;
		font-size: 16px;
		cursor: pointer;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.header__nav {
		display: none;
	}

	.header__menu {
		display: block;
	}

	.mobile-menu__panel {
		width: min(420px, 55vw);
		padding: 110px 32px max(24px, env(safe-area-inset-bottom));
	}

	.mobile-menu__logo {
		top: 18px;
		left: 24px;
		width: 106px;
	}

	.mobile-menu__close {
		top: 17px;
		right: 24px;
	}

	.mobile-menu__nav {
		gap: 14px;
		font-size: 16px;
	}

	.mobile-submenu__inner {
		gap: 11px;
		font-size: 13px;
	}

	.mobile-menu__contacts {
		gap: 10px;
		font-size: 15px;
	}

	.mobile-menu__cta {
		height: 52px;
		margin-top: 54px;
	}
}

@media (max-width: 374px) {
	.hero__content {
		left: 10px;
		width: calc(100% - 20px);
		transform: none;
	}

	.hero__content h1 {
		width: 100%;
		font-size: 28px;
	}

	.hero__content p {
		width: 100%;
		font-size: 14px;
	}
}

/* Shared service-page introduction */
.service-intro {
	overflow: hidden;
	background: #0b0d0d;
}

.service-intro__inner {
	position: relative;
	width: min(100%, 1400px);
	margin: 0 auto;
}

.breadcrumbs {
	position: absolute;
	top: 20px;
	left: 4.2857%;
	max-width: calc(100% - 120px);
	font-size: 14px;
	line-height: 1.25;
}

.breadcrumbs ol {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	list-style: none;
}

.breadcrumbs li {
	display: flex;
	color: #848484;
}

.breadcrumbs li:not(:last-child)::after {
	margin-inline: 6px;
	color: #fff;
	content: "/";
}

.breadcrumbs a {
	color: #fff;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.service-intro__line {
	position: absolute;
	top: 120px;
	left: 50%;
	width: 0.5px;
	height: 90px;
	background: rgba(255, 255, 255, 0.6);
	transform: translateX(-50%);
}

.service-intro__title,
.service-intro__lead,
.service-intro__copy {
	position: absolute;
	margin: 0;
	font-weight: 400;
}

.service-intro__title {
	top: 250px;
	left: 4.4286%;
	width: 71%;
	font-size: 26px;
	line-height: 1.25;
	text-transform: uppercase;
}

.service-intro__title span {
	color: rgba(255, 255, 255, 0.6);
}

.service-intro__lead,
.service-intro__copy {
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.service-intro__lead {
	top: 379px;
	left: 50.7143%;
	width: 45.3571%;
}

.service-intro__image {
	position: absolute;
	display: block;
	object-fit: cover;
}

.service-intro__image--main {
	top: 462px;
	left: 51.0714%;
	width: 45%;
	height: auto;
	aspect-ratio: 63 / 50;
}

.service-intro__image--accent {
	top: 530px;
	left: 4.5714%;
	width: 13.9286%;
	height: auto;
	aspect-ratio: 39 / 49;
}

.service-intro__copy {
	left: 51.0714%;
	width: 45%;
}

.service-intro__copy--first {
	top: 987px;
}

.service-intro__copy--second {
	top: 1072px;
}

@media (min-width: 1920px) {
	.service-intro__inner {
		--service-page-gutter: 60px;
		width: 100%;
	}

	.breadcrumbs {
		top: 1.3889vw;
		left: var(--service-page-gutter);
		max-width: calc(100% - (var(--service-page-gutter) * 2));
		font-size: clamp(17px, 0.9722vw, 25px);
	}

	.breadcrumbs li:not(:last-child)::after {
		margin-inline: clamp(8px, 0.4167vw, 11px);
	}

	.service-intro__line {
		top: 8.3333vw;
		height: 6.25vw;
	}

	.service-intro__title {
		top: 17.3611vw;
		left: var(--service-page-gutter);
		width: 71%;
		font-size: clamp(31px, 1.8056vw, 46px);
	}

	.service-intro__lead,
	.service-intro__copy {
		font-size: clamp(19px, 1.1111vw, 28px);
	}

	.service-intro__lead {
		top: 26.3194vw;
		left: calc(50% + 10px);
		width: calc(50% - var(--service-page-gutter) - 25px);
	}

	.service-intro__image--main {
		top: 32.0833vw;
		left: calc(50% + 15px);
		width: calc(50% - var(--service-page-gutter) - 15px);
	}

	.service-intro__image--accent {
		top: 36.8056vw;
		left: var(--service-page-gutter);
		width: 13.9286%;
	}

	.service-intro__copy {
		left: calc(50% + 15px);
		width: calc(50% - var(--service-page-gutter) - 15px);
	}

	.service-intro__copy--first {
		top: 69.75vw;
	}

	.service-intro__copy--second {
		top: 74.5vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-intro__inner {
		width: min(100%, 768px);
	}

	.breadcrumbs {
		top: 20px;
		left: 20px;
		max-width: calc(100% - 40px);
		font-size: 14px;
	}

	.service-intro__line,
	.service-intro__image {
		display: none;
	}

	.service-intro__title {
		top: 118px;
		left: 20px;
		width: min(617px, calc(100% - 40px));
		font-size: 24px;
	}

	.service-intro__lead {
		top: 253px;
		left: 20px;
		width: min(635px, calc(100% - 40px));
		font-size: 16px;
	}

	.service-intro__copy {
		left: 20px;
		width: calc(100% - 40px);
		font-size: 16px;
	}

	.service-intro__copy--first {
		top: 819px;
	}

	.service-intro__copy--second {
		top: 894px;
	}
}

@media (max-width: 767px) {
	.service-intro__inner {
		width: 100%;
	}

	.breadcrumbs {
		top: 10px;
		left: 10px;
		max-width: calc(100% - 20px);
		font-size: 12px;
	}

	.service-intro__line {
		top: 70px;
		height: 40px;
	}

	.service-intro__title {
		top: 140px;
		left: 10px;
		width: calc(100% - 20px);
		font-size: 18px;
	}

	.service-intro__lead {
		top: 270px;
		left: 10px;
		width: calc(100% - 28px);
		font-size: 14px;
	}

	.service-intro__image--main {
		top: 380px;
		left: 10px;
		width: calc(100% - 20px);
		height: 252px;
	}

	.service-intro__image--accent {
		display: none;
	}

	.service-intro__copy {
		left: 10px;
		width: calc(100% - 20px);
		font-size: 14px;
	}

	.service-intro__copy--first {
		top: 652px;
	}

	.service-intro__copy--second {
		top: 775px;
	}
}

/* Natural-flow layout shared by all service pages */
.service-intro__inner {
	width: 100%;
	padding: 20px var(--desktop-gutter) 30px;
}

.breadcrumbs {
	position: static;
	max-width: 100%;
}

.service-intro__line {
	position: static;
	display: block;
	margin: 82px auto 0;
	transform: none;
}

.service-intro__title,
.service-intro__lead,
.service-intro__copy {
	position: static;
}

.service-intro__title {
	width: min(994px, 100%);
	margin-top: 40px;
}

.service-intro__layout {
	display: grid;
	width: 100%;
	margin-top: 27px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 20px;
}

.service-intro__column--aside {
	padding-top: 155px;
}

.service-intro__image {
	position: static;
}

.service-intro__image--main {
	width: 100%;
	height: auto;
	margin-top: 23px;
	aspect-ratio: 63 / 50;
}

.service-intro__image--accent {
	width: min(195px, 100%);
	height: auto;
	aspect-ratio: 39 / 49;
}

.service-intro__lead,
.service-intro__copy {
	width: 100%;
}

.service-intro__copy {
	margin-top: 20px;
}

.service-intro__image--accent + .service-intro__copy {
	width: 100%;
	margin-top: 31px;
}

.service-intro__copy + .service-intro__copy {
	width: 91.811%;
	margin-top: 19px;
}

@media (min-width: 1200px) {
	.service-intro__column--aside {
		display: flex;
		flex-direction: column;
	}

	.service-intro__image--accent + .service-intro__copy {
		margin-top: auto;
	}
}

@media (min-width: 1920px) {
	.service-intro__inner {
		padding: 24px var(--service-page-gutter) 36px;
	}

	.service-intro__line {
		height: clamp(108px, 5.625vw, 144px);
		margin-top: clamp(99px, 5.1563vw, 132px);
	}

	.service-intro__title {
		width: min(71vw, calc(100% - var(--service-page-gutter)));
		margin-top: clamp(48px, 2.5vw, 64px);
	}

	.service-intro__layout {
		width: 100%;
		margin-top: clamp(32px, 1.6667vw, 43px);
		column-gap: clamp(40px, 2.0833vw, 53px);
	}

	.service-intro__column--aside {
		padding-top: clamp(187px, 9.7396vw, 249px);
	}

	.service-intro__image--main {
		margin-top: clamp(28px, 1.4583vw, 37px);
	}

	.service-intro__image--accent {
		width: 30.2326%;
	}

	.service-intro__copy {
		margin-top: clamp(24px, 1.25vw, 32px);
	}

	.service-intro__image--accent + .service-intro__copy {
		margin-top: auto;
	}

	.service-intro__copy + .service-intro__copy {
		margin-top: clamp(23px, 1.1979vw, 31px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-intro__inner {
		padding: 20px 20px 20px;
	}

	.service-intro__line {
		display: none;
	}

	.service-intro__title {
		width: min(617px, 100%);
		margin-top: 80px;
	}

	.service-intro__layout {
		display: flex;
		width: 100%;
		margin-top: 15px;
		flex-direction: column;
	}

	.service-intro__column--main {
		order: 1;
	}

	.service-intro__column--aside {
		margin-top: 20px;
		padding: 0;
		order: 2;
	}

	.service-intro__image {
		display: none;
	}

	.service-intro__image--main {
		display: block;
		width: 100%;
		height: auto;
		margin-top: 20px;
		aspect-ratio: 63 / 50;
	}

	.service-intro__lead {
		width: min(635px, 100%);
	}

	.service-intro__copy {
		margin-top: 20px;
	}

	.service-intro__image--accent + .service-intro__copy {
		width: 100%;
		margin-top: 0;
	}

	.service-intro__copy + .service-intro__copy {
		width: min(687px, 100%);
		margin-top: 15px;
	}
}

@media (max-width: 767px) {
	.service-intro__inner {
		width: 100%;
		padding: 10px 10px 23px;
	}

	.service-intro__line {
		display: block;
		margin-top: 29px;
	}

	.service-intro__title {
		width: 100%;
		margin-top: 30px;
	}

	.service-intro__layout {
		display: flex;
		width: 100%;
		margin-top: 13px;
		flex-direction: column;
	}

	.service-intro__column--main {
		order: 1;
	}

	.service-intro__column--aside {
		padding: 0;
		order: 2;
	}

	.service-intro__image--main {
		display: block;
		width: 100%;
		height: auto;
		margin-top: 18px;
		aspect-ratio: 355 / 252;
	}

	.service-intro__image--accent {
		display: none;
	}

	.service-intro__copy {
		margin-top: 20px;
	}

	.service-intro__image--accent + .service-intro__copy {
		width: 100%;
		margin-top: 20px;
	}

	.service-intro__copy + .service-intro__copy {
		width: 100%;
		margin-top: 18px;
	}
}

/* Shared service-page cost section */
.service-cost {
	position: relative;
	isolation: isolate;
	margin-top: 120px;
	background: var(--pm-image-888b410234, url("images/uslugi-3.webp")) center / cover no-repeat;
}

.service-cost::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	content: "";
}

.service-cost__inner {
	position: relative;
	z-index: 1;
	padding: 47px var(--desktop-gutter) 17px;
}

.service-cost__top-line,
.service-cost__media {
	display: none;
}

.service-cost__summary h2,
.service-cost__summary p,
.service-cost__factors ul,
.service-cost__details p {
	margin: 0;
}

.service-cost__summary h2 {
	width: min(542px, 100%);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.service-cost__description,
.service-cost__factors {
	width: min(559px, 100%);
	color: #bababa;
	font-size: 14px;
	line-height: 1.25;
}

.service-cost__summary .service-cost__description {
	margin-top: 19px;
}

.service-cost__factors {
	margin-top: 20px;
}

.service-cost__factors ul {
	padding-left: 21px;
}

.service-cost__divider {
	height: 1px;
	margin: 140px 0 0;
	background: rgba(255, 255, 255, 0.45);
}

.service-cost__details {
	position: relative;
	display: grid;
	margin-top: 39px;
	grid-template-columns: 44.2969% 45.2343%;
	column-gap: 10.4688%;
}

.service-cost__details::before {
	position: absolute;
	top: -40px;
	bottom: -17px;
	left: 50%;
	width: 1px;
	background: rgba(255, 255, 255, 0.45);
	content: "";
}

.service-cost__details p {
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
}

@media (min-width: 1920px) {
	.service-cost {
		--service-section-gutter: 60px;
		margin-top: clamp(144px, 7.5vw, 192px);
	}

	.service-cost__inner {
		padding: clamp(56px, 2.9375vw, 75px) var(--service-section-gutter) clamp(20px, 1.0625vw, 27px);
	}

	.service-cost__summary h2 {
		width: min(38.7143vw, 100%);
		font-size: clamp(38px, 2vw, 51px);
	}

	.service-cost__description,
	.service-cost__factors {
		width: min(39.9286vw, 100%);
		font-size: clamp(17px, 0.875vw, 22px);
	}

	.service-cost__summary .service-cost__description {
		margin-top: clamp(23px, 1.1875vw, 30px);
	}

	.service-cost__factors {
		margin-top: clamp(24px, 1.25vw, 32px);
	}

	.service-cost__factors ul {
		padding-left: clamp(25px, 1.3125vw, 34px);
	}

	.service-cost__divider {
		margin: clamp(168px, 8.75vw, 224px) 0 0;
	}

	.service-cost__details {
		margin-top: clamp(47px, 2.4375vw, 62px);
	}

	.service-cost__details::before {
		top: clamp(-63px, -2.4896vw, -48px);
		bottom: clamp(-27px, -1.0625vw, -20px);
	}

	.service-cost__details p {
		font-size: clamp(19px, 1vw, 26px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-cost {
		margin-top: 0;
		background: #0b0d0d;
	}

	.service-cost::before {
		display: none;
	}

	.service-cost__inner {
		padding: 30px 0 0;
	}

	.service-cost__top-line {
		display: block;
		width: 1px;
		height: 70px;
		margin: 0 auto;
		background: rgba(255, 255, 255, 0.45);
	}

	.service-cost__summary {
		margin-top: 50px;
		padding-inline: 20px;
	}

	.service-cost__summary h2 {
		width: min(542px, 100%);
		font-size: 32px;
	}

	.service-cost__summary .service-cost__description {
		width: min(700px, 100%);
		margin-top: 15px;
	}

	.service-cost__factors {
		margin-top: 16px;
	}

	.service-cost__divider {
		margin: 33px 20px 0;
	}

	.service-cost__details {
		display: block;
		margin-top: 30px;
		padding-inline: 20px;
	}

	.service-cost__details::before {
		display: none;
	}

	.service-cost__details p {
		width: min(700px, 100%);
		font-size: 16px;
	}

	.service-cost__details p + p {
		width: min(687px, 100%);
		margin-top: 15px;
	}

	.service-cost__media {
		display: block;
		margin-top: 80px;
		overflow: hidden;
		aspect-ratio: 775 / 339;
	}

	.service-cost__media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

@media (max-width: 767px) {
	.service-cost {
		width: 100%;
		margin: 0 auto;
		background: #0b0d0d;
	}

	.service-cost::before {
		display: none;
	}

	.service-cost__inner {
		padding: 0 10px;
	}

	.service-cost__top-line {
		display: block;
		width: 1px;
		height: 40px;
		margin: 0 auto;
		background: rgba(255, 255, 255, 0.45);
	}

	.service-cost__summary {
		margin-top: 30px;
	}

	.service-cost__summary h2 {
		width: min(340px, 100%);
		font-size: 26px;
	}

	.service-cost__summary .service-cost__description {
		width: min(333px, 100%);
		margin-top: 16px;
		color: #fff;
		font-size: 14px;
	}

	.service-cost__factors {
		width: 100%;
		margin-top: 17px;
		color: #fff;
		font-size: 14px;
	}

	.service-cost__divider {
		margin: 30px -4px 0;
	}

	.service-cost__details {
		display: block;
		margin-top: 30px;
	}

	.service-cost__details::before {
		display: none;
	}

	.service-cost__details p {
		width: 100%;
		font-size: 14px;
	}

	.service-cost__details p + p {
		margin-top: 18px;
	}

	.service-cost__media {
		display: block;
		margin-top: 22px;
		overflow: hidden;
		aspect-ratio: 355 / 277;
	}

	.service-cost__media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* Shared service-page problems section */
.service-problems {
	background: #0b0d0d;
}

.service-problems__inner {
	padding: 120px var(--desktop-gutter) 0;
}

.service-problems__line {
	display: block;
	width: 1px;
	height: 90px;
	margin-inline: auto;
	background: rgba(255, 255, 255, 0.45);
}

.service-problems h2,
.service-problems__lead,
.service-problems__item h3,
.service-problems__item p {
	margin: 0;
	font-weight: 400;
}

.service-problems h2 {
	width: min(843px, 100%);
	margin: 42px auto 0;
	font-size: 32px;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.service-problems__lead {
	width: min(635px, 100%);
	margin: 30px auto 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
	text-align: center;
}

.service-problems__list {
	margin-top: 60px;
}

.service-problems__item {
	display: grid;
	padding: 29px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.45);
	grid-template-columns: calc(50% - 10px) calc(50% - 10px);
	column-gap: 20px;
}

.service-problems__item h3 {
	width: min(364px, 100%);
	font-size: 22px;
	line-height: 1.3;
	text-transform: uppercase;
}

.service-problems__item p {
	width: min(577px, 100%);
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.service-problems__line--bottom {
	margin-top: 49px;
}

@media (min-width: 1920px) {
	.service-problems__inner {
		padding: clamp(144px, 7.5vw, 192px) 60px 0;
	}

	.service-problems__line {
		height: clamp(108px, 5.625vw, 144px);
	}

	.service-problems h2 {
		width: min(60.2143vw, 100%);
		margin-top: clamp(50px, 2.625vw, 67px);
		font-size: clamp(38px, 2vw, 51px);
	}

	.service-problems__lead {
		width: min(45.3571vw, 100%);
		margin-top: clamp(36px, 1.875vw, 48px);
		font-size: clamp(19px, 1vw, 26px);
	}

	.service-problems__list {
		margin-top: clamp(72px, 3.75vw, 96px);
	}

	.service-problems__item {
		padding-block: clamp(35px, 1.8125vw, 46px);
		grid-template-columns: calc(50% - clamp(12px, 0.625vw, 16px)) calc(50% - clamp(12px, 0.625vw, 16px));
		column-gap: clamp(24px, 1.25vw, 32px);
	}

	.service-problems__item h3 {
		width: min(26vw, 100%);
		font-size: clamp(26px, 1.375vw, 35px);
	}

	.service-problems__item p {
		width: min(41.2143vw, 100%);
		font-size: clamp(19px, 1vw, 26px);
	}

	.service-problems__line--bottom {
		margin-top: clamp(59px, 3.0625vw, 78px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-problems__inner {
		padding: 80px 20px 0;
	}

	.service-problems__line {
		display: none;
	}

	.service-problems h2 {
		width: min(843px, 100%);
		margin: 0;
		font-size: 32px;
		text-align: left;
	}

	.service-problems__lead {
		width: min(635px, 100%);
		margin: 15px 0 0;
		font-size: 16px;
		text-align: left;
	}

	.service-problems__list {
		margin-top: 30px;
	}

	.service-problems__item {
		display: block;
		padding: 29px 0 10px;
	}

	.service-problems__item:first-child {
		padding-top: 0;
		border-top: 0;
	}

	.service-problems__item:last-child {
		border-bottom: 1px solid rgba(255, 255, 255, 0.45);
	}

	.service-problems__item h3 {
		width: min(550px, 100%);
		font-size: 22px;
	}

	.service-problems__item p {
		width: min(662px, 100%);
		margin-top: 14px;
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	.service-problems {
		width: 100%;
		margin-inline: auto;
	}

	.service-problems__inner {
		padding: 70px 10px 0;
	}

	.service-problems__line {
		display: none;
	}

	.service-problems h2 {
		width: 100%;
		margin: 0;
		font-size: 26px;
		text-align: left;
	}

	.service-problems__lead {
		width: min(338px, 100%);
		margin: 17px 0 0;
		font-size: 14px;
		text-align: left;
	}

	.service-problems__list {
		margin-top: 39px;
	}

	.service-problems__item {
		display: block;
		padding: 19px 0 20px;
	}

	.service-problems__item:last-child {
		border-bottom: 1px solid rgba(255, 255, 255, 0.45);
	}

	.service-problems__item h3 {
		width: min(257px, 100%);
		font-size: 18px;
	}

	.service-problems__item p {
		width: min(343px, 100%);
		margin-top: 9px;
		font-size: 14px;
	}
}

/* Shared service-page included-work section */
.service-includes {
	background: #0b0d0d;
}

.service-includes__inner {
	display: grid;
	padding: 104px var(--desktop-gutter) 0;
	grid-template-columns: 630px minmax(0, 1fr);
	column-gap: 24px;
}

.service-includes__line {
	display: none;
}

.service-includes__media {
	display: grid;
	align-items: start;
	grid-template-columns: 197px 414px;
	column-gap: 19px;
}

.service-includes__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.service-includes__image--accent {
	aspect-ratio: 197 / 196;
}

.service-includes__image--main {
	aspect-ratio: 414 / 421;
}

.service-includes__content h2,
.service-includes__content p {
	margin: 0;
	font-weight: 400;
}

.service-includes__content h2 {
	width: min(476px, 100%);
	margin-left: 0;
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.service-includes__content p {
	width: min(529px, 100%);
	margin-top: 204px;
	color: #bababa;
	font-size: 16px;
	line-height: 1.25;
}

.service-includes__button {
	display: flex;
	width: 264px;
	min-height: 50px;
	margin-top: 27px;
	align-items: center;
	justify-content: center;
	border: 1px solid #fff;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.service-includes__button:hover,
.service-includes__button:focus-visible {
	border-color: transparent;
	background: #2e2f2f;
	color: #fff;
}

@media (min-width: 1920px) {
	.service-includes__inner {
		padding: clamp(125px, 6.5vw, 166px) 60px 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: clamp(29px, 1.5vw, 38px);
	}

	.service-includes__media {
		grid-template-columns: 197fr 414fr;
		column-gap: 3.0159%;
	}

	.service-includes__content h2 {
		width: min(clamp(571px, 29.75vw, 762px), 100%);
		margin-left: 0;
		font-size: clamp(38px, 2vw, 51px);
	}

	.service-includes__content p {
		width: min(clamp(635px, 33.0625vw, 846px), 100%);
		margin-top: clamp(245px, 12.75vw, 326px);
		font-size: clamp(19px, 1vw, 26px);
	}

	.service-includes__button {
		width: clamp(317px, 16.5vw, 422px);
		min-height: clamp(60px, 3.125vw, 80px);
		margin-top: clamp(32px, 1.6875vw, 43px);
		font-size: clamp(19px, 1vw, 26px);
	}
}

@media (min-width: 1200px) {
	.service-includes__content {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.service-includes__content p {
		margin-top: auto;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-includes__inner {
		display: flex;
		padding: 170px 20px 0;
		flex-direction: column;
	}

	.service-includes__content {
		order: 1;
	}

	.service-includes__content h2 {
		width: min(476px, 100%);
		margin-left: 0;
		font-size: 32px;
	}

	.service-includes__content p {
		width: min(643px, 100%);
		margin-top: 15px;
		font-size: 16px;
	}

	.service-includes__button {
		margin-top: 20px;
	}

	.service-includes__media {
		display: block;
		order: 2;
		margin-top: 40px;
	}

	.service-includes__image--accent {
		display: none;
	}

	.service-includes__image--main {
		width: 100%;
		aspect-ratio: 728 / 482;
		object-position: center bottom;
	}
}

@media (max-width: 767px) {
	.service-includes {
		width: 100%;
		margin-inline: auto;
	}

	.service-includes__inner {
		display: flex;
		padding: 30px 10px 0;
		flex-direction: column;
	}

	.service-includes__line {
		display: block;
		order: 0;
		width: 1px;
		height: 40px;
		margin-inline: auto;
		background: rgba(255, 255, 255, 0.45);
	}

	.service-includes__content {
		order: 1;
		margin-top: 30px;
	}

	.service-includes__content h2 {
		width: min(314px, 100%);
		margin-left: 0;
		font-size: 26px;
	}

	.service-includes__content p {
		width: min(350px, 100%);
		margin-top: 16px;
		font-size: 14px;
	}

	.service-includes__button {
		margin-top: 22px;
		margin-inline: 0;
		max-width: 100%;
		align-self: flex-start;
	}

	.service-includes__media {
		display: block;
		order: 2;
		margin-top: 30px;
	}

	.service-includes__image--accent {
		display: none;
	}

	.service-includes__image--main {
		width: 100%;
		aspect-ratio: 355 / 315;
		object-position: center bottom;
	}
}

/* Shared service-page work-scope section */
.service-tasks {
	background: #0b0d0d;
}

.service-tasks__inner {
	display: grid;
	padding: 120px var(--desktop-gutter) 0;
	grid-template-columns: 47% 50.5758%;
	grid-template-rows: auto 1fr auto;
	column-gap: 2.4242%;
}

.service-tasks h2,
.service-tasks__list,
.service-tasks__copy {
	margin-block: 0;
	font-weight: 400;
}

.service-tasks h2 {
	width: min(562px, 100%);
	margin-left: 0;
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.service-tasks__list {
	align-self: start;
	margin-top: 30px;
	padding-left: 16px;
	color: #bababa;
	font-size: 16px;
	line-height: 1.25;
}

.service-tasks__media {
	grid-area: 1 / 2 / 4 / 3;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 626 / 500;
}

.service-tasks__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.service-tasks__copy {
	align-self: end;
	width: min(538px, 100%);
	color: #bababa;
	font-size: 16px;
	line-height: 1.25;
}

@media (min-width: 1920px) {
	.service-tasks__inner {
		padding: clamp(144px, 7.5vw, 192px) 60px 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: clamp(29px, 1.5vw, 38px);
	}

	.service-tasks h2 {
		width: min(clamp(674px, 35.125vw, 899px), 100%);
		margin-left: 0;
		font-size: clamp(38px, 2vw, 51px);
	}

	.service-tasks__list {
		margin-top: clamp(36px, 1.875vw, 48px);
		padding-left: clamp(19px, 1vw, 26px);
		font-size: clamp(19px, 1vw, 26px);
	}

	.service-tasks__copy {
		width: min(clamp(646px, 33.625vw, 861px), 100%);
		font-size: clamp(19px, 1vw, 26px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-tasks__inner {
		display: flex;
		padding: 80px 20px;
		flex-direction: column;
	}

	.service-tasks h2 {
		width: min(562px, 100%);
		margin-left: 0;
		font-size: 32px;
	}

	.service-tasks__list {
		width: min(715px, calc(100% + 6px));
		margin-top: 15px;
		margin-left: -6px;
		padding-left: 24px;
		font-size: 16px;
	}

	.service-tasks__media {
		display: none;
	}

	.service-tasks__copy {
		align-self: flex-start;
		width: min(685px, 100%);
		margin-top: 15px;
		font-size: 16px;
	}

}

@media (max-width: 767px) {
	.service-tasks {
		width: 100%;
		margin-inline: auto;
	}

	.service-tasks__inner {
		display: flex;
		padding: 70px 10px 0;
		flex-direction: column;
	}

	.service-tasks h2 {
		width: 100%;
		margin-left: 0;
		font-size: 26px;
	}

	.service-tasks__list {
		width: calc(100% + 10px);
		margin-top: 16px;
		margin-left: -10px;
		padding-left: 21px;
		font-size: 14px;
	}

	.service-tasks__media {
		display: block;
		order: initial;
		margin-top: 22px;
		aspect-ratio: 355 / 270;
	}

	.service-tasks__copy {
		width: 100%;
		margin-top: 20px;
		font-size: 14px;
	}
}

/* Shared service-page planning accordion */
.service-planning {
	position: relative;
	isolation: isolate;
	min-height: 710px;
	margin-top: 120px;
	background: var(--pm-image-b2a91b5c36, url("images/uslugi-7.webp")) center / cover no-repeat;
}

.service-planning__inner {
	display: grid;
	min-height: 710px;
	padding: 120px var(--desktop-gutter) 122px;
	grid-template-columns: 47.7273% 50.606%;
	grid-template-rows: auto 1fr;
	column-gap: 1.6667%;
}

.service-planning__content {
	padding: 0;
}

.service-planning h2,
.service-planning__content p,
.service-accordion h3,
.service-accordion__answer p {
	margin: 0;
	font-weight: 400;
}

.service-planning h2 {
	width: min(643px, 100%);
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.service-planning__content p {
	width: min(518px, 100%);
	margin-top: 20px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.service-planning__button {
	display: flex;
	width: 264px;
	min-height: 50px;
	margin: 38px 0 0;
	align-items: center;
	justify-content: center;
	align-self: start;
	border: 1px solid #fff;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	text-decoration: none;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.service-planning__button:hover,
.service-planning__button:focus-visible {
	border-color: #fff;
	background: #fff;
	color: #0b0d0d;
}

.service-accordion {
	grid-area: 1 / 2 / 3 / 3;
}

.service-accordion__item {
	overflow: hidden;
	background: rgba(185, 185, 185, 0.2);
	backdrop-filter: blur(6px);
}

.service-accordion__item + .service-accordion__item {
	margin-top: 10px;
}

.service-accordion__trigger {
	display: flex;
	width: 100%;
	min-height: 90px;
	padding: 10px 18px 10px 30px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 20px;
	line-height: normal;
	text-align: left;
	text-transform: uppercase;
	cursor: pointer;
}

.service-accordion__trigger span {
	width: min(355px, calc(100% - 45px));
}

.service-accordion__trigger img {
	display: block;
	width: 13px;
	height: 8px;
	margin-right: 0;
	flex: 0 0 13px;
	transition: transform 350ms ease;
}

.service-accordion__item--open .service-accordion__trigger img {
	transform: rotate(180deg);
}

.service-accordion__answer {
	display: grid;
	grid-template-rows: 0fr;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.15;
	opacity: 0;
	transition: grid-template-rows 450ms cubic-bezier(0.22, 1, 0.36, 1), opacity 250ms ease;
}

.service-accordion__answer > div {
	overflow: hidden;
}

.service-accordion__answer p {
	width: min(507px, calc(100% - 60px));
	margin: 0 30px 23px;
}

.service-accordion__item--open .service-accordion__answer {
	grid-template-rows: 1fr;
	opacity: 1;
}

@media (min-width: 1920px) {
	.service-planning {
		margin-top: clamp(144px, 7.5vw, 192px);
	}

	.service-planning,
	.service-planning__inner {
		min-height: clamp(852px, 44.375vw, 1136px);
	}

	.service-planning__inner {
		padding: clamp(144px, 7.5vw, 192px) 60px clamp(146px, 7.625vw, 195px);
	}

	.service-planning__content {
		padding-top: 0;
		padding-left: 0;
	}

	.service-planning h2 {
		width: min(clamp(772px, 40.1875vw, 1029px), 100%);
		font-size: clamp(38px, 2vw, 51px);
	}

	.service-planning__content p {
		width: min(clamp(622px, 32.375vw, 829px), 100%);
		margin-top: clamp(24px, 1.25vw, 32px);
		font-size: clamp(19px, 1vw, 26px);
	}

	.service-planning__button {
		width: clamp(317px, 16.5vw, 422px);
		min-height: clamp(60px, 3.125vw, 80px);
		margin-top: clamp(46px, 2.375vw, 61px);
		margin-left: 0;
		font-size: clamp(19px, 1vw, 26px);
	}

	.service-accordion__item + .service-accordion__item {
		margin-top: clamp(12px, 0.625vw, 16px);
	}

	.service-accordion__trigger {
		min-height: clamp(108px, 5.625vw, 144px);
		padding-inline: clamp(36px, 1.875vw, 48px) clamp(22px, 1.125vw, 29px);
		font-size: clamp(24px, 1.25vw, 32px);
	}

	.service-accordion__trigger span {
		width: min(clamp(426px, 22.1875vw, 568px), calc(100% - 55px));
	}

	.service-accordion__trigger img {
		width: clamp(16px, 0.8125vw, 21px);
		height: clamp(10px, 0.5vw, 13px);
		flex-basis: clamp(16px, 0.8125vw, 21px);
	}

	.service-accordion__answer {
		font-size: clamp(19px, 1vw, 26px);
	}

	.service-accordion__answer p {
		width: min(clamp(608px, 31.6875vw, 811px), calc(100% - clamp(72px, 3.75vw, 96px)));
		margin-right: clamp(36px, 1.875vw, 48px);
		margin-bottom: clamp(38px, 2vw, 51px);
		margin-left: clamp(36px, 1.875vw, 48px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-planning,
	.service-planning__inner {
		min-height: 934px;
	}

	.service-planning {
		margin-top: 0;
		background-position: 42% center;
	}

	.service-planning__inner {
		display: flex;
		padding: 80px 14px;
		flex-direction: column;
	}

	.service-planning__content {
		padding: 0;
	}

	.service-planning h2 {
		width: min(643px, 100%);
		font-size: 32px;
	}

	.service-planning__content p {
		width: min(518px, 100%);
		margin-top: 20px;
		font-size: 16px;
	}

	.service-planning__button {
		order: 1;
		margin: 38px 0 0;
	}

	.service-accordion {
		width: calc(100% - 5px);
		order: 2;
		margin-top: 38px;
	}
}

@media (max-width: 767px) {
	.service-planning,
	.service-planning__inner {
		min-height: 816px;
	}

	.service-planning {
		width: 100%;
		margin-top: 70px;
		margin-inline: auto;
		background-position: 21.5% center;
	}

	.service-planning__inner {
		display: flex;
		padding: 70px 10px;
		flex-direction: column;
	}

	.service-planning__content {
		order: 0;
		padding: 0;
	}

	.service-planning h2 {
		width: min(319px, 100%);
		font-size: 26px;
	}

	.service-planning__content p {
		width: 100%;
		margin-top: 16px;
		font-size: 14px;
	}

	.service-accordion {
		width: 100%;
		order: 1;
		margin-top: 18px;
	}

	.service-accordion__item + .service-accordion__item {
		margin-top: 10px;
	}

	.service-accordion__trigger {
		min-height: 72px;
		padding: 10px 10px 10px 15px;
		font-size: 18px;
	}

	.service-accordion__trigger span {
		width: min(265px, calc(100% - 35px));
	}

	.service-accordion__answer {
		font-size: 14px;
	}

	.service-accordion__answer p {
		width: min(288px, calc(100% - 45px));
		margin: 1px 15px 16px;
	}

	.service-planning__button {
		order: 2;
		margin: 25px 0 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.service-accordion__answer,
	.service-accordion__trigger img {
		transition: none;
	}
}

/* Shared service-page sticky benefits section */
.service-benefits {
	background: #0b0d0d;
}

.service-benefits__inner {
	display: grid;
	min-height: 806px;
	padding-inline: 60px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-benefits__intro {
	padding: 130px 30px 0 0;
}

.service-benefits__image {
	display: block;
	width: 157px;
	height: auto;
	aspect-ratio: 157 / 176;
	object-fit: cover;
	object-position: center;
}

.service-benefits h2,
.service-benefits__lead,
.service-benefits__item h3,
.service-benefits__item p {
	margin: 0;
	font-weight: 400;
}

.service-benefits h2 {
	width: min(643px, 100%);
	margin-top: 30px;
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.service-benefits__lead {
	width: min(440px, 100%);
	margin-top: 26px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.service-benefits__list {
	padding-top: 130px;
	border-left: 0.5px solid rgba(255, 255, 255, 0.35);
}

.service-benefits__item {
	min-height: 159px;
	padding: 43px 29px 25px;
	border-top: 0.5px solid rgba(255, 255, 255, 0.35);
}

.service-benefits__item:first-child {
	min-height: 199px;
}

.service-benefits__item:last-child {
	border-bottom: 0.5px solid rgba(255, 255, 255, 0.35);
}

.service-benefits__item h3 {
	width: min(497px, 100%);
	color: #ebebeb;
	font-size: 19.335px;
	line-height: 1.15;
	text-transform: uppercase;
}

.service-benefits__item p {
	width: min(496px, 100%);
	margin-top: 11px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.15;
}

@media (min-width: 1200px) {
	.service-benefits__intro {
		position: sticky;
		top: 80px;
		align-self: start;
	}
}

@media (min-width: 1920px) {
	.service-benefits__inner {
		min-height: clamp(967px, 50.375vw, 1290px);
	}

	.service-benefits__intro {
		top: clamp(100px, 5.208vw, 133px);
		padding-top: clamp(156px, 8.125vw, 208px);
		padding-right: clamp(36px, 1.875vw, 48px);
	}

	.service-benefits__image {
		width: clamp(188px, 9.8125vw, 251px);
	}

	.service-benefits h2 {
		width: min(clamp(772px, 40.1875vw, 1029px), 100%);
		margin-top: clamp(36px, 1.875vw, 48px);
		font-size: clamp(38px, 2vw, 51px);
	}

	.service-benefits__lead {
		width: min(clamp(528px, 27.5vw, 704px), 100%);
		margin-top: clamp(31px, 1.625vw, 42px);
		font-size: clamp(19px, 1vw, 26px);
	}

	.service-benefits__list {
		padding-top: clamp(156px, 8.125vw, 208px);
	}

	.service-benefits__item {
		min-height: clamp(191px, 9.9375vw, 254px);
		padding: clamp(52px, 2.6875vw, 69px) clamp(35px, 1.8125vw, 46px) clamp(30px, 1.5625vw, 40px);
	}

	.service-benefits__item:first-child {
		min-height: clamp(239px, 12.4375vw, 318px);
	}

	.service-benefits__item h3 {
		width: min(clamp(596px, 31.0625vw, 795px), 100%);
		font-size: clamp(23px, 1.208vw, 31px);
	}

	.service-benefits__item p {
		width: min(clamp(595px, 31vw, 794px), 100%);
		margin-top: clamp(13px, 0.6875vw, 18px);
		font-size: clamp(19px, 1vw, 26px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-benefits__inner {
		display: block;
		min-height: 901px;
		padding: 80px 20px 0;
	}

	.service-benefits__intro {
		padding: 0;
	}

	.service-benefits__image {
		display: none;
	}

	.service-benefits h2 {
		width: min(643px, 100%);
		margin-top: 0;
		font-size: 32px;
	}

	.service-benefits__lead {
		width: min(582px, 100%);
		margin-top: 15px;
		font-size: 16px;
	}

	.service-benefits__list {
		width: min(643px, 100%);
		margin-top: 40px;
		padding-top: 0;
	}

	.service-benefits__item {
		min-height: 153px;
		padding: 39px 24px 28px;
		border-top: 0;
		border-bottom: 0.5px solid rgba(255, 255, 255, 0.35);
	}

	.service-benefits__item:first-child {
		min-height: 161px;
	}

	.service-benefits__item:last-child {
		min-height: 159px;
		border-bottom: 0;
	}

	.service-benefits__item h3 {
		font-size: 19.335px;
	}

	.service-benefits__item p {
		width: min(568px, 100%);
		margin-top: 13px;
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	.service-benefits {
		width: 100%;
		margin-inline: auto;
	}

	.service-benefits__inner {
		display: block;
		min-height: 973px;
		padding: 70px 10px 0;
	}

	.service-benefits__intro {
		padding: 0;
	}

	.service-benefits__image {
		display: none;
	}

	.service-benefits h2 {
		width: min(310px, 100%);
		margin-top: 0;
		font-size: 26px;
	}

	.service-benefits__lead {
		width: min(333px, 100%);
		margin-top: 16px;
		font-size: 14px;
	}

	.service-benefits__list {
		width: 100%;
		margin-top: 32px;
		padding-top: 0;
	}

	.service-benefits__item {
		min-height: 167px;
		padding: 32px 15px 31px;
		border-top: 0;
		border-bottom: 0.5px solid rgba(255, 255, 255, 0.35);
	}

	.service-benefits__item:first-child {
		min-height: 166px;
	}

	.service-benefits__item:nth-child(3) {
		min-height: 172px;
	}

	.service-benefits__item:last-child {
		min-height: 182px;
		border-bottom: 0;
	}

	.service-benefits__item h3 {
		font-size: 18px;
	}

	.service-benefits__item p {
		width: min(314px, 100%);
		margin-top: 9px;
		font-size: 14px;
	}
}

/* Shared service-page repair stages carousel */
.service-steps {
	overflow: hidden;
	background: #0b0d0d;
}

.service-steps__inner {
	position: relative;
	box-sizing: border-box;
	padding: 130px 60px 120px;
}

.service-steps__header {
	width: min(472px, 100%);
	padding-top: 32px;
}

.service-steps__header h2,
.service-steps__header p,
.service-steps__card h3,
.service-steps__card p {
	margin: 0;
	font-weight: 400;
}

.service-steps__header h2 {
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.service-steps__header p {
	width: min(409px, 100%);
	margin-top: 20px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.service-steps__layout {
	margin-top: 84px;
}

.service-steps__carousel {
	position: relative;
	width: 59.0278vw;
}

.service-steps__viewport {
	overflow: hidden;
}

.service-steps__track {
	display: flex;
	align-items: stretch;
	gap: 20px;
	transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.service-steps__card {
	box-sizing: border-box;
	min-width: 0;
	min-height: 262px;
	padding: 44px 44px 35px;
	border: 1px solid #4a4a4a;
	flex: 0 0 calc((59.0278vw - 20px) / 2);
}

.service-steps__number {
	display: block;
	color: #bababa;
	font-size: 14px;
	font-style: italic;
	line-height: 1.25;
}

.service-steps__card h3 {
	margin-top: 12px;
	color: #fff;
	font-size: 22px;
	line-height: 1.3;
	text-transform: uppercase;
}

.service-steps__card p {
	width: min(289px, 100%);
	margin-top: 40px;
	color: #bababa;
	font-size: 16px;
	line-height: 1.25;
}

.service-steps__image {
	position: absolute;
	top: 130px;
	left: 67.6389vw;
	display: block;
	width: calc(100% - 67.6389vw - var(--desktop-gutter));
	height: calc(100% - 130px - 120px);
	object-fit: cover;
}

.service-steps__arrow {
	position: absolute;
	z-index: 2;
	top: 115px;
	display: grid;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	place-items: center;
	background: transparent;
	cursor: pointer;
}

.service-steps__arrow img {
	display: block;
	width: 32px;
	height: 32px;
}

.service-steps__arrow--prev img {
	transform: rotate(180deg);
}

.service-steps__arrow--prev {
	left: -40px;
}

.service-steps__arrow--next {
	right: -40px;
}

.service-steps__arrow:disabled {
	opacity: 0.35;
	cursor: default;
}

.service-steps__viewport:focus-visible,
.service-steps__arrow:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 4px;
}

@media (min-width: 1920px) {
	.service-steps__inner {
		padding-top: clamp(173px, 9.0278vw, 231px);
		padding-bottom: 120px;
	}

	.service-steps__header {
		width: min(clamp(629px, 32.7778vw, 839px), 100%);
		padding-top: clamp(43px, 2.2222vw, 57px);
	}

	.service-steps__header h2 {
		font-size: clamp(43px, 2.2222vw, 57px);
	}

	.service-steps__header p {
		width: min(clamp(545px, 28.4028vw, 727px), 100%);
		margin-top: clamp(27px, 1.3889vw, 36px);
		font-size: clamp(21px, 1.1111vw, 28px);
	}

	.service-steps__layout {
		margin-top: clamp(112px, 5.8333vw, 149px);
	}

	.service-steps__track {
		gap: clamp(27px, 1.3889vw, 36px);
	}

	.service-steps__card {
		min-height: clamp(349px, 18.1944vw, 466px);
		padding: clamp(59px, 3.0556vw, 78px) clamp(59px, 3.0556vw, 78px) clamp(47px, 2.4306vw, 62px);
		flex-basis: calc((59.0278vw - clamp(27px, 1.3889vw, 36px)) / 2);
	}

	.service-steps__number {
		font-size: clamp(19px, 0.9722vw, 25px);
	}

	.service-steps__card h3 {
		margin-top: clamp(16px, 0.8333vw, 21px);
		font-size: clamp(29px, 1.5278vw, 39px);
	}

	.service-steps__card p {
		width: min(clamp(385px, 20.0694vw, 514px), 100%);
		margin-top: clamp(53px, 2.7778vw, 71px);
		font-size: clamp(21px, 1.1111vw, 28px);
	}

	.service-steps__image {
		top: clamp(173px, 9.0278vw, 231px);
		height: calc(100% - clamp(173px, 9.0278vw, 231px) - 120px);
	}

	.service-steps__arrow {
		top: clamp(153px, 7.9861vw, 204px);
		width: clamp(43px, 2.2222vw, 57px);
		height: clamp(43px, 2.2222vw, 57px);
	}

	.service-steps__arrow img {
		width: 100%;
		height: 100%;
	}

	.service-steps__arrow--prev {
		left: clamp(-71px, -2.7778vw, -53px);
	}

	.service-steps__arrow--next {
		right: clamp(-71px, -2.7778vw, -53px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-steps__inner {
		padding: 80px 20px;
	}

	.service-steps__header {
		margin-left: 0;
		padding-top: 0;
	}

	.service-steps__header h2 {
		font-size: 32px;
	}

	.service-steps__header p {
		margin-top: 15px;
		font-size: 16px;
	}

	.service-steps__layout {
		margin-top: 30px;
	}

	.service-steps__carousel {
		width: calc(100% + 20px);
	}

	.service-steps__viewport {
		width: 100%;
		overflow-x: auto;
		scrollbar-width: none;
		scroll-snap-type: x mandatory;
	}

	.service-steps__viewport::-webkit-scrollbar {
		display: none;
	}

	.service-steps__track {
		gap: 21px;
		width: max-content;
		will-change: auto;
	}

	.service-steps__card {
		width: 413px;
		min-height: 262px;
		padding: 44px 44px 35px;
		flex-basis: 413px;
		scroll-snap-align: start;
	}

	.service-steps__image,
	.service-steps__arrow {
		display: none;
	}
}

@media (max-width: 767px) {
	.service-steps {
		width: 100%;
		margin-inline: auto;
	}

	.service-steps__inner {
		padding: 70px 10px 60px;
	}

	.service-steps__header {
		width: min(334px, 100%);
		margin-left: 0;
		padding-top: 0;
	}

	.service-steps__header h2 {
		font-size: 26px;
	}

	.service-steps__header p {
		width: min(321px, 100%);
		margin-top: 15px;
		font-size: 14px;
	}

	.service-steps__layout {
		margin-top: 16px;
	}

	.service-steps__carousel {
		width: calc(100% + 10px);
	}

	.service-steps__viewport {
		width: 100%;
		overflow-x: auto;
		scrollbar-width: none;
		scroll-snap-type: x mandatory;
	}

	.service-steps__viewport::-webkit-scrollbar {
		display: none;
	}

	.service-steps__track {
		gap: 10px;
		width: max-content;
		will-change: auto;
	}

	.service-steps__card {
		width: 296px;
		min-height: 174px;
		padding: 24px;
		flex-basis: 296px;
		scroll-snap-align: start;
	}

	.service-steps__card h3 {
		margin-top: 10px;
		font-size: 18px;
	}

	.service-steps__card p {
		width: 100%;
		margin-top: 10px;
		font-size: 14px;
	}

	.service-steps__image,
	.service-steps__arrow {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.service-steps__track {
		transition: none;
	}
}

/* Shared full-width parallax image for service pages */
.parallax-banner {
	overflow: hidden;
	width: 100%;
}

.parallax-banner__media {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1400 / 535;
}

.parallax-banner__image {
	position: absolute;
	top: -160.78%;
	left: 0;
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	transform: translate3d(0, var(--parallax-banner-y, 0), 0);
	transition: transform 50ms linear;
	will-change: transform;
}

@media (min-width: 768px) and (max-width: 1199px) {
	.parallax-banner__media {
		aspect-ratio: 770 / 419;
	}

	.parallax-banner__image {
		top: -85.76%;
	}
}

@media (max-width: 767px) {
	.parallax-banner__media {
		width: 127.7333%;
		aspect-ratio: 479 / 205;
	}

	.parallax-banner__image {
		top: -151.65%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.parallax-banner__image {
		transform: none;
		transition: none;
		will-change: auto;
	}
}

/* Shared service-page sticky accordion */
.service-trust {
	background: #0b0d0d;
}

.service-trust__inner {
	position: relative;
	display: grid;
	box-sizing: border-box;
	padding: 0 60px 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-trust__line {
	position: absolute;
	top: 55px;
	left: 50%;
	width: 0.5px;
	height: 90px;
	background: rgba(255, 255, 255, 0.35);
}

.service-trust__intro {
	width: min(577px, 100%);
	margin-top: 230px;
	align-self: start;
}

.service-trust__intro h2,
.service-trust__intro p,
.service-trust__item h3,
.service-trust__answer p {
	margin: 0;
	font-weight: 400;
}

.service-trust__intro h2 {
	color: #ebebeb;
	font-size: 32px;
	line-height: 1.05;
	text-transform: uppercase;
}

.service-trust__intro p {
	width: min(490px, 100%);
	margin-top: 20px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.15;
}

.service-trust__accordion {
	margin-left: 10px;
	padding-top: 201px;
}

.service-trust__item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.service-trust__item h3 {
	font-size: inherit;
}

.service-trust__trigger {
	display: flex;
	width: 100%;
	min-height: 89px;
	padding: 0;
	border: 0;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	color: #ebebeb;
	font: inherit;
	font-size: 19.335px;
	font-weight: 400;
	line-height: 1.15;
	text-align: left;
	text-transform: uppercase;
	background: transparent;
	cursor: pointer;
}

.service-trust__item:last-child .service-trust__trigger {
	min-height: 96px;
}

.service-trust__icon {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
}

.service-trust__icon img {
	position: absolute;
	inset: 0;
	display: block;
	width: 24px;
	height: 24px;
	transition: opacity 220ms ease;
}

.service-trust__minus {
	opacity: 0;
}

.service-trust__answer {
	display: grid;
	grid-template-rows: 0fr;
	visibility: hidden;
	transition: grid-template-rows 350ms ease, visibility 350ms;
}

.service-trust__answer > div {
	overflow: hidden;
}

.service-trust__answer p {
	width: min(520px, calc(100% - 48px));
	padding: 0 0 30px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.service-trust__item--open .service-trust__answer {
	grid-template-rows: 1fr;
	visibility: visible;
}

.service-trust__item--open .service-trust__plus {
	opacity: 0;
}

.service-trust__item--open .service-trust__minus {
	opacity: 1;
}

.service-trust__trigger:focus-visible {
	outline: 1px solid #fff;
	outline-offset: -3px;
}

@media (min-width: 1200px) {
	.service-trust__intro {
		position: sticky;
		top: 100px;
	}
}

@media (min-width: 1920px) {
	.service-trust__inner {
		padding-bottom: clamp(13px, 0.6944vw, 18px);
	}

	.service-trust__line {
		top: clamp(73px, 3.8194vw, 98px);
		height: clamp(120px, 6.25vw, 160px);
	}

	.service-trust__intro {
		width: min(clamp(769px, 40.0694vw, 1026px), 100%);
		margin-top: clamp(307px, 15.9722vw, 409px);
		top: clamp(100px, 5.2083vw, 133px);
	}

	.service-trust__intro h2 {
		font-size: clamp(43px, 2.2222vw, 57px);
	}

	.service-trust__intro p {
		width: min(clamp(653px, 34.0278vw, 871px), 100%);
		margin-top: clamp(27px, 1.3889vw, 36px);
		font-size: clamp(21px, 1.1111vw, 28px);
	}

	.service-trust__accordion {
		margin-left: clamp(13px, 0.6944vw, 18px);
		padding-top: clamp(268px, 13.9583vw, 357px);
	}

	.service-trust__trigger {
		min-height: clamp(119px, 6.1806vw, 158px);
		gap: clamp(32px, 1.6667vw, 43px);
		font-size: clamp(26px, 1.3427vw, 34px);
	}

	.service-trust__item:last-child .service-trust__trigger {
		min-height: clamp(128px, 6.6667vw, 171px);
	}

	.service-trust__icon {
		width: clamp(32px, 1.6667vw, 43px);
		height: clamp(32px, 1.6667vw, 43px);
		flex-basis: clamp(32px, 1.6667vw, 43px);
	}

	.service-trust__icon img {
		width: 100%;
		height: 100%;
	}

	.service-trust__answer p {
		width: min(clamp(693px, 36.1111vw, 924px), calc(100% - 64px));
		padding-bottom: clamp(40px, 2.0833vw, 53px);
		font-size: clamp(21px, 1.1111vw, 28px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.service-trust__inner {
		display: block;
		padding: 0 20px;
	}

	.service-trust__line {
		top: 80px;
		height: 70px;
	}

	.service-trust__intro {
		width: min(639px, 100%);
		margin-top: 0;
		padding-top: 200px;
	}

	.service-trust__intro h2 {
		width: min(577px, 100%);
		font-size: 32px;
	}

	.service-trust__intro p {
		width: 100%;
		margin-top: 15px;
		font-size: 16px;
	}

	.service-trust__accordion {
		margin: 4px 0 0;
		padding-top: 0;
	}

	.service-trust__trigger {
		min-height: 89px;
		font-size: 19.335px;
	}

	.service-trust__item:last-child .service-trust__trigger {
		min-height: 96px;
	}
}

@media (max-width: 767px) {
	.service-trust {
		width: 100%;
		margin-inline: auto;
	}

	.service-trust__inner {
		display: block;
		padding: 0 10px;
	}

	.service-trust__line {
		top: 30px;
		height: 40px;
	}

	.service-trust__intro {
		width: 100%;
		margin-top: 0;
		padding-top: 100px;
	}

	.service-trust__intro h2 {
		font-size: 26px;
		line-height: 1.25;
	}

	.service-trust__intro p {
		width: min(345px, 100%);
		margin-top: 15px;
		font-size: 14px;
	}

	.service-trust__accordion {
		margin: 9px 0 0;
		padding-top: 0;
	}

	.service-trust__trigger {
		min-height: 81px;
		gap: 12px;
		font-size: 18px;
	}

	.service-trust__item:last-child .service-trust__trigger {
		min-height: 102px;
	}

	.service-trust__answer p {
		width: min(315px, calc(100% - 40px));
		padding-bottom: 24px;
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.service-trust__answer,
	.service-trust__icon img {
		transition: none;
	}
}

/* Unified mobile rhythm for service pages */
@media (max-width: 767px) {
	.service-page .service-intro__inner {
		padding-bottom: var(--mobile-section-gap);
	}

	.service-page .service-intro__title,
	.service-page .service-cost__summary,
	.service-page .service-includes__content {
		margin-top: var(--mobile-gap-line-text);
	}

	.service-page .service-intro__layout,
	.service-page .service-intro__copy + .service-intro__copy,
	.service-page .service-cost__summary .service-cost__description,
	.service-page .service-cost__factors,
	.service-page .service-cost__details p + p,
	.service-page .service-problems__lead,
	.service-page .service-problems__item p,
	.service-page .service-includes__content p,
	.service-page .service-tasks__list,
	.service-page .service-planning__content p,
	.service-page .service-benefits__lead,
	.service-page .service-benefits__item p,
	.service-page .service-steps__header p,
	.service-page .service-steps__card h3,
	.service-page .service-steps__card p,
	.service-page .service-trust__intro p,
	.service-page .service-trust__accordion,
	.service-page .projects__header p,
	.service-page .request__copy,
	.service-page .request__copy p + p,
	.service-page .faq__list {
		margin-top: var(--mobile-gap-text);
	}

	.service-page .service-cost__factors ul {
		margin-top: var(--mobile-gap-text);
	}

	.service-page .service-intro__image--main,
	.service-page .service-cost__media,
	.service-page .service-includes__media,
	.service-page .service-tasks__media,
	.service-page .service-steps__layout,
	.service-page .projects-carousel {
		margin-top: var(--mobile-gap-text-image);
	}

	.service-page .service-intro__image--accent + .service-intro__copy,
	.service-page .service-tasks__copy,
	.service-page .project-card__title {
		margin-top: var(--mobile-gap-text-image);
	}

	.service-page .service-includes__button {
		margin-top: var(--mobile-gap-text-image);
	}

	.service-page .service-intro__image--main,
	.service-page .service-cost__media,
	.service-page .service-includes__image--main,
	.service-page .service-tasks__media,
	.service-page .request-slider {
		height: var(--mobile-visual-height);
		aspect-ratio: auto;
	}

	.service-page .parallax-banner__media {
		height: var(--mobile-visual-height);
		aspect-ratio: auto;
	}

	.service-page .project-card__media {
		height: var(--mobile-card-height);
		aspect-ratio: auto;
	}

	.service-page .service-problems__inner,
	.service-page .service-tasks__inner {
		padding-top: var(--mobile-section-gap);
	}

	.service-page .service-includes__inner {
		padding-top: var(--mobile-section-gap);
	}

	.service-page .service-planning {
		margin-top: var(--mobile-section-gap);
		background-color: #0b0d0d;
		background-position: 21.5% top;
		background-size: auto 816px;
	}

	.service-page .service-planning,
	.service-page .service-planning__inner,
	.service-page .service-benefits__inner {
		min-height: 0;
	}

	.service-page .service-planning__inner {
		padding: var(--mobile-section-gap) 10px;
	}

	.service-page .service-benefits__inner {
		padding-top: var(--mobile-section-gap);
	}

	.service-page .service-problems__list,
	.service-page .service-benefits__list {
		margin-top: var(--mobile-gap-line-text);
	}

	.service-page .service-steps__inner {
		padding-top: var(--mobile-section-gap);
		padding-bottom: var(--mobile-section-gap);
	}

	.service-page .service-trust__line {
		top: var(--mobile-section-gap);
	}

	.service-page .service-trust__intro {
		padding-top: calc(var(--mobile-section-gap) + 40px + var(--mobile-gap-line-text));
	}

	.service-page .projects {
		margin-top: var(--mobile-section-gap);
		padding-top: 0;
	}

	.service-page .request {
		margin-top: var(--mobile-section-gap);
	}

	.service-page .faq {
		padding-top: var(--mobile-section-gap);
	}

	.service-page .faq__question {
		grid-template-columns: 26px minmax(0, 1fr);
		column-gap: 6px;
	}

	.service-page .faq__answer p {
		margin-left: calc(4px + 26px + 6px);
	}
}

.story {
	overflow: hidden;
	background: #0b0d0d;
}

.story__inner {
	position: relative;
	width: min(100%, 1400px);
	margin: 0 auto;
	aspect-ratio: 1400 / 1202;
}

.story__eyebrow,
.story__title,
.story__lead,
.story__intro,
.story__copy p {
	margin: 0;
	font-weight: 400;
}

.story__eyebrow {
	position: absolute;
	top: 9.65%;
	left: 50%;
	color: rgba(255, 255, 255, 0.5);
	font-size: 14px;
	line-height: normal;
	text-transform: uppercase;
	transform: translateX(-50%);
}

.story__line {
	position: absolute;
	left: 50%;
	width: 0.5px;
	height: 90px;
	background: rgba(255, 255, 255, 0.6);
	transform: translateX(-50%);
}

.story__line--top {
	top: 12.98%;
}

.story__title {
	position: absolute;
	top: 22.13%;
	left: 50%;
	width: 66.5%;
	font-size: 32px;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	transform: translateX(-50%);
}

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

.story__lead {
	position: absolute;
	top: 34.11%;
	left: 50%;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
	text-align: center;
	transform: translateX(-50%);
	white-space: nowrap;
}

.story__line--middle {
	top: 37.44%;
}

.story__image {
	position: absolute;
	display: block;
	object-fit: cover;
}

.story__image--main {
	top: 50.75%;
	left: 0;
	width: 49.29%;
	height: 49%;
}

.story__image--accent {
	top: 50.75%;
	left: 53.14%;
	width: 12.71%;
	height: 16.97%;
}

.story__intro {
	position: absolute;
	top: 85.11%;
	left: 52%;
	width: 40.5%;
	color: rgba(255, 255, 255, 0.6);
	font-size: 16px;
	line-height: 1.25;
}

.story__copy {
	position: absolute;
	top: 88.35%;
	left: 52%;
	width: 42.21%;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.story__copy p + p {
	margin-top: 20px;
}

.story__line--bottom {
	display: none;
}

@media (min-width: 1920px) {
	.story__inner {
		width: clamp(1680px, 87.5vw, 2240px);
	}

	.story__eyebrow {
		font-size: clamp(16.8px, 0.875vw, 22.4px);
	}

	.story__title {
		font-size: clamp(38.4px, 2vw, 51.2px);
	}

	.story__lead,
	.story__intro,
	.story__copy {
		font-size: clamp(19.2px, 1vw, 25.6px);
	}

	.story__line {
		height: clamp(108px, 5.625vw, 144px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.story__inner {
		display: grid;
		width: 100%;
		height: auto;
		padding: 70px 32px 80px;
		aspect-ratio: auto;
		grid-template-areas:
			"eyebrow"
			"top-line"
			"title"
			"lead"
			"middle-line"
			"main-image"
			"intro"
			"copy";
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
	}

	.story__eyebrow {
		position: static;
		grid-area: eyebrow;
		justify-self: center;
		transform: none;
	}

	.story__line {
		position: relative;
		top: auto;
		left: auto;
		width: 0.5px;
		height: 60px;
		justify-self: center;
		transform: none;
	}

	.story__line--top {
		grid-area: top-line;
		margin-top: 20px;
	}

	.story__title {
		position: static;
		width: min(100%, 820px);
		margin-top: 30px;
		grid-area: title;
		justify-self: center;
		font-size: clamp(24px, 3vw, 30px);
		transform: none;
	}

	.story__lead {
		position: static;
		width: min(100%, 560px);
		margin-top: 18px;
		grid-area: lead;
		justify-self: center;
		font-size: 15px;
		transform: none;
		white-space: normal;
	}

	.story__line--middle {
		margin-top: 35px;
		grid-area: middle-line;
	}

	.story__image--main {
		position: relative;
		top: auto;
		left: auto;
		height: clamp(420px, 64.6vw, 520px);
		width: 100%;
		margin-top: 40px;
		aspect-ratio: auto;
		align-self: start;
		grid-area: main-image;
	}

	.story__image--accent {
		display: none;
	}

	.story__intro {
		position: static;
		width: 100%;
		margin-top: 28px;
		grid-area: intro;
		font-size: 14px;
	}

	.story__copy {
		position: static;
		width: 100%;
		margin-top: 16px;
		grid-area: copy;
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.story__inner {
		width: 100%;
		height: auto;
		padding-top: 679px;
		aspect-ratio: auto;
	}

	.story__eyebrow {
		top: calc(var(--mobile-section-gap) + 1px);
		font-size: 14px;
	}

	.story__line {
		height: 40px;
	}

	.story__line--top {
		top: 102px;
	}

	.story__title {
		top: 172px;
		left: 10px;
		width: calc(100% - 20px);
		font-size: 18px;
		line-height: 1.25;
		text-align: left;
		transform: none;
	}

	.story__lead {
		top: 302px;
		left: 10px;
		width: 272px;
		font-size: 14px;
		text-align: left;
		transform: none;
		white-space: normal;
	}

	.story__line--middle {
		display: none;
	}

	.story__image--main {
		top: 358px;
		left: 10px;
		width: calc(100% - 20px);
		height: var(--mobile-visual-height);
	}

	.story__image--accent {
		display: none;
	}

	.story__intro {
		top: 628px;
		left: 9px;
		width: calc(100% - 40px);
		font-size: 14px;
	}

	.story__copy {
		position: relative;
		top: auto;
		left: auto;
		width: calc(100% - 23px);
		margin-left: 9px;
		font-size: 14px;
	}

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

	.story__line--bottom {
		top: 889px;
		display: none;
	}
}

.pricing {
	position: relative;
	background: #0b0d0d;
}

.pricing__desktop {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 100px;
}

.pricing__desktop-line {
	width: 0.5px;
	height: 90px;
	margin-bottom: 47px;
	flex: 0 0 auto;
	background: rgba(255, 255, 255, 0.55);
}

.pricing__title {
	width: 843px;
	margin: 0;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

.pricing__description {
	width: 835px;
	margin: 20px 0 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
	text-align: center;
}

.pricing-slider {
	position: relative;
	width: 100%;
	height: 699px;
	margin-top: 48px;
	flex: 0 0 auto;
	overflow: hidden;
}

.pricing-slider::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	content: "";
	pointer-events: none;
}

.pricing-slider__slides,
.pricing-slider__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.pricing-slider__slide {
	object-fit: cover;
	opacity: 0;
	transform: scale(1.025);
	transition:
		opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 6s ease-out;
}

.pricing-slider__slide--active {
	opacity: 1;
	transform: scale(1);
}

.pricing-slider__arrow {
	position: absolute;
	top: 333px;
	z-index: 3;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition:
		transform 180ms ease,
		opacity 180ms ease;
}

.pricing-slider__arrow:hover,
.pricing-slider__arrow:focus-visible {
	opacity: 0.75;
	transform: scale(1.08);
}

.pricing-slider__arrow img {
	width: 32px;
	height: 32px;
}

.pricing-slider__arrow--prev {
	left: 18px;
}

.pricing-slider__arrow--prev img {
	transform: rotate(180deg) scaleY(-1);
}

.pricing-slider__arrow--next {
	right: 18px;
}

.pricing-slider__content {
	position: absolute;
	top: auto;
	bottom: 38px;
	left: 50%;
	z-index: 2;
	width: 1174px;
	color: rgba(255, 255, 255, 0.8);
	opacity: 0;
	transform: translateX(-50%);
	transition:
		opacity 600ms ease,
		transform 600ms ease;
	pointer-events: none;
}

.pricing-slider__content--active {
	opacity: 1;
}

.pricing-slider__content h3 {
	margin: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.pricing-slider__content ul {
	width: max-content;
	margin: 14px auto 0;
	padding-left: 24px;
	font-size: 16px;
	line-height: 1.25;
}

.pricing-slider__content--second {
	left: calc(50% - 217px);
	width: 600px;
	transform: translateY(8px);
}

.pricing-slider__content--second.pricing-slider__content--active {
	transform: translateY(0);
}

.pricing-slider__content--second h3 {
	width: 560px;
	margin-inline: 0;
	text-align: left;
}

.pricing-slider__content--second p {
	width: 600px;
	margin: 18px 0 0;
	font-size: 16px;
	line-height: 1.25;
}

.pricing__mobile {
	display: none;
}

@media (min-width: 1920px) {
	.pricing__desktop {
		padding-top: clamp(120px, 6.25vw, 160px);
	}

	.pricing__title {
		width: clamp(843px, 43.906vw, 1124px);
		font-size: clamp(40px, 2.083vw, 53px);
	}

	.pricing__desktop-line {
		height: clamp(112px, 5.833vw, 149px);
		margin-bottom: clamp(48px, 2.5vw, 64px);
	}

	.pricing__description {
		width: clamp(1044px, 54.375vw, 1392px);
		margin-top: clamp(25px, 1.302vw, 33px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.pricing-slider {
		height: clamp(865px, 45.052vw, 1153px);
		margin-top: clamp(60px, 3.125vw, 80px);
	}

	.pricing-slider__arrow {
		top: clamp(412px, 21.458vw, 549px);
		width: clamp(32px, 1.667vw, 43px);
		height: clamp(32px, 1.667vw, 43px);
	}

	.pricing-slider__arrow img {
		width: 100%;
		height: 100%;
	}

	.pricing-slider__arrow--prev {
		left: clamp(18px, 0.938vw, 24px);
	}

	.pricing-slider__arrow--next {
		right: clamp(18px, 0.938vw, 24px);
	}

	.pricing-slider__content {
		top: auto;
		bottom: clamp(47px, 2.448vw, 63px);
		width: clamp(1174px, 61.146vw, 1565px);
	}

	.pricing-slider__content--second {
		left: calc(50% - clamp(271px, 14.115vw, 361px));
		width: clamp(750px, 39.063vw, 1000px);
	}

	.pricing-slider__content--second h3 {
		width: clamp(700px, 36.458vw, 933px);
	}

	.pricing-slider__content--second p {
		width: clamp(750px, 39.063vw, 1000px);
		margin-top: clamp(23px, 1.198vw, 31px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.pricing-slider__content h3 {
		font-size: clamp(25px, 1.302vw, 33px);
	}

	.pricing-slider__content ul {
		font-size: clamp(20px, 1.042vw, 27px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.pricing {
		height: auto;
		overflow: visible;
	}

	.pricing__desktop {
		display: flex;
		height: auto;
		flex-direction: column;
		align-items: center;
		padding-top: 0;
	}

	.pricing__title {
		position: static;
		width: calc(100% - 64px);
		margin: 0;
		font-size: clamp(24px, 3vw, 29px);
		transform: none;
	}

	.pricing__desktop-line {
		position: static;
		width: 0.5px;
		height: 60px;
		margin: 0 auto 30px;
		flex: 0 0 auto;
		transform: none;
	}

	.pricing__description {
		position: static;
		width: min(760px, calc(100% - 64px));
		margin: 20px 0 0;
		font-size: 15px;
		transform: none;
	}

	.pricing-slider {
		position: relative;
		top: auto;
		left: auto;
		height: clamp(500px, 58vw, 615px);
		margin-top: 40px;
		flex: 0 0 auto;
	}

	.pricing-slider__arrow {
		top: 50%;
		transform: translateY(-50%);
	}

	.pricing-slider__arrow:hover,
	.pricing-slider__arrow:focus-visible {
		transform: translateY(-50%) scale(1.08);
	}

	.pricing-slider__content {
		top: auto;
		bottom: 38px;
		width: calc(100% - 80px);
	}

	.pricing-slider__content--second {
		top: auto;
		left: 50%;
		bottom: 38px;
		width: min(600px, calc(100% - 128px));
		transform: translate(-50%, 8px);
	}

	.pricing-slider__content--second.pricing-slider__content--active {
		transform: translate(-50%, 0);
	}

	.pricing-slider__content--second h3 {
		width: min(560px, 100%);
	}

	.pricing-slider__content--second p {
		width: min(720px, 100%);
	}
}

@media (max-width: 767px) {
	.pricing {
		height: auto;
		margin-top: var(--mobile-section-gap);
	}

	.pricing__desktop {
		display: none;
	}

	.pricing__mobile {
		display: flex;
		width: 100%;
		margin: 0 auto;
		padding: 0 10px 50px;
		flex-direction: column;
		align-items: flex-start;
	}

	.pricing__line {
		width: 0.5px;
		height: 40px;
		margin: 0 auto 30px;
		flex: 0 0 auto;
		align-self: center;
		background: rgba(255, 255, 255, 0.55);
	}

	.pricing__mobile h2 {
		width: min(339px, 100%);
		margin: 0;
		font-size: 26px;
		font-weight: 400;
		line-height: 1.25;
		text-transform: uppercase;
	}

	.pricing__mobile-description {
		width: min(334px, 100%);
		margin: 16px 0 0;
		color: rgba(255, 255, 255, 0.8);
		font-size: 14px;
		line-height: 1.25;
	}

	.pricing__mobile-image {
		width: 100%;
		height: auto;
		aspect-ratio: 710 / 500;
		object-fit: cover;
	}

	.pricing__mobile-image--first {
		margin-top: 20px;
	}

	.pricing__factors-title,
	.pricing__estimate-title {
		margin: 0;
		font-size: 18px;
		font-weight: 400;
		line-height: 1.3;
		text-transform: uppercase;
	}

	.pricing__factors-title {
		width: 220px;
		margin-top: 30px;
	}

	.pricing__factors {
		width: 100%;
		margin: 14px 0 0;
		padding-left: 21px;
		color: rgba(255, 255, 255, 0.8);
		font-size: 14px;
		line-height: 1.25;
	}

	.pricing__mobile-image--second {
		margin-top: 20px;
	}

	.pricing__estimate-title {
		width: min(310px, calc(100% - 16px));
		margin-top: 20px;
	}

	.pricing__estimate-copy {
		width: 100%;
		margin-top: 15px;
		color: rgba(255, 255, 255, 0.8);
		font-size: 14px;
		line-height: 1.25;
	}

	.pricing__estimate-copy p {
		margin: 0;
	}

	.pricing__estimate-copy p + p {
		margin-top: 17.5px;
	}
}

.repair-types {
	background: #0b0d0d;
}

.repair-types__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 120px 60px 70px;
}

.repair-types__line {
	width: 0.5px;
	height: 90px;
	margin-bottom: 30px;
	flex: 0 0 auto;
	background: rgba(255, 255, 255, 0.55);
}

.repair-types__title {
	width: min(843px, 100%);
	margin: 0;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.repair-types__description {
	width: min(696px, 100%);
	margin: 20px 0 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
	text-align: center;
}

.repair-types__grid {
	display: grid;
	width: min(1280px, 100%);
	margin-top: 69px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.repair-card {
	min-width: 0;
}

.repair-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 413 / 483;
}

.repair-card__media picture,
.repair-card__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.repair-card__media img {
	object-fit: cover;
	transition: transform 550ms cubic-bezier(0.22, 1, 0.36, 1);
}

.repair-card__overlay-link {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.7);
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	opacity: 0;
	transition: opacity 320ms ease;
}

.repair-card__media:hover .repair-card__overlay-link,
.repair-card__media:focus-within .repair-card__overlay-link {
	opacity: 1;
}

.repair-card__media:hover img,
.repair-card__media:focus-within img {
	transform: scale(1.025);
}

.repair-card__overlay-link:focus-visible {
	outline: 1px solid #fff;
	outline-offset: -5px;
}

.repair-card__title {
	margin: 20px 0 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.05;
	text-transform: uppercase;
}

.repair-card__description {
	margin: 16px 0 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.repair-card__details {
	display: none;
	margin-top: 15px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.repair-card__details:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 3px;
}

@media (min-width: 1920px) {
	.repair-types__inner {
		padding: clamp(150px, 7.813vw, 200px) clamp(75px, 3.906vw, 100px) clamp(88px, 4.583vw, 117px);
	}

	.repair-types__line {
		height: clamp(112px, 5.833vw, 149px);
		margin-bottom: clamp(38px, 1.979vw, 51px);
	}

	.repair-types__title {
		width: min(clamp(843px, 43.906vw, 1124px), 100%);
		font-size: clamp(40px, 2.083vw, 53px);
	}

	.repair-types__description {
		width: clamp(870px, 45.313vw, 1160px);
		margin-top: clamp(25px, 1.302vw, 33px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.repair-types__grid {
		width: min(clamp(1600px, 83.333vw, 2133px), 100%);
		margin-top: clamp(86px, 4.479vw, 115px);
		gap: clamp(25px, 1.302vw, 33px);
	}

	.repair-card__title {
		font-size: clamp(25px, 1.302vw, 33px);
	}

	.repair-card__title {
		margin-top: clamp(25px, 1.302vw, 33px);
	}

	.repair-card__description {
		margin-top: clamp(20px, 1.042vw, 27px);
		font-size: clamp(20px, 1.042vw, 27px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.repair-types__inner {
		padding: 70px 32px;
	}

	.repair-types__line {
		height: 60px;
		margin-bottom: 30px;
	}

	.repair-types__title {
		font-size: clamp(24px, 3vw, 29px);
	}

	.repair-types__description {
		width: min(696px, 100%);
		font-size: 15px;
	}

	.repair-types__grid {
		margin-top: 40px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 48px 20px;
	}

	.repair-card:not(:last-child) {
		display: flex;
		flex-direction: column;
	}

	.repair-card:not(:last-child) .repair-card__title {
		width: min(260px, 100%);
		min-height: 2.1em;
	}

	.repair-card:not(:last-child) .repair-card__details {
		margin-top: auto;
		padding-top: 15px;
	}

	.repair-card:last-child {
		display: grid;
		width: 100%;
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		grid-template-rows: 1fr auto auto auto 1fr;
		column-gap: 24px;
	}

	.repair-card:last-child .repair-card__media {
		grid-row: 1 / -1;
		aspect-ratio: 16 / 10;
	}

	.repair-card:last-child .repair-card__title {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
	}

	.repair-card:last-child .repair-card__description {
		grid-column: 2;
		grid-row: 3;
	}

	.repair-card:last-child .repair-card__details {
		grid-column: 2;
		grid-row: 4;
	}

	.repair-card__details {
		display: inline-block;
	}
}

/* Services catalog */
.page-services main {
	padding-bottom: 140px;
	background: #0b0d0d;
}

.services-catalog {
	box-sizing: border-box;
	width: 100%;
	padding: 30px var(--desktop-gutter);
	background: #0b0d0d;
	color: #fff;
}

.services-catalog__breadcrumb {
	font-size: 16px;
	line-height: 1.25;
}

.services-catalog__breadcrumb a {
	color: #fff;
	text-decoration: none;
}

.services-catalog__breadcrumb span:last-child {
	color: #848484;
}

.services-catalog__line {
	width: 100%;
	margin-top: 51px;
	border-top: 0.5px solid rgba(255, 255, 255, 0.6);
}

.services-catalog__grid {
	display: grid;
	margin-top: 39px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 25px 20px;
}

.service-tile {
	position: relative;
	overflow: hidden;
	min-width: 0;
	aspect-ratio: 630 / 440;
}

.service-tile__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.service-tile::after {
	position: absolute;
	inset: 35% 0 0;
	background: linear-gradient(to bottom, rgba(31, 31, 31, 0), rgba(0, 0, 0, 0.85));
	content: "";
	pointer-events: none;
}

.service-tile__content {
	position: absolute;
	z-index: 1;
	right: 20px;
	bottom: 20px;
	left: 20px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.service-tile__content h2 {
	max-width: 430px;
	margin: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
}

.service-tile__content a {
	flex: 0 0 auto;
	padding-bottom: 2px;
	border-bottom: 0.5px solid currentColor;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.service-tile__content a:hover {
	opacity: 0.8;
}

.service-tile:hover .service-tile__image,
.service-tile:focus-within .service-tile__image {
	transform: scale(1.025);
}

.service-tile__content a:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 4px;
}

@media (min-width: 1920px) {
	.services-catalog {
		padding-top: 2.1429vw;
		padding-bottom: 2.1429vw;
	}

	.services-catalog__breadcrumb {
		font-size: 1.1429vw;
	}

	.services-catalog__line {
		margin-top: 3.6429vw;
	}

	.services-catalog__grid {
		margin-top: 2.7857vw;
		gap: 1.7857vw 1.4286vw;
	}

	.service-tile__content {
		right: 1.4286vw;
		bottom: 1.4286vw;
		left: 1.4286vw;
		gap: 1.7143vw;
	}

	.service-tile__content h2 {
		max-width: 30.7143vw;
		font-size: 1.4286vw;
	}

	.service-tile__content a {
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.services-catalog {
		padding: 24px 32px 40px;
	}

	.services-catalog__line {
		margin-top: 38px;
	}

	.services-catalog__grid {
		margin-top: 30px;
		gap: 22px 18px;
	}

	.service-tile__content {
		right: 16px;
		bottom: 16px;
		left: 16px;
		gap: 16px;
	}

	.service-tile__content h2 {
		font-size: 17px;
	}

	.service-tile__content a {
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.page-services main {
		padding-bottom: 70px;
	}

	.services-catalog {
		padding: 13px 0 30px;
	}

	.services-catalog__breadcrumb {
		margin-left: 10px;
		font-size: 12px;
	}

	.services-catalog__line {
		width: calc(100% - 20px);
		margin: 50px 10px 0;
	}

	.services-catalog__grid {
		display: flex;
		width: calc(100% - 20px);
		margin: 29px 0 0 10px;
		flex-direction: column;
		gap: 40px;
	}

	.service-tile {
		width: 100%;
		aspect-ratio: 355 / 360;
	}

	.service-tile::after {
		inset: 40.83% 0 0;
	}

	.service-tile__content {
		right: 10px;
		bottom: 15px;
		left: 10px;
		gap: 24px;
	}

	.service-tile__content h2 {
		width: 172px;
		font-size: 18px;
		line-height: 1.3;
	}

	.service-tile__content a {
		font-size: 16px;
	}
}

.page-services .services-catalog {
	padding-bottom: 0;
}

.page-services .request {
	margin-top: 140px;
}

@media (max-width: 767px) {
	.page-services .request {
		margin-top: 70px;
	}
}

/* Services page hero */
.hero--services {
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.58)),
		var(--pm-image-c654381ef5, url("images/services/hero.webp"));
	background-position: center;
}

.hero--services .hero__content {
	top: 38%;
	width: 626px;
}

.hero--services .hero__content h1 {
	width: 626px;
}

.hero--services .hero__content p {
	top: 67px;
	left: 50%;
	width: 546px;
	transform: translateX(-50%);
}

.hero--services .hero__button {
	top: 168px;
}

@media (min-width: 1920px) {
	.hero--services .hero__content,
	.hero--services .hero__content h1 {
		width: 44.7143vw;
	}

	.hero--services .hero__content h1 {
		font-size: 3.5714vw;
	}

	.hero--services .hero__content p {
		top: 4.7857vw;
		width: 39vw;
		font-size: 1.0714vw;
	}

	.hero--services .hero__button {
		top: 12vw;
		width: 18.8571vw;
		height: 3.5714vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1100px) {
	.hero--services .hero__content {
		top: 37%;
		width: min(650px, calc(100% - 64px));
	}

	.hero--services .hero__content h1 {
		width: 100%;
	}

	.hero--services .hero__content p {
		width: min(546px, 100%);
	}
}

@media (max-width: 767px) {
	.hero--services {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)),
			var(--pm-image-c654381ef5, url("images/services/hero.webp"));
		background-position: 62.8% center;
		background-size: auto 100%;
	}

	.hero--services .hero__content {
		top: 41.4103%;
		left: 10px;
		width: calc(100% - 20px);
		transform: none;
		text-align: left;
	}

	.hero--services .hero__content h1 {
		width: 275px;
		margin-inline: 0;
		font-size: 32px;
	}

	.hero--services .hero__content p {
		top: 52px;
		left: 0;
		width: min(325px, 100%);
		transform: none;
		font-size: 15px;
		line-height: 1.25;
	}

	.hero--services .hero__button {
		top: 177px;
		left: 0;
		transform: none;
	}
}

/* Projects gallery */
.portfolio-gallery {
	--portfolio-unit: calc((100vw - (var(--desktop-gutter) * 2)) / 1280);
	box-sizing: border-box;
	width: 100%;
	padding: 30px var(--desktop-gutter) 120px;
	background: #0b0d0d;
	color: #fff;
}

.portfolio-gallery__breadcrumb {
	font-size: 16px;
	line-height: 1.25;
}

.portfolio-gallery__breadcrumb a {
	color: #fff;
	text-decoration: none;
}

.portfolio-gallery__breadcrumb span:last-child {
	color: #848484;
}

.portfolio-gallery__line {
	margin-top: 54.5px;
	border-top: 0.5px solid rgba(255, 255, 255, 0.6);
}

.portfolio-gallery__layout {
	position: relative;
	height: calc(1329 * var(--portfolio-unit));
	margin-top: 34.5px;
}

.portfolio-card {
	position: absolute;
	display: block;
	color: #fff;
	text-decoration: none;
}

.portfolio-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	background: rgba(255, 255, 255, 0.2);
}

.portfolio-card__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.portfolio-card__media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.portfolio-card__overlay {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.portfolio-card__overlay span {
	font-size: calc(14 * var(--portfolio-unit));
	line-height: normal;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.3s ease 0.05s, transform 0.35s ease 0.05s;
}

.portfolio-card:hover .portfolio-card__overlay,
.portfolio-card:focus-visible .portfolio-card__overlay,
.portfolio-card:hover .portfolio-card__overlay span,
.portfolio-card:focus-visible .portfolio-card__overlay span {
	opacity: 1;
}

.portfolio-card:hover .portfolio-card__overlay span,
.portfolio-card:focus-visible .portfolio-card__overlay span {
	transform: translateY(0);
}

.portfolio-card:hover .portfolio-card__media img,
.portfolio-card:focus-visible .portfolio-card__media img {
	transform: scale(1.02);
}

.portfolio-card:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 4px;
}

.portfolio-card__caption {
	display: flex;
	margin-top: calc(15 * var(--portfolio-unit));
	align-items: center;
	justify-content: space-between;
	gap: calc(16 * var(--portfolio-unit));
	font-size: calc(18 * var(--portfolio-unit));
	line-height: 1.15;
	text-transform: uppercase;
}

.portfolio-card--solar {
	top: calc(5 * var(--portfolio-unit));
	left: calc(5 * var(--portfolio-unit));
	width: calc(300 * var(--portfolio-unit));
}

.portfolio-card--solar .portfolio-card__media {
	height: calc(397 * var(--portfolio-unit));
}

.portfolio-card--depot-50 {
	top: calc(5 * var(--portfolio-unit));
	left: calc(325 * var(--portfolio-unit));
	width: calc(305 * var(--portfolio-unit));
}

.portfolio-card--depot-50 .portfolio-card__media {
	height: calc(293 * var(--portfolio-unit));
}

.portfolio-card--depot-80 {
	top: 0;
	left: calc(650 * var(--portfolio-unit));
	width: calc(630 * var(--portfolio-unit));
}

.portfolio-card--depot-80 .portfolio-card__media {
	height: calc(589 * var(--portfolio-unit));
}

.portfolio-card--depot-80 .portfolio-card__media img {
	right: 0;
	left: auto;
	width: 148.18%;
}

.portfolio-card--olympic {
	top: calc(701 * var(--portfolio-unit));
	left: 0;
	width: calc(630 * var(--portfolio-unit));
}

.portfolio-card--olympic .portfolio-card__media {
	height: calc(589 * var(--portfolio-unit));
}

.portfolio-card--borovaya {
	top: calc(990 * var(--portfolio-unit));
	left: calc(650 * var(--portfolio-unit));
	width: calc(305 * var(--portfolio-unit));
}

.portfolio-card--borovaya .portfolio-card__media {
	height: calc(300 * var(--portfolio-unit));
}

.portfolio-card--borovaya .portfolio-card__media img {
	top: -21.35%;
	height: 127.08%;
}

.portfolio-card--minsk-world {
	top: calc(905 * var(--portfolio-unit));
	left: calc(975 * var(--portfolio-unit));
	width: calc(305 * var(--portfolio-unit));
}

.portfolio-card--minsk-world .portfolio-card__media {
	height: calc(385 * var(--portfolio-unit));
}

@media (min-width: 768px) and (max-width: 1199px) {
	.portfolio-gallery {
		padding: 24px 32px 80px;
	}

	.portfolio-gallery__line {
		margin-top: 38px;
	}

	.portfolio-gallery__layout {
		display: grid;
		height: auto;
		margin-top: 30px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px 18px;
	}

	.portfolio-card {
		position: static;
		width: auto;
	}

	.portfolio-card__media,
	.portfolio-card--solar .portfolio-card__media,
	.portfolio-card--depot-50 .portfolio-card__media,
	.portfolio-card--depot-80 .portfolio-card__media,
	.portfolio-card--olympic .portfolio-card__media,
	.portfolio-card--borovaya .portfolio-card__media,
	.portfolio-card--minsk-world .portfolio-card__media {
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.portfolio-card__caption {
		margin-top: 15px;
		gap: 12px;
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	.portfolio-gallery {
		width: 100%;
		margin: 0 auto;
		padding: 13px 10px 0;
	}

	.portfolio-gallery__breadcrumb {
		font-size: 12px;
	}

	.portfolio-gallery__line {
		margin-top: 50px;
	}

	.portfolio-gallery__layout {
		display: flex;
		height: auto;
		margin-top: 29px;
		flex-direction: column;
		gap: 40px;
	}

	.portfolio-card {
		position: static;
		width: 100%;
	}

	.portfolio-card__media,
	.portfolio-card--solar .portfolio-card__media,
	.portfolio-card--depot-50 .portfolio-card__media,
	.portfolio-card--depot-80 .portfolio-card__media,
	.portfolio-card--olympic .portfolio-card__media,
	.portfolio-card--borovaya .portfolio-card__media,
	.portfolio-card--minsk-world .portfolio-card__media {
		height: auto;
		aspect-ratio: 355 / 360;
	}

	.portfolio-card__media img,
	.portfolio-card--depot-80 .portfolio-card__media img,
	.portfolio-card--borovaya .portfolio-card__media img {
		top: -4.48%;
		right: auto;
		left: -6.57%;
		width: 110.14%;
		height: 108.61%;
	}

	.portfolio-card--depot-80 .portfolio-card__media img {
		left: -10.12%;
	}

	.portfolio-card--borovaya .portfolio-card__media img {
		top: -22%;
		left: 0;
		width: 102%;
		height: 126%;
	}

	.portfolio-card--minsk-world .portfolio-card__media img {
		top: -25.8%;
		left: 0;
		width: 101%;
		height: 149%;
	}

	.portfolio-card__overlay {
		display: none;
	}

	.portfolio-card__caption {
		margin-top: 15px;
		gap: 12px;
		font-size: 18px;
	}
}

/* Projects page */
.page-projects main {
	padding-bottom: 140px;
	background: #0b0d0d;
}

.hero--projects {
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.58)),
		var(--pm-image-2cee88d233, url("images/projects/hero.webp"));
	background-position: center;
}

.hero--projects .hero__content {
	top: 37.2857%;
}

.hero--projects .hero__button {
	top: 203px;
}

@media (min-width: 1920px) {
	.hero--projects .hero__content {
		width: 45.5vw;
	}

	.hero--projects .hero__content h1 {
		width: 44.7143vw;
		font-size: 3.5714vw;
	}

	.hero--projects .hero__content p {
		top: 8.8571vw;
		width: 45.5vw;
		font-size: 1.0714vw;
	}

	.hero--projects .hero__button {
		top: 14.5vw;
		width: 18.8571vw;
		height: 3.5714vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1100px) {
	.hero--projects .hero__content {
		width: min(637px, calc(100% - 64px));
	}

	.hero--projects .hero__content h1,
	.hero--projects .hero__content p {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.page-projects main {
		padding-bottom: 70px;
	}

	.hero--projects {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)),
			var(--pm-image-2cee88d233, url("images/projects/hero.webp"));
		background-position: -15.15vw center;
		background-size: auto 100%;
	}

	.hero--projects .hero__content {
		top: 31.9231%;
		left: 10px;
		width: calc(100% - 20px);
		transform: none;
	}

	.hero--projects .hero__content h1 {
		width: 325px;
	}

	.hero--projects .hero__content p {
		top: 126px;
		left: 0;
		width: min(295px, 100%);
		transform: none;
	}

	.hero--projects .hero__button {
		top: 251px;
	}
}

/* Footer */
.site-footer {
	position: relative;
	min-height: 497px;
	background: #121212;
}

.site-footer__logo {
	position: absolute;
	top: 60px;
	left: 4.14%;
	display: block;
	width: 175px;
	height: 64px;
}

.site-footer__logo img {
	width: 100%;
	height: 100%;
}

.site-footer__nav {
	position: absolute;
	top: 60px;
	display: grid;
	justify-items: start;
	gap: 15px;
	font-size: 16px;
	line-height: 1.1;
}

.site-footer__nav--primary {
	left: 39.36%;
}

.site-footer__nav--secondary {
	left: 56.21%;
}

.site-footer__services {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.site-footer__services-menu {
	display: grid;
	justify-items: start;
}

.site-footer__submenu {
	display: grid;
	width: 220px;
	max-height: 0;
	overflow: hidden;
	gap: 10px;
	margin-top: 0;
	color: rgba(255, 255, 255, 0.65);
	font-size: 14px;
	line-height: 1.2;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-8px);
	pointer-events: none;
	transition:
		max-height 320ms ease,
		margin-top 320ms ease,
		opacity 240ms ease,
		transform 320ms ease,
		visibility 320ms ease;
}

.site-footer__services-menu--open .site-footer__submenu {
	max-height: 230px;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	margin-top: 12px;
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.site-footer__services img {
	transition: transform 250ms ease;
}

.site-footer__services-menu--open .site-footer__services img {
	transform: rotate(180deg);
}


.site-footer__contacts {
	position: absolute;
	top: 60px;
	left: 80.79%;
	display: grid;
	justify-items: start;
	gap: 13px;
	margin: 0;
	color: #ebebeb;
	font-size: 18px;
	font-style: normal;
	line-height: 1.15;
}

.site-footer__contacts a {
	white-space: nowrap;
}

.site-footer__social {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.site-footer__legal {
	position: absolute;
	top: 392px;
	left: 4.14%;
	display: grid;
	justify-items: start;
	gap: 12px;
	color: rgba(255, 255, 255, 0.5);
}

.site-footer__legal a {
	font-size: 16px;
	line-height: 1.1;
}

.site-footer__legal p {
	margin: 0;
	font-size: 14px;
	line-height: 1.1;
}

.site-footer__developer {
	position: absolute;
	top: 415px;
	left: 80.79%;
	margin: 0;
	color: rgba(255, 255, 255, 0.5);
	font-size: 16px;
	line-height: normal;
	white-space: nowrap;
}

.site-footer__nav a,
.site-footer__services,
.site-footer__contacts a,
.site-footer__legal a {
	transition: color 200ms ease;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible,
.site-footer__services:hover,
.site-footer__services:focus-visible,
.site-footer__contacts a:hover,
.site-footer__contacts a:focus-visible,
.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
	color: #a1a1a1;
}

@media (min-width: 1920px) {
	.site-footer {
		min-height: clamp(663px, 34.53vw, 884px);
	}

	.site-footer__logo {
		top: clamp(80px, 4.17vw, 107px);
		width: clamp(233px, 12.15vw, 311px);
		height: clamp(85px, 4.44vw, 114px);
	}

	.site-footer__nav {
		top: clamp(80px, 4.17vw, 107px);
		gap: clamp(15px, 0.83vw, 20px);
		font-size: clamp(16px, 0.94vw, 20px);
	}

	.site-footer__contacts {
		top: clamp(80px, 4.17vw, 107px);
		gap: clamp(13px, 0.73vw, 18px);
		font-size: clamp(18px, 1.04vw, 22px);
	}

	.site-footer__legal {
		top: clamp(523px, 27.24vw, 697px);
		gap: clamp(12px, 0.63vw, 16px);
	}

	.site-footer__legal a,
	.site-footer__developer {
		font-size: clamp(16px, 0.94vw, 20px);
	}

	.site-footer__legal p {
		font-size: clamp(14px, 0.83vw, 18px);
	}

	.site-footer__developer {
		top: clamp(553px, 28.82vw, 738px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.site-footer {
		min-height: 420px;
		transition: min-height 320ms ease;
	}

	.site-footer--services-open {
		min-height: 580px;
	}

	.site-footer__logo {
		top: 50px;
		left: 32px;
		width: 140px;
		height: auto;
		aspect-ratio: 106 / 39;
	}

	.site-footer__nav {
		top: 52px;
		gap: 14px;
		font-size: 14px;
	}

	.site-footer__nav--primary {
		left: 36%;
	}

	.site-footer__nav--secondary {
		left: 56%;
		transition: top 320ms ease;
	}

	.site-footer--services-open .site-footer__nav--secondary {
		top: 360px;
	}

	.site-footer__services-menu--open .site-footer__submenu {
		max-height: 210px;
	}

	.site-footer__contacts {
		top: 52px;
		left: 75%;
		gap: 11px;
		font-size: 14px;
	}

	.site-footer__legal {
		top: 330px;
		left: 32px;
		transition: top 320ms ease;
	}

	.site-footer--services-open .site-footer__legal {
		top: 480px;
	}

	.site-footer__legal a {
		font-size: 14px;
	}

	.site-footer__legal p {
		font-size: 12px;
	}

	.site-footer__developer {
		top: 352px;
		left: 75%;
		font-size: 14px;
		transition: top 320ms ease;
	}

	.site-footer--services-open .site-footer__developer {
		top: 502px;
	}
}

@media (max-width: 767px) {
	.site-footer {
		width: 100%;
		min-height: 647px;
		margin: 0;
		transition: min-height 320ms ease;
	}

	.site-footer--services-open {
		min-height: 784px;
	}

	.site-footer__logo {
		top: 52px;
		left: 10px;
		width: 176px;
		height: 65px;
	}

	.site-footer__contacts {
		top: 185px;
		left: 10px;
		gap: 9px;
		font-size: 15px;
	}

	.site-footer__contacts .site-footer__social {
		font-size: 14px;
	}

	.site-footer__nav {
		left: 10px;
		gap: 10px;
		font-size: 14px;
	}

	.site-footer__nav--primary {
		top: 321px;
	}

	.site-footer__nav--secondary {
		top: 396px;
		transition: top 320ms ease;
	}

	.site-footer--services-open .site-footer__nav--secondary {
		top: 533px;
	}

	.site-footer__services {
		gap: 7px;
	}

	.site-footer__submenu {
		width: min(300px, calc(100vw - 20px));
	}

	.site-footer__services-menu--open .site-footer__submenu {
		max-height: 125px;
	}

	.site-footer__legal {
		top: 544px;
		left: 10px;
		width: calc(100% - 20px);
		padding-top: 18px;
		gap: 10px;
		border-top: 0.5px solid #a9a9a9;
		transition: top 320ms ease;
	}

	.site-footer--services-open .site-footer__legal {
		top: 681px;
	}

	.site-footer__legal a {
		font-size: 14px;
	}

	.site-footer__legal p {
		font-size: 12px;
	}

	.site-footer__developer {
		top: 609px;
		left: 10px;
		font-size: 14px;
		transition: top 320ms ease;
	}

	.site-footer--services-open .site-footer__developer {
		top: 746px;
	}
}

.property-services {
	background: #0b0d0d;
}

.property-services__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 56px var(--desktop-gutter) 0;
}

.property-services__line {
	width: 0.5px;
	height: 90px;
	flex: 0 0 auto;
	background: rgba(255, 255, 255, 0.6);
}

.property-services__title {
	width: 451px;
	margin: 43px 0 0;
	font-size: 35px;
	font-weight: 400;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
}

.property-services__title span {
	display: block;
	white-space: nowrap;
}

.property-services__description {
	width: 590px;
	margin: 26px 0 0;
	color: #bababa;
	font-size: 16px;
	line-height: 1.25;
	text-align: center;
}

.property-services__grid {
	display: grid;
	width: 100%;
	margin-top: 55px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 25px 20px;
}

.property-service-card {
	position: relative;
	min-width: 0;
	overflow: hidden;
	aspect-ratio: 630 / 447;
	cursor: pointer;
}

.property-service-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 550ms cubic-bezier(0.22, 1, 0.36, 1);
}

.property-service-card__overlay {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: linear-gradient(to bottom, rgba(31, 31, 31, 0) 36%, rgba(0, 0, 0, 0.7) 100%);
}

.property-service-card__overlay::before {
	position: absolute;
	inset: 0;
	background: rgba(11, 11, 11, 0.75);
	content: "";
	opacity: 0;
	transition: opacity 320ms ease;
}

.property-service-card__body {
	position: absolute;
	z-index: 1;
	right: 20px;
	bottom: 16px;
	left: 16px;
	max-width: 492px;
}

.property-service-card h3,
.property-service-card p {
	margin: 0;
	font-weight: 400;
}

.property-service-card h3 {
	font-size: 20px;
	line-height: 1.1;
	text-transform: uppercase;
}

.property-service-card__details {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(18px);
	transition:
		max-height 520ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 380ms ease 100ms,
		transform 480ms cubic-bezier(0.22, 1, 0.36, 1) 60ms,
		margin-top 480ms cubic-bezier(0.22, 1, 0.36, 1);
}

.property-service-card__details p {
	font-size: 14px;
	line-height: 1.25;
}

.property-service-card__more {
	display: inline-block;
	margin-top: 18px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.5);
	text-decoration-thickness: 0.5px;
	text-underline-offset: 3px;
}

.property-service-card:hover .property-service-card__overlay::before,
.property-service-card:focus-visible .property-service-card__overlay::before {
	opacity: 1;
}

.property-service-card:hover .property-service-card__image,
.property-service-card:focus-visible .property-service-card__image {
	transform: scale(1.02);
}

.property-service-card:hover .property-service-card__details,
.property-service-card:focus-visible .property-service-card__details {
	max-height: 190px;
	margin-top: 8px;
	opacity: 1;
	transform: translateY(0);
}

.property-service-card:focus-visible,
.property-services__toggle:focus-visible {
	outline: 1px solid #fff;
	outline-offset: -3px;
}

.property-services__toggle {
	display: none;
}

@media (min-width: 1920px) {
	.property-services__inner {
		padding-top: clamp(70px, 3.646vw, 93px);
	}

	.property-services__line {
		height: clamp(112px, 5.833vw, 149px);
	}

	.property-services__title {
		width: clamp(564px, 29.375vw, 752px);
		margin-top: clamp(54px, 2.813vw, 72px);
		font-size: clamp(44px, 2.292vw, 59px);
	}

	.property-services__description {
		width: clamp(738px, 38.438vw, 984px);
		margin-top: clamp(23px, 1.198vw, 31px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.property-services__grid {
		margin-top: clamp(69px, 3.594vw, 92px);
		gap: clamp(31px, 1.615vw, 41px) clamp(20px, 1.042vw, 27px);
	}

	.property-service-card__body {
		right: clamp(25px, 1.302vw, 33px);
		bottom: clamp(20px, 1.042vw, 27px);
		left: clamp(20px, 1.042vw, 27px);
		max-width: clamp(615px, 32.031vw, 820px);
	}

	.property-service-card h3 {
		font-size: clamp(25px, 1.302vw, 33px);
	}

	.property-service-card__details p {
		font-size: clamp(17.5px, 0.911vw, 23px);
	}

	.property-service-card__more {
		margin-top: clamp(23px, 1.198vw, 31px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.property-service-card:hover .property-service-card__details,
	.property-service-card:focus-visible .property-service-card__details {
		max-height: 260px;
		margin-top: clamp(10px, 0.521vw, 13px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.property-services__inner {
		padding: 70px 32px;
	}

	.property-services__line {
		height: 60px;
	}

	.property-services__title {
		width: min(600px, 100%);
		margin-top: 30px;
		font-size: clamp(26px, 3.4vw, 32px);
		line-height: 1.2;
	}

	.property-services__description {
		width: min(620px, 100%);
		margin-top: 18px;
		font-size: 15px;
	}

	.property-services__grid {
		margin-top: 40px;
		gap: 48px 20px;
	}

	.property-service-card {
		display: flex;
		overflow: visible;
		aspect-ratio: auto;
		flex-direction: column;
	}

	.property-service-card__image {
		aspect-ratio: 630 / 447;
	}

	.property-service-card__overlay {
		position: static;
		overflow: visible;
		background: transparent;
	}

	.property-service-card__overlay::before {
		display: none;
	}

	.property-service-card__body {
		position: static;
		max-width: none;
	}

	.property-service-card h3 {
		margin-top: 15px;
		font-size: 18px;
		line-height: 1.3;
	}

	.property-service-card__details {
		max-height: none;
		margin-top: 15px;
		overflow: visible;
		opacity: 1;
		transform: none;
	}

	.property-service-card__details p {
		color: rgba(255, 255, 255, 0.8);
		font-size: 14px;
	}

	.property-service-card__more {
		margin-top: 15px;
	}

	.property-service-card:hover .property-service-card__overlay,
	.property-service-card:focus-visible .property-service-card__overlay {
		background-color: transparent;
	}

	.property-service-card:hover .property-service-card__image,
	.property-service-card:focus-visible .property-service-card__image {
		transform: none;
	}

	.property-service-card:hover .property-service-card__details,
	.property-service-card:focus-visible .property-service-card__details {
		max-height: none;
		margin-top: 15px;
		opacity: 1;
	}
}

@media (max-width: 767px) {
	.property-services {
		margin-top: 13px;
	}

	.property-services__inner {
		display: block;
		width: 100%;
		margin: 0 auto;
		padding: 7px 10px 0;
	}

	.property-services__line {
		display: block;
		height: 40px;
		margin: 0 auto;
	}

	.property-services__title {
		width: min(339px, 100%);
		margin: 30px 0 0;
		font-size: 26px;
		line-height: 1.25;
		text-align: left;
	}

	.property-services__description {
		width: min(344px, 100%);
		margin: 16px 0 0;
		font-size: 14px;
		text-align: left;
	}

	.property-services__grid {
		display: grid;
		width: 100%;
		margin-top: 27px;
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.property-service-card {
		display: flex;
		overflow: visible;
		aspect-ratio: auto;
		flex-direction: column;
	}

	.property-service-card--additional {
		display: none;
	}

	.property-services__grid--expanded .property-service-card--additional {
		display: flex;
		animation: property-card-reveal 280ms ease both;
	}

	.property-service-card__image {
		width: 100%;
		aspect-ratio: 355 / 360;
		object-fit: cover;
	}

	.property-service-card__overlay {
		position: static;
		overflow: visible;
		background: transparent;
	}

	.property-service-card__overlay::before {
		display: none;
	}

	.property-service-card__body {
		position: static;
		max-width: none;
	}

	.property-service-card h3 {
		margin-top: 14px;
		font-size: 18px;
		line-height: 1.3;
	}

	.property-service-card__details {
		max-height: none;
		margin-top: 15px;
		overflow: visible;
		opacity: 1;
		transform: none;
	}

	.property-service-card__details p {
		color: rgba(255, 255, 255, 0.8);
		font-size: 14px;
		line-height: 1.25;
	}

	.property-service-card__more {
		margin-top: 15px;
		font-size: 16px;
	}

	.property-services__toggle {
		display: flex;
		width: 100%;
		height: 50px;
		align-items: center;
		justify-content: center;
		margin-top: 47px;
		padding: 0;
		border: 0;
		background: rgba(185, 185, 185, 0.2);
		color: #fff;
		font-size: 16px;
		cursor: pointer;
		transition: background-color 180ms ease;
	}

	.property-services__toggle:hover,
	.property-services__toggle:active {
		background: rgba(185, 185, 185, 0.3);
	}

	.property-service-card:hover .property-service-card__overlay,
	.property-service-card:focus-visible .property-service-card__overlay {
		background-color: transparent;
	}

	.property-service-card:hover .property-service-card__image,
	.property-service-card:focus-visible .property-service-card__image {
		transform: none;
	}

	.property-service-card:hover .property-service-card__details,
	.property-service-card:focus-visible .property-service-card__details {
		max-height: none;
		margin-top: 15px;
		opacity: 1;
	}
}

@keyframes property-card-reveal {
	from {
		opacity: 0;
		transform: translateY(12px);
	}

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

.room-services {
	background: #0b0d0d;
}

.room-services__inner {
	padding: 90px 0 32px;
}

.room-services__line {
	display: block;
	width: 0.5px;
	height: 90px;
	margin: 0 auto;
	background: rgba(255, 255, 255, 0.6);
}

.room-services__title {
	width: min(843px, calc(100% - 120px));
	margin: 51px auto 0;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.room-services__title span {
	display: inline;
}

.room-services__title span + span::before {
	content: " ";
}

.room-services__description {
	width: min(696px, calc(100% - 120px));
	margin: 20px auto 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
	text-align: center;
}

.room-carousel {
	position: relative;
	margin-top: 53px;
}

.room-carousel__viewport {
	overflow: hidden;
	margin-inline: var(--desktop-gutter);
}

.room-carousel__track {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.room-card {
	min-width: 0;
	flex: 0 0 calc((100% - 40px) / 3);
	cursor: pointer;
}

.room-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 413 / 483;
}

.room-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.room-card__hover {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.7);
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	opacity: 0;
	transition: opacity 320ms ease;
}

.room-card:hover .room-card__hover,
.room-card:focus-visible .room-card__hover {
	opacity: 1;
}

.room-card h3,
.room-card p {
	margin: 0;
	font-weight: 400;
}

.room-card h3 {
	margin-top: 20px;
	font-size: 20px;
	line-height: 1.15;
	text-transform: uppercase;
}

.room-card p {
	margin-top: 15px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.room-card__more {
	display: none;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.5);
	text-decoration-thickness: 0.5px;
	text-underline-offset: 3px;
}

.room-card:focus-visible,
.room-services__toggle:focus-visible,
.room-carousel__arrow:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 3px;
}

.room-carousel__arrow {
	position: absolute;
	top: calc(19.49vw - 47px);
	z-index: 2;
	display: block;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: opacity 180ms ease;
}

.room-carousel__arrow:hover {
	opacity: 0.75;
}

.room-carousel__arrow:disabled {
	opacity: 0.3;
	cursor: default;
}

.room-carousel__arrow img {
	width: 100%;
	height: 100%;
}

.room-carousel__arrow--prev {
	left: 20px;
}

.room-carousel__arrow--prev img {
	transform: rotate(180deg);
}

.room-carousel__arrow--next {
	right: 16px;
}

.room-services__toggle {
	display: none;
}

.room-services__bottom-line {
	display: block;
	height: 0.5px;
	margin: 116px 70px 0;
	background: rgba(255, 255, 255, 0.6);
}

@media (min-width: 1920px) {
	.room-services__inner {
		padding-top: clamp(113px, 5.885vw, 151px);
		padding-bottom: clamp(40px, 2.083vw, 53px);
	}

	.room-services__line {
		height: clamp(112px, 5.833vw, 149px);
	}

	.room-services__title {
		width: min(clamp(1054px, 54.896vw, 1405px), calc(100% - 120px));
		margin-top: clamp(64px, 3.333vw, 85px);
		font-size: clamp(40px, 2.083vw, 53px);
	}

	.room-services__description {
		width: min(clamp(870px, 45.313vw, 1160px), calc(100% - 120px));
		margin-top: clamp(25px, 1.302vw, 33px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.room-carousel {
		margin-top: clamp(66px, 3.438vw, 88px);
	}

	.room-carousel__track {
		gap: clamp(20px, 1.042vw, 27px);
	}

	.room-card {
		flex-basis: calc((100% - clamp(20px, 1.042vw, 27px) - clamp(20px, 1.042vw, 27px)) / 3);
	}

	.room-card h3 {
		margin-top: clamp(25px, 1.302vw, 33px);
		font-size: clamp(25px, 1.302vw, 33px);
	}

	.room-card p {
		margin-top: clamp(19px, 0.99vw, 25px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.room-card__hover {
		font-size: 14px;
	}

	.room-carousel__arrow {
		width: clamp(32px, 1.667vw, 43px);
		height: clamp(32px, 1.667vw, 43px);
	}

	.room-carousel__arrow--prev {
		left: clamp(20px, 1.042vw, 27px);
	}

	.room-carousel__arrow--next {
		right: clamp(16px, 0.833vw, 21px);
	}

	.room-services__bottom-line {
		margin-top: clamp(145px, 7.552vw, 193px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.room-services__inner {
		padding: 70px 0;
	}

	.room-services__line {
		display: block;
		width: 0.5px;
		height: 60px;
		margin: 0 auto;
		background: rgba(255, 255, 255, 0.6);
	}

	.room-services__title {
		width: calc(100% - 64px);
		margin-top: 30px;
		font-size: clamp(26px, 3.4vw, 32px);
	}

	.room-services__title span {
		display: block;
	}

	.room-services__title span + span::before {
		content: none;
	}

	.room-services__description {
		width: min(620px, calc(100% - 64px));
		margin-top: 18px;
		font-size: 15px;
	}

	.room-carousel {
		margin-top: 40px;
	}

	.room-carousel__viewport {
		margin-inline: 32px;
	}

	.room-carousel__track {
		gap: 20px;
	}

	.room-card {
		flex-basis: calc((100% - 20px) / 2);
	}

	.room-card h3 {
		margin-top: 15px;
		font-size: 18px;
		line-height: 1.3;
	}

	.room-card p {
		margin-top: 15px;
		font-size: 14px;
	}

	.room-card__more {
		display: inline-block;
		margin-top: 15px;
	}

	.room-card__hover {
		display: none;
	}

	.room-carousel__arrow {
		top: calc(29.24vw - 41px);
	}

	.room-carousel__arrow--prev {
		left: 8px;
	}

	.room-carousel__arrow--next {
		right: 8px;
	}

	.room-services__bottom-line {
		margin: 70px 32px 0;
	}
}

@media (max-width: 767px) {
	.room-services {
		margin-top: 52px;
	}

	.room-services__inner {
		width: 100%;
		margin: 0 auto;
		padding: 18px 10px 0;
	}

	.room-services__line {
		display: block;
		width: 0.5px;
		height: 40px;
		margin: 0 auto;
		background: rgba(255, 255, 255, 0.6);
	}

	.room-services__title {
		width: min(339px, 100%);
		margin: 30px 0 0;
		font-size: 26px;
		line-height: 1.25;
		text-align: left;
	}

	.room-services__title span {
		display: block;
		white-space: nowrap;
	}

	.room-services__title span + span::before {
		content: none;
	}

	.room-services__description {
		width: min(320px, 100%);
		margin: 16px 0 0;
		font-size: 14px;
		text-align: left;
	}

	.room-carousel {
		margin-top: 27px;
	}

	.room-carousel__viewport {
		overflow: visible;
		width: 100%;
		margin: 0;
	}

	.room-carousel__track {
		display: grid;
		gap: 44px;
		transform: none !important;
		transition: none;
	}

	.room-card {
		display: block;
		width: 100%;
	}

	.room-card--additional {
		display: none;
	}

	.room-carousel__track--expanded .room-card--additional {
		display: block;
		animation: property-card-reveal 280ms ease both;
	}

	.room-card__media {
		aspect-ratio: 355 / 360;
	}

	.room-card__hover,
	.room-carousel__arrow {
		display: none;
	}

	.room-card h3 {
		width: min(335px, 100%);
		margin-top: 14px;
		font-size: 18px;
		line-height: 1.3;
	}

	.room-card p {
		width: min(320px, 100%);
		margin-top: 15px;
		font-size: 14px;
		line-height: 1.25;
	}

	.room-card__more {
		display: inline-block;
		margin-top: 15px;
		font-size: 16px;
	}

	.room-services__toggle {
		display: flex;
		width: 100%;
		height: 50px;
		align-items: center;
		justify-content: center;
		margin-top: 55px;
		padding: 0;
		border: 0;
		background: rgba(185, 185, 185, 0.2);
		color: #fff;
		font-size: 16px;
		cursor: pointer;
		transition: background-color 180ms ease;
	}

	.room-services__toggle:hover,
	.room-services__toggle:active {
		background: rgba(185, 185, 185, 0.3);
	}

	.room-services__bottom-line {
		display: none;
	}
}

.turnkey {
	background: #0b0d0d;
}

.turnkey__inner {
	padding: 110px var(--desktop-gutter) 0;
}

.turnkey__line {
	display: none;
}

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

.turnkey__primary h2,
.turnkey__copy p {
	margin: 0;
	font-weight: 400;
}

.turnkey__primary h2 {
	width: 424px;
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.turnkey__button {
	display: flex;
	width: 264px;
	height: 50px;
	align-items: center;
	justify-content: center;
	margin-top: 31px;
	border: 0.6px solid #fff;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease;
}

.turnkey__button:hover,
.turnkey__button:focus-visible {
	border-color: #2e2f2f;
	background: #2e2f2f;
	color: rgba(255, 255, 255, 0.8);
}

.turnkey__copy {
	width: min(591px, 100%);
}

.turnkey__intro {
	width: min(512px, 100%);
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.turnkey__list {
	margin-top: 30px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.turnkey__list ul {
	margin: 0;
	padding-left: 24px;
}

.turnkey__media {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-top: 120px;
	aspect-ratio: 2800 / 1300;
}

.turnkey__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	transform: translate3d(0, var(--turnkey-parallax-y, 0), 0);
	transition: transform 50ms linear;
	will-change: transform;
}

@media (min-width: 1920px) {
	.turnkey__inner {
		padding-top: clamp(138px, 7.188vw, 184px);
	}

	.turnkey__content {
		gap: clamp(25px, 1.302vw, 33px);
	}

	.turnkey__primary h2 {
		width: clamp(530px, 27.604vw, 707px);
		font-size: clamp(40px, 2.083vw, 53px);
	}

	.turnkey__button {
		width: clamp(330px, 17.188vw, 440px);
		height: clamp(63px, 3.281vw, 84px);
		margin-top: clamp(39px, 2.031vw, 52px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.turnkey__copy {
		width: clamp(739px, 38.49vw, 985px);
	}

	.turnkey__intro {
		width: clamp(640px, 33.333vw, 853px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.turnkey__list {
		margin-top: clamp(38px, 1.979vw, 51px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.turnkey__list ul {
		padding-left: clamp(30px, 1.563vw, 40px);
	}

	.turnkey__media {
		margin-top: clamp(150px, 7.813vw, 200px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.turnkey__inner {
		padding: 70px 32px 0;
	}

	.turnkey__line {
		display: block;
		width: 0.5px;
		height: 60px;
		margin: 0 auto 30px;
		background: rgba(255, 255, 255, 0.6);
	}

	.turnkey__content {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: 32px;
	}

	.turnkey__primary h2 {
		width: 100%;
		font-size: clamp(26px, 3.4vw, 32px);
	}

	.turnkey__button {
		width: min(264px, 100%);
		margin-top: 30px;
	}

	.turnkey__intro,
	.turnkey__list {
		font-size: 15px;
	}

	.turnkey__list {
		margin-top: 24px;
	}

	.turnkey__media {
		margin-top: 70px;
	}
}

@media (max-width: 767px) {
	.turnkey {
		margin-top: var(--mobile-section-gap);
	}

	.turnkey__inner {
		width: 100%;
		margin: 0 auto;
		padding: 0 10px;
	}

	.turnkey__line {
		display: block;
		width: 0.5px;
		height: 40px;
		margin: 0 auto 30px;
		background: rgba(255, 255, 255, 0.6);
	}

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

	.turnkey__primary {
		display: contents;
	}

	.turnkey__primary h2 {
		order: 1;
		width: min(339px, 100%);
		font-size: 26px;
		line-height: 1.25;
	}

	.turnkey__copy {
		order: 2;
		width: 100%;
		margin-top: 20px;
	}

	.turnkey__intro,
	.turnkey__list {
		font-size: 14px;
		line-height: 1.25;
	}

	.turnkey__list {
		margin-top: 15px;
	}

	.turnkey__list ul {
		padding-left: 21px;
	}

	.turnkey__button {
		order: 3;
		width: 100%;
		height: 50px;
		margin-top: 30px;
		font-size: 16px;
	}

	.turnkey__media {
		height: clamp(255px, 80vw, 300px);
		margin-top: var(--mobile-gap-text-image);
		aspect-ratio: auto;
	}

	.turnkey__image {
		object-position: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.turnkey__image {
		top: 50%;
		transform: translateY(-50%);
		transition: none;
		will-change: auto;
	}
}

.cooperation {
	padding: 120px var(--desktop-gutter) 0;
	background: #0b0d0d;
}

.cooperation__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 0.5px solid rgba(255, 255, 255, 0.35);
}

.cooperation__intro {
	padding: 57px 32px 80px 10px;
}

.cooperation__image {
	width: 157px;
	height: auto;
	aspect-ratio: 472 / 459;
	object-fit: cover;
}

.cooperation__title {
	margin: 34px 0 0;
	color: #ebebeb;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.05;
	text-transform: uppercase;
}

.cooperation__title > span {
	display: block;
}

.cooperation__title .cooperation__brand {
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 14px;
	line-height: normal;
}

.cooperation__lead {
	width: min(452px, 100%);
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.15;
}

.cooperation__steps {
	margin: 0;
	padding: 0 0 80px;
	border-left: 0.5px solid rgba(255, 255, 255, 0.35);
	list-style: none;
}

.cooperation__step {
	padding: 42px 40px 49px;
	border-bottom: 0.5px solid rgba(255, 255, 255, 0.35);
}

.cooperation__step:last-child {
	border-bottom: 0;
}

.cooperation__step h3,
.cooperation__step p {
	margin: 0;
	font-weight: 400;
}

.cooperation__step h3 {
	color: #ebebeb;
	font-size: 19px;
	line-height: 1.15;
	text-transform: uppercase;
}

.cooperation__step h3 span {
	color: rgba(235, 235, 235, 0.5);
}

.cooperation__step p {
	width: min(563px, 100%);
	margin-top: 9px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.15;
}

@media (min-width: 1200px) {
	.cooperation__intro {
		position: sticky;
		top: 80px;
		align-self: start;
	}
}

@media (min-width: 1920px) {
	.cooperation {
		padding-top: clamp(150px, 7.813vw, 200px);
	}

	.cooperation__intro {
		top: clamp(100px, 5.208vw, 133px);
		padding: clamp(71px, 3.698vw, 95px) clamp(40px, 2.083vw, 53px) clamp(100px, 5.208vw, 133px) clamp(13px, 0.677vw, 17px);
	}

	.cooperation__image {
		width: clamp(196px, 10.208vw, 261px);
	}

	.cooperation__title {
		margin-top: clamp(43px, 2.24vw, 57px);
		font-size: clamp(40px, 2.083vw, 53px);
	}

	.cooperation__title .cooperation__brand {
		margin-top: clamp(10px, 0.521vw, 13px);
		font-size: clamp(18px, 0.938vw, 24px);
	}

	.cooperation__lead {
		width: clamp(565px, 29.427vw, 753px);
		margin-top: clamp(23px, 1.198vw, 31px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.cooperation__steps {
		padding-bottom: clamp(100px, 5.208vw, 133px);
	}

	.cooperation__step {
		padding: clamp(53px, 2.76vw, 71px) clamp(50px, 2.604vw, 67px) clamp(61px, 3.177vw, 81px);
	}

	.cooperation__step h3 {
		font-size: clamp(24px, 1.25vw, 32px);
	}

	.cooperation__step p {
		width: clamp(704px, 36.667vw, 939px);
		margin-top: clamp(11px, 0.573vw, 15px);
		font-size: clamp(20px, 1.042vw, 27px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.cooperation {
		padding: 70px 32px 0;
	}

	.cooperation__inner {
		display: block;
	}

	.cooperation__intro {
		display: grid;
		grid-template-columns: 157px minmax(0, 1fr);
		column-gap: 32px;
		padding: 40px 0;
	}

	.cooperation__image {
		grid-row: span 2;
	}

	.cooperation__title {
		margin-top: 0;
		font-size: clamp(26px, 3.4vw, 32px);
	}

	.cooperation__lead {
		margin-top: 18px;
		font-size: 15px;
	}

	.cooperation__steps {
		padding: 0 0 40px;
	}

	.cooperation__step {
		padding: 30px 32px;
	}

	.cooperation__step p {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.cooperation {
		width: 100%;
		margin: var(--mobile-section-gap) auto 0;
		padding: 0 10px;
	}

	.cooperation__inner {
		display: block;
		border-top: 0;
	}

	.cooperation__intro {
		padding: 0;
	}

	.cooperation__image {
		display: none;
	}

	.cooperation__title {
		width: 274px;
		margin: 0;
		color: #fff;
		font-size: 26px;
		line-height: 1.25;
	}

	.cooperation__title .cooperation__brand {
		margin-top: 0;
		color: #fff;
		font-size: inherit;
		line-height: inherit;
	}

	.cooperation__lead {
		width: min(338px, 100%);
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.25;
	}

	.cooperation__steps {
		margin-top: 30px;
		padding: 0 0 0 12px;
	}

	.cooperation__step {
		padding: 27px 0 34px 13px;
	}

	.cooperation__step h3 {
		font-size: 18px;
	}

	.cooperation__step p {
		width: min(339px, 100%);
		margin-top: 9px;
		font-size: 14px;
	}
}

.why-us {
	position: relative;
	min-height: 54.747vw;
	overflow: hidden;
	padding: 142px 0 100px;
	background:
		linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)),
		var(--pm-image-13f50af05d, url("images/index-5.webp")) center / cover no-repeat;
}

.why-us__heading {
	position: relative;
	z-index: 1;
	text-align: center;
}

.why-us__heading h2,
.why-us__heading p {
	margin: 0 auto;
	font-weight: 400;
}

.why-us__heading h2 {
	width: min(550px, calc(100% - 120px));
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
}

.why-us__heading p {
	width: min(641px, calc(100% - 120px));
	margin-top: 15px;
	color: #bababa;
	font-size: 16px;
	line-height: 1.25;
}

.why-carousel {
	position: relative;
	z-index: 1;
	margin-top: 80px;
}

.why-carousel__viewport {
	overflow: hidden;
	margin-inline: var(--desktop-gutter);
}

.why-carousel__track {
	display: flex;
	gap: 20px;
	transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.why-card {
	position: relative;
	min-width: 0;
	flex: 0 0 calc((100% - 40px) / 3);
	aspect-ratio: 413 / 289;
	background: rgba(255, 255, 255, 0.17);
}

.why-card h3,
.why-card p {
	position: absolute;
	left: 30px;
	width: calc(100% - 60px);
	margin: 0;
	font-weight: 400;
}

.why-card h3 {
	top: 30px;
	font-size: 20px;
	line-height: 1.15;
	text-transform: uppercase;
}

.why-card p {
	top: 63.32%;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
}

.why-card--title-only h3 {
	top: 30px;
	transform: none;
}

.why-card--long p {
	top: 49%;
}

.why-carousel__arrow {
	position: absolute;
	top: 129px;
	z-index: 2;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: opacity 180ms ease;
}

.why-carousel__arrow:hover {
	opacity: 0.75;
}

.why-carousel__arrow:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 3px;
}

.why-carousel__arrow img {
	width: 100%;
	height: 100%;
}

.why-carousel__arrow--prev {
	left: 19px;
}

.why-carousel__arrow--prev img {
	transform: rotate(180deg);
}

.why-carousel__arrow--next {
	right: 17px;
}

@media (min-width: 1920px) {
	.why-us {
		min-height: min(54.747vw, 1364px);
		padding-top: clamp(189px, 9.844vw, 252px);
		padding-bottom: clamp(133px, 6.927vw, 177px);
	}

	.why-us__heading h2 {
		width: clamp(688px, 35.833vw, 917px);
		font-size: clamp(40px, 2.083vw, 53px);
	}

	.why-us__heading p {
		width: clamp(801px, 41.719vw, 1068px);
		margin-top: clamp(9px, 0.469vw, 12px);
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.why-carousel {
		margin-top: clamp(100px, 5.208vw, 133px);
	}

	.why-carousel__track {
		gap: clamp(25px, 1.302vw, 33px);
	}

	.why-card {
		flex-basis: calc((100% - clamp(50px, 2.604vw, 66px)) / 3);
	}

	.why-card h3,
	.why-card p {
		left: clamp(38px, 1.979vw, 51px);
		width: calc(100% - (clamp(38px, 1.979vw, 51px) * 2));
	}

	.why-card h3 {
		top: clamp(38px, 1.979vw, 51px);
		font-size: clamp(25px, 1.302vw, 33px);
	}

	.why-card p {
		font-size: clamp(20px, 1.042vw, 27px);
	}

	.why-card--title-only h3 {
		transform: none;
	}

	.why-carousel__arrow {
		top: calc(50% - 16px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.why-us {
		min-height: 0;
		padding: 80px 0;
	}

	.why-us__heading h2 {
		font-size: clamp(26px, 3.4vw, 32px);
	}

	.why-us__heading p {
		font-size: 15px;
	}

	.why-carousel {
		margin-top: 60px;
	}

	.why-carousel__viewport {
		margin-inline: 32px;
	}

	.why-carousel__track {
		align-items: stretch;
	}

	.why-card {
		display: flex;
		min-height: 240px;
		flex-basis: calc((100% - 20px) / 2);
		flex-direction: column;
		padding: 24px;
		aspect-ratio: auto;
	}

	.why-card h3,
	.why-card p {
		position: static;
		width: 100%;
	}

	.why-card h3 {
		font-size: 18px;
	}

	.why-card p {
		margin-top: auto;
		padding-top: 30px;
		font-size: 14px;
	}

	.why-carousel__arrow {
		top: calc(50% - 16px);
	}

	.why-carousel__arrow--prev {
		left: 8px;
	}

	.why-carousel__arrow--next {
		right: 8px;
	}
}

@media (max-width: 767px) {
	.why-us {
		width: 100%;
		min-height: 604px;
		margin: var(--mobile-section-gap) auto 0;
		padding: 70px 0 117px;
		background:
			linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)),
			var(--pm-image-13f50af05d, url("images/index-5.webp")) center / cover no-repeat;
	}

	.why-us__heading {
		padding-inline: 10px;
		text-align: left;
	}

	.why-us__heading h2 {
		width: 274px;
		margin: 0;
		font-size: 26px;
		line-height: 1.25;
	}

	.why-us__heading p {
		width: min(345px, 100%);
		margin: 16px 0 0;
		color: rgba(255, 255, 255, 0.8);
		font-size: 14px;
		line-height: 1.25;
	}

	.why-carousel {
		margin-top: 20px;
	}

	.why-carousel__viewport {
		overflow-x: auto;
		margin: 0;
		padding: 0 10px;
		scrollbar-width: none;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.why-carousel__viewport::-webkit-scrollbar {
		display: none;
	}

	.why-carousel__track {
		width: max-content;
		gap: 10px;
		transform: none;
		transition: none;
		will-change: auto;
	}

	.why-card {
		width: 305px;
		min-height: 208px;
		flex: 0 0 305px;
		aspect-ratio: auto;
		scroll-snap-align: start;
	}

	.why-card h3,
	.why-card p {
		left: 15px;
		width: calc(100% - 30px);
	}

	.why-card h3 {
		top: 15px;
		font-size: 18px;
		line-height: normal;
	}

	.why-card p {
		top: 107px;
		font-size: 14px;
		line-height: 1.15;
	}

	.why-card--title-only h3 {
		transform: none;
	}

	.why-card--long p {
		top: 74px;
	}

	.why-carousel__arrow {
		display: none;
	}
}

@media (min-width: 1200px) {
	.header {
		padding-inline: var(--desktop-gutter);
	}

	.header__nav {
		right: var(--desktop-gutter);
	}

	.story__inner {
		width: calc(100% - (var(--desktop-gutter) * 2));
	}

	.repair-types__inner {
		padding-inline: var(--desktop-gutter);
	}

	.repair-types__grid {
		width: 100%;
	}
}

@media (min-width: 1200px) and (max-width: 1399px) {
	.story__title {
		width: 80%;
	}

	.story__lead {
		top: 37%;
	}

	.story__line--middle {
		top: 41%;
		height: 70px;
	}
}

/* Single project page */
.case-hero {
	background: #0b0d0d;
}

.case-hero__media,
.case-hero__overlay {
	position: absolute;
	inset: 0;
}

.case-hero__media {
	overflow: hidden;
}

.case-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

.case-hero__overlay {
	z-index: 1;
	background: rgba(0, 0, 0, 0.58);
}

.case-hero__title,
.case-hero__button {
	z-index: 2;
}

.case-hero__title {
	position: absolute;
	top: 86.2857%;
	left: var(--desktop-gutter);
	margin: 0;
	font-size: 50px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: uppercase;
	white-space: nowrap;
}

.case-hero__button {
	top: 87.2857%;
	right: var(--desktop-gutter);
	left: auto;
	transform: none;
}

@media (min-width: 1920px) {
	.case-hero__title {
		font-size: 3.5714vw;
	}

	.case-hero__button {
		width: 18.8571vw;
		height: 3.5714vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.case-hero__media img {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.case-hero__title {
		top: auto;
		bottom: 32px;
		left: 32px;
		font-size: 40px;
	}

	.case-hero__button {
		top: auto;
		right: 32px;
		bottom: 32px;
	}
}

@media (max-width: 767px) {
	.case-hero {
		display: grid;
		grid-template-columns: 10px minmax(0, 1fr) 10px;
		grid-template-rows: 45.7692% auto auto 1fr;
		justify-items: start;
	}

	.case-hero > .header {
		grid-column: 1 / -1;
		grid-row: 1;
		align-self: start;
		justify-self: stretch;
	}

	.case-hero__media img {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.case-hero__overlay {
		background: rgba(0, 0, 0, 0.65);
	}

	.case-hero__title {
		position: relative;
		grid-column: 2;
		grid-row: 2;
		top: auto;
		left: auto;
		width: min(275px, 100%);
		font-size: 32px;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.case-hero__button {
		position: relative;
		grid-column: 2;
		grid-row: 3;
		top: auto;
		right: auto;
		left: auto;
		max-width: 100%;
		margin-top: 30px;
	}
}

/* Project details */
.case-details {
	min-height: 425px;
	padding: 29px 60px 0;
	background: #0b0d0d;
}

.case-details__breadcrumb {
	font-size: 16px;
	line-height: 1.25;
}

.case-details__breadcrumb span:last-child {
	color: #848484;
}

.case-details__content {
	display: grid;
	margin-top: 120px;
	grid-template-columns: 365px minmax(0, 1fr);
	column-gap: 69px;
}

.case-details__content h2 {
	margin: 0;
	padding-left: 0;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.case-details__list {
	margin: 0;
}

.case-details__item {
	display: flex;
	min-height: 69px;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 19px 4px 20px 0;
	border-top: 1px solid #6f6f6f;
}

.case-details__item:last-child {
	min-height: 49px;
	padding-bottom: 0;
}

.case-details__item dt,
.case-details__item dd {
	margin: 0;
}

.case-details__item dt {
	font-size: 22px;
	line-height: 1.3;
	text-transform: uppercase;
}

.case-details__item dd {
	padding-top: 5px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1.25;
	letter-spacing: 0.32px;
	white-space: nowrap;
}

@media (min-width: 1920px) {
	.case-details {
		min-height: 30.3571vw;
		padding: 2.0714vw var(--desktop-gutter) 0;
	}

	.case-details__breadcrumb {
		font-size: 1.1429vw;
	}

	.case-details__content {
		margin-top: 8.5714vw;
		grid-template-columns: 26.0714vw minmax(0, 1fr);
		column-gap: 4.9286vw;
	}

	.case-details__content h2 {
		padding-left: 0;
		font-size: 2.2857vw;
	}

	.case-details__item {
		min-height: 4.9286vw;
		gap: 1.7143vw;
		padding: 1.3571vw 0.2857vw 1.4286vw 0;
	}

	.case-details__item:last-child {
		min-height: 3.5vw;
		padding-bottom: 0;
	}

	.case-details__item dt {
		font-size: 1.5714vw;
	}

	.case-details__item dd {
		padding-top: 0.3571vw;
		font-size: 1.1429vw;
		letter-spacing: 0.0229vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.case-details {
		min-height: 410px;
		padding-inline: 32px;
	}

	.case-details__content {
		margin-top: 100px;
		grid-template-columns: 28% minmax(0, 1fr);
		column-gap: 32px;
	}

	.case-details__content h2 {
		padding-left: 0;
		font-size: 28px;
	}

	.case-details__item dt {
		font-size: 18px;
	}
}

@media (max-width: 767px) {
	.case-details {
		min-height: 398px;
		padding: 13px 10px 0;
	}

	.case-details__breadcrumb {
		font-size: 12px;
	}

	.case-details__content {
		display: block;
		margin-top: 70px;
	}

	.case-details__content h2 {
		padding-left: 0;
		font-size: 26px;
	}

	.case-details__list {
		margin-top: 30px;
	}

	.case-details__item,
	.case-details__item:last-child {
		min-height: 63px;
		align-items: baseline;
		gap: 10px;
		padding: 19px 0 19.6px;
	}

	.case-details__item dt {
		font-size: 16px;
	}

	.case-details__item dd {
		padding-top: 0;
		font-size: 16px;
		letter-spacing: 0.28px;
	}
}

/* Project gallery */
.case-gallery {
	padding: 115px 60px 0;
	background: #0b0d0d;
}

.case-gallery__grid {
	display: grid;
	grid-auto-rows: 480px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 25px 20px;
}

.case-gallery__item {
	position: relative;
	display: block;
	overflow: hidden;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}

.case-gallery--ready .case-gallery__item {
	opacity: 0;
	transform: translateY(14px) scale(0.996);
	transition:
		opacity 900ms cubic-bezier(0.4, 0, 0.2, 1) var(--gallery-reveal-delay, 0ms),
		transform 900ms cubic-bezier(0.4, 0, 0.2, 1) var(--gallery-reveal-delay, 0ms);
}

.case-gallery--ready .case-gallery__item.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.case-gallery__item--wide {
	grid-column: span 3;
}

.case-gallery__item--third {
	grid-column: span 2;
}

/* Keep the same 2–3–2 rhythm when photos are added or reordered. */
@media (min-width: 1200px) {
	.case-gallery__item {
		grid-column: span 3;
	}

	.case-gallery__item:nth-child(7n + 3),
	.case-gallery__item:nth-child(7n + 4),
	.case-gallery__item:nth-child(7n + 5) {
		grid-column: span 2;
	}
}

.case-gallery__item[hidden] {
	display: none;
}

.case-gallery__item picture,
.case-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
}

.case-gallery__item img {
	max-width: none;
	object-fit: cover;
	transition: transform 450ms ease;
}

.case-gallery__item:hover img,
.case-gallery__item:focus-visible img {
	transform: scale(1.015);
}

.case-gallery__item--stairs img {
	position: absolute;
	top: -120.59%;
	left: 0;
	height: 233.33%;
}

.case-gallery__more {
	display: block;
	width: 264px;
	height: 50px;
	margin: 65px auto 0;
	padding: 0;
	border: 0.6px solid #fff;
	background: transparent;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	cursor: pointer;
}

.case-gallery__more:hover,
.case-gallery__more:focus-visible {
	background: rgba(255, 255, 255, 0.08);
}

.case-gallery__more[hidden],
.case-lightbox[hidden] {
	display: none;
}

.case-lightbox {
	position: fixed;
	z-index: 1200;
	inset: 0;
}

.case-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	backdrop-filter: blur(4px);
}

.case-lightbox__dialog {
	position: relative;
	display: grid;
	width: 100%;
	height: 100%;
	grid-template-columns: 80px minmax(0, 1fr) 80px;
	align-items: center;
	padding: 45px 30px 30px;
}

.case-lightbox__figure {
	display: grid;
	height: 100%;
	min-height: 0;
	margin: 0;
	grid-template-rows: minmax(0, 1fr) 24px;
	place-items: center;
}

.case-lightbox__image {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.case-lightbox__image.is-changing {
	animation: case-lightbox-image-in 520ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes case-lightbox-image-in {
	from {
		opacity: 0;
		transform: scale(0.992);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.case-lightbox__counter {
	align-self: end;
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
}

.case-lightbox__close,
.case-lightbox__arrow {
	position: relative;
	z-index: 1;
	display: grid;
	padding: 0;
	place-items: center;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.case-lightbox__close {
	position: absolute;
	top: 24px;
	right: 30px;
	width: 36px;
	height: 36px;
}

.case-lightbox__close img {
	width: 18px;
	height: 18px;
}

.case-lightbox__arrow {
	width: 64px;
	height: 64px;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	transition:
		border-color 180ms ease,
		background-color 180ms ease;
}

.case-lightbox__arrow img {
	width: 30px;
	height: 30px;
}

.case-lightbox__arrow--prev img {
	transform: rotate(180deg);
}

.case-lightbox__arrow:hover,
.case-lightbox__arrow:focus-visible {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.1);
}

body.gallery-lightbox-open {
	overflow: hidden;
}

@media (min-width: 1920px) {
	.case-gallery {
		padding: 8.2143vw var(--desktop-gutter) 0;
	}

	.case-gallery__grid {
		grid-auto-rows: 34.2857vw;
		gap: 1.7857vw 1.4286vw;
	}

	.case-gallery__more {
		width: 18.8571vw;
		height: 3.5714vw;
		margin-top: 4.6429vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.case-gallery {
		padding: 64px 32px 0;
	}

	.case-gallery__grid {
		grid-auto-rows: 360px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 16px;
	}

	.case-gallery__item--wide,
	.case-gallery__item--third {
		grid-column: span 1;
	}

	.case-gallery__item:nth-child(7n) {
		grid-column: span 2;
	}

	.case-gallery__item--stairs img {
		position: static;
		height: 100%;
		object-position: center 75%;
	}
}

@media (max-width: 767px) {
	.case-gallery {
		padding: 70px 10px 0;
	}

	.case-gallery__grid {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.case-gallery__item {
		width: 100%;
		height: 360px;
		flex: 0 0 360px;
	}

	.case-gallery__item--stairs img {
		position: static;
		height: 100%;
	}

	.case-gallery__more {
		width: 100%;
		margin-top: 50px;
	}

	.case-lightbox__dialog {
		grid-template-columns: 42px minmax(0, 1fr) 42px;
		padding: 55px 4px 20px;
	}

	.case-lightbox__close {
		top: 10px;
		right: 10px;
	}

	.case-lightbox__arrow {
		width: 38px;
		height: 38px;
	}

	.case-lightbox__arrow img {
		width: 24px;
		height: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.case-gallery--ready .case-gallery__item {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.case-lightbox__image.is-changing {
		animation: none;
	}
}

.page-case main {
	padding-bottom: 140px;
	background: #0b0d0d;
}

@media (min-width: 1200px) {
	.page-case .projects__header h2 {
		max-width: none;
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	.page-case main {
		padding-bottom: 70px;
	}
}

@media (max-width: 767px) {
	.pricing__mobile {
		padding-bottom: 0;
	}

	.repair-types {
		margin-top: var(--mobile-section-gap);
	}

	.repair-types__inner {
		display: block;
		width: 100%;
		margin: 0 auto;
		padding: 0 10px 50px;
	}

	.repair-types__line {
		display: none;
	}

	.repair-types__title {
		width: min(339px, 100%);
		font-size: 26px;
		text-align: left;
	}

	.repair-types__description {
		width: min(344px, 100%);
		margin-top: 16px;
		font-size: 14px;
		text-align: left;
	}

	.repair-types__grid {
		display: grid;
		width: 100%;
		margin-top: 20px;
		grid-template-columns: 1fr;
		gap: 47px;
	}

	.repair-card__media {
		width: 100%;
		aspect-ratio: 355 / 360;
	}

	.repair-card__overlay-link {
		display: none;
	}

	.repair-card__title {
		margin-top: 14px;
		font-size: 18px;
		line-height: 1.3;
	}

	.repair-card__description {
		margin-top: 15px;
		font-size: 14px;
		line-height: 1.25;
	}

	.repair-card__details {
		display: inline-block;
	}
}

/* Reviews page hero */
.hero--reviews {
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.58)),
		var(--pm-image-799ca62988, url("images/reviews/hero.webp"));
	background-position: center 44%;
	background-size: 100% auto;
}

.hero--reviews .hero__content {
	top: 45.1429%;
}

.hero--reviews .hero__content p {
	top: 67px;
	left: 50%;
	width: 546px;
	transform: translateX(-50%);
}

@media (min-width: 1920px) {
	.hero--reviews .hero__content p {
		top: clamp(92px, 4.7857vw, 123px);
		width: clamp(749px, 39vw, 998px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.hero--reviews {
		background-position: center;
		background-size: cover;
	}

	.hero--reviews .hero__content {
		top: 44%;
	}

	.hero--reviews .hero__content p {
		top: 60px;
	}
}

@media (max-width: 767px) {
	.hero--reviews {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)),
			var(--pm-image-799ca62988, url("images/reviews/hero.webp"));
		background-position: right center;
		background-size: auto 100%;
	}

	.hero--reviews .hero__content {
		top: 48.7179%;
	}

	.hero--reviews .hero__content h1 {
		white-space: nowrap;
	}

	.hero--reviews .hero__content p {
		top: 52px;
		left: 0;
		width: 325px;
		transform: none;
	}
}

/* Reviews page: customer reviews */
.page-reviews main {
	padding-bottom: 140px;
	background: #0b0d0d;
}

.reviews {
	min-height: 0;
	padding: clamp(22px, 1.5625vw, 30px) 0 120px;
	overflow: hidden;
	background: #0b0d0d;
}

.reviews__breadcrumb {
	margin-inline: var(--desktop-gutter);
	font-size: clamp(14px, 0.8333vw, 16px);
	line-height: 1.25;
}

.reviews__breadcrumb span:last-child {
	color: #848484;
}

.reviews__heading {
	position: relative;
	margin: clamp(80px, 6.25vw, 120px) var(--desktop-gutter) 0;
}

.reviews__heading h2 {
	width: min(461px, 40%);
	margin: 0;
	font-size: clamp(26px, 1.6667vw, 32px);
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.reviews__controls {
	position: absolute;
	top: clamp(38px, 2.5vw, 48px);
	right: 0;
	display: flex;
	gap: 15px;
}

.reviews__arrow {
	display: grid;
	width: 32px;
	height: 32px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.reviews__arrow img {
	display: block;
	width: 32px;
	height: 32px;
}

.reviews__arrow--prev img {
	transform: rotate(180deg);
}

.reviews-carousel {
	margin-top: clamp(22px, 1.5625vw, 30px);
	padding-left: var(--desktop-gutter);
}

.reviews-carousel__viewport {
	overflow: hidden;
	outline: none;
}

.reviews-carousel__viewport:focus-visible {
	outline: 1px solid rgba(255, 255, 255, 0.75);
	outline-offset: 4px;
}

.reviews-carousel__track {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.review-card {
	flex: 0 0 593px;
	min-height: clamp(235px, 13.125vw, 252px);
	padding: clamp(27px, 1.8229vw, 35px) 30px 30px;
	background: rgba(185, 185, 185, 0.11);
}

.review-card h3,
.review-card p {
	margin: 0;
}

.review-card h3 {
	font-size: clamp(18px, 1.0417vw, 20px);
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
}

.review-card p {
	margin-top: clamp(26px, 1.6667vw, 32px);
	color: rgba(255, 255, 255, 0.8);
	font-size: clamp(14px, 0.8333vw, 16px);
	line-height: 1.15;
}

.reviews__more {
	display: none;
}

@media (min-width: 1920px) {
	.reviews {
		min-height: 0;
		padding-top: clamp(30px, 1.5625vw, 39px);
	}

	.reviews__breadcrumb {
		font-size: clamp(16px, 0.8333vw, 21px);
	}

	.reviews__heading {
		margin-top: clamp(120px, 6.25vw, 156px);
	}

	.reviews__heading h2 {
		width: clamp(461px, 24.0104vw, 600px);
		font-size: clamp(32px, 1.6667vw, 42px);
	}

	.reviews__controls {
		top: clamp(48px, 2.5vw, 63px);
		gap: clamp(15px, 0.7813vw, 20px);
	}

	.reviews__arrow,
	.reviews__arrow img {
		width: clamp(32px, 1.6667vw, 42px);
		height: clamp(32px, 1.6667vw, 42px);
	}

	.reviews-carousel {
		margin-top: clamp(30px, 1.5625vw, 39px);
	}

	.reviews-carousel__track {
		gap: clamp(15px, 0.7813vw, 20px);
	}

	.review-card {
		flex-basis: calc((100vw - (2 * var(--desktop-gutter)) - (2 * clamp(15px, 0.7813vw, 20px))) / 3);
		min-height: clamp(252px, 13.125vw, 328px);
		padding: clamp(35px, 1.8229vw, 46px) clamp(30px, 1.5625vw, 39px) clamp(30px, 1.5625vw, 39px);
	}

	.review-card h3 {
		font-size: clamp(20px, 1.0417vw, 26px);
	}

	.review-card p {
		margin-top: clamp(32px, 1.6667vw, 42px);
		font-size: clamp(16px, 0.8333vw, 21px);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.reviews {
		min-height: 0;
		padding-top: 24px;
	}

	.reviews__breadcrumb,
	.reviews__heading {
		margin-inline: 32px;
	}

	.reviews__heading {
		margin-top: 90px;
	}

	.reviews__heading h2 {
		width: 430px;
		font-size: 28px;
	}

	.reviews__controls {
		top: 38px;
		right: 0;
		left: auto;
	}

	.reviews-carousel {
		margin-top: 28px;
		padding-left: 32px;
	}

	.review-card {
		flex-basis: calc((100vw - 80px) / 2);
		min-height: 260px;
		padding: 28px 24px;
	}
}

@media (max-width: 767px) {
	.reviews {
		width: 100%;
		min-height: 0;
		margin: 0 auto;
		padding: 13px 10px 70px;
	}

	.page-reviews main {
		padding-bottom: 70px;
	}

	.page-reviews .request {
		margin-top: 0;
	}

	.reviews__breadcrumb {
		margin: 0;
		font-size: 12px;
	}

	.reviews__heading {
		margin: 72px 0 0;
	}

	.reviews__heading h2 {
		width: 278px;
		font-size: 26px;
	}

	.reviews__controls {
		display: none;
	}

	.reviews-carousel {
		margin-top: 31px;
		padding: 0;
	}

	.reviews-carousel__viewport {
		overflow: visible;
	}

	.reviews-carousel__track {
		display: flex;
		flex-direction: column;
		gap: 15px;
		transform: none;
		transition: none;
		will-change: auto;
	}

	.review-card {
		width: 100%;
		min-height: 235px;
		padding: 20px 13px 31px 15px;
		flex-basis: auto;
	}

	.review-card h3 {
		font-size: 18px;
	}

	.review-card p {
		margin-top: 20px;
		font-size: 14px;
	}

	.review-card--additional {
		display: none;
	}

	.reviews-carousel__track--expanded .review-card--additional {
		display: block;
	}

	.reviews__more {
		display: grid;
		width: 100%;
		height: 50px;
		margin-top: 50px;
		padding: 0;
		place-items: center;
		border: 0;
		background: rgba(185, 185, 185, 0.2);
		color: #fff;
		font: inherit;
		font-size: 16px;
		cursor: pointer;
	}

	.reviews__more[hidden] {
		display: none;
	}
}

/* Prices page */
.page-prices main {
	padding-bottom: 140px;
	background: #0b0d0d;
}

.page-prices .request {
	margin-top: 110px;
}

/* Prices page hero */
.hero--prices {
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.58)),
		var(--pm-image-c9b5aef0a6, url("images/prices/hero-desktop.webp"));
	background-position: center;
}

.hero--prices .hero__content {
	top: 42.2857%;
	width: 626px;
}

.hero--prices .hero__content h1 {
	width: 626px;
}

.hero--prices .hero__content p {
	top: 67px;
	left: 50%;
	width: 430px;
	transform: translateX(-50%);
}

.hero--prices .hero__button {
	top: 141px;
}

@media (min-width: 1920px) {
	.hero--prices .hero__content,
	.hero--prices .hero__content h1 {
		width: 44.7143vw;
	}

	.hero--prices .hero__content h1 {
		font-size: 3.5714vw;
	}

	.hero--prices .hero__content p {
		top: 4.7857vw;
		width: 30.7143vw;
		font-size: 1.0714vw;
	}

	.hero--prices .hero__button {
		top: 10.0714vw;
		width: 18.8571vw;
		height: 3.5714vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1100px) {
	.hero--prices .hero__content {
		top: 40%;
		width: min(626px, calc(100% - 64px));
	}

	.hero--prices .hero__content h1 {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.page-prices main {
		padding-bottom: 70px;
	}

	.page-prices .request {
		margin-top: 70px;
	}

	.hero--prices {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)),
			var(--pm-image-9ea7091621, url("images/prices/hero-mobile.webp"));
		background-position: center;
		background-size: cover;
	}

	.hero--prices .hero__content {
		top: 41.5385%;
		left: 10px;
		width: calc(100% - 20px);
		transform: none;
		text-align: left;
	}

	.hero--prices .hero__content h1 {
		width: 248px;
		margin-inline: 0;
		font-size: 32px;
	}

	.hero--prices .hero__content p {
		top: 89px;
		left: 0;
		width: min(325px, 100%);
		transform: none;
		font-size: 15px;
		line-height: 1.25;
	}

	.hero--prices .hero__button {
		top: 176px;
		left: 0;
		transform: none;
	}
}

/* Prices packages */
.price-packages {
	padding: 30px 60px 0;
	background: var(--page-bg, #0b0d0d);
	color: #fff;
}

.price-packages__breadcrumb {
	margin: 0;
	font-size: 16px;
	line-height: 1.25;
}

.price-packages__breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.price-packages__breadcrumb span {
	color: rgba(255, 255, 255, 0.5);
}

.price-packages__title {
	max-width: 700px;
	margin: 120px 0 0;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
}

.price-packages__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 30px;
}

.price-card {
	display: flex;
	min-width: 0;
	min-height: 850px;
	flex-direction: column;
}

.price-card__image {
	display: block;
	width: 100%;
	height: 255px;
	aspect-ratio: 413 / 255;
	object-fit: cover;
}

.price-card__body {
	display: flex;
	min-height: 0;
	padding: 19px 19px 20px;
	flex: 1;
	flex-direction: column;
	border: 0.5px solid rgba(255, 255, 255, 0.6);
	border-top: 0;
}

.price-card__header {
	min-height: 82px;
	padding-bottom: 17px;
	border-bottom: 0.5px solid rgba(255, 255, 255, 0.6);
}

.price-card__header h3 {
	margin: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
}

.price-card__header p {
	margin: 12px 0 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
	line-height: 1.2;
}

.price-card__prices {
	display: grid;
	gap: 8px;
	margin: 18px 0 0;
	font-size: 16px;
	line-height: 1.25;
}

.price-card__prices div {
	display: flex;
	gap: 15px;
	align-items: baseline;
	justify-content: space-between;
}

.price-card__prices dt,
.price-card__prices dd {
	margin: 0;
}

.price-card__note {
	margin: 16px 0 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 12px;
	line-height: 1.25;
}

.price-card__features {
	display: grid;
	gap: 11px;
	margin: 49px 0 0;
	padding: 24px 0 0;
	border-top: 0.5px solid rgba(255, 255, 255, 0.6);
	list-style: none;
}

.price-card__features li {
	display: grid;
	grid-template-columns: 100px 9px minmax(0, 1fr);
	gap: 5px;
	align-items: start;
	font-size: 13px;
	line-height: 1.15;
}

.price-card__features li > span:first-child {
	font-size: 14px;
}

.price-card__features li > span:nth-child(2) {
	font-size: 12.5px;
}

.price-card__features li > span:nth-child(2),
.price-card__features li > span:last-child {
	color: rgba(255, 255, 255, 0.6);
}

.price-card__features span:last-child {
	padding-left: 0.35em;
}

.price-card__button {
	display: grid;
	width: 100%;
	min-height: 50px;
	margin-top: auto;
	padding: 10px 20px;
	place-items: center;
	border: 0.5px solid rgba(255, 255, 255, 0.6);
	background: transparent;
	color: rgba(255, 255, 255, 0.8);
	font: inherit;
	font-size: 16px;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.price-card__button:hover,
.price-card__button:focus-visible {
	background: #fff;
	color: #0b0d0d;
}

@media (min-width: 1920px) {
	.price-packages {
		padding-top: 2.1429vw;
		padding-inline: var(--desktop-gutter);
	}

	.price-packages__breadcrumb {
		font-size: 1.1429vw;
	}

	.price-packages__title {
		max-width: 50vw;
		margin-top: 8.5714vw;
		font-size: 2.2857vw;
	}

	.price-packages__grid {
		gap: 1.4286vw;
		margin-top: 2.1429vw;
	}

	.price-card {
		min-height: 60.7143vw;
	}

	.price-card__image {
		height: calc((100vw - (2 * var(--desktop-gutter)) - (2 * 1.4286vw)) / 3 * 255 / 413);
	}

	.price-card__body {
		padding: 1.3571vw 1.3571vw 1.4286vw;
	}

	.price-card__header {
		min-height: 5.8571vw;
		padding-bottom: 1.2143vw;
	}

	.price-card__header h3 {
		font-size: 1.4286vw;
	}

	.price-card__header p {
		margin-top: 0.8571vw;
		font-size: 1vw;
	}

	.price-card__prices {
		gap: 0.5714vw;
		margin-top: 1.2857vw;
		font-size: 1.1429vw;
	}

	.price-card__note {
		margin-top: 1.1429vw;
		font-size: 0.8571vw;
	}

	.price-card__features {
		gap: 0.7857vw;
		margin-top: 3.5vw;
		padding-top: 1.7143vw;
	}

	.price-card__features li {
		grid-template-columns: 7.1429vw 0.6429vw minmax(0, 1fr);
		gap: 0.3571vw;
		font-size: 0.9286vw;
	}

	.price-card__features li > span:first-child {
		font-size: 1vw;
	}

	.price-card__features li > span:nth-child(2) {
		font-size: 0.8929vw;
	}

	.price-card__button {
		min-height: 3.5714vw;
		padding: 0.7143vw 1.4286vw;
		font-size: 1.1429vw;
	}
}

@media (min-width: 768px) and (max-width: 1100px) {
	.price-packages {
		padding: 20px 20px 0;
	}

	.price-packages__breadcrumb {
		font-size: 14px;
	}

	.price-packages__title {
		max-width: 620px;
		margin-top: 80px;
		font-size: 24px;
	}

	.price-packages__grid {
		grid-template-columns: 1fr;
		gap: 25px;
		margin-top: 30px;
	}

	.price-card {
		min-height: 948px;
	}

	.price-card__image {
		height: 355px;
		aspect-ratio: 728 / 355;
	}

	.price-card__body {
		padding: 25px 30px 46px;
	}

	.price-card__header {
		min-height: 88px;
		padding-bottom: 20px;
	}

	.price-card__header h3 {
		font-size: 22px;
	}

	.price-card__header p {
		font-size: 17px;
	}

	.price-card__prices {
		gap: 10px;
		margin-top: 22px;
		font-size: 17px;
	}

	.price-card__note {
		margin-top: 19px;
		font-size: 15px;
	}

	.price-card__features {
		gap: 13px;
		margin-top: 23px;
		padding-top: 23px;
	}

	.price-card__features li {
		grid-template-columns: 150px 10px minmax(0, 1fr);
		gap: 7px;
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	.price-packages {
		padding: 15px 10px 0;
	}

	.price-packages__breadcrumb {
		font-size: 12px;
	}

	.price-packages__title {
		max-width: 315px;
		margin-top: 70px;
		font-size: 26px;
	}

	.price-packages__grid {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 31px;
	}

	.price-card {
		min-height: 834px;
	}

	.price-card__image {
		height: 255px;
		aspect-ratio: 355 / 255;
	}

	.price-card__body {
		padding: 21px 14px 26px;
	}

	.price-card__header {
		min-height: 83px;
		padding-bottom: 20px;
	}

	.price-card__header h3 {
		font-size: 20px;
	}

	.price-card__header p {
		margin-top: 11px;
		font-size: 14px;
	}

	.price-card__prices {
		gap: 8px;
		margin-top: 19px;
		font-size: 16px;
	}

	.price-card__note {
		max-width: 230px;
		margin-top: 17px;
		font-size: 13px;
	}

	.price-card__features {
		gap: 11px;
		margin-top: 21px;
		padding-top: 24px;
	}

	.price-card__features li {
		grid-template-columns: 95px 8px minmax(0, 1fr);
		gap: 4px;
		font-size: 13px;
	}

	.price-card__features span:last-child {
		padding-left: 0.7em;
	}
}

/* Prices: package details modal */
body.price-package-open {
	overflow: hidden;
}

.price-package-modal {
	position: fixed;
	z-index: 1200;
	top: 0;
	right: auto;
	bottom: 0;
	left: 0;
	width: 100vw;
	visibility: hidden;
	opacity: 0;
	transition: opacity 220ms ease, visibility 220ms;
}

.price-package-modal--open {
	visibility: visible;
	opacity: 1;
}

.price-package-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(52, 52, 52, 0.4);
	backdrop-filter: blur(5.5px);
}

.price-package-modal__dialog {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 52%;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #0b0d0d;
	opacity: 0;
	transition: opacity 220ms ease;
}

.price-package-modal--open .price-package-modal__dialog {
	opacity: 1;
}

.price-package-modal__close {
	position: absolute;
	top: 32px;
	right: 31px;
	z-index: 2;
	display: none;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.price-package-modal__close img {
	width: 24px;
	height: 24px;
}

.price-package-modal__content {
	min-height: 100%;
	padding-top: 58px;
	padding-bottom: 30px;
}

.price-package-modal__content h2 {
	margin: 0;
	font-size: 31px;
	font-weight: 400;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
}

.price-package-modal__lead {
	margin: 14px auto 0;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
}

.price-package-modal__details {
	width: 585px;
	max-width: calc(100% - 143px);
	margin: 50px 60px 0 83px;
	font-size: 14px;
	line-height: 1.2;
}

.price-package-modal__details > div {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 20px;
}

.price-package-modal__details > div:nth-child(2) {
	margin-top: 33px;
}

.price-package-modal__details > div:nth-child(3) {
	margin-top: 18px;
}

.price-package-modal__details > div:nth-child(4) {
	margin-top: 16px;
}

.price-package-modal__details > div:nth-child(5),
.price-package-modal__details > div:nth-child(6) {
	margin-top: 17px;
}

.price-package-modal__details dt,
.price-package-modal__details dd {
	margin: 0;
}

.price-package-modal__details dt {
	font-weight: 700;
}

.price-package-modal__details dd {
	color: rgba(255, 255, 255, 0.9);
}

.price-package-modal__action {
	position: absolute;
	top: 667px;
	left: 50%;
	display: grid;
	width: 287px;
	height: 50px;
	margin: 0;
	place-items: center;
	border: 0.6px solid #fff;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: 1;
	transform: translateX(-50%);
	transition: background-color 0.25s ease, color 0.25s ease;
}

.price-package-modal__action:hover,
.price-package-modal__action:focus-visible {
	background: #fff;
	color: #0b0d0d;
}

.price-package-modal[data-price-package-current="design"] .price-package-modal__content {
	min-height: max(100%, 882px);
}

.price-package-modal[data-price-package-current="design"] .price-package-modal__action {
	top: 735px;
}

.price-package-modal[data-price-package-current="individual"] .price-package-modal__content {
	min-height: max(100%, 810px);
}

.price-package-modal[data-price-package-current="individual"] .price-package-modal__action {
	top: 718px;
}

@media (min-width: 1200px) {
	.price-package-modal__action,
	.price-package-modal[data-price-package-current="design"] .price-package-modal__action,
	.price-package-modal[data-price-package-current="individual"] .price-package-modal__action {
		position: static;
		margin: 50px auto 0;
		transform: none;
	}
}

@media (min-width: 1920px) {
	.price-package-modal__content {
		min-height: max(100%, 53.3572vw);
		padding-top: 4.1429vw;
		padding-bottom: 2.1429vw;
	}

	.price-package-modal__content h2 {
		font-size: 2.2143vw;
	}

	.price-package-modal__lead,
	.price-package-modal__details {
		font-size: 1vw;
	}

	.price-package-modal__lead {
		margin-top: 1vw;
	}

	.price-package-modal__details {
		width: 41.7857vw;
		max-width: calc(100% - 10.2143vw);
		margin: 3.5714vw 4.2857vw 0 5.9286vw;
	}

	.price-package-modal__details > div {
		grid-template-columns: 8.5714vw minmax(0, 1fr);
		gap: 1.4286vw;
	}

	.price-package-modal__details > div:nth-child(2) {
		margin-top: 2.3571vw;
	}

	.price-package-modal__details > div:nth-child(3) {
		margin-top: 1.2857vw;
	}

	.price-package-modal__details > div:nth-child(4) {
		margin-top: 1.1429vw;
	}

	.price-package-modal__details > div:nth-child(5),
	.price-package-modal__details > div:nth-child(6) {
		margin-top: 1.2143vw;
	}

	.price-package-modal__action {
		width: 20.5vw;
		height: 3.5714vw;
		top: 47.6429vw;
		font-size: 1.1429vw;
	}

	.price-package-modal[data-price-package-current="design"] .price-package-modal__content {
		min-height: max(100%, 63vw);
	}

	.price-package-modal[data-price-package-current="design"] .price-package-modal__action {
		top: 52.5vw;
	}

	.price-package-modal[data-price-package-current="individual"] .price-package-modal__content {
		min-height: max(100%, 57.8571vw);
	}

	.price-package-modal[data-price-package-current="individual"] .price-package-modal__action {
		top: 51.2857vw;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.price-package-modal {
		top: 58px;
	}

	.price-package-modal__dialog {
		width: calc(100vw - 98px);
	}

	.price-package-modal__close {
		right: 32px;
		display: block;
	}

	.price-package-modal__content {
		min-height: 810px;
		padding-top: 98px;
	}

	.price-package-modal__details {
		max-width: calc(100% - 84px);
		margin-right: 32px;
		margin-left: 52px;
	}

	.price-package-modal__action {
		top: 708px;
	}

	.price-package-modal[data-price-package-current="design"] .price-package-modal__content,
	.price-package-modal[data-price-package-current="individual"] .price-package-modal__content {
		min-height: auto;
		padding-bottom: 40px;
	}

	.price-package-modal[data-price-package-current="design"] .price-package-modal__action,
	.price-package-modal[data-price-package-current="individual"] .price-package-modal__action {
		position: static;
		margin: 50px auto 0;
		transform: none;
	}
}

@media (max-width: 767px) {
	.price-package-modal {
		top: 55px;
	}

	.price-package-modal__dialog {
		width: calc(100vw - 34px);
	}

	.price-package-modal__close {
		top: 17px;
		right: 16px;
		display: block;
	}

	.price-package-modal__content {
		min-height: 1038px;
		padding: 72px 20px 37px;
	}

	.price-package-modal__content h2 {
		font-size: 26px;
		line-height: 1.1;
		text-align: left;
		white-space: nowrap;
	}

	.price-package-modal__lead {
		margin-top: 15px;
		font-size: 14px;
		line-height: 1.2;
		text-align: left;
	}

	.price-package-modal__lead br {
		display: none;
	}

	.price-package-modal__details {
		display: flex;
		width: 281px;
		max-width: none;
		margin: 31px 0 0;
		flex-direction: column;
		gap: 20px;
		font-size: 14px;
	}

	.price-package-modal__details > div:nth-child(n) {
		display: block;
		margin-top: 0;
	}

	.price-package-modal__details dd {
		margin-top: 5px;
	}

	.price-package-modal__action {
		position: static;
		width: 287px;
		margin-top: 36px;
		transform: none;
	}

	.price-package-modal[data-price-package-current="design"] .price-package-modal__content,
	.price-package-modal[data-price-package-current="individual"] .price-package-modal__content {
		min-height: 0;
	}

	.price-package-modal[data-price-package-current="individual"] .price-package-modal__content h2 {
		font-size: 23px;
	}

	.price-package-modal[data-price-package-current="design"] .price-package-modal__action,
	.price-package-modal[data-price-package-current="individual"] .price-package-modal__action {
		top: auto;
	}
}

@media (max-width: 359px) {
	.price-package-modal[data-price-package-current="individual"] .price-package-modal__content h2 {
		white-space: normal;
	}
}

/* 404 page */
.page-404 {
	background: #0b0d0d;
}

.error-page,
.error-page__hero {
	min-height: 100vh;
	min-height: 100svh;
}

.error-page__hero {
	position: relative;
	overflow: hidden;
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
		var(--pm-image-f7fc27863c, url("images/about/hero-bg.webp"));
	background-position: center;
	background-size: cover;
}

.error-page__content {
	position: absolute;
	top: 32.1429%;
	left: 50%;
	width: 700px;
	transform: translateX(-50%);
	color: #fff;
	text-align: center;
}

.error-page__code,
.error-page__content h1,
.error-page__message p {
	margin: 0;
}

.error-page__code {
	font-size: 90px;
	line-height: 1.15;
	text-transform: uppercase;
}

.error-page__content h1 {
	margin-top: 10px;
	font-size: 45px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: uppercase;
}

.error-page__message {
	width: 680px;
	margin: 14px auto 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	line-height: 22px;
}

.error-page__button {
	display: grid;
	width: 264px;
	height: 50px;
	margin: 35px auto 0;
	place-items: center;
	border: 0.6px solid #fff;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	line-height: normal;
	transition: background-color 180ms ease, color 180ms ease;
}

.error-page__button:hover,
.error-page__button:focus-visible {
	background: #fff;
	color: #0b0d0d;
}

@media (min-width: 1920px) {
	.error-page__content {
		width: 50vw;
	}

	.error-page__code {
		font-size: 6.4286vw;
	}

	.error-page__content h1 {
		margin-top: 0.7143vw;
		font-size: 3.2143vw;
	}

	.error-page__message {
		width: 48.5714vw;
		margin-top: 1vw;
		font-size: 1.0714vw;
		line-height: 1.5714vw;
	}

	.error-page__button {
		width: 18.8571vw;
		height: 3.5714vw;
		margin-top: 2.5vw;
		font-size: 1.1429vw;
	}
}

@media (max-width: 767px) {
	.error-page__hero {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)),
			var(--pm-image-f7fc27863c, url("images/about/hero-bg.webp"));
		background-position: center;
	}

	.error-page__content {
		top: 34.1026%;
		left: 10px;
		width: calc(100% - 20px);
		transform: none;
		text-align: left;
	}

	.error-page__code {
		font-size: 55px;
	}

	.error-page__content h1 {
		margin-top: 10px;
		font-size: 26px;
		white-space: nowrap;
	}

	.error-page__message {
		width: min(289px, calc(100% - 20px));
		margin: 15px 0 0;
		font-size: 15px;
		line-height: 1.25;
	}

	.error-page__button {
		width: 264px;
		margin: 31px 0 0;
		text-align: center;
	}
}

/* Keep expanded footer services in the page flow. */
@media (min-width: 1200px) {
	.site-footer {
		display: grid;
		grid-template-columns: 38.4% 18.4% 26.8% 16.4%;
		grid-template-rows: 1fr auto;
		align-items: start;
		row-gap: 80px;
		padding: 60px 4.14% 70px;
	}

	.site-footer__logo,
	.site-footer__nav,
	.site-footer__contacts,
	.site-footer__legal,
	.site-footer__developer {
		position: static;
		min-width: 0;
	}

	.site-footer__logo { grid-area: 1 / 1; }
	.site-footer__nav--primary { grid-area: 1 / 2; }
	.site-footer__nav--secondary { grid-area: 1 / 3; }
	.site-footer__contacts { grid-area: 1 / 4; }
	.site-footer__legal { grid-area: 2 / 1 / 3 / 4; }
	.site-footer__developer { grid-area: 2 / 4; align-self: end; }

	.site-footer__nav--primary,
	.site-footer__services-menu {
		width: 100%;
	}

	.site-footer__submenu {
		width: 100%;
		padding-right: 24px;
		gap: 12px;
		font-size: 13px;
		line-height: 1.5;
	}

	.site-footer__services-menu--open .site-footer__submenu {
		max-height: none;
		margin-top: 18px;
		overflow: visible;
	}
}
