/**
 * Страница «Партнёрская программа» (/dizajneram-i-arhitektoram/).
 *
 * Значения (ширины, паддинги, радиусы, кегли, цвета) сняты с десктопного
 * макета 1920px. Контейнер — 1328px, как в макете, и как .container-2025
 * на 1920px, поэтому блоки совпадают с остальными страницами сайта.
 *
 * Кнопки намеренно не описаны здесь: используется существующая система
 * .button из v2025.css (.xlarge/.large/.white/.arrow), чтобы страница
 * не заводила второй набор кнопок.
 */

html:has(.pp-page),
body:has(.pp-page),
body.page--white {
	background-color: #FFFFFF !important;
}

.pp-page {
	--pp-title: #343434;
	--pp-text: #464646;
	--pp-accent: #F25354;
	--pp-border: #E1E1E1;
	--pp-grey: #F0F3F4;
	--pp-white: #FFFFFF;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	padding: 24px 0 48px;
}

/* Блок «Остались вопросы?» переиспользуется из шаблона
   (.have-questions-section-2025, v2025.css). Шаблонный блок сам задаёт
   горизонтальные отступы страницы — здесь их задаёт .pp-page, поэтому
   гасим их и приравниваем блок к .pp-block по ширине и радиусу. */
.pp-page .have-questions-section-2025 {
	box-sizing: border-box;
	width: 1328px;
	max-width: calc(100% - 30px);
	padding: 0;
}

.pp-page .have-questions-section-2025 .container {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

/* Общая обёртка блока: 1328px, 48px паддинг, радиус 48px, рамка 1px. */
.pp-block {
	box-sizing: border-box;
	width: 1328px;
	max-width: calc(100% - 30px);
	padding: 48px;
	border-radius: 48px;
	border: 1px solid var(--pp-border);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 48px;
}

.pp-block--white {
	background: var(--pp-white);
}

.pp-block--grey {
	background: var(--pp-grey);
}

/* Два класса, чтобы правило не перебивалось .pp-block в медиазапросах. */
.pp-block.pp-block--tight {
	gap: 24px;
}

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

/* Общая типографика блоков. */
.pp-title {
	margin: 0;
	font-family: "Montserrat", "Roboto", "Arial", sans-serif;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.27px;
	color: var(--pp-title);
}

.pp-subtitle {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.27px;
	color: var(--pp-title);
}

.pp-text {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--pp-text);
}

.pp-lead {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--pp-text);
}

/* ============================ Хлебные крошки и hero ====================== */

.pp-hero {
	position: relative;
	overflow: hidden;
	padding-bottom: 48px;
}

/* Фотография интерьера из макета: 1328×428, лежит под содержимым карточки.
   Светлый градиент уже вшит в саму картинку, поэтому поверх ничего не кладём. */
.pp-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	border-radius: 48px;
	overflow: hidden;
	pointer-events: none;
}

.pp-hero__bg picture,
.pp-hero__bg img {
	display: block;
	width: 100%;
	height: 100%;
	opacity: 1 !important;
	object-fit: cover;
	object-position: center;
}

/* Крошки — отдельным блоком над карточкой, как в макете (frame-299 держит
   и крошки, и hero в колонке с отступом 24px). Классы сайтовые: custom.css
   по .breadcrumbs компенсирует фиксированную промо-полосу «Скидка 3%»
   (padding-top: 55px), иначе та перекрывает верх крошек. */
.pp-breadcrumbs {
	box-sizing: border-box;
	width: 1328px;
	max-width: calc(100% - 30px);
	margin: 24px 0 0;
	padding-bottom: 0;
}

@media (max-width: 755px) {
	.pp-breadcrumbs {
		margin-top: 12px;
	}
}

.pp-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.pp-hero__headings {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Заголовок макета — 800px в две строки. Кегль 68px умещается только при
   ширине ~1110px, поэтому контейнеру даём простор: перенос в макете задан
   тегом <br>, а не автопереносом. */
.pp-hero__title-br-mob {
	display: none;
}

.pp-hero__desc-br-desk {
	display: inline;
}

.pp-hero__title {
	margin: 0;
	max-width: 1120px;
	font-family: "Montserrat", "Roboto", "Arial", sans-serif;
	font-size: 68px;
	font-weight: 700;
	line-height: 1.1;
	color: #090E1C;
}

.pp-hero__slogan {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.27px;
	color: #090E1C;
}

.pp-hero__desc {
	margin: 0;
	max-width: 700px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--pp-text);
}

.pp-hero__buttons {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* Кнопки hero в макете — size Large: 48px высоты и отступы 24px по бокам
   (у .button.large сайтовые 14px/16px). */
.pp-hero__buttons .button.large,
.pp-hero__buttons .button.large.white {
	padding: 17px 24px;
}

/* ============================ «Гарантирует» ============================== */

.pp-guarantee {
	position: relative;
	overflow: hidden;
	background: var(--pp-grey);
}

/* Фотография из макета: 649×421 вплотную к правому верхнему углу блока.
   PNG с прозрачностью, поэтому кладём его поверх серого фона секции. */
.pp-guarantee__bg {
	position: absolute;
	top: 0;
	right: 0;
	width: 692px;
	height: 449px;
	max-height: 100%;
	pointer-events: none;
}

.pp-guarantee__bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right top;
}

.pp-guarantee__title {
	position: relative;
	margin: 0;
	font-family: "Montserrat", "Roboto", "Arial", sans-serif;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.27px;
	color: var(--pp-title);
}

.pp-guarantee__title span {
	color: var(--pp-accent);
}

.pp-guarantee__cards {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 12px;
}

.pp-guarantee__card {
	flex: 1 1 0;
	padding: 32px;
	background: rgba(255, 255, 255, 0.61);
	border-radius: 30px;
	outline: 1px solid rgba(255, 255, 255, 0.90);
	outline-offset: -1px;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Иконка карточки — 40×40, как в макете (там это отдельный контейнер
   между паддингом и текстовым блоком). */
.pp-guarantee__icon {
	flex: 0 0 auto;
	display: block;
	width: 40px;
	height: 40px;
}

/* Заголовок и список в макете — один блок с внутренним отступом 12px,
   а от иконки он отбит теми же 24px, что и gap карточки. */
.pp-guarantee__card-body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-self: stretch;
}

.pp-guarantee__card-title {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--pp-title);
}

.pp-guarantee__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* ============================ Галочка-пункт ============================== */

.pp-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--pp-text);
}

.pp-check::before {
	flex: 0 0 auto;
	content: "";
	width: 18px;
	height: 18px;
	margin-top: 1px;
	background: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.82 9.24L7.455 13.03L14.15 5.89' stroke='%231FA483' stroke-width='2.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
}

/* ============================ Проекты ==================================== */

/* ============================ Проекты ==================================== */

.pp-projects__head {
	align-self: stretch;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	width: 100%;
}

.pp-projects__head .pp-title {
	flex: 1 1 auto;
}

.pp-projects__btn-desktop {
	flex: 0 0 auto;
	height: 48px;
	padding: 14px 16px;
	background: #FFFFFF !important;
	border-radius: 12px;
	border: 1px solid #CFCFCF !important;
	color: #5B5B5B !important;
	font-family: "Montserrat", "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none !important;
	cursor: pointer;
	transition: all 0.2s ease;
}

.pp-projects__btn-desktop:hover {
	background: #F8F9FA !important;
	border-color: #BDBDBD !important;
	color: #343434 !important;
}

.pp-projects__btn-desktop:hover .pp-projects__arrow-icon path {
	stroke: #343434;
}

