:root {
	--pe-ink: #2b2b2f;
	--pe-header-h: 76px;
	--pe-header-top: 0px;
	--pe-header-gutter: 40px;
	--pe-brand: #7e33ff;
	--pe-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

body.has-site-header {
	margin: 0;
	background: #fff;
	color: var(--pe-ink);
	font-family: Play, Arial, sans-serif;
}

body.admin-bar {
	--pe-header-top: 32px;
}

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

.site-main {
	padding: var(--pe-header-h) var(--pe-header-gutter) 48px;
	min-height: 70vh;
	background: #fff;
	color: var(--pe-ink);
}

body:has(.pe-header.is-overlay) .site-main {
	padding: 0 0 48px;
}

.pe-page {
	padding: 48px var(--pe-header-gutter);
}

.pe-skip {
	position: absolute;
	left: 16px;
	top: 8px;
	z-index: 80;
	transform: translateY(-140%);
	padding: 10px 14px;
	background: #fff;
	color: var(--pe-ink);
	font: 400 14px/1.3 Play, Arial, sans-serif;
	text-decoration: none;
}

.pe-skip:focus {
	transform: none;
}

.pe-header,
.pe-header *,
.pe-mobile,
.pe-mobile * {
	box-sizing: border-box;
}

.pe-header {
	position: fixed;
	top: var(--pe-header-top);
	left: 0;
	right: 0;
	z-index: 40;
	height: var(--pe-header-h);
	color: #fff;
	background: var(--pe-ink);
	border-bottom: 1px solid rgba(255, 255, 255, 0.125);
	box-shadow: 0 4px 18px rgba(21, 21, 25, 0.125);
	font-family: Play, Arial, sans-serif;
}

.pe-header.is-overlay:not(.is-stuck) {
	position: absolute;
	top: calc(40px + var(--pe-header-top));
	height: 54px;
	background: transparent;
	border-bottom: 0;
	box-shadow: none;
}

.pe-header__bar {
	display: flex;
	align-items: center;
	height: 100%;
	width: calc(100% - (var(--pe-header-gutter) * 2));
	margin-inline: auto;
}

.pe-header a,
.pe-mobile a {
	color: inherit;
	text-decoration: none;
}

.pe-header button,
.pe-mobile button {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.pe-header__logo {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	color: #fff;
}

.pe-header__logo svg {
	display: block;
	width: 190px;
	height: auto;
}

.pe-header__nav {
	display: none;
}

.pe-header__consult,
.pe-header__social,
.pe-header__contacts,
.pe-header__menu {
	display: none;
}

.pe-header__item {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.pe-header__trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 12px 0;
	color: inherit;
	font-family: Tektur, "Arial Narrow", sans-serif;
	font-weight: 500;
	font-size: clamp(14px, 1.04vw, 19px);
	letter-spacing: -0.5px;
	line-height: 1.3;
	white-space: nowrap;
}

.pe-header__trigger::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 5px;
	height: 1px;
	background: var(--pe-brand);
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 240ms var(--pe-ease), opacity 180ms ease;
}

.pe-header__trigger:is(:hover, [aria-expanded="true"])::after,
.pe-header__item:hover .pe-header__trigger::after {
	opacity: 0.75;
	transform: scaleX(1);
}

.pe-header__item.is-current .pe-header__trigger::after,
.pe-header__trigger[aria-current="page"]::after {
	height: 2px;
	opacity: 1;
	background: #cab6eb;
	transform: scaleX(1);
}

.pe-header__chevron {
	display: grid;
	place-items: center;
	flex: 0 0 22px;
	width: 22px;
	height: 44px;
}

.pe-header__chevron span {
	width: 6px;
	height: 6px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	opacity: 0.7;
	transition: transform 240ms var(--pe-ease);
}

.pe-header__chevron[aria-expanded="true"] span {
	transform: rotate(225deg) translate(-1px, -1px);
	opacity: 1;
}

a.pe-header__consult {
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex: 0 0 auto;
	min-height: 44px;
	margin-left: 12px;
	padding: 11px 14px;
	background: #fff;
	color: var(--pe-ink);
	font: 400 clamp(12px, 0.9vw, 16px) / 1.3 Play, Arial, sans-serif;
	white-space: nowrap;
}

a.pe-header__consult .pe-arrow {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

a.pe-header__consult:hover {
	background: #eae8ed;
	color: var(--pe-ink);
}

.pe-header__social {
	align-items: center;
	flex: 0 0 auto;
	gap: 0;
	margin-left: auto;
	margin-right: 24px;
}

.pe-header__social a,
.pe-mobile__social a {
	display: grid;
	place-items: center;
	color: inherit;
}

.pe-header__social a {
	width: 32px;
	height: 32px;
}

.pe-header__social svg {
	display: block;
	width: 21px;
	height: 21px;
}

.pe-header__social a:hover {
	background: rgba(154, 136, 175, 0.13);
	border-radius: 50%;
}

.pe-header__contacts {
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	flex: 0 0 auto;
	margin-right: 24px;
	font-family: Tektur, "Arial Narrow", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 21px;
}

.pe-header__contacts a {
	display: flex;
	align-items: center;
	gap: 12px;
	white-space: nowrap;
}

.pe-header__contacts a > svg {
	display: block;
	width: 21px;
	height: 21px;
	flex: 0 0 auto;
}

.pe-mail {
	position: relative;
	display: block;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
}

.pe-mail svg {
	position: absolute;
	left: 0;
	width: 22px;
}

.pe-mail svg:first-child {
	top: 3px;
	height: 9px;
}

.pe-mail svg:last-child {
	top: 4px;
	height: 15px;
}

.pe-header .pe-header__menu {
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 44px;
	padding: 11px 15px;
	border: 1px solid rgba(255, 255, 255, 0.44);
	background: transparent;
	font: 400 16px / 1.2 Play, Arial, sans-serif;
	white-space: nowrap;
}

.pe-header__menu:hover {
	background: rgba(255, 255, 255, 0.07);
}

.pe-arrow {
	display: block;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}

.pe-mega {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 31;
	max-height: calc(100dvh - 124px);
	overflow: auto;
	padding: 26px 0 28px;
	background: #fff;
	color: var(--pe-ink);
	border-top: 1px solid #d8d8db;
	box-shadow: 0 20px 32px rgba(17, 17, 24, 0.14);
}

.pe-mega[hidden],
.pe-mobile [hidden] {
	display: none !important;
}

.pe-mobile.is-open[hidden],
.pe-mobile.is-closing[hidden] {
	display: flex !important;
}

.pe-mega__inner {
	width: calc(100% - (var(--pe-header-gutter) * 2));
	margin-inline: auto;
}

.pe-mega__intro {
	padding: 0 0 22px;
	margin-bottom: 24px;
	border-bottom: 1px solid #dddde2;
}

.pe-mega__title {
	margin: 0;
	font-family: Tektur, "Arial Narrow", sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.4px;
}

.pe-mega__lead {
	margin: 8px 0 0;
	color: #727078;
	font: 400 14px / 1.5 Play, Arial, sans-serif;
}

.pe-mega__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 32px;
	row-gap: 8px;
}

.pe-mega__grid--flat {
	display: block;
}

.pe-mega__grid--flat .pe-mega__group {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 32px;
}

.pe-mega__group h3 {
	margin: 0 0 12px;
	color: #77717f;
	font: 500 13px / 1.4 Play, Arial, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pe-mega__group a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 46px;
	padding: 12px;
	border-bottom: 1px solid #e8e6eb;
	color: var(--pe-ink);
	font: 400 16px / 1.4 Play, Arial, sans-serif;
	transition: background-color 160ms ease, color 160ms ease;
}

.pe-mega__group a .pe-arrow {
	width: 12px;
	height: 9px;
	opacity: 0.55;
}

.pe-mega__group a:hover {
	background: #f6f1ff;
	color: var(--pe-brand);
}

.pe-mega__group a[aria-current="page"] {
	background: #f6f1ff;
	color: var(--pe-brand);
	font-weight: 700;
	box-shadow: inset 2px 0 var(--pe-brand);
}

.pe-header :is(a, button):focus-visible,
.pe-mobile :is(a, button):focus-visible {
	outline: 2px solid #d9c7f4;
	outline-offset: 3px;
}

.pe-mobile {
	position: fixed;
	inset: var(--pe-header-top) 0 0 0;
	z-index: 60;
	display: flex;
	flex-direction: column;
	height: calc(100dvh - var(--pe-header-top));
	overflow: hidden;
	background: #29292f;
	color: #fff;
	opacity: 0;
	transform: translateY(16px);
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 420ms var(--pe-ease),
		transform 520ms var(--pe-ease),
		visibility 0s linear 520ms;
}

.pe-mobile.is-open {
	opacity: 1;
	transform: none;
	visibility: visible;
	pointer-events: auto;
	transition:
		opacity 420ms var(--pe-ease),
		transform 520ms var(--pe-ease),
		visibility 0s;
}

.pe-mobile__top,
.pe-mobile__location,
.pe-mobile__nav,
.pe-mobile__footer {
	width: 100%;
	max-width: 760px;
	margin-inline: auto;
	box-sizing: border-box;
}

.pe-mobile__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex: 0 0 auto;
	min-height: 76px;
	padding: 16px 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.pe-mobile__top .pe-header__logo svg {
	width: 160px;
}

.pe-mobile__close {
	position: relative;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: 50%;
}

.pe-mobile__close span {
	position: absolute;
	inset: 0;
}

.pe-mobile__close span::before,
.pe-mobile__close span::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 16px;
	height: 1px;
	background: #fff;
}

