/**
 * Yuristokrat design foundation.
 *
 * The primary red-burgundy matches the consultation button in the approved
 * Lowgest visual reference. Darker companion tones keep large surfaces calm
 * and preserve the restrained character of the corporate identity.
 */

:root {
	--yuristokrat-burgundy: #b50b23;
	--yuristokrat-burgundy-dark: #57101b;
	--yuristokrat-burgundy-mid: #8f1326;
	--yuristokrat-burgundy-soft: #fbeaed;
	--yuristokrat-ink: #111111;
	--yuristokrat-text: #333333;
	--yuristokrat-muted: #686868;
	--yuristokrat-border: #ded7d8;
	--yuristokrat-surface: #f8f5f2;
	--yuristokrat-white: #ffffff;
	--yuristokrat-focus: #d9485d;
}

/* Customer-requested brighter contact strip above the main navigation. */
.elementor-location-header .elementor-element-b3945b5 {
	background: var(--yuristokrat-burgundy) !important;
	background-image: none !important;
}

/* Keep the purchased template's top-strip logic: both contact items form one
 * group on the left, while the quote CTA remains separate on the right. */
.elementor-location-header .elementor-element-2572c41a > .elementor-widget-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.elementor-location-header .elementor-element-793b4d45 .elementor-icon-list-items {
	display: flex;
	align-items: center;
	column-gap: clamp(20px, 3vw, 48px);
}

.elementor-location-header .elementor-element-b3945b5 :where(
	.elementor-icon-list-text,
	.elementor-icon-list-text:hover,
	.elementor-icon-box-title,
	.elementor-icon-box-title a
) {
	color: var(--yuristokrat-white) !important;
}

.elementor-location-header .elementor-element-b3945b5 :where(
	.elementor-icon-list-icon i,
	.elementor-icon-box-icon i
) {
	color: rgba(255, 255, 255, 0.78) !important;
}

.elementor-location-header .elementor-element-340941ae {
	margin-left: auto;
	padding-right: 0.75rem;
	white-space: nowrap;
}

.yuristokrat-preview-hide {
	display: none !important;
}

.elementor-widget-theme-site-logo img {
	width: auto;
	max-width: min(220px, 100%);
	max-height: 88px;
	object-fit: contain;
}

.elementor-location-header .elementor-widget-theme-site-logo a {
	display: inline-flex;
	align-items: center;
	padding: 0;
	background: transparent;
}

.elementor-element-3338ea05 {
	display: none !important;
}

.elementor-location-header .elementor-element-340941ae .elementor-icon-box-title,
.elementor-location-header .elementor-element-340941ae .elementor-icon-box-title a {
	text-transform: none !important;
}

.elementor-kit-9 :where(
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	.elementor-heading-title,
	.elementor-icon-box-title,
	.elementor-icon-box-description,
	.elementor-icon-list-text,
	.elementor-counter-title,
	.elementor-button,
	.elementor-nav-menu .elementor-item
) {
	text-transform: none !important;
}

/* Keep all four statistic cards geometrically identical. */
.elementor-element-7632719b .elementor-widget-counter .elementor-widget-container {
	height: 100% !important;
	box-sizing: border-box;
}

.elementor-element-7632719b .elementor-widget-counter .elementor-counter {
	display: flex;
	height: 100%;
	flex-direction: column;
	justify-content: center;
}

.elementor-element-7632719b .elementor-counter-title {
	line-height: 1.35;
}

/* Article cards use sentence case in every language; Elementor's demo kit
 * configured both titles and metadata as `capitalize`. */
.elementor-widget-posts .elementor-post__title,
.elementor-widget-posts .elementor-post__title a,
.elementor-widget-posts .elementor-post__excerpt,
.elementor-widget-posts .elementor-post__meta-data,
.elementor-widget-posts .elementor-post__read-more,
.elementor-widget-posts .elementor-post__read-more a {
	text-transform: none !important;
}

/* The generated hero portrait should support the heading instead of filling
 * the whole visual column. */
.elementor-element-5e5f7e42 img {
	transform: translateY(-36px) scale(0.9);
	transform-origin: 50% 100%;
}

.elementor-element-5e5f7e42 {
	margin-bottom: -36px;
}

/* Responsive hero backgrounds: the mobile source is 768 px WebP rather than
 * the original 2000 px JPEG. This lowers LCP without changing the composition. */
.elementor-13 .elementor-element-17423f07 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-596 .elementor-element-17423f07 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-597 .elementor-element-17423f07 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: url('/wp-content/uploads/2023/07/judge-gavel-on-computer-concept-desktop.webp') !important;
}

@media (max-width: 767px) {
	.elementor-13 .elementor-element-17423f07 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer,
	.elementor-596 .elementor-element-17423f07 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer,
	.elementor-597 .elementor-element-17423f07 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
		background-image: url('/wp-content/uploads/2023/07/judge-gavel-on-computer-concept-mobile.webp') !important;
	}
}

@media (min-width: 1025px) {
	.elementor-location-header .elementor-element-2572c41a > .elementor-widget-wrap {
		padding-right: clamp(20px, 2.5vw, 48px) !important;
		padding-left: clamp(20px, 2.5vw, 48px) !important;
	}

	.elementor-element-22535a12 {
		padding-bottom: 0 !important;
	}

	.elementor-element-547166a2 > .elementor-element-populated {
		padding-bottom: 30px !important;
	}

	.elementor-element-57e363f3 {
		position: relative;
	}

	.elementor-element-5e5f7e42 {
		position: absolute;
		right: 0;
		bottom: -20px;
		width: 100% !important;
		margin-bottom: 0;
	}

	.elementor-element-5e5f7e42 > .elementor-widget-container {
		margin: 0 !important;
	}

	.elementor-element-5e5f7e42 img {
		transform: scale(0.9);
	}
}

/* Статистика: единый регистр, цвет и типографика во всех карточках. */
.elementor-element-7632719b .elementor-counter,
.elementor-element-7632719b .elementor-counter-number-wrapper,
.elementor-element-7632719b .elementor-counter-number,
.elementor-element-7632719b .elementor-counter-number-prefix,
.elementor-element-7632719b .elementor-counter-number-suffix,
.elementor-element-7632719b .elementor-counter-title {
	color: var(--yuristokrat-white) !important;
}

