/* Legal documents reuse Lean Core rich text. Only document layout differs. */
.lean-legal-legal-document {
	margin-inline: auto;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

/* Missing facts retain native admin semantics without loading admin CSS publicly. */
.lean-legal-legal-document .lean-legal-missing {
	color: var(--lean-danger-text, #b32d2e);
}

/* Keep exports together beneath the title rather than competing with it. */
article.lean-legal-legal-document.lean-prose .lean-document-header {
	flex-direction: column;
	gap: 1rem;
}

article.lean-legal-legal-document.lean-prose .lean-document-header > h1 {
	flex: none;
}

article.lean-legal-legal-document.lean-prose .lean-document-actions {
	padding-block-start: 0;
}

article.lean-legal-legal-document.lean-prose .lean-legal-legal-document__subtitle {
	font-size: 1rem;
	line-height: 1.6;
	max-inline-size: 65ch;
}

/* Generated legal documents use Lean Core's canonical prose table surface. */

/* Generated articles have a quieter reading scale than marketing headings.
   Keep this scope distinct from the hub and the shared Lean Core prose layer. */
article.lean-legal-legal-document.lean-prose {
	max-width: 760px;
	min-inline-size: 0;
	font-family: inherit;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.65;
	color: inherit;
}

article.lean-legal-legal-document.lean-prose :is(h1, h2, h3) {
	font-family: inherit;
	font-weight: var(--lean-prose-weight-strong, 700);
	color: inherit;
	text-wrap: balance;
	letter-spacing: -0.025em;
	padding: 0;
	margin-block-end: 0;
}

article.lean-legal-legal-document.lean-prose h1 {
	font-size: clamp(2rem, 1.5rem + 2vw, 2.625rem);
	line-height: 1.15;
	margin-block-start: 0;
	max-inline-size: 24ch;
}

article.lean-legal-legal-document.lean-prose > h2 {
	font-size: 1.5625rem;
	line-height: 1.3;
	margin-block-start: 2.75rem;
}

article.lean-legal-legal-document.lean-prose > h3 {
	font-size: 1.25rem;
	line-height: 1.4;
	margin-block-start: 1.75rem;
	letter-spacing: -0.015em;
}

/* Hanging counters keep wrapped headings aligned with their text, not their
   section number. Counter values and resets remain owned by shared prose. */
article.lean-legal-legal-document.lean-prose > :is(h2, h3) {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 0.35em;
	align-items: baseline;
}

article.lean-legal-legal-document.lean-prose > :is(h2, h3)::before {
	font-size: 0.78em;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
	white-space: nowrap;
}

article.lean-legal-legal-document.lean-prose > :is(p, ul, ol) {
	margin-block-end: 0;
}

article.lean-legal-legal-document.lean-prose > * + :is(p, ul, ol) {
	margin-block-start: 1rem;
}

article.lean-legal-legal-document.lean-prose > :is(h2, h3) + * {
	margin-block-start: 0.75rem;
}

article.lean-legal-legal-document.lean-prose > :is(h1, .lean-document-header) + * {
	margin-block-start: 1.5rem;
}

article.lean-legal-legal-document.lean-prose :is(ul, ol) {
	padding-inline-start: 1.5rem;
}

article.lean-legal-legal-document.lean-prose li + li {
	margin-block-start: 0.625rem;
}

article.lean-legal-legal-document.lean-prose li > :is(ul, ol) {
	margin-block-start: 0.625rem;
}

/* Processing activities use semantic label/value pairs rather than a wide
   register. Keep every value under its label, without native dd indentation. */
article.lean-legal-legal-document.lean-prose dl {
	margin-block: 1rem 0;
}

article.lean-legal-legal-document.lean-prose dt {
	font-weight: var(--lean-prose-weight-strong, 700);
	break-after: avoid;
}

article.lean-legal-legal-document.lean-prose dd {
	margin-inline: 0;
	margin-block: 0.25rem 0;
}

article.lean-legal-legal-document.lean-prose dd + dt {
	margin-block-start: 1rem;
}

/* Table presentation is inherited from Lean Core prose. */

article.lean-legal-legal-document.lean-prose a {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

/* Only multi-column inventories need horizontal reading room. Their existing
   labelled, keyboard-focusable prose region owns scrolling. Two-column facts
   still fit the page without sideways navigation. */
article.lean-legal-legal-document.lean-prose :is(.lean-prose-table-scroll, .ef-prose-table-scroll) table:has(tr > :nth-child(3)) {
	table-layout: auto;
	min-inline-size: 52rem;
}

article.lean-legal-legal-document.lean-prose :is(.lean-prose-table-scroll, .ef-prose-table-scroll) table:has(tr > :nth-child(3)) :is(th, td) {
	min-inline-size: 8rem;
	overflow-wrap: break-word;
}

/* Keep focus inside table clipping, including links that wrap across lines. */
article.lean-legal-legal-document.lean-prose :is(th, td) a:focus-visible {
	outline-offset: 2px;
}

article.lean-legal-legal-document.lean-prose .lean-document-actions .lean-document-action {
	min-block-size: 2.75rem;
}

@media (max-width: 767.98px) {
	article.lean-legal-legal-document.lean-prose > h2 {
		font-size: 1.4375rem;
		margin-block-start: 2.25rem;
	}
}

/* Supplied mediator details are distinct from the surrounding legal conditions. */
article.lean-legal-legal-document.lean-prose .lean-legal-contact-details {
	margin-block: 1.25rem;
	padding: 1.25rem;
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 0.75rem;
	font-size: 1rem;
	line-height: 1.65;
}

article.lean-legal-legal-document.lean-prose .lean-legal-contact-details > p {
	margin: 0;
}

article.lean-legal-legal-document.lean-prose .lean-legal-contact-details > p + p {
	margin-block-start: 0.75rem;
}

article.lean-legal-legal-document.lean-prose a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

/* The hub is a directory, not numbered long-form prose or a grid of cards. */
.lean-legal-legal-document.lean-legal-hub.lean-prose {
	margin-inline: 0;
	max-width: none;
	inline-size: 100%;
	min-inline-size: 0;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.7;
	color: inherit;
}

.lean-legal-compliance-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.lean-legal-compliance-title > h1 {
	min-inline-size: 0;
	margin: 0;
}

.lean-legal-hub__download {
	display: inline-flex;
	flex: none;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.4;
}

.lean-legal-hub__download .lean-legal-hub__download-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	border-radius: 0.375rem;
	color: inherit;
	text-decoration: none;
}

.lean-legal-hub__download-icon {
	inline-size: 20px;
	block-size: 20px;
	background: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M5 16v5h14v-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.lean-legal-hub__download-button:is(:hover, :focus-visible) {
	background: color-mix(in srgb, currentColor 7%, transparent);
}

.lean-legal-hub__download-tooltip {
	position: absolute;
	z-index: 10;
	inset-block-start: calc(100% + 0.25rem);
	inset-inline-end: 0;
	inline-size: max-content;
	max-inline-size: min(18rem, 80vw);
	padding: 0.5rem 0.75rem;
	border-radius: 0.375rem;
	background: #1d2327;
	color: #fff;
	visibility: hidden;
	pointer-events: none;
}

.lean-legal-hub__download-button:is(:hover, :focus-visible) .lean-legal-hub__download-tooltip {
	visibility: visible;
}

.lean-legal-hub .lean-legal-hub__documents {
	list-style: none;
	padding: 0;
	margin: 0;
}

.lean-legal-hub .lean-legal-hub__scope {
	max-inline-size: 65ch;
	margin-block: 0 2rem;
}

.lean-legal-hub .lean-legal-hub__language,
.lean-legal-hub .lean-legal-hub__date {
	font-size: 0.8125rem;
	line-height: 1.5;
}

.lean-legal-hub .lean-legal-hub__details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	min-inline-size: 0;
}

.lean-legal-hub .lean-legal-hub__details > :is(h2, p:not(.lean-legal-hub__date)) {
	flex-basis: 100%;
	max-inline-size: none;
}

.lean-legal-hub .lean-legal-hub__details > p:has(> .lean-legal-hub__language) {
	flex: 0 1 auto;
	inline-size: fit-content;
	max-inline-size: 100%;
	margin: 0;
}

.lean-legal-hub .lean-legal-hub__language {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	max-inline-size: 100%;
	padding: 0.375rem 0.75rem;
	border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	border-radius: 999px;
	margin-block-start: 0;
	background: color-mix(in srgb, currentColor 3%, transparent);
}

.lean-legal-hub .lean-legal-hub__details .lean-legal-hub__date {
	flex: 0 1 auto;
	inline-size: auto;
	max-inline-size: 100%;
	margin: 0;
	font-variant-numeric: tabular-nums;
}

.lean-legal-hub .lean-legal-hub__document {
	display: block;
	border-block-start: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	padding-block: 1.5rem;
	margin: 0;
}

.lean-legal-hub .lean-legal-hub__document:has(> .lean-legal-hub__details) {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: 1.25rem;
}

.lean-legal-hub .lean-legal-hub__document:last-child {
	border-block-end: 1px solid color-mix(in srgb, currentColor 20%, transparent);
}

.lean-legal-legal-document.lean-legal-hub.lean-prose :is(.lean-legal-hub__document, .lean-legal-hub__contact) h2 {
	font-family: inherit;
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.015em;
	text-wrap: balance;
	color: inherit;
	margin: 0;
}

.lean-legal-legal-document.lean-legal-hub.lean-prose .lean-legal-hub__contact h2 {
	font-size: 1.125rem;
	letter-spacing: 0;
}

.lean-legal-hub :is(.lean-legal-hub__document, .lean-legal-hub__contact) p {
	max-inline-size: 65ch;
	margin-block: 0 0.25rem;
}

.lean-legal-hub .lean-legal-hub__document h2 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	min-block-size: 2.75rem;
	padding-block: 0.25rem;
}

.lean-legal-hub .lean-legal-hub__document h2 a {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	max-inline-size: 100%;
}

/* Navigation belongs to this neutral directory, not the theme's CTA palette.
   Inherit the host foreground so the same output works on light and dark sites. */
.lean-legal-legal-document.lean-legal-hub.lean-prose a {
	color: inherit;
}

.lean-legal-legal-document.lean-legal-hub.lean-prose .lean-legal-hub__document h2 a {
	text-decoration: none;
	border-radius: 0.25rem;
}

.lean-legal-legal-document.lean-legal-hub.lean-prose a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

@media (hover: hover) {
	.lean-legal-legal-document.lean-legal-hub.lean-prose .lean-legal-hub__document h2 a:hover {
		background-color: color-mix(in srgb, currentColor 5%, transparent);
	}
}

.lean-legal-hub .lean-legal-hub__title {
	text-decoration: none;
}

.lean-legal-hub a:is(:hover, :focus-visible) .lean-legal-hub__title {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.lean-legal-hub .lean-legal-hub__icon {
	display: grid;
	place-items: center;
	inline-size: 2.5rem;
	block-size: 2.5rem;
	margin-block-start: 0.625rem;
	border-radius: 0.75rem;
	background: color-mix(in srgb, currentColor 5%, transparent);
}

.lean-legal-hub .lean-legal-hub__flag {
	display: inline-block;
	flex: 0 0 1.25rem;
	inline-size: 1.25rem;
	block-size: 0.875rem;
	border-radius: 2px;
	background-size: cover;
	background-position: center;
}

.lean-legal-hub .lean-legal-hub__flag--fr {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath fill='%23fff' d='M0 0h30v20H0z'/%3E%3Cpath fill='%23002395' d='M0 0h10v20H0z'/%3E%3Cpath fill='%23ed2939' d='M20 0h10v20H20z'/%3E%3C/svg%3E");
}

.lean-legal-hub .lean-legal-hub__flag--us {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 26'%3E%3Cpath fill='%23fff' d='M0 0h38v26H0z'/%3E%3Cpath stroke='%23b22234' stroke-width='2' d='M0 1h38M0 5h38M0 9h38M0 13h38M0 17h38M0 21h38M0 25h38'/%3E%3Cpath fill='%233c3b6e' d='M0 0h15v14H0z'/%3E%3Cdefs%3E%3Cpattern id='s' width='3' height='2.8' patternUnits='userSpaceOnUse'%3E%3Cpath fill='%23fff' d='m1.5.4.25.65h.7l-.55.4.2.65-.6-.4-.6.4.2-.65-.55-.4h.7z'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23s)' d='M0 0h15v14H0z'/%3E%3C/svg%3E");
}

.lean-legal-hub .lean-legal-hub__flag--gb {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath fill='%23012169' d='M0 0h30v20H0z'/%3E%3Cpath stroke='%23fff' stroke-width='5' d='m0 0 30 20M30 0 0 20'/%3E%3Cpath stroke='%23c8102e' stroke-width='2' d='m0 0 30 20M30 0 0 20'/%3E%3Cpath stroke='%23fff' stroke-width='7' d='M15 0v20M0 10h30'/%3E%3Cpath stroke='%23c8102e' stroke-width='4' d='M15 0v20M0 10h30'/%3E%3C/svg%3E");
}

.lean-legal-hub .lean-legal-hub__icon::before {
	content: "";
	inline-size: 1.5rem;
	block-size: 1.5rem;
	background: currentColor;
	mask: var(--lean-legal-hub-icon, none) center / contain no-repeat;
}

.lean-legal-hub .lean-legal-hub__icon--privacy {
	--lean-legal-hub-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v5c0 5 4 8 8 10 4-2 8-5 8-10V6l-8-3Z M9 11v-1a3 3 0 0 1 6 0v1 M8 11h8v5H8Z'/%3E%3C/svg%3E");
}

.lean-legal-hub .lean-legal-hub__icon--publisher {
	--lean-legal-hub-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18 M5 21V8h14v13 M3 8l9-5 9 5 M9 11v6 M15 11v6'/%3E%3C/svg%3E");
}

.lean-legal-hub .lean-legal-hub__icon--terms {
	--lean-legal-hub-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6V3Z M14 3v5h4 M9 12h6 M9 16h6'/%3E%3C/svg%3E");
}

@media (max-width: 479.98px) {
	.lean-legal-hub .lean-legal-hub__document h2 {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
	}

	.lean-legal-hub .lean-legal-hub__document:has(> .lean-legal-hub__details) {
		grid-template-columns: 2rem minmax(0, 1fr);
		gap: 0.75rem;
	}

	.lean-legal-hub .lean-legal-hub__icon {
		inline-size: 2rem;
		block-size: 2rem;
	}
}

.lean-legal-hub .lean-legal-hub__contact {
	margin-block-start: 2.5rem;
}

.lean-legal-hub .lean-legal-hub__contact p {
	margin-block-start: 0.75rem;
}

.lean-legal-hub .lean-legal-hub__contact + .lean-legal-hub__contact {
	border-block-start: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	padding-block-start: 1.75rem;
	margin-block-start: 1.75rem;
}

.lean-legal-hub .lean-legal-hub__contact a {
	text-underline-offset: 0.2em;
}

@media (max-width: 767.98px) {
	.lean-legal-legal-document > table {
		display: table;
	}
}

/* Printed legal text must not retain screen scrollers or oversized marketing
   type. Preserve all table content, with repeated column headers and sensible
   page breaks, without depending on background graphics being enabled. */
@media print {
	article.lean-legal-legal-document.lean-prose {
		max-width: none;
		font-size: 11pt;
		line-height: 1.5;
		color: #000;
		background: #fff;
	}

	article.lean-legal-legal-document.lean-prose h1 {
		font-size: 24pt;
	}

	article.lean-legal-legal-document.lean-prose > h2 {
		font-size: 15pt;
		margin-block-start: 18pt;
	}

	article.lean-legal-legal-document.lean-prose > h3 {
		font-size: 12pt;
		margin-block-start: 12pt;
	}

	article.lean-legal-legal-document.lean-prose :is(p, li) {
		orphans: 3;
		widows: 3;
	}

	article.lean-legal-legal-document.lean-prose :is(.lean-prose-table-scroll, .ef-prose-table-scroll) {
		overflow: visible;
	}

	article.lean-legal-legal-document.lean-prose table,
	article.lean-legal-legal-document.lean-prose :is(.lean-prose-table-scroll, .ef-prose-table-scroll) table:has(tr > :nth-child(3)) {
		display: table;
		table-layout: fixed;
		min-inline-size: 0;
		font-size: 9pt;
		overflow: visible;
	}

	article.lean-legal-legal-document.lean-prose table :is(th, td),
	article.lean-legal-legal-document.lean-prose :is(.lean-prose-table-scroll, .ef-prose-table-scroll) table:has(tr > :nth-child(3)) :is(th, td) {
		min-inline-size: 0;
		padding: 6pt;
		overflow-wrap: anywhere;
	}

	article.lean-legal-legal-document.lean-prose thead {
		display: table-header-group;
	}

	article.lean-legal-legal-document.lean-prose thead th {
		color: #000;
		background: transparent;
		border-block-end-color: currentColor;
	}

	article.lean-legal-legal-document.lean-prose a {
		color: inherit;
		text-decoration-color: currentColor;
	}
}
