:root{
	--theme-color: var(--akcent);
	--text-color: var(--chernyy);
	--background-color: var(--seryy);
	accent-color: var(--theme-color);
	--wrapper-size: 100%;
	--wrapper-padding: 7rem;
	--section-margin: 4rem;
		--akcent: #e53935;
	--belyy: #fff;
	--chernyy: #10161a;
	--seryy: #f5f7fa;
		--font-family: "Commissioner", sans-serif;
  --second-family: "Inter", sans-serif;
  --third-family: "Russo One", sans-serif;
}

html{
	font-size: 0.521vw; /* 10px; */
	height: 100%;
	/* scrollbar-gutter: stable; */
	scroll-behavior: smooth;
}

/* @media (min-width: 1470px) {
	html{
		font-size: 10px;
	}
} */
@media (max-width: 1470px) {
	html{
			font-size: 0.621vw;
	}
}

@media (min-width: 1920px) {
	html{
		font-size: 0.521vw;
	}
}

body{
	font-family: var(--font-family);
	display: flex;
	flex-direction: column;
	min-height: 100%;
	font-size: 1.8rem;
	min-width: 320px;
	background-color: var(--background-color);
	color: var(--text-color);
}

body::-webkit-scrollbar{
	width: 0.8rem;
}

body::-webkit-scrollbar-thumb{
	background-color: var(--theme-color);
}

::selection{
	background-color: var(--theme-color);
	color: #FFF;
}


body.scroll-lock, body.menu-open{
	overflow: hidden;
}

.mob-tel{
	display: none;
}

.mob-mini-tel{
	display: none;
}

.main{
	flex-grow: 1;
}

.wrapper{
	width: min(var(--wrapper-size), calc(100% - (var(--wrapper-padding) + var(--wrapper-padding))));
	margin-inline:auto;
}

.wrapper-padding{
	padding-left: max(var(--wrapper-padding), calc((100% - var(--wrapper-size)) / 2));
	padding-right: max(var(--wrapper-padding), calc((100% - var(--wrapper-size)) / 2));
}

.wrapper-padding.scroll-table::-webkit-scrollbar, .wrapper-padding.scroll-phone{
	display: none;
}

.menu-burger{
	display: none;
}

[data-modal]{
	cursor: pointer;
}

.modal {
	display: none;
}

.pp-animate .modal__body{
	opacity: 1;
	translate: 0px 0px;
}

.pp-animate .modal__fade{
	background-color: rgba(24, 24, 27, 0.88);
}

.modal-close::before{
	transform: rotate(-45deg);
	top: calc(50% - 0.3rem);
}

.modal-close::after{
	transform: rotate(45deg);
	bottom: calc(50% - 0.1rem);
}

.pp-unanimate .modal__body{
	opacity: 0;
	translate: 0px 2rem;
}

.modal-close{
	padding: 0.7rem 0.7rem;
	display: flex;
	position: relative;
	align-self: center;
	background-color: #ffffff00;
	width: 3.5rem;
	height: 3.5rem;
	z-index: 12;
	cursor: pointer;
}

.modal-close{
	position: absolute;
	right: 0.5rem;
	top: 0.5rem;
	transition: 0.2s ease 0s;
}

.modal-close:hover{
	opacity: 0.8;
}

.modal-close::before,
.modal-close::after{
	content: "";
	transition: all 0.3s ease 0s;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
	position: absolute;
	width: calc(100% - 1.5rem);
	height: 0.4rem;
	background-color: var(--theme-color);
	border-radius: 0.2rem;
	animation: fadeIn 1s ease 0.5s forwards;
}

@keyframes fadeIn {
	0%{
		opacity: 0;
		translate: 0px 1rem;
	}

	100%{
		opacity: 1;
		translate: 0px 0px;
	}
}

.scroll-up {
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	width: 6rem;
	position: fixed;
	right: 3rem;
	bottom: 3rem;
	height: 6rem;
	border-radius: 50%;
	background-color: var(--theme-color);
	transition: 0.3s ease 0s;
	z-index: 100;
}

.scroll-up svg{
	width: 50%;
}

.scroll-up.active {
	opacity: 1;
	pointer-events: all;
}

.scroll-up svg, .scroll-up img{
	transition: 0.2s ease 0s;
}

.scroll-up:hover img,  .scroll-up:hover svg{
	transform: translate(0px, -0.2rem);
}

.swiper-button-next, .swiper-button-prev{
	margin-top: 0px;
	top: 50%;
	translate: 0px -50%;
}

.swiper-slide{
	height: auto;
}

.swiper-button-next svg, .swiper-button-next img, .swiper-button-prev svg, .swiper-button-prev img{
	position: absolute;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
}

.swiper-button-next::after, .swiper-button-prev::after{
	display: none;
}

.drop-menu {
	position: relative;
}

.drop-menu ul{
	padding: 1rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.drop-menu ul a{
	border-bottom: none !important;
}

.drop-menu span{
	position: relative;
	transition: 0.2s ease 0s;
	cursor: pointer;
	margin-right: 1.4rem;
	border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
}

.drop-menu span::after{
	content: '';
	height: 0.4rem;
	background: url(../img/icons/arrow.svg) center / contain no-repeat;
	position: absolute;
	width: 0.7rem;
	left: calc(100% + 0.8rem);
	transition: 0.2s ease 0s;
	top: 0.6rem;
}

.drop-menu ul::-webkit-scrollbar{
	width: 0.4rem;
}

.drop-menu ul::-webkit-scrollbar-thumb{
	background-color: var(--theme-color);
}

.modal-cookie{
	position: fixed;
	pointer-events: none;
	bottom: 0;
	width: 100%;
	left: 0;
	padding: 0px 1.5rem;
	translate: 0px calc(100% + 3.5rem);
	z-index: 200;
	animation: cookieVisible 1s ease 2s forwards;
}

.modal-cookie .wrapper{
	display: flex;
	justify-content: flex-end;
}

.modal-cookie__body{
	pointer-events: all;
	box-shadow: 0 1.6rem 2.9rem -1.6rem rgba(2, 54, 113, 0.3);
	background: #fff;
	translate: 0px calc(0% - 3rem);
	overflow: hidden;
	padding: 2.4rem;
	max-width: 45rem;
	text-align: center;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 150%;
	text-align: center;
	color: var(--dark);
	transition: 0.4s ease 0s;
}

.modal-cookie__body button{
	flex-grow: 1;
	width: calc((100% - 1.6rem) / 2);
	font-size: 1.4rem;
	padding: 1rem !important;
}


@keyframes cookieVisible {
	0%{
		translate: 0px 20rem;
	}

	100%{
		translate: 0px 0px;
	}
}

.modal-cookie.hidden-modal .modal-cookie__body{
	opacity: 0;
}

.modal-cookie__bottom{
	display: flex;
	gap: 1.6rem;
}

.modal-cookie__bottom button{
	min-height: 5rem;
}

.modal-cookie a{
	color: var(--theme-color);
}

.modal-cookie__text{
	margin-bottom: 1.5rem;
}

.burger-menu{
	display: none;
}

/* ==================================== Header */

.button, a.button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 6.5rem;
	min-width: 28.6rem;
	gap: 0.8rem;
	padding: 1.6rem 3rem;
	background-color: var(--akcent);
	color: var(--belyy);
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
	border: none;
	white-space: nowrap;
}

.header .button{
	min-width: 30rem;
}

@media (hover: hover) {
	.button:hover{
		background-color: #c92e29;
	}
}

.button:active{
	transform: translateY(0.1rem);
}

.header{
	position: relative;
	z-index: 50;
}

.header__top,
.footer__top-row{
	justify-content: space-between;
	display: flex;
		border-bottom: 0.1rem solid rgba(255, 255, 255, 0.2);
	align-items: center;
	gap: 6rem;
		padding: 2rem 0 1.5rem 0rem;
}

.footer__top-row{
	padding: 3rem 0 3rem 0rem;
}

.logo{
	display: flex;
	align-items: center;
	gap: 2rem;
	flex-shrink: 0;
	max-width: 29.2rem;
}

.logo__decription{
	display: flex;
	align-items: center;
	gap: 2rem;
}

.logo__decription::before{
	content: '';
	width: 0.1rem;
	height: 2rem;
	background: var(--chernyy);
	opacity: 0.5;
}

.logo__image{
	display: block;
	flex-shrink: 0;
}

.logo__image img{
	display: block;
	width: 4.7rem;
	height: auto;
}

.logo__decription{
	font-size: 1.4rem;
	line-height: 1.35;
	color: rgba(16, 22, 26, 0.5);

}

.header__middle{
	max-width: 99.9rem;
}

.header__middle,
.footer__middle{
	display: flex;
	flex-grow: 1;
	align-items: center;
	gap: 6rem;
	justify-content: space-between;
}

.footer__middle{
	flex-grow: 1;
	max-width: 100.2rem;
}

.header__urgent,
.footer__urgent{
	display: flex;
	align-items: center;
	gap: 6rem;
}

a.header__urgent-text,
a.footer__urgent-text{
	font-size: 1.8rem;
	color: var(--akcent);
	white-space: nowrap;
}

.footer__contact--email .footer__contact-dot{
	background: var(--theme-color) !important;
}

.footer .footer__contact-dot{
	background: #29B55F !important;
}

