/* Pravo Blocks: конверсионные блоки, namespace .pe- */

:root {
	--pe-blue: #4978f6;
	--pe-blue-dark: #3160e0;
	--pe-dark: #222222;
	--pe-gray: #f0f0f0;
	--pe-border: #e3e6ee;
}

/* ---------- Кнопки ---------- */
.pe-btn {
	display: inline-block;
	min-height: 48px;
	padding: 13px 26px;
	background-color: var(--pe-blue);
	color: #fff !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	text-decoration: none !important;
	border: 0;
	border-radius: 10px;
	box-sizing: border-box;
	transition: background-color .15s ease;
}
.pe-btn:hover,
.pe-btn:focus {
	background-color: var(--pe-blue-dark);
	color: #fff !important;
}
.pe-btn--ghost {
	background-color: transparent;
	color: var(--pe-blue) !important;
	border: 2px solid var(--pe-blue);
	padding: 11px 24px;
}
.pe-btn--ghost:hover,
.pe-btn--ghost:focus {
	background-color: var(--pe-blue);
	color: #fff !important;
}

/* ---------- Hero ---------- */
.pe-hero {
	margin: 0 0 28px;
}
.pe-hero h1 {
	margin: 0 0 14px;
}
.pe-hero__lead {
	font-size: 18px;
	margin: 0 0 14px;
}
.pe-lawyer {
	display: flex;
	flex-direction: column;
	gap: 18px;
	background-color: var(--pe-gray);
	border-radius: 14px;
	padding: 20px;
	margin: 0 0 10px;
}
.pe-lawyer__photo {
	width: 132px;
	height: 132px;
	object-fit: cover;
	border-radius: 12px;
	flex-shrink: 0;
	max-width: 100%;
}
.pe-lawyer__name {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 8px;
}
@media (min-width: 600px) {
	.pe-lawyer {
		flex-direction: row;
	}
}
.pe-review {
	background-color: var(--pe-gray);
	border-radius: 14px;
	padding: 20px;
	font-size: 16px;
}
.pe-review__text {
	margin: 0 0 12px;
}
.pe-review__author {
	font-weight: 700;
	font-size: 15px;
}
/* ---------- Блок формы ---------- */
.pe-form {
	background-color: var(--pe-gray);
	border-radius: 14px;
	padding: 24px 20px;
	margin: 0 0 32px;
	scroll-margin-top: 90px;
}
.pe-form .wpcf7 input[type="text"],
.pe-form .wpcf7 input[type="tel"],
.pe-form .wpcf7 input[type="email"],
.pe-form .wpcf7 textarea {
	width: 100%;
	font-size: 16px;
	box-sizing: border-box;
}
.pe-form .wpcf7 input[type="submit"] {
	min-height: 48px;
	background-color: var(--pe-blue);
	color: #fff;
	border: 0;
	border-radius: 10px;
	padding: 13px 26px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}
.pe-form .wpcf7 input[type="submit"]:hover {
	background-color: var(--pe-blue-dark);
}

/* ---------- FAQ ---------- */
.pe-faq {
	margin: 0 0 32px;
}
.pe-faq details {
	border: 1px solid var(--pe-border);
	border-radius: 12px;
	margin: 0 0 12px;
	background-color: #fff;
}
.pe-faq summary {
	cursor: pointer;
	padding: 16px 44px 16px 18px;
	font-size: 17px;
	font-weight: 600;
	list-style: none;
	position: relative;
}
.pe-faq summary::-webkit-details-marker {
	display: none;
}
.pe-faq summary::after {
	content: "+";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	color: var(--pe-blue);
}
.pe-faq details[open] summary::after {
	content: "\2212";
}
.pe-faq__a {
	padding: 0 18px 16px;
	font-size: 16px;
}

/* ---------- Перелинковка ---------- */
.pe-links {
	margin: 0 0 32px;
}
.pe-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pe-links li {
	position: relative;
	padding: 8px 0 8px 24px;
	font-size: 16px;
}
.pe-links li::before {
	content: "\2192";
	position: absolute;
	left: 0;
	color: var(--pe-blue);
}

/* ---------- NAP ---------- */
.pe-nap {
	background-color: #fff;
	border: 1px solid var(--pe-border);
	border-radius: 14px;
	padding: 22px 20px;
	margin: 0 0 32px;
}
.pe-nap__title {
	margin-top: 0;
}
.pe-nap__list {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}
.pe-nap__item {
	padding: 7px 0;
	font-size: 16px;
	border-bottom: 1px solid var(--pe-border);
}
.pe-nap__item:last-child {
	border-bottom: 0;
}
.pe-nap__city {
	font-weight: 700;
}
.pe-nap__row {
	margin: 0 0 8px;
	font-size: 16px;
}

/* ---------- Sticky-бар (мобайл) ---------- */
.pe-sticky {
	display: none;
}
@media (max-width: 782px) {
	.pe-sticky {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99990;
		height: 56px;
		background-color: #fff;
		box-shadow: 0 -2px 12px rgba(0, 0, 0, .15);
	}
	.pe-sticky__btn {
		flex: 1 1 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 48px;
		font-size: 16px;
		font-weight: 700;
		text-decoration: none !important;
	}
	.pe-sticky__btn--call {
		background-color: var(--pe-blue);
		color: #fff !important;
	}
	body {
		padding-bottom: 56px !important;
	}
}