.pe-mobile__close span::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.pe-mobile__close span::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.pe-mobile__location {
	flex: 0 0 auto;
	padding: 8px 20px 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.pe-mobile__back {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	color: #c7c3ce;
	font: 400 14px / 1.4 Play, Arial, sans-serif;
}

.pe-mobile__back .pe-arrow {
	transform: rotate(180deg);
	opacity: 0.7;
}

.pe-mobile__title {
	margin: 4px 0 0;
	color: #fff;
	font: 500 23px / 1.2 Tektur, "Arial Narrow", sans-serif;
	letter-spacing: -0.5px;
}

.pe-mobile__nav {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 0 20px 20px;
	scrollbar-width: thin;
	scrollbar-color: #99919f #29292f;
}

.pe-mobile__kicker,
.pe-mobile__group h3 {
	margin: 22px 0 10px;
	color: #a8a5b0;
	font: 400 11px / 1.4 Play, Arial, sans-serif;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.pe-mobile__group h3 {
	margin: 0 0 8px;
	color: #aca5b7;
	letter-spacing: 0.1em;
}

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

.pe-mobile__list li {
	display: flex;
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.pe-mobile .pe-mobile__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 53px;
	padding: 10px 0;
	color: #f7f6fa;
	text-align: left;
	font: 500 18px / 24.3px Tektur, "Arial Narrow", sans-serif;
	letter-spacing: -0.3px;
}

.pe-mobile button.pe-mobile__toggle {
	display: grid;
	place-items: center;
	align-self: stretch;
	flex: 0 0 48px;
	min-height: 48px;
	margin-right: -9px;
}

.pe-mobile__arrow {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 255, 255, 0.208);
	border-radius: 50%;
}

.pe-mobile__arrow .pe-arrow {
	width: 18px;
	height: 18px;
}

.pe-mobile__arrow--plain {
	border-color: transparent;
}

.pe-mobile__lead {
	margin: 18px 0 16px;
	color: #bcb8c5;
	font: 400 14px / 1.5 Play, Arial, sans-serif;
}

.pe-mobile__group + .pe-mobile__group {
	margin-top: 28px;
}

.pe-mobile__group a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 46px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: #eeecf2;
	font: 400 16px / 1.4 Play, Arial, sans-serif;
}