.socials{
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

a.socials__link{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	border: 1px solid var(--chernyy);
	height: 5rem;
	color: var(--chernyy);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

a.socials__link svg{
		transition: 0.2s ease 0s;

}

@media (hover: hover) {
	.socials__link:hover{
		background-color: var(--akcent);
		border-color: var(--akcent);
		color: var(--background-color);
	}
}

.socials__link svg{
	width: 2.25rem;
	display: block;
}

.header__contact,
.footer__contact{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
}

.header__contact-top,
.footer__contact-top{
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.header__contact-value,
.footer__contact-value{
	font-size: 2rem;
	font-weight: 500;
	color: var(--chernyy);
	line-height: 1.2;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.header__contact-dot{
	background: #29B55F !important;
}

@media (hover: hover) {
	.header__contact-value:hover,
	.footer__contact-value:hover{
		color: var(--akcent);
	}
}

.header__copy,
.footer__copy{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	background: transparent;
	border: none;
	color: var(--chernyy);
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.2s ease, color 0.2s ease;
}

.header__copy svg,
.footer__copy svg{
	width: 100%;
}

@media (hover: hover) {
	.header__copy:hover,
	.footer__copy:hover{
		opacity: 1;
		color: var(--akcent);
	}
}

.header__copy.is-copied,
.footer__copy.is-copied{
	opacity: 1;
	color: var(--akcent);
}

.header__contact-caption,
.footer__contact-caption{
	display: flex;
	align-items: center;
	min-height: 2.4rem;
	gap: 1rem;
	font-size: 1.6rem;
	color: var(--chernyy);
	line-height: 1.2;
}

.footer__contact-caption{
	font-size: 1.4rem !important;
}

.header__contact-dot,
.footer__contact-dot{
	width: 0.8rem;
	margin-top: 0.2rem;
	height: 0.8rem;
	background-color: var(--akcent);
	flex-shrink: 0;
}

.header__contact--email .header__contact-dot,
.footer__contact--email .footer__contact-dot{
	background: #29B55F;
}

.header__callback,
.footer__callback{
	flex-shrink: 0;
}

.header__call-mob{
	display: none;
	align-items: center;
	justify-content: center;
	width: 3.6rem;
	height: 3.6rem;
	color: var(--belyy);
	flex-shrink: 0;
	border: 0.1rem solid var(--chernyy);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

@media (hover: hover) {
	.header__call-mob:hover{
		background-color: var(--theme-color);
		border-color: var(--theme-color);
		color: #FFF;
	}
}


.header__call-mob svg{
	display: block;
}

.header__nav{
	padding: 2.2rem 0;
}

.nav{
	display: flex;
	align-items: center;
	gap: 4rem;
	flex-wrap: wrap;
}

.nav__item{
	position: relative;
}

.nav__link{
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	background: transparent;
	border: none;
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--chernyy);
	cursor: pointer;
	font-family: inherit;
	transition: color 0.2s ease;
}

.nav__link svg{
	width: 1.2rem;
	margin-top: 0.5rem;
}

@media (hover: hover) {
	.nav__link:hover{
		color: var(--akcent);
	}
}

.nav__arrow{
	transition: transform 0.25s ease;
}

.nav__item--has-children.is-open > .nav__link .nav__arrow{
	transform: rotate(180deg);
}

.nav__item--has-children.is-open > .nav__link{
	color: var(--akcent);
}

.header{
	background: var(--background-color);
}

/* Submenu (multi-level) */

.submenu::before{
	content: '';
	width: 100%;
	bottom: 100%;
	height: 2.7rem;
	position: absolute;
	left: 0;
}

.submenu{
	position: absolute;
	top: calc(100% + 2.7rem);
	left: 0;
	min-width: 30rem;
	background-color: var(--chernyy);
	color: var(--belyy);
	padding: 0rem 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
	z-index: 60;
	box-shadow: 0 1.6rem 3.2rem -0.8rem rgba(0, 0, 0, 0.35);
}

.nav__item--has-children.is-open > .submenu{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0s;
}

.submenu__list{
	display: flex;
	flex-direction: column;
	min-width: 24rem;
}

.submenu__item{
	position: relative;
}

.submenu__link{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.2rem;
	width: 100%;
	padding: 1rem 2rem;
	background: var(--seryy);
	border: none;
	color: var(--text-color) !important;
	font-size: 1.6rem;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.submenu__item.is-open > .submenu__link,
.submenu__item.is-active > .submenu__link,
.submenu__link:active{
	background-color: var(--akcent);
	color: var(--belyy) !important;
}

@media (hover: hover) {
	.submenu__link:hover{
		background-color: var(--akcent);
		color: var(--belyy) !important;
	}
}

.submenu__arrow{
	flex-shrink: 0;
	opacity: 0.7;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.submenu__item.is-open .submenu__arrow{
	opacity: 1;
}

@media (hover: hover) {
	.submenu__item:hover .submenu__arrow{
		opacity: 1;
	}
}

.submenu--nested{
	top: 0;
	left: calc(100% + 0.5rem);
	transform: translateX(0.5rem);
}

.submenu__item--has-children.is-open > .submenu--nested{
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0s;
}

/* Backdrop dim */

.header__backdrop{
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.74);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0s linear 0.3s;
	z-index: 40;
	pointer-events: none;
}

body.submenu-open .header__backdrop{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.3s ease, visibility 0s linear 0s;
}
/* 
body.submenu-open{
	overflow: hidden;
		scrollbar-gutter: stable;
} */

.intro{
	padding-top: 0px !important;
}

section{
	padding: var(--section-margin) 0px;
}

/* ==================================== Intro */

.intro{
	position: relative;
	min-height: calc(100vh - 16.3rem);
	padding: 0;
	overflow: hidden;
	color: var(--belyy);
	isolation: isolate;
	display: flex;
	flex-direction: column;
}

.intro__bg{
	position: absolute;
	inset: 0;
	display: block;
	z-index: -2;
}

.intro__bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.intro__overlay{
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: -1;
}

.intro__wrapper{
	display: flex;
	flex-direction: column;
	gap: 8rem;	
	flex-grow: 1;
	padding: 8rem 0 7rem;
}

.intro__content{
	max-width: 86rem;
}

h1, .h1{
font-family: var(--third-family);
font-weight: 400;
font-size: 5rem;
line-height: 110%;
text-transform: uppercase;
color: var(--belyy);
}

.h1 span, h1 span{
	color: var(--akcent);
}

.intro__subtitle{
	font-size: 2.5rem;
	line-height: 1.5;
	margin-top: 3rem;
	color: var(--belyy);
	max-width: 80rem;
}

.intro__bottom{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	margin-top: auto;
	flex-wrap: wrap;
}

.intro__cta{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	max-width: 36rem;
}

.intro__button{
	align-self: flex-start;
}

.intro__cta-caption{
	display: flex;
	align-items: flex-start;
	gap: 2rem;
	font-size: 1.4rem;
	line-height: 1.2;
	color: rgba(255, 255, 255, 0.7);
	max-width: 34.4rem;
}



.intro__cta-dot{
	width: 0.8rem;
	height: 0.8rem;
	background-color: var(--akcent);
	flex-shrink: 0;
	margin-top: 0.8rem;
}

.intro__cta-text{
	flex: 1;
}

.intro__regions{
	display: inline-flex;
	align-items: flex-start;
	gap: 2rem;
	max-width: 37.3rem;
	width: 100%;
	padding: 3rem 4rem;
	background-color: var(--belyy);
	color: var(--chernyy);
}

.intro__regions-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.intro__regions-icon svg{
	display: block;
	width: 2.6rem;
	height: auto;
}

.intro__regions-text{
	display: flex;
	flex-direction: column;
	font-family: var(--third-family);

	font-size: 2rem;
	text-transform: uppercase;
	line-height: 1.2;
}

.intro{
	margin-bottom: var(--section-margin);
}

/* ==================================== Form section */

h2, .h2{
	font-family: var(--third-family);
	font-size: 4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 110%;
	text-transform: uppercase;
}

.h2 span, h2 span{
	color: var(--akcent);
}

.form-section{
	position: relative;
	padding: 13.5rem 0;
	margin: var(--section-margin) 0px;
	overflow: hidden;
	isolation: isolate;
	z-index: 1;
}

.form-section__bg{
	position: absolute;
	inset: 0;
	display: block;
	z-index: -2;
}

.form-section__bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}


.form-section__card{
	width: 100%;
	max-width: 90rem;
	margin: 0 auto;
	padding: 4rem;
	background-color: var(--belyy);
	color: var(--chernyy);
}

.tags{
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.tag{
	display: inline-flex;
	align-items: center;
	padding: 0.7rem 1rem;
	background-color: transparent;
	border: 0.1rem solid rgba(16, 22, 26, 0.15);
	font-size: 1.4rem;
	line-height: 1;
	color: rgba(16, 22, 26, 0.5);
}

.form-section__tags{
	margin-bottom: 3rem;
}

.form-section__title{
	margin-bottom: 1rem;
}

.form-section__desc{
	line-height: 1.5;
	margin-bottom: 3rem;
}

.form-section__form{
	margin-bottom: 3rem;
}

.form-section__grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.form-section__left{
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.form-section__fields{
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.form-section__fields .textarea{
	display: none;
}

.input,
.textarea{
	width: 100%;
	padding: 1rem 2rem;
	border: 0.1rem solid rgba(16, 22, 26, 0.5);
	font-family: inherit;
	font-size: 1.8rem;
	min-height: 5rem;
	color: var(--chernyy);
	background-color: transparent;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.input{
	text-align: center;
}

.textarea{
	padding: 2rem;
	min-height: 100%;
	resize: none;
	line-height: 1.5;
	text-align: left;
}

.input::placeholder,
.textarea::placeholder{
	color: rgba(16, 22, 26, 0.45);
}

.input:focus,
.textarea:focus{
	outline: none;
	border-color: var(--akcent);
	background-color: var(--belyy);
}

.form-section__submit{
	width: 100%;
	justify-content: center;
}

.form-section__agreement{
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	cursor: pointer;
	font-size: 1.2rem;
	line-height: 1.4;
	color: rgba(16, 22, 26, 0.5);
}

.form-section__checkbox{
	appearance: none;
	-webkit-appearance: none;
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
	margin-top: 0.3rem;
	border: 0.1rem solid #10161A;
	background-color: var(--belyy);
	cursor: pointer;
	position: relative;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.form-section__checkbox:checked{
	background-color: var(--akcent);
	border-color: var(--akcent);
}

.form-section__checkbox:checked::after{
	content: '';
	position: absolute;
	left: 0.4rem;
	top: 0.05rem;
	width: 0.5rem;
	height: 0.9rem;
	border: solid var(--belyy);
	border-width: 0 0.2rem 0.2rem 0;
	transform: rotate(45deg);
}

.form-section__agreement-link{
	color: var(--chernyy);
	text-decoration: underline;
	text-decoration-color: rgba(16, 22, 26, 0.3);
}

.form-section__email{
	display: flex;
	align-items: center;
	gap: 0.8rem;
	flex-wrap: wrap;
}

.form-section__email-link{
	font-weight: 700;
	color: var(--chernyy);
	transition: color 0.2s ease;
}

.form-section__copy{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.4rem;
	height: 1.4rem;
	background: transparent;
	border: none;
	color: var(--text-color);
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.form-section__copy.is-copied{
	opacity: 1;
}

.input{
	text-align: center;
}

@media (hover: hover) {
	.form-section__email-link:hover{
		color: var(--akcent);
	}

	.form-section__copy:hover{
		opacity: 1;
	}
}

/* ==================================== Types */

h3, .h3{
	font-family: var(--third-family);
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.name-section{
	display: inline-block;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 400;
	line-height: 110%; /* 16.5px */
	letter-spacing: 0.225rem;
	text-transform: uppercase;
	opacity: 0.3;
	margin-bottom: 2rem;
}



.types h2{
	max-width: 88rem;
	margin-bottom: 5rem;
}

.types__body{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.types__block{
	display: flex;
}

.types__image{
	display: block;
	flex-shrink: 0;
	width: 21rem;
	overflow: hidden;
}

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

.types__block-body{
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: 1.2rem;
	background: #FFF;
	flex: 1;
	padding: 2rem;
	min-width: 0;
}

.types__block-body p{
	font-size: 1.8rem;
	line-height: 1.5;
	color: #10161A;
}

/* ==================================== Uslugi */

.uslugi h2{
	max-width: 102rem;
	margin-bottom: 5rem;
}

.uslugi h2:last-child{
	margin-bottom: 5rem;
}
.uslugi__body{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem 2rem;
}

.uslugi__block{
	display: flex;
	flex-direction: column;
	color: var(--chernyy);
	text-decoration: none;
}

.uslugi__image{
	display: block;
	width: 100%;
	overflow: hidden;
	padding-top: 56%;
	position: relative;
}


.uslugi__image img{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover;
}

.uslugi__block-body{
	display: flex;
	padding: 3rem;
	flex-direction: column;
	gap: 1rem;
	flex: 1;
	min-height: 28rem;
	background: #FFF;
}

.uslugi__body--wide .uslugi__block-body{
	padding: 2rem;
}

.uslugi__block-body p{
	line-height: 1.5;
	opacity: 0.7;
}

a.uslugi__more, .uslugi__more{
	align-self: flex-start;
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--akcent);
	padding-top: 2rem;
	text-decoration: underline;
	text-decoration-thickness: 0.1rem;
	text-underline-offset: 0.4rem;
	transition: color 0.2s ease;
	margin-top: auto;
}

@media (hover: hover) {
	.uslugi__more:hover{
		color: #c92e29;
	}
}

/* ==================================== Geo */

.geo{
	position: relative;
	min-height: 100vh;
	padding: 0rem !important;
	margin: var(--section-margin) 0 0;
	background-color: #14191e;
	color: var(--belyy);
	overflow: hidden;
	isolation: isolate;
}

.geo__map{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background-color: #0b0d0e;
}


.geo__map canvas,
.geo__map > div{
	width: 100% !important;
	height: 100% !important;
}

.ymaps3--controls_bottom{
	display: none !important;
}

.geo__map [class*="copyrights"],
.geo__map [class*="copyright"],
.geo__map [class*="--logo"],
.geo__map [class*="logo"],
.geo__map a[href*="yandex"],
.geo__map .ymaps-2-1-79-copyright,
.geo__map .ymaps-2-1-79-copyrights-pane,
.geo__map .ymaps-2-1-79-controls__control{
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.geo__map [class*="graticule"],
.geo__map [class*="grid"],
.geo__map [class*="frame"],
.geo__map [class*="meridian"],
.geo__map [class*="parallel"],
.geo__map [class*="geographic-line"],
.geo__map [class*="geographic_line"]{
	display: none !important;
	opacity: 0 !important;
}

.geo__content{
	position: relative;
	z-index: 2;
	padding: 6rem 0;
}

.geo .name-section{
	color: var(--belyy);
	opacity: 0.4;
}

.geo__title{
	color: var(--belyy);
	max-width: 100rem;
	margin-bottom: 2.6rem;
}

.geo__title span{
	color: var(--akcent);
}

.geo__subtitle{
	font-size: 1.6rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.85);
}

.geo__cards{
	/* Контейнер не нужен после привязки карточек к карте — карточки извлекаются из DOM в JS */
	display: none;
}

.geo__card{
	display: inline-flex;
	flex-direction: column;
	gap: 2rem;
	min-width: 25.6rem;
	padding: 2rem;
	background-color: var(--text-color);
	color: var(--belyy);
	position: relative;
	pointer-events: auto;
}

.geo__card[data-dot="bottom-left"]{
	transform: translate(0, -100%);
}

.geo__card[data-dot="bottom-right"]{
	transform: translate(-100%, -100%);
}

.geo__card[data-dot="top-left"]{
	transform: translate(0, 0);
}

.geo__card[data-dot="top-right"]{
	transform: translate(-100%, 0);
}

.geo__card-label{
	font-size: 1.4rem;
	line-height: 1.2;
	color: var(--belyy);
}

.geo__card-value{
	font-family: var(--third-family);
	font-size: 2rem;
	line-height: 1;
	color: var(--akcent);
	text-transform: uppercase;
}

.geo__card-sup{
	font-size: 0.55em;
	vertical-align: super;
	margin-left: 0.1rem;
}

.geo__card-dot{
	position: absolute;
	width: 1rem;
	height: 1rem;
	background-color: var(--akcent);
}

.geo__card[data-dot="bottom-left"] .geo__card-dot{
	left: -0rem;
	bottom: auto;
	top: 100%;
}

.geo__card[data-dot="bottom-right"] .geo__card-dot{
	right: -0rem;
	top: 100%;
}

.geo__card[data-dot="top-left"] .geo__card-dot{
	left: -0rem;
	top: 100%;
}

.geo__card[data-dot="top-right"] .geo__card-dot{
	right: -0rem;
	top: 100%;
}

.geo-pin{
	width: 0.8rem;
	height: 0.8rem;
	background-color: var(--akcent);
	border-radius: 50%;
	translate: -50% -50%;
	box-shadow: 0 0 0.8rem rgba(229, 57, 53, 0.8);
}

/* Позиции карточек теперь задаются через YMapMarker (assets/js/maps.js) — координаты Норильска/Красноярска/Братска */

/* ==================================== Cases */

.cases + .process, .process + .cases{
	padding-top: calc(var(--section-margin) - 2rem);
}

.cases + .process .wrapper, .process + .cases .wrapper{
	border-top: 0.1rem solid rgba(16, 22, 26, 0.2);
	padding-top: calc(var(--section-margin) + 3rem);
}

.cases__title{
	max-width: 90rem;
	margin-bottom: 5rem;
}

.cases__body{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.cases__block{
	display: flex;
	flex-direction: column;
	position: relative;
}

.cases__more::after{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.cases__num{
	font-family: var(--third-family);
	font-size: 2rem;
	color: var(--akcent);
	margin-bottom: 1rem;
}

.cases__problem{
	line-height: 1.45;
	margin-bottom: 4rem;
}

.cases__image{
	display: block;
	width: 100%;
	position: relative;
	padding-top: 50%;
	overflow: hidden;
}

.cases__image img{
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cases__block-body{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	flex: 1;
	min-height: 25rem;
	padding: 3rem;
	background-color: var(--belyy);
}


.cases__h3{
	flex: 1;
}

a.cases__more{
	align-self: flex-start;
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--akcent);
	text-decoration: underline;
	text-decoration-thickness: 0.1rem;
	text-underline-offset: 0.4rem;
	transition: color 0.2s ease;
}

@media (hover: hover) {
	.cases__more:hover{
		color: #c92e29;
	}
}

.bottom{
	display: flex;
	margin-top: 5rem;
	justify-content: center;
}

.cases__all{
	min-width: 28rem;
}

/* ==================================== */

@media (max-width: 1230px) {
	.cases__problem br{
		display: none;
	}

	html{
		font-size: 0.694vw;
	}

	h1, .h1{
		font-size: 4.6rem;
	}
}

@media (max-width: 1024px) {
	.cases + .process .wrapper, .process + .cases .wrapper {
    padding-top: calc(var(--section-margin) + 1rem);
}

	html{
		font-size: 1.01vw 	/* 10px */;
	}
	

	:root{
		--section-margin: 4rem;
	}

	.wrapper-padding.scroll-table{
		overflow: auto;
		scroll-snap-type: x mandatory;
	}

	.wrapper-padding.scroll-table .scroll-el{
		scroll-snap-align: center;
	}

	.modal-cookie.hidden-modal .modal-cookie__body{
		opacity: 0;
	}

	.modal-cookie__body{
		padding: 2rem;
		font-size: 1.4rem;
		transition: 0.4s ease 0s;
	}

	.menu-burger{
		padding: 0px 1rem;
		display: flex;
		position: relative;
		flex-shrink: 0;
		align-self: center;
		background-color: #ffffff00;
		width: 5.5rem;
		height: 2.4rem;
		margin: 0px -1rem;
		z-index: 12;
	}

	.menu-burger span,
	.menu-burger::before,
	.menu-burger::after{
		content: "";
		transition: all 0.4s ease 0s;
		left: 50%;
		translate: -50% 0%;
		position: absolute;
		width: calc(100% - 2rem);
		height: 0.4rem;
		background-color:var(--theme-color);
	}

	.menu-burger::before{
		top: 0px;
	}

	.menu-burger::after{
		bottom: 0px;
	}

	.menu-burger span {
		top: calc(50% - 0.1rem);
	}

	body.menu-open .menu-burger span{
		transform: scale(0);
	}

	body.menu-open .menu-burger::before{
		transform: rotate(-45deg);
		top: calc(50% - 0.3rem);
	}

	body.menu-open .menu-burger::after{
		transform: rotate(45deg);
		bottom: calc(50% - 0.1rem);
	}
}

@media (max-width: 768px) {
	.cases + .process, .process + .cases {
    padding-top: calc(var(--section-margin) - 1rem);
}


		html{
		font-size: 1.67vw 	/* 10px */;
	}

	.geo .sub-title {
    margin-bottom: 2rem;
}

	.geo .sub-title br{
    display: none;
}

	.mob-tel{
		display: block;
	}

	.wrapper-padding.scroll-phone{
		overflow: auto;
		scroll-snap-type: x mandatory;
	}

	.modal-cookie__body button {
    height: 4rem;
		font-size: 1.4rem;
		width: calc((100% - 1rem) / 2);
	}


	.modal-cookie__bottom{
		gap: 1rem;
	}

	.wrapper-padding.scroll-phone .scroll-el{
		scroll-snap-align: center;
	}

	.scroll-up {
		width: 4.5rem;
		height: 4.5rem;
		padding: 0.5rem;
		right: 1.5rem;
		bottom: 1.5rem;
		margin-bottom: -4.5rem;
	}

	.scroll-up.active {
		margin-bottom: 0;
	}

	:root{
		--section-margin: 3rem;
	}

	.burger-menu{
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		padding: 0 var(--wrapper-padding);
		background-color: var(--belyy);
		z-index: 200;
		overflow: auto;
		transition: 0.5s ease 0s;
		translate: 100% 0%;
	}


	body.menu-open .burger-menu{
		translate: 0px 0px;
	}

	.burger-menu::-webkit-scrollbar{
		display: none;
	}

	.burger-menu__head{
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1.5rem;
		padding: 1.5rem 0;
		border-bottom: 0.1rem solid rgba(16, 22, 26, 0.08);
		flex-shrink: 0;
	}

	.burger-menu__close{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 4rem;
		height: 4rem;
		background: transparent;
		border: none;
		color: var(--chernyy);
		cursor: pointer;
		flex-shrink: 0;
		transition: color 0.2s ease, transform 0.2s ease;
	}

	@media (hover: hover) {
		.burger-menu__close:hover{
			color: var(--akcent);
			transform: rotate(90deg);
		}
	}

	.burger-menu__nav{
		padding: 1rem 0;
		flex-grow: 1;
	}

	.burger-menu .nav{
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.burger-menu .nav__item{
		border-bottom: 0.1rem solid rgba(16, 22, 26, 0.06);
	}

	.burger-menu .nav__link{
		width: 100%;
		justify-content: space-between;
		padding: 1.6rem 0;
		font-size: 1.7rem;
		font-weight: 500;
	}

	.burger-menu .nav__arrow{
		width: 1.4rem;
		height: 1rem;
	}

	.burger-menu .submenu{
		position: static;
		min-width: 0;
		background-color: transparent;
		color: var(--chernyy);
		box-shadow: none;
		padding: 0;
		transform: none;
		opacity: 1;
		visibility: visible;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.35s ease;
	}

	.burger-menu .nav__item--has-children.is-open > .submenu{
		max-height: 200rem;
		padding-bottom: 1rem;
	}

	.burger-menu .submenu__list{
		min-width: 0;
		padding-left: 1.2rem;
	}

	.burger-menu .submenu__link{
		color: var(--chernyy);
		background: transparent;
		padding: 1.1rem 0;
		font-size: 1.5rem;
		font-weight: 500;
	}

	.burger-menu .submenu__item.is-open > .submenu__link,
	.burger-menu .submenu__item.is-active > .submenu__link,
	.burger-menu .submenu__link:active{
		background: transparent;
		color: var(--akcent) !important;
	}

	@media (hover: hover) {
		.burger-menu .submenu__link:hover{
			background: transparent;
			color: var(--akcent) !important;
		}
	}

	.burger-menu .submenu__arrow{
		width: 1.2rem;
		height: 0.8rem;
		transition: transform 0.25s ease;
	}

	.burger-menu .submenu__item--has-children.is-open > .submenu__link .submenu__arrow{
		transform: rotate(180deg);
	}

	.burger-menu .submenu--nested{
		padding: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.35s ease;
	}

	.burger-menu .submenu__item--has-children.is-open > .submenu--nested{
		max-height: 200rem;
		padding-bottom: 0.5rem;
	}

	.burger-menu__contacts{
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		padding: 1rem 0 1.5rem;
		flex-shrink: 0;
	}

	.burger-menu__phone{
		font-size: 2.2rem;
		font-weight: 700;
		color: var(--chernyy);
		transition: color 0.2s ease;
	}

	@media (hover: hover) {
		.burger-menu__phone:hover{
			color: var(--akcent);
		}
	}

	.burger-menu__email{
		font-size: 1.5rem;
		color: var(--chernyy);
		opacity: 0.75;
		transition: opacity 0.2s ease;
	}

	@media (hover: hover) {
		.burger-menu__email:hover{
			opacity: 1;
		}
	}

	.burger-menu__caption{
		font-size: 1.3rem;
		color: rgba(16, 22, 26, 0.5);
		margin-top: 0.3rem;
	}

	.burger-menu__bottom{
		display: flex;
		align-items: center;
		gap: 1.5rem;
		padding: 1.5rem 0 2rem;
		border-top: 0.1rem solid rgba(16, 22, 26, 0.08);
		flex-shrink: 0;
	}

	.burger-menu__bottom .button{
		flex-grow: 1;
		padding: 1rem 2rem;
	}
}

@media (max-width: 480px) {

			html{
		font-size: 2.86vw 	/* 10px */;
	}

	.mob-mini-tel{
		display: block;
	}

	.modal-cookie{
		padding: 0px 1rem;
	}

	.modal-cookie__body {
		padding: 1rem;
	}

	.modal-cookie__text{
		font-size: 1.2rem;
	}

	.modal-cookie__body {
    translate: 0px calc(0% - 1.5rem);
	}

	.modal-cookie__body button {
		height: 3.5rem;
		font-size: 1.2rem;
	}

	:root{
		--wrapper-size: 100%;
		--wrapper-padding: 1rem;
		--section-margin: 2.5rem;
	}
}

/* ==================================== Header responsive */

@media (max-width: 1470px) {
	.header__top{
		gap: 3rem;
	}

	.header__middle{
		gap: 2rem;
	}

	.header__urgent{
		gap: 2rem;
	}

	.logo {
    max-width: 26.2rem;
}

.header .button {
    min-width: 25rem;
}

}
@media (max-width: 1230px) {
	.header__contact-caption {
    font-size: 1.4rem;
}

:root{
	--wrapper-padding: 3rem;
}


	.header__top{
		gap: 2rem;
	}

	.header__middle{
		gap: 2rem;
	}

	.header__nav{
		padding: 1.4rem 0;
	}

	.nav{
		gap: 2.4rem;
	}

	.nav__link{
		font-size: 1.4rem;
	}
}

@media (max-width: 1024px) {	
	.header__nav{
		display: none;
	}

	:root{
	--wrapper-padding: 1.5rem;
}


	.button, a.button {
    min-height: 5.5rem;
    font-size: 1.6rem;
}

	.logo__decription{
		display: none;
	}

	.header__urgent-text{
		display: none;
	}

	.header__contact--email{
		display: none;
	}

	.header__middle{
		flex-grow: 0;
		margin-left: auto;
	}
}


@media (max-width: 768px) {
    .button, a.button {
        min-height: 6rem;
        font-size: 1.4rem;
					padding: 1rem 2rem;
    }

		

		.header__callback {
			display: none !important;
		}

		    .header .button {
        min-width: 15rem;
				padding: 1rem 3rem;
    }

		    .header__top {
					padding: 1.5rem 0rem
				}

				a.socials__link {
    width: 4.5rem;
    height: 4.5rem;
}

.socials__link svg {
    width: 2.15rem;
    display: block;
}

/* .header__contact-caption{
	display: none;
} */

.header__contact-caption{
	max-width: 20rem;
}

.header__contact--phone{
	display: none;
}

.header__top{
	gap: 1rem;
}

.header__middle{
	gap: 1rem;
}





.header__call-mob{
	display: inline-flex;
	width: 4.5rem;
	height: 4.5rem;
}

.header__call-mob svg{
	width: 2rem;
	height: 2rem;
}
.logo__decription{
	display: flex;
	font-size: 1.2rem;
}

.socials{
	gap: 1rem;
}
}

@media (max-width: 480px) {
	.logo__decription{
		gap: 1.5rem;
	}

	.logo {
		gap: 1.5rem;
	}

	.socials{
		gap: 1rem;
	}
	.header__top{
		gap: 1rem;
	}

	    .header .button {
        min-width: 5rem;
        padding: 1rem 2rem;
				font-size: 1.4rem;
    }

		:root{
	--wrapper-padding: 1rem;
}

}

/* ==================================== Intro responsive */

@media (max-width: 1230px) {
	.intro{
		min-height: calc(100vh - 14.3rem);
	}
}
@media (max-width: 1024px) {
	    .intro {
        min-height: calc(100vh - 8.3rem);
    }

	.intro__wrapper{
		gap: 6rem;
		padding: 6rem 0 5rem;
	}

	h1, .h1{
		font-size: 4.2rem;
	}

	.intro__subtitle{
		font-size: 2rem;
		margin-top: 2.5rem;
		max-width: 55rem;
	}

	.intro__cta{
		gap: 1.6rem;
		max-width: 32rem;
	}

	.intro__cta-caption{
		font-size: 1.3rem;
		gap: 1.4rem;
		max-width: 30rem;
	}

	.intro__cta-dot{
		width: 0.7rem;
		height: 0.7rem;
		margin-top: 0.6rem;
	}

	.intro__regions{
		padding: 2.4rem 3rem;
		gap: 1.6rem;
		max-width: 34rem;
	}

	.intro__regions-icon svg{
		width: 2.2rem;
	}

	.intro__regions-text{
		font-size: 1.7rem;
	}
}

@media (max-width: 768px) {
	.intro__bg img{
	object-position: right;
}

	    .intro {
        min-height: calc(100vh - 7.7rem);
    }


	.intro__wrapper{
		gap: 4rem;
		padding: 4rem 0 3.5rem;
	}

	h1, .h1{
		font-size: 3.2rem;
	}

	h1 br, .h1 br{
		display: none;
	}

	.intro__content{
		max-width: 100%;
	}

	.intro__subtitle{
		font-size: 1.6rem;
		margin-top: 1.8rem;
		max-width: 100%;
	}

	.intro__subtitle br{
		display: none;
	}

	.intro__bottom{
		flex-direction: column;
		align-items: stretch;
		gap: 2.5rem;
	}

	.intro__cta{
		max-width: 100%;
		gap: 1.4rem;
	}

	.intro__button{
		align-self: stretch;
	}

	.intro__cta-caption{
		font-size: 1.3rem;
		gap: 1.2rem;
		max-width: 100%;
	}

	.intro__cta-dot{
		margin-top: 0.5rem;
	}

	.intro__regions{
		max-width: 100%;
		padding: 2rem 2.2rem;
		gap: 1.4rem;
	}

	.intro__regions-icon svg{
		width: 2rem;
	}

	.intro__regions-text{
		font-size: 1.5rem;
	}

}

@media (max-width: 480px) {
	.intro__wrapper{
		gap: 3rem;
		padding: 3rem 0 2.5rem;
	}

	    .intro {
        min-height: calc(100vh - 7.4rem);
    }

	h1, .h1{
		font-size: 2.4rem;
	}

	.intro__subtitle{
		font-size: 1.4rem;
		margin-top: 1.4rem;
	}

	.intro__cta{
		gap: 1.2rem;
	}

	.intro__cta-caption{
		font-size: 1.2rem;
	}

	.intro__regions{
		padding: 1.6rem 1.8rem;
	}

	.intro__regions-text{
		font-size: 1.4rem;
	}

	.header__top .logo__decription{
		display: none;
	}
}

/* ==================================== */


.intro-bottom  .wrapper {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
}
.intro-bottom__block {
	padding: 3rem;
	background: #FFF;
	width: calc((100% - 6rem) / 4);
}

.intro-bottom__block p:first-child{
	margin-top: 0rem;
}

p{
	line-height: 140%;
}

.intro-bottom__block  p{
	margin-top: 1rem;

}

.form-section__right{
	display: flex;
	flex-direction: column;
}

.form-section__right textarea{
	flex-grow: 1;
}

@media (max-width: 1024px) {
.intro-bottom__block {
	width: calc((100% - 2rem) / 2);
}
}
@media (max-width: 768px) {
.intro-bottom__block {
	width: 100%;
}

.intro-bottom .wrapper {
    gap: 1.5rem;
}
}
@media (max-width: 480px) {
	.intro-bottom__block{
		padding: 2rem;
	}

	.h3, h3 {
    font-size: 1.8rem;
}

body{
	font-size: 1.6rem;
}
}

/* ==================================== Form section responsive */

@media (max-width: 1230px) {
	.form-section{
		padding: 10rem 0;
	}

	h2, .h2{
		font-size: 3.6rem;
	}
}

@media (max-width: 1024px) {
	.form-section{
		padding: 8rem 0;
	}

	.form-section__card{
		max-width: 78rem;
		padding: 3.5rem;
	}

	h2, .h2{
		font-size: 3.2rem;
	}

	.form-section__tags{
		margin-bottom: 2.5rem;
	}

	.form-section__desc{
		margin-bottom: 2.5rem;
	}

	.form-section__form{
		margin-bottom: 2.5rem;
	}

	.input,
	.textarea{
		font-size: 1.6rem;
	}

	.textarea{
		padding: 1.6rem;
	}

	.form-section__desc br{
		display: none;
	}
}

@media (max-width: 768px) {
	.form-section{
		padding: 5rem 0;
	}

	.form-section__card{
		padding: 2.8rem 2rem;
	}

	.form-section__tags{
		gap: 0.6rem;
		margin-bottom: 2rem;
	}

	h2, .h2{
		font-size: 2.8rem;
	}

	.form-section__title{
		margin-bottom: 0.8rem;
	}

	.form-section__desc{
		margin-bottom: 2rem;
	}

	.form-section__desc br{
		display: none;
	}

	.form-section__form{
		margin-bottom: 2rem;
	}

	.form-section__grid{
		grid-template-columns: 1fr;
		gap: 1.2rem;
	}

	.input,
	.textarea{
		font-size: 1.6rem;
		padding: 1rem 1.6rem;
	}

	.textarea{
		min-height: 16rem;
		padding: 1.4rem 1.6rem;
	}
}

@media (max-width: 480px) {
	.form-section{
		padding: 3.5rem 0;
	}

	.form-section__card{
		padding: 2rem 1.5rem;
	}

	.form-section__tags{
		margin-bottom: 2rem;
	}

	h2, .h2{
		font-size: 2.2rem;
	}

	.form-section__desc{
		font-size: 1.6rem;
		margin-bottom: 1.6rem;
	}

	.input,
	.textarea{
		font-size: 1.6rem;
	}

	.textarea{
		min-height: 16rem;
	}

	.form-section__email{
		font-size: 1.4rem;
	}
}

/* ==================================== Types responsive */

@media (max-width: 1230px) {
	.types__image{
		width: 18rem;
	}
}

@media (max-width: 1024px) {
	.types h2{
		margin-bottom: 4rem;
	}

	.types__body{
		grid-template-columns: repeat(2, 1fr);
	}

	.types__image{
		width: 20rem;
	}

	.types__block-body p br{
		display: none;
	}
}

@media (max-width: 768px) {
	.types h2{
		margin-bottom: 3rem;
	}

	.types__body{
		grid-template-columns: 1fr;
	}

	.types__image{
		width: 18rem;
	}
}

@media (max-width: 480px) {
	.types__block{
		flex-direction: column;
	}

	.types h2 br{
		display: none;
	}

	.types__image{
		width: 100%;
		height: 20rem;
	}
}
.uslugi{
	overflow: hidden;
}

.uslugi .bottom .button{
	font-size: 2rem;
}

.bottom .button{
	font-size: 2rem;
}

.uslugi_v2 .uslugi__block-body{
	min-height: 0rem;
}

/* ==================================== Uslugi responsive */

@media (max-width: 1024px) {
	.uslugi h2{
		margin-bottom: 4rem;
	}

	.uslugi .bottom .button{
	font-size: 1.6rem;
}

	.uslugi__body{
		grid-template-columns: repeat(3, 1fr);
	}

	.uslugi__block-body{
		padding: 2.5rem;
		min-height: 24rem;
	}
}

@media (max-width: 768px) {
	.uslugi h2{
		margin-bottom: 3rem;
	}

	.bottom .button{
	font-size: 1.6rem;
}


	.uslugi h2 br{
		display: none;
	}

	.uslugi__body{
		grid-template-columns: repeat(2, 1fr);
	}

	.uslugi__block-body{
		padding: 2rem;
		min-height: auto;
	}
}

@media (max-width: 480px) {
	.uslugi__body{
		display: flex;
		flex-wrap: nowrap;
		gap: 1.5rem;
		overflow: auto;
		scroll-snap-type: x mandatory;
	}

	.uslugi__body::-webkit-scrollbar{
		display: none;
	}

	.uslugi__block{
		flex-shrink: 0;
		scroll-snap-align: center;
		width: 27.5rem;
	}

	.uslugi__block-body .h3 br{
		display: none;
	}
}

.modal-cookie__bottom button{
	min-width: 0rem;
}

/* ==================================== Geo responsive */

@media (max-width: 1024px) {
	.geo{
		min-height: 80vh;
	}

	.geo__content{
		padding: 5rem 0;
	}

	.geo__title{
		max-width: 80rem;
	}

	.geo__card{
		min-width: 22rem;
		padding: 1.6rem 1.8rem;
		gap: 1.4rem;
	}
}

@media (max-width: 768px) {
	.geo{
		min-height: auto;
		display: flex;
		flex-direction: column;
		background-color: transparent;
		color: inherit;
	}

	.geo__content{
		padding: 4rem 0 2rem;
		order: 1;
	}

	.geo .name-section,
	.geo__title,
	.geo__subtitle{
		color: inherit;
	}

	.geo__title br{
		display: none;
	}

	.geo__title{
		max-width: 100%;
		margin-bottom: 2rem;
	}

	.geo__subtitle br{
		display: none;
	}

	.geo__map{
		position: relative;
		inset: auto;
		width: 100%;
		height: 50rem;
		order: 2;
	}

	.geo__card{
		min-width: 12rem;
		padding: 1rem 1.2rem;
		gap: 0.6rem;
	}

	.geo__card-label{
		font-size: 1.1rem;
	}

	.geo__card-value{
		font-size: 1.5rem;
	}

	.geo__card-dot{
		width: 0.7rem;
		height: 0.7rem;
	}
}

@media (max-width: 480px) {
	.geo__content{
		padding: 3rem 0;
	}

	.geo__map{
		height: 40rem;
	}

	.geo__card{
		min-width: 10rem;
		padding: 0.8rem 1rem;
		gap: 0.5rem;
	}

	.geo__card-label{
		font-size: 1rem;
	}

	.geo__card-value{
		font-size: 1.3rem;
	}

	.bottom{
	margin-top: 3rem;
}
}

/* ==================================== Cases responsive */


.cases__h3 + p{
	margin-top: -1rem;
}

.cases h2 + .sub-title{
	margin-top: -4rem;
}

@media (max-width: 1024px) {
	.cases__title{
		margin-bottom: 4rem;
	}

	.cases h2 + .sub-title {
    margin-top: -3rem;
}


	.cases__body{
		gap: 2rem;
	}

	.cases__block-body {
    padding: 2rem;
}
}

@media (max-width: 768px) {
	.cases__title{
		margin-bottom: 3rem;
	}

		.cases h2 + .sub-title {
    margin-top: -2rem;
}

.cases h2 + .sub-title br{
	display: none;
}

	.cases__title br{
		display: none;
	}

	.cases__body{
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.cases__num{
		margin-bottom: 1.2rem;
	}

	.cases__problem{
		margin-bottom: 1.8rem;
	}

	.cases__block-body{
		padding: 2rem;
		gap: 1.6rem;
	}

	.cases__all{
		min-width: 0;
		width: 100%;
	}
}

@media (max-width: 480px) {

}

/* ==================================== */

.think {
	position: relative;
	z-index: 1;
	color: #FFF;
	padding: calc(var(--section-margin) + var(--section-margin)) 0px;
}
.think__bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	object-fit: cover;
}

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

.think .wrapper{
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}

.think__left {
	max-width: 65rem;
}
.think__right {
	max-width: 88rem;
}
.think__row {
	display: flex;
	gap: 3rem;
	align-items: flex-start;
}

.think__row:not(:last-child){
	padding-bottom: 3rem;
	margin-bottom: 3rem;
	border-bottom: 0.1rem solid rgba(255, 255, 255, 0.2);
}

.think__num {
	opacity: 0.2;
	flex-shrink: 0;
	color: var(--, #FFF);
	font-family: "Russo One";
	font-size: 2rem;
	font-style: normal;
	font-weight: 400;
	line-height: 120%; 
	text-transform: uppercase;

}
.think__row-body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.think__row-body p{
	opacity: 0.5;

}

.think{
	margin: var(--section-margin) 0px;
}

.sub-title{
	font-size: 2rem;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; 
}

.sub-title{
	margin-bottom: 5rem;
}

.uslugi h2{
	margin-bottom: 1rem;
}

h2 + .sub-title, .h2 + .sub-title{
	margin-top: 2rem;
}

.types + .uslugi {
	padding-top: calc(var(--section-margin) - 2rem);
}

.types + .uslugi .wrapper{
	padding-top: calc(var(--section-margin) + var(--section-margin) - 2rem);
			border-top: 0.1rem solid rgba(16, 22, 26, 0.2);
}

@media (max-width: 1230px) {
	.think__row-body p br{
	display: none;

}

.think__row-body p {
	max-width: 53rem;
}

.think__left {
    max-width: 59rem;
}
}

@media (max-width: 1024px) {
	.types + .uslugi {
	padding-top: calc(var(--section-margin) - 1rem);
}


	.think .wrapper {
		flex-direction: column;
		gap: 5rem;
}

.think__right {
    max-width: 100%;
}
}

@media (max-width: 480px) {
	.think__row{
		flex-direction: column;
		gap: 2rem;
	}

	    .think .wrapper {
        gap: 3rem;
    }

		.sub-title {
			font-size: 1.6rem;
    margin-bottom: 3rem;
}
}


/* ==================================== */


.technologies__body {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
}
.technologies__block {
	display: flex;
	flex-direction: column;
	width: calc((100% - 2rem) / 2);
}
.technologies__image {
	margin-bottom: 3rem;
	width: 100%;
	position: relative;
	padding-top: 55%;
	overflow: hidden;
	background-color: #d7dbe0;
}
.technologies__image  img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 0;
	top: 0;
}

.technologies__block-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.technologies__title {
	font-size: 2.5rem;
	font-family: var(--third-family);
	font-weight: 400;
	padding-bottom: 0.5rem;
	line-height: 120%;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.technologies__block-body p br{
		display: none;
	}
}

@media (max-width: 768px) {
	.technologies__block{
		width: 100%;
	}

	.technologies__title br{
		display: none;
	}

	.technologies__title {
    font-size: 2.2rem;;
}

.technologies__image {
    margin-bottom: 2rem;
}
}

@media (max-width: 480px) {
		.technologies__title {
    font-size: 2rem;;
}
}
/* ==================================== */


.process__body {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.process__block {
	background: #FFF;
	padding: 3rem;
	flex-wrap: wrap;
	width: calc((100% - 10rem) / 6);
}
.process__block-num {
	margin-bottom: 4rem;
	font-family: var(--third-family);
	color: var(--akcent);
	font-size: 2rem;
	font-style: normal;
	font-weight: 400;
	line-height: 120%; 
	text-transform: uppercase;
}
.process__block-title {
	margin-bottom: 1rem;
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	hyphens: auto;
}

section:not(.no-border) + section:not(.no-border) .wrapper:first-child{
	padding-top: calc(var(--section-margin) + var(--section-margin));
	border-top: 0.1rem solid rgba(25, 32, 32, 0.1);
}

@media (max-width: 1470px) {
	.process__block {
	width: calc((100% - 4rem) / 3);
}
}


@media (max-width: 768px) {
		.process__block {
			padding: 2rem;
	width: calc((100% - 2rem) / 2);
}
}

@media (max-width: 480px) {
			.process__block {
	width: 100%;
}

.process__block-num {
    margin-bottom: 3rem;
	}

	.bottom .button{
		width: 100%;
	}
}
/* ==================================== */

@media (max-width: 1024px) {}

@media (max-width: 768px) {}

@media (max-width: 480px) {}

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

.footer{
	margin-top: var(--section-margin);
	background-color: var(--chernyy);
	color: var(--belyy);
}

.footer__top .logo__decription{
	color: rgba(255, 255, 255, 0.5);
}

.footer__top .logo__decription::before{
	background: var(--belyy);
	opacity: 0.5;
}

.footer__contact-value{
	color: var(--belyy);
}

.footer__contact-caption{
	color: rgba(255, 255, 255, 0.6);
}

.footer__top .socials__link{
	border-color: rgba(255, 255, 255, 0.25);
	color: var(--belyy);
}

/* Основная часть футера — колонки */
.footer__main{
	padding: 4rem 0 10rem 0rem;
}

.footer__cols{
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
	gap: 2rem;
}

.footer__col{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	min-width: 0;
}

.footer__logo{
	font-family: var(--third-family);
	font-size: 3.2rem;
	line-height: 1;
	text-transform: uppercase;
	color: var(--belyy);
	margin-bottom: 1rem;
}

.footer__legal{
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.5);
}

.footer__col-title{
	color: rgba(255, 255, 255, 0.5);
}

.footer__list{
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.footer__list a{
	color: var(--belyy);
	transition: color 0.2s ease;
}

.footer__addresses{
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	line-height: 1.45;
	color: var(--belyy);
}

@media (hover: hover) {
	.footer__list a:hover,
	.footer__policy a:hover{
		color: var(--akcent);
	}

	.footer__top .socials__link:hover{
		background-color: var(--akcent);
		border-color: var(--akcent);
	}
}

/* Низ футера — копирайт + ссылки на политику */

.footer__bottom{
	margin-top: 3rem;
}

.footer__bottom-inner{
	display: flex;
	align-items: center;
		border-top: 0.1rem solid rgba(255, 255, 255, 0.2);
	justify-content: space-between;
	gap: 2rem;
	padding: 2rem 0 4rem 0rem;
	flex-wrap: wrap;
}

.footer__copy-text{
	font-size: 1.4rem;
	color: rgba(255, 255, 255, 0.5);
}

.footer__policy{
	display: flex;
	gap: 7.5rem;
	flex-wrap: wrap;
}

.footer__policy a{
	font-size: 1.4rem;
	color: rgba(255, 255, 255, 0.5);
	transition: color 0.2s ease;
}

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

@media (max-width: 1230px) {
	.footer__main{
		padding: 3.5rem 0 7rem;
	}

	.footer__top-row{
		gap: 3rem;
		flex-wrap: wrap;
	}

	.footer__urgent{
		gap: 2rem;
	}

	.footer__middle{
		gap: 3rem;
		flex-wrap: wrap;
	}

	.footer__policy{
		gap: 4rem;
	}
}

@media (max-width: 1024px) {
	.footer__top-row{
		gap: 2rem;
		padding: 2.5rem 0;
	}
	.uslugi h2:last-child{
	margin-bottom: 4rem;
}

	.footer .logo{
		max-width: 100%;
	}

	.footer .logo__decription{
		display: flex;
	}

	.footer__middle{
		gap: 2.5rem;
		width: 100%;
		flex-grow: 0;
		justify-content: flex-start;
	}

	.footer__contact-value{
		white-space: normal;
	}

	.footer__main{
		padding: 3rem 0 5rem;
	}

	.footer__cols{
		grid-template-columns: 1fr 1fr 1fr;
		gap: 4rem 3rem;
	}

	.footer__col--brand{
		grid-column: 1 / -1;
	}

	.footer__bottom-inner{
		padding: 2rem 0 3rem;
	}
}

@media (max-width: 768px) {
	.footer__top-row{
		flex-direction: column;
		align-items: flex-start;
		gap: 2rem;
	}

	.uslugi h2:last-child{
	margin-bottom: 3rem;
}

	.footer__bottom{
		margin-top: 0rem;
	}

	.footer__middle{
		flex-direction: column;
		align-items: flex-start;
		gap: 2rem;
	}

	.footer__urgent{
		gap: 2rem;
	}

	.footer__callback{
		width: 100%;
		justify-content: center;
	}

	.footer__main{
		padding: 3rem 0 4rem;
	}

	.footer__cols{
		grid-template-columns: 1fr 1fr;
		gap: 3rem 2rem;
	}

	.footer__bottom-inner{
		flex-direction: column;
		align-items: flex-start;
		gap: 1.5rem;
		padding: 2rem 0 3rem;
	}

	.footer__policy{
		gap: 1.5rem;
		flex-direction: column;
	}

	.form-section__fields .textarea{
	display: block;
}

.form-section__right{
	display: none !important;
}
}

@media (max-width: 480px) {
	.footer__main{
		padding: 2.5rem 0 3rem;
	}

	.footer__cols{
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.footer__col--brand{
		grid-column: auto;
	}

	.footer__bottom-inner{
		padding: 2rem 0 2.5rem;
	}
}

/* ==================================== Fancybox close override */

.fancybox-button--close,
.fancybox-close-small{
	width: 4rem !important;
	height: 4rem !important;
	padding: 0 !important;
	background: transparent !important;
	opacity: 1 !important;
	color: transparent !important;
	right: 1.5rem !important;
	top: 1.5rem !important;
}

.fancybox-button--close svg,
.fancybox-close-small svg{
	display: none !important;
}

.fancybox-button--close::before,
.fancybox-close-small::before{
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25 3.49998L21.5 0L12.5 8.99999L3.49998 0L0 3.49998L8.99999 12.5L0 21.5L3.49998 25L12.5 16L21.5 25L25 21.5L16 12.5L25 3.49998Z' fill='%2310161A'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 2.5rem;
	transition: transform 0.2s ease, opacity 0.2s ease;
}


/* ==================================== Modal */

.modal{
	width: 100%;
	max-width: 87.7rem;
	padding: 5rem;
	background-color: var(--belyy);
	color: var(--chernyy);
}

.fancybox-slide .modal{
	display: block;
}

.modal__tags{
	margin-bottom: 3rem;
}

.modal__title{
	margin-bottom: 1rem;
}

.modal__desc{
	line-height: 1.5;
	margin-bottom: 3rem;
}

.modal__form{
	margin-bottom: 2rem;
}

.modal__form .input{
	min-height: 6rem;
}

.modal__fields{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
	margin-bottom: 1.4rem;
}

.modal__fields--column{
	grid-template-columns: 1fr;
}

.modal--callback{
	max-width: 45rem;
	padding: 4rem;
}

.modal--callback .modal__title{
	margin-bottom: 1rem;
}

.modal--callback .modal__desc{
	margin-bottom: 3rem;
}

.modal__fields .button{
	min-width: 0rem;
}

.modal__submit{
	white-space: nowrap;
}

.modal__agreement{
	margin-top: 0.5rem;
}

.modal__email{
	display: flex;
	align-items: center;
	gap: 0.8rem;
	flex-wrap: wrap;
}

.modal__email-link{
	font-weight: 700;
	color: var(--chernyy);
	transition: color 0.2s ease;
}

.fancybox-button {
	width: 4.5rem !important;
	height: 4.5rem !important;
	padding: 0rem !important;
}

.form-section__agreement-text a{
	text-decoration: underline;
}

@media (hover: hover) {
	.modal__email-link:hover{
		color: var(--akcent);
	}
}

@media (max-width: 1024px) {
	.modal{
		padding: 4rem;
	}
}

@media (max-width: 768px) {
	.modal{
		padding: 2.5rem 2rem;
	}

	
.modal__form .input{
	min-height: 5rem;
}

.modal--callback .modal__desc {
    margin-bottom: 2rem;
}

.intro__cta-text br{
	display: none;
}


	.fancybox-button {
    width: 2.5rem !important;
    height: 2.5rem !important;
		right: 1rem !important;
		top: 1rem !important;
    padding: 0rem !important;
}

.fancybox-button--close::before, .fancybox-close-small::before {
    background-size: 2rem;
}

	.modal__tags{
		margin-bottom: 2rem;
	}

	.modal__desc{
		margin-bottom: 2rem;
	}

	.modal__desc br{
		display: none;
	}

	.modal__fields{
		grid-template-columns: 1fr;
		gap: 0.8rem;
	}
}

/* ==================================== */

.tabs-content{
	display: none;
}

.d-block{
	display: block;
}

.none{
	display: none;
}

[class*="copyrights-pane"]{
	display: none !important;
}

.animate__animated, .animate__{
	opacity: 0;
	animation-fill-mode: forwards !important;
	animation-delay: 0.2s !important;
}

.animate__delay-1s{
	animation-delay: 0.8s !important;
}

.animate__delay-2s{
	animation-delay: 1.2s !important;
}

.animate__delay-2s.button{
	animation-delay: 1.4s !important;
}

/* Глобальный твик для всех анимируемых элементов */
.animate__animated,
.animated { /* подойдёт и для кастомного animation.css */
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Если в ваших классах есть анимации margin/height/width/top/left — запрещаем: */
[class*="animate-"][style*="margin"],
[class*="animate-"][style*="top"],
[class*="animate-"][style*="left"] {
}
  /* лучше переписать сами эффекты на transform/opacity */

/* По умолчанию скрыть, чтобы не было блинка первого кадра */
.animate__animated,
.animated {
  visibility: hidden;
}

/* Когда страница готова — показать и дать анимациям отработать */
.page-ready .animate__animated,
.page-ready .animated {
  visibility: visible;
}

/* ==================================== About — Hero (intro variant) */

.intro--about{
	min-height: auto;
	background-color: #14191e;
}


.intro--about .intro__wrapper{
	justify-content: flex-start;
	gap: 4rem;
	padding: 3.5rem 0 8rem;
}

.intro--about .intro__bottom{
	margin-top: 4rem;
}

/* Хлебные крошки */
.breadcrumbs{
	font-size: 1.4rem;
	line-height: 1.2;
}

.intro{
	    background-color: #14191e;
}

.intro .breadcrumbs{
	margin-bottom: -3rem;
	margin-top: -5rem;
}

.breadcrumbs ul{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.8rem;
	overflow: hidden;
}

.breadcrumbs li{
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.breadcrumbs li:not(:first-child)::before{
	content: "";
	flex-shrink: 0;
	width: 0.5rem;
	height: 0.5rem;
	background-color: var(--akcent);
}

.breadcrumbs a{
	transition: color 0.2s ease;
}

.intro .breadcrumbs a{
	color: rgba(255, 255, 255, 0.2);

}


.intro .breadcrumbs li:last-child a{
color: var(--belyy);
}

.breadcrumbs li[hidden]{
	display: none;
}

.breadcrumbs{
	margin-top: 0;
	margin-bottom: 5rem;
}

.intro--cases .breadcrumbs{
	margin-top: 0rem !important;
}

.breadcrumbs a, .intro--cases .breadcrumbs a{
	color: rgba(16, 22, 26, 0.35);
}

.breadcrumbs li:last-child a, .intro--cases .breadcrumbs li:last-child a{
	color: var(--chernyy);
}

.intro--cases .breadcrumbs{
	margin-bottom: 2rem !important;
}

.intro--cases h1{
	color: inherit;
}

.case--detail{
	background: #FFF;
}

.intro--cases + .case--detail{
	padding-top: calc(var(--section-margin) + var(--section-margin));
}

@media (hover: hover) {
	.breadcrumbs a:hover{
		color: var(--belyy);
	}
}

/* Кнопка-многоточие (сворачивание длинных крошек) */
.breadcrumbs__more{
	color: rgba(255, 255, 255, 0.2);
	cursor: pointer;
	transition: color 0.2s ease;
}

@media (hover: hover) {
	.breadcrumbs__more:hover{
		color: var(--belyy);
	}
}

/* ==================================== About — Hero responsive */

@media (max-width: 1024px) {
	.intro--about .intro__wrapper{
		padding: 3rem 0 6rem;
	}

	.intro .breadcrumbs{
	margin-bottom: -1.5rem;
	margin-top: -2rem;
}

}

@media (max-width: 768px) {
		.intro .breadcrumbs{
	margin-bottom: -1rem;
	margin-top: -1rem;
}

	.intro--about .intro__wrapper{
		gap: 3rem;
		padding: 2.5rem 0 5rem;
	}

	.intro--about .intro__bottom{
		margin-top: 2rem;
	}
}

@media (max-width: 480px) {
	.breadcrumbs{
		font-size: 1.2rem;
	}
}

/* ==================================== About — Calc form (form-section variant) */

.form-calc{
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 1rem;
}

.form-calc__field--quarter{
	grid-column: span 3;
}

.form-calc__field--third{
	grid-column: span 4;
}

.form-calc__field--half{
	grid-column: span 6;
}

.form-calc__field--full{
	grid-column: 1 / -1;
}

@media (max-width: 768px) {
	.form-calc{
		grid-template-columns: 1fr;
	}

	.form-calc__field--quarter,
	.form-calc__field--third,
	.form-calc__field--half,
	.form-calc__field--full{
		grid-column: auto;
	}
}

/* ==================================== About — Services (uslugi 5-up variant) */

.uslugi__body--wide{
	grid-template-columns: repeat(6, 1fr);
}

@media (max-width: 1470px) {
	.uslugi__body--wide{
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 1024px) {
	.uslugi__body--wide{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.uslugi__body--wide{
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==================================== About — Warehouses (uslugi variant) */

.uslugi--warehouses .uslugi__image{
	background-color: #10161A;
	background-image: repeating-linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.04) 0,
		rgba(255, 255, 255, 0.04) 0.1rem,
		transparent 0.1rem,
		transparent 1.2rem
	);
}

.uslugi--warehouses .uslugi__list{
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.uslugi--warehouses .uslugi__list li{
	font-size: 1.5rem;
	line-height: 1.4;
	opacity: 0.7;
}

/* ==================================== About — Founder (quote) */

.founder__inner{
	display: flex;
	gap: 6rem;
}

.founder__media{
	display: flex;
	flex-direction: column;
	position: relative;
	width: calc((100% - 6rem) / 2);
}

.founder__content{
	width: calc((100% - 6rem) / 2);
}

.founder__photo{
	position: relative;
	flex-grow: 1;
	display: block;
	width: 100%;
	padding-top:73%;
	overflow: hidden;
	background-color: #d7dbe0;
}

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

.founder__badge{
	position: absolute;
	left: 3rem;
	bottom: 3rem;
	max-width: 36rem;
	padding: 3rem;
	background-color: var(--akcent);
	color: var(--belyy);
}

.founder__name{
	font-size: 2rem;
	line-height: 1.2;
	font-family: "Russo One";
	text-transform: uppercase;
}

.founder__role{
	margin-top: 0.5rem;
	font-size: 1.8rem;
	line-height: 1.4;
}

.founder__quote{
	display: block;
	margin-bottom: 3rem;
}

.founder__quote svg{
	display: block;
	width: 9rem;
	height: auto;
}

.founder__title{
	margin-bottom: 3rem;
}

/* ==================================== Marker list (reusable) */

.marker-list{
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.founder .marker-list{
	gap: 2rem;
}

.marker-list li{
	position: relative;
	padding-left: 2.5rem;
	font-size: 1.8rem;
	line-height: 1.5;
}

.marker-list li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 1rem;
	width: 1rem;
	height: 1rem;
	background-color: var(--akcent);
}

@media (max-width: 480px) {

	.marker-list li{
		font-size: 1.6rem;
	}

	.founder .marker-list{
	gap: 1rem;
}
}

.founder .marker-list{
	max-width: 55rem;
}

/* ==================================== About — Founder responsive */

@media (max-width: 1024px) {
	.founder__inner{
		gap: 4rem;
	}

	.founder__media,
	.founder__content{
		width: calc((100% - 4rem) / 2);
	}
}

@media (max-width: 768px) {
	.founder__inner{
		flex-direction: column;
		gap: 3rem;
	}

	.founder__media,
	.founder__content{
		width: 100%;
	}

	.founder__quote svg{
		width: 7rem;
	}
}

@media (max-width: 480px) {
	.founder__inner{
		gap: 2.5rem;
	}

	.founder__quote{
		margin-bottom: 2rem;
	}

	.founder__quote svg{
		width: 6rem;
	}

	.founder__title{
		margin-bottom: 2rem;
	}

	.founder__badge{
		left: 1.5rem;
		bottom: 1.5rem;
		max-width: calc(100% - 3rem);
		padding: 2rem;
	}
}

.reasons__cards{
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

.reasons__cards .intro-bottom__block{
	width: calc((100% - 4rem) / 3);
}

@media (max-width: 1024px) {
	.reasons__cards .intro-bottom__block{
		width: calc((100% - 2rem) / 2);
	}
}

@media (max-width: 768px) {
	.reasons__cards .intro-bottom__block{
		width: 100%;
	}
}

.pricing__inner{
	display: flex;
	gap: 2rem;
	align-items: flex-start;
}

.pricing__info{
	width: calc((100% - 2rem) / 2);
	flex-shrink: 0;
}

.pricing__table{
	width: calc((100% - 2rem) / 2);
	min-width: 0;
}

.pricing__table table{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}

.pricing__table th{
	padding: 2rem 3rem;
	text-align: left;
	font-weight: 500;
	color: var(--belyy);
	background-color: #10161A;
}

.pricing__table td{
	padding: 2rem 3rem;
	color: var(--chernyy);
	background-color: var(--belyy);
	border-bottom: 0.1rem solid rgba(16, 22, 26, 0.1);
}

.pricing__table tr:last-child td{
	border-bottom: 0rem;
}

.pricing__note{
	margin-top: 3rem;
	text-align: center;
	color: #10161A;
}

h2 + .uslugi__body, .h2 + .uslugi__body{
	margin-top: 5rem;
}

@media (max-width: 1230px) {
	.pricing__table th,
	.pricing__table td{
		padding: 2rem;
	}
}

@media (max-width: 1024px) {
	.pricing__table th,
	.pricing__table td{
		padding: 1.6rem 1.5rem;
	}
}

@media (max-width: 768px) {
	.pricing__inner{
		flex-direction: column;
		gap: 4rem;
	}

	h2 +  .uslugi__body, .h2 + .uslugi__body{
	margin-top: 3rem;
}

	.pricing__info,
	.pricing__table{
		width: 100%;
	}

	.pricing__table th,
	.pricing__table td{
		padding: 1.5rem 1.5rem;
	}
}

@media (max-width: 480px) {
	.pricing__table{
		font-size: 1.6rem;
	}


	.pricing{
		overflow: hidden;
	}

	.pricing__table{
		padding: 0rem 1rem;
		margin-left: -1rem;
		width: calc(100% + 2rem);
		overflow: auto;
	}

	.pricing__table table{
		min-width: 60rem;
	}

	.pricing__info .button{
		width: 100%;
	}

		.pricing__table th,
	.pricing__table td{
		padding: 1.5rem 2rem;
	}
}

.case__body{
	display: flex;
	gap: 2rem;
	align-items: stretch;
}

.case__left,
.case__right{
	width: calc((100% - 2rem) / 2);
	padding: 4rem;
		background-color: var(--belyy);
	color: var(--chernyy);
}

.case__left{
	display: flex;
	flex-direction: column;
}

.case__title{
	margin-bottom: 3rem;
}

.case__title span{
	color: var(--akcent);
}

.case__quote{
	font-size: 1.8rem;
	line-height: 1.6;
	background: #F5F7FA !important;
	margin-bottom: 3rem;
}

.case__author-name{
	font-family: var(--third-family);
	text-transform: uppercase;
}

.case__author-role{
	margin-top: 0.5rem;
}

.case__right{
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.case__subtitle{
	margin-bottom: 2rem;
	font-weight: 500;
	font-family: 'Commissioner' !important;
}

.case__block p{
	line-height: 1.5;
}

.case__right .case__block p{
	opacity: 0.7;
}

.case__right  .marker-list li{
	color: rgba(16, 22, 26, 0.7);
}

.case__right--dark{
	background-color: var(--chernyy);
}

.case__right--dark .case__subtitle{
	color: var(--belyy);
}

.case__right--dark .marker-list li{
	color: rgba(255, 255, 255, 0.7);
}

.case--project .case__left,
.case--project .case__right{
	gap: 2rem;
}

.case--project .case__subtitle{
	margin-bottom: 0;
}

.case__gallery{
	display: grid;
	grid-template-columns: 88rem 1fr 1fr;
	gap: 2rem;
	margin-top: 2rem;
}

.case__image{
	position: relative;
	display: block;
	width: 100%;
	padding-top: 50rem;
	overflow: hidden;
}


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

@media (max-width: 1230px) {
	.case__gallery{
		grid-template-columns: 2fr 1fr 1fr;
	}

	.case__image{
		padding-top: 36rem;
	}
}

@media (max-width: 1024px) {
	.case__image{
		padding-top: 30rem;
	}
}

@media (max-width: 768px) {
	.case__body{
		flex-direction: column;
	}

	.case__left,
	.case__right{
		width: 100%;
	}

	.case__gallery{
		grid-template-columns: 1fr;
	}

	.case__image{
		padding-top: 56%;
	}
}

@media (max-width: 480px) {
	.case__left,
	.case__right{
		padding: 2.5rem 2rem;
	}

	.case__title{
		font-size: 2.2rem;
	}
}

.benefits h2{
	margin-bottom: 4rem;
}

.benefits h2 + .sub-title{
	margin-top: -2rem;
}

.benefits__cards{
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

.benefits__cards .intro-bottom__block{
	width: calc((100% - 10rem) / 6);
}

.benefits__row{
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

.benefits__row .intro-bottom__block{
	width: calc((100% - 6rem) / 4);
}

.benefits__row--center .intro-bottom__block{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

@media (max-width: 1024px) {
	.benefits__row .intro-bottom__block{
		width: calc((100% - 2rem) / 2);
	}
}

@media (max-width: 768px) {
	.benefits__row .intro-bottom__block{
		width: 100%;
	}
}

.formats__card .marker-list:last-child{
	margin-bottom: 0rem !important;
}

@media (max-width: 1230px) {
	.benefits__cards .intro-bottom__block{
		width: calc((100% - 6rem) / 4);
	}
}

@media (max-width: 1024px) {
	.benefits__cards .intro-bottom__block{
		width: calc((100% - 4rem) / 3);
	}
}

@media (max-width: 768px) {
	.benefits__cards .intro-bottom__block{
		width: calc((100% - 2rem) / 2);
	}

	.benefits__cards{
		gap: 1.5rem;
	}
}

@media (max-width: 480px) {
	.benefits__cards .intro-bottom__block{
		width: 100%;
	}
}

.gallery h2{
	margin-bottom: 4rem;
}

.gallery__grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

.gallery__image{
	position: relative;
	display: block;
	width: 100%;
	padding-top: 116%;
	overflow: hidden;
}

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

@media (max-width: 1024px) {
	.gallery__grid{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.gallery__grid{
		gap: 1.5rem;
		grid-template-columns: repeat(2, 1fr);
	}
}

.faq__inner{
	display: flex;
	gap: 2rem;
	align-items: flex-start;
}

.faq__head{
	position: sticky;
	top: 3rem;
	width: calc((100% - 2rem) / 2);
	flex-shrink: 0;
}

.faq__body{
	width: calc((100% - 2rem) / 2);
	flex: 1;
	min-width: 0;
}

.accordion__tab{
	border-bottom: 0.1rem solid rgba(16, 22, 26, 0.12);
}

.accordion__tab-top{
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 2.5rem 0;
	cursor: pointer;
}

.accordion__tab-title{
	flex: 1;
	font-family: var(--third-family);
	font-size: 2rem;
	line-height: 1.3;
	text-transform: uppercase;
}

.accordion__tab:first-child  .accordion__tab-top{
	padding-top: 0rem;
}
.accordion__tab:last-child  .accordion__tab-top{
	padding-bottom: 2.5rem;
	border-bottom: none;
}

.accordion__tab:last-child{
	border: none !important;
}

.accordion__tab-arrow{
	flex-shrink: 0;
	cursor: pointer;
	transition: transform 0.2s ease;
}

.accordion__tab-arrow svg{
	display: block;
	width: 2.2rem;
	height: auto;
}

.accordion-active .accordion__tab-arrow{
	transform: rotate(180deg);
}

.accordion__tab-body{
	display: none;
	padding-bottom: 2.5rem;
}

.accordion__tab-text{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	line-height: 1.5;
	max-width: 73rem;
	color: #10161A;
}

.accordion__tab-text a{
	font-weight: 700;
	text-decoration: underline;
	color: var(--akcent);
}

@media (max-width: 768px) {
	.faq__inner{
		flex-direction: column;
		gap: 3rem;
	}

	.faq__head,
	.faq__body{
		width: 100%;
	}

	.faq__head{
		position: static;
	}
}

@media (max-width: 480px) {
	.accordion__tab-title{
		font-size: 1.8rem;
	}
}

.formats__cards{
	display: flex;
	gap: 2rem;
	align-items: stretch;
}

.formats__card{
	width: calc((100% - 2rem) / 2);
	display: flex;
	flex-direction: column;
	padding: 3rem;
	background-color: var(--belyy);
}

.formats__card .h3{
	margin-bottom: 1rem;
}


.formats__desc{
	line-height: 1.5;
	margin-bottom: 2rem;
}

.formats__card .marker-list{
	margin-bottom: 4rem;
}

.formats__btn{
	width: 100%;
	margin-top: auto;
}

.formats__grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-top: 4rem;
}

.formats__grid .formats__card{
	width: 100%;
}

@media (max-width: 1024px) {
	.formats__grid{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.formats__grid{
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.formats__cards{
		flex-direction: column;
	}

	.formats__card{
		width: 100%;
	}

	.formats__card .marker-list{
	margin-bottom: 2rem;
}

.formats__card{
	padding: 2rem;
}

.formats__desc{
	margin-bottom: 2rem;
}
}

.form-section__row{
	display: flex;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.form-section__row .input{
	flex: 1;
	min-width: 0;
}

.form-section__row .form-section__submit{
	width: auto;
	flex-shrink: 0;
}

@media (max-width: 768px) {
	.form-section__row{
		flex-direction: column;
	}

	.form-section__row .form-section__submit{
		width: 100%;
	}
}

.infra__grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.infra__card{
	display: flex;
	flex-direction: column;
	padding: 0 3rem 3rem;
	background-color: var(--belyy);
}

.infra__image{
	position: relative;
	margin: 0 -3rem 2.5rem;
	padding-top: 65%;
	overflow: hidden;
	background-color: #d7dbe0;
}

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

.infra__card .h3{
	margin-bottom: 1.5rem;
}

.infra__card p + p{
	margin-top: 1.5rem;
}

.infra--nobg  .infra__card {
	padding: 0rem !important;
	background: none !important;
}

.infra__card .h3:last-child{
	margin-bottom: 0rem;
}

.infra--nobg .infra__image{
	margin: 0rem 0rem 2.5rem 0rem;
}

@media (max-width: 1024px) {
	.infra__grid{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.infra__grid{
		grid-template-columns: 1fr;
	}
}

.process--5 .process__block{
	width: calc((100% - 8rem) / 5);
}

@media (max-width: 1470px) {
	.process--5 .process__block{
		width: calc((100% - 4rem) / 3);
	}
}

@media (max-width: 768px) {
	.process--5 .process__block{
		width: calc((100% - 2rem) / 2);
	}
}

@media (max-width: 480px) {
	.process--5 .process__block{
		width: 100%;
	}
}

.infra--4 .infra__grid{
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1230px) {
	.infra--4 .infra__grid{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.infra--4 .infra__grid{
		grid-template-columns: 1fr;
	}
}


.podbor__inner{
	display: flex;
	gap: 2rem;
}

.podbor__content{
	width: calc((100% - 2rem) / 2);
	flex-shrink: 0;
}

.podbor__media{
	flex: 1;
	min-width: 0;
}

.podbor__image{
	display: block;
	width: 100%;
}

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

.podbor__content .sub-title{
	margin-bottom: 2rem;
}

.podbor__content .button{
	margin-top: 3rem;
}

@media (max-width: 768px) {
	.podbor__inner{
		flex-direction: column;
		gap: 3rem;
		align-items: stretch;
	}

	.podbor__content{
		width: 100%;
	}
}

.points__grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.points__card{
	padding: 3rem;
	background-color: var(--chernyy);
}

.points__card-title{
	margin-bottom: 2.5rem;
	color: var(--belyy);
}

.points__list{
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(5, auto);
	justify-content: start;
	column-gap: 4rem;
	row-gap: 1.5rem;
}

.points__list li{
	color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 1024px) {
	.points__grid{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.points__grid{
		grid-template-columns: 1fr;
	}

	.points__card{
		padding: 2.5rem;
	}
}

@media (max-width: 480px) {
	.points__list{
		column-gap: 2rem;
	}
}

.risks__inner{
	display: flex;
	gap: 2rem;
	align-items: stretch;
}

.risks__list{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: calc((100% - 2rem) / 2);
}

.risks__card{
	display: flex;
	gap: 3rem;
	padding: 3rem;
	background-color: var(--belyy);
}

.risks__icon{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 6rem;
	height: 6rem;
}

.risks__icon--no{
	background-color: var(--chernyy);
}

.risks__icon--yes{
	background-color: var(--akcent);
}

.risks__icon svg{
	width: 36%;
	height: auto;
}

.risks__content{
	min-width: 0;
}

.risks__label{
	margin-bottom: 1rem;
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #9aa0a6;
}

.risks__card--yes .risks__label{
	color: var(--akcent);
}

.risks__title{
	margin-bottom: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--chernyy);
}


.risks__media{
	position: relative;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	background-color: #d7dbe0;
}

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

@media (max-width: 1230px) {
	.risks__card{
		gap: 2rem;
		padding: 2.5rem;
	}
}

@media (max-width: 768px) {
	.risks__inner{
		flex-direction: column;
	}

	.risks__list{
		width: 100%;
	}

	.risks__media{
		min-height: 32rem;
	}

	.risks__card{
		padding: 2.5rem;
	}
}

@media (max-width: 480px) {
	.risks__card{
		gap: 1.5rem;
		padding: 2rem;
	}

	.risks__icon{
		width: 4rem;
		height: 4rem;
	}
}

.schedule__inner{
	display: flex;
	gap: 2rem;
	align-items: stretch;
}

.schedule__grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-content: start;
	width: calc((100% - 2rem) / 2);
}

.schedule__card{
	padding: 3rem;
	background-color: var(--belyy);
}

.schedule__card .h3{
	margin-bottom: 1rem;
}

.schedule__media{
	position: relative;
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

.schedule__image{
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

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

@media (max-width: 1024px) {
.schedule__inner {
	display: flex;
	flex-direction: column;
}

.schedule__grid{
	width: 100%;
}

.schedule__media{
	width: 100%;
}
	.schedule__media{
		min-height: 32rem;
	}

}
@media (max-width: 768px) {
	.schedule__inner{
		flex-direction: column;
	}

	.schedule__grid{
		width: 100%;
	}

		.schedule__card {
    padding: 2rem;
}
	.sub-title br{
		display: none;
	}
}

@media (max-width: 480px) {
	.schedule__grid{
		grid-template-columns: 1fr;
	}


}

.directions__list{
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.directions__row{
	display: flex;
	gap: 2rem;
	align-items: stretch;
}

.directions__card{
	display: flex;
	flex-direction: column;
	width: calc((100% - 2rem) / 2);
	padding: 3rem;
	background-color: var(--belyy);
}

.directions__group + .directions__group{
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 0.1rem solid rgba(25, 32, 32, 0.1);
}

.directions__label{
	margin-bottom: 1rem;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #9aa0a6;
}

.directions__label--accent{
	color: var(--akcent);
}

.directions__title{
	margin-bottom: 1rem;
}

.directions__group p{
	line-height: 1.5;
}

.directions__media{
	position: relative;
	flex: 1;
	min-width: 0;
	min-height: 38.7rem;
	overflow: hidden;
	background-color: #d7dbe0;
}

.h2 + .infra__grid, h2 + .infra__grid{
	margin-top: 5rem;
}

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

@media (max-width: 768px) {
	.directions__row{
		flex-direction: column;
	}

	.h2 + .infra__grid, h2 + .infra__grid{
	margin-top: 3rem;
}

	.directions__card{
		width: 100%;
	}

	.directions__media{
		min-height: 28rem;
	}

	.directions__card{
		padding: 2rem;
	}
}



.routes__title{
	margin-bottom: 4rem;
	text-align: center;
	color: var(--belyy);
}

.routes{
	padding: calc(var(--section-margin) + var(--section-margin)) 0rem !important;
}

.routes__table{
	width: 100%;
	max-width: 58rem;
	margin: 0 auto;
	background-color: var(--belyy);
}

.routes__table th{
	color: #FFF !important;
	background: #10161A;
}

.routes__table table{
	width: 100%;
	border-collapse: collapse;
}

.routes__table th,
.routes__table td{
	padding: 2rem 4rem;
	text-align: left;
	border-bottom: 0.1rem solid rgba(25, 32, 32, 0.1);
}

.routes__table th{
	font-weight: 400;
	color: #9aa0a6;
}

.routes__table th:last-child,
.routes__table td:last-child{
	width: 20rem;
}

.routes__table tbody tr:last-child td{
	border-bottom: 0;
}

@media (max-width: 768px) {
	.routes__table th,
	.routes__table td{
		padding: 1.6rem 2rem;
	}

	.routes__table th:last-child,
.routes__table td:last-child{
	width: 12rem;
}
}

.compare__cols{
	display: flex;
	gap: 2rem;
}

.compare__col{
	width: calc((100% - 2rem) / 2);
}

.compare__col-title{
	margin-bottom: 2.5rem;
}

@media (max-width: 768px) {
	.compare__cols{
		flex-direction: column;
		gap: 3rem;
	}

	.compare__col{
		width: 100%;
	}
}

/* ==================================== Project (case study) */
.project__head{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 4rem;
	margin-bottom: 5rem;
}

.project__head h2{
	max-width: 55rem;
	margin-bottom: 0;
}

.project__meta{
	display: flex;
	gap: 2rem;
}

.project__meta-card{
	background-color: var(--belyy);
	padding: 2.5rem;
	width: 22rem;
}

.project__meta-label{
	color: var(--akcent);
	margin-bottom: 1rem;
}


.project__grid{
	display: flex;
	gap: 2rem;
	align-items: stretch;
}

.project__col{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	background-color: var(--belyy);
	padding: 3rem;
	width: calc((100% - 6rem) / 4);
}

.project__col-num{
	color: var(--akcent);
}

.project__col-title{
	font-family: var(--third-family);
	font-size: 2rem;
	line-height: 1.2;
	text-transform: uppercase;
	margin-top: -0.4rem;
}

.project__col p{
	line-height: 1.5;
}



.project strong{
	font-weight: 700;
}

.project__subhead{
	font-weight: 700;
}

.project__result{
	margin-top: calc(var(--section-margin) + var(--section-margin));
}

.project__result-grid{
	display: flex;
	gap: 2rem;
}

.project__result-card{
	background-color: var(--belyy);
	padding: 3rem;
	width: calc((100% - 6rem) / 4);
	line-height: 1.5;
}
.project__result .h2{
	margin-bottom: 5rem;
}

.name-section--accent{
	color: var(--akcent);
	opacity: 1;
}

/* ==================================== Project — responsive */
@media (max-width: 1230px) {
	.project__head{
		flex-direction: column;
		gap: 3rem;
	}

	.project__head h2{
		max-width: 100%;
	}

	.project__grid{
		flex-wrap: wrap;
	}

	.project__col{
		width: calc((100% - 2rem) / 2);
	}

	.project__result-grid{
		flex-wrap: wrap;
	}

	.project__result-card{
		width: calc((100% - 2rem) / 2);
	}
}

@media (max-width: 768px) {
	.project__grid,
	.project__result-grid{
		flex-direction: column;
	}

	.project__col,
	.project__result-card{
		width: 100%;
	}

	.project__meta{
		flex-wrap: wrap;
	}

	.project__meta-card{
		width: calc((100% - 2rem) / 2);
	}

.project__result .h2 {
    margin-bottom: 3rem;
}
}

@media (max-width: 480px) {
	.project__meta-card{
		width: 100%;
	}

	.project__col,
	.project__result-card,
	.project__meta-card{
		padding: 2rem;
	}
	.project__result .h2 {
    margin-bottom: 2rem;
}
}

/* ==================================== Intro — cases (light) */
.intro--cases{
	min-height: auto;
	background-color: #F5F7FA;
	color: var(--chernyy);
}

.intro--cases .intro__wrapper{
	flex-grow: 0;
	gap: 3rem;
	padding: 4rem 0 6rem;
}

.intro--cases .intro__subtitle{
	color: var(--chernyy);
}



/* ==================================== Case — detail */
.case--detail .case__num{
	margin-bottom: 2rem;
}

.case--detail .case__title{
	max-width: 90rem;
	margin-bottom: 4rem;
}

.case--detail .case__left,
.case--detail .case__right{
	background: none;
	padding: 0;
	gap: 5rem;
}

.case--detail .case__right{
	gap: 2rem !important;
}

.case--detail .case__quote{
	background-color: var(--belyy);
	padding: 3rem;
	margin-bottom: 0;
}

.case--detail .case__quote p{
	line-height: 1.6;
}

.case--detail .case__author-name{
	margin-top: 2rem;
}

.case--detail .case__image{
	flex: 1;
	padding-top: 0;
	min-height: 50rem;
}

.case--detail .case__result{
	background-color: var(--akcent);
	color: var(--belyy);
	padding: 3rem;
}

.case--detail .case__result-title{
	margin-bottom: 2rem;
}

.case--detail .case__result p{
	line-height: 1.5;
	max-width: 58rem;
	font-size: 2rem;
}

@media (max-width: 1024px) {
	.intro--cases .intro__wrapper{
		padding: 3rem 0 5rem;
	}

	.intro--cases .breadcrumbs{
		margin-bottom: 4rem !important;
	}

	.case--detail .case__left{
		gap: 4rem;
	}
}

@media (max-width: 768px) {
	.intro--cases .intro__wrapper{
		gap: 2.5rem;
		padding: 2.5rem 0 4rem;
	}

	.case--detail .case__result p {
    font-size: 1.6rem;
}

.case--detail .case__result-title {
    margin-bottom: 1rem;
}

	.intro--cases .breadcrumbs{
		margin-bottom: 1rem !important;
	}

	.case--detail .case__title{
		margin-bottom: 3rem;
	}

	.case--detail .case__body{
		flex-direction: column;
	}

	.case--detail .case__left,
	.case--detail .case__right{
		width: 100%;
	}

	.case--detail .case__left{
		gap: 3rem;
	}

	.case--detail .case__image{
		min-height: 28rem;
	}
}

@media (max-width: 480px) {
	.case--detail .case__quote,
	.case--detail .case__result{
		padding: 2rem;
	}

	.case--detail .case__image{
		min-height: 22rem;
	}
}

/* ==================================== Blog — show more */
[data-show-container] > *:not(.d-block){
	display: none;
}

.cases__block.d-block{
	display: flex;
}

/* ==================================== Article hero (blog-single) */
.article-hero{
	padding: 4rem 0 6rem;
}

.article-hero__inner{
	display: flex;
	gap: 4rem;
	align-items: stretch;
}

.article-hero__content{
	display: flex;
	flex-direction: column;
	width: calc(50% - 2rem);
}

.article-hero__content .tags{
	margin-bottom: 3rem;
}

.article-hero__author{
	display: flex;
	align-items: center;
	gap: 2rem;
	margin-top: auto;
	padding-top: 4rem;
}

.article-hero__avatar{
	width: 8rem;
	height: 8rem;
	flex-shrink: 0;
	overflow: hidden;
}

.article-hero__avatar img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-hero__author-label{
	font-size: 1.4rem;
	margin-bottom: 0.5rem;
}

.article-hero__author-name{
	margin-bottom: 0.5rem;
}

.article-hero__author-role,
.article-hero__author-exp{
	font-size: 1.4rem;
	line-height: 1.4;
}

.article-hero__media{
	position: relative;
	width: calc(50% - 2rem);
	min-height: 40rem;
	overflow: hidden;
}

.article-hero__media img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==================================== Article body (blog-single) */
.article__inner{
	display: flex;
	gap: 17rem;
	align-items: flex-start;
}

.article__sidebar{
	width: 28rem;
	flex-shrink: 0;
}

.article__sidebar-title{
	color: var(--akcent);
	margin-bottom: 2rem;
}

.article__toc-list,
.article__share-list{
	display: flex;
	flex-direction: column;
}

.article__toc-list a,
.article__share-list a,
.article__share-copy{
	display: block;
	width: 100%;
	text-align: left;
	font-size: 2rem;
	line-height: 1.4;
	border-top: 1px solid rgba(16, 22, 26, 0.1);
	transition: color 0.2s ease;
}

.article__toc-list a{
	padding: 2rem 0;
}

.article__toc-list a:last-child{
	border-bottom: 1px solid rgba(16, 22, 26, 0.1);
}

.article__share{
	margin-top: 10rem;
}

.article__share-list a,
.article__share-copy{
	font-size: 2rem;
	padding: 2rem 0;
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}

.article__share-list a:last-child,
.article__share-copy:last-child{
	border-bottom: 1px solid rgba(16, 22, 26, 0.1);
}

@media (hover: hover) {
	.article__toc-list a:hover,
	.article__share-list a:hover,
	.article__share-copy:hover{
		color: var(--akcent);
	}
}

.article__content{
	flex: 1;
}

.article__content h2{
	margin-bottom: 2.5rem;
}

.article__content h2:not(:first-child){
	margin-top: 5rem;
}

.article__content p{
	line-height: 1.6;
}

.article__content p + p{
	margin-top: 2rem;
}

.article__content .marker-list{
	margin: 2.5rem 0;
}

.article__image{
	position: relative;
	display: block;
	width: 100%;
	padding-top: 56%;
	overflow: hidden;
	margin: 3rem 0;
}

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

/* ==================================== Article — WordPress the_content fallback (raw tags, no BEM-классов) */
.article__content h3,
.article__content h4{
	font-family: var(--third-family);
	line-height: 1.2;
	margin-bottom: 2rem;
}

.article__content h3:not(:first-child),
.article__content h4:not(:first-child){
	margin-top: 4rem;
}

.article__content a{
	color: var(--akcent);
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}

.article__content strong,
.article__content b{
	font-weight: 700;
}

.article__content em,
.article__content i{
	font-style: italic;
}

.article__content ul:not(.marker-list),
.article__content ol:not(.marker-list){
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 2.5rem 0;
}

.article__content ul:not(.marker-list) li,
.article__content ol:not(.marker-list) li{
	position: relative;
	padding-left: 2.5rem;
	line-height: 1.5;
}

.article__content ul:not(.marker-list) li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 1rem;
	width: 1rem;
	height: 1rem;
	background-color: var(--akcent);
}

.article__content ol:not(.marker-list){
	counter-reset: li;
}

.article__content ol:not(.marker-list) li{
	padding-left: 3rem;
	counter-increment: li;
}

.article__content ol:not(.marker-list) li::before{
	content: counter(li) ".";
	position: absolute;
	left: 0;
	top: 0;
	font-family: var(--third-family);
	color: var(--akcent);
}

.article__content blockquote{
	margin: 3rem 0;
	padding: 2.5rem 3rem;
	border-left: 0.3rem solid var(--akcent);
	background-color: var(--belyy);
	font-size: 1.8rem;
	line-height: 1.6;
}

.article__content blockquote p + p{
	margin-top: 1.5rem;
}

.article__content blockquote cite{
	display: block;
	margin-top: 1.5rem;
	font-style: normal;
	font-family: var(--third-family);
	text-transform: uppercase;
	font-size: 1.6rem;
}

.article__content figure{
	margin: 3rem 0;
}

.article__content figure img,
.article__content > img{
	display: block;
	width: 100%;
	height: auto;
}

.article__content p img{
	max-width: 100%;
	height: auto;
}

.article__content figcaption{
	margin-top: 1rem;
	font-size: 1.4rem;
	color: rgba(16, 22, 26, 0.6);
}

.article__content .aligncenter{
	margin-left: auto;
	margin-right: auto;
}

.article__content .alignright{
	float: right;
	margin: 0 0 2rem 3rem;
}

.article__content .alignleft{
	float: left;
	margin: 0 3rem 2rem 0;
}

@media (max-width: 1230px) {
	.article__inner{
		gap: 8rem;
	}

	.article__share{
		margin-top: 6rem;
	}
}

@media (max-width: 1024px) {
	.article__inner{
		gap: 5rem;
	}

	.article__sidebar{
		width: 24rem;
	}

	.article__toc-list a,
	.article__share-list a,
	.article__share-copy{
		font-size: 1.8rem;
		padding: 1.6rem 0;
	}
}

@media (max-width: 768px) {
	.article-hero__inner{
		flex-direction: column;
		gap: 3rem;
	}

	.article-hero__content,
	.article-hero__media{
		width: 100%;
	}

	.article-hero__author{
		padding-top: 2rem;
	}

	.article-hero__media{
		min-height: 26rem;
	}

	.article__inner{
		flex-direction: column;
		gap: 4rem;
	}

	.article__sidebar{
		width: 100%;
	}

	.article__share{
		margin-top: 4rem;
	}
}

@media (max-width: 480px) {
	.article-hero__avatar{
		width: 6rem;
		height: 6rem;
	}

	.article-hero__media{
		min-height: 22rem;
	}

	.article__image{
		margin: 2.5rem 0;
	}
}

/* ==================================== Article — centered variant (news-single) */
.article-hero--center .article-hero__head{
	max-width: 80rem;
	margin: 0 auto;
	text-align: center;
}

.article-hero--center .article-hero__head .tags{
	justify-content: flex-start;
	margin-bottom: 3rem;
}

.article--center{
	padding-top: 0rem !important;
}

.article-hero__title{
	text-align: left;
}

.article--center .article__content,
.article--center .article__nav{
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
}

.article__nav{
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	margin-top: 6rem;
}

.form-section:last-child{
	margin-bottom: -4rem;
}

.button--dark.button{
	background-color: var(--chernyy);
	color: var(--belyy);
}

.intro--contacts{
	margin-bottom: 0rem !important;
}

.intro--contacts + .infra{
	padding-top: 0rem !important;
}

@media (max-width: 768px) {
.form-section:last-child{
	margin-bottom: -3rem;
}

.article-hero {
    padding: 4rem 0 3rem;
}

.article__nav {
    margin-top: 3rem;
	gap: 1rem;
}

.article__content h2:not(:first-child) {
    margin-top: 3rem;
}
}
@media (max-width: 480px) {
	.article__nav{
		flex-direction: column;
	}

	.form-section:last-child{
	margin-bottom: -2.5rem;
}

	.article__nav-btn{
		width: 100%;
		text-align: center;
	}
}

/* ==================================== Contacts — methods (hero) */
.contacts__methods{
	display: flex;
	gap: 2rem;
}

.contacts__method{
	width: calc((100% - 4rem) / 3);
	padding: 3rem;
	background-color: var(--belyy);
}

.contacts__method-label{
	font-size: 1.5rem;
	margin-bottom: 1rem;
	letter-spacing: 0.225rem;
text-transform: uppercase;
}

a.contacts__method-value, .contacts__method-value{
	font-family: var(--third-family);
	font-size: 2rem;
	text-transform: uppercase;
	text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: auto;
text-decoration-thickness: 8%; 
text-underline-offset: 10%; 
text-underline-position: from-font;
text-transform: uppercase;
	transition: color 0.2s ease;
}

.contacts__method-links{
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
}

/* ==================================== Contacts — offices */
.contacts__row + .contacts__row{
	margin-top: 1.5rem;
}

.contacts__row-label{
	font-weight: 700;
	margin-bottom: 0.4rem;
}

.contacts__row a{
	transition: color 0.2s ease;
}

.thanks__max .button{
	font-size: 1.6rem;
	min-width: 0rem;
	min-height: 5rem;
}

@media (hover: hover) {
	.contacts__method-value:hover,
	.contacts__row a:hover{
		color: var(--akcent);
	}
}

@media (max-width: 768px) {
	.contacts__methods{
		flex-direction: column;
	}

	.contacts__method{
		width: 100%;
	}
}

@media (max-width: 480px) {
	.contacts__method{
		padding: 2rem;
	}

	.contacts__method-links{
		gap: 2rem;
	}
}

.thanks{
	text-align: center;
	padding: calc(var(--section-margin) + var(--section-margin)) 0rem;
}

.thanks__head{
	max-width: 88rem;
	margin: 0 auto;
}

.thanks__head .name-section{
	margin-bottom: 1.5rem;
}

.thanks__title{
	margin-bottom: 2rem;
}

.thanks__subtitle{
	font-size: 2rem;
	line-height: 1.5;
}

.thanks__card{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4rem;
	max-width: 96rem;
	margin: 5rem auto 0;
	padding: 4rem;
	background-color: var(--chernyy);
	color: var(--belyy);
	text-align: left;
}


.thanks__person{
	display: flex;
	align-items: center;
	gap: 2rem;
}

.thanks__avatar{
	width: 10rem;
	height: 10rem;
	flex-shrink: 0;
	overflow: hidden;
	background-color: var(--belyy);
}

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

.thanks__person-name{
	font-family: var(--third-family);
	text-transform: uppercase;
	line-height: 1.2;
	margin-bottom: 0.6rem;
}

.thanks__person-role{
	font-size: 1.4rem;
	color: rgba(255, 255, 255, 0.7);
}

.thanks__phone{
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-family: var(--third-family);
	font-size: 2.4rem;
	margin-bottom: 0.8rem;
	transition: color 0.2s ease;
}

.thanks__phone svg{
	color: var(--akcent);
	flex-shrink: 0;
}

.thanks__caption{
	font-size: 1.4rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.7);
}

.thanks__max{
	text-align: center;
	flex-shrink: 0;
}

.thanks__max .button{
	margin-bottom: 2rem;
}

.thanks__next{
	margin-top: 6rem;
}

.footer__col-bottom{
	margin-top: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
}

.footer__col-bottom span{
	margin-bottom: 0.5rem;
	opacity: 0.5;
	font-size: 1.8rem;
	color: #FFF;
}

.footer__col-bottom a{
	display: flex;
	gap: 0.8rem;
	transition: 0.3s ease 0s;
	align-items: center;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: auto;
	text-underline-offset: auto;
	text-underline-position: from-font;
}

.footer__col-bottom a svg{
	width: 2.2rem;
	height: 2.2rem;
}

.footer__col-bottom a:hover{
	color: var(--theme-color);
}
.footer__col-bottom a:nth-child(2):hover{
	color: #5437da;
}
.footer__col.col-mob{
	display: none;
}

@media (max-width: 1024px) {
	.thanks__card{
		gap: 3rem;
		padding: 3rem;
	}
}

@media (max-width: 768px) {
	.thanks__card{
		flex-direction: column;
		align-items: flex-start;
		gap: 3rem;
		padding: 3rem;
	}

	.footer__col.col-mob{
	display: flex;
}


	.footer__col--brand .footer__col-bottom{
		display: none;
	}

	.thanks__max{
		text-align: left;
	}

	.thanks__next{
		margin-top: 4rem;
	}
}

@media (max-width: 480px) {
	.thanks__card{
		padding: 2.5rem;
	}

	.thanks__avatar{
		width: 8rem;
		height: 8rem;
	}

	.thanks__max .button{
		width: 100%;
	}
}

/* ==================================== Thanks — text (subscription variant) */
.thanks__text{
	max-width: 80rem;
	margin: 4rem auto 0;
	text-align: left;
}

.thanks__text p{
	font-size: 2rem;
	line-height: 1.5;
}

.thanks__text p + p{
	margin-top: 2rem;
}

.thanks__text span{
	color: var(--akcent);
}

.thanks__text a{
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}