.elementor-element-7632719b .elementor-counter-number,
.elementor-element-7632719b .elementor-counter-number-prefix,
.elementor-element-7632719b .elementor-counter-number-suffix {
	font-weight: 500 !important;
	text-transform: none !important;
}

.elementor-element-7632719b .elementor-counter-number-wrapper {
	text-transform: none !important;
}

.elementor-element-7632719b .elementor-counter-title {
	font-size: clamp(1.05rem, 1.7vw, 1.35rem) !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

@media (max-width: 767px) {
	/* On narrow screens Elementor's two-column counter row otherwise lets the
	 * cards touch edge-to-edge. Keep a calm two-by-two grid with breathing room. */
	.elementor-element-7632719b .elementor-element-397892d > .elementor-widget-wrap {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		padding: 0 14px !important;
	}

	.elementor-element-7632719b .elementor-widget-counter {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.elementor-element-7632719b .elementor-widget-counter .elementor-widget-container {
		min-height: 148px;
		height: auto !important;
		padding: 20px 14px !important;
		border-radius: 20px !important;
	}

	.elementor-element-7632719b .elementor-counter {
		gap: 8px;
	}

	.elementor-element-7632719b .elementor-counter-title {
		font-size: 1.05rem !important;
		line-height: 1.3 !important;
	}

	.elementor-element-7632719b .elementor-counter-number-wrapper {
		display: flex;
		align-items: baseline;
		justify-content: center;
		flex-wrap: nowrap;
		white-space: nowrap;
		font-size: clamp(1.8rem, 9vw, 2.35rem) !important;
	}

	.elementor-element-7632719b .elementor-counter-number-suffix {
		margin-left: 0.18em;
		font-size: 1.18rem !important;
		line-height: 1 !important;
		white-space: nowrap;
	}
}

@media (min-width: 1025px) {
	.elementor-location-header .elementor-element-672e89e1 > .elementor-container {
		width: 100%;
		max-width: 1760px;
		padding-right: clamp(20px, 2.5vw, 48px);
		padding-left: clamp(20px, 2.5vw, 48px);
	}

	.elementor-location-header .elementor-element-1f402a12 > .elementor-widget-wrap {
		display: grid !important;
		grid-template-columns: minmax(190px, 230px) minmax(0, 1fr) minmax(160px, 210px);
		column-gap: clamp(18px, 2vw, 38px);
		align-items: center;
	}

	.elementor-location-header .elementor-element-1cb03e4,
	.elementor-location-header .elementor-element-2b855891,
	.elementor-location-header .elementor-element-2362d79 {
		width: 100% !important;
		max-width: none !important;
	}

	.elementor-location-header .elementor-element-1cb03e4 img {
		width: auto;
		max-width: min(220px, 100%);
	}

	.elementor-location-header .elementor-element-2b855891 > .elementor-widget-container {
		margin: 0 !important;
	}

	.elementor-location-header .elementor-nav-menu--main,
	.elementor-location-header .elementor-nav-menu--main > ul {
		width: 100%;
	}

	.elementor-location-header .elementor-nav-menu--main .elementor-item {
		padding-right: 8px !important;
		padding-left: 8px !important;
		font-size: 15px !important;
		font-weight: 600;
	}

	.elementor-location-header .elementor-nav-menu--main > ul {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center;
		justify-content: flex-start;
	}

	.elementor-location-header .elementor-nav-menu--main > ul > li:not(.yuristokrat-language-link) {
		min-width: max-content;
		flex: 1 1 0;
		text-align: center;
	}

	.elementor-location-header .elementor-nav-menu--main li.yuristokrat-language-first {
		position: relative;
		margin-left: clamp(22px, 2vw, 42px);
	}

	.elementor-location-header .elementor-nav-menu--main li.yuristokrat-language-first::before {
		position: absolute;
		top: 50%;
		left: clamp(-22px, -1.15vw, -14px);
		width: 1px;
		height: 28px;
		background: var(--yuristokrat-border);
		content: '';
		transform: translateY(-50%);
	}

	.elementor-location-header .elementor-nav-menu--main li.yuristokrat-language-link {
		height: 38px;
		align-self: center;
		flex: 0 0 auto;
	}

	.elementor-location-header .elementor-nav-menu--main li.yuristokrat-language-link .elementor-item {
		min-width: 36px;
		height: 38px !important;
		min-height: 38px !important;
		margin-inline: 2px;
		padding: 0 10px !important;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--yuristokrat-border);
		border-radius: 6px;
		font-size: 12px !important;
		line-height: 36px !important;
		letter-spacing: 0.04em;
	}

	.elementor-location-header .elementor-nav-menu--main li.yuristokrat-language-current .elementor-item {
		border-color: var(--yuristokrat-burgundy);
		background: var(--yuristokrat-burgundy);
		color: var(--yuristokrat-white) !important;
	}

	.elementor-location-header .elementor-element-2362d79 .elementor-button-wrapper {
		text-align: right;
	}
}

@media (min-width: 1366px) {
	.elementor-location-header .elementor-nav-menu--main .elementor-item {
		font-size: 16px !important;
	}
}

@media (min-width: 1025px) and (max-width: 1279px) {
	.elementor-location-header .elementor-element-1f402a12 > .elementor-widget-wrap {
		grid-template-columns: 165px minmax(0, 1fr) 140px;
		column-gap: 12px;
	}

	.elementor-location-header .elementor-element-1cb03e4 img {
		max-width: min(160px, 100%);
	}

	.elementor-location-header .elementor-nav-menu--main .elementor-item {
		padding-right: 5px !important;
		padding-left: 5px !important;
		font-size: 13.5px !important;
	}

	.elementor-location-header .elementor-nav-menu--main li.yuristokrat-language-first {
		margin-left: 14px;
	}

	.elementor-location-header .elementor-nav-menu--main li.yuristokrat-language-link .elementor-item {
		min-width: 32px;
		padding-right: 7px !important;
		padding-left: 7px !important;
	}

	.elementor-location-header .elementor-element-2362d79 .elementor-button {
		padding-right: 14px;
		padding-left: 14px;
		font-size: 14px;
	}
}

/* The footer uses a dark burgundy gradient; use a light wordmark there. */
.elementor-location-footer .elementor-widget-theme-site-logo img,
.elementor-location-footer .elementor-widget-image img {
	filter: brightness(0) invert(1);
}

/* The quill has a dedicated ivory asset; retain its intended warm light colour. */
.elementor-location-footer .elementor-element-859de89 img {
	filter: none;
	width: 260px;
	max-width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.elementor-location-header .elementor-element-b3945b5,
	.elementor-location-header .elementor-element-2572c41a > .elementor-widget-wrap {
		padding-right: 16px !important;
		padding-left: 16px !important;
	}

	.elementor-location-header .elementor-element-793b4d45 .elementor-icon-list-items {
		padding-left: 0 !important;
	}

	/* Keep the compact mobile header balanced: the logo is centred in the
	 * full row while the burger remains at the right edge. */
	.elementor-location-header .elementor-element-1f402a12 > .elementor-widget-wrap {
		position: relative;
		min-height: 74px;
	}

	.elementor-location-header .elementor-element-1cb03e4 {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 2;
		width: auto !important;
		max-width: calc(100% - 92px) !important;
		transform: translate(-50%, -50%);
	}

	.elementor-location-header .elementor-widget-theme-site-logo img {
		max-width: min(180px, 100%);
		max-height: 76px;
	}

	.elementor-location-header .elementor-element-2b855891 {
		width: auto !important;
		margin-left: auto !important;
	}

	.elementor-location-header .elementor-element-2b855891 > .elementor-widget-container {
		text-align: right !important;
	}

	.elementor-location-header .elementor-element-2b855891 .elementor-menu-toggle {
		position: relative;
		z-index: 3;
		display: flex;
		width: 42px;
		min-width: 42px;
		margin: 0 0 0 auto !important;
		align-items: center;
		justify-content: center;
	}

	/* The footer logo must remain visible even when the host's lazy-loader is
	 * active; centre it and give the image a predictable mobile box. */
	.elementor-location-footer .elementor-element-859de89,
	.elementor-location-footer .elementor-element-859de89 .elementor-widget-container {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
	}

	.elementor-location-footer .elementor-element-859de89 img {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: min(230px, 82vw) !important;
		max-width: 100% !important;
		height: auto !important;
	}
}

@media (max-width: 1024px) {
	.elementor-location-header .elementor-nav-menu--dropdown li.yuristokrat-language-first {
		margin-top: 10px;
		padding-top: 10px;
		border-top: 1px solid var(--yuristokrat-border);
	}

	.elementor-location-header .elementor-nav-menu--dropdown li.yuristokrat-language-link {
		display: inline-block;
		width: auto;
	}

	.elementor-location-header .elementor-nav-menu--dropdown > ul {
		text-align: center;
	}

	.elementor-location-header .elementor-nav-menu--dropdown > ul > li:not(.yuristokrat-language-link) {
		text-align: center;
	}

	.elementor-location-header .elementor-nav-menu--dropdown li.yuristokrat-language-link .elementor-item {
		display: inline-flex !important;
		width: 50px !important;
		height: 44px !important;
		min-height: 44px !important;
		margin: 4px 3px;
		padding: 0 !important;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--yuristokrat-border);
		border-radius: 999px !important;
		box-sizing: border-box;
		font-size: 13px !important;
		line-height: 1 !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown {
		padding-bottom: 12px !important;
		overflow: visible;
	}

	.elementor-location-header .elementor-nav-menu--dropdown li.yuristokrat-language-current .elementor-item {
		background: var(--yuristokrat-burgundy);
		color: var(--yuristokrat-white) !important;
	}
}

/* PDF-driven homepage structure. */
.yuristokrat-structure-section {
	padding: clamp(64px, 8vw, 112px) 24px;
	background: var(--yuristokrat-white);
}

.yuristokrat-structure-section > .elementor-container {
	max-width: 1200px;
}

.yuristokrat-services,
.yuristokrat-formats {
	background: var(--yuristokrat-surface);
}

.yuristokrat-contacts {
	background: var(--yuristokrat-burgundy-dark);
	color: var(--yuristokrat-white);
}

.yuristokrat-section-heading {
	max-width: 760px;
	margin-bottom: clamp(32px, 5vw, 56px);
}

.yuristokrat-section-heading > span {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--yuristokrat-burgundy-mid);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.yuristokrat-section-heading h2 {
	margin: 0;
	color: var(--yuristokrat-ink);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(2.15rem, 4.3vw, 4.4rem);
	font-weight: 500;
	line-height: 1.08;
}

.yuristokrat-section-heading p {
	max-width: 650px;
	margin: 18px 0 0;
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.6;
}

.yuristokrat-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--yuristokrat-border);
	border-left: 1px solid var(--yuristokrat-border);
}