.pp-projects__arrow-icon {
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.pp-projects__btn-desktop:hover .pp-projects__arrow-icon {
	transform: translateX(3px);
}

.pp-projects__list {
	align-self: stretch;
	display: flex;
	align-items: stretch;
	gap: 16px;
	width: 100%;
}

.pp-project-card {
	flex: 1 1 0;
	padding: 24px;
	background: var(--pp-white);
	border-radius: 24px;
	border: 1px solid #E1E1E1 !important;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 24px;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.pp-project-card.is-featured,
.pp-project-card:hover {
	box-shadow: 0px 7px 15px rgba(0, 0, 0, 0.10);
	transform: translateY(-2px);
}

.pp-project-card__image-wrap {
	position: relative;
	width: 100%;
	border-radius: 16px;
	overflow: hidden;
}

.pp-project-card__image {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 352 / 213;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #F0F3F4;
	background: #F0F3F4;
	text-decoration: none !important;
	border-bottom: none !important;
}

.pp-project-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.pp-project-card:hover .pp-project-card__image img {
	transform: scale(1.04);
}

/* Индикатор-точки поверх фотографии: пилюля из фигмы */
.pp-project-card__dots {
	position: absolute;
	left: 50%;
	bottom: 12px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 8px;
	background: rgba(0, 0, 0, 0.31);
	border-radius: 15px;
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	z-index: 2;
	cursor: pointer;
}

.pp-project-card__dot {
	width: 6px;
	height: 6px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.80);
	transition: all 0.2s ease;
	display: inline-block;
}

.pp-project-card__dot.is-active,
.pp-project-card__dot:hover {
	width: 8px;
	height: 8px;
	background: #FFFFFF;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
}

/* Заглушка, пока у объекта нет фотографии. */
.pp-project-card__stub {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #E7ECEF 0%, #D7DEE3 100%);
}

.pp-project-card__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pp-project-card__date {
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 15.6px;
	color: #5B5B5B;
}

/* Название объекта из фигмы — без полосы под ссылкой */
.pp-project-card__name {
	display: block;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-family: "Montserrat", sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 19.8px;
	color: #343434 !important;
	text-decoration: none !important;
	border-bottom: none !important;
	transition: color 0.2s ease;
}

.pp-project-card__name:hover {
	color: var(--pp-accent, #F25354) !important;
	border-bottom: none !important;
}

.pp-project-card__actions {
	margin-top: auto;
	display: flex;
}

.pp-project-card__btn {
	height: 32px;
	padding: 0 12px;
	background: #FFFFFF !important;
	border-radius: 12px;
	border: 1px solid #CFCFCF !important;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 30px;
	color: #5B5B5B !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.2s ease;
}

.pp-project-card__btn:hover {
	background: #F8F9FA !important;
	border-color: #BDBDBD !important;
	color: #343434 !important;
}

.pp-projects__more-mobile {
	display: none;
	width: 100%;
}

.pp-projects__btn-mobile {
	width: 100%;
	height: 48px;
	padding: 14px 16px;
	background: #FFFFFF !important;
	border-radius: 12px;
	border: 1px solid #CFCFCF !important;
	color: #5B5B5B !important;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.pp-projects__btn-mobile:hover {
	background: #F8F9FA !important;
	border-color: #BDBDBD !important;
	color: #343434 !important;
}

/* ==================== Дизайнерам / Архитекторам ========================== */

.pp-audience {
	display: flex;
	align-items: stretch;
	gap: 24px;
	width: 1328px;
	max-width: calc(100% - 30px);
	padding: 0;
}

.pp-audience__col {
	flex: 1 1 0;
	position: relative;
	overflow: hidden;
	border-radius: 48px;
	outline: 1px solid var(--pp-border);
	outline-offset: -1px;
	background: #EEF2F4;
	display: flex;
	flex-direction: column;
	min-height: 441px;
}

.pp-audience__cover {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
}

.pp-audience__cover picture,
.pp-audience__pic {
	display: block;
	width: 100%;
	height: 100%;
	opacity: 1 !important;
}

.pp-audience__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.pp-audience__body {
	position: relative;
	z-index: 2;
	padding: 48px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	height: 100%;
	box-sizing: border-box;
}

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

.pp-audience .pp-title {
	font-size: 46px;
	font-weight: 700;
	line-height: 55.2px;
	letter-spacing: 0.27px;
	color: #343434;
}

.pp-audience .pp-subtitle {
	font-size: 24px;
	font-weight: 700;
	line-height: 26.4px;
	letter-spacing: 0.27px;
	color: #343434;
}

.pp-audience .pp-lead {
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
	color: #464646;
}

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

.pp-audience .pp-check {
	font-size: 18px;
	font-weight: 400;
	line-height: 21.6px;
	color: #464646;
}

.pp-audience .pp-check::before {
	margin-top: 2px;
}

.pp-audience__actions {
	margin-top: auto;
	display: flex;
}

/* ===================== «Что вы теряете» / таблица ======================== */

.pp-losses__head {
	align-self: stretch;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 48px;
}

.pp-losses__title-accent {
	color: var(--pp-accent);
}

.pp-losses__note {
	max-width: 360px;
	padding: 24px;
	background: rgba(242, 83, 84, 0.05);
	border-radius: 24px;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	box-sizing: border-box;
}

.pp-losses__note-icon {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pp-losses__note-icon svg {
	width: 32px;
	height: 32px;
	display: block;
}

.pp-losses__note-text {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
	color: #5B5B5B;
}

.pp-losses__note-text strong {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--pp-accent);
	margin-top: 2px;
}

.pp-losses__table {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pp-losses__row {
	display: grid;
	grid-template-columns: 1fr 70px 1fr 70px 1fr;
	align-items: stretch;
	gap: 0;
}

.pp-losses__row--head {
	min-height: 32px;
}

.pp-losses__head-cell {
	display: flex;
	align-items: center;
	padding: 0 24px;
	font-size: 18px;
	font-weight: 400;
	color: #5B5B5B;
	line-height: 1.2;
}

.pp-losses__cell {
	display: flex;
	align-items: center;
	padding: 8px 24px;
	min-height: 70px;
	border-radius: 24px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	color: #343434;
	box-sizing: border-box;
	word-wrap: break-word;
}

/* Колонка 1: Этап */
.pp-losses__cell--step {
	background: #FFFFFF;
	outline: 1px solid #E1E1E1;
	outline-offset: -1px;
}

/* Колонка 2: Риск */
.pp-losses__cell--risk {
	background: rgba(242, 83, 84, 0.05);
	outline: 1px solid rgba(242, 83, 84, 0.10);
	outline-offset: -1px;
}

/* Колонка 3: Потери */
.pp-losses__cell--loss {
	background: rgba(242, 83, 84, 0.10);
	outline: 1px solid rgba(242, 83, 84, 0.20);
	outline-offset: -1px;
	font-weight: 700;
	color: var(--pp-accent);
}

.pp-losses__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 100%;
}

.pp-losses__arrow svg {
	width: 100%;
	max-width: 70px;
	height: 12px;
	display: block;
}

.pp-losses__arrow-placeholder {
	width: 70px;
}

.pp-losses__actions {
	width: 100%;
	display: flex;
	justify-content: center;
}

.pp-losses__slider {
	display: none;
}

.pp-losses__title-br-mob,
.pp-losses__note-br-mob {
	display: none;
}

/* ===================== «Мы понимаем ваши задачи» ========================= */

.pp-tasks {
	background: var(--pp-grey);
}

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

.pp-tasks__list {
	align-self: stretch;
	display: flex;
	align-items: stretch;
	gap: 12px;
}

.pp-task {
	flex: 1 1 0;
	padding: 32px;
	background: rgba(255, 255, 255, 0.61);
	border-radius: 30px;
	outline: 1px solid rgba(255, 255, 255, 0.90);
	outline-offset: -1px;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

.pp-task__icon {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	background: center no-repeat;
	background-size: contain;
}

.pp-task__icon--ideas {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23F25354'%3E%3Cpath d='M176,232a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h80A8,8,0,0,1,176,232Zm40-128a87.55,87.55,0,0,1-33.64,69.21A16.24,16.24,0,0,0,176,186v6a16,16,0,0,1-16,16H96a16,16,0,0,1-16-16v-6a16,16,0,0,0-6.23-12.66A87.59,87.59,0,0,1,40,104.5C39.74,56.83,78.26,17.15,125.88,16A88,88,0,0,1,216,104Zm-16,0a72,72,0,0,0-73.74-72c-39,.92-70.47,33.39-70.26,72.39a71.64,71.64,0,0,0,27.64,56.3h0A32,32,0,0,1,96,186v6h24V147.31L90.34,117.66a8,8,0,0,1,11.32-11.32L128,132.69l26.34-26.35a8,8,0,0,1,11.32,11.32L136,147.31V192h24v-6a32.12,32.12,0,0,1,12.47-25.35A71.65,71.65,0,0,0,200,104Z'/%3E%3C/svg%3E");
}

.pp-task__icon--precise {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23F25354'%3E%3Cpath d='M235.32,73.37,182.63,20.69a16,16,0,0,0-22.63,0L20.68,160a16,16,0,0,0,0,22.63l52.69,52.68a16,16,0,0,0,22.63,0L235.32,96A16,16,0,0,0,235.32,73.37ZM84.68,224,32,171.31l32-32,26.34,26.35a8,8,0,0,0,11.32-11.32L75.31,128,96,107.31l26.34,26.35a8,8,0,0,0,11.32-11.32L107.31,96,128,75.31l26.34,26.35a8,8,0,0,0,11.32-11.32L139.31,64l32-32L224,84.69Z'/%3E%3C/svg%3E");
}

.pp-task__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pp-task__title {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--pp-title);
}

/* ============================ Как мы работаем ============================ */

.pp-how {
	gap: 24px;
}

.pp-how .pp-title span {
	color: var(--pp-accent);
}

.pp-steps {
	align-self: stretch;
	padding-top: 16px;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.pp-step {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 24px;
	background: #FFFFFF;
}

.pp-step__head {
	align-self: stretch;
	display: flex;
	align-items: center;
	gap: 16px;
}

.pp-step__num {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 32px;
	outline: 2px solid var(--pp-accent);
	outline-offset: -2px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Montserrat", "Roboto", "Arial", sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 26.4px;
	color: var(--pp-title);
}

.pp-step__line {
	flex: 1 1 0;
	height: 2px;
	border-radius: 2px;
	background: var(--pp-grey);
}

/* У последнего шага линии нет — она ведёт «в никуда». */
.pp-step:last-child .pp-step__line {
	display: none;
}

.pp-step__body {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 8px;
}

.pp-step__title {
	align-self: stretch;
	margin: 0;
	font-family: "Montserrat", "Roboto", "Arial", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 18px;
	color: var(--pp-title);
}

.pp-step__list {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 4px;
}

.pp-step__item {
	align-self: stretch;
	display: flex;
	align-items: flex-start;
	gap: 6px;
	padding: 4px 0;
	font-family: "Gotham Pro", "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 15.6px;
	color: var(--pp-title);
}

.pp-step__icon {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pp-step__icon img {
	width: 16px;
	height: 16px;
	display: block;
	object-fit: contain;
}

.pp-step__text {
	flex: 1 1 0;
	min-width: 0;
	word-wrap: break-word;
}

/* ==================== Технологии и экспертиза ============================ */

.pp-tech {
	position: relative;
	overflow: hidden;
	background: var(--pp-grey);
}

.pp-tech__bg {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 405px;
	height: 492px;
	max-height: 100%;
	pointer-events: none;
	z-index: 1;
}

.pp-tech__bg img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: right bottom;
	display: block;
}

.pp-tech__title {
	position: relative;
	z-index: 2;
}

.pp-tech__list {
	position: relative;
	z-index: 2;
	width: 1000px;
	max-width: 100%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 12px;
}

.pp-tech__card {
	flex: 1 1 0;
	min-width: 0;
	padding: 32px;
	background: rgba(255, 255, 255, 0.61);
	border-radius: 30px;
	outline: 1px solid rgba(255, 255, 255, 0.90);
	outline-offset: -1px;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 24px;
}

.pp-tech__icon {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	display: block;
	object-fit: contain;
}

.pp-tech__body {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 12px;
}

.pp-tech__name {
	align-self: stretch;
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	line-height: 19.8px;
	color: #343434;
	word-wrap: break-word;
}

.pp-tech .pp-text {
	align-self: stretch;
	margin: 0;
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
	color: #464646;
	word-wrap: break-word;
}

/* ============================ Форма ====================================== */

.pp-contact {
	position: relative;
	overflow: hidden;
	/* CTA-кнопки из других блоков скроллят сюда: .header__top липкая и
	   высотой 81px, без отступа блок оказывается у неё под низом. */
	scroll-margin-top: 100px;
}

.pp-contact__bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 1172px;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
}

.pp-contact__bg picture,
.pp-contact__pic {
	display: block;
	width: 100%;
	height: 100%;
}

.pp-contact__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
	display: block;
}

.pp-contact__bg::after {
	display: none;
}

.pp-contact__head {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

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

.pp-contact__intro .pp-lead {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
	color: #343434;
}

.pp-contact__tabs {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: wrap;
}

.pp-contact__tab {
	padding: 16px;
	background: #FFFFFF;
	border: 1px solid #BDBDBD;
	border-radius: 500px;
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.1;
	color: #5B5B5B;
	cursor: pointer;
	transition: border-color 0.25s ease, color 0.25s ease;
}

.pp-contact__tab:hover {
	border-color: #F22D2E;
	color: #343434;
}

.pp-contact__tab.is-active {
	border-color: #F22D2E;
	color: #343434;
}

.pp-contact__panels {
	position: relative;
	width: 800px;
	max-width: 100%;
}

.pp-contact__panel {
	display: none;
}

.pp-contact__panel.is-active {
	display: block;
}

.pp-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.pp-form__row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.pp-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	position: relative;
}

.pp-form__label {
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
	color: #343434;
}

.pp-form__req {
	color: #F8285A;
}

.pp-form__input {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	background: #FFFFFF;
	border: 1px solid #BFCBCF;
	border-radius: 12px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: 48px;
	color: #343434;
	transition: border-color 0.25s ease;
}

.pp-form__input::placeholder {
	color: #676767;
}

.pp-form__input:focus {
	outline: none;
	border-color: #F25354;
}

.pp-form__textarea {
	height: 100px;
	padding: 14px;
	line-height: 1.3;
	resize: vertical;
}

.pp-form__field.has-error .pp-form__input {
	border-color: #F25354;
}

.pp-form__field .err-msg {
	display: none;
	position: static;
	font-size: 11px;
	line-height: 1.1;
	color: #E5294A;
	margin-top: 4px;
}

.pp-form__field.has-error .err-msg {
	display: block;
}

.pp-form__file {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Строка выбранного файла: имя и «удалить», как в макете у поля «Прикрепить файл». */
.pp-form__file-value {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 500;
	line-height: 18px;
	color: #343434;
}

.pp-form__file-value span {
	max-width: 320px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pp-form__file-delete {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06px;
	color: #F25354;
	border-bottom: 1px dotted #F25354;
	cursor: pointer;
}

.pp-form__file-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

.pp-form__file-label::before {
	content: "";
	width: 20px;
	height: 20px;
	background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.5 6.5l-5.3 5.3a2.1 2.1 0 0 0 3 3l5.3-5.3a3.5 3.5 0 0 0-5-5l-5.3 5.3a5 5 0 0 0 7 7' stroke='%23F25354' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat;
}

.pp-form__file-input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.pp-form__file-label span {
	font-size: 15px;
	font-weight: 500;
	line-height: 18px;
	color: #F25354;
	border-bottom: none;
}

.pp-form__file small {
	display: none;
}

.pp-form__file.is-file-added .pp-form__file-label span {
	color: #343434;
}

/* Класс `f-eula` нужен js/form-validation.js — по нему он ищет
   .checkbox-err-msg. Но в бандле шаблона у него фиксированная ширина
   230px под старую форму, из-за которой текст согласия переносился.
   Селектор из двух классов перебивает `.f-eula` из бандла. */
.pp-form .pp-form__eula {
	width: auto;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.pp-form__checkbox {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
	color: #464646;
}

.pp-form__checkbox input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.pp-form__checkbox-box {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border: 1px solid #BFCBCF;
	border-radius: 6px;
	background: #FFFFFF;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.pp-form__checkbox input:checked + .pp-form__checkbox-box {
	background: #F25354 url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.03 12.49L11.6 16.85L18.84 9.7' stroke='white' stroke-width='2.08' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
	border-color: #F25354;
}

.pp-form__checkbox-text {
	color: #464646;
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
}

.pp-form__checkbox a,
.pp-form__checkbox-text a {
	color: #F25354 !important;
	text-decoration: none !important;
	border-bottom: none !important;
}

.pp-form__checkbox a:hover,
.pp-form__checkbox-text a:hover {
	color: #d93c3d !important;
	text-decoration: none !important;
	border-bottom: none !important;
}

.pp-form__submit {
	display: flex;
}

.pp-form__submit .button {
	height: 48px;
	padding: 0 24px;
	background: #F25354;
	border-radius: 12px;
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	line-height: 48px;
	color: #FFFFFF;
	cursor: pointer;
	border: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	transition: background-color 0.2s ease;
}

.pp-form__submit .button:hover {
	background: #d93c3d;
}

.pp-form__submit .button.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.pp-form .checkbox-err-msg {
	display: none;
	position: static !important;
	inset: auto !important;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.2;
	color: #E5294A;
	margin: 8px 0 0 0;
	padding: 0;
}

.pp-form .checkbox-err-msg.checkbox-error {
	display: block !important;
}

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

.pp-faq {
	background: var(--pp-grey);
	gap: 24px;
}

.pp-faq__tabs {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: wrap;
}

.pp-faq__tab {
	padding: 16px;
	background: var(--pp-white);
	border: 1px solid #BDBDBD;
	border-radius: 500px;
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.1;
	color: #5B5B5B;
	cursor: pointer;
	transition: border-color 0.25s ease, color 0.25s ease;
}

.pp-faq__tab:hover {
	border-color: #F22D2E;
	color: #343434;
}

.pp-faq__tab.is-active {
	border-color: #F22D2E;
	color: #343434;
}

.pp-faq__panel {
	align-self: stretch;
	display: none;
}

.pp-faq__panel.is-active {
	display: block;
}

/* ============================ Отзывы ===================================== */

.pp-reviews {
	gap: 24px;
}

.pp-reviews__head {
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.pp-reviews__head .pp-title {
	flex: 1 1 auto;
}

.pp-reviews__head .pp-title-br-mobile {
	display: none;
}

.pp-reviews__nav {
	display: flex;
	align-items: center;
	gap: 24px;
}

.pp-reviews__arrow {
	flex: 0 0 auto;
	width: 60px;
	height: 60px;
	padding: 0;
	background: var(--pp-white);
	border: 1px solid #BDBDBD;
	border-radius: 60px;
	box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.03);
	cursor: pointer;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pp-reviews__arrow::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' stroke='%23343434' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
}

.pp-reviews__arrow--prev::before {
	transform: rotate(180deg);
}

.pp-reviews__arrow:hover {
	border-color: var(--pp-accent);
	box-shadow: 0px 7px 15px rgba(0, 0, 0, 0.10);
}

.pp-reviews__arrow.swiper-button-disabled {
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}

.pp-reviews__arrow.swiper-button-lock {
	display: flex !important;
}

/* Ядро Swiper задаёт .swiper отступы auto по бокам, а auto-отступы во flex
   отменяют растягивание по поперечной оси: в колоночном .pp-block контейнер
   схлопывался до ширины содержимого, и слайды считались от 27px. Гасим
   auto-отступы и растягиваем слайдер явно. */
.pp-reviews__slider {
	align-self: stretch;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	overflow: hidden;
}

.pp-reviews__slider .swiper-slide {
	height: auto;
}

.pp-review {
	box-sizing: border-box;
	height: 100%;
	padding: 32px;
	background: #F8F9FA;
	border-radius: 32px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.pp-review__author {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.pp-review__avatar {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 500px;
	border: 1px solid #BDBDBD;
	background: var(--pp-white);
	object-fit: cover;
}

.pp-review__avatar--stub {
	display: block;
	background: linear-gradient(135deg, #E7ECEF 0%, #CFD8DE 100%);
}

.pp-review__who {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pp-review__name {
	font-size: 18px;
	font-weight: 700;
	line-height: 19.8px;
	color: #343434;
}

.pp-review__role {
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
	color: #464646;
}

.pp-review__text {
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
	color: #464646;
}

.pp-review__text-short {
	display: none;
}

.pp-review__text-full {
	display: inline;
}

.pp-review__toggle {
	display: none;
}

/* ============================ Адаптив ==================================== */

/* Планшет: блоки и составные части складываются в колонку.
   Интервал десктопа — от 1280px до 1919px и выше. */
@media (max-width: 1279px) {
	.pp-block {
		padding: 32px;
		border-radius: 32px;
		gap: 32px;
	}

	.pp-title,
	.pp-guarantee__title {
		font-size: 32px;
	}

	.pp-hero__title {
		font-size: 44px;
	}

	.pp-guarantee__cards {
		flex-wrap: wrap;
	}

	/* На планшетах (< 1280px) фотография занимает высоту блока и обрезана
	   по ширине (видна только правая часть — шторы, ваза, книга), поэтому
	   тянем её на высоту блока с обрезкой слева. */
	.pp-guarantee__bg {
		width: 30%;
		height: 100%;
	}

	.pp-guarantee__bg img {
		object-position: right center;
	}

	.pp-guarantee__card {
		flex: 1 1 calc(50% - 6px);
	}

	.pp-task {
		flex: 1 1 100%;
	}

	.pp-audience {
		flex-direction: column;
	}

	/* «Что вы теряете» на экранах 1024-1279px:
	   сохраняем полноценную 3-колоночную таблицу со стрелками, заголовками и плашкой. */
	.pp-losses__head {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		gap: 24px;
	}

	.pp-losses__note {
		flex: 0 0 340px;
		max-width: 340px;
		padding: 20px;
	}

	.pp-losses__row {
		display: grid;
		grid-template-columns: 1fr 40px 1fr 40px 1fr;
		align-items: stretch;
		gap: 0;
	}

	.pp-losses__row--head {
		display: grid;
		min-height: 28px;
	}

	.pp-losses__head-cell {
		padding: 0 16px;
		font-size: 16px;
	}

	.pp-losses__cell {
		padding: 8px 16px;
		min-height: 64px;
		border-radius: 20px;
		font-size: 16px;
		line-height: 1.25;
	}

	.pp-losses__arrow,
	.pp-losses__arrow-placeholder {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
	}

	.pp-losses__arrow svg {
		width: 100%;
		max-width: 40px;
		height: 12px;
	}

	.pp-tasks__list {
		flex-wrap: wrap;
	}

	/* На экранах 1024-1279px все 5 шагов сохраняют горизонтальную цепочку в 1 ряд */
	.pp-steps {
		flex-wrap: nowrap;
		gap: 12px;
	}

	.pp-step {
		flex: 1 1 0;
		min-width: 0;
		gap: 16px;
	}

	.pp-step__head {
		gap: 10px;
	}

	.pp-step__num {
		flex: 0 0 42px;
		width: 42px;
		height: 42px;
		font-size: 20px;
		line-height: 22px;
	}

	.pp-step__title {
		font-size: 14px;
		line-height: 1.25;
	}

	.pp-step__list {
		gap: 3px;
	}

	.pp-step__item {
		font-size: 12px;
		line-height: 15px;
		padding: 2px 0;
		gap: 6px;
	}

	.pp-tech__bg {
		display: none;
	}

	/* Форма на экранах 1024-1279px: компактная ширина слева,
	   3 поля в одну строку по макету, фотография справа полностью видна. */
	.pp-contact__panels {
		width: 640px;
		max-width: 68%;
	}

	.pp-form__row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}
}

@media (max-width: 1023px) {
	.pp-contact__panels {
		width: 580px;
		max-width: 65%;
	}

	.pp-form__row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
	}
	/* На планшетах 768-1023px все 5 шагов остаются в 1 горизонтальную цепочку */
	.pp-steps {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.pp-step {
		flex: 1 1 0;
		min-width: 120px;
		gap: 14px;
	}

	.pp-step__head {
		gap: 6px;
	}

	.pp-step__num {
		flex: 0 0 36px;
		width: 36px;
		height: 36px;
		font-size: 18px;
		line-height: 20px;
	}

	.pp-step__line {
		display: block;
	}

	.pp-step:last-child .pp-step__line {
		display: none;
	}

	.pp-step__title {
		font-size: 13px;
		line-height: 1.2;
	}

	.pp-step__list {
		gap: 2px;
	}

	.pp-step__item {
		font-size: 11.5px;
		line-height: 14px;
		padding: 1px 0;
		gap: 4px;
	}

	.pp-step__icon {
		flex: 0 0 14px;
		width: 14px;
		height: 14px;
	}

	.pp-step__icon img {
		width: 14px;
		height: 14px;
	}

	.pp-losses__head {
		flex-direction: column;
		gap: 20px;
	}

	.pp-losses__note {
		flex: none;
		max-width: 100%;
		width: 100%;
	}

	.pp-losses__row {
		grid-template-columns: 1fr 24px 1fr 24px 1fr;
	}

	.pp-losses__head-cell {
		padding: 0 10px;
		font-size: 14px;
	}

	.pp-losses__cell {
		padding: 8px 12px;
		min-height: 58px;
		border-radius: 16px;
		font-size: 14px;
	}

	.pp-losses__arrow,
	.pp-losses__arrow-placeholder {
		width: 24px;
	}

	.pp-losses__arrow svg {
		max-width: 24px;
		height: 10px;
	}
}

@media (max-width: 767px) {
	.pp-losses__table {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 8px;
	}

	.pp-losses__row {
		min-width: 580px;
		grid-template-columns: 1fr 28px 1.1fr 28px 1fr;
	}

	.pp-losses__arrow,
	.pp-losses__arrow-placeholder {
		width: 28px;
	}

	.pp-losses__arrow svg {
		max-width: 28px;
	}

	/* На мобильных (360-767px) шаги скроллятся горизонтально по макету */
	.pp-steps {
		gap: 16px;
		padding-bottom: 12px;
	}

	.pp-step {
		flex: 0 0 200px;
		min-width: 200px;
	}

	.pp-step__num {
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
		font-size: 20px;
	}

	.pp-step__title {
		font-size: 14px;
	}

	.pp-step__item {
		font-size: 12px;
	}
}

@media (max-width: 800px) {
	.pp-block {
		padding: 24px;
		border-radius: 24px;
	}

	.pp-title,
	.pp-guarantee__title {
		font-size: 24px;
	}

	.pp-hero__title {
		font-size: 28px;
	}

	.pp-hero__slogan {
		font-size: 18px;
	}

	.pp-hero__background {
		border-radius: 24px;
	}

	.pp-hero__bg {
		border-radius: 24px;
	}

	.pp-subtitle {
		font-size: 18px;
	}

	/* В мобильном макете 360 фотографии в блоке нет — только серый фон. */
	.pp-guarantee__bg,
	.pp-contact__bg {
		display: none;
	}

	.pp-tech__list {
		width: 100%;
		flex-direction: column;
	}

	.pp-guarantee__card,
	.pp-project-card,
	.pp-tech__card {
		flex: 1 1 100%;
		padding: 24px;
	}

	.pp-task {
		flex: 1 1 100%;
		padding: 24px;
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.pp-audience__body {
		padding: 24px;
	}

	.pp-losses__cell {
		padding: 12px 16px;
		font-size: 15px;
	}

	.pp-losses__note {
		padding: 16px;
	}

	.pp-contact__panels {
		width: 100%;
		max-width: 100%;
	}

	.pp-form__row {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.pp-contact__tab,
	.pp-faq__tab {
		padding: 12px;
		font-size: 15px;
	}

	.pp-reviews__arrow {
		width: 44px;
		height: 44px;
	}

	.pp-review {
		padding: 24px;
		gap: 24px;
	}

	/* На узких экранах кнопка «Показать все» переносится под карточки */
	.pp-projects__btn-desktop {
		display: none !important;
	}

	.pp-projects__more-mobile {
		display: flex !important;
		width: 100%;
	}

	.pp-projects__list {
		flex-direction: column !important;
		gap: 16px !important;
	}

	.pp-project-card {
		flex: 1 1 100% !important;
		width: 100% !important;
		padding: 16px !important;
		border-radius: 20px !important;
		gap: 16px !important;
	}
}

/* ==========================================================================
   Мобильная адаптация (320px - 550px): карточка Hero по макету Figma
   ========================================================================== */
@media (max-width: 550px) {
	.pp-block,
	.pp-breadcrumbs,
	.pp-page .have-questions-section-2025 {
		max-width: calc(100% - 24px);
		width: calc(100% - 24px);
	}

	.pp-hero {
		padding: 24px !important;
		border-radius: 24px;
	}

	.pp-hero__bg {
		border-radius: 24px;
	}

	.pp-hero__bg img {
		object-position: center;
	}

	.pp-hero__bg::after {
		display: none;
	}

	.pp-hero__content {
		gap: 32px;
		width: 100%;
	}

	.pp-hero__headings {
		gap: 16px;
		width: 100%;
	}

	.pp-hero__title-br-mob {
		display: inline;
	}

	.pp-hero__desc-br-desk {
		display: none;
	}

	.pp-hero__title {
		font-family: "Montserrat", sans-serif;
		font-size: clamp(26px, 8.3vw, 32px);
		font-weight: 700;
		line-height: 1.1;
		color: #090E1C;
		word-break: normal;
		margin: 0;
	}

	.pp-hero__slogan {
		font-family: "Montserrat", sans-serif;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.1;
		color: #090E1C;
		letter-spacing: normal;
		margin: 0;
	}

	.pp-hero__desc {
		font-family: "Montserrat", sans-serif;
		font-size: 15px;
		font-weight: 400;
		line-height: 18px;
		color: #464646;
		margin: 0;
	}

	.pp-hero__buttons {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.pp-hero__buttons .button,
	.pp-hero__buttons .button.large,
	.pp-hero__buttons .button.large.white {
		width: 100%;
		height: 48px !important;
		min-height: 48px !important;
		max-height: 48px !important;
		padding: 0 24px !important;
		border-radius: 12px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		font-size: 15px !important;
		line-height: 18px !important;
		text-align: center;
		margin: 0;
	}

	.pp-hero__buttons .button:not(.white) {
		background: #F25354 !important;
		color: #FFFFFF !important;
		font-weight: 700 !important;
		font-family: "Gotham Pro", "Montserrat", sans-serif;
		border: none !important;
	}

	.pp-hero__buttons .button.white {
		background: #FFFFFF !important;
		color: #5B5B5B !important;
		font-weight: 500 !important;
		font-family: "Montserrat", sans-serif;
		border: 1px solid #CFCFCF !important;
		outline: none !important;
	}

	/* ==========================================================================
	   Блок «Вельвет-ПРО гарантирует» (горизонтальный скролл карточек)
	   ========================================================================== */
	.pp-guarantee {
		padding: 24px !important;
		gap: 24px !important;
		overflow: hidden !important;
	}

	.pp-guarantee__bg {
		display: none !important;
	}

	.pp-guarantee__title {
		font-size: 24px !important;
		font-weight: 700 !important;
		line-height: 26.4px !important;
		letter-spacing: 0.27px !important;
		color: #1B1B1B !important;
		margin: 0 !important;
	}

	.pp-guarantee__title span {
		color: #F25354 !important;
	}

	.pp-guarantee__cards {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 8px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 24px !important;
		scroll-padding-right: 24px !important;
		width: calc(100% + 48px) !important;
		margin-left: -24px !important;
		margin-right: -24px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
		padding-bottom: 4px;
		scrollbar-width: none;
	}

	.pp-guarantee__cards::-webkit-scrollbar {
		display: none;
	}

	.pp-guarantee__card {
		flex: 0 0 277px !important;
		width: 277px !important;
		min-width: 277px !important;
		max-width: 277px !important;
		padding: 32px !important;
		background: rgba(255, 255, 255, 0.61) !important;
		border-radius: 30px !important;
		outline: 1px solid rgba(255, 255, 255, 0.90) !important;
		outline-offset: -1px !important;
		border: none !important;
		backdrop-filter: blur(5px) !important;
		-webkit-backdrop-filter: blur(5px) !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
		gap: 24px !important;
		scroll-snap-align: start;
		box-sizing: border-box !important;
	}

	.pp-guarantee__icon {
		width: 40px !important;
		height: 40px !important;
		flex: 0 0 40px !important;
	}

	.pp-guarantee__card-body {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		align-self: stretch !important;
	}

	.pp-guarantee__card-title {
		margin: 0 !important;
		color: #343434 !important;
		font-size: 18px !important;
		font-weight: 500 !important;
		line-height: 19.8px !important;
	}

	.pp-guarantee__list {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
	}

	.pp-guarantee__list .pp-check {
		font-size: 15px !important;
		font-weight: 400 !important;
		line-height: 18px !important;
		color: #464646 !important;
	}

	/* ==========================================================================
	   Блок «Реализованные проекты» по макету Figma
	   ========================================================================== */
	.pp-projects {
		padding: 24px !important;
		gap: 16px !important;
		border-radius: 24px !important;
	}

	.pp-projects__head {
		margin: 0 !important;
	}

	.pp-projects__head .pp-title {
		font-size: 24px !important;
		font-weight: 700 !important;
		line-height: 26.4px !important;
		letter-spacing: 0.27px !important;
		color: #343434 !important;
	}

	.pp-projects__btn-desktop {
		display: none !important;
	}

	.pp-projects__list {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.pp-project-card {
		flex: 1 1 100% !important;
		width: 100% !important;
		padding: 16px !important;
		border-radius: 16px !important;
		outline: 1px #E1E1E1 solid !important;
		outline-offset: -1px !important;
		border: none !important;
		box-shadow: none !important;
		transform: none !important;
		gap: 16px !important;
		background: #FFFFFF !important;
		box-sizing: border-box !important;
	}

	.pp-project-card:hover,
	.pp-project-card.is-featured {
		box-shadow: none !important;
		transform: none !important;
	}

	.pp-project-card__image-wrap {
		width: 100% !important;
		border-radius: 16px !important;
		overflow: hidden !important;
	}

	.pp-project-card__image {
		width: 100% !important;
		aspect-ratio: 352 / 213 !important;
		border-radius: 16px !important;
		outline: 1px #F0F3F4 solid !important;
		outline-offset: -1px !important;
		border: none !important;
		overflow: hidden !important;
	}

	.pp-project-card__image img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		border-radius: 16px !important;
	}

	.pp-project-card__dots {
		bottom: 12px !important;
		padding: 4px 8px !important;
		gap: 6px !important;
		background: rgba(0, 0, 0, 0.31) !important;
		border-radius: 15px !important;
		backdrop-filter: blur(1px) !important;
		-webkit-backdrop-filter: blur(1px) !important;
	}

	.pp-project-card__dot {
		width: 6px !important;
		height: 6px !important;
		border-radius: 9999px !important;
		background: rgba(255, 255, 255, 0.80) !important;
	}

	.pp-project-card__dot.is-active {
		width: 8px !important;
		height: 8px !important;
		background: #FFFFFF !important;
		box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25) !important;
	}

	.pp-project-card__meta {
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
		width: 100% !important;
	}

	.pp-project-card__date {
		font-family: "Montserrat", sans-serif !important;
		font-size: 13px !important;
		font-weight: 400 !important;
		line-height: 15.6px !important;
		color: #5B5B5B !important;
	}

	.pp-project-card__name {
		font-family: "Montserrat", sans-serif !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 18px !important;
		color: #343434 !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}

	.pp-project-card__actions {
		width: 100% !important;
		margin-top: 0 !important;
	}

	.pp-project-card__btn {
		width: 100% !important;
		height: 32px !important;
		min-height: 32px !important;
		padding: 0 12px !important;
		background: #FFFFFF !important;
		border-radius: 12px !important;
		outline: 1px #CFCFCF solid !important;
		outline-offset: -1px !important;
		border: none !important;
		font-family: "Montserrat", sans-serif !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		line-height: 14.4px !important;
		color: #5B5B5B !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		text-decoration: none !important;
	}

	.pp-projects__more-mobile {
		display: flex !important;
		width: 100% !important;
	}

	.pp-projects__btn-mobile {
		width: 100% !important;
		height: 48px !important;
		min-height: 48px !important;
		padding: 14px 16px !important;
		background: #FFFFFF !important;
		border-radius: 12px !important;
		outline: 1px #CFCFCF solid !important;
		outline-offset: -1px !important;
		border: none !important;
		font-family: "Montserrat", sans-serif !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 18px !important;
		color: #5B5B5B !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		box-sizing: border-box !important;
		text-decoration: none !important;
	}

	/* ==========================================================================
	   Блок «Дизайнерам / Архитекторам» (.pp-audience) по макету Figma
	   ========================================================================== */
	.pp-audience {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		padding: 0 !important;
	}

	.pp-audience__col {
		flex: 1 1 auto !important;
		width: 100% !important;
		min-height: auto !important;
		height: auto !important;
		border-radius: 24px !important;
		outline: 1px #E1E1E1 solid !important;
		outline-offset: -1px !important;
		border: none !important;
		background: #EEF2F4 !important;
		overflow: hidden !important;
		position: relative !important;
	}

	.pp-audience__cover {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		z-index: 1 !important;
	}

	.pp-audience__cover picture,
	.pp-audience__pic {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		opacity: 1 !important;
	}

	.pp-audience__cover img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center bottom !important;
	}

	.pp-audience__body {
		position: relative !important;
		z-index: 2 !important;
		padding: 24px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
		height: auto !important;
		box-sizing: border-box !important;
	}

	.pp-audience__headings {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
	}

	.pp-audience .pp-title {
		font-family: "Montserrat", sans-serif !important;
		font-size: 24px !important;
		font-weight: 700 !important;
		line-height: 26.4px !important;
		letter-spacing: 0.27px !important;
		color: #343434 !important;
		margin: 0 !important;
	}

	.pp-audience .pp-subtitle {
		font-family: "Montserrat", sans-serif !important;
		font-size: 18px !important;
		font-weight: 700 !important;
		line-height: 19.8px !important;
		color: #343434 !important;
		margin: 0 !important;
	}

	.pp-audience .pp-lead {
		font-family: "Montserrat", sans-serif !important;
		font-size: 15px !important;
		font-weight: 400 !important;
		line-height: 18px !important;
		color: #464646 !important;
		margin: 0 !important;
	}

	.pp-audience__list {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
	}

	.pp-audience .pp-check {
		font-family: "Montserrat", sans-serif !important;
		font-size: 15px !important;
		font-weight: 400 !important;
		line-height: 18px !important;
		color: #464646 !important;
		display: flex !important;
		align-items: flex-start !important;
		gap: 10px !important;
	}

	.pp-audience__actions {
		width: 100% !important;
		margin-top: 0 !important;
	}

	.pp-audience__actions .button,
	.pp-audience__actions .button.large,
	.pp-audience__actions .button.large.arrow {
		width: 100% !important;
		height: 48px !important;
		min-height: 48px !important;
		max-height: 48px !important;
		padding: 14px 16px !important;
		background: #F25354 !important;
		border-radius: 12px !important;
		border: none !important;
		font-family: "Gotham Pro", "Montserrat", sans-serif !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 18px !important;
		color: #FFFFFF !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		box-sizing: border-box !important;
	}

	/* ==========================================================================
	   «Что вы теряете без проверки расчетов?» (320px - 550px)
	   ========================================================================== */
	.pp-losses {
		background: #F0F3F4 !important;
		outline: 1px #E1E1E1 solid !important;
		outline-offset: -1px !important;
		border: none !important;
		border-radius: 24px !important;
		padding: 24px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
		box-sizing: border-box !important;
	}

	.pp-losses__head {
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
		width: 100% !important;
		align-items: flex-start !important;
	}

	.pp-losses .pp-title {
		font-family: "Montserrat", sans-serif !important;
		font-size: 24px !important;
		font-weight: 700 !important;
		line-height: 28.8px !important;
		letter-spacing: normal !important;
		color: #343434 !important;
		margin: 0 !important;
	}

	.pp-losses__title-accent {
		color: #F25354 !important;
	}

	.pp-losses__title-br-mob {
		display: inline !important;
	}

	.pp-losses__note-br-mob {
		display: inline !important;
	}

	.pp-losses__note {
		display: flex !important;
		flex-direction: row !important;
		align-items: flex-start !important;
		gap: 16px !important;
		padding: 12px !important;
		background: rgba(242, 83, 84, 0.05) !important;
		border-radius: 12px !important;
		border: none !important;
		width: 100% !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
		flex: none !important;
	}

	.pp-losses__note-icon {
		flex: 0 0 32px !important;
		width: 32px !important;
		height: 32px !important;
	}

	.pp-losses__note-icon svg {
		display: block !important;
		width: 32px !important;
		height: 32px !important;
	}

	.pp-losses__note-text {
		flex: 1 1 auto !important;
		font-family: "Montserrat", sans-serif !important;
		font-size: 15px !important;
		line-height: 18px !important;
		color: #464646 !important;
		font-weight: 400 !important;
	}

	.pp-losses__note-text span {
		display: block !important;
		color: #464646 !important;
		font-size: 15px !important;
		line-height: 18px !important;
	}

	.pp-losses__note-text strong {
		display: block !important;
		color: #F25354 !important;
		font-size: 15px !important;
		font-weight: 400 !important;
		line-height: 18px !important;
		margin-top: 0 !important;
	}

	/* Таблица скрывается на мобильных */
	.pp-losses__table {
		display: none !important;
	}

	/* Горизонтальный слайдер карточек */
	.pp-losses__slider {
		display: flex !important;
		flex-direction: row !important;
		gap: 8px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		scroll-snap-type: x mandatory !important;
		scroll-padding: 0 24px !important;
		scroll-padding-left: 24px !important;
		scroll-padding-right: 24px !important;
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
		width: calc(100% + 48px) !important;
		margin: 0 -24px !important;
		padding: 0 24px 4px !important;
		box-sizing: border-box !important;
	}

	.pp-losses__slider::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}

	.pp-losses__slide {
		flex: 0 0 219px !important;
		width: 219px !important;
		min-width: 219px !important;
		max-width: 219px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
		scroll-snap-align: start !important;
		box-sizing: border-box !important;
	}

	.pp-losses__card {
		width: 100% !important;
		height: 78px !important;
		min-height: 78px !important;
		max-height: 78px !important;
		padding: 12px !important;
		border-radius: 12px !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
		gap: 4px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.pp-losses__card-label {
		font-family: "Montserrat", sans-serif !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		line-height: 14.4px !important;
		color: #5B5B5B !important;
	}

	.pp-losses__card-val {
		font-family: "Montserrat", sans-serif !important;
		font-size: 15px !important;
		line-height: 18px !important;
		word-wrap: break-word !important;
	}

	.pp-losses__card--step {
		background: #FFFFFF !important;
		outline: 1px #E1E1E1 solid !important;
		outline-offset: -1px !important;
		border: none !important;
	}

	.pp-losses__card--step .pp-losses__card-val {
		color: #343434 !important;
		font-weight: 500 !important;
	}

	.pp-losses__card--risk {
		background: rgba(242, 83, 84, 0.05) !important;
		outline: 1px rgba(242, 83, 84, 0.10) solid !important;
		outline-offset: -1px !important;
		border: none !important;
	}

	.pp-losses__card--risk .pp-losses__card-val {
		color: #343434 !important;
		font-weight: 500 !important;
	}

	.pp-losses__card--loss {
		background: rgba(242, 83, 84, 0.10) !important;
		outline: 1px rgba(242, 83, 84, 0.20) solid !important;
		outline-offset: -1px !important;
		border: none !important;
	}

	.pp-losses__card--loss .pp-losses__card-val {
		color: #F25354 !important;
		font-weight: 700 !important;
	}

	.pp-losses__actions {
		width: 100% !important;
		display: flex !important;
		margin-top: 0 !important;
	}

	.pp-losses__actions .button,
	.pp-losses__actions .button.large,
	.pp-losses__actions .button.large.arrow {
		width: 100% !important;
		height: 48px !important;
		min-height: 48px !important;
		max-height: 48px !important;
		padding: 14px 16px !important;
		background: #F25354 !important;
		border-radius: 12px !important;
		border: none !important;
		font-family: "Gotham Pro", "Montserrat", sans-serif !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 18px !important;
		color: #FFFFFF !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		box-sizing: border-box !important;
	}

	/* ==========================================================================
	   «Мы понимаем ваши задачи» (320px - 550px) по макету Figma
	   ========================================================================== */
	.pp-tasks {
		background: #F0F3F4 !important;
		outline: 1px #E1E1E1 solid !important;
		outline-offset: -1px !important;
		border: none !important;
		border-radius: 24px !important;
		padding: 24px !important;
		gap: 24px !important;
		box-sizing: border-box !important;
	}

	.pp-tasks__headings {
		gap: 12px !important;
	}

	.pp-tasks__list {
		flex-direction: column !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.pp-task {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 24px !important;
		padding: 24px !important;
		border-radius: 20px !important;
		box-sizing: border-box !important;
	}

	.pp-task__body {
		gap: 8px !important;
	}

	/* ==========================================================================
	   «Технологии и экспертиза» (320px - 550px) по макету Figma
	   ========================================================================== */
	.pp-tech {
		background: #F0F3F4 !important;
		outline: 1px #E1E1E1 solid !important;
		outline-offset: -1px !important;
		border: none !important;
		border-radius: 24px !important;
		padding: 24px !important;
		gap: 24px !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.pp-tech__bg {
		display: none !important;
	}

	.pp-tech__title {
		font-family: "Montserrat", sans-serif !important;
		font-size: 24px !important;
		font-weight: 700 !important;
		line-height: 26.4px !important;
		letter-spacing: 0.27px !important;
		color: #1B1B1B !important;
		margin: 0 !important;
	}

	.pp-tech__list {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 8px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		scroll-snap-type: x mandatory !important;
		scroll-padding-left: 24px !important;
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
		max-width: none !important;
		width: calc(100% + 48px) !important;
		margin-left: -24px !important;
		margin-right: -24px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
		padding-bottom: 4px !important;
		box-sizing: border-box !important;
	}

	.pp-tech__list::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}

	.pp-tech__card {
		flex: 0 0 277px !important;
		width: 277px !important;
		min-width: 277px !important;
		max-width: 277px !important;
		padding: 24px !important;
		background: rgba(255, 255, 255, 0.61) !important;
		border-radius: 24px !important;
		outline: 1px rgba(255, 255, 255, 0.90) solid !important;
		outline-offset: -1px !important;
		border: none !important;
		backdrop-filter: blur(5px) !important;
		-webkit-backdrop-filter: blur(5px) !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
		gap: 24px !important;
		scroll-snap-align: start !important;
		box-sizing: border-box !important;
	}

	.pp-tech__icon {
		width: 40px !important;
		height: 40px !important;
		flex: 0 0 40px !important;
	}

	.pp-tech__body {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		align-self: stretch !important;
	}

	.pp-tech__name {
		margin: 0 !important;
		color: #343434 !important;
		font-family: "Montserrat", sans-serif !important;
		font-size: 18px !important;
		font-weight: 500 !important;
		line-height: 19.8px !important;
		letter-spacing: normal !important;
	}

	.pp-tech .pp-text {
		margin: 0 !important;
		color: #464646 !important;
		font-family: "Montserrat", sans-serif !important;
		font-size: 15px !important;
		font-weight: 400 !important;
		line-height: 18px !important;
	}

	/* ==========================================================================
	   «Связаться с нами» (320px - 550px) по макету Figma
	   ========================================================================== */
	.pp-contact {
		background: #FFFFFF !important;
		border: 1px solid #E1E1E1 !important;
		outline: none !important;
		border-radius: 24px !important;
		padding: 24px !important;
		gap: 24px !important;
		overflow: hidden !important;
		position: relative !important;
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
	}

	.pp-contact__bg {
		display: block !important;
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		pointer-events: none !important;
		z-index: 1 !important;
		overflow: hidden !important;
		border-radius: 24px !important;
	}

	.pp-contact__bg picture,
	.pp-contact__pic {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
	}

	.pp-contact__bg img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: 85% center !important;
	}

	.pp-contact__bg::after {
		content: "" !important;
		display: block !important;
		position: absolute !important;
		inset: 0 !important;
		background: linear-gradient(270deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.65) 60%, #FFFFFF 100%) !important;
		pointer-events: none !important;
	}

	.pp-contact__head,
	.pp-contact__panels {
		position: relative !important;
		z-index: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.pp-contact__tabs {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
		gap: 4px !important;
		width: calc(100% + 48px) !important;
		margin-left: -24px !important;
		margin-right: -24px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
		padding-bottom: 2px !important;
		box-sizing: border-box !important;
	}

	.pp-contact__tabs::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}

	.pp-contact__tab {
		flex: 0 0 auto !important;
		white-space: nowrap !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		line-height: 15.6px !important;
		padding: 8px 12px !important;
		border-radius: 500px !important;
	}

	.pp-form__submit {
		width: 100% !important;
	}

	.pp-form__submit .button {
		width: 100% !important;
		height: 48px !important;
		font-size: 18px !important;
		font-weight: 500 !important;
		border-radius: 12px !important;
		background: #F25354 !important;
		color: #FFFFFF !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		box-sizing: border-box !important;
	}

	/* --------------------------------------------------------------------------
	   Блок «Отзывы от профессионалов» (.pp-reviews)
	   -------------------------------------------------------------------------- */
	.pp-reviews {
		background: #FFFFFF !important;
		outline: 1px #E1E1E1 solid !important;
		outline-offset: -1px !important;
		border: none !important;
		border-radius: 24px !important;
		padding: 24px !important;
		gap: 24px !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.pp-reviews__head {
		align-self: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 16px !important;
	}

	.pp-reviews__head .pp-title {
		font-family: Montserrat, sans-serif !important;
		font-size: 24px !important;
		font-weight: 700 !important;
		line-height: 26.4px !important;
		letter-spacing: 0.27px !important;
		color: #343434 !important;
	}

	.pp-reviews__head .pp-title-br-mobile {
		display: block !important;
	}

	.pp-reviews__nav {
		display: none !important;
	}

	.pp-reviews__slider {
		width: calc(100% + 48px) !important;
		margin-left: -24px !important;
		margin-right: -24px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.pp-reviews__slider .swiper-wrapper {
		box-sizing: border-box !important;
	}

	.pp-reviews__slider .swiper-slide {
		width: 250px !important;
		height: auto !important;
		flex: 0 0 250px !important;
	}

	.pp-review {
		box-sizing: border-box !important;
		width: 250px !important;
		height: 100% !important;
		padding: 16px !important;
		background: #F8F9FA !important;
		border-radius: 16px !important;
		overflow: hidden !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
		gap: 16px !important;
	}

	.pp-review__author {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.pp-review__avatar {
		width: 48px !important;
		height: 48px !important;
		border-radius: 500px !important;
		border: 1px #BDBDBD solid !important;
		background: #FFFFFF !important;
		object-fit: cover !important;
		flex-shrink: 0 !important;
	}

	.pp-review__who {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.pp-review__name {
		font-family: Montserrat, sans-serif !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 17.6px !important;
		color: #343434 !important;
	}

	.pp-review__role {
		font-family: Montserrat, sans-serif !important;
		font-size: 13px !important;
		font-weight: 400 !important;
		line-height: 15.6px !important;
		color: #464646 !important;
	}

	.pp-review__text {
		font-family: Montserrat, sans-serif !important;
		font-size: 15px !important;
		font-weight: 400 !important;
		line-height: 18px !important;
		color: #464646 !important;
		word-break: break-word !important;
	}

	.pp-review__text-short {
		display: inline !important;
	}

	.pp-review__text-full {
		display: none !important;
	}

	.pp-review__toggle {
		display: block !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		background: transparent !important;
		color: #F25354 !important;
		font-family: Montserrat, sans-serif !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 18px !important;
		cursor: pointer !important;
		text-decoration: none !important;
	}

	.pp-review.is-expanded .pp-review__text-short {
		display: none !important;
	}

	.pp-review.is-expanded .pp-review__text-full {
		display: inline !important;
	}

	/* --------------------------------------------------------------------------
	   Блок «Ответы на частые вопросы» (.pp-faq)
	   -------------------------------------------------------------------------- */
	.pp-faq__tabs {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 4px !important;
		width: 100% !important;
		overflow-x: auto !important;
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}

	.pp-faq__tabs::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}

	.pp-faq__tab {
		flex: 0 0 auto !important;
		white-space: nowrap !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		line-height: 15.6px !important;
		padding: 7px 9px !important;
		border-radius: 500px !important;
	}

	.pp-faq .section-faq-accordion-item-question {
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.1 !important;
	}
}

/* ==================== Модальное окно «Спасибо за заявку» ==================== */

.pp-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.pp-modal-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

body.pp-modal-lock {
	overflow: hidden !important;
}

.pp-modal-window.how-3 {
	width: 1328px;
	max-width: 100%;
	min-height: 560px;
	height: auto;
	max-height: 90vh;
	padding: 64px 48px;
	position: relative;
	background: #FFFFFF;
	overflow: hidden;
	border-radius: 48px;
	outline: 1px #E1E1E1 solid;
	outline-offset: -1px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	display: flex;
	box-sizing: border-box;
	transform: scale(0.94);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
}

.pp-modal-overlay.is-open .pp-modal-window.how-3 {
	transform: scale(1);
}

.pp-modal-close {
	position: absolute;
	top: 28px;
	right: 28px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	background: rgba(240, 243, 244, 0.85);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	transition: background 0.2s ease, transform 0.15s ease;
}

.pp-modal-close:hover {
	background: #E1E6E8;
	transform: scale(1.06);
}

.pp-modal-close:active {
	transform: scale(0.95);
}

.pp-modal-close svg {
	width: 20px;
	height: 20px;
	display: block;
}

.pp-modal-window .pp-modal-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 1172px;
	max-width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
}

.pp-modal-window .contact {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
	display: block;
}

.pp-modal-window .frame-277133422 {
	position: relative;
	z-index: 2;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pp-modal-window .frame-310 {
	width: 571px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 40px;
}

.pp-modal-window .frame-306 {
	width: 80px;
	height: 80px;
	background: rgba(31, 164, 131, 0.20);
	border-radius: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pp-modal-window .check {
	display: flex;
	align-items: center;
	justify-content: center;
}

.pp-modal-window .frame-310_01 {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 100%;
}

.pp-modal-window .text-- {
	width: 100%;
	text-align: center;
}

.pp-modal-window .fspan {
	color: #343434;
	font-size: 46px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	line-height: 55.20px;
	letter-spacing: 0.27px;
	word-wrap: break-word;
}

.pp-modal-window .frame-310_02 {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	width: 100%;
}

.pp-modal-window .text--_01 {
	width: 100%;
	text-align: center;
}

.pp-modal-window .fspan_01 {
	color: #343434;
	font-size: 15px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	line-height: 18px;
	word-wrap: break-word;
}

.pp-modal-window .frame-310_03 {
	padding: 8px 16px;
	background: #F0F3F4;
	border-radius: 16px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
}

.pp-modal-window .f0001800_span_01 {
	color: #5B5B5B;
	font-size: 13px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	line-height: 15.60px;
}

.pp-modal-window .f0001800_span_02 {
	color: #343434;
	font-size: 13px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	line-height: 15.60px;
}

.pp-modal-window .button.pp-modal-btn-ok {
	min-width: 160px;
	height: 48px;
	padding: 0 28px;
	background: #F25354;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	transition: background 0.2s ease, transform 0.15s ease;
	box-sizing: border-box;
}

.pp-modal-window .button.pp-modal-btn-ok:hover {
	background: #E03E3F;
	transform: translateY(-1px);
}

.pp-modal-window .button.pp-modal-btn-ok:active {
	transform: translateY(0);
}

.pp-modal-window .large_span {
	color: #FFFFFF;
	font-size: 18px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	line-height: 21.60px;
}

@media (max-width: 767px) {
	.pp-modal-overlay {
		padding: 16px;
	}

	.pp-modal-window.how-3 {
		padding: 48px 20px 36px;
		border-radius: 28px;
		min-height: auto;
	}

	.pp-modal-close {
		top: 14px;
		right: 14px;
		width: 36px;
		height: 36px;
	}

	.pp-modal-window .frame-306 {
		width: 60px;
		height: 60px;
		border-radius: 24px;
	}

	.pp-modal-window .check svg {
		width: 24px;
		height: 18px;
	}

	.pp-modal-window .frame-310 {
		gap: 24px;
	}

	.pp-modal-window .fspan {
		font-size: 24px;
		line-height: 30px;
	}

	.pp-modal-window .fspan_01 {
		font-size: 14px;
		line-height: 18px;
	}

	.pp-modal-window .frame-310_03 {
		padding: 6px 12px;
	}

	.pp-modal-window .f0001800_span_01,
	.pp-modal-window .f0001800_span_02 {
		font-size: 12px;
	}
}