.pe-mobile__group a .pe-arrow {
	width: 11px;
	height: 9px;
	opacity: 0.42;
}

.pe-mobile .pe-mobile__link.is-current,
.pe-mobile button.pe-mobile__toggle.is-current {
	color: #dac7f4;
}

.pe-mobile a.pe-mobile__link[aria-current="page"] {
	padding-left: 12px;
	color: #dac7f4;
	box-shadow: inset 2px 0 #c4a2ef;
}

.pe-mobile .is-current .pe-mobile__arrow {
	border-color: #b292d6;
	background: rgba(178, 146, 214, 0.063);
}

.pe-mobile__group a[aria-current="page"] {
	padding-inline: 12px;
	background: rgba(196, 162, 239, 0.047);
	color: #e0c9fa;
	box-shadow: inset 2px 0 #b89acf;
}

.pe-mobile__link:hover,
.pe-mobile__group a:hover,
.pe-mobile__back:hover {
	color: #dec8f3;
}

.pe-mobile__footer {
	flex: 0 0 auto;
	padding: 18px 20px 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	background: #29292f;
	box-shadow: 0 -10px 22px rgba(41, 41, 47, 0.2);
}

.pe-mobile__contacts {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}

.pe-mobile__copy {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.pe-mobile__phone {
	color: #fff;
	font: 500 17px / 1.3 Tektur, "Arial Narrow", sans-serif;
	white-space: nowrap;
}

.pe-mobile__email {
	color: #b9b5c3;
	font: 400 12px / 1.4 Play, Arial, sans-serif;
}

.pe-mobile__social {
	display: flex;
	gap: 8px;
	flex: 0 0 auto;
}

.pe-mobile__social a {
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.208);
	border-radius: 50%;
}

.pe-mobile__social svg {
	width: 20px;
	height: 20px;
}