.yuristokrat-card-grid > a {
	min-height: 220px;
	padding: clamp(24px, 3vw, 38px);
	border-right: 1px solid var(--yuristokrat-border);
	border-bottom: 1px solid var(--yuristokrat-border);
	color: var(--yuristokrat-ink);
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.yuristokrat-card-grid > a:hover,
.yuristokrat-card-grid > a:focus-visible,
.yuristokrat-card-grid > a.yuristokrat-card-cta {
	background: var(--yuristokrat-burgundy);
	color: var(--yuristokrat-white);
}

.yuristokrat-card-grid > a:hover h3,
.yuristokrat-card-grid > a:hover p,
.yuristokrat-card-grid > a:focus-visible h3,
.yuristokrat-card-grid > a:focus-visible p,
.yuristokrat-card-grid > a.yuristokrat-card-cta h3,
.yuristokrat-card-grid > a.yuristokrat-card-cta p {
	color: var(--yuristokrat-white) !important;
}

.yuristokrat-card-grid h3,
.yuristokrat-format-grid h3,
.yuristokrat-contact-form h3 {
	margin: 0 0 14px;
	font-size: clamp(1.3rem, 2vw, 1.7rem);
	line-height: 1.25;
}

.yuristokrat-card-grid p,
.yuristokrat-format-grid p,
.yuristokrat-steps p {
	margin: 0;
	line-height: 1.6;
}

.yuristokrat-service-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(32px, 6vw, 84px);
}