/* ---------- Футер-полоса ---------- */
.pe-footbar {
	background-color: var(--pe-dark);
	color: #d8d8d8;
	padding: 34px 20px;
	font-size: 15px;
}
.pe-footbar__in {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
.pe-footbar__name {
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 10px;
}
.pe-footbar__phone {
	display: inline-block;
	color: #fff !important;
	font-size: 22px;
	font-weight: 700;
	text-decoration: none !important;
	margin: 0 0 6px;
}
.pe-footbar__hours {
	font-size: 15px;
}
.pe-footbar__label {
	color: #fff;
	font-weight: 700;
	margin: 0 0 10px;
}
.pe-footbar__addr {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pe-footbar__addr li {
	margin: 0 0 7px;
}
.pe-footbar__addr span {
	color: #fff;
	font-weight: 600;
}
.pe-footbar__misc {
	margin: 0 0 7px;
}
.pe-footbar a {
	color: #d8d8d8;
	text-decoration: underline;
}
.pe-footbar a:hover {
	color: #fff;
}
@media (min-width: 768px) {
	.pe-footbar__in {
		grid-template-columns: 1.2fr 1fr 1fr;
	}
}

.pe-lawyer__figure {
	margin: 0;
	flex-shrink: 0;
}
/* pravo-blocks: универсальная карусель .pe-car (scroll-snap, следующая карточка выглядывает) */
.pe-car { overflow: hidden; }
.pe-car-track {
	display: flex; gap: 16px;
	overflow-x: auto; scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch; scrollbar-width: none;
	padding: 4px 2px 12px;
}
.pe-car-track::-webkit-scrollbar { display: none; }
.pe-car-item {
	flex: 0 0 85%; /* мобайл: карточка + выглядывающий край следующей = видно, что можно листать */
	scroll-snap-align: start; box-sizing: border-box;
}
@media (min-width: 600px)  { .pe-car-item { flex-basis: 46%; } }
@media (min-width: 1024px) { .pe-car-item { flex-basis: 31.5%; } }

.pe-car-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.pe-car-head h2 { margin: 0; }

/* Карточка статьи */
.pe-article-card { background: #fff; border: 1px solid #e6eaf4; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.pe-article-img img { width: 100%; height: 160px; object-fit: cover; display: block; }
.pe-article-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pe-article-title { font-weight: 700; font-size: 17px; line-height: 1.35; color: #1c2b4a; text-decoration: none; }
.pe-article-title:hover { color: #4978f6; }
.pe-article-excerpt { margin: 0; font-size: 15px; color: #56607a; flex: 1; }
.pe-article-date { font-size: 13px; color: #8a92a8; }

/* ---------- v2: секции и чередование фонов ---------- */
.pe-sect {
	margin: 0 0 36px;
	scroll-margin-top: 90px;
}
.pe-sect h2 {
	font-size: 24px;
	margin: 0 0 14px;
}
.pe-sect-alt .pe-review {
	background-color: #fff;
}
.pe-sect__lead {
	font-size: 16px;
	margin: 0 0 18px;
}
@media (min-width: 900px) {
	.pe-sect h2 {
		font-size: 28px;
	}
}

/* ---------- v2: hero-дополнения ---------- */
.pe-hero__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin: 18px 0 10px;
}
.pe-lawyer--compact {
	flex-direction: row;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	margin: 0;
}
.pe-lawyer--compact .pe-lawyer__photo {
	width: 88px;
	height: 88px;
}
.pe-lawyer--compact .pe-lawyer__name {
	font-size: 17px;
	margin: 0 0 4px;
}
.pe-lawyer__line {
	font-size: 15px;
	color: #56607a;
	margin: 0;
}

/* ---------- v2: селектор ситуаций ---------- */
.pe-situations {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.pe-situation {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background-color: #fff;
	border: 1px solid var(--pe-border);
	border-radius: 14px;
	padding: 16px 14px;
	text-decoration: none !important;
	color: var(--pe-dark) !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.pe-situation:hover,
.pe-situation:focus {
	border-color: var(--pe-blue);
	box-shadow: 0 4px 14px rgba(73, 120, 246, .14);
}
.pe-situation__icon {
	width: 40px;
	height: 40px;
	color: var(--pe-blue);
	flex-shrink: 0;
}
.pe-situation__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}
.pe-situation__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}
@media (min-width: 900px) {
	.pe-situations {
		grid-template-columns: repeat(4, 1fr);
		gap: 16px;
	}
	.pe-situation {
		padding: 20px 18px;
	}
	.pe-situation__title {
		font-size: 17px;
	}
}

/* ---------- v2: стадийная шкала ---------- */
.pe-stepper {
	display: flex;
	flex-direction: column;
	margin: 18px 0 8px;
	counter-reset: pe-stage;
}
.pe-stage {
	position: relative;
	padding: 0 0 24px 56px;
}
.pe-stage::before {
	counter-increment: pe-stage;
	content: counter(pe-stage);
	position: absolute;
	left: 0;
	top: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: var(--pe-blue);
	color: #fff;
	font-size: 17px;
	font-weight: 700;
}
.pe-stage::after {
	content: "";
	position: absolute;
	left: 19px;
	top: 46px;
	bottom: 6px;
	width: 2px;
	background-color: #cdd8f5;
}
.pe-stage:last-child {
	padding-bottom: 0;
}
.pe-stage:last-child::after {
	display: none;
}
.pe-stage__title {
	font-size: 17px;
	font-weight: 700;
	margin: 8px 0 4px;
}
.pe-stage__text {
	font-size: 16px;
	margin: 0;
}
.pe-stage__badge {
	display: inline-block;
	background-color: #fdecec;
	color: #c0392b;
	border-radius: 999px;
	padding: 4px 12px;
	font-size: 14px;
	font-weight: 700;
	margin: 8px 0 0;
}
@media (min-width: 900px) {
	.pe-stepper {
		flex-direction: row;
		gap: 24px;
	}
	.pe-stage {
		flex: 1 1 0;
		padding: 54px 0 0;
	}
	.pe-stage::after {
		left: 48px;
		right: -24px;
		top: 19px;
		bottom: auto;
		width: auto;
		height: 2px;
	}
	.pe-stage:last-child::after {
		display: none;
	}
	.pe-stage__title {
		margin-top: 0;
	}
}

/* ---------- v2: оффер и антигарантия ---------- */
.pe-offer {
	background-color: #fff;
	border: 2px solid var(--pe-blue);
	border-radius: 14px;
	padding: 18px 16px;
	margin: 18px 0 0;
}
.pe-offer p {
	font-size: 16px;
	margin: 0 0 14px;
}
.pe-offer p:last-child,
.pe-offer .pe-btn {
	margin-bottom: 0;
}
.pe-anti {
	font-size: 16px;
	color: #56607a;
	border-left: 4px solid #c0392b;
	padding: 4px 0 4px 14px;
	margin: 16px 0 0;
}
/* ---------- v2: карусель кейсов/отзывов ---------- */
.pe-car-item.pe-case,
.pe-car-item.pe-review {
	margin: 0;
}

/* ---------- v21: липкая шапка Astra ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: #fff;
	box-shadow: 0 1px 8px rgba(20, 30, 60, .08);
}

/* ---------- v21: липкое оглавление страницы ---------- */
.pe-subnav {
	position: sticky;
	top: 79px; /* высота мобильной шапки Astra 80px, 1px перекрытия */
	z-index: 990;
	background: #fff;
	margin: 0 0 24px;
	padding: 10px 0;
	border-bottom: 1px solid var(--pe-border);
}
.pe-subnav__in {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.pe-subnav__in::-webkit-scrollbar {
	display: none;
}
.pe-chip {
	flex: 0 0 auto;
	white-space: nowrap;
	background: #fff;
	border: 1px solid var(--pe-border);
	border-radius: 999px;
	padding: 8px 14px;
	font-size: 14px;
	font-weight: 600;
	color: var(--pe-dark) !important;
	text-decoration: none !important;
	transition: border-color .15s ease, color .15s ease;
}
.pe-chip:hover,
.pe-chip:focus {
	border-color: var(--pe-blue);
	color: var(--pe-blue) !important;
}
@media (min-width: 922px) {
	.pe-subnav {
		top: 87px; /* высота десктопной шапки Astra 88px, 1px перекрытия */
	}
}
.pe-sect,
.pe-form {
	scroll-margin-top: 170px; /* шапка 80-88 + стеклянный subnav ~53 + воздух */
}

/* ---------- v21: выравнивание кейс-карточек ---------- */
.pe-car-track {
	align-items: stretch;
}
.pe-car-item.pe-case {
	display: flex;
	flex-direction: column;
}

/* ---------- v21: компактные секции услуг ---------- */
.pe-sect--svc {
	margin-bottom: 24px;
}
.pe-sect--svc.pe-sect-alt {
	padding: 22px 20px;
}
.pe-sect--svc .pe-sect__lead {
	margin-bottom: 14px;
}
.pe-sect--svc .pe-stepper {
	margin-top: 14px;
}
.pe-h2i {
	display: flex;
	align-items: center;
	gap: 10px;
}
.pe-h2i__icon {
	width: 28px;
	height: 28px;
	color: var(--pe-blue);
	flex-shrink: 0;
}
.pe-h2i__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}
@media (min-width: 900px) {
	.pe-sect--svc.pe-sect-alt {
		padding: 24px 28px;
	}
}

/* ---------- v21: плитки-тезисы ---------- */
.pe-tiles {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 0 0 16px;
}
.pe-tile {
	position: relative;
	background: #fff;
	border: 1px solid var(--pe-border);
	border-radius: 12px;
	padding: 12px 14px 12px 38px;
	font-size: 15px;
}
.pe-tile::before {
	content: "\2713";
	position: absolute;
	left: 14px;
	top: 12px;
	color: var(--pe-blue);
	font-weight: 700;
}
@media (min-width: 900px) {
	.pe-tiles {
		grid-template-columns: repeat(3, 1fr);
	}
	.pe-tiles--2 {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---------- v21: фото в секции услуг ---------- */
.pe-media {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0 0 16px;
}
.pe-photo {
	margin: 0;
}
.pe-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 14px;
	display: block;
}
@media (min-width: 900px) {
	.pe-media {
		grid-template-columns: 1.35fr 1fr;
		align-items: stretch;
	}
	.pe-media .pe-tiles {
		grid-template-columns: 1fr;
		margin: 0;
	}
}
.pe-finenote {
	font-size: 14px;
	color: #56607a;
	margin: 6px 0 0;
}

/* ---------- v21: двухшаговая форма (radio-чипы, шаг 2 через :has) ---------- */
.pe-form2-q {
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 12px;
}
.pe-form2 .wpcf7-radio .wpcf7-list-item {
	display: block;
	margin: 0;
}
.pe-form2 .wpcf7-radio .wpcf7-list-item label {
	position: relative;
	display: block;
}
.pe-form2 .wpcf7-radio .wpcf7-list-item-label {
	display: block;
	cursor: pointer;
	background: #fff;
	border: 2px solid var(--pe-border);
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 15px;
	font-weight: 600;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.pe-form2 .wpcf7-radio .wpcf7-list-item-label:hover {
	border-color: var(--pe-blue);
}
.pe-form2 .wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label {
	border-color: var(--pe-blue);
	background: #eef3ff;
	color: var(--pe-blue-dark);
}
.pe-form2 .wpcf7-radio input[type="radio"]:focus-visible + .wpcf7-list-item-label {
	outline: 2px solid var(--pe-blue);
	outline-offset: 2px;
}
/* Прогрессивное улучшение: без поддержки :has() шаг 2 виден всегда */
/* ================= v3: дизайн-итерация «вау» ================= */
:root {
	--pe-navy: #16244c;
	--pe-navy-deep: #101d3d;
	--pe-band: #f4f7ff;
	--pe-max: #7c4dff;
	--pe-max-dark: #6a3df0;
	--pe-tg: #229ed9;
	--pe-tg-dark: #1d8dc2;
	--pe-shadow: 0 10px 30px rgba(22, 36, 76, .10);
}
html, body { overflow-x: clip; }

/* Полный вынос за контейнер с выравниванием контента по колонке */
.pe-bleed {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
}

/* ---------- v3: типографика и ритм ---------- */
.pe-sect h2 { color: var(--pe-navy); letter-spacing: -.01em; }
.pe-hero h1 { color: var(--pe-navy); letter-spacing: -.015em; }
@media (min-width: 900px) {
	.pe-sect { margin-bottom: 48px; }
}

/* ---------- v3: кнопки ---------- */
.pe-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(73, 120, 246, .22);
	transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease, border-color .15s ease, color .15s ease;
	cursor: pointer;
}
.pe-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(73, 120, 246, .28); }
.pe-btn svg { width: 19px; height: 19px; flex-shrink: 0; }
.pe-btn--ghost { box-shadow: none; }
.pe-btn--white {
	background-color: #fff;
	color: var(--pe-navy) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}
.pe-btn--white:hover, .pe-btn--white:focus { background-color: #e9efff; color: var(--pe-navy) !important; }
.pe-btn--max { background-color: var(--pe-max); box-shadow: 0 2px 10px rgba(124, 77, 255, .3); }
.pe-btn--max:hover, .pe-btn--max:focus { background-color: var(--pe-max-dark); box-shadow: 0 6px 16px rgba(124, 77, 255, .36); }
.pe-btn--tg { background-color: var(--pe-tg); box-shadow: 0 2px 10px rgba(34, 158, 217, .3); }
.pe-btn--tg:hover, .pe-btn--tg:focus { background-color: var(--pe-tg-dark); box-shadow: 0 6px 16px rgba(34, 158, 217, .36); }
.pe-btn--sm { min-height: 44px; padding: 10px 18px; font-size: 15px; border-radius: 10px; }
.pe-btn--onlight { box-shadow: none; }
.pe-msg { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- v3: тёмный CTA-блок ---------- */
.pe-cta {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(720px 380px at 82% 8%, rgba(73, 120, 246, .28), transparent 65%),
		linear-gradient(133deg, var(--pe-navy-deep) 0%, #1a2e5f 58%, #21356c 100%);
	color: #fff;
	margin-top: 8px;
	margin-bottom: 40px;
}
.pe-cta__in {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	padding-top: 36px;
}
.pe-cta__body { padding-bottom: 10px; }
.pe-cta__title {
	color: #fff !important;
	font-size: 28px;
	line-height: 1.2;
	letter-spacing: -.01em;
	margin: 0 0 12px;
}
.pe-cta__sub {
	color: #c7d3ef;
	font-size: 17px;
	line-height: 1.55;
	margin: 0 0 22px;
	max-width: 560px;
}
.pe-cta__btns {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	max-width: 420px;
}
.pe-cta__note {
	color: #8fa1cc;
	font-size: 14px;
	margin: 14px 0 0;
}
.pe-cta__photo {
	align-self: end;
	text-align: center;
	margin-top: 18px;
}
.pe-cta__photo img.pe-cta__img {
	display: inline-block;
	width: auto;
	max-height: 330px;
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .45));
}
.pe-cta__steps {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 18px 0 26px;
	border-top: 1px solid rgba(255, 255, 255, .13);
}
.pe-cta__step {
	display: flex;
	align-items: center;
	gap: 10px;
	background-color: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 14px;
	font-weight: 600;
	color: #e6ecfb;
}
.pe-cta__step span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--pe-blue);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}
@media (min-width: 900px) {
	.pe-cta__in {
		grid-template-columns: 1.45fr 1fr;
		gap: 28px;
		padding-top: 52px;
	}
	.pe-cta__title { font-size: 38px; }
	.pe-cta__sub { font-size: 18px; }
	.pe-cta__btns { flex-direction: row; flex-wrap: wrap; align-items: center; max-width: none; }
	.pe-cta__photo { margin-top: 0; }
	.pe-cta__photo img.pe-cta__img { max-height: 430px; }
	.pe-cta__steps { grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 20px 0 30px; }
	.pe-cta__step { font-size: 15px; }
}

/* ---------- v3: sticky-бар 3 кнопки ---------- */
@media (max-width: 782px) {
	.pe-sticky__btn { flex: 1 1 33.33%; gap: 7px; font-size: 14.5px; }
	.pe-sticky__btn svg { width: 18px; height: 18px; flex-shrink: 0; }
	.pe-sticky__btn--max { background-color: var(--pe-max); color: #fff !important; }
	.pe-sticky__btn--tg { background-color: var(--pe-tg); color: #fff !important; }
}

/* ---------- v3: карта в подвале ---------- */
.pe-map { background-color: #fff; border-top: 1px solid var(--pe-border); }
.pe-map__in {
	max-width: 1200px;
	margin: 0 auto;
	padding: 34px 20px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
}
.pe-map__title { color: var(--pe-navy); font-size: 24px; margin: 0 0 14px; }
.pe-map__addr {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 17px;
	margin: 0 0 6px;
}
.pe-map__addr svg { width: 21px; height: 21px; color: var(--pe-blue); flex-shrink: 0; margin-top: 2px; }
.pe-map__hours { color: #56607a; font-size: 15px; margin: 0 0 18px; padding-left: 31px; }
.pe-map__links { display: flex; flex-wrap: wrap; gap: 10px; }
.pe-map__frame {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background-color: #e8edf6;
	min-height: 260px;
}
.pe-map__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.pe-map__ph {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #7986a5;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	padding: 0 20px;
}
.pe-map__ph svg { width: 34px; height: 34px; color: var(--pe-blue); }
.pe-map__frame--on .pe-map__ph { display: none; }
@media (min-width: 900px) {
	.pe-map__in { grid-template-columns: 1fr 1.55fr; align-items: center; padding: 44px 20px; }
	.pe-map__frame { min-height: 340px; }
}

/* ---------- v3: ситуации, чипы, FAQ, полировка ---------- */
.pe-situation { box-shadow: 0 1px 3px rgba(22, 36, 76, .05); }
.pe-situation:hover, .pe-situation:focus { transform: translateY(-2px); box-shadow: var(--pe-shadow); }
.pe-situation__icon {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #eef3ff;
	border-radius: 14px;
}
.pe-situation__icon svg { width: 28px; height: 28px; }
.pe-chip--on {
	background-color: var(--pe-blue);
	border-color: var(--pe-blue);
	color: #fff !important;
}
.pe-faq details { transition: border-color .15s ease; border-radius: 14px; }
.pe-faq details:hover { border-color: var(--pe-blue); }
.pe-faq details[open] { border-color: var(--pe-blue); box-shadow: 0 4px 16px rgba(73, 120, 246, .1); }
.pe-form {
	background:
		radial-gradient(560px 300px at 90% 0%, rgba(73, 120, 246, .1), transparent 60%),
		var(--pe-band);
	border: 1px solid #e0e8fb;
	border-radius: 18px;
}
.pe-footbar__soc { display: flex; gap: 14px; margin-top: 14px; }
.pe-footbar__soc a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #d8d8d8;
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	border: 1px solid #3d3d3d;
	border-radius: 10px;
	padding: 8px 14px;
	transition: border-color .15s ease, color .15s ease;
}
.pe-footbar__soc a:hover { color: #fff; border-color: #7a7a7a; }
.pe-footbar__soc svg { width: 18px; height: 18px; }

@media (prefers-reduced-motion: reduce) {
	.pe-btn, .pe-situation, .pe-case { transition: none; }
	.pe-btn:hover, .pe-situation:hover, .pe-situation:focus { transform: none; }
}

/* v3.1: полировка после самопроверки */
@media (min-width: 900px) {
	.pe-cta__photo img.pe-cta__img { max-height: 470px; }
}
.pe-lawyer--compact {
	background-color: #fff;
	border: 1px solid var(--pe-border);
	box-shadow: 0 1px 3px rgba(22, 36, 76, .05);
}

/* ================= v3.2: правки по критикам (единая CTA-система, полировка) ================= */

/* Единый красный */
:root { --pe-red: #dc2626; }
.pe-stage__badge { background-color: #fdecec; color: var(--pe-red); }
.pe-anti { border-left-color: var(--pe-red); }

/* --- CTA-система: мессенджеры на светлом фоне = ghost с цветной иконкой --- */
.pe-btn--max, .pe-btn--tg {
	background-color: #fff;
	color: var(--pe-navy) !important;
	border: 1.5px solid #d9e1f2;
	box-shadow: 0 1px 3px rgba(22, 36, 76, .06);
}
.pe-btn--max:hover, .pe-btn--max:focus,
.pe-btn--tg:hover, .pe-btn--tg:focus {
	background-color: #f6f8ff;
	color: var(--pe-navy) !important;
	box-shadow: 0 4px 12px rgba(22, 36, 76, .12);
}
.pe-btn--max svg { color: var(--pe-max); }
.pe-btn--tg svg { color: var(--pe-tg); }
.pe-btn--max:hover, .pe-btn--max:focus { border-color: var(--pe-max); }
.pe-btn--tg:hover, .pe-btn--tg:focus { border-color: var(--pe-tg); }

/* В тёмном CTA-блоке мессенджеры полупрозрачные, иконки цветные (светлые тона) */
.pe-cta .pe-btn--max, .pe-cta .pe-btn--tg {
	background-color: rgba(255, 255, 255, .08);
	border: 1.5px solid rgba(255, 255, 255, .3);
	color: #fff !important;
	box-shadow: none;
}
.pe-cta .pe-btn--max:hover, .pe-cta .pe-btn--tg:hover,
.pe-cta .pe-btn--max:focus, .pe-cta .pe-btn--tg:focus {
	background-color: rgba(255, 255, 255, .16);
	color: #fff !important;
}
.pe-cta .pe-btn--max svg { color: #b9a0ff; }
.pe-cta .pe-btn--tg svg { color: #7cc6ef; }

/* Sticky-бар: звонок primary, мессенджеры белые с цветной иконкой */
@media (max-width: 782px) {
	.pe-sticky {
		height: auto;
		border-top: 1px solid var(--pe-border);
		padding-bottom: env(safe-area-inset-bottom);
	}
	.pe-sticky__btn { min-height: 56px; }
	.pe-sticky__btn--max, .pe-sticky__btn--tg {
		background-color: #fff;
		color: var(--pe-navy) !important;
	}
	.pe-sticky__btn--max svg { color: var(--pe-max); }
	.pe-sticky__btn--tg svg { color: var(--pe-tg); }
	.pe-sticky__btn--max { border-right: 1px solid var(--pe-border); }
	.pe-sticky__btn--tg { border-left: 0; }
	body { padding-bottom: calc(57px + env(safe-area-inset-bottom)) !important; }
}

/* --- Hero: светлая полоса-градиент, карточка юриста сильнее --- */
.pe-hero {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 30px calc(50vw - 50%) 26px;
	background: linear-gradient(180deg, #eef3fe 0%, #f8faff 68%, #fff 100%);
	margin-bottom: 22px;
}
.pe-lawyer--compact {
	box-shadow: 0 8px 24px rgba(22, 36, 76, .08);
	border-color: #e6ecfa;
}
.pe-hero__note { font-size: 15px; color: #56607a; margin: 12px 0 0; }
.pe-hero__note strong { color: var(--pe-navy); white-space: nowrap; }

/* --- Тёмный CTA: фото и шаги --- */
.pe-cta__photo { position: relative; }
.pe-cta__photo::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 420px;
	height: 320px;
	max-width: 90vw;
	background: radial-gradient(closest-side, rgba(73, 120, 246, .32), transparent);
	pointer-events: none;
}
.pe-cta__photo img.pe-cta__img {
	position: relative;
	-webkit-mask-image: linear-gradient(to bottom, #000 84%, transparent 99%);
	mask-image: linear-gradient(to bottom, #000 84%, transparent 99%);
}
.pe-cta__photo--card img.pe-cta__img {
	-webkit-mask-image: none;
	mask-image: none;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .22);
	box-shadow: 0 18px 44px rgba(0, 0, 0, .4);
	margin-bottom: 22px;
}
.pe-cta__photo--card::before { display: none; }
.pe-cta__step {
	background-color: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .18);
	color: #fff;
	font-size: 15px;
}
@media (min-width: 900px) {
	.pe-cta__step { font-size: 16px; }
}

/* --- Мифы: чип «Миф», ровные карточки --- */
.pe-myth { display: flex; flex-direction: column; }

/* --- Отзывы: звёзды и источник --- */
.pe-review::before {
	content: "\2605\2605\2605\2605\2605";
	display: block;
	color: #f5a623;
	font-size: 15px;
	letter-spacing: 3px;
	margin: 0 0 10px;
}
.pe-review { background-color: #fff; border: 1px solid #e6ecfa; }
.pe-review__author { color: var(--pe-navy); }

/* --- Карусели: fade-маска справа --- */
.pe-car-track {
	-webkit-mask-image: linear-gradient(to right, #000 94%, transparent);
	mask-image: linear-gradient(to right, #000 94%, transparent);
}
.pe-subnav__in {
	-webkit-mask-image: linear-gradient(to right, #000 95%, transparent);
	mask-image: linear-gradient(to right, #000 95%, transparent);
}

/* --- Статьи: одна карточка = широкая горизонтальная --- */
@media (min-width: 700px) {
	.pe-articles .pe-car-item:only-child {
		flex-basis: 100%;
		display: grid;
		grid-template-columns: 260px 1fr;
	}
	.pe-articles .pe-car-item:only-child .pe-article-img img { height: 100%; min-height: 190px; }
}

/* --- Карта: пилюля на подложке --- */
.pe-map__ph { font-size: 14px; }
.pe-map__ph-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background-color: #fff;
	color: var(--pe-navy);
	border-radius: 999px;
	padding: 10px 16px;
	font-weight: 700;
	box-shadow: 0 4px 14px rgba(22, 36, 76, .18);
}
.pe-map__ph-pill svg { width: 20px; height: 20px; color: var(--pe-blue); }

/* --- Футер в тон бренда --- */
.pe-footbar { background-color: var(--pe-navy); color: #c3cde6; }
.pe-footbar a { color: #c3cde6; }
.pe-footbar__soc a { border-color: #33436f; color: #c3cde6; }
.pe-footbar__soc a:hover { border-color: #6b82b8; }
.pe-map { border-top: 0; background-color: #fff; }

/* v3.3: финальная полировка по повторной критике */
.pe-photo img {
	object-position: center 30%;
	border: 1px solid #e2e8f0;
	filter: saturate(.85) brightness(1.05) contrast(.98);
}
.pe-car-track {
	-webkit-mask-image: linear-gradient(to right, #000 88%, transparent);
	mask-image: linear-gradient(to right, #000 88%, transparent);
}
@media (min-width: 900px) {
	.pe-cta__body { align-self: center; padding-bottom: 26px; }
}

/* Шапка: адаптив меню на узких десктопах (v4, перенесено из контента страницы 107) */
.main-header-menu > li > a { white-space: nowrap; }
@media (min-width: 1201px) and (max-width: 1450px) {
  .main-header-menu > li > a { padding: 0 8px !important; }
  .main-header-menu { flex-wrap: nowrap !important; }
}
@media (min-width: 922px) and (max-width: 1200px) {
  .main-header-menu > li > a { padding: 0 5px !important; font-size: 14px !important; }
  .main-header-menu { flex-wrap: nowrap !important; }
  /* v73: скрытие tel: снято — телефон возвращён на 992-1200 (см. блок v73 в конце файла).
     Правило ниже метило в .ast-custom-button-link, а тема даёт кнопке класс .ast-custom-button —
     поэтому оно НИКОГДА не срабатывало; рабочий вариант тоже в блоке v73. */
  .site-title, .site-title a { font-size: 20px !important; }
}

/* ================= v5 (15.07.2026) ================= */
/* 1. Hero CTA: три равные кнопки, мессенджеры в брендовых градиентах */
.pe-hero__cta { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 860px) { .pe-hero__cta { grid-template-columns: repeat(3, 1fr); } }
.pe-hero__cta .pe-msg { display: contents; }
.pe-hero__cta .pe-btn { width: 100%; justify-content: center; text-align: center; }
.pe-btn--max { background: linear-gradient(135deg, #9a5cf5, #7c3aed); color: #fff !important; border: 0 !important; box-shadow: 0 4px 14px rgba(124, 58, 237, .28); }
.pe-btn--tg  { background: linear-gradient(135deg, #37b0e6, #1f8fd0); color: #fff !important; border: 0 !important; box-shadow: 0 4px 14px rgba(31, 143, 208, .28); }
.pe-btn--max svg, .pe-btn--tg svg { color: #fff !important; }
.pe-btn--max:hover, .pe-btn--max:focus, .pe-btn--tg:hover, .pe-btn--tg:focus { filter: brightness(1.08); color: #fff !important; }

/* 2. Карточки ситуаций: крупные иконки, строка описания */
.pe-situations { gap: 14px; }
.pe-situation { display: grid; grid-template-columns: 56px 1fr; grid-template-rows: auto auto auto; column-gap: 16px; row-gap: 4px; align-items: center; padding: 20px 18px; border-radius: 16px; }
.pe-situation__icon { grid-row: 1 / 4; width: 56px; height: 56px; background: #eef3ff; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.pe-situation__icon svg { width: 30px; height: 30px; }
.pe-situation__title { grid-column: 2; font-size: 17px; }
.pe-situation__desc { grid-column: 2; font-size: 14px; color: #56607a; line-height: 1.4; }

/* 3. Карусель: целое число карточек в кадре + счётчик */
.pe-car-item { flex: 0 0 100%; }
@media (min-width: 600px)  { .pe-car-item { flex-basis: calc(50% - 8px); } }
@media (min-width: 1024px) { .pe-car-item { flex-basis: calc(33.333% - 10.7px); } }

/* 5. Форма-«ловец»: тёмная плита в стиле CTA-блока */
.pe-form { background: #16244c; border-radius: 24px; padding: 34px 26px; }
.pe-form h2 { color: #fff; }
.pe-form > p, .pe-form .pe-form__hint { color: #c9d4ee; }
.pe-form .wpcf7 { color: #c9d4ee; }
.pe-form .wpcf7 a { color: #fff; }

/* 8. Фото поверх кромки тёмного CTA-блока (desktop) */
@media (min-width: 900px) {
  .pe-cta { overflow: visible; }
  .pe-cta__photo img.pe-cta__img { margin-top: -70px; }
}

/* 9. Телефон и часы в мобильной шапке */
.pe-mobhead { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; margin-right: 4px; }
.pe-mobhead a { font-weight: 700; font-size: 15px; color: #1c2b4a; text-decoration: none; white-space: nowrap; }
.pe-mobhead span { font-size: 12px; color: #56607a; }

/* v5: кнопки CTA-блока в ровную сетку */
.pe-cta__btns { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 900px) { .pe-cta__btns { grid-template-columns: repeat(3, 1fr); max-width: 720px; } }
.pe-cta__btns .pe-btn { width: 100%; justify-content: center; text-align: center; }

/* v5: контраст лейблов и согласия в тёмной форме */
.pe-form label, .pe-form .wpcf7-form label { color: #c9d4ee; }
.pe-form .wpcf7-list-item-label, .pe-form .wpcf7-acceptance { color: #c9d4ee; }
.pe-form .wpcf7-form { color: #c9d4ee; }

/* v5: ситуации на мобиле в одну колонку */
@media (max-width: 699px) { .pe-situations { grid-template-columns: 1fr; } }

/* ================= v6: премиальный визуальный слой ================= */
/* Переливы на светлом фоне (паттерн ЕЦЗ, наша гамма) */
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(640px at 12% 18%, rgba(73, 120, 246, .07), transparent 70%),
    radial-gradient(760px at 88% 55%, rgba(124, 58, 237, .05), transparent 70%),
    radial-gradient(560px at 45% 95%, rgba(55, 176, 230, .06), transparent 70%);
}
/* Aurora-переливы в тёмных плитах */
.pe-cta {
  background:
    radial-gradient(820px at 82% -25%, rgba(73, 120, 246, .38), transparent 62%),
    radial-gradient(640px at -12% 115%, rgba(124, 58, 237, .28), transparent 62%),
    #16244c !important;
}
.pe-form {
  background:
    radial-gradient(700px at -10% -20%, rgba(73, 120, 246, .32), transparent 60%),
    radial-gradient(600px at 105% 110%, rgba(124, 58, 237, .24), transparent 60%),
    #16244c;
}
/* Hero: дорогой светлый градиент + стеклянная карточка юриста */
.pe-hero {
  background:
    radial-gradient(560px at 85% 0%, rgba(124, 58, 237, .08), transparent 65%),
    radial-gradient(640px at 8% 90%, rgba(73, 120, 246, .10), transparent 65%),
    linear-gradient(180deg, #f3f7ff, #e9f0fe);
}
.pe-hero .pe-lawyer--compact {
  background: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .9);
  box-shadow: 0 10px 34px rgba(28, 43, 74, .10);
}
/* Hover-подъёмы карточек */
.pe-situation, .pe-case, .pe-review, .pe-article-card { transition: transform .22s ease, box-shadow .22s ease, border-color .15s ease; }
.pe-case:hover, .pe-review:hover, .pe-article-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(28, 43, 74, .12); }
.pe-situation:hover, .pe-situation:focus { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(73, 120, 246, .16); }
/* Скролл-появление секций (класс вешает JS: без JS всё видно сразу) */
.pe-reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.pe-reveal.pe-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .pe-reveal { opacity: 1; transform: none; transition: none; } }

/* ================= v7: hero — плашки-боли + карточка юриста плашками ================= */
.pe-pains { display: flex; flex-wrap: wrap; gap: 10px; margin: 2px 0 16px; }
.pe-pain {
	display: inline-flex; align-items: center; gap: 9px;
	min-height: 46px; padding: 10px 16px;
	background: rgba(255, 255, 255, .82);
	border: 1.5px solid #d9e1f2; border-radius: 12px;
	font-size: 15.5px; font-weight: 700; color: var(--pe-navy);
	text-decoration: none !important;
	box-shadow: 0 1px 3px rgba(22, 36, 76, .06);
	transition: transform .18s ease, box-shadow .18s ease, border-color .15s ease;
}
.pe-pain svg { width: 21px; height: 21px; color: var(--pe-blue); flex: none; }
.pe-pain::after { content: "\2192"; color: var(--pe-blue); font-weight: 600; }
.pe-pain:hover, .pe-pain:focus {
	transform: translateY(-2px);
	border-color: var(--pe-blue);
	box-shadow: 0 8px 22px rgba(73, 120, 246, .18);
	color: var(--pe-navy);
}
@media (max-width: 600px) {
	.pe-pains { gap: 8px; }
	.pe-pain { width: 100%; padding: 11px 14px; }
	.pe-pain::after { margin-left: auto; }
}


/* v7: моб. шапка ≤480px — лого не рвётся внутри слова (регрессия v5: тел+часы отняли ширину) */
@media (max-width: 480px) {
	.ast-mobile-header-wrap .site-title { font-size: 16px; line-height: 1.2; word-break: keep-all; overflow-wrap: normal; }
}

/* ================= v9: премиум-полиш hero — единые navy-плиты болей, стат-регалии, блики CTA ================= */
:root { --pe-gold: #d4a72c; }

/* Плиты-боли: единый стиль на всех ширинах (navy, иконка в круге, золотая стрелка) */
.pe-pain {
	background:
		radial-gradient(240px at 100% 0%, rgba(124, 58, 237, .28), transparent 70%),
		linear-gradient(135deg, #1c2e63, #16244c);
	border: 1px solid rgba(255, 255, 255, .08);
	color: #fff;
	font-size: 15.5px;
	padding: 10px 18px 10px 12px;
	box-shadow: 0 8px 22px rgba(22, 36, 76, .22);
}
.pe-pain svg {
	color: #9db9ff;
	width: 20px; height: 20px; padding: 7px;
	background: rgba(143, 176, 255, .16);
	border-radius: 50%; box-sizing: content-box;
}
.pe-pain::after { color: var(--pe-gold); }
.pe-pain:hover, .pe-pain:focus { color: #fff; border-color: rgba(255, 255, 255, .22); box-shadow: 0 12px 28px rgba(22, 36, 76, .3); }
@media (max-width: 600px) {
	.pe-pain { width: 100%; font-size: 16px; padding: 13px 16px; }
}

/* Карточка юриста: фото во всю высоту, регалии стат-рядом (без плашек) */
.pe-lawyer--v8 { align-items: stretch; gap: 0; padding: 0; overflow: hidden; }
.pe-lawyer--v8 .pe-lawyer__photo {
	width: 250px; height: 100%; min-height: 330px;
	border-radius: 0; display: block; object-fit: cover;
}
.pe-lawyer--v8 .pe-lawyer__body {
	flex: 1; min-width: 0;
	display: flex; flex-direction: column; justify-content: center;
	padding: 30px 32px;
}
.pe-lawyer--v8 .pe-lawyer__name { font-size: 22px; letter-spacing: -.01em; }
.pe-lawyer__stats { display: flex; flex-wrap: wrap; margin: 24px 0 0; }
.pe-stat { display: flex; flex-direction: column; gap: 4px; padding: 0 28px; border-left: 1px solid #e3e8f4; }
.pe-stat:first-child { padding-left: 0; border-left: 0; }
.pe-stat__num { font-size: 26px; font-weight: 800; color: var(--pe-navy); letter-spacing: -.01em; line-height: 1.1; }
.pe-stat__num .pe-stat__stars { font-size: 13px; letter-spacing: 2.5px; color: var(--pe-gold); margin-left: 8px; vertical-align: 3px; }
.pe-stat__label { font-size: 13.5px; line-height: 1.4; color: #56607a; max-width: 230px; }
@media (max-width: 899px) {
	.pe-lawyer--v8 { flex-direction: column; }
	.pe-lawyer--v8 .pe-lawyer__photo { width: 100%; height: 280px; min-height: 0; object-position: 50% 12%; }
	.pe-lawyer--v8 .pe-lawyer__body { padding: 20px 20px 22px; }
	.pe-lawyer__stats { gap: 14px 0; }
	.pe-stat { flex: 1 1 40%; padding: 0 18px; }
	.pe-stat:nth-child(3) { flex-basis: 100%; padding: 14px 0 0; border-left: 0; border-top: 1px solid #e3e8f4; }
	.pe-stat__num { font-size: 23px; }
}

/* Блик на градиентных CTA: периодический проезд света */
.pe-btn { position: relative; overflow: hidden; }
.pe-btn--shine::before {
	content: "";
	position: absolute; top: 0; bottom: 0; left: 0; width: 55%;
	background: linear-gradient(100deg, transparent 15%, rgba(255, 255, 255, .3) 50%, transparent 85%);
	transform: translate3d(-180%, 0, 0) skewX(-18deg);
	backface-visibility: hidden;
	animation: pe-shine 5.4s ease-in-out infinite;
	pointer-events: none;
}
@keyframes pe-shine {
	0%, 68% { transform: translate3d(-180%, 0, 0) skewX(-18deg); }
	86%, 100% { transform: translate3d(360%, 0, 0) skewX(-18deg); }
}
@media (prefers-reduced-motion: reduce) {
	.pe-btn::before { animation: none !important; }
}

/* ================= v10: пакет по аудиту 3 критиков (иерархия CTA, подпись на фото, ночная строка) ================= */
/* Лид: подзаголовок-оффер под H1 */
.pe-hero__lead { font-size: 19px; line-height: 1.55; max-width: 900px; }
.pe-hero__lead strong { color: var(--pe-navy); }

/* Плиты-боли: ровный ряд на десктопе, стрелка к правому краю */
@media (min-width: 601px) {
	.pe-pains { display: flex; }
	.pe-pain { flex: 1 1 0; }
	.pe-pain::after { margin-left: auto; }
}

/* Фото ландшафтное (сцена ДТП): держим юриста в кадре */
.pe-lawyer--v8 .pe-lawyer__photo { object-position: 62% 28%; }
@media (max-width: 899px) {
	.pe-lawyer--v8 .pe-lawyer__photo { object-position: 60% 28%; }
}

/* Подпись-плашка на фото: мобила (на десктопе имя в теле карточки) */
.pe-lawyer__cap { display: none; }
@media (max-width: 899px) {
	.pe-lawyer--v8 .pe-lawyer__figure { position: relative; }
	.pe-lawyer__cap {
		display: block; position: absolute; left: 0; right: 0; bottom: 0; margin: 0;
		padding: 36px 18px 12px;
		font-size: 17px; font-weight: 700; color: #fff; line-height: 1.3;
		background: linear-gradient(180deg, transparent, rgba(13, 20, 45, .82));
	}
	.pe-lawyer__cap small { display: block; font-size: 13px; font-weight: 500; color: #c9d4ee; margin-top: 2px; }
	.pe-lawyer--v8 .pe-lawyer__name, .pe-lawyer--v8 .pe-lawyer__line { display: none; }
	.pe-lawyer--v8 .pe-lawyer__stats { margin-top: 2px; }
}

/* CTA-иерархия: primary доминирует, мессенджеры тихие ghost */
@media (min-width: 860px) { .pe-hero__cta { grid-template-columns: 1.35fr 1fr 1fr; } }
.pe-hero__cta .pe-btn--max, .pe-hero__cta .pe-btn--tg {
	background: #fff !important;
	color: var(--pe-navy) !important;
	border: 1.5px solid #d9e1f2 !important;
	box-shadow: 0 1px 3px rgba(22, 36, 76, .06) !important;
}
.pe-hero__cta .pe-btn--max svg { color: var(--pe-max) !important; }
.pe-hero__cta .pe-btn--tg svg { color: var(--pe-tg) !important; }
.pe-hero__cta .pe-btn--max:hover, .pe-hero__cta .pe-btn--max:focus { border-color: var(--pe-max) !important; filter: none; }
.pe-hero__cta .pe-btn--tg:hover, .pe-hero__cta .pe-btn--tg:focus { border-color: var(--pe-tg) !important; filter: none; }
/* На мобиле мессенджеры уже в sticky-баре: из тела hero убираем */
@media (max-width: 782px) {
	.pe-hero__cta .pe-btn--max, .pe-hero__cta .pe-btn--tg { display: none; }
}

/* Стат-ссылка на отзывы */
a.pe-stat { text-decoration: none !important; }
.pe-stat--link .pe-stat__label { text-decoration: underline; text-decoration-color: #b9c4de; text-underline-offset: 3px; transition: color .15s ease; }
.pe-stat--link:hover .pe-stat__label, .pe-stat--link:focus .pe-stat__label { color: var(--pe-blue-dark); text-decoration-color: var(--pe-blue-dark); }

/* Ночная строка (показывает JS с 20:00 до 09:00) */
.pe-hero__night {
	margin: 12px 0 0; padding: 10px 14px;
	font-size: 15px; font-weight: 600; color: var(--pe-navy);
	background: rgba(212, 167, 44, .12);
	border-left: 3px solid var(--pe-gold); border-radius: 10px;
	max-width: 640px;
}

/* ================= v11: ситуации в едином регистре с hero (navy-иконки, золотая стрелка, CTA = действие) ================= */
.pe-situation { border: 1px solid #e6ecfa; }
.pe-situation__icon {
	background:
		radial-gradient(46px at 100% 0%, rgba(124, 58, 237, .3), transparent 70%),
		linear-gradient(135deg, #1c2e63, #16244c);
}
.pe-situation__icon svg { color: #9db9ff; }
.pe-situation:hover .pe-situation__go::after, .pe-situation:focus .pe-situation__go::after { transform: translateX(4px); }
.pe-situation:hover .pe-situation__title { color: var(--pe-blue-dark); }

/* ================= v12: subnav — стеклянная полоса с табами вместо таблеток ================= */
.pe-subnav {
	background: rgba(255, 255, 255, .68);
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	padding: 4px 0 0;
}
.pe-chip {
	background: transparent;
	border: 0; border-bottom: 2.5px solid transparent; border-radius: 0;
	padding: 10px 10px 12px;
	font-size: 14.5px; font-weight: 600; color: var(--pe-navy) !important;
	transition: color .15s ease, border-color .15s ease;
}
.pe-chip:hover, .pe-chip:focus {
	background: transparent;
	color: var(--pe-blue-dark) !important;
	border-bottom-color: rgba(212, 167, 44, .45);
}
.pe-chip--on {
	background: transparent;
	color: var(--pe-blue-dark) !important;
	border-bottom-color: var(--pe-gold);
}

/* ---------- v13: блоки услуг — стальная линейка ---------- */
.pe-svc-rule {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
}
.pe-svc-rule::after {
	content: "";
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, #a8b6c9, rgba(168, 182, 201, .35) 55%, rgba(168, 182, 201, 0));
}
.pe-svc-rule__num {
	font-weight: 800;
	font-size: 14px;
	color: var(--pe-blue);
	letter-spacing: .06em;
}
.pe-svc-rule__label {
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #5b6b84;
	white-space: nowrap;
}
.pe-sect--svc {
	margin-bottom: 44px;
}
.pe-sect--svc .pe-sect__lead {
	max-width: 70ch;
}
@media (min-width: 900px) {
	.pe-sect--svc {
		margin-bottom: 56px;
	}
	.pe-media .pe-tile {
		display: flex;
		align-items: center;
	}
	.pe-media .pe-tile::before {
		top: 50%;
		transform: translateY(-50%);
	}
}

/* ---------- v14: практика — компактные карточки, кнопки в ряд, стрелки карусели ---------- */
.pe-case__result {
	position: relative;
}
.pe-case__foot .pe-btn {
	flex: 1 1 0;
	min-width: 0;
	padding: 10px 6px;
	font-size: 14px;
	white-space: nowrap;
	min-height: 42px;
}

/* ---------- v15: практика — sp-карусель с донора, карточки в компакт-редизайне
   (клампы вместо min-height-резервов, акцент-сумма из решения, одна CTA).
   Кламп v14 (.pe-case__*) упразднён вместе с разметкой pe-case. ---------- */
.sp-practice {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--pe-band);
	padding: 32px max(16px, calc(50vw - 50%)) 36px;
	overflow: hidden;
}
.sp-practice * {
	box-sizing: border-box;
}
.sp-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin: 0 0 18px;
}
.sp-head h2 {
	margin: 0 0 6px;
}
.sp-nav {
	display: flex;
	gap: 10px;
}
.sp-arrow {
	width: 46px;
	height: 46px;
	min-width: 46px;
	min-height: 46px;
	padding: 0;
	flex: 0 0 46px;
	border-radius: 50%;
	border: 0;
	background: #16244c;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(22, 36, 76, .22);
	transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.sp-arrow:hover {
	background: var(--pe-blue);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(73, 120, 246, .35);
}
.sp-arrow:active {
	transform: scale(.94);
}
.sp-arrow svg {
	width: 20px;
	height: 20px;
}
.sp-track {
	display: flex;
	gap: 18px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 2px 0 6px;
	margin-right: min(calc(50% - 50vw), -16px);
}
.sp-track::-webkit-scrollbar {
	display: none;
}
.sp-card {
	flex: 0 0 404px;
	scroll-snap-align: start;
	background: #fff;
	border: 1px solid #e3e9f7;
	border-radius: 16px;
	padding: 22px 22px 20px;
	display: flex;
	flex-direction: column;
	transition: transform .18s ease, box-shadow .18s ease;
}
.sp-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(28, 43, 74, .12);
}
.sp-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 12px;
}
.sp-card__win {
	margin: 0;
	background: #e8f7ee;
	color: #177245;
	font-weight: 700;
	font-size: 13px;
	padding: 4px 12px;
	border-radius: 999px;
	white-space: nowrap;
}
.sp-card__num {
	margin: 0;
	font-size: 13.5px;
	font-weight: 700;
	color: #8a92a8;
	white-space: nowrap;
}
.sp-card__h3 {
	font-size: 17px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--pe-navy);
	margin: 0 0 10px;
	min-height: 2.75em;
}
.sp-card__text {
	font-size: 15px;
	line-height: 1.55;
	color: #56607a;
	margin: 0 0 16px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}
.sp-card__result {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 14px;
	margin: auto 0 16px;
}
.sp-card__result::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, #a8b6c9, rgba(168, 182, 201, .25) 70%, transparent);
}
.sp-card__rlabel {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #5b6b84;
}
.sp-card__sum {
	margin: 0;
	font-size: 19px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--pe-navy);
}
.sp-card__rtext {
	font-size: 14px;
	line-height: 1.5;
	color: #56607a;
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.sp-card__docline {
	margin: 2px 0 0;
}
.sp-card__doc {
	font-size: 14px;
	font-weight: 600;
	color: var(--pe-blue);
	text-decoration: none;
}
.sp-card__doc::after {
	content: " \2192";
}
.sp-card__doc:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.sp-card__cta.pe-btn {
	width: 100%;
	font-size: 14.5px;
}
/* тема Astra перебивает margin у p внутри карточек (.entry-content p) — глушим и
   возвращаем нужные отступы правилами ниже (позже в каскаде при равной специфичности) */
.sp-practice .sp-card p {
	margin-top: 0;
	margin-bottom: 0;
}
.sp-practice p.sp-card__text {
	margin-bottom: 16px;
}
.sp-practice p.sp-card__ctaline {
	margin-top: auto;
}
.sp-card__ctaline .pe-btn {
	width: 100%;
	font-size: 14.5px;
}
@media (max-width: 600px) {
	.sp-practice {
		padding: 30px max(16px, calc(50vw - 50%)) 34px;
	}
	.sp-card {
		flex: 0 0 85%;
		padding: 20px 18px 18px;
	}
	.sp-card__h3 {
		min-height: 0;
	}
	.sp-nav {
		display: none;
	}
}

/* ================= v16: блок цен (#ceny) — премиальный прайс ================= */
.pe-sect--price { margin-bottom: 56px; }
.pe-sect--price h2 { margin-bottom: 22px; }

/* Плита бесплатного старта (aurora, как pe-cta) */
.pe-price-free {
	position: relative; overflow: hidden; border-radius: 18px;
	padding: 26px 28px; margin: 0 0 10px;
	display: flex; align-items: center; gap: 26px;
	background:
		radial-gradient(720px at 85% -30%, rgba(73, 120, 246, .38), transparent 62%),
		radial-gradient(560px at -10% 120%, rgba(124, 58, 237, .28), transparent 62%),
		#16244c;
}
.pe-price-free p { margin: 0; }
.pe-price-free__txt { flex: 1 1 auto; min-width: 0; }
.pe-price-free p.pe-price-free__t {
	margin: 0 0 7px; font-size: 13px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; color: var(--pe-gold);
}
.pe-price-free p.pe-price-free__d { color: #dde6fb; font-size: 17px; line-height: 1.55; max-width: 64ch; }
.pe-price-free p.pe-price-free__d strong { color: #fff; }
.pe-price-free .pe-btn { flex: 0 0 auto; white-space: nowrap; }

/* Платные позиции: прайс с точечными лидерами */
.pe-price-list2 { margin: 4px 0 24px; }
.pe-price-li { display: flex; align-items: baseline; padding: 15px 2px; }
.pe-price-li + .pe-price-li { border-top: 1px solid #edf1fa; }
.pe-price-li__n { font-size: 16.5px; color: #2c3a55; transition: color .15s ease; }
.pe-price-li__dots { flex: 1 1 28px; min-width: 28px; margin: 0 12px; border-bottom: 2px dotted #c9d5ef; transform: translateY(-4px); }
.pe-price-li__v { font-size: 19px; font-weight: 800; color: #16244c; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pe-price-li__v--free { color: #1d9d5f; }
.pe-price-li:hover .pe-price-li__n { color: var(--pe-blue); }

/* Трастовые плашки с золотой кромкой (перекличка с регалиями hero) */
.pe-price-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pe-price-notes p.pe-price-note2 {
	margin: 0; background: #fff; border: 1px solid #e6ecfa;
	border-left: 3px solid var(--pe-gold); border-radius: 12px;
	padding: 16px 18px; font-size: 15px; line-height: 1.55; color: #44516b;
}
.pe-price-note2 strong { display: block; margin-bottom: 4px; color: #16244c; }

@media (max-width: 899px) {
	.pe-price-notes { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.pe-price-free { flex-direction: column; align-items: stretch; padding: 22px 20px; gap: 16px; }
	.pe-price-free .pe-btn { width: 100%; text-align: center; }
	.pe-price-free p.pe-price-free__d { font-size: 16px; }
	.pe-price-li { padding: 13px 0; }
	.pe-price-li__n { font-size: 15.5px; }
	.pe-price-li__dots { margin: 0 9px; }
	.pe-price-li__v { font-size: 17px; }
}

/* ================= v17: блок отзывов (#otzyvy) — премиум без виджета ================= */
#otzyvy .pe-car-head { align-items: flex-end; margin-bottom: 6px; }

/* Рейтинг-строка под H2 */
#otzyvy p.pe-rev-score { display: flex; align-items: baseline; gap: 10px; margin: 8px 0 0; }

/* Карточка: наше золото вместо оранжевого, кавычка-декор */
.pe-review { border-radius: 16px; padding: 24px 24px 20px; position: relative; overflow: hidden; }
.pe-review::before { color: var(--pe-gold); font-size: 14px; letter-spacing: 3px; }
.pe-review::after {
	content: "\201C"; position: absolute; top: -2px; right: 16px;
	font-family: Georgia, "Times New Roman", serif; font-size: 84px; line-height: 1;
	color: rgba(212, 167, 44, .22); pointer-events: none;
}
.pe-review__text { font-size: 15.5px; line-height: 1.6; color: #33415c; }
.pe-review__author { padding-top: 12px; border-top: 1px solid #edf1fa; }

/* Строка источников вместо бейджей */
#otzyvy p.pe-rev-links { margin: 18px 0 0; font-size: 14.5px; color: #7b88a0; }
#otzyvy .pe-rev-links a { color: #56607a; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
#otzyvy .pe-rev-links a:hover { color: var(--pe-blue); }

@media (max-width: 600px) {
	#otzyvy p.pe-rev-score { flex-wrap: wrap; gap: 8px; }
	.pe-review { padding: 20px 18px 16px; }
}
.pe-rev-ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 18px; height: 18px; border-radius: 50%; flex: 0 0 18px;
	font-size: 11px; font-weight: 700; color: #fff; line-height: 1;
}
.pe-rev-ico--maps { background: #fc3f1d; }
.pe-rev-ico--uslugi { background: #16244c; border: 1px solid #2c3a55; }
.pe-review__date { color: #99a3b8; }
.pe-review__date::before { content: "\00b7"; margin-right: 7px; }

/* v17c: отзывы разной длины — естественная высота карточек */
#otzyvy .pe-car-track { align-items: flex-start; }
#otzyvy .pe-car-item.pe-review { height: auto; }

/* ================= v18: отзывы — компактные «живые» карточки + автопетля ================= */
/* Компактная сетка: 4 в ряд на широких, край следующей выглядывает на мобиле */
#otzyvy .pe-car-item { flex-basis: 88%; }
@media (min-width: 600px)  { #otzyvy .pe-car-item { flex-basis: calc(50% - 8px); } }
@media (min-width: 900px)  { #otzyvy .pe-car-item { flex-basis: calc(33.333% - 11px); } }
@media (min-width: 1200px) { #otzyvy .pe-car-item { flex-basis: calc(25% - 12px); } }

/* Карточка в формате реального отзыва: шапка-аватар, имя, дата */
#otzyvy .pe-review { padding: 18px 18px 16px; border-radius: 14px; }
#otzyvy .pe-review::before { content: none; }
#otzyvy .pe-review::after { content: none; }
.pe-review__head { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; }
.pe-review__ava {
	flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 17px; font-weight: 700; color: #fff;
}
#otzyvy .pe-car-item:nth-child(6n+1) .pe-review__ava { background: #5b7ff0; }
#otzyvy .pe-car-item:nth-child(6n+2) .pe-review__ava { background: #8a63d2; }
#otzyvy .pe-car-item:nth-child(6n+3) .pe-review__ava { background: #2fa87f; }
#otzyvy .pe-car-item:nth-child(6n+4) .pe-review__ava { background: #d9822b; }
#otzyvy .pe-car-item:nth-child(6n+5) .pe-review__ava { background: #d4547a; }
#otzyvy .pe-car-item:nth-child(6n+6) .pe-review__ava { background: #3aa6c9; }
.pe-review__who { display: flex; flex-direction: column; min-width: 0; }
#otzyvy .pe-review__author { padding: 0; border: 0; margin: 0; font-size: 15px; line-height: 1.3; }
#otzyvy .pe-review__date { font-size: 13px; color: #99a3b8; }
#otzyvy .pe-review__date::before { content: none; margin: 0; }
#otzyvy p.pe-review__stars { margin: 0 0 8px; color: var(--pe-gold); font-size: 13px; letter-spacing: 2.5px; }
#otzyvy .pe-review__text {
	font-size: 14.5px; line-height: 1.55; color: #33415c; margin: 0 0 12px;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 8; overflow: hidden;
}
#otzyvy .pe-review__src { margin: 0; font-size: 13px; }
#otzyvy .pe-rev-ico { width: 16px; height: 16px; flex: 0 0 16px; font-size: 10px; }

@media (max-width: 599px) {
	#otzyvy .pe-review__text { -webkit-line-clamp: 9; }
}

/* ================= v19: отзывы-конструктор (шапка-плашка + точки) ================= */
/* Шапка-плашка с рейтингами источников */
.pe-rev-bar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px;
	background: #fff; border: 1px solid #e3e9f7; border-radius: 14px;
	padding: 14px 20px; margin: 6px 0 18px;
}
.pe-rev-bar__total { display: inline-flex; align-items: baseline; gap: 8px; }
.pe-rev-bar__num { font-size: 24px; font-weight: 800; color: #16244c; line-height: 1; }
.pe-rev-bar__stars { color: var(--pe-gold); font-size: 13px; letter-spacing: 2px; }
.pe-rev-bar__cnt { font-size: 14.5px; color: #56607a; }
.pe-rev-bar__srcs { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
a.pe-rev-src { display: inline-flex; align-items: center; gap: 7px; font-size: 14.5px; color: #2c3a55; text-decoration: none; }
a.pe-rev-src b { font-weight: 700; color: #16244c; }
a.pe-rev-src:hover { color: var(--pe-blue); }
a.pe-rev-src .pe-rev-ico { width: 17px; height: 17px; flex: 0 0 17px; font-size: 10px; }
a.pe-rev-src svg { width: 17px; height: 17px; flex: 0 0 17px; }

/* Карточка: бейдж источника на аватаре, дата · источник */
.pe-review__ava { position: relative; }
.pe-rev-badge {
	position: absolute; right: -3px; bottom: -3px; width: 16px; height: 16px;
	border-radius: 50%; border: 2px solid #fff; box-sizing: content-box;
	display: flex; align-items: center; justify-content: center;
	font-size: 9px; font-weight: 700; color: #fff; font-style: normal;
}
.pe-rev-badge--maps { background: #fc3f1d; }
.pe-rev-badge--uslugi { background: #16244c; }
#otzyvy .pe-review__date a { color: #7b88a0; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 2px; }
#otzyvy .pe-review__date a:hover { color: var(--pe-blue); }
#otzyvy .pe-review__text { margin: 0; }

/* Точки-бар прокрутки (отзывы + практика) */
.pe-dots { display: flex; justify-content: center; gap: 8px; margin: 16px 0 0; }
.pe-dots button {
	width: 7px; height: 7px; min-width: 7px; min-height: 7px; padding: 0; border: 0;
	border-radius: 99px; background: #c9d5ef; cursor: pointer;
	transition: width .25s ease, background .2s ease;
}
.pe-dots button.pe-dot--on { width: 20px; background: var(--pe-blue); }
.sp-practice .pe-dots { margin-top: 18px; }

@media (max-width: 700px) {
	.pe-rev-bar { padding: 13px 16px; gap: 8px 14px; }
	.pe-rev-bar__num { font-size: 21px; }
}

/* v20: отзывы одной высоты; стрелки практики скрыты (автопетля + точки) */
#otzyvy .pe-car-track { align-items: stretch; }
.sp-practice .sp-nav { display: none !important; }

/* v21b → v71: резерв высоты точек до их вставки (анти-CLS). Было 7px — активная точка растёт
   до ~9,5px и резалась overflow hidden хоста «полукругом» (практика, отзывы на всех страницах).
   14px с центровкой вмещают её целиком; локальный дубль фикса у специалистов остаётся без вреда. */
.pe-dots { min-height: 14px; align-items: center; }

/* v22: компакт-индикатор точек (окно 9, стиль Instagram) при 10+ слайдах */
.pe-dots { justify-content: center; }
.pe-dots__strip { display: flex; gap: 8px; transition: transform .25s ease; }
.pe-dots--win { overflow: hidden; margin-left: auto; margin-right: auto; }
.pe-dots--win button { flex: 0 0 7px; transition: transform .25s ease, background .2s ease, opacity .2s ease; }
.pe-dots--win button.pe-dot--on { width: 7px; transform: scale(1.35); }
.pe-dots--win button.pe-dot--edge { transform: scale(.55); opacity: .7; }

/* v23: единый стиль активной точки для всех каруселей (как в компакт-режиме отзывов) */
.pe-dots button.pe-dot--on { width: 7px; transform: scale(1.35); }

/* ================= v24: объединённый блок #consult + FAQ в регистре ================= */
/* Форма внутри CTA: прозрачная, без своей плиты */
.pe-cta--consult .pe-form.pe-form--embed { background: none; padding: 0; margin: 16px 0 0; border-radius: 0; box-shadow: none; max-width: none; }
.pe-cta--consult .pe-cta__note--links a { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, .38); }
.pe-cta--consult .pe-cta__note--links a:hover { text-decoration-color: #fff; }
.pe-cta--consult .pe-cta__body { min-width: 0; }


.pe-cta--consult .pe-form.pe-form--embed { border: none; }
.pe-cta--consult { scroll-margin-top: 170px; }


/* ================= v27: FAQ — единый блок стилей (центр плюса надёжен во всех браузерах) ================= */
.pe-faq details { border: 1px solid #e6ecfa; background: #fff; }
.pe-faq summary {
	display: block; position: relative; cursor: pointer;
	font-size: 16.5px; font-weight: 600; color: #16244c;
	padding: 18px 60px 18px 20px;
}
.pe-faq summary::after {
	content: "+"; position: absolute; right: 14px; top: 50%;
	width: 28px; height: 28px; margin: 0;
	border-radius: 50%; background: #eef3ff; color: var(--pe-blue);
	font-size: 19px; font-weight: 600; line-height: 28px; text-align: center;
	transform: translateY(-50%);
	transition: transform .25s ease, background .2s ease, color .2s ease;
}
.pe-faq details[open] summary { color: var(--pe-blue); }
.pe-faq details[open] summary::after {
	content: "+"; transform: translateY(-50%) rotate(45deg);
	background: var(--pe-blue); color: #fff;
}
.pe-faq__a { color: #44516b; line-height: 1.6; padding: 0 20px 18px; }
@media (max-width: 600px) {
	.pe-faq summary { font-size: 15.5px; padding: 15px 52px 15px 16px; }
	.pe-faq__a { padding: 0 16px 15px; }
}

/* ================= v28: блок офиса/карты в регистре ================= */
.pe-map__info .pe-svc-rule { margin-bottom: 18px; }
.pe-map__title { font-size: 28px; margin: 0 0 16px; }
.pe-map__frame { border-radius: 18px; border: 1px solid #e3e9f7; overflow: hidden; }
.pe-map__ph-pill { border: 1px solid #e3e9f7; box-shadow: 0 8px 24px rgba(28, 43, 74, .12); }
@media (max-width: 600px) {
	.pe-map__title { font-size: 23px; }
}

/* ================= v29: шапка и подвал в регистре ================= */
/* Шапка: стекло, единый слой с subnav */
.site-header {
	background: rgba(255, 255, 255, .82);
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	box-shadow: none;
	border-bottom: 1px solid rgba(22, 36, 76, .08);
}
/* Активный пункт меню: золотая черта (перекличка с subnav-табами) */
.main-header-menu .menu-item > .menu-link { position: relative; }
.main-header-menu .current-menu-item > .menu-link::after,
.main-header-menu .current-page-ancestor > .menu-link::after,
.main-header-menu .current-menu-ancestor > .menu-link::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px;
	height: 2.5px; border-radius: 2px; background: var(--pe-gold);
}
/* Телефон шапки */
.site-header a[href^="tel:"] { font-weight: 700; color: #16244c; }
.site-header a[href^="tel:"]:hover { color: var(--pe-blue); }
/* Кнопка шапки: наш стиль с бликом */
.site-header .ast-custom-button {
	position: relative; overflow: hidden; border-radius: 12px; contain: paint;
	background: var(--pe-blue); border: none;
	transition: background .2s ease, transform .18s ease, box-shadow .2s ease;
}
.site-header .ast-custom-button:hover {
	background: var(--pe-blue-dark);
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(73, 120, 246, .35);
}
.site-header .ast-custom-button::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 46px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .38), transparent);
	transform: translate3d(-180%, 0, 0) skewX(-18deg);
	backface-visibility: hidden; will-change: transform;
	animation: pe-shine 5.4s ease-in-out infinite; animation-delay: 2.1s;
	pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
	.site-header .ast-custom-button::before { animation: none !important; }
}

/* Подвал: aurora + золотые капители + dotted-ссылки */
.pe-footbar {
	background:
		radial-gradient(680px at 88% -20%, rgba(73, 120, 246, .26), transparent 60%),
		radial-gradient(520px at -8% 115%, rgba(124, 58, 237, .2), transparent 60%),
		#16244c;
}
.pe-footbar__label {
	font-size: 12px; font-weight: 700; letter-spacing: .14em;
	text-transform: uppercase; color: var(--pe-gold);
}
.pe-footbar__phone { font-size: 26px; font-weight: 800; color: #fff; }
.pe-footbar__col a[href]:not([href^="tel:"]) {
	text-decoration: underline; text-decoration-style: dotted;
	text-underline-offset: 3px; text-decoration-color: rgba(195, 205, 230, .5);
}
.pe-footbar__col a[href]:hover { color: #fff; text-decoration-color: #fff; }
.pe-footbar__soc a {
	text-decoration: none !important; border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 10px; transition: background .2s ease, border-color .2s ease, transform .18s ease;
}
.pe-footbar__soc a:hover {
	background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .45);
	transform: translateY(-1px);
}
/* v29b: копирайт в тон футера */
.site-footer { background: #101b3a; }
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p { color: #8fa0c8; }

/* ---------- v32: якорь на блок контактов ---------- */
.pe-map {
	scroll-margin-top: 170px;
}

/* ---------- v33: интро-щиток услуг ---------- */
.pe-svc-intro {
	margin-bottom: 28px;
}
.pe-svc-intro h2 {
	font-size: 30px;
	margin: 0 0 10px;
}
.pe-svc-intro .pe-sect__lead {
	margin: 0;
	max-width: 70ch;
}
@media (max-width: 600px) {
	.pe-svc-intro h2 {
		font-size: 25px;
	}
}

/* ---------- v34: карусель статей в регистр (точки/автопетля вместо стрелок) ---------- */
.entry-content .pe-articles .pe-articles__all {
	flex-shrink: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--pe-blue, #4978f6);
	text-decoration: underline dotted;
	text-underline-offset: 4px;
}
.entry-content .pe-articles .pe-articles__all:hover {
	color: #16244c;
}
.pe-articles .pe-car-head {
	margin-bottom: 14px;
}
.pe-articles .pe-article-card {
	border-radius: 16px;
	border-color: #e6ecfa;
}
@media (max-width: 599px) {
	.pe-articles .pe-car-item {
		flex-basis: 88%; /* край соседней карточки = аффорданс свайпа, как у отзывов */
	}
}

/* ---------- v35: лайтбокс документов ---------- */
.pe-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(10, 16, 34, .82);
	backdrop-filter: blur(4px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.pe-lightbox__in {
	position: relative;
	max-width: min(1100px, 94vw);
}
.pe-lightbox__in img {
	max-width: 100%;
	max-height: 82vh;
	display: block;
	margin: 0 auto;
	border-radius: 10px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
}
.pe-lightbox__cap {
	margin: 12px 0 0;
	text-align: center;
	color: #c9d4ee;
	font-size: 14px;
}
.pe-lightbox__x {
	position: absolute;
	top: -14px;
	right: -14px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	color: #16244c;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	min-width: 0;
	min-height: 0;
	padding: 0;
}


/* ---------- v37: документ-плашка диплома (консолидация бейджа v35/v36) ---------- */
.pe-cred-doc {
	display: inline-flex;
	width: 100%;
	max-width: 500px;
	align-items: center;
	gap: 14px;
	margin-top: 16px;
	padding: 10px 18px 10px 12px;
	border: 1px solid #e6ecfa;
	border-left: 3px solid var(--pe-gold, #d4a72c);
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	font: inherit;
	text-align: left;
	box-shadow: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.pe-cred-doc:hover,
.pe-cred-doc:focus,
.pe-cred-doc:focus-visible,
.pe-cred-doc:active {
	background: #fff;
	border-color: #e6ecfa;
	border-left-color: var(--pe-gold, #d4a72c);
	outline: none;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(28, 43, 74, .12);
}
.pe-cred-doc__thumb {
	position: relative;
	flex: none;
	display: block;
}
.pe-cred-doc__thumb img {
	width: 86px;
	height: auto;
	display: block;
	border-radius: 6px;
	border: 1px solid #e3e9f7;
}
.pe-cred-doc__check {
	position: absolute;
	right: -8px;
	bottom: -8px;
	width: 22px;
	height: 22px;
	color: #177245;
	background: #fff;
	border-radius: 50%;
	padding: 2px;
	box-shadow: 0 1px 4px rgba(28, 43, 74, .18);
}
.pe-cred-doc__title {
	display: block;
	font-size: 15.5px;
	font-weight: 700;
	color: #16244c;
	line-height: 1.3;
}
.pe-cred-doc__sub {
	display: block;
	margin-top: 3px;
	font-size: 13px;
	color: #5b6b84;
}
.pe-cred-doc__sub u {
	text-decoration: underline dotted;
	text-underline-offset: 3px;
	color: var(--pe-blue, #4978f6);
	font-weight: 600;
}
@media (max-width: 599px) {
	.pe-cred-doc {
		width: 100%;
	}
}

/* ---------- v40: модалка формы consult ---------- */
.pe-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(10, 16, 34, .72);
	backdrop-filter: blur(5px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	overflow-y: auto;
}
.pe-modal[hidden] {
	display: none;
}
.pe-modal__box {
	position: relative;
	width: min(560px, 100%);
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: #16244c;
	background-image: radial-gradient(ellipse 90% 70% at 15% 0%, rgba(73, 120, 246, .28), transparent 60%), radial-gradient(ellipse 70% 60% at 95% 100%, rgba(122, 92, 240, .2), transparent 65%);
	border-radius: 20px;
	padding: 34px 30px 28px;
	box-shadow: 0 40px 100px rgba(0, 0, 0, .5);
}
.pe-modal__title {
	margin: 0;
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.25;
}
.pe-modal__sub {
	margin: 10px 0 0;
	color: #c9d4ee;
	font-size: 15px;
	line-height: 1.55;
}
.pe-modal__x {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	min-width: 0;
	min-height: 0;
	padding: 0;
	box-shadow: none;
}
.pe-modal__x:hover {
	background: rgba(255, 255, 255, .22);
}
.pe-modal .pe-form3-area > p {
	margin-top: 20px;
}
@media (max-width: 600px) {
	.pe-modal {
		padding: 0;
		align-items: stretch;
	}
	.pe-modal__box {
		width: 100%;
		max-height: 100vh;
		border-radius: 0;
		padding: 30px 20px 24px;
	}
}

/* ---------- v41: форма consult, консолидация (белые поля, чекбокс, маска) ---------- */
.pe-cta--consult .pe-cta__solo {
	position: relative;
	z-index: 1;
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}
.pe-cta--consult .pe-cta__solo .pe-cta__sub {
	margin: 12px auto 0;
	max-width: 56ch;
}
.pe-form3 input[type="text"],
.pe-form3 input[type="tel"] {
	width: 100%;
	height: 56px;
	border-radius: 12px;
	border: 1px solid #fff;
	background: #fff;
	color: #16244c;
	font-size: 16px;
	font-weight: 500;
	padding: 0 18px;
	box-sizing: border-box;
}
.pe-form3-area textarea {
	width: 100%;
	min-height: 100px;
	resize: vertical;
	border-radius: 12px;
	border: 1px solid #fff;
	background: #fff;
	color: #16244c;
	font-size: 16px;
	font-weight: 500;
	font-family: inherit;
	padding: 14px 18px;
	box-sizing: border-box;
	display: block;
}
.pe-form3 input::placeholder,
.pe-form3-area textarea::placeholder {
	color: #8a92a8;
	font-weight: 400;
}
.pe-form3 input[type="text"]:focus,
.pe-form3 input[type="tel"]:focus,
.pe-form3-area textarea:focus {
	outline: none;
	border-color: var(--pe-blue, #4978f6);
	box-shadow: 0 0 0 3px rgba(73, 120, 246, .35);
}
.pe-form3-area > p {
	margin: 26px 0 0;
}
.pe-modal .pe-form3-area > p {
	margin-top: 20px;
}
.pe-form3-duo > p {
	display: flex;
	gap: 12px;
	margin: 12px 0 0;
}
.pe-form3-duo .wpcf7-form-control-wrap {
	flex: 1 1 0;
	display: block;
}
.pe-form3-accept > p {
	margin: 14px 0 0;
	text-align: left;
}
.pe-form3-accept .wpcf7-list-item {
	margin: 0;
}
.pe-form3-accept .wpcf7-list-item-label,
.pe-form3-accept label {
	font-size: 13px;
	color: #c9d4ee;
	line-height: 1.5;
	cursor: pointer;
}
.pe-form3-accept a {
	color: #a9b8dd;
	text-decoration: underline;
}
.pe-form3-accept input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--pe-blue, #4978f6);
	margin-right: 8px;
	vertical-align: -4px;
	cursor: pointer;
}
.pe-form3-line > p {
	margin: 14px 0 0;
}
.pe-form3-line input[type="submit"] {
	width: 100%;
	height: 56px;
	padding: 0 28px;
	border: 0;
	border-radius: 12px;
	background: var(--pe-blue, #4978f6);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, background .15s ease;
}
.pe-form3-line input[type="submit"]:hover {
	background: #3b66e0;
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(73, 120, 246, .4);
}
.pe-form3-line .wpcf7-spinner {
	position: absolute;
}
.pe-form3-note {
	margin: 12px 0 0;
	font-size: 12.5px;
	color: #8fa0c8;
}
.pe-form3 .wpcf7-not-valid-tip {
	text-align: left;
	margin-top: 6px;
	color: #ffb4b4;
}
.pe-form3 .wpcf7-response-output {
	color: #fff;
	border-radius: 10px;
}
@media (max-width: 600px) {
	.pe-cta--consult .pe-cta__solo {
		text-align: left;
	}
	.pe-cta--consult .pe-cta__solo .pe-cta__sub {
		margin-left: 0;
	}
	.pe-form3-duo > p {
		flex-direction: column;
	}
}

/* ---------- v42: страница «Спасибо» ---------- */
.pe-thanks {
	text-align: center;
	padding-top: 34px;
}
.pe-thanks__icon {
	width: 68px;
	height: 68px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #e8f7ee;
	color: #177245;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pe-thanks__icon svg {
	width: 34px;
	height: 34px;
}
.pe-thanks h1 {
	font-size: 34px;
	margin: 0 0 14px;
}
.pe-thanks__sub {
	max-width: 62ch;
	margin: 0 auto 22px;
	font-size: 16.5px;
	line-height: 1.6;
	color: #3f4c66;
}
.pe-thanks .pe-msg {
	justify-content: center;
}
.pe-thanks__more {
	margin: 18px 0 0;
}
@media (max-width: 600px) {
	.pe-thanks h1 {
		font-size: 27px;
	}
}


/* ===== v27: переключатель города в меню ===== */
.pe-citymenu__cur svg{width:15px;height:15px;margin-right:6px;vertical-align:-2px;color:#4978f6}
.pe-citymenu__cur span{white-space:nowrap}
.pe-citymenu .sub-menu{min-width:170px}
@media (max-width:921px){
	.pe-citymenu .sub-menu{display:none}
	.pe-citymenu--open .sub-menu{display:block!important}
}

/* v27b: шапка с пунктом города — компактнее пункты на 1201-1450, кнопка CTA без переноса */
@media (min-width: 1201px) and (max-width: 1450px) {
  .main-header-menu > li > a { padding: 0 5px !important; font-size: 15px !important; }
  .ast-header-button-1 .ast-custom-button { white-space: nowrap; }
}

/* v27b-2: диапазон 922-1200 с пунктом города */
@media (min-width: 922px) and (max-width: 1200px) {
  .main-header-menu > li > a { padding: 0 4px !important; }
  .ast-header-button-1 .ast-custom-button { white-space: nowrap; padding-left: 12px; padding-right: 12px; }
  .pe-citymenu__cur svg { margin-right: 3px; }
}


/* ===== v28: город пилюлей в шапке ===== */
.pe-headright{display:inline-flex;align-items:center;gap:16px;white-space:nowrap}
.pe-cityhead{position:relative;display:inline-flex}
.pe-cityhead__btn{display:inline-flex;align-items:center;gap:6px;min-width:0;min-height:0;padding:9px 13px;border:1px solid #e6ecfa;border-radius:999px;background:#fff;color:#16244c;font-size:14.5px;font-weight:600;line-height:1;cursor:pointer;transition:border-color .18s, box-shadow .18s}
.pe-cityhead__btn:hover{border-color:#4978f6;box-shadow:0 2px 10px rgba(73,120,246,.14)}
.pe-cityhead__btn > svg:first-child{width:15px;height:15px;color:#4978f6;flex:none}
.pe-cityhead__chev{width:13px;height:13px;color:#5b6b84;flex:none;transition:transform .18s}
.pe-cityhead--open .pe-cityhead__chev{transform:rotate(180deg)}
.pe-cityhead__list{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:99999;min-width:160px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #e6ecfa;border-radius:12px;box-shadow:0 12px 32px rgba(22,36,76,.14)}
.pe-cityhead--open .pe-cityhead__list{display:block}
.pe-cityhead__list li{margin:0;padding:0;list-style:none}
.pe-cityhead__list a{display:block;padding:9px 12px;border-radius:8px;color:#16244c;font-size:14.5px;font-weight:500;text-decoration:none}
.pe-cityhead__list a:hover{background:#eef3ff;color:#4978f6}
/* пункт города из главного меню на десктопе скрыт (живёт в бургере) */
@media (min-width:922px){ .main-header-menu .pe-citymenu{display:none!important} }
/* на мобильной шапке пилюли нет (город в бургере) */
@media (max-width:921px){ .pe-cityhead{display:none} }
/* кнопка CTA шапки не переносится нигде */
.ast-header-button-1 .ast-custom-button{white-space:nowrap}
/* меню без пункта города: вернуть штатные паддинги на 1201-1450 */
@media (min-width:1201px) and (max-width:1450px){
  .main-header-menu > li > a{padding:0 8px !important;font-size:16px !important}
}

/* v28c: компактный диапазон 1201-1450 под пилюлю города */
@media (min-width: 1201px) and (max-width: 1450px) {
  .main-header-menu > li > a { padding: 0 6px !important; font-size: 15px !important; }
  .pe-headright { gap: 12px; }
  .pe-cityhead__btn { font-size: 14px; padding: 8px 11px; }
}

/* v28d (r2): лого не сжимается только на широких (на 922-1200 раскладка v4 живёт сжатием лого) */
@media (min-width: 1201px) {
  .site-header .site-title { white-space: nowrap; }
  .site-header .site-branding { flex: 0 0 auto; }
}
@media (min-width: 1201px) and (max-width: 1670px) {
  /* v71: скрытие .pe-headstack снято — телефон возвращён на десктоп (регресс затирания, чинилось 27.07) */
  .site-title, .site-title a { font-size: 15px !important; }
  .main-header-menu > li > a { padding: 0 5px !important; font-size: 15px !important; }
}
/* v71: правило li:first-child на 1201-1300 снято — «Главная» теперь выводится только на внутренних
   (фильтр в PHP), правило съедало бы её именно там, где она нужна */

/* v28e: на 922-1200 пилюля скрыта, город живёт пунктом меню (проверенная компактная раскладка) */
@media (min-width: 922px) and (max-width: 1200px) {
  .pe-cityhead { display: none; }
}

/* v28f: города в футере (фолбэк на всех ширинах, единственный переключатель на 922-1200) */
.pe-footbar__cities { margin-top: 10px; font-size: 14px; color: #c9d4ee; }
.pe-footbar__cities a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 3px; }
.pe-footbar__cities a:hover { color: #9db8ff; }
.pe-footbar__city--cur { font-weight: 600; color: #fff; }

/* v28g → v71: скрытие первого пункта на 922-1200 снято (после PHP-фильтра «Главная только на
   внутренних» правило съедало «Услуги»); nowrap лого оставлен */
@media (min-width: 922px) and (max-width: 1200px) {
  .site-header .site-title { white-space: nowrap; }
}

/* v28h → v73 (04.08.2026): обёртка слота телефона больше НЕ прячется на 922-1200. Правило было
   парным к скрытию tel: и вместе с ним оставляло шапку на планшетах без номера и без плашки
   «юрист онлайн», а v57 (min-width 922) возвращал только дочерний элемент внутри скрытого
   родителя — прямое противоречие. Место под слот освобождено в блоке v73 в конце файла. */

/* ===== v29: тёмная navy-шапка (эталон — плашка Тильды, палитра сайта) ===== */
.site-header, .ast-primary-header-bar, .site-header .ast-primary-header-bar,
.ast-header-break-point .site-header { background: #16244c !important; border-bottom: 0 !important; }
.ast-primary-header-bar { box-shadow: 0 2px 14px rgba(10, 18, 44, .25); }
/* лого: иконка в белый, заголовок капсом, подпись светлая */
.site-header .custom-logo { filter: brightness(0) invert(1); }
.site-title a, .site-title { color: #fff !important; text-transform: uppercase; letter-spacing: .04em; font-size: 17px; line-height: 1.25; }
.site-title a:hover { color: #9db8ff !important; }
.site-header .site-description { color: #c9d4ee !important; font-size: 12.5px; margin: 0; }
.ast-site-title-wrap { display: flex; flex-direction: column-reverse; }
/* меню: светлые пункты */
.main-header-menu .menu-link { color: #e8eefc !important; }
.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .menu-link:hover { color: #fff !important; }
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link { color: #fff !important; }
/* выпадашки меню: тёмная карта */
.main-header-menu .sub-menu { background: #1d2c56 !important; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; box-shadow: 0 14px 34px rgba(10,18,44,.45); }
.main-header-menu .sub-menu .menu-link { color: #e8eefc !important; background: transparent !important; }
.main-header-menu .sub-menu .menu-link:hover { color: #fff !important; background: rgba(73,120,246,.25) !important; }
/* пилюля города: контурная на тёмном */
.pe-cityhead__btn { background: transparent; border-color: rgba(255,255,255,.28); color: #fff; }
.pe-cityhead__btn:hover { border-color: #4978f6; box-shadow: 0 2px 12px rgba(73,120,246,.35); }
.pe-cityhead__btn > svg:first-child { color: #9db8ff; }
.pe-cityhead__chev { color: #c9d4ee; }
.pe-cityhead__list { background: #1d2c56; border-color: rgba(255,255,255,.08); box-shadow: 0 14px 34px rgba(10,18,44,.45); }
.pe-cityhead__list a { color: #e8eefc; }
.pe-cityhead__list a:hover { background: rgba(73,120,246,.25); color: #fff; }
/* часы + телефон стеком */
.pe-headstack { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; line-height: 1.2; white-space: nowrap; }
.pe-headstack__hours { color: #9db8ff; font-size: 12.5px; font-weight: 500; }
.pe-headstack .pe-headphone { color: #fff !important; font-size: 15.5px; font-weight: 700; text-decoration: none; }
.pe-headstack .pe-headphone:hover { color: #9db8ff !important; }
/* кнопка CTA: яркая пилюля */
.ast-header-button-1 .ast-custom-button { border-radius: 999px !important; }
/* мобильная шапка: тел+часы светлые, бургер белый */
.pe-mobhead a { color: #fff !important; }
.pe-mobhead span { color: #c9d4ee !important; }
.ast-header-break-point .site-header .main-header-menu-toggle,
.site-header .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg { color: #fff !important; fill: #fff !important; }
/* заголовок сайта на мобиле тоже белый */
@media (max-width: 921px) {
  .site-title, .site-title a { color: #fff !important; }
}
/* капс-заголовок компактных диапазонов */
@media (min-width: 922px) and (max-width: 1200px) {
  .site-title, .site-title a { font-size: 14px !important; }
}

/* v29b: выезжающая панель бургера белая — внутри неё цвета тёмные (перекрытие глобальных светлых) */
#ast-mobile-popup .main-header-menu .menu-link,
.ast-mobile-popup-drawer .main-header-menu .menu-link { color: #16244c !important; }
#ast-mobile-popup .main-header-menu .menu-item:hover > .menu-link,
#ast-mobile-popup .main-header-menu .current-menu-item > .menu-link { color: #4978f6 !important; }
#ast-mobile-popup .main-header-menu .sub-menu { background: #f4f7ff !important; border: 0; box-shadow: none; border-radius: 10px; }
#ast-mobile-popup .main-header-menu .sub-menu .menu-link { color: #16244c !important; }
#ast-mobile-popup .pe-mobhead a { color: #16244c !important; }
#ast-mobile-popup .pe-mobhead span { color: #5b6b84 !important; }
#ast-mobile-popup .pe-headstack__hours { color: #5b6b84; }
#ast-mobile-popup .pe-headstack .pe-headphone { color: #16244c !important; }

/* v29c: реальный контейнер мобильного меню = .ast-mobile-header-content (не popup) */
.ast-mobile-header-content .main-header-menu .menu-link { color: #16244c !important; }
.ast-mobile-header-content .main-header-menu .menu-item:hover > .menu-link,
.ast-mobile-header-content .main-header-menu .current-menu-item > .menu-link { color: #4978f6 !important; }
.ast-mobile-header-content .main-header-menu .sub-menu { background: #f4f7ff !important; border: 0 !important; box-shadow: none !important; }
.ast-mobile-header-content .main-header-menu .sub-menu .menu-link { color: #16244c !important; }
.ast-mobile-header-content .pe-mobhead a { color: #16244c !important; }
.ast-mobile-header-content .pe-mobhead span { color: #5b6b84 !important; }
.ast-mobile-header-content .pe-headstack__hours { color: #5b6b84 !important; }
.ast-mobile-header-content .pe-headstack .pe-headphone { color: #16244c !important; }

/* v29d: меню растянуто на свободное место между лого и правым блоком, пункты равномерно */
@media (min-width: 922px) {
  .ast-primary-header-bar .ast-builder-menu-1 { flex: 1 1 auto; min-width: 0; }
  .ast-primary-header-bar .ast-builder-menu-1 .main-header-menu { width: 100%; justify-content: space-evenly; }
}

/* v29e: растяжка всей цепочки обёрток меню, иначе UL остаётся контентной ширины */
@media (min-width: 922px) {
  .ast-primary-header-bar .ast-builder-menu-1 nav.site-navigation,
  .ast-primary-header-bar .ast-builder-menu-1 .main-navigation,
  .ast-primary-header-bar .ast-builder-menu-1 .main-header-bar-navigation { width: 100%; }
}

/* v29f: недостающие звенья цепочки — alignment-обёртка и inline-flex .main-navigation */
@media (min-width: 922px) {
  .ast-primary-header-bar .ast-builder-menu-1 .ast-main-header-bar-alignment { width: 100%; flex: 1 1 auto; }
  .ast-primary-header-bar .ast-builder-menu-1 .main-navigation { width: 100%; }
}

/* v43: мера абзацев услуг + строка образования в hero-карточке (тираж: недвижимость) */
.pe-sect--svc > p:not([class]), .pe-sect--svc .pe-finenote { max-width: 72ch; }
/* v44: FAQ-плюсы без кружков (запрос Андрея 19.07) — чистый плюс, open = синий крестик */
.pe-faq summary::after { width: auto; height: auto; border-radius: 0; background: transparent; font-size: 26px; font-weight: 500; line-height: 1; color: var(--pe-blue); }
.pe-faq details[open] summary::after { background: transparent; color: var(--pe-blue); }

/* v46: компакт формы #consult на мобиле (запрос Андрея 19.07: блок не влезал в экран 390) */
@media (max-width: 600px) {
	.pe-cta--consult .pe-cta__title { font-size: 23px; line-height: 1.25; }
	.pe-cta--consult .pe-cta__sub { font-size: 15.5px; margin-top: 8px; }
	.pe-cta--consult .pe-form3-area textarea, .pe-cta--consult textarea { min-height: 76px; height: 76px; }
	.pe-cta--consult .pe-cta__solo { padding-top: 30px; padding-bottom: 26px; }
}

/* v47: компакт карточек практики на мобиле (запрос Андрея 19.07: блок выше экрана 390) */
@media (max-width: 600px) {
	.sp-practice .sp-card { padding: 18px 16px; }
	.sp-practice .sp-card__h3 { font-size: 16px; line-height: 1.3; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
	.sp-practice .sp-card__text { -webkit-line-clamp: 3; margin-bottom: 12px; }
	.sp-practice .sp-card__rtext { -webkit-line-clamp: 2; }
	.sp-practice .sp-card__sum { font-size: 17px; }
	.sp-practice .sp-head { margin-bottom: 14px; }
	.sp-practice .sp-head h2 { font-size: 22px; }
}
@media (max-width: 600px) {
	.sp-practice .sp-head p { font-size: 15px; line-height: 1.45; margin-top: 6px; }
}


/* ---------- v33: главный CTA в одном ряду с мессенджерами внутри offer-блока ---------- */
.pe-offer__cta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 14px 0 0; }
.pe-offer__cta .pe-msg { display: contents; }


/* ---------- v34: ровные кнопки в offer-блоке на мобиле ---------- */
@media (max-width: 600px) {
	.pe-offer__cta { flex-direction: column; align-items: stretch; }
	.pe-offer__cta .pe-btn { width: 100%; justify-content: center; }
}

/* v48: якорь на подзаголовке внутри услуги (h4 id) не должен нырять под липкую шапку */
.entry-content h3[id],.entry-content h4[id]{scroll-margin-top:150px}

/* ================= v49: перезапись блика шапки + текстовая плашка диплома ================= */

/* Блик кнопки в шапке переписан. Была ошибка: ::before шириной 46px двигался на 360%
   (=166px) при ширине кнопки ~220px, поэтому не доезжал до правого края и последние
   14% цикла стоял ВНУТРИ кнопки видимой полосой. Теперь ширина и дистанция считаются
   в процентах от кнопки, блик уходит за край и там ждёт следующий цикл. */
.site-header .ast-custom-button { position: relative; overflow: hidden; }
.site-header .ast-custom-button::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 22%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .42), transparent);
	transform: translate3d(-200%, 0, 0) skewX(-18deg);
	backface-visibility: hidden; will-change: transform; contain: paint;
	animation: pe-shine-head 5.4s ease-in-out infinite; animation-delay: 2.1s;
	pointer-events: none;
}
@keyframes pe-shine-head {
	0%, 70%   { transform: translate3d(-200%, 0, 0) skewX(-18deg); }
	92%, 100% { transform: translate3d(560%, 0, 0) skewX(-18deg); }
}
@media (prefers-reduced-motion: reduce) {
	.site-header .ast-custom-button::before { animation: none !important; }
}

/* Плашка о дипломе без скана: тот же вид, что у документов с миниатюрой, но не кликается */
.pe-cred-doc--text { cursor: default; align-items: center; gap: 12px; }
.pe-cred-doc--text:hover { transform: none; box-shadow: none; }
.pe-cred-doc__ico {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	background: rgba(212, 167, 44, .12); color: var(--pe-gold, #d4a72c);
}
.pe-cred-doc__ico svg { width: 20px; height: 20px; }
.pe-cred-doc__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pe-cred-doc--text .pe-cred-doc__title { display: block; font-size: 15px; font-weight: 700; color: #16244c; line-height: 1.25; }
.pe-cred-doc--text .pe-cred-doc__sub { display: block; font-size: 13px; color: #5b6b84; line-height: 1.3; }
@media (max-width: 600px) {
	.pe-cred-doc--text { width: 100%; }
	.pe-cred-doc--text .pe-cred-doc__title { font-size: 14px; }
	.pe-cred-doc--text .pe-cred-doc__sub { font-size: 12.5px; }
}

/* v50: галочка на текстовой плашке диплома в зелёном, как на плашках со сканом (#177245) */
.pe-cred-doc__ico {
	background: #fff;
	color: #177245;
	box-shadow: 0 1px 4px rgba(28, 43, 74, .18);
	width: 30px; height: 30px;
}
.pe-cred-doc__ico svg { width: 17px; height: 17px; }

/* v51: на текстовой плашке диплома та же печать с галочкой, что и в карточках со сканом
   (эталон .pe-cred-doc__check: зелёная обводка #177245 на белом круге с тенью) */
.pe-cred-doc__ico {
	width: 34px; height: 34px;
	background: #fff;
	color: #177245;
	border-radius: 50%;
	padding: 3px;
	box-shadow: 0 1px 4px rgba(28, 43, 74, .18);
}
.pe-cred-doc__ico svg { width: 100%; height: 100%; }

/* ===== v52: блик на кнопках практики и сабмитах форм (решение Андрея 25.07: блик на ВСЕХ кнопках звонка/заявки) ===== */
.sp-card__cta::before {
	content: "";
	position: absolute; top: 0; bottom: 0; left: 0; width: 55%;
	background: linear-gradient(100deg, transparent 15%, rgba(255, 255, 255, .3) 50%, transparent 85%);
	transform: translate3d(-180%, 0, 0) skewX(-18deg);
	backface-visibility: hidden;
	animation: pe-shine 5.4s ease-in-out infinite;
	animation-delay: 1.2s;
	pointer-events: none;
}
.pe-form .wpcf7 input[type="submit"] {
	background-image: linear-gradient(100deg, transparent 42%, rgba(255, 255, 255, .28) 50%, transparent 58%);
	background-size: 240% 100%;
	background-repeat: no-repeat;
	background-position: 170% 0;
	animation: pe-shine-bg 5.4s ease-in-out infinite;
	animation-delay: 2.7s;
}
@keyframes pe-shine-bg {
	0%, 68% { background-position: 170% 0; }
	86%, 100% { background-position: -170% 0; }
}
@media (prefers-reduced-motion: reduce) {
	.sp-card__cta::before { animation: none !important; }
	.pe-form .wpcf7 input[type="submit"] { animation: none !important; }
}
@media (min-width: 900px) { .pe-situations--3 { grid-template-columns: 1fr 1fr 1fr; } }
/* v21b: главная — два диплома hero в ряд на десктопе, CTA ближе к первому экрану */
@media (min-width: 1100px) {
	.page-id-100 .pe-lawyer--v8 .pe-cred-doc { width: calc(50% - 10px); max-width: none; }
	.page-id-100 .pe-lawyer--v8 .pe-cred-doc + .pe-cred-doc { margin-left: 8px; }
	/* wpautop ставит <br> между дипломами: на десктопе он ломает ряд */
	.page-id-100 .pe-lawyer--v8 .pe-lawyer__body br { display: none; }
}

/* v21c: плотность hero главной — CTA к первому экрану (смыслы не режем, только вертикальные отступы) */
@media (min-width: 1100px) {
	.page-id-100 .pe-hero h1 { margin-bottom: 10px; }
	.page-id-100 .pe-hero__lead { margin-bottom: 20px; }
	.page-id-100 .pe-hero__scope { margin: 6px 0 14px; }
	.page-id-100 .pe-hero__team { margin: 8px 0 10px; }
	.page-id-100 .pe-lawyer--v8 .pe-cred-doc { margin-top: 10px; }
	.page-id-100 .pe-hero__cta { margin-top: 12px; }
}

/* v21d: в мобильной шапке полный график ("пн-пт 9-20 · сб-вс 10-16") рвался на три строки */
.pe-mobhead span { font-size: 10.5px; white-space: nowrap; letter-spacing: -.01em; }

/* ===== v53: плашка статуса «юрист онлайн» (график компании по времени Симферополя) =====
   Состояние ставит PHP при рендере, JS пересчитывает раз в минуту (вкладка живёт долго). */
.pe-status {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 7px 13px 7px 11px; border-radius: 999px;
	font-size: 13px; font-weight: 600; line-height: 1; white-space: nowrap;
}
.pe-status__dot {
	width: 9px; height: 9px; border-radius: 50%; flex: none;
	background: #2fb865; box-shadow: 0 0 0 3px rgba(47, 184, 101, .2);
	animation: pe-status-pulse 2.6s ease-in-out infinite;
}
.pe-status.is-off .pe-status__dot { background: #98a2b6; box-shadow: 0 0 0 3px rgba(152, 162, 182, .16); animation: none; }
@keyframes pe-status-pulse {
	0%, 100% { box-shadow: 0 0 0 3px rgba(47, 184, 101, .2); }
	50%      { box-shadow: 0 0 0 7px rgba(47, 184, 101, .04); }
}
@media (prefers-reduced-motion: reduce) { .pe-status__dot { animation: none !important; } }

/* чип поверх фото юриста в карточке hero */
.pe-lawyer__figure { position: relative; }
.pe-status--photo {
	position: absolute; top: 12px; left: 12px; z-index: 2;
	background: rgba(255, 255, 255, .94);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	color: #16244c;
	box-shadow: 0 4px 16px rgba(22, 36, 76, .22);
}
@media (max-width: 899px) { .pe-status--photo { top: 10px; left: 10px; } }

/* плашка в шапке (только главная): встаёт НА МЕСТО строки часов над телефоном — шапка на пределе,
   любой лишний элемент в строке роняет меню на вторую строку или выталкивает CTA за край. */
.pe-status--head { padding: 0; color: #fff; font-size: 12.5px; }
.pe-status--head .pe-status__dot { width: 8px; height: 8px; }
.pe-status--head.is-off { color: #c9d4ee; }
/* v73 (04.08.2026): блок скрытия .pe-headphone на 1201-1670 УДАЛЁН. Он прятал номер на главной,
   а видимым номер оставался только потому, что v57 ниже бьёт его !important — снял бы кто-нибудь
   important при чистке, и телефон исчез бы на 1280/1366/1440/1600. Место под меню больше не нужно
   отвоёвывать: состав слота задаётся v57, ширины проверены замерами. */
/* мобильная шапка: перебиваем общее правило .pe-mobhead span (оно красит статус в приглушённый) */
.pe-mobhead .pe-status--head, .pe-mobhead .pe-status--head .pe-status__text { color: #fff !important; }
.pe-mobhead .pe-status--head.is-off, .pe-mobhead .pe-status--head.is-off .pe-status__text { color: #c9d4ee !important; }
/* в бургер-меню шапка светлая — статус там тёмным */
#ast-mobile-popup .pe-status--head, #ast-mobile-popup .pe-status--head .pe-status__text,
.ast-mobile-header-content .pe-status--head, .ast-mobile-header-content .pe-status--head .pe-status__text { color: #16244c !important; }

/* v55: тёмный CTA на мобиле занимал 1,34 экрана (1135px при 844) — фото и шаги уезжали за край,
   блок читался как две разные секции. Ужимаем всё вертикальное, фото оставляем. */
@media (max-width: 680px) {
	.pe-cta { margin-bottom: 26px; }
	.pe-cta__in { padding-top: 24px; }
	.pe-cta__body { padding-bottom: 4px; }
	.pe-cta__title { font-size: 23px; line-height: 1.22; margin: 0 0 8px; }
	.pe-cta__sub { font-size: 15px; line-height: 1.45; margin: 0 0 16px; }
	.pe-cta__btns { gap: 9px; }
	.pe-cta__btns .pe-btn { padding: 12px 14px; font-size: 15px; }
	.pe-cta__note { font-size: 12.5px; line-height: 1.35; margin: 10px 0 0; }
	/* фото прижимаем к правому краю и подтягиваем вверх — иначе силуэт 140px висит по центру
	   пустой полосы; строка режима работы уходит левее и заполняет ряд */
	.pe-cta__photo { margin-top: -66px; text-align: right; pointer-events: none; }
	.pe-cta__body { position: relative; z-index: 1; }
	.pe-cta__photo img.pe-cta__img { max-height: 205px; margin-top: 0 !important; margin-right: -4px; }
	.pe-cta__photo::before { left: auto; right: 20px; transform: none; width: 220px; height: 170px; }
	.pe-cta__note { padding-right: 132px; }
	.pe-cta__steps { grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px 0 18px; }
	.pe-cta__step { font-size: 12.5px; line-height: 1.25; padding: 9px 10px; gap: 8px; }
	.pe-cta__step span { width: 24px; height: 24px; font-size: 12.5px; }
}

/* порог 1201, а не 922: на 922-1200 обёртка слота намеренно скрыта (v28h), и принудительный
   показ на 180px выдавливал кнопку CTA за правый край экрана */
@media (min-width: 1201px) {
  .site-header .ast-header-html-1 {
    flex: 0 0 180px;
    min-width: 180px;
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
  }
}

/* v56 → v73: якорные пункты меню WordPress помечает текущей страницей на главной, из-за чего там
   подсвечивались сразу несколько пунктов. Подсветку для них гасим.
   v73 (04.08.2026): добавлен вариант без слэша — пункт «Отзывы» записан как href="#otzyvy",
   под старый селектор [href^="/#"] он не попадал и горел золотом на главной вторым подчёркиванием. */
.main-header-menu .current-menu-item > .menu-link[href^="/#"]::after,
.main-header-menu .current_page_item > .menu-link[href^="/#"]::after,
.main-header-menu .current-menu-item > .menu-link[href^="#"]::after,
.main-header-menu .current_page_item > .menu-link[href^="#"]::after { display: none !important; }
.main-header-menu .current-menu-item > .menu-link[href^="/#"],
.main-header-menu .current_page_item > .menu-link[href^="/#"],
.main-header-menu .current-menu-item > .menu-link[href^="#"],
.main-header-menu .current_page_item > .menu-link[href^="#"] { color: #e8eefc !important; }

/* v57: состав слота шапки — телефон сверху, плашка статуса под ним (только на главной).
   Было: на 1201-1670 весь стек скрыт, а на главной возвращался ТОЛЬКО статус без номера;
   на внутренних страницах в слоте висела строка часов. Теперь номер виден везде и всегда,
   статус живёт под ним, часы из шапки убраны (график остаётся в подвале и в схеме). */
@media (min-width: 922px) {
  .site-header .ast-builder-html-element .pe-headstack {
    display: inline-flex !important;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 3px;
  }
  .site-header .ast-builder-html-element .pe-headphone { display: inline-block !important; }
  .site-header .ast-builder-html-element .pe-headstack__hours { display: none !important; }
  .site-header .ast-builder-html-element .pe-status--head { font-size: 12px; }
}


/* ============ v58: карусель специалистов на главной (блок #specialisty) ============
   Механика канона: .pe-car[data-pe-auto] + .pe-car-track (клоны, петля, точки, автопрокрутка,
   свайп) обслуживается pe-articles.php. Здесь только вид карточки .pe-tmc.
   Карточка вертикальная: фото во всю ширину, ФИО и статус лежат НА фото поверх градиента
   (приём канона .pe-lawyer__cap с карточки юриста на посадочных), ниже цифры, направления,
   диплом и кнопка. Селекторы с префиксом .pe-team-car: тема Astra бьёт по .entry-content p
   и перекрывает одноклассовые правила своими margin-bottom. */
.pe-team-car { margin-top: 12px; }
.pe-team-car .pe-car-item { flex: 0 0 100%; }
@media (min-width: 640px)  { .pe-team-car .pe-car-item { flex-basis: calc(50% - 9px); } }
@media (min-width: 1024px) { .pe-team-car .pe-car-item { flex-basis: calc(33.333% - 12px); } }

.pe-team-car .pe-tmc {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e6ecfa;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(22, 36, 76, .05);
	transition: transform .22s ease, box-shadow .22s ease;
}
.pe-team-car .pe-tmc:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(73, 120, 246, .14); }

.pe-team-car .pe-tmc__ph { position: relative; background: #f2f4f9; }
.pe-team-car .pe-tmc__ph img { width: 100%; height: auto; display: block; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 18%; }
/* Подпись на фото: градиент и типографика 1:1 с каноном pe-lawyer__cap.
   Теги инлайновые (span), блочность даёт CSS: wpautop оборачивает <img> в абзац и оставляет
   осиротевший </p>, если следом внутри блока стоит <div>. */
.pe-team-car .pe-tmc__head {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 36px 16px 12px;
	background: linear-gradient(180deg, transparent, rgba(13, 20, 45, .82));
}
.pe-team-car .pe-tmc__head > span { display: block; margin: 0; }
.pe-team-car .pe-tmc__name { font-size: 17px; font-weight: 700; line-height: 1.3; color: #fff; }
.pe-team-car .pe-tmc__head .pe-tmc__role { margin-top: 2px; font-size: 13px; font-weight: 500; line-height: 1.3; color: #c9d4ee; }

.pe-team-car .pe-tmc__body {
	flex: 1 1 auto;
	min-width: 0;
	padding: 12px 16px 12px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.pe-team-car .pe-tmc__body > * { margin: 0; }
/* Зоны тела зафиксированы по худшему случаю, чтобы направления, диплом и кнопка стояли на одной
   линии во всех карточках ряда: чипы до 2 рядов, плашка диплома до 3 строк. */
.pe-team-car .pe-tmc__stats { display: flex; gap: 18px; flex-wrap: wrap; min-height: 36px; }
.pe-team-car .pe-tmc__stat { display: flex; flex-direction: column; font-size: 12.5px; line-height: 1.3; color: #56607a; }
.pe-team-car .pe-tmc__stat b { font-size: 18px; font-weight: 700; color: #16244c; }
.pe-team-car .pe-tmc__dirs { display: flex; flex-wrap: wrap; gap: 6px; align-content: flex-start; min-height: 81px; }
.pe-team-car .pe-tmc__dirs-lb { width: 100%; font-size: 12.5px; color: #7b8398; }
.pe-team-car .pe-tmc__dir {
	display: inline-flex;
	padding: 4px 11px;
	border-radius: 999px;
	background: #eef3ff;
	color: #2b4a9e !important;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	transition: background .18s ease;
}
.pe-team-car .pe-tmc__dir:hover, .pe-team-car .pe-tmc__dir:focus { background: #dce7ff; }
.pe-team-car .pe-cred-doc { width: 100%; max-width: none; margin: 0; padding: 8px 12px 8px 8px; gap: 9px; min-height: 78px; align-items: center; }
.pe-team-car .pe-cred-doc__thumb img { width: 48px; }
.pe-team-car .pe-cred-doc__check { width: 18px; height: 18px; right: -6px; bottom: -6px; }
.pe-team-car .pe-cred-doc__title { font-size: 13px; }
.pe-team-car .pe-cred-doc__sub { font-size: 12.5px; margin-top: 2px; }
/* текстовая плашка (у кого нет скана): иконка занимает ту же ширину, что миниатюра,
   иначе текст в ней начинается на 18 px левее, чем в соседних карточках */
.pe-team-car .pe-cred-doc__ico { width: 30px; height: 30px; margin: 0 9px; }
.pe-team-car .pe-tmc__cta { margin: auto 0 0; }
.pe-team-car .pe-tmc__cta .pe-btn { margin: 0; min-height: 44px; padding: 11px 20px; font-size: 15px; }
/* бар точек: поджат к карточкам (канон даёт 16px, на этом блоке это лишний воздух).
   min-height и align-items обязательны: канонная высота бара 7px, а активная точка 9px,
   она вылезала и обрезалась по overflow:hidden у .pe-car. */
.pe-team-car .pe-dots { margin-top: 10px; min-height: 14px; align-items: center; }

@media (max-width: 639px) {
	.pe-team-car { margin-top: 12px; }
	.pe-team-car .pe-tmc__ph img { aspect-ratio: 4 / 3; object-position: 50% 18%; }
	.pe-team-car .pe-tmc__head { padding: 32px 14px 11px; }
	.pe-team-car .pe-tmc__name { font-size: 16px; }
	.pe-team-car .pe-tmc__head .pe-tmc__role { font-size: 12.5px; }
	.pe-team-car .pe-tmc__body { padding: 12px 14px 14px; gap: 7px; }
	/* На телефоне в кадре одна карточка, выравнивать не с чем: резервы зон снимаем и отпускаем
	   карточку по содержимому, иначе под чипами и над кнопкой висит пустота. */
	.pe-team-car .pe-car-item { align-self: flex-start; }
	.pe-team-car .pe-tmc__stats,
	.pe-team-car .pe-tmc__dirs,
	.pe-team-car .pe-cred-doc { min-height: 0; }
	.pe-team-car .pe-tmc__cta { margin: 0; }
	.pe-team-car .pe-tmc__stats { gap: 14px; }
	.pe-team-car .pe-tmc__stat b { font-size: 17px; }
	.pe-team-car .pe-tmc__dir { padding: 4px 10px; font-size: 12.5px; }
	.pe-team-car .pe-cred-doc { padding: 6px 10px 6px 6px; gap: 8px; }
	.pe-team-car .pe-cred-doc__thumb img { width: 50px; }
	.pe-team-car .pe-cred-doc__title { font-size: 13px; }
	.pe-team-car .pe-cred-doc__sub { font-size: 12px; }
	.pe-team-car .pe-tmc__cta .pe-btn { min-height: 42px; padding: 9px 16px; font-size: 14.5px; }
	.pe-team-car .pe-dots { margin-top: 6px; }
}
@media (prefers-reduced-motion: reduce) {
	.pe-team-car .pe-tmc { transition: none; }
	.pe-team-car .pe-tmc:hover { transform: none; }
}

/* ============ v59: сетка карточек на странице специалистов ============
   Вид карточки — тот же .pe-tmc, что в карусели на главной, поэтому контейнер несёт оба класса:
   .pe-team-car отвечает за карточку, .pe-team-grid раскладывает карточки сеткой вместо ленты.
   Ничего из v58 не переопределяем: правка карточки на главной автоматически приезжает и сюда. */
.pe-team-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 14px;
}
/* Вся карточка кликабельна: заголовок ведёт на страницу юриста, кнопка внизу дублирует переход. */
.pe-team-grid .pe-tmc__name a { color: inherit; text-decoration: none; }
.pe-team-grid .pe-tmc__name a:hover { text-decoration: underline; }

/* ============ v60: hero главной — две колонки, фото команды справа ============
   Все правила с префиксом-предком .pe-hero: тема Astra бьёт .entry-content p/a со специфичностью
   0,2,0 и перекрывает одноклассовые правила плагина.
   Имя pe-hero__team НЕ использовать: занято правилом v21 (max-width: 70ch), режет фото до 683px.
   Схема собрана по разбору шести конкурентов (05.08): ни один не отдаёт первый экран общему фото,
   у всех слева заголовок + оффер + действие, справа люди и ОДИН пруф. Наша прошлая версия отдавала
   фото 650px из 900 и уводила кнопки на 976 — за сгиб.
   Фото держит родное соотношение 1.5:1, поэтому не кадрируется вообще: колонка узкая, высота
   сходится с текстовой колонкой без обрезки людей. */

.pe-hero .pe-hero__card { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); column-gap: 34px; align-items: center; }
.pe-hero .pe-hero__main { min-width: 0; }

/* правая колонка: фото и единственный пруф — рейтинг */
.pe-hero .pe-hero__crew { position: relative; margin: 0; border-radius: 16px; overflow: hidden; background: #eef1f8; }
.pe-hero .pe-hero__crew-img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: center 42%; margin: 0; }
.pe-hero .pe-hero__rate { position: absolute; left: 14px; right: 14px; bottom: 14px; display: flex; flex-direction: column; gap: 2px; padding: 11px 16px; border: 1px solid rgba(255,255,255,.28); border-radius: 14px; background: rgba(9,15,36,.62); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); text-decoration: none !important; color: #fff; }
.pe-hero .pe-hero__rate:hover { background: rgba(9,15,36,.78); border-color: rgba(255,255,255,.45); }
.pe-hero .pe-hero__rate-n { font-size: 23px; font-weight: 800; line-height: 1.1; color: #fff; }
.pe-hero .pe-hero__rate-stars { margin-left: 9px; font-size: 15px; color: #ffc75a; letter-spacing: 1px; }
.pe-hero .pe-hero__rate-l { font-size: 13px; line-height: 1.3; color: rgba(255,255,255,.85); }

/* вход в направления: короткая строка ссылок, не сетка карточек (сетка дублировала блок услуг) */
.pe-hero .pe-hero__dirs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 0; }
.pe-hero .pe-hero__dirs-t { margin-right: 2px; font-size: 14px; color: #5b6480; }
.pe-hero .pe-hdir { padding: 7px 13px; border: 1px solid #dfe6f5; border-radius: 999px; background: #fff; font-size: 14px; line-height: 1.2; color: var(--pe-navy); text-decoration: none !important; }
.pe-hero .pe-hdir:hover { border-color: #4978f6; color: #4978f6; }
.pe-hero .pe-hdir--all { border-style: dashed; color: #5b6480; }

/* в колонке 560px три кнопки в ряд ломали подписи на три строки: основная во всю ширину,
   мессенджеры парой под ней */
.pe-hero .pe-hero__cta { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.pe-hero .pe-hero__cta > .pe-btn--shine { grid-column: 1 / -1; }
.pe-hero .pe-hero__note { margin-top: 14px; }
.pe-hero .pe-hero__main > h1 { font-size: clamp(28px, 2.5vw, 36px); }

/* на планшете и телефоне колонки в стек по порядку разметки: заголовок, оффер, кнопки,
   направления, и уже под ними фото. Кнопка попадает в первый экран телефона, а фото служит
   доказательством для тех, кто листает дальше. */
@media (max-width: 900px) {
  .pe-hero .pe-hero__card { display: block; }
  .pe-hero .pe-hero__crew { margin: 14px 0 0; }
  .pe-hero .pe-hero__crew-img { aspect-ratio: 16 / 9; object-position: center 22%; }
  .pe-hero .pe-hero__rate { left: 12px; right: 12px; bottom: 12px; padding: 9px 14px; }
  .pe-hero .pe-hero__rate-n { font-size: 20px; }
  .pe-hero .pe-hero__rate-l { font-size: 12.5px; }
  .pe-hero .pe-hero__dirs { gap: 7px; margin: 14px 0 0; }
  .pe-hero .pe-hdir { padding: 6px 11px; font-size: 13.5px; }
}

/* ===== v61 БФЛ (стр. 687): тизер дела в hero, сравнение платежей в ценах, подпись практики ===== */
.pe-hero__proof{margin:18px 0 4px;padding:14px 16px 14px 18px;background:#fff;border:1px solid #e6ecfa;border-left:3px solid var(--pe-gold,#d4a72c);border-radius:12px;box-shadow:0 2px 10px rgba(22,36,76,.05)}
.pe-hero__proof .pe-hero__proof-t{margin:0 0 5px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5b6b84}
.pe-hero__proof .pe-hero__proof-d{margin:0;font-size:15.5px;line-height:1.5;color:#16244c}
.pe-hero__proof .pe-hero__proof-d strong{font-size:17px;white-space:nowrap}
.pe-hero__proof .pe-hero__proof-d a{color:#4978f6}
@media (max-width:600px){.pe-hero__proof{padding:12px 14px;margin:14px 0 2px}.pe-hero__proof .pe-hero__proof-d{font-size:14.5px}}

.pe-price-compare{margin:22px 0 26px;padding:18px 20px;background:linear-gradient(180deg,#f7f9ff,#eef3ff);border:1px solid #dfe7fa;border-radius:14px}
.pe-price-compare .pe-price-compare__t{margin:0 0 6px;font-size:17px;font-weight:700;color:#16244c}
.pe-price-compare .pe-price-compare__d{margin:0;font-size:15.5px;line-height:1.62;color:#31405e}
@media (max-width:600px){.pe-price-compare{padding:15px 16px}.pe-price-compare .pe-price-compare__d{font-size:14.5px}}

.sp-practice .sp-foot{margin:16px 16px 0;font-size:14.5px;line-height:1.55;color:#5b6b84}
@media (min-width:901px){.sp-practice .sp-foot{margin-inline:0}}

/* v60b: верх hero и фото собраны в один модуль (Андрей: текст отставал по дизайну от фото).
   Карточка на всю ширину контента, фото прижато к её краям отрицательным margin,
   нижние углы режет overflow: hidden самой карточки. */
.pe-hero .pe-hero__card { background: #fff; border: 1px solid rgba(13,20,45,.07); border-radius: 20px; box-shadow: 0 18px 44px rgba(13,20,45,.09); padding: 20px 30px 0; overflow: hidden; }
.pe-hero .pe-hero__card > h1 { margin-top: 0; }
.pe-hero .pe-hero__card .pe-hero__crew { margin: 14px -30px 0; border-radius: 0; }

@media (max-width: 640px) {
  .pe-hero .pe-hero__card { padding: 20px 16px 0; border-radius: 16px; box-shadow: 0 12px 30px rgba(13,20,45,.08); }
  .pe-hero .pe-hero__card .pe-hero__crew { margin: 16px -16px 0; }
  .pe-hero .pe-hero__card .pe-hero__crew-img { border-radius: 0; }
  .pe-hero .pe-hero__card .pe-hero__crew-cap { border-radius: 0; }
  .pe-hero .pe-hero__card .pe-hero__facts { margin: 14px 16px 18px; }
}

/* ============ v60: карточка в сетке специалистов и цепочка шагов ============ */

/* Статы уезжают на фото, к имени и должности: в белой части остаются направления,
   дипломы и кнопка. Приём тот же, что в подписи .pe-tmc__head, только строкой ниже. */
.pe-team-grid .pe-tmc__head { padding-top: 64px; }
/* .pe-team-car .pe-tmc__head > span задаёт block всем детям подписи — перебиваем адресно */
.pe-team-grid .pe-tmc__head > .pe-tmc__stats--onphoto {
	display: flex;
	gap: 22px;
	margin-top: 12px;
	padding-top: 11px;
	min-height: 0;
	border-top: 1px solid rgba(255, 255, 255, .22);
}
.pe-team-grid .pe-tmc__stats--onphoto .pe-tmc__stat {
	display: flex;
	flex-direction: column;
	gap: 1px;
	font-size: 11.5px;
	line-height: 1.2;
	color: #c9d4ee;
}
.pe-team-grid .pe-tmc__stats--onphoto .pe-tmc__stat b {
	font-size: 18px;
	line-height: 1.15;
	font-weight: 700;
	color: #fff;
}
/* дипломов в карточке теперь два: гасим нижний отступ у первого, чтобы шли парой */
.pe-team-grid .pe-tmc__body .pe-cred-doc + .pe-cred-doc { margin-top: -2px; }

/* Цепочка шагов: номера на вертикальной линии, чтобы порядок читался сверху вниз. */
.pe-flow {
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
	counter-reset: pe-flow;
}
.pe-flow li {
	position: relative;
	padding: 0 0 24px 54px;
}
.pe-flow li::before {
	counter-increment: pe-flow;
	content: counter(pe-flow);
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--pe-blue);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
.pe-flow li::after {
	content: "";
	position: absolute;
	left: 16px;
	top: 40px;
	bottom: 4px;
	width: 2px;
	background: #dbe4fb;
}
.pe-flow li:last-child { padding-bottom: 0; }
.pe-flow li:last-child::after { display: none; }
.pe-flow__t {
	display: block;
	margin-bottom: 4px;
	font-size: 17px;
	font-weight: 700;
	color: #16244c;
}
.pe-flow__d {
	display: block;
	font-size: 16px;
	line-height: 1.55;
	color: #56607a;
}
@media (max-width: 600px) {
	.pe-flow li { padding-left: 46px; padding-bottom: 20px; }
	.pe-flow li::before { width: 30px; height: 30px; font-size: 14px; }
	.pe-flow li::after { left: 14px; top: 36px; }
	.pe-flow__t { font-size: 16px; }
	.pe-flow__d { font-size: 15.5px; }
}

/* ============ v61: список юристов строками на странице специалистов ============
   Карточка — та же .pe-lawyer--v8, что в hero страниц услуг: фото слева, регалии справа.
   Здесь добавлены только направления, сетка дипломов и кнопка в профиль. */
.pe-team-list { display: grid; gap: 20px; margin-top: 16px; }
.pe-team-list .pe-team-row { margin: 0; scroll-margin-top: 90px; }
.pe-team-list .pe-lawyer__body { padding: 26px 30px 24px; justify-content: flex-start; }
.pe-team-list .pe-lawyer__name a { color: inherit; text-decoration: none; }
.pe-team-list .pe-lawyer__name a:hover { color: var(--pe-blue); }
.pe-team-list .pe-lawyer__stats { margin: 18px 0 0; }

.pe-team-row__dirs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 0; }
.pe-team-row__lb { font-size: 13px; color: #7b8398; }
.pe-dir {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: 999px;
	background: #eef3ff;
	color: #2b4a9e !important;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background .18s ease;
}
.pe-dir:hover, .pe-dir:focus { background: #dce7ff; }

/* дипломы парой: в строке места хватает на две карточки, на узком — в столбик */
.pe-creds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.pe-creds .pe-cred-doc { margin: 0; }
.pe-team-row__cta { margin: 20px 0 0; }
.pe-team-row__cta .pe-btn { margin: 0; }

@media (max-width: 1023px) { .pe-creds { grid-template-columns: 1fr; } }
@media (max-width: 899px) {
	.pe-team-list .pe-lawyer__body { padding: 20px 20px 22px; }
	.pe-team-list .pe-lawyer__stats { margin-top: 14px; }
	.pe-team-row__dirs { margin-top: 14px; }
	.pe-creds { margin-top: 14px; }
}
/* портреты в списке вертикальные и студийные: кадрируем по лицу, а не по правилу для сюжетных фото */
.pe-team-list .pe-lawyer--v8 .pe-lawyer__photo { object-position: 50% 16%; }
@media (max-width: 899px) {
	.pe-team-list .pe-lawyer--v8 .pe-lawyer__photo { height: 300px; object-position: 50% 14%; }
}

/* ================= v62 (30.07.2026): блок «Услуги» на главной — две колонки, иконки без плашек, стрелка вместо повтора CTA ================= */

/* 10 карточек в две колонки = 5 ровных рядов, одинокой карточки в хвосте нет */
@media (min-width: 900px) {
	.pe-situations--3 { grid-template-columns: 1fr 1fr; gap: 16px; }
	.pe-situations--3 .pe-situation { padding: 22px 56px 22px 20px; column-gap: 18px; }
	.pe-situations--3 .pe-situation__title { font-size: 18px; }
	.pe-situations--3 .pe-situation__desc { font-size: 15px; }
}

/* строки «Услуги и цены» больше нет: иконка занимает два ряда, справа — место под стрелку */
.pe-situation {
	position: relative;
	grid-template-rows: auto auto;
	padding-right: 48px;
}
.pe-situation__icon { grid-row: 1 / 3; }

/* иконка без тёмной плашки: знак в фирменном navy, на наведении — синий */
.pe-situation__icon {
	background: none;
	border-radius: 0;
	width: 46px;
	height: 46px;
}
.pe-situation__icon svg { width: 40px; height: 40px; color: var(--pe-navy); }
.pe-situation:hover .pe-situation__icon svg,
.pe-situation:focus .pe-situation__icon svg { color: var(--pe-blue); }

/* одна стрелка перехода на карточку вместо десяти повторов «Услуги и цены» */
.pe-situation::after {
	content: "\2192";
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -12px;
	font-size: 22px;
	line-height: 1;
	color: var(--pe-gold);
	transition: transform .18s ease;
}
.pe-situation:hover::after,
.pe-situation:focus::after { transform: translateX(4px); }

@media (prefers-reduced-motion: reduce) {
	.pe-situation::after { transition: none; }
	.pe-situation:hover::after, .pe-situation:focus::after { transform: none; }
}

/* v62b: зона описания под две строки — заголовки карточек в ряду встают на одну линию */
@media (min-width: 900px) {
	.pe-situations--3 .pe-situation__desc { min-height: 42px; }
}
/* ===== Волна 1, пилот на стр. 106. Добавлено 31.07.2026 =====
   Один эффект: счёт цифр. Подсветка плитки снята 01.08.2026 (не работала на цели).
   Появление секций (.pe-reveal) и sticky-бар в плагине уже есть, не дублируем.
   Цепляется за существующие классы, разметку страниц не трогает.
   Откат: удалить этот блок + блок pravo_wave1 из pravo-blocks.php. */

/* Табличные цифры, чтобы строка не дёргалась по ширине во время счёта. */
.pe-w1 .pe-stat__num,
.pe-w1 .pe-hfact__n { font-variant-numeric: tabular-nums; }

/* ===== v63 (01.08.2026): страница «Контакты» — блок офисов с картой ([pravo_nap]) ===== */
.pe-nap--map { display: grid; gap: 22px; padding: 24px 22px; }
@media (min-width: 900px) {
	.pe-nap--map { grid-template-columns: 1fr 1.15fr; align-items: stretch; gap: 28px; padding: 28px 26px; }
}
.pe-nap--map .pe-nap__list { margin: 0 0 16px; }
.pe-nap--map .pe-nap__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 0 0 14px;
	border-bottom: 0;
	line-height: 1.35;
}
.pe-nap--map .pe-nap__item:last-child { padding-bottom: 0; }
.pe-nap--map .pe-nap__item > svg { width: 20px; height: 20px; color: var(--pe-blue); flex-shrink: 0; margin-top: 2px; }
.pe-nap__note { display: block; margin-top: 3px; font-size: 14px; color: #56607a; }
.pe-nap--map .pe-map__links { margin-top: 16px; }
.pe-nap--map .pe-map__frame { min-height: 280px; }
@media (min-width: 900px) { .pe-nap--map .pe-map__frame { min-height: 340px; height: 100%; } }

/* ================= Карта услуг (страница /uslugi/) ================= */
.pe-svcmap-find { margin: 0 0 22px; }
.pe-svcmap-find__lb { display: block; margin: 0 0 8px; font-size: 15px; font-weight: 700; color: var(--pe-navy); }
.pe-svcmap-find__row { position: relative; }
.pe-svcmap-q { width: 100%; box-sizing: border-box; padding: 15px 44px 15px 46px; border: 1px solid #d8e0f2; border-radius: 14px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234978f6' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E") 16px 50% / 20px 20px no-repeat; font-size: 16px; color: var(--pe-navy); box-shadow: 0 1px 3px rgba(22, 36, 76, .05); appearance: none; }
.pe-svcmap-q::-webkit-search-cancel-button { display: none; }
.pe-svcmap-q:focus { outline: none; border-color: var(--pe-blue); box-shadow: 0 0 0 3px rgba(73, 120, 246, .16); }
.pe-svcmap-q::placeholder { color: #8a93a8; }
.pe-svcmap-reset { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 0; background: none; color: #8a93a8; font-size: 24px; line-height: 1; cursor: pointer; }
.pe-svcmap-reset:hover, .pe-svcmap-reset:focus { color: var(--pe-navy); }
.pe-svcmap-status { margin: 8px 0 0; font-size: 14px; color: #56607a; }
.pe-svcmap-status:empty { margin: 0; }
.pe-svcmap-empty { margin: 10px 0 0; padding: 12px 14px; border-radius: 12px; background: #fff6e6; font-size: 15px; line-height: 1.45; color: var(--pe-navy); }

.pe-svcmap { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pe-svcmap__card { display: grid; grid-template-rows: auto 1fr auto; background: #fff; border: 1px solid #e6ecfa; border-radius: 16px; padding: 20px; box-shadow: 0 1px 3px rgba(22, 36, 76, .05); }
.pe-svcmap__head { display: grid; grid-template-columns: 56px 1fr 30px; column-gap: 14px; align-items: center; padding-bottom: 14px; }
.pe-svcmap__ava { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: top center; background: #eef3ff; }
.pe-svcmap__icon { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; color: var(--pe-navy); }
.pe-svcmap__icon svg { width: 40px; height: 40px; }
.pe-svcmap__mark { display: flex; width: 30px; height: 30px; color: #b9c6e6; }
.pe-svcmap__mark svg { width: 100%; height: 100%; }
.pe-svcmap__title { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.25; }
.pe-svcmap__title a { color: var(--pe-navy); text-decoration: none !important; }
.pe-svcmap__title a:hover, .pe-svcmap__title a:focus { color: var(--pe-blue); }
.pe-svcmap__meta { margin: 4px 0 0; font-size: 13.5px; line-height: 1.35; color: #56607a; }
.pe-svcmap__list { margin: 0; padding: 0; list-style: none; }
.pe-svcmap__list li { border-top: 1px solid #eef1f8; }
.pe-svcmap__list a { display: block; position: relative; padding: 9px 26px 9px 0; color: var(--pe-navy); text-decoration: none !important; font-size: 15px; line-height: 1.35; }
.pe-svcmap__list a::after { content: "\2192"; position: absolute; right: 4px; top: 50%; margin-top: -11px; font-size: 17px; line-height: 1; color: var(--pe-gold); }
.pe-svcmap__list a:hover, .pe-svcmap__list a:focus { color: var(--pe-blue); }
.pe-svcmap__all { margin: 14px 0 0; font-size: 15px; font-weight: 600; }
.pe-svcmap__all a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 11px 18px; border-radius: 12px; background: #eef3ff; color: var(--pe-blue); text-decoration: none !important; transition: background-color .15s ease, color .15s ease; }
.pe-svcmap__all a:hover, .pe-svcmap__all a:focus { background: var(--pe-blue); color: #fff !important; }
.pe-svcmap__allarr { transition: transform .15s ease; }
.pe-svcmap__all a:hover .pe-svcmap__allarr, .pe-svcmap__all a:focus .pe-svcmap__allarr { transform: translateX(3px); }
.pe-svcmap .is-hidden, .pe-svcmap__list .is-hidden { display: none; }
@media (max-width: 899px) { .pe-svcmap { grid-template-columns: 1fr; gap: 14px; } }
@media (max-width: 480px) {
	.pe-svcmap__card { padding: 18px 16px; }
	.pe-svcmap__head { grid-template-columns: 48px 1fr; column-gap: 12px; }
	.pe-svcmap__ava, .pe-svcmap__icon { width: 48px; height: 48px; }
	.pe-svcmap__mark { display: none; }
	.pe-svcmap__title { font-size: 17px; }
	.pe-svcmap-q { font-size: 16px; padding: 14px 40px 14px 42px; }
}

/* ================= v64 (01.08.2026): блок «Услуги» на главной — строка фактов в карточке и компактная карточка на телефоне =================
   Всё под #uslugi: те же классы .pe-situation живут на «Контактах», их правила трогать нельзя. */

/* третий ряд карточки: «от 7 500 ₽ · 10 дел в практике» (шорткод pe_svc_facts) */
#uslugi .pe-situation { grid-template-rows: auto auto auto; }
#uslugi .pe-situation__icon { grid-row: 1 / 4; }

#uslugi .pe-situation__facts {
	grid-column: 2;
	display: block;
	margin-top: 3px;
	font-size: 13.5px;
	line-height: 1.3;
	color: #6b7590;
	font-variant-numeric: tabular-nums;
}
#uslugi .pe-situation__price { font-weight: 700; color: var(--pe-navy); }

/* телефон: карточка ужата, чтобы 12 направлений просматривались взглядом, а не вычитывались */
@media (max-width: 699px) {
	#uslugi .pe-situations { gap: 10px; }
	#uslugi .pe-situation {
		padding: 11px 34px 11px 12px;
		column-gap: 12px;
		row-gap: 2px;
		border-radius: 14px;
	}
	#uslugi .pe-situation__icon { width: 34px; height: 34px; }
	#uslugi .pe-situation__icon svg { width: 30px; height: 30px; }
	#uslugi .pe-situation__title { font-size: 15px; line-height: 1.25; }
	#uslugi .pe-situation__desc { font-size: 12.5px; line-height: 1.32; }
	#uslugi .pe-situation__facts { font-size: 12px; margin-top: 2px; }
	#uslugi .pe-situation::after { right: 14px; font-size: 19px; margin-top: -10px; }
}

/* ================= v65 (02.08.2026): мобильные правки по разбору Андрея ================= */

/* 1. /specialisty/: кнопка «Подробнее о юристе» на телефоне жалась влево — тянем на всю ширину карточки */
@media (max-width: 640px) {
	.pe-team-row__cta .pe-btn { display: block; width: 100%; }
}

/* 4. Главная, карусель специалистов: на телефоне карточки разъезжались по высоте
      (у Москаленко плашка диплома текстовая и выше, у Добренького чипы в два ряда).
      Возвращаем резервы зон и общее растягивание — в ленте все карточки одной высоты. */
@media (max-width: 639px) {
	.pe-team-car .pe-car-item { align-self: stretch; }
	.pe-team-car .pe-tmc__dirs { min-height: 62px; }
	.pe-team-car .pe-cred-doc { min-height: 82px; }
	.pe-team-car .pe-tmc__cta { margin-top: auto; }
}

/* v66 (02.08.2026): на страницах юристов заголовок блока практики стоит в контенте,
   а шапка карусели остаётся пустой (в ней только стрелки) — снимаем её отступ,
   иначе между H2 и карточками 66 px против 26 px на эталонных страницах услуг. */
.sp-head--bare { margin: 0; }

/* v67 (02.08.2026): подсветка совпадений в трёх поисках (дела, статьи, карта услуг)
   и мягкое затухание ленты, пока живой поиск ждёт ответ. */
mark.pe-hl {
	background: rgba(224, 168, 45, .30);
	color: inherit;
	border-radius: 3px;
	padding: 0 1px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
.pl-lib.is-loading .pl-lib__list { opacity: .55; transition: opacity .12s ease; }
.pl-lib__list { transition: opacity .12s ease; }

/* v68 (02.08.2026): поиск в делах и статьях приведён к эталону карты услуг —
   форма перестаёт быть флексом «поле + кнопка», подпись встаёт над полем. */
.pl-lib__search.pe-svcmap-find { display: block; margin: 0 0 18px; }
.pl-lib__search.pe-svcmap-find .pl-lib__go { margin-top: 10px; }

/* v68b: поле поиска в делах и статьях — те же объявления, что у эталона, но с приоритетом
   над старым правилом .pl-lib__search input[type="search"] (иначе не было ни лупы, ни отступов). */
.pl-lib .pe-svcmap-find .pe-svcmap-q { width: 100%; box-sizing: border-box; padding: 15px 44px 15px 46px; border: 1px solid #d8e0f2; border-radius: 14px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234978f6' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E") 16px 50% / 20px 20px no-repeat; font-size: 16px; color: var(--pe-navy); box-shadow: 0 1px 3px rgba(22, 36, 76, .05); appearance: none; }
.pl-lib .pe-svcmap-find .pe-svcmap-q::-webkit-search-cancel-button { display: none; }
.pl-lib .pe-svcmap-find .pe-svcmap-q:focus { outline: none; border-color: var(--pe-blue); box-shadow: 0 0 0 3px rgba(73, 120, 246, .16); }

/* Крестик очистки рисовался и на пустом поле: у .pe-svcmap-reset стоит display:flex,
   он перебивает атрибут hidden. Касается и карты услуг (эталон), и библиотеки. */
.pe-svcmap-reset[hidden] { display: none; }

/* v69 (02.08.2026): фильтр прайса — строки и блоки остаются в разметке, прячем классом. */
.pe-pricefind { margin: 0 0 22px; }
.pe-price-li.is-hidden, .pe-sect--price.is-hidden { display: none; }
.pe-pricefind .pe-svcmap-q { padding: 15px 44px 15px 46px; }

/* v69b: единый вид поля во всех трёх поисках (карта услуг, прайс, библиотека).
   Тема Astra перебивает одноклассовое правило .pe-svcmap-q своим input[type="search"],
   поэтому повторяем объявления с большей специфичностью. */
.pe-svcmap-wrap .pe-svcmap-q,
.pe-pricefind .pe-svcmap-q { width: 100%; box-sizing: border-box; padding: 15px 44px 15px 46px; border: 1px solid #d8e0f2; border-radius: 14px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234978f6' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E") 16px 50% / 20px 20px no-repeat; font-size: 16px; color: var(--pe-navy); box-shadow: 0 1px 3px rgba(22, 36, 76, .05); appearance: none; }
.pe-svcmap-wrap .pe-svcmap-q::-webkit-search-cancel-button,
.pe-pricefind .pe-svcmap-q::-webkit-search-cancel-button { display: none; }
.pe-svcmap-wrap .pe-svcmap-q:focus,
.pe-pricefind .pe-svcmap-q:focus { outline: none; border-color: var(--pe-blue); box-shadow: 0 0 0 3px rgba(73, 120, 246, .16); }

/* v70 (02.08.2026): строка действия под каждым блоком прайса. Клиент на этой странице
   уже выбирает исполнителя и считает бюджет — ему нужна точная сумма по своей ситуации,
   поэтому кнопка неяркая (не перебивает прайс) и рядом снята цена вопроса. */
.pe-price-cta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin: 14px 0 0;
}
.pe-price-cta__note { font-size: 14px; color: #5b6b84; }
@media (max-width: 560px) {
	.pe-price-cta .pe-btn { width: 100%; text-align: center; }
	.pe-price-cta__note { font-size: 13.5px; }
}

/* v70 (03.08.2026): sp-more — ссылка на библиотеку дел в шапке блока практики, правый угол напротив H2 (все страницы с sp-practice) */
.sp-practice .sp-more { font-size: 15px; font-weight: 600; color: var(--pe-blue); text-decoration: none; white-space: nowrap; margin: 0 0 8px; }
.sp-practice .sp-more::after { content: " \2192"; }
.sp-practice .sp-more:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
	.sp-practice .sp-more { white-space: normal; margin: 0; font-size: 14px; }
}

/* v71 (03.08.2026): верхняя полоса шапки — восстановление слияния после затирания
   (решение Андрея 26.07: двухэтажная шапка на пробу). Адрес → Я.Карты, график, MAX/Telegram.
   Часы переехали сюда из слота телефона (статус v53 остался у номера). Скрыта ≤921:
   на мобиле шапка лого+телефон+бургер, полоса съела бы экран. */
.pe-topbar { background: #0d142d; border-bottom: 1px solid rgba(255,255,255,.07); }
.pe-topbar .ast-container { display: flex; align-items: center; gap: 22px; padding-top: 6px; padding-bottom: 6px; font-size: 13.5px; line-height: 1.3; }
@media (max-width: 921px) { .pe-topbar { display: none; } }

/* v71b: на 1201-1300 с восьмипунктовым меню («Статьи» добавились после старых замеров) кнопка CTA
   выдавливалась за правый край на ~28px. Слот телефона ужат 180 → 145 (номер занимает 137)
   и паддинги пунктов 5 → 4: суммарно ~50px экономии, строка входит с запасом. */
@media (min-width: 1201px) and (max-width: 1300px) {
  .site-header .ast-header-html-1 { flex: 0 0 145px; min-width: 145px; }
  .main-header-menu > li > a { padding: 0 4px !important; font-size: 14.5px !important; }
  /* на самой границе 1201 кнопке не хватало 3px — чуть уже её паддинги */
  .site-header .ast-header-button-1 .ast-custom-button,
  .site-header .ast-header-button-1 .ast-custom-button-link { padding-left: 12px !important; padding-right: 12px !important; }
}

/* v71c → v73 (04.08.2026): скрытие «Главной» на 922-1200 СНЯТО. Оно противоречило принятому
   составу шапки («8 пунктов с Главной на всех страницах»): на планшетах пункт молча пропадал.
   Место под восьмой пункт освобождено в блоке v73 в конце файла. */

/* v71d: бургер мобильной шапки вылезал за экран на 5px (правая секция шире места из-за паддинга
   тогглера 12px) — давний баг из заметок, чинится ужатием паддинга */
@media (max-width: 921px) {
  .site-header .main-header-menu-toggle { padding-right: 5px !important; }
}

/* v71g (03.08.2026): спиннер CF7 стоял в потоке после кнопки на всю ширину и распирал форму
   на 48px — то самое переполнение 398 vs 350 на мобиле, жившее на главной, /uslugi/ и /ceny/.
   Выводим из потока: лоадер крутится на самой кнопке справа, ширину не двигает. */
.pe-form .pe-form3-line { position: relative; }
.pe-form .pe-form3-line .wpcf7-spinner { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); margin: 0; }

/* v72 (03.08.2026, А.6): плита cookie-уведомления. На мобиле поднята над sticky-баром 56px. */
.pe-cookiebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99989; background: rgba(13,20,45,.96); backdrop-filter: blur(8px); box-shadow: 0 -6px 24px rgba(10,18,44,.28); }
.pe-cookiebar__in { max-width: 1200px; margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; gap: 18px; }
.pe-cookiebar__txt { color: #dfe7fa; font-size: 13.5px; line-height: 1.45; }
.pe-cookiebar__txt a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.pe-cookiebar__txt a:hover { color: #9db8ff; }
.pe-cookiebar__btn { flex: 0 0 auto; border: 0; border-radius: 10px; background: var(--pe-blue, #4978f6); color: #fff; font-size: 14.5px; font-weight: 600; padding: 10px 22px; cursor: pointer; transition: background .2s ease; }
.pe-cookiebar__btn:hover { background: #3a66e0; }
@media (max-width: 782px) {
  /* v73 (04.08.2026): 56 → 57. Sticky-бар фактически 57px — кнопки 56 плюс border-top 1px;
     плита стояла на пиксель ниже и подрезала верхнюю границу бара. */
  .pe-cookiebar { bottom: calc(57px + env(safe-area-inset-bottom)); }
  .pe-cookiebar__in { padding: 10px 14px; gap: 12px; }
  .pe-cookiebar__txt { font-size: 12.5px; line-height: 1.4; }
  .pe-cookiebar__btn { padding: 9px 16px; font-size: 13.5px; }
}

/* ---------- Главная: галерея-доказательства ----------
   мобила — карусель канона .pe-car с точками, десктоп — коллаж-сетка.
   Клоны петли на десктопе гасятся: их добавляет JS для бесшовной прокрутки,
   в сетке они читались бы как дубли карточек. */
.pe-proof-car .pe-car-item {
	position: relative;
	margin: 0;
	border-radius: 16px;
	overflow: hidden;
	background: #eef1f7;
	box-shadow: 0 8px 22px rgba(22, 36, 76, .1);
}
.pe-proof-car .pe-car-item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	transition: transform .5s cubic-bezier(.2, .7, .3, 1);
}
.pe-proof-car .pe-car-item:hover img {
	transform: scale(1.05);
}
.pe-proof__cap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 70px 20px 20px;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: -.012em;
	background: linear-gradient(180deg, rgba(8, 14, 32, 0) 0%, rgba(8, 14, 32, .12) 28%, rgba(8, 14, 32, .68) 66%, rgba(8, 14, 32, .93) 100%);
	transition: background .35s ease;
}
.pe-proof-car .pe-car-item:hover .pe-proof__cap {
	background: linear-gradient(180deg, rgba(8, 14, 32, .05) 0%, rgba(8, 14, 32, .45) 40%, rgba(8, 14, 32, .9) 100%);
}
/* Деталь живёт только там, где есть чем навести: на тач-экранах её нет вовсе */
.pe-proof__sub { display: none; }
@media (hover: hover) and (min-width: 600px) {
	.pe-proof__sub {
		display: block;
		margin: 8px 0 0;
		font-size: 13.5px;
		font-weight: 400;
		line-height: 1.4;
		color: #c9d6f0;
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		transition: max-height .35s ease, opacity .3s ease, margin .35s ease;
	}
	.pe-proof-car .pe-car-item:hover .pe-proof__sub {
		max-height: 96px;
		opacity: 1;
	}
}
/* Десктоп: лента превращается в коллаж */
@media (min-width: 600px) {
	.pe-proof-car { overflow: visible; }
	.pe-proof-car .pe-car-track {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
		overflow: visible;
		padding: 0;
	}
	.pe-proof-car .pe-car-item[aria-hidden="true"] { display: none; }
	.pe-proof-car .pe-dots { display: none; }
}
@media (min-width: 900px) {
	.pe-proof-car .pe-car-track { grid-template-columns: repeat(3, 1fr); }
	.pe-proof-car .pe-car-item--wide { grid-column: 1 / -1; }
	.pe-proof-car .pe-car-item--wide img { aspect-ratio: 21 / 8; }
	.pe-proof-car .pe-car-item--wide .pe-proof__cap { padding-right: 42%; }
	.pe-proof__cap {
		padding: 74px 22px 21px;
		font-size: 17.5px;
	}
}
@media (max-width: 599px) {
	.pe-proof__cap {
		padding: 58px 17px 17px;
		font-size: 16.5px;
	}
}

/* ---------- CTA-полоса в конце блока цен ---------- */
.pe-ctabar {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin: 20px 0 0;
	padding: 20px 18px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--pe-navy) 0%, #2f4a8f 100%);
}
.pe-ctabar__t {
	margin: 0 0 6px;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}
.pe-ctabar__d {
	margin: 0;
	color: #d3dcf1;
	font-size: 15px;
	line-height: 1.45;
}
@media (min-width: 900px) {
	.pe-ctabar {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 28px;
		padding: 24px 28px;
	}
	.pe-ctabar__txt { flex: 1 1 auto; }
	.pe-ctabar__t { font-size: 21px; }
	.pe-ctabar .pe-btn { flex: 0 0 auto; }
}

/* ---------- Специалисты: роль и прошлый опыт раскрываются при наведении ----------
   Приём тот же, что в галерее. Где наведения нет, строка видна всегда:
   иначе на телефоне регалии юриста пропали бы совсем. */
.pe-team-car .pe-tmc__head .pe-tmc__role {
	max-height: 0;
	opacity: 0;
	margin-top: 0;
	overflow: hidden;
	transition: max-height .3s ease, opacity .25s ease, margin-top .3s ease;
}
.pe-team-car .pe-car-item:hover .pe-tmc__head .pe-tmc__role,
.pe-team-car .pe-car-item:focus-within .pe-tmc__head .pe-tmc__role {
	max-height: 42px;
	opacity: 1;
	margin-top: 3px;
}
@media (hover: none) {
	.pe-team-car .pe-tmc__head .pe-tmc__role {
		max-height: 42px;
		opacity: 1;
		margin-top: 2px;
	}
}
@media (max-width: 1023px) {
	.pe-team-car .pe-tmc__head .pe-tmc__role {
		max-height: 42px;
		opacity: 1;
		margin-top: 2px;
	}
}

/* Коллаж на десктопе: правая fade-маска нужна ленте, но не сетке */
@media (min-width: 600px) {
	.pe-proof-car .pe-car-track {
		-webkit-mask-image: none;
		mask-image: none;
	}
}

/* ============ v73 (04.08.2026): шапка на 992-1200 ============
   Было: на этом диапазоне шапка молча теряла ТРИ вещи — номер телефона (v28h прятал слот целиком
   плюс отдельное правило гасило a[href^="tel:"]), плашку «юрист онлайн» и пункт меню «Главная»
   (v71c). Причина у всех одна: ряду не хватало ~190px под лого + 8 пунктов + слот + кнопку CTA.
   Стало: место освобождает сам логотип — на 992-1200 от него остаётся иконка-весы без надписи
   (231px → 71px). Этого хватает на всё остальное; ниже 992 работает мобильная шапка Astra,
   выше 1200 — прежние правила v71b и v57, они не тронуты.
   Замеры после правки (главная и внутренняя, запас до правого края):
   992 → 24px · 1024 → 35px · 1100 → 35px · 1152 → 35px · 1200 → 35px; меню в один ряд, 8 пунктов. */
@media (min-width: 992px) and (max-width: 1200px) {
  .site-header .site-title,
  .site-header .site-description { display: none !important; }
  /* тема даёт кнопке класс .ast-custom-button (НЕ -link) и паддинг 30px — метим точно в него */
  .site-header .ast-header-button-1 .ast-custom-button { padding-left: 12px !important; padding-right: 12px !important; font-size: 14px !important; }
  .main-header-menu > li > a { padding: 0 4px !important; font-size: 14px !important; }
  .site-header .ast-header-html-1 { padding-left: 6px !important; padding-right: 6px !important; }
}

/* ===== v72 (05.08): фото hero во всю высоту текстовой колонки, со скруглением =====
   Было: align-items: center + фото родным кадром 1.5:1 → колонка ниже текстовой,
   сверху и снизу белые поля, а сам снимок бледнел через отрицательный margin -30px
   (наследство v60b, когда фото шло во всю ширину карточки).
   Стало: колонки тянутся (stretch), фото занимает высоту текста ровно, отступ справа
   30px = отступу текста слева, углы 16px. Кадр становится ~1:1, поэтому object-fit
   режет снимок по бокам на 33% ширины — крайние двое подрезаются по краю рамки,
   группа и центральный юрист остаются в кадре (проверено симуляцией всех позиций). */
@media (min-width: 901px) {
  .pe-hero .pe-hero__card { align-items: stretch; padding-bottom: 20px; }
  .pe-hero .pe-hero__main { display: flex; flex-direction: column; justify-content: center; }
  .pe-hero .pe-hero__main > h1 { margin-top: 0; }
  .pe-hero .pe-hero__main > :last-child { margin-bottom: 0; }
  .pe-hero .pe-hero__card .pe-hero__crew { margin: 0; border-radius: 16px; }
  .pe-hero .pe-hero__card .pe-hero__crew-img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    aspect-ratio: auto;
    object-fit: cover; object-position: center center;
  }
}