.pe-mobile__social a:hover {
	background: rgba(255, 255, 255, 0.04);
}

a.pe-mobile__consult {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 46px;
	padding: 12px 16px;
	box-sizing: border-box;
	background: #fff;
	color: #29292f;
	font: 400 15px / 1.4 Play, Arial, sans-serif;
}

@media (min-width: 1331px) {
	.pe-header__nav {
		display: flex;
		align-items: center;
		flex: 0 1 auto;
		gap: clamp(10px, 0.8vw, 20px);
		margin-left: clamp(20px, 1.5vw, 40px);
		margin-right: auto;
		min-width: 0;
	}

	.pe-header__logo svg {
		width: clamp(150px, 11.5vw, 206px);
	}

	.pe-header__consult,
	.pe-header__social,
	.pe-header__contacts {
		display: flex;
	}

	.pe-header__social {
		gap: 4px;
		margin-left: 12px;
		margin-right: 12px;
	}

	.pe-header__social a {
		width: 28px;
		height: 28px;
	}

	.pe-header__contacts {
		margin-right: 0;
		gap: 6px;
		font-size: clamp(13px, 0.95vw, 18px);
	}

	.pe-header__contacts a {
		gap: 7px;
	}

	.pe-header__contacts a > svg {
		width: 18px;
		height: 18px;
	}
}

@media (min-width: 1400px) and (max-width: 1500px) {
	.pe-header__nav {
		gap: 10px;
	}
}

@media (min-width: 1331px) and (max-width: 1399px) {
	.pe-header__nav {
		gap: 6px;
		margin-left: 16px;
	}

	.pe-header__trigger {
		font-size: 13.5px;
	}

	.pe-header__social {
		margin-inline: 10px;
	}
}

@media (min-width: 1751px) {
	.pe-header__consult {
		margin-left: 24px;
		padding-inline: 20px;
		gap: 14px;
	}

	.pe-header__social {
		gap: 8px;
		margin-inline: 20px;
	}

	.pe-header__social a {
		width: 32px;
		height: 32px;
	}
}

@media (min-width: 1920px) {
	.pe-header__nav {
		gap: 20px;
		margin-left: 44px;
	}

	.pe-header__trigger {
		font-size: 19px;
	}

	.pe-header__contacts {
		font-size: 20px;
	}
}

@media (max-width: 1330px) {
	.pe-header__social,
	.pe-header__contacts,
	.pe-header__menu {
		display: flex;
	}
}

@media (max-width: 960px) {
	:root {
		--pe-header-gutter: 24px;
	}

	.pe-header.is-overlay:not(.is-stuck) {
		top: calc(26px + var(--pe-header-top));
		height: 44px;
	}

	.pe-header__logo svg {
		width: 180px;
	}

	.pe-header__social {
		display: none;
	}

	.pe-header__contacts {
		margin-left: auto;
	}
}

@media (max-width: 782px) {
	body.admin-bar {
		--pe-header-top: 46px;
	}
}

@media (max-width: 600px) {
	:root {
		--pe-header-h: 64px;
		--pe-header-gutter: 16px;
	}

	.pe-header.is-overlay:not(.is-stuck) {
		top: calc(20px + var(--pe-header-top));
		height: 38px;
	}

	.pe-header__logo svg,
	.pe-mobile .pe-header__logo svg {
		width: 160px;
	}

	.pe-header__contacts {
		display: none;
	}

	.pe-header .pe-header__menu {
		margin-left: auto;
	}
}

@media (max-width: 359px) {
	.pe-mobile__link {
		font-size: 16px;
		min-height: 50px;
	}

	.pe-mobile__phone {
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.pe-mobile.is-shift .pe-mobile__root:not([hidden]),
	.pe-mobile.is-shift .pe-mobile__panel:not([hidden]),
	.pe-mobile.is-shift .pe-mobile__location:not([hidden]) {
		animation: pe-mobile-pane 420ms var(--pe-ease);
	}

	.pe-mobile[data-level="root"].is-shift .pe-mobile__root:not([hidden]) {
		animation-name: pe-mobile-pane-back;
	}
}

@keyframes pe-mobile-pane {
	from {
		opacity: 0;
		transform: translateX(22px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes pe-mobile-pane-back {
	from {
		opacity: 0;
		transform: translateX(-22px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pe-header__trigger::after,
	.pe-header__chevron span,
	.pe-mega__group a,
	.pe-mobile,
	.pe-mobile.is-open {
		transition: none;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.pe-header.is-open .pe-mega:not([hidden]) {
		animation: pe-panel-enter 180ms ease;
	}
}

@keyframes pe-panel-enter {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}