.yuristokrat-service-list > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 21px 0;
	border-bottom: 1px solid var(--yuristokrat-border);
	color: var(--yuristokrat-ink);
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
}

.yuristokrat-service-list b {
	color: var(--yuristokrat-burgundy-mid);
	font-size: 1.5rem;
}

.yuristokrat-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--yuristokrat-border);
	border: 1px solid var(--yuristokrat-border);
}

.yuristokrat-steps article {
	min-height: 260px;
	padding: clamp(24px, 3vw, 36px);
	background: var(--yuristokrat-white);
}

.yuristokrat-steps b,
.yuristokrat-format-grid > article > b {
	display: block;
	margin-bottom: 42px;
	color: var(--yuristokrat-burgundy-mid);
	font-size: 0.78rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.yuristokrat-steps h3 {
	margin: 0 0 12px;
	font-size: 1.35rem;
}

.yuristokrat-company-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 48px;
	margin-top: 30px;
}

.yuristokrat-company-points section {
	padding-top: 18px;
	border-top: 2px solid var(--yuristokrat-burgundy);
}

.yuristokrat-company-points h3 {
	margin: 0 0 8px;
	font-size: 1.15rem;
}

.yuristokrat-company-points p {
	margin: 0;
	line-height: 1.6;
}

.yuristokrat-format-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.yuristokrat-format-grid article {
	display: flex;
	min-height: 360px;
	padding: clamp(28px, 3vw, 42px);
	flex-direction: column;
	background: var(--yuristokrat-white);
	border: 1px solid var(--yuristokrat-border);
}

.yuristokrat-format-grid article.is-featured {
	background: var(--yuristokrat-burgundy);
	color: var(--yuristokrat-white);
}

.yuristokrat-format-grid article.is-featured > b,
.yuristokrat-format-grid article.is-featured h3,
.yuristokrat-format-grid article.is-featured a {
	color: #e9bdc3;
}

.yuristokrat-format-grid article.is-featured h3 {
	color: var(--yuristokrat-white) !important;
}

.yuristokrat-format-grid article a {
	margin-top: auto;
	padding-top: 24px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.yuristokrat-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
	gap: clamp(48px, 8vw, 110px);
	align-items: start;
}

.yuristokrat-contacts .yuristokrat-section-heading h2,
.yuristokrat-contacts a {
	color: var(--yuristokrat-white);
}

.yuristokrat-contacts .yuristokrat-section-heading > span {
	color: #d999a4;
}

.yuristokrat-contacts dl {
	margin: 0;
}

.yuristokrat-contacts dt {
	margin-top: 20px;
	color: #d999a4;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.yuristokrat-contacts dd {
	margin: 6px 0 0;
	font-size: 1.1rem;
}

.yuristokrat-messengers {
	display: flex;
	gap: 10px;
	margin-top: 28px;
	flex-wrap: wrap;
}

.yuristokrat-messengers span {
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	font-size: 0.82rem;
}

.yuristokrat-contact-form {
	padding: clamp(28px, 4vw, 48px);
	background: var(--yuristokrat-white);
	color: var(--yuristokrat-ink);
}

.yuristokrat-contact-form label {
	display: block;
	margin-top: 18px;
	font-size: 0.88rem;
	font-weight: 600;
}

.yuristokrat-contact-form input,
.yuristokrat-contact-form textarea {
	width: 100%;
	margin-top: 7px;
	padding: 13px 14px;
	border: 1px solid var(--yuristokrat-border);
	border-radius: 0;
	background: var(--yuristokrat-white);
	color: var(--yuristokrat-ink);
	font: inherit;
}

.yuristokrat-contact-form button {
	margin-top: 22px;
	padding: 14px 22px;
	border: 0;
	text-transform: none !important;
}

.yuristokrat-form-status {
	margin: 18px 0 0;
	padding: 12px 14px;
	border-left: 3px solid var(--yuristokrat-burgundy-mid);
	background: var(--yuristokrat-surface);
	font-size: 0.9rem;
	line-height: 1.5;
}

.yuristokrat-form-status:empty {
	display: none;
}

.yuristokrat-contact-form .yuristokrat-preview-note,
.yuristokrat-contact-form .yuristokrat-form-note {
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--yuristokrat-muted);
}

/* Primary actions must remain available even before scroll animations start. */
.yuristokrat-hero-cta.elementor-invisible {
	visibility: visible;
}

.yuristokrat-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.yuristokrat-contact-form button:disabled {
	cursor: wait;
	opacity: 0.62;
}

.elementor-element-45124e51 .elementor-icon-box-title {
	font-size: clamp(2.4rem, 5vw, 5.25rem) !important;
	font-weight: 500 !important;
	line-height: 1.02 !important;
}

.elementor-element-45124e51 .elementor-icon-box-title,
.elementor-element-45124e51 .elementor-icon-box-title a,
.elementor-element-45124e51 .elementor-icon-box-title span {
	color: var(--yuristokrat-white) !important;
}

.elementor-element-45124e51 .elementor-icon-box-title .yuristokrat-hero-highlight {
	color: var(--yuristokrat-burgundy) !important;
	text-shadow: 0 1px 18px rgba(0, 0, 0, 0.28);
}

.elementor-element-45124e51 .elementor-icon-box-description {
	max-width: 680px;
	font-size: clamp(1.08rem, 1.6vw, 1.4rem) !important;
	line-height: 1.5 !important;
}

@media (max-width: 900px) {
	.yuristokrat-card-grid,
	.yuristokrat-format-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.yuristokrat-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.yuristokrat-contact-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.yuristokrat-structure-section {
		padding: 56px 18px;
	}

	.yuristokrat-card-grid,
	.yuristokrat-service-list,
	.yuristokrat-steps,
	.yuristokrat-company-points,
	.yuristokrat-format-grid {
		grid-template-columns: 1fr;
	}

	.yuristokrat-card-grid > a,
	.yuristokrat-steps article {
		min-height: auto;
	}

	.yuristokrat-format-grid article {
		min-height: 310px;
	}

	.yuristokrat-contact-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

body,
.elementor-kit-9 {
	--e-global-color-primary: var(--yuristokrat-burgundy);
	--e-global-color-secondary: var(--yuristokrat-burgundy);
	--e-global-color-text: var(--yuristokrat-ink);
	--e-global-color-accent: var(--yuristokrat-white);
	--e-global-color-51b2d67: var(--yuristokrat-burgundy-mid);
	--e-global-color-0408702: var(--yuristokrat-burgundy);
	--e-global-color-fcdcd56: var(--yuristokrat-burgundy-mid);
	--e-global-color-e4ca670: var(--yuristokrat-burgundy-dark);
	--e-global-color-13e7b21: var(--yuristokrat-ink);
	--e-global-color-ed552a8: var(--yuristokrat-text);
}

body {
	color: var(--yuristokrat-text);
	overflow-x: hidden;
}

::selection {
	background: var(--yuristokrat-burgundy);
	color: var(--yuristokrat-white);
}

a {
	color: var(--yuristokrat-burgundy);
}

a:hover,
a:focus-visible {
	color: var(--yuristokrat-burgundy-mid);
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
	outline: 3px solid var(--yuristokrat-focus);
	outline-offset: 3px;
}

.elementor-kit-9 button,
.elementor-kit-9 input[type='button'],
.elementor-kit-9 input[type='submit'],
.elementor-kit-9 .elementor-button {
	background-color: var(--yuristokrat-burgundy);
	color: var(--yuristokrat-white);
}

.elementor-kit-9 button:hover,
.elementor-kit-9 button:focus-visible,
.elementor-kit-9 input[type='button']:hover,
.elementor-kit-9 input[type='button']:focus-visible,
.elementor-kit-9 input[type='submit']:hover,
.elementor-kit-9 input[type='submit']:focus-visible,
.elementor-kit-9 .elementor-button:hover,
.elementor-kit-9 .elementor-button:focus-visible {
	background-color: var(--yuristokrat-burgundy-dark);
	background-image: none;
	color: var(--yuristokrat-white);
}

/* Hero CTA pair from the approved content structure: filled primary plus
 * outlined secondary. Both remain ordinary Elementor buttons. */
.elementor-element-771cd806,
.elementor-element-7a5c1d2e {
	width: auto !important;
	max-width: 100%;
	margin-bottom: 0 !important;
}

.elementor-element-771cd806 {
	margin-right: 14px;
}

.elementor-element-771cd806 .elementor-button,
.elementor-element-7a5c1d2e .elementor-button {
	min-height: 54px;
	padding: 14px 25px;
	border-radius: 999px;
	font-weight: 700;
}

.elementor-element-771cd806 .elementor-button {
	border: 2px solid var(--yuristokrat-burgundy);
	background: var(--yuristokrat-burgundy) !important;
	color: var(--yuristokrat-white) !important;
}

.elementor-element-771cd806 .elementor-button-text::after {
	margin-left: 10px;
	content: '\2192';
}

.elementor-element-7a5c1d2e .elementor-button {
	border: 2px solid var(--yuristokrat-white);
	background: rgba(0, 0, 0, 0.08) !important;
	color: var(--yuristokrat-white) !important;
}

.elementor-element-771cd806 .elementor-button:hover,
.elementor-element-771cd806 .elementor-button:focus-visible {
	border-color: var(--yuristokrat-white);
	background: var(--yuristokrat-white) !important;
	color: var(--yuristokrat-burgundy-dark) !important;
}

.elementor-element-7a5c1d2e .elementor-button:hover,
.elementor-element-7a5c1d2e .elementor-button:focus-visible {
	border-color: var(--yuristokrat-burgundy);
	background: var(--yuristokrat-burgundy) !important;
	color: var(--yuristokrat-white) !important;
}

@media (max-width: 560px) {
	.elementor-element-22535a12 {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.elementor-element-22535a12 > .elementor-container,
	.elementor-element-22535a12 .elementor-element-547166a2,
	.elementor-element-22535a12 .elementor-element-547166a2 > .elementor-widget-wrap,
	.elementor-element-22535a12 .elementor-element-45124e51,
	.elementor-element-22535a12 .elementor-element-567efb39 {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.elementor-element-22535a12 .elementor-element-547166a2 > .elementor-widget-wrap {
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.elementor-element-45124e51 .elementor-icon-box-wrapper,
	.elementor-element-45124e51 .elementor-icon-box-content,
	.elementor-element-45124e51 .elementor-icon-box-title {
		width: 100%;
		max-width: 100%;
	}

	.elementor-element-45124e51 .elementor-icon-box-title {
		font-size: clamp(2rem, 10vw, 2.45rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.02em !important;
	}

	/* These two absolute decorations overlap the new CTA pair on phones. */
	.elementor-element-65e1e336,
	.elementor-element-1c30f8bf {
		display: none !important;
	}

	.elementor-element-771cd806,
	.elementor-element-7a5c1d2e {
		width: min(100%, 330px) !important;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 12px !important;
	}

	.elementor-element-771cd806 .elementor-button,
	.elementor-element-7a5c1d2e .elementor-button {
		width: 100%;
		justify-content: center;
	}
}

/* Article typography: readable measure and scale inspired by editorial sites. */
.single-post .elementor-widget-theme-post-content,
.yuristokrat-article-content {
	font-size: clamp(1.125rem, 1.04rem + 0.3vw, 1.3125rem);
	line-height: 1.72;
}

.single-post .elementor-widget-theme-post-content > .elementor-widget-container,
.yuristokrat-article-content > * {
	max-width: 48rem;
}

.single-post .elementor-widget-theme-post-content p,
.yuristokrat-article-content p {
	margin-block: 0 1.35em;
}

/* Practices and services directories. Content stays editable as WordPress pages. */
.yuristokrat-directory-page,
.yuristokrat-detail-page {
	color: var(--yuristokrat-text);
}

.yuristokrat-designed-page .page-header {
	display: none;
}

.yuristokrat-directory-hero,
.yuristokrat-detail-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: clamp(72px, 10vw, 138px) 24px;
	background:
		linear-gradient(120deg, rgba(87, 16, 27, 0.98), rgba(143, 19, 38, 0.93)),
		var(--yuristokrat-burgundy-dark);
	color: var(--yuristokrat-white);
}

/* Directory and detail introductions use the same centred visual rhythm. */
.yuristokrat-directory-hero {
	padding-block: clamp(56px, 6.5vw, 96px);
}

.yuristokrat-detail-hero {
	padding-block: clamp(56px, 6.5vw, 96px);
}

.yuristokrat-directory-hero > div {
	display: flex;
	align-items: center;
	flex-direction: column;
	text-align: center;
}

.yuristokrat-detail-hero > div {
	display: flex;
	align-items: center;
	flex-direction: column;
	text-align: center;
}

.yuristokrat-directory-hero > div,
.yuristokrat-detail-hero > div,
.yuristokrat-directory-grid,
.yuristokrat-directory-cta,
.yuristokrat-detail-layout {
	width: min(1200px, calc(100% - 48px));
	margin-inline: auto;
}

.yuristokrat-directory-hero span,
.yuristokrat-detail-hero > div > a,
.yuristokrat-directory-cta span,
.yuristokrat-detail-layout aside > span {
	display: inline-block;
	margin-bottom: 16px;
	color: #dfa4ae;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.yuristokrat-directory-hero h1,
.yuristokrat-detail-hero h1 {
	max-width: 900px;
	margin: 0;
	color: var(--yuristokrat-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(3rem, 7vw, 6.8rem);
	font-weight: 500;
	line-height: 0.98;
	text-transform: none;
}

.yuristokrat-directory-hero h1 {
	max-width: 1040px;
	margin-inline: auto;
	font-size: clamp(3rem, 6vw, 5.8rem);
}

.yuristokrat-detail-hero h1 {
	max-width: 1040px;
	margin-inline: auto;
	font-size: clamp(3rem, 6vw, 5.8rem);
}

.yuristokrat-directory-hero p,
.yuristokrat-detail-hero p {
	max-width: 720px;
	margin: 28px 0 0;
	font-size: clamp(1.1rem, 1.8vw, 1.35rem);
	line-height: 1.6;
}

.yuristokrat-directory-hero p {
	max-width: 780px;
	margin: 22px auto 0;
}

.yuristokrat-detail-hero p {
	max-width: 780px;
	margin: 22px auto 0;
}

.yuristokrat-detail-hero > div > a {
	margin-bottom: 18px;
}

.yuristokrat-directory-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block: clamp(64px, 8vw, 108px);
	border-top: 1px solid var(--yuristokrat-border);
	border-left: 1px solid var(--yuristokrat-border);
}

.yuristokrat-directory-card {
	position: relative;
	display: flex;
	min-height: 300px;
	padding: clamp(28px, 3vw, 42px);
	flex-direction: column;
	border-right: 1px solid var(--yuristokrat-border);
	border-bottom: 1px solid var(--yuristokrat-border);
	color: var(--yuristokrat-ink);
	transition: background-color 180ms ease, color 180ms ease;
}

.yuristokrat-directory-card > span {
	margin-bottom: 54px;
	color: var(--yuristokrat-burgundy-mid);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.yuristokrat-directory-card h2 {
	margin: 0 0 14px;
	color: var(--yuristokrat-ink);
	font-size: clamp(1.3rem, 2vw, 1.7rem);
	font-weight: 600;
	line-height: 1.25;
	text-transform: none;
}

.yuristokrat-directory-card p {
	margin: 0;
	line-height: 1.6;
}

.yuristokrat-directory-card b {
	margin-top: auto;
	padding-top: 24px;
	color: var(--yuristokrat-burgundy-mid);
	font-size: 1.5rem;
}

.yuristokrat-directory-card:hover,
.yuristokrat-directory-card:focus-visible {
	background: var(--yuristokrat-burgundy);
	color: var(--yuristokrat-white);
}

.yuristokrat-directory-card:hover :where(h2, p, span, b),
.yuristokrat-directory-card:focus-visible :where(h2, p, span, b) {
	color: var(--yuristokrat-white) !important;
}

.yuristokrat-directory-cta {
	display: flex;
	margin-bottom: clamp(70px, 9vw, 120px);
	padding: clamp(34px, 5vw, 64px);
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	background: var(--yuristokrat-surface);
}

.yuristokrat-directory-cta h2 {
	margin: 0 0 12px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(2rem, 3.6vw, 3.6rem);
	font-weight: 500;
	line-height: 1.08;
	text-transform: none;
}

.yuristokrat-directory-cta p {
	max-width: 660px;
	margin: 0;
	line-height: 1.6;
}

.yuristokrat-directory-cta > a,
.yuristokrat-detail-layout aside > a {
	display: inline-flex;
	padding: 15px 22px;
	align-items: center;
	justify-content: center;
	background: var(--yuristokrat-burgundy);
	color: var(--yuristokrat-white);
	font-weight: 700;
	white-space: nowrap;
}

.yuristokrat-directory-cta > a:hover,
.yuristokrat-directory-cta > a:focus-visible,
.yuristokrat-detail-layout aside > a:hover,
.yuristokrat-detail-layout aside > a:focus-visible {
	background: var(--yuristokrat-burgundy-dark);
	color: var(--yuristokrat-white);
}

.yuristokrat-detail-hero > div > a {
	text-decoration: none;
}

.yuristokrat-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: clamp(48px, 8vw, 104px);
	padding-block: clamp(64px, 8vw, 110px);
	align-items: start;
}

.yuristokrat-detail-main {
	min-width: 0;
	font-size: clamp(1.08rem, 1rem + 0.28vw, 1.28rem);
	line-height: 1.72;
}

.yuristokrat-detail-main > h2 {
	margin: 48px 0 24px;
	color: var(--yuristokrat-ink);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(2rem, 3.5vw, 3.4rem);
	font-weight: 500;
	line-height: 1.12;
	text-transform: none;
}

.yuristokrat-directory-scope,
.yuristokrat-practice-scope {
	max-width: 48rem;
	margin-bottom: 52px;
}

.yuristokrat-directory-scope > h2,
.yuristokrat-practice-scope > h2 {
	margin: 0 0 22px;
	color: var(--yuristokrat-ink);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(2rem, 3.5vw, 3.4rem);
	font-weight: 500;
	line-height: 1.12;
	text-transform: none;
}

.yuristokrat-directory-scope-intro,
.yuristokrat-practice-scope > p:first-of-type {
	color: var(--yuristokrat-ink);
	font-size: 1.08em;
}

.yuristokrat-directory-scope ul,
.yuristokrat-practice-scope ul {
	display: grid;
	gap: 14px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.yuristokrat-directory-scope li,
.yuristokrat-practice-scope li {
	position: relative;
	padding: 17px 20px 17px 44px;
	border: 1px solid var(--yuristokrat-border);
	border-radius: 8px;
	background: var(--yuristokrat-white);
}

.yuristokrat-directory-scope li::before,
.yuristokrat-practice-scope li::before {
	position: absolute;
	top: 18px;
	left: 20px;
	color: var(--yuristokrat-burgundy-mid);
	content: '—';
	font-weight: 700;
}

.yuristokrat-review-note {
	padding: 20px 22px;
	border-left: 4px solid var(--yuristokrat-burgundy-mid);
	background: var(--yuristokrat-burgundy-soft);
	font-size: 0.94rem;
	line-height: 1.55;
}

.yuristokrat-legacy-content {
	max-width: 48rem;
}

.yuristokrat-legacy-content :where(p, ul, ol) {
	margin: 0 0 1.35em;
}

.yuristokrat-legacy-content :where(ul, ol) {
	padding-left: 1.4em;
}

.yuristokrat-detail-layout aside {
	position: sticky;
	top: 120px;
	padding: 34px;
	background: var(--yuristokrat-surface);
}

.yuristokrat-detail-layout aside h2 {
	margin: 0 0 14px;
	color: var(--yuristokrat-ink);
	font-size: 1.65rem;
	line-height: 1.25;
	text-transform: none;
}

.yuristokrat-detail-layout aside p {
	margin: 0 0 24px;
	line-height: 1.6;
}

.yuristokrat-company-page { color: var(--yuristokrat-text); }

.yuristokrat-team-profile {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: clamp(40px, 7vw, 96px);
	width: min(100% - 48px, 1120px);
	margin-inline: auto;
	padding-block: clamp(64px, 8vw, 110px);
	align-items: start;
}

.yuristokrat-team-profile figure { margin: 0; }

.yuristokrat-team-profile img {
	display: block;
	width: min(100%, 200px);
	height: auto;
	border-radius: 10px;
	filter: saturate(.82) contrast(1.04);
}

.yuristokrat-team-profile > div > span {
	color: var(--yuristokrat-burgundy-mid);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.yuristokrat-team-profile h2 {
	margin: 12px 0 8px;
	color: var(--yuristokrat-ink);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(2.25rem, 4.6vw, 4.4rem);
	font-weight: 500;
	line-height: 1.06;
	text-transform: none;
}

.yuristokrat-team-profile h3 {
	margin: 34px 0 10px;
	color: var(--yuristokrat-ink);
	font-size: 1.12rem;
	text-transform: none;
}

.yuristokrat-team-profile p,
.yuristokrat-team-profile li { font-size: 1.08rem; line-height: 1.7; }
.yuristokrat-team-profile ul { margin: 0 0 30px; padding-left: 1.25rem; }
.yuristokrat-team-role { color: var(--yuristokrat-burgundy-dark); font-weight: 650; }
.yuristokrat-team-cta { display: inline-flex; padding: 14px 22px; border-radius: 6px; background: var(--yuristokrat-burgundy-mid); color: #fff; text-decoration: none; font-weight: 700; }
.yuristokrat-team-cta:hover,.yuristokrat-team-cta:focus-visible { background: var(--yuristokrat-burgundy-dark); color: #fff; }

.yuristokrat-secondary-content {
	width: min(100% - 48px, 1120px);
	margin-inline: auto;
	padding-block: clamp(64px, 8vw, 108px);
}

.yuristokrat-secondary-content > span {
	display: block;
	margin-bottom: 22px;
	color: var(--yuristokrat-burgundy-mid);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.yuristokrat-secondary-content .yuristokrat-card-grid {
	margin-bottom: 36px;
}

.yuristokrat-secondary-content .yuristokrat-card-grid > article {
	min-height: 205px;
	padding: clamp(24px, 3vw, 38px);
	border-right: 1px solid var(--yuristokrat-border);
	border-bottom: 1px solid var(--yuristokrat-border);
}

.yuristokrat-secondary-content h3 {
	margin: 0 0 14px;
	color: var(--yuristokrat-ink);
	font-size: 1.3rem;
	text-transform: none;
}

.yuristokrat-secondary-content p { margin: 0; line-height: 1.65; }
.yuristokrat-process-intro,
.yuristokrat-about-lead,
.yuristokrat-about-principles,
.yuristokrat-company-callout,
.yuristokrat-company-steps,
.yuristokrat-contacts-page .yuristokrat-contact-layout {
	width: min(1200px, calc(100% - 48px));
	margin-inline: auto;
}
.yuristokrat-process-intro,
.yuristokrat-about-lead,
.yuristokrat-about-principles { padding-block: clamp(64px, 8vw, 108px); }
.yuristokrat-process-intro > span,
.yuristokrat-about-lead > div:first-child > span,
.yuristokrat-about-principles > span,
.yuristokrat-company-callout span {
	display: block;
	margin-bottom: 14px;
	color: var(--yuristokrat-burgundy-mid);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.yuristokrat-process-intro h2,
.yuristokrat-about-lead h2,
.yuristokrat-about-principles h2 {
	max-width: 760px;
	margin: 0 0 18px;
	color: var(--yuristokrat-ink);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(2.2rem, 4.5vw, 4.5rem);
	font-weight: 500;
	line-height: 1.08;
	text-transform: none;
}
.yuristokrat-process-intro p { max-width: 700px; margin: 0; font-size: 1.15rem; line-height: 1.65; }
.yuristokrat-company-steps { margin-bottom: clamp(64px, 8vw, 108px); }
.yuristokrat-company-callout {
	display: flex;
	margin-bottom: clamp(64px, 8vw, 108px);
	padding: clamp(34px, 5vw, 64px);
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	background: var(--yuristokrat-burgundy-dark);
	color: var(--yuristokrat-white);
}
.yuristokrat-company-callout h2 { max-width: 680px; margin: 0 0 14px; color: var(--yuristokrat-white); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 3.5vw, 3.6rem); font-weight: 500; line-height: 1.08; text-transform: none; }
.yuristokrat-company-callout span { color: #dfa4ae; }
.yuristokrat-company-callout p { max-width: 680px; margin: 0; line-height: 1.6; }
.yuristokrat-company-callout > a { display: inline-flex; padding: 15px 22px; background: var(--yuristokrat-white); color: var(--yuristokrat-burgundy-dark); font-weight: 700; white-space: nowrap; }
.yuristokrat-company-callout > a:hover,
.yuristokrat-company-callout > a:focus-visible { background: #f0dfe1; color: var(--yuristokrat-burgundy-dark); }
.yuristokrat-about-lead { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(40px, 8vw, 110px); align-items: start; }
.yuristokrat-about-lead > div:last-child { font-size: clamp(1.08rem, 1rem + .28vw, 1.28rem); line-height: 1.72; }
.yuristokrat-about-lead > div:last-child p { margin: 0 0 1.35em; }
.yuristokrat-about-principles { padding-top: 0; }
.yuristokrat-about-principles .yuristokrat-card-grid { margin-top: 34px; }
.yuristokrat-about-principles .yuristokrat-card-grid > article { min-height: 220px; padding: clamp(24px, 3vw, 38px); border-right: 1px solid var(--yuristokrat-border); border-bottom: 1px solid var(--yuristokrat-border); }
.yuristokrat-about-principles .yuristokrat-card-grid > article h3 { margin: 0 0 14px; font-size: 1.35rem; line-height: 1.25; }
.yuristokrat-about-principles .yuristokrat-card-grid > article p { margin: 0; line-height: 1.6; }
.yuristokrat-contact-page-layout { padding-block: clamp(64px, 8vw, 108px); }
.yuristokrat-contacts-page .yuristokrat-contact-form h2 { margin: 0 0 14px; font-size: clamp(1.6rem, 2.5vw, 2.2rem); line-height: 1.2; text-transform: none; }

.yuristokrat-insights-list {
	width: min(1200px, calc(100% - 48px));
	margin-inline: auto;
	padding-block: clamp(64px, 8vw, 108px);
}
.yuristokrat-insights-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: var(--yuristokrat-border);
	border: 1px solid var(--yuristokrat-border);
}
.yuristokrat-insight-card {
	display: flex;
	min-height: 320px;
	padding: clamp(26px, 3vw, 40px);
	flex-direction: column;
	background: var(--yuristokrat-white);
}
.yuristokrat-insight-card time {
	margin-bottom: 24px;
	color: var(--yuristokrat-burgundy-mid);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
}
.yuristokrat-insight-card h2 {
	margin: 0 0 18px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	font-weight: 500;
	line-height: 1.2;
	text-transform: none;
}
.yuristokrat-insight-card h2 a { color: var(--yuristokrat-ink); text-decoration: none; }
.yuristokrat-insight-card p { margin: 0 0 24px; line-height: 1.65; }
.yuristokrat-insight-link { margin-top: auto; color: var(--yuristokrat-burgundy-mid); font-weight: 700; text-decoration: none; }
.yuristokrat-insights-empty { margin: 0; padding: 28px; background: var(--yuristokrat-surface); font-size: 1.05rem; }
.yuristokrat-insights-pagination { margin-top: 36px; }
.yuristokrat-insights-pagination .page-numbers { display: inline-flex; min-width: 42px; height: 42px; margin-right: 6px; align-items: center; justify-content: center; border: 1px solid var(--yuristokrat-border); color: var(--yuristokrat-ink); text-decoration: none; }
.yuristokrat-insights-pagination .current { border-color: var(--yuristokrat-burgundy); background: var(--yuristokrat-burgundy); color: var(--yuristokrat-white); }

@media (max-width: 900px) {
	.yuristokrat-directory-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.yuristokrat-detail-layout {
		grid-template-columns: 1fr;
	}

	.yuristokrat-detail-layout aside {
		position: static;
	}

	.yuristokrat-about-lead {
		grid-template-columns: 1fr;
	}

	.yuristokrat-team-profile { grid-template-columns: 1fr; }
	.yuristokrat-team-profile figure { max-width: 200px; }

	.yuristokrat-insights-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.yuristokrat-directory-hero,
	.yuristokrat-detail-hero {
		padding: 64px 18px;
	}

	.yuristokrat-directory-hero {
		padding-block: 48px;
	}

	.yuristokrat-detail-hero {
		padding-block: 48px;
	}

	.yuristokrat-directory-hero > div,
	.yuristokrat-detail-hero > div,
	.yuristokrat-directory-grid,
	.yuristokrat-directory-cta,
	.yuristokrat-detail-layout {
		width: min(100% - 36px, 1200px);
	}

	.yuristokrat-directory-grid {
		grid-template-columns: 1fr;
	}

	.yuristokrat-directory-card {
		min-height: 260px;
	}

	.yuristokrat-directory-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.yuristokrat-process-intro,
	.yuristokrat-about-lead,
	.yuristokrat-about-principles,
	.yuristokrat-company-callout,
	.yuristokrat-company-steps,
	.yuristokrat-contacts-page .yuristokrat-contact-layout {
		width: min(100% - 36px, 1200px);
	}

	.yuristokrat-insights-list {
		width: min(100% - 36px, 1200px);
	}

	.yuristokrat-insights-grid {
		grid-template-columns: 1fr;
	}

	.yuristokrat-company-callout {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
