:root {
	--color-navy: #0A1630;
	--color-navy-deep: #061126;
	--color-navy-secondary: #102247;
	--color-navy-card: #0D203F;
	--color-red: #E30613;
	--color-red-dark: #C80511;
	--color-white: #FFFFFF;
	--color-soft: #F3F5F8;
	--color-soft-alt: #E9EDF4;
	--color-soft-blue: var(--color-soft-alt);
	--color-ink: #111827;
	--color-muted: #5B6474;
	--color-border: #D8DEE8;
	--color-dark-border: rgba(255, 255, 255, 0.14);
	--color-dark-muted: rgba(255, 255, 255, 0.78);
	--deep-navy: var(--color-navy);
	--white: var(--color-white);
	--vivid-red: var(--color-red);
	--signal-red: var(--color-red);
	--ink: var(--color-ink);
	--muted: var(--color-muted);
	--line: var(--color-border);
	--soft: var(--color-soft);
	--ornament-red-soft: rgba(227, 6, 19, 0.12);
	--ornament-red-mid: rgba(227, 6, 19, 0.18);
	--ornament-white-soft: rgba(255, 255, 255, 0.08);
	--ornament-navy-soft: rgba(10, 22, 48, 0.06);
	--site-header-height: 80px;
	--home-hero-h1-size: clamp(2.25rem, 2.8vw, 2.625rem);
	--home-hero-h1-line-height: 1.06;
	--home-compact-h2-size: clamp(1.72rem, 2.35vw, 2.25rem);
	--home-compact-h2-line-height: 1.16;
	--home-fit-h2-size: clamp(1.7rem, 2.15vw, 2.0625rem);
}

.privacy-page {
	background: #ffffff;
	color: #182238;
	overflow: clip;
	width: 100%;
}

.privacy-policy .site-main.section {
	padding: 0;
	overflow: visible;
}

.privacy-policy .site-main > .section__inner {
	width: 100%;
	max-width: none;
	margin: 0;
}

.privacy-section__inner,
.privacy-hero__inner,
.privacy-toc__inner {
	width: min(1180px, calc(100% - 64px));
	margin-inline: auto;
}

.privacy-section__inner {
	position: relative;
	z-index: 1;
}

.privacy-hero {
	position: relative;
	background: #0a1630;
	color: #ffffff;
	padding: 64px 0;
	overflow: clip;
}

.privacy-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
	gap: 48px;
	align-items: center;
}

.privacy-hero__grid {
	display: contents;
}

.privacy-page .privacy-hero h1 {
	max-width: 11ch;
	margin: 12px 0 16px;
	font-size: clamp(2.3rem, 3.6vw, 3.45rem);
	line-height: 1.04;
	letter-spacing: -0.025em;
}

.privacy-hero__lead {
	max-width: 720px;
	font-size: 18px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.86);
}

.privacy-hero__updated {
	margin-top: 18px;
	font-size: 15px;
	font-weight: 800;
	color: #ffffff;
}

.privacy-summary,
.privacy-section--navy {
	position: relative;
	overflow: hidden;
	border-top: 4px solid #e30613;
	background: #081227;
	color: #ffffff;
	padding: 28px;
}

.privacy-summary {
	width: 100%;
	max-width: 380px;
	justify-self: end;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-top: 4px solid #e30613;
}

.privacy-summary h2,
.privacy-section--navy h2 {
	position: relative;
	z-index: 1;
	margin-top: 0;
	color: #ffffff;
}

.privacy-summary h2 {
	font-size: 28px;
	line-height: 1.1;
}

.privacy-section--navy p,
.privacy-section--navy .button {
	position: relative;
	z-index: 1;
}

.privacy-summary a,
.privacy-section--navy a:not(.button) {
	color: #ffffff;
}

.privacy-summary ul,
.privacy-section ul {
	padding-left: 1.2rem;
}

.privacy-summary ul {
	display: grid;
	gap: 0;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.privacy-summary li {
	position: relative;
	min-height: 44px;
	padding: 12px 0 12px 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 15px;
	line-height: 1.55;
}

.privacy-summary li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20px;
	width: 7px;
	height: 7px;
	background: #e30613;
}

.privacy-toc {
	background: #ffffff;
	border-bottom: 1px solid rgba(10, 22, 48, 0.14);
	padding: 18px 0;
}

.privacy-toc__inner {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
}

.privacy-toc a {
	display: flex;
	align-items: center;
	min-height: 44px;
	border: 1px solid rgba(10, 22, 48, 0.18);
	border-left: 3px solid transparent;
	background: #f4f6f9;
	color: #0a1630;
	padding: 10px 14px;
	text-decoration: none;
	font-size: 14.5px;
	font-weight: 800;
}

.privacy-toc a:hover,
.privacy-toc a:focus,
.privacy-toc a:focus-visible {
	border-left-color: #e30613;
	background: #ffffff;
	color: #0a1630;
}

.privacy-toc a:focus {
	outline: 3px solid #e30613;
	outline-offset: 3px;
}

.privacy-section {
	position: relative;
	margin: 0;
	padding: 56px 0;
	background: #ffffff;
	overflow: clip;
	scroll-margin-top: 110px;
}

.privacy-section--muted {
	background: #f4f6f9;
}

.privacy-section--navy {
	background: #081227;
	color: #ffffff;
}

.privacy-section h2 {
	margin: 0 0 18px;
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	line-height: 1.12;
}

.privacy-section h3 {
	margin: 0 0 10px;
	font-size: 1.05rem;
}

.privacy-section p,
.privacy-section li,
.privacy-section td,
.privacy-section th {
	line-height: 1.65;
}

.privacy-contact-card {
	display: grid;
	gap: 10px;
	width: 100%;
	margin: 0;
	border-top: 4px solid #e30613;
	background: #081227;
	color: #ffffff;
	padding: 26px;
	font-style: normal;
	font-size: 15px;
	line-height: 1.6;
}

.privacy-contact-card a {
	color: #ffffff;
	font-weight: 800;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.privacy-controller-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(330px, 0.75fr);
	gap: 48px;
	align-items: start;
}

#privacy-controller .privacy-controller-grid > div > p:last-child {
	font-size: clamp(0.84rem, 0.95vw, 0.92rem);
	line-height: 1.55;
	font-weight: 400;
}

.privacy-card-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(18px, 2vw, 28px);
}

.privacy-card-grid > * {
	min-width: 0;
}

.privacy-rights-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.privacy-ornament {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	user-select: none;
}

.privacy-ornament--nodes {
	top: 32px;
	right: max(18px, calc((100vw - 1180px) / 2 - 34px));
	width: min(310px, 32vw);
	height: min(310px, 32vw);
	opacity: 0.14;
	background:
		linear-gradient(132deg, transparent 0 31%, rgba(255, 255, 255, 0.34) 31% 31.5%, transparent 31.5% 100%),
		linear-gradient(36deg, transparent 0 46%, rgba(255, 255, 255, 0.24) 46% 46.5%, transparent 46.5% 100%),
		radial-gradient(circle at 18% 32%, #ffffff 0 3px, transparent 4px),
		radial-gradient(circle at 56% 18%, #ffffff 0 3px, transparent 4px),
		radial-gradient(circle at 72% 62%, #e30613 0 4px, transparent 5px),
		radial-gradient(circle at 30% 78%, #ffffff 0 3px, transparent 4px);
}

.privacy-ornament--pixels {
	right: max(18px, calc((100vw - 1180px) / 2));
	top: 58px;
	width: 210px;
	height: 132px;
	opacity: 0.13;
	background-image:
		linear-gradient(90deg, rgba(255, 255, 255, 0.36) 8px, transparent 8px),
		linear-gradient(rgba(255, 255, 255, 0.28) 8px, transparent 8px);
	background-size: 24px 24px;
	mask-image: linear-gradient(90deg, transparent, #000 22%, #000 74%, transparent);
}

.privacy-ornament--hero-line {
	right: max(20px, calc((100vw - 1180px) / 2 + 290px));
	bottom: 54px;
	width: min(430px, 34vw);
	height: 160px;
	opacity: 0.12;
	background:
		linear-gradient(128deg, transparent 0 47%, rgba(255, 255, 255, 0.8) 47% 47.4%, transparent 47.4%),
		radial-gradient(circle at 92% 70%, rgba(227, 6, 19, 0.72) 0 7px, transparent 8px);
}

.privacy-summary::after {
	content: "";
	position: absolute;
	right: -82px;
	bottom: -68px;
	width: 190px;
	height: 170px;
	pointer-events: none;
	background: radial-gradient(circle, rgba(227, 6, 19, 0.34), transparent 62%);
}

.privacy-ornament--contact {
	inset: auto -42px -74px auto;
	width: min(390px, 34vw);
	height: 220px;
	opacity: 0.16;
	background:
		radial-gradient(circle at 78% 46%, rgba(227, 6, 19, 0.72), transparent 34%),
		linear-gradient(135deg, transparent 0 48%, rgba(255, 255, 255, 0.28) 48% 48.4%, transparent 48.4% 100%),
		linear-gradient(90deg, rgba(255, 255, 255, 0.42) 7px, transparent 7px) right 18px top 22px / 26px 26px no-repeat;
}

.privacy-ornament--section {
	inset: 0;
	opacity: 0.08;
	background:
		linear-gradient(115deg, transparent 0 67%, rgba(10, 22, 48, 0.35) 67% 67.3%, transparent 67.3%),
		radial-gradient(circle at 88% 18%, rgba(227, 6, 19, 0.45), transparent 16%);
}

.privacy-ornament--controller,
.privacy-ornament--rights {
	opacity: 0.06;
}

.privacy-ornament--controller {
	background:
		radial-gradient(circle at 8% 28%, rgba(10, 22, 48, 0.55) 0 3px, transparent 4px),
		radial-gradient(circle at 13% 42%, rgba(227, 6, 19, 0.5) 0 4px, transparent 5px),
		linear-gradient(45deg, transparent 0 18%, rgba(10, 22, 48, 0.36) 18% 18.25%, transparent 18.25%);
}

.privacy-ornament--data,
.privacy-ornament--cookies {
	opacity: 0.07;
	background:
		linear-gradient(135deg, transparent 0 52%, rgba(10, 22, 48, 0.32) 52% 52.25%, transparent 52.25%),
		linear-gradient(90deg, rgba(227, 6, 19, 0.22) 6px, transparent 6px) right 48px top 52px / 28px 28px no-repeat,
		linear-gradient(rgba(10, 22, 48, 0.24) 5px, transparent 5px) right 80px top 80px / 30px 30px no-repeat;
}

.privacy-ornament--legal {
	opacity: 0.05;
	background:
		linear-gradient(115deg, transparent 0 17%, rgba(10, 22, 48, 0.36) 17% 17.25%, transparent 17.25%),
		radial-gradient(circle at 8% 20%, rgba(227, 6, 19, 0.28), transparent 16%);
}

.privacy-ornament--recipients {
	opacity: 0.07;
	background:
		linear-gradient(38deg, transparent 0 61%, rgba(10, 22, 48, 0.34) 61% 61.25%, transparent 61.25%),
		radial-gradient(circle at 78% 24%, rgba(10, 22, 48, 0.58) 0 3px, transparent 4px),
		radial-gradient(circle at 86% 40%, rgba(10, 22, 48, 0.48) 0 3px, transparent 4px),
		radial-gradient(circle at 92% 30%, rgba(227, 6, 19, 0.5) 0 4px, transparent 5px);
}

.privacy-ornament--retention {
	opacity: 0.075;
	background:
		linear-gradient(126deg, transparent 0 68%, rgba(10, 22, 48, 0.36) 68% 68.25%, transparent 68.25%),
		linear-gradient(90deg, rgba(10, 22, 48, 0.24) 7px, transparent 7px) left 8% top 48px / 28px 28px no-repeat,
		linear-gradient(rgba(227, 6, 19, 0.22) 7px, transparent 7px) left 12% top 78px / 28px 28px no-repeat;
}

.privacy-ornament--rights {
	background:
		radial-gradient(circle at 88% 24%, rgba(10, 22, 48, 0.52) 0 2px, transparent 3px),
		radial-gradient(circle at 92% 38%, rgba(227, 6, 19, 0.42) 0 3px, transparent 4px),
		linear-gradient(90deg, rgba(10, 22, 48, 0.22) 5px, transparent 5px) right 7% top 54px / 24px 24px no-repeat;
}

.privacy-ornament--automated {
	opacity: 0.07;
	background:
		linear-gradient(128deg, transparent 0 45%, rgba(10, 22, 48, 0.35) 45% 45.25%, transparent 45.25%),
		linear-gradient(28deg, transparent 0 53%, rgba(10, 22, 48, 0.22) 53% 53.25%, transparent 53.25%),
		radial-gradient(circle at 84% 58%, rgba(227, 6, 19, 0.54) 0 4px, transparent 5px),
		radial-gradient(circle at 74% 36%, rgba(10, 22, 48, 0.52) 0 3px, transparent 4px);
}

.privacy-ornament--external {
	opacity: 0.07;
	background:
		linear-gradient(135deg, transparent 0 70%, rgba(10, 22, 48, 0.32) 70% 70.25%, transparent 70.25%),
		linear-gradient(90deg, rgba(227, 6, 19, 0.22) 6px, transparent 6px) right 9% top 36px / 26px 26px no-repeat;
}

.privacy-ornament--closing {
	opacity: 0.06;
	background:
		linear-gradient(32deg, transparent 0 21%, rgba(10, 22, 48, 0.32) 21% 21.25%, transparent 21.25%),
		linear-gradient(126deg, transparent 0 72%, rgba(10, 22, 48, 0.26) 72% 72.25%, transparent 72.25%),
		linear-gradient(88deg, transparent 0 42%, rgba(227, 6, 19, 0.22) 42% 42.2%, transparent 42.2%);
}

.privacy-card,
.privacy-rights-grid p,
.privacy-warning {
	border: 1px solid rgba(10, 22, 48, 0.14);
	background: #ffffff;
	padding: 22px;
}

.privacy-card {
	display: flex;
	flex-direction: column;
	border-top: 3px solid #e30613;
	font-size: 16px;
	line-height: 1.65;
	min-width: 0;
	hyphens: auto;
	overflow-wrap: break-word;
	word-break: normal;
}

.privacy-card h3 {
	font-size: 18px;
	line-height: 1.25;
}

.privacy-card p {
	margin-bottom: 0;
	font-size: 16px;
}

.privacy-card--email > p:last-child {
	font-size: clamp(0.82rem, 0.9vw, 0.9rem);
	line-height: 1.52;
	font-weight: 400;
}

.privacy-card ul {
	display: grid;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.privacy-card li {
	position: relative;
	padding-left: 16px;
	font-size: 15.5px;
	line-height: 1.55;
	color: #263247;
	min-width: 0;
	hyphens: auto;
	overflow-wrap: break-word;
	word-break: normal;
}

.privacy-card li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;
	width: 6px;
	height: 6px;
	background: #e30613;
}

.privacy-warning {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(220px, 0.36fr) minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin-top: 18px;
	background: #fff8f8;
	border-left: 4px solid #e30613;
}

.privacy-warning p {
	font-size: clamp(0.78rem, 0.9vw, 0.88rem);
	line-height: 1.5;
	font-weight: 400;
	margin: 0;
}

.privacy-records {
	display: grid;
	gap: 16px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.privacy-records__caption {
	margin: 18px 0 0;
	color: #0a1630;
	font-size: 0.96rem;
	font-weight: 800;
	line-height: 1.45;
}

.privacy-record {
	margin: 0;
	padding: 20px;
	border: 1px solid rgba(10, 22, 48, 0.14);
	border-left: 4px solid #e30613;
	background: #ffffff;
	box-shadow: 0 14px 32px rgba(10, 22, 48, 0.07);
}

.privacy-record__fields {
	display: grid;
	gap: 16px;
	margin: 0;
}

.privacy-record__field {
	display: block;
	min-width: 0;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(10, 22, 48, 0.1);
}

.privacy-record__field:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.privacy-record__label {
	margin: 0 0 6px;
	color: #0a1630;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.35;
	text-transform: uppercase;
}

.privacy-record__value {
	margin: 0;
	max-width: 100%;
	color: #27344f;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.65;
	hyphens: auto;
	overflow-wrap: break-word;
	word-break: normal;
}

.privacy-record__key {
	display: inline-block;
	max-width: 100%;
	color: #0a1630;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 0.92em;
	overflow-wrap: anywhere;
	word-break: normal;
}

.privacy-cookie-status {
	margin: 22px 0;
	padding: 18px 20px;
	border-left: 4px solid #e30613;
	background: #f4f6f9;
	color: #0a1630;
	font-weight: 800;
}

.privacy-cookie-status p {
	margin: 0;
	max-width: none;
}

.privacy-hero .eyebrow {
	color: var(--color-white);
}

.privacy-recipient-grid,
.privacy-closing-grid,
.privacy-automation-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.privacy-recipient-card,
.privacy-transfer-card,
.privacy-external-card,
.privacy-closing-card,
.privacy-automation-grid p {
	border: 1px solid rgba(10, 22, 48, 0.14);
	border-top: 4px solid #e30613;
	background: #ffffff;
	padding: 26px;
}

.privacy-recipient-card h2,
.privacy-transfer-card h2,
.privacy-external-card h2,
.privacy-closing-card h2 {
	font-size: clamp(1.55rem, 2.2vw, 2rem);
}

.privacy-recipient-card ul {
	display: grid;
	gap: 10px;
	margin: 18px 0;
	padding: 0;
	list-style: none;
}

.privacy-recipient-card li {
	position: relative;
	padding-left: 18px;
}

.privacy-recipient-card li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 7px;
	height: 7px;
	background: #e30613;
}

.privacy-retention-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.privacy-retention-list li {
	border: 1px solid rgba(10, 22, 48, 0.14);
	border-top: 3px solid #e30613;
	background: #ffffff;
	padding: 18px;
}

.privacy-note-panel {
	margin: 18px 0 0;
	padding: 18px 20px;
	border-left: 4px solid #e30613;
	background: #ffffff;
	color: #0a1630;
}

#privacy-retention .privacy-note-panel {
	font-size: clamp(0.78rem, 0.85vw, 0.86rem);
	line-height: 1.5;
	font-weight: 400;
}

.privacy-note-panel p {
	margin: 0;
}

.privacy-note-panel p + p {
	margin-top: 10px;
}

.privacy-rights-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.privacy-rights-grid p {
	position: relative;
	min-height: 112px;
	margin: 0;
	padding: 18px 18px 18px 34px;
}

.privacy-rights-grid p::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 24px;
	width: 8px;
	height: 8px;
	background: #e30613;
}

.privacy-rights-note {
	background: #f4f6f9;
}

.privacy-automation-grid p {
	margin: 0;
}

.privacy-automation-grid p:nth-child(2) {
	border-top-color: #e30613;
	background: #081227;
	color: #ffffff;
}

#privacy-automated .privacy-automation-grid > p:last-child {
	font-size: clamp(0.82rem, 0.9vw, 0.9rem);
	line-height: 1.52;
	font-weight: 400;
}

.privacy-external-card {
	background: #eef2f6;
}

.privacy-contact-cta {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	width: 100%;
	padding: 36px 38px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-top: 4px solid #e30613;
	background: rgba(255, 255, 255, 0.06);
}

.privacy-contact-cta h2,
.privacy-contact-cta p {
	margin: 0;
}

.privacy-contact-cta p {
	margin-top: 10px;
	color: rgba(255, 255, 255, 0.82);
}

#privacy-contact .privacy-contact-cta p {
	font-size: clamp(0.8rem, 0.9vw, 0.9rem);
	line-height: 1.5;
	font-weight: 400;
}

.privacy-contact-cta .button {
	flex: 0 0 auto;
}

@media (min-width: 1100px) {
	.privacy-rights-note p:first-child {
		width: 100%;
		font-size: 0.86rem;
		line-height: 1.45;
		white-space: nowrap;
	}

	#privacy-cookies .privacy-section__inner > p:last-child {
		width: 100%;
		max-width: none;
		font-size: 0.84rem;
		line-height: 1.45;
		white-space: nowrap;
	}
}

@media (min-width: 760px) {
	.privacy-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.privacy-card-grid > :only-child,
	.privacy-card--campaign {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1180px) {
	.privacy-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	#privacy-data .privacy-card-grid > .privacy-card:first-child {
		grid-column: span 2;
	}
}

@media print {
	.privacy-hero,
	.privacy-section--navy {
		background: #ffffff !important;
		color: #000000 !important;
	}

	.privacy-toc,
	.privacy-ornament,
	.privacy-section--navy .button {
		display: none !important;
	}

	.privacy-section,
	.privacy-section--muted {
		margin: 0;
		padding: 16px 0;
		max-width: none;
		background: #ffffff !important;
	}
}

@media (max-width: 900px) {
	.privacy-section__inner,
	.privacy-hero__inner,
	.privacy-toc__inner {
		width: min(1180px, calc(100% - 40px));
	}

	.privacy-ornament--nodes,
	.privacy-ornament--pixels,
	.privacy-ornament--hero-line,
	.privacy-ornament--contact {
		transform: scale(0.82);
		transform-origin: center;
	}

	.privacy-ornament--section {
		opacity: 0.055;
	}

	.privacy-ornament--nodes {
		right: -26px;
	}

	.privacy-ornament--pixels {
		right: 10px;
	}

	.privacy-hero,
	.privacy-section {
		padding-top: 44px;
		padding-bottom: 44px;
	}

	.privacy-toc__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

	.privacy-card--campaign {
		grid-column: 1 / -1;
	}

	.privacy-card--email,
	.privacy-card--technical,
	.privacy-card--cookies,
	.privacy-card--account {
		grid-column: auto;
	}

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

@media (max-width: 820px) {
	.privacy-hero__inner,
	.privacy-controller-grid {
		grid-template-columns: 1fr;
	}

	.privacy-page .privacy-hero h1 {
		max-width: 13ch;
		font-size: clamp(2.2rem, 7vw, 2.8rem);
	}

	.privacy-summary {
		max-width: none;
		justify-self: stretch;
	}
}

@media (max-width: 780px) {
	.privacy-hero__grid,
	.privacy-recipient-grid,
	.privacy-retention-list,
	.privacy-automation-grid,
	.privacy-closing-grid {
		grid-template-columns: 1fr;
	}

	.privacy-hero {
		padding-top: 34px;
		padding-bottom: 34px;
	}

	.privacy-section {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}

@media (max-width: 620px) {
	.privacy-toc__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.privacy-ornament--hero-line,
	.privacy-ornament--automated,
	.privacy-ornament--closing {
		display: none;
	}

	.privacy-ornament--nodes {
		top: 12px;
		right: -96px;
		width: 210px;
		height: 210px;
		opacity: 0.1;
	}

	.privacy-ornament--pixels {
		top: auto;
		right: -42px;
		bottom: 18px;
		width: 150px;
		height: 90px;
		opacity: 0.09;
	}

	.privacy-ornament--section {
		opacity: 0.045;
	}

	.privacy-ornament--data,
	.privacy-ornament--legal,
	.privacy-ornament--cookies {
		display: none;
	}

	.privacy-ornament--contact {
		right: -110px;
		width: 240px;
		opacity: 0.12;
	}

	.privacy-card-grid,
	.privacy-warning {
		grid-template-columns: 1fr;
	}

	.privacy-card--campaign,
	.privacy-card--email,
	.privacy-card--technical,
	.privacy-card--cookies,
	.privacy-card--account {
		grid-column: auto;
	}

	.privacy-rights-grid {
		grid-template-columns: 1fr;
	}

	.privacy-contact-cta {
		flex-direction: column;
		align-items: stretch;
		padding: 32px 24px;
	}

	.privacy-contact-cta .button {
		width: 100%;
	}
}

@media (max-width: 520px) {
	.privacy-section__inner,
	.privacy-hero__inner,
	.privacy-toc__inner {
		width: min(1180px, calc(100% - 32px));
	}

	.privacy-page .privacy-hero h1 {
		max-width: 13ch;
		font-size: clamp(2rem, 10vw, 2.3rem);
		line-height: 1.06;
	}

	.privacy-hero,
	.privacy-section {
		padding-top: 32px;
		padding-bottom: 32px;
	}
}

@media (max-width: 420px) {
	.privacy-toc__inner {
		grid-template-columns: 1fr;
	}
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--site-header-height) + 24px);
	overflow-x: clip;
}

body {
	margin: 0;
	padding-top: var(--site-header-height);
	color: var(--ink);
	background: var(--white);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.65;
	overflow-x: clip;
}

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

a {
	color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--vivid-red);
	outline-offset: 3px;
}

.skip-link {
	position: fixed;
	left: 1rem;
	top: 1rem;
	z-index: 1100;
	transform: translateY(-150%);
	background: var(--white);
	color: var(--deep-navy);
	padding: 0.65rem 0.85rem;
	border: 2px solid var(--vivid-red);
}

.skip-link:focus {
	transform: translateY(0);
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
	background: var(--color-navy-deep);
	color: var(--white);
	border-bottom: 2px solid var(--vivid-red);
	box-shadow: 0 14px 35px rgba(10, 22, 48, 0.18);
}

.site-header__inner,
.site-footer__inner,
.section__inner {
	width: min(1260px, calc(100% - 40px));
	margin: 0 auto;
}

.site-header__inner {
	width: min(1360px, calc(100% - 24px));
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	min-height: calc(var(--site-header-height) - 2px);
	padding: 0.32rem 0;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
	min-width: max-content;
}

.site-brand__image {
	display: block;
	width: clamp(390px, 29vw, 420px);
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.site-brand-print {
	display: none;
}

.site-brand__mark {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	flex: 0 0 auto;
}

.site-brand__mark img {
	display: block;
	width: 100%;
	height: 100%;
}

.site-brand__copy {
	display: grid;
	gap: 0.05rem;
}

.site-brand__text {
	font-size: 1.08rem;
	line-height: 1.1;
}

.site-brand__descriptor {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	width: 44px;
	height: 44px;
	margin-left: auto;
	padding: 0;
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.32);
	color: var(--white);
	cursor: pointer;
}

.site-nav-toggle__line {
	display: block;
	width: 20px;
	height: 2px;
	background: currentColor;
}

.site-header__panel {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: auto;
	min-width: 0;
}

.site-nav {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.91rem;
	font-weight: 800;
	white-space: nowrap;
}

.site-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0.25rem 0.16rem;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.86);
}

.site-nav a + a::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 14px;
	margin-right: 0.5rem;
	background: var(--vivid-red);
	opacity: 0.8;
}

.site-nav a:hover {
	color: var(--white);
}

.language-switcher {
	position: relative;
	flex: 0 0 auto;
}

.language-switcher__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0.44rem 0.625rem;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
	border: 1px solid rgba(255, 255, 255, 0.26);
	font: inherit;
	font-size: 0.86rem;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
}

.language-switcher__toggle::after {
	content: "";
	width: 0.45rem;
	height: 0.45rem;
	margin-left: 0.55rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

.language-switcher__list {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	display: none;
	width: max-content;
	min-width: 220px;
	max-width: min(280px, calc(100vw - 32px));
	margin: 0;
	padding: 0.35rem;
	list-style: none;
	background: var(--white);
	color: var(--deep-navy);
	border: 1px solid var(--line);
	box-shadow: 0 16px 40px rgba(10, 22, 48, 0.2);
}

.language-switcher.is-open .language-switcher__list {
	display: block;
}

.language-switcher__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 40px;
	padding: 0.45rem 0.55rem;
	color: var(--deep-navy);
	text-decoration: none;
}

.language-switcher__item:hover,
.language-switcher__item[aria-current="page"] {
	background: var(--soft);
}

.language-switcher__item.is-disabled {
	color: var(--muted);
	cursor: not-allowed;
}

.language-switcher__status {
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--vivid-red);
	white-space: nowrap;
}

.language-switcher__item.is-disabled .language-switcher__status {
	color: var(--muted);
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0.82rem 1.16rem;
	background: var(--vivid-red);
	color: var(--white);
	font-weight: 800;
	text-decoration: none;
	border: 2px solid var(--vivid-red);
	border-radius: 8px;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.button:hover {
	background: var(--color-red-dark);
	border-color: var(--color-red-dark);
	transform: translateY(-1px);
}

.button--small {
	min-height: 38px;
	padding: 0.48rem 0.68rem;
	font-size: 0.84rem;
	white-space: nowrap;
}

.button--secondary {
	background: transparent;
	color: var(--deep-navy);
	border-color: var(--deep-navy);
}

.button--white {
	background: var(--white);
	color: var(--color-red-dark);
	border-color: var(--white);
}

.button--white:hover {
	background: var(--color-soft);
	color: var(--color-red-dark);
	border-color: var(--color-soft);
}

/* COOKIE INFORMATION NOTICE */
.cookie-information-notice {
	position: fixed;
	left: 50%;
	right: auto;
	bottom: max(20px, env(safe-area-inset-bottom));
	z-index: 1200;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.25rem;
	align-items: center;
	width: min(1180px, calc(100% - 40px));
	max-height: calc(100vh - 40px);
	padding: 1.1rem;
	overflow-y: auto;
	background: var(--white);
	color: var(--color-navy);
	border: 1px solid rgba(10, 22, 48, 0.18);
	border-top: 4px solid var(--color-red);
	border-radius: 8px;
	box-shadow: 0 22px 54px rgba(6, 17, 38, 0.22);
	transform: translateX(-50%);
}

.cookie-information-notice[hidden] {
	display: none;
}

.cookie-information-notice__content {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
}

.cookie-information-notice__heading {
	margin: 0;
	color: var(--color-navy);
	font-size: 1.05rem;
	line-height: 1.25;
}

.cookie-information-notice__text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
}

.cookie-information-notice__text {
	color: var(--color-ink);
	overflow-wrap: anywhere;
}

.cookie-information-notice__policy-link {
	color: inherit;
	font-weight: 400;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.cookie-information-notice__policy-link:hover,
.cookie-information-notice__policy-link:focus-visible {
	color: inherit;
	font-weight: 400;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.cookie-information-notice__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.65rem;
	min-width: min(360px, 100%);
}

.cookie-information-notice__button {
	min-height: 46px;
	border-radius: 8px;
	font-size: 0.9rem;
	line-height: 1.2;
	white-space: normal;
}

.cookie-information-notice__button--primary,
.cookie-information-notice__button--primary:hover,
.cookie-information-notice__button--primary:focus-visible {
	background: var(--color-navy-secondary);
	border-color: var(--color-navy-secondary);
	color: var(--white);
}

.cookie-information-notice__button--secondary,
.cookie-information-notice__button--secondary:hover,
.cookie-information-notice__button--secondary:focus-visible {
	background: var(--white);
	border-color: var(--color-navy-secondary);
	color: var(--color-navy-secondary);
}

.cookie-information-notice__button:focus-visible,
.cookie-information-notice__policy-link:focus-visible {
	outline: 3px solid var(--color-red);
	outline-offset: 3px;
}

@media (max-width: 780px) {
	.cookie-information-notice {
		bottom: max(14px, env(safe-area-inset-bottom));
		grid-template-columns: 1fr;
		gap: 0.9rem;
		width: min(100% - 24px, 640px);
		padding: 0.95rem;
	}

	.cookie-information-notice__actions {
		display: grid;
		grid-template-columns: 1fr;
		min-width: 0;
	}

	.cookie-information-notice__button {
		width: 100%;
		min-height: 48px;
	}
}

@media (max-width: 1279px) {
	.cookie-information-notice__text {
		white-space: normal;
	}
}

/* COOKIE INFORMATION NOTICE: wide desktop single-line copy */
@media (min-width: 1280px) {
	.cookie-information-notice {
		width: min(1320px, calc(100% - 32px));
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 1rem;
	}

	.cookie-information-notice__actions {
		min-width: 0;
		flex-wrap: nowrap;
	}

	.cookie-information-notice__text {
		white-space: normal;
	}
}

@media (max-width: 360px) {
	.cookie-information-notice {
		width: min(100% - 18px, 640px);
		padding: 0.85rem;
	}

	.cookie-information-notice__heading {
		font-size: 1rem;
	}

	.cookie-information-notice__text,
	.cookie-information-notice__button {
		font-size: 0.875rem;
	}
}

@media print {
	.cookie-information-notice {
		display: none !important;
	}
}

.section {
	position: relative;
	padding: 52px 0;
	scroll-margin-top: calc(var(--site-header-height) + 24px);
}

.section > .section__inner,
.section--decorated > .section__inner,
.section--decorated-dark > .section__inner,
.section--decorated-light > .section__inner {
	position: relative;
	z-index: 1;
}

.section--decorated,
.section--decorated-dark,
.section--decorated-light {
	position: relative;
	overflow: clip;
	isolation: isolate;
}

.section--decorated::before,
.section--decorated::after,
.section--decorated-dark::before,
.section--decorated-dark::after,
.section--decorated-light::before,
.section--decorated-light::after,
.ornament {
	content: "";
	position: absolute;
	z-index: 0;
	pointer-events: none;
}

.section--decorated-dark::before,
.section--decorated::before {
	inset: 0;
	color: rgba(255, 255, 255, 0.08);
	background:
		linear-gradient(115deg, transparent 0 62%, rgba(255, 255, 255, 0.06) 62% 62.4%, transparent 62.4%),
		radial-gradient(circle at 86% 18%, var(--ornament-red-soft), transparent 22%);
}

.section--decorated-light::before {
	inset: 0;
	color: rgba(10, 22, 48, 0.06);
	background:
		linear-gradient(115deg, transparent 0 68%, rgba(10, 22, 48, 0.04) 68% 68.4%, transparent 68.4%),
		radial-gradient(circle at 12% 18%, rgba(227, 6, 19, 0.06), transparent 18%);
}

.ornament {
	display: block;
	width: var(--ornament-width, 280px);
	height: var(--ornament-height, 220px);
	opacity: var(--ornament-opacity, 0.1);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	color: currentColor;
}

.ornament--pixels {
	background-image: url("../images/decor/pixel-field.svg");
}

.ornament--trend {
	background-image: url("../images/decor/trend-lines.svg");
}

.ornament--network {
	background-image: url("../images/decor/network-corner.svg");
}

.ornament--nodes {
	background-image: url("../images/decor/node-grid.svg");
}

.ornament--glow-red,
.ornament--glow-navy {
	width: var(--ornament-width, 420px);
	height: var(--ornament-height, 420px);
	border-radius: 999px;
	background-image: none;
}

.ornament--glow-red {
	background: radial-gradient(circle, rgba(227, 6, 19, 0.18), transparent 68%);
}

.ornament--glow-navy {
	background: radial-gradient(circle, rgba(10, 22, 48, 0.16), transparent 68%);
}

.section--muted {
	background: var(--soft);
}

.section--navy {
	background: var(--deep-navy);
	color: var(--white);
}

.section--contact {
	background:
		radial-gradient(circle at 12% 18%, rgba(227, 6, 19, 0.16), transparent 24%),
		linear-gradient(135deg, var(--color-navy-deep) 0%, var(--color-navy) 58%, var(--color-navy-card) 100%);
	color: var(--white);
}

.contact__ornament--pixels {
	--ornament-width: 280px;
	--ornament-height: 200px;
	--ornament-opacity: 0.1;
	left: max(12px, calc((100vw - 1260px) / 2 - 70px));
	top: 90px;
	color: var(--color-red);
}

.contact__ornament--network {
	--ornament-width: 320px;
	--ornament-height: 260px;
	--ornament-opacity: 0.08;
	right: max(12px, calc((100vw - 1260px) / 2 - 90px));
	bottom: 80px;
	color: var(--color-white);
}

.section--contact p {
	color: rgba(255, 255, 255, 0.84);
}

.section--market-teaser {
	background: var(--color-navy-secondary);
	color: var(--white);
}

.market-teaser__ornament--network {
	--ornament-width: 320px;
	--ornament-height: 260px;
	--ornament-opacity: 0.11;
	right: max(12px, calc((100vw - 1260px) / 2 - 80px));
	top: 72px;
	color: var(--color-white);
}

.market-teaser__ornament--glow {
	--ornament-width: 440px;
	--ornament-height: 440px;
	right: max(12px, calc((100vw - 1260px) / 2 + 80px));
	top: 90px;
}

.section--market-teaser p {
	color: rgba(255, 255, 255, 0.84);
}

.hero {
	position: relative;
	background:
		radial-gradient(circle at 84% 24%, rgba(227, 6, 19, 0.16), transparent 22%),
		linear-gradient(135deg, var(--color-navy-deep) 0%, var(--color-navy) 58%, var(--color-navy-card) 100%);
	color: var(--white);
	min-height: clamp(590px, calc(100vh - var(--site-header-height) - 60px), 700px);
	padding: 58px 0 24px;
	overflow: hidden;
}

.hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	height: 34%;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(0deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 58px 58px;
	mask-image: linear-gradient(to top, black, transparent);
	pointer-events: none;
}

.hero__ornament--trend {
	--ornament-width: min(38vw, 520px);
	--ornament-height: 240px;
	--ornament-opacity: 0.11;
	top: 13%;
	right: 4%;
	color: var(--color-white);
	transform: rotate(-4deg);
}

.hero__ornament--nodes {
	--ornament-width: 340px;
	--ornament-height: 340px;
	--ornament-opacity: 0.12;
	right: 11%;
	top: 28%;
	color: var(--color-white);
}

.hero__ornament--pixels {
	--ornament-width: 260px;
	--ornament-height: 190px;
	--ornament-opacity: 0.16;
	right: 2%;
	bottom: 13%;
	color: var(--color-red);
}

.hero__ornament--glow {
	--ornament-width: min(42vw, 560px);
	--ornament-height: min(42vw, 560px);
	--ornament-opacity: 1;
	right: 6%;
	top: 20%;
}

.hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.54fr) minmax(460px, 0.46fr);
	gap: clamp(2rem, 4vw, 4.25rem);
	align-items: center;
}

.hero__content {
	position: relative;
	z-index: 2;
}

.hero__aside {
	position: relative;
	z-index: 1;
	display: grid;
	align-content: center;
	justify-items: end;
	gap: 12px;
	min-width: 0;
}

.hero h1 {
	max-width: 760px;
	margin: 0;
	font-size: var(--home-hero-h1-size);
	line-height: var(--home-hero-h1-line-height);
	letter-spacing: 0;
}

.hero h1 span {
	display: block;
	color: var(--vivid-red);
}

.hero__copy {
	max-width: 680px;
	margin: 1.25rem 0 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.2rem;
	line-height: 1.62;
}

.hero__details {
	display: grid;
	gap: 0.65rem;
	margin-top: 1rem;
}

.hero__details p {
	max-width: 680px;
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.875rem;
	line-height: 1.56;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 2rem;
}

html[lang="nl-NL"] body.page-template-page-localized-home #hero.hero .hero__actions > .button {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
}

.hero__microcopy {
	max-width: 680px;
	margin: 1rem 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-weight: 800;
}

.capability-strip__list,
.check-list,
.step-list {
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.hero__points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	width: min(100%, 620px);
	max-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hero__points li {
	position: relative;
	min-width: 0;
	padding: 0.15rem 0 0.15rem 0.8rem;
	color: var(--white);
	border: 0;
	background: transparent;
	box-shadow: none;
	font-size: 12.5px;
	font-weight: 650;
	line-height: 1.4;
}

.hero__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.68rem;
	width: 0.3rem;
	height: 0.3rem;
	border-radius: 999px;
	background: var(--vivid-red);
	box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.14);
}

.section__media-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.82fr);
	gap: 2rem;
	align-items: center;
}

.section__full {
	grid-column: 1 / -1;
}

.section-heading {
	max-width: 820px;
}

.section-heading--center {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

.section-heading--center p {
	margin-left: auto;
	margin-right: auto;
}

.media-slot {
	position: relative;
	width: 100%;
	aspect-ratio: var(--media-slot-ratio, 16 / 9);
	min-height: 0;
	margin: 0;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 42px);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 12px;
	overflow: hidden;
}

.media-slot::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(circle at 24% 32%, rgba(227, 6, 19, 0.2), transparent 18%),
		linear-gradient(140deg, rgba(255, 255, 255, 0.08), transparent 48%);
	pointer-events: none;
}

.media-slot__fallback,
.media-slot__fallback img {
	width: 100%;
	height: 100%;
}

.media-slot__fallback img {
	display: block;
	object-fit: cover;
	opacity: 0.9;
}

.media-slot__node {
	position: absolute;
	z-index: 2;
	display: block;
	width: 14px;
	height: 14px;
	background: var(--signal-red);
}

.media-slot__node--a {
	left: 11%;
	top: 18%;
}

.media-slot__node--b {
	right: 13%;
	top: 30%;
	background: var(--white);
}

.media-slot__node--c {
	right: 24%;
	bottom: 16%;
}

.media-slot--hero-wolf {
	min-height: 560px;
	border: 0;
	background: transparent;
	filter: drop-shadow(0 26px 42px rgba(0, 0, 0, 0.3));
}

.media-slot--hero-wolf::before,
.media-slot--hero-wolf .media-slot__node {
	display: none;
}

.media-slot--hero-wolf .media-slot__fallback img {
	object-fit: contain;
	opacity: 1;
}

.approved-media {
	display: block;
	width: 100%;
	aspect-ratio: var(--asset-ratio);
	overflow: hidden;
}

.approved-media__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: var(--asset-fit, cover);
	object-position: var(--asset-position, center center);
}

.hero__visual {
	position: relative;
	z-index: 1;
	width: min(100%, 620px);
	min-height: clamp(380px, 35vw, 520px);
	justify-self: end;
	filter: drop-shadow(0 26px 42px rgba(0, 0, 0, 0.28));
}

.hero__visual .approved-media__image {
	object-fit: contain;
}

.approved-diagram {
	margin: 0;
}

.approved-diagram__media {
	background: transparent;
}

.manual-graphic {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.approved-diagram--problem,
.approved-diagram--services {
	max-width: 820px;
	margin: 2.5rem auto 2.35rem;
}

.approved-diagram--comparison {
	max-width: 1120px;
	margin: 2.25rem auto 0;
}

.approved-diagram--evidence {
	margin: 0;
}

.approved-diagram--problem {
	max-width: 680px;
	justify-self: center;
	background: var(--color-white);
}

.approved-diagram--evidence {
	max-width: 650px;
	justify-self: center;
	background: var(--color-white);
}

.manual-graphic--market {
	max-height: 430px;
}

.manual-graphic--evidence {
	max-height: 430px;
}

.manual-graphic--experience {
	max-width: 450px;
	max-height: 600px;
	justify-self: center;
}

.manual-graphic--comparison {
	max-width: 520px;
	max-height: 620px;
	justify-self: center;
}

.approved-diagram--services {
	max-width: 765px;
}

.approved-diagram--market-transparent,
.approved-diagram--comparison-transparent {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
	overflow: visible;
}

.approved-diagram--market-transparent::before,
.approved-diagram--market-transparent::after,
.approved-diagram--comparison-transparent::before,
.approved-diagram--comparison-transparent::after {
	content: none;
	background: none;
	box-shadow: none;
}

/* Evidence graphic: preserve PNG alpha without a container background */
#evidence .approved-diagram--transparent-evidence {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

#evidence .manual-graphic--transparent-evidence {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

#evidence .approved-diagram--transparent-evidence::before,
#evidence .approved-diagram--transparent-evidence::after {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

.media-slot--wide {
	margin-top: 1.5rem;
}

.media-slot--portrait {
	margin-bottom: 1rem;
}

.section--muted .media-slot,
.card .media-slot {
	border-color: var(--line);
	background:
		linear-gradient(135deg, rgba(10, 22, 48, 0.07), rgba(10, 22, 48, 0.01)),
		repeating-linear-gradient(90deg, rgba(10, 22, 48, 0.08) 0 1px, transparent 1px 42px);
}

.hero .button--secondary {
	color: var(--white);
	border-color: rgba(255, 255, 255, 0.7);
}

.eyebrow {
	margin: 0 0 0.9rem;
	color: var(--vivid-red);
	font-weight: 900;
	text-transform: uppercase;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
}

h1,
h2 {
	color: inherit;
	line-height: 1.15;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

h2 {
	margin: 0 0 0.75rem;
	font-size: clamp(2.375rem, 3.5vw, 3rem);
}

#services h2,
#evidence h2,
#experience h2,
#process h2,
#enter-the-eu h2,
#faq h2,
#contact h2 {
	font-size: var(--home-compact-h2-size);
	line-height: var(--home-compact-h2-line-height);
}

#fit h2 {
	font-size: var(--home-fit-h2-size);
	line-height: var(--home-compact-h2-line-height);
}

#market-problem h2 {
	font-size: clamp(1.625rem, calc(1.5rem + 0.55vw), 2rem);
	line-height: 1.14;
}

@media (min-width: 1200px) {
	#fit .section-heading {
		max-width: none;
	}

	#fit h2 {
		min-width: 0;
		white-space: normal;
		text-wrap: balance;
	}
}

p {
	max-width: 760px;
}

.capability-strip {
	position: relative;
	overflow: clip;
	padding: 12px 0 26px;
	background: var(--color-navy-card);
	color: var(--white);
}

.capability-strip::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(227, 6, 19, 0.65), transparent);
}

.capability-strip__list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	margin-top: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.capability-strip__list li {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.7rem;
	align-items: center;
	min-height: 78px;
	padding: 0.9rem 1.05rem;
	border-right: 1px solid rgba(255, 255, 255, 0.16);
	font-size: 0.98rem;
	font-weight: 900;
}

.capability-strip__list li::after {
	content: "";
	position: absolute;
	right: -5px;
	top: 50%;
	z-index: 1;
	width: 9px;
	height: 9px;
	background: var(--color-red);
	box-shadow: 0 0 0 5px rgba(227, 6, 19, 0.12);
	transform: translateY(-50%) rotate(45deg);
}

.capability-strip__list li:last-child {
	border-right: 0;
}

.capability-strip__list li:last-child::after {
	display: none;
}

.capability-strip__icon {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border: 1px solid rgba(227, 6, 19, 0.65);
	color: var(--vivid-red);
	font-size: 0.72rem;
	font-weight: 900;
}

.split-list,
.card-grid,
.faq-list {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}

.split-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
}

.card-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

#family-owned .card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.panel,
.card,
.faq-list details {
	border: 1px solid var(--line);
	background: var(--white);
	padding: 1.25rem;
}

.panel h3,
.card h3 {
	margin: 0 0 0.55rem;
	color: var(--deep-navy);
	line-height: 1.2;
}

.card__details {
	margin: 0.85rem 0 0;
	padding-left: 1.1rem;
}

.card__role {
	margin: 0 0 0.6rem;
	color: var(--muted);
	font-weight: 800;
}

.card--dark {
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
}

.card--dark h3 {
	color: var(--white);
}

.card--dark p,
.card--dark li {
	color: rgba(255, 255, 255, 0.86);
}

.card--dark .card__details {
	padding-left: 1.2rem;
}

.section-callout {
	margin-top: 1.5rem;
	padding: 1.25rem;
	border-left: 4px solid var(--vivid-red);
	background: rgba(255, 255, 255, 0.1);
}

.section-callout h3 {
	margin: 0 0 0.65rem;
	line-height: 1.2;
}

.section-callout p {
	margin: 0.45rem 0 0;
}

.section-callout--light {
	background: var(--soft);
	color: var(--deep-navy);
}

.section-callout--light p {
	font-weight: 800;
}

.panel ul {
	margin: 0;
	padding-left: 1.2rem;
}

.panel li + li {
	margin-top: 0.55rem;
}

.section-note {
	margin-top: 1.5rem;
	font-weight: 800;
	color: var(--deep-navy);
}

.section-action {
	margin-top: 1.5rem;
}

.section--services {
	background:
		radial-gradient(circle at 88% 16%, rgba(227, 6, 19, 0.12), transparent 22%),
		linear-gradient(135deg, var(--color-navy-deep) 0%, var(--color-navy) 56%, var(--color-navy-card) 100%);
	color: var(--white);
}

.services__ornament--network {
	--ornament-width: 310px;
	--ornament-height: 260px;
	--ornament-opacity: 0.1;
	right: max(16px, calc((100vw - 1260px) / 2 - 70px));
	top: 70px;
	color: var(--color-white);
}

.services__ornament--pixels {
	--ornament-width: 260px;
	--ornament-height: 190px;
	--ornament-opacity: 0.12;
	left: max(16px, calc((100vw - 1260px) / 2 - 80px));
	bottom: 72px;
	color: var(--color-red);
}

.services__ornament--trend {
	--ornament-width: 420px;
	--ornament-height: 180px;
	--ornament-opacity: 0.08;
	right: 5%;
	bottom: 34px;
	color: var(--color-white);
	transform: rotate(4deg);
}

.section--services p {
	color: rgba(255, 255, 255, 0.82);
}

.section--services .section-heading {
	max-width: 860px;
}

.services-intro,
.problem-solution__lead {
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
	gap: clamp(3rem, 5vw, 4.5rem);
	align-items: center;
}

.services-intro {
	margin-bottom: 2.6rem;
}

.services-intro .section-heading,
.problem-solution__lead .section-heading {
	max-width: none;
}

.services-intro .approved-diagram,
.problem-solution__lead .approved-diagram {
	max-width: none;
	margin: 0;
}

.problem-solution__lead .approved-diagram--problem {
	max-width: 680px;
}

.services-intro p,
.problem-solution__lead p {
	max-width: 720px;
}

.services-intro .approved-media,
.problem-solution__lead .approved-media {
	height: clamp(340px, 27vw, 420px);
	aspect-ratio: auto;
}

.services-intro .approved-media__image,
.problem-solution__lead .approved-media__image {
	object-fit: cover;
	object-position: center center;
}

.problem-solution__lead .manual-graphic {
	max-height: 430px;
}

.problem-solution {
	background: linear-gradient(180deg, var(--white) 0%, var(--color-soft) 100%);
}

.problem-solution__ornament--left {
	--ornament-width: 260px;
	--ornament-height: 220px;
	--ornament-opacity: 0.07;
	left: max(14px, calc((100vw - 1260px) / 2 - 90px));
	top: 88px;
	color: var(--color-navy);
}

.problem-solution__ornament--right {
	--ornament-width: 230px;
	--ornament-height: 230px;
	--ornament-opacity: 0.05;
	right: max(14px, calc((100vw - 1260px) / 2 - 80px));
	bottom: 80px;
	color: var(--color-red);
}

.problem-solution__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: stretch;
	margin-top: 2rem;
}

.problem-solution__grid::before {
	display: none;
}

.problem-panel {
	position: relative;
	z-index: 1;
	height: 100%;
	padding: clamp(1.35rem, 2.5vw, 2rem);
	background: var(--white);
	border: 1px solid var(--color-border);
	border-top: 5px solid var(--color-red);
	border-radius: 10px;
	box-shadow: 0 20px 50px rgba(7, 21, 47, 0.08);
}

.problem-panel--changes {
	border-top-color: var(--color-navy);
}

.problem-panel h3 {
	margin: 0 0 1rem;
	color: var(--color-navy-deep);
	font-size: clamp(1.32rem, 2vw, 1.55rem);
	line-height: 1.2;
}

.problem-panel ul {
	display: grid;
	gap: 0.8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.problem-panel li {
	position: relative;
	padding-left: 1.55rem;
	font-weight: 400;
	line-height: 1.48;
}

.problem-solution__detail--compact {
	font-size: clamp(13.5px, 0.95vw, 14px);
	line-height: 1.54;
}

.problem-panel--blockers li,
.problem-panel--changes li {
	font-size: clamp(13px, 0.92vw, 13.5px);
	font-weight: 400;
	line-height: 1.5;
}

.problem-panel li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58em;
	width: 0.68rem;
	height: 0.68rem;
	border: 2px solid var(--color-red);
	transform: rotate(45deg);
}

.problem-panel--changes li::before {
	background: var(--color-red);
	box-shadow: 0 0 0 4px rgba(227, 6, 19, 0.12);
}

.problem-solution__visual {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	margin: 0;
	padding: 1.6rem;
	background:
		radial-gradient(circle at 55% 45%, rgba(227, 6, 19, 0.2), transparent 34%),
		var(--color-navy-deep);
	border: 8px solid var(--white);
	border-radius: 999px;
	box-shadow: 0 24px 60px rgba(7, 21, 47, 0.24);
}

.problem-solution__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.problem-solution__bridge {
	width: 100%;
	max-width: none;
	margin: 2.25rem auto 0;
	padding: 1.15rem 1.35rem;
	color: var(--color-navy-deep);
	background: var(--white);
	border-left: 5px solid var(--color-red);
	font-size: 0.96875rem;
	font-weight: 900;
	text-align: center;
	box-shadow: 0 16px 42px rgba(7, 21, 47, 0.08);
}

@media (min-width: 1200px) {
	.problem-solution__bridge {
		white-space: nowrap;
	}
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem;
	margin-top: 0;
}

.service-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: clamp(1.25rem, 2vw, 1.65rem);
	background: rgba(255, 255, 255, 0.055);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-top: 4px solid rgba(227, 6, 19, 0.88);
	border-radius: 10px;
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.service-card:hover {
	background: rgba(255, 255, 255, 0.075);
	border-color: rgba(227, 6, 19, 0.62);
	transform: translateY(-2px);
}

.service-card__icon {
	width: 48px;
	height: 48px;
	margin-bottom: 1rem;
}

.service-card h3 {
	margin: 0 0 0.75rem;
	color: var(--white);
	font-size: clamp(1.32rem, 2vw, 1.5rem);
	line-height: 1.18;
}

.service-card p {
	margin: 0.65rem 0 0;
	color: rgba(255, 255, 255, 0.82);
}

.service-card .service-card__copy--compact {
	margin-top: 9px;
	font-size: 13px;
	line-height: 1.52;
	font-weight: 400;
}

.service-card__details {
	display: grid;
	gap: 0.58rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.service-card__details li {
	position: relative;
	padding-left: 1.35rem;
	color: rgba(255, 255, 255, 0.9);
	font-size: 13px;
	line-height: 1.5;
	font-weight: 400;
}

.service-card__details li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.52rem;
	height: 0.52rem;
	background: var(--color-red);
	box-shadow: 0 0 0 4px rgba(227, 6, 19, 0.15);
}

.evidence-section {
	padding-bottom: 0;
	background: var(--white);
}

.evidence-section__ornament--trend {
	--ornament-width: 380px;
	--ornament-height: 170px;
	--ornament-opacity: 0.07;
	right: max(12px, calc((100vw - 1260px) / 2 - 40px));
	top: 70px;
	color: var(--color-navy);
}

.evidence-section__ornament--pixels-left {
	--ornament-width: 190px;
	--ornament-height: 145px;
	--ornament-opacity: 0.11;
	left: max(-160px, calc((100vw - 1260px) / 2 - 240px));
	top: 220px;
	color: var(--color-red);
}

.evidence-section__ornament--nodes-left {
	--ornament-width: 320px;
	--ornament-height: 300px;
	--ornament-opacity: 0.075;
	left: max(-130px, calc((100vw - 1260px) / 2 - 170px));
	top: 275px;
	color: var(--color-navy);
}

.evidence-section__intro {
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
	gap: clamp(1.5rem, 4vw, 3.75rem);
	align-items: center;
}

.evidence-section__detail {
	max-width: 64ch;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.56;
}

.evidence-band {
	position: relative;
	overflow: clip;
	margin-top: 3rem;
	padding: 26px 0 30px;
	background:
		linear-gradient(135deg, var(--color-red) 0%, var(--color-red-dark) 52%, var(--color-red-dark) 100%);
	color: var(--white);
}

.evidence-band__ornament--nodes {
	--ornament-width: 320px;
	--ornament-height: 320px;
	--ornament-opacity: 0.12;
	right: max(12px, calc((100vw - 1260px) / 2 - 80px));
	top: 20px;
	color: var(--color-white);
}

.evidence-band__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: rgba(255, 255, 255, 0.24);
	border: 1px solid rgba(255, 255, 255, 0.24);
}

.evidence-tile {
	min-height: 100%;
	padding: clamp(1.1rem, 2vw, 1.55rem);
	background: rgba(4, 16, 39, 0.18);
}

.evidence-tile__icon {
	display: block;
	width: 42px;
	height: 42px;
	margin-bottom: 1rem;
	border: 2px solid rgba(255, 255, 255, 0.85);
	background:
		linear-gradient(90deg, transparent 45%, rgba(255, 255, 255, 0.9) 45% 55%, transparent 55%),
		linear-gradient(0deg, transparent 45%, rgba(255, 255, 255, 0.9) 45% 55%, transparent 55%);
}

.evidence-tile h3 {
	margin: 0 0 0.7rem;
	color: var(--white);
	font-size: 1.22rem;
	line-height: 1.2;
}

.evidence-tile p {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.46;
}

.evidence-band__closing {
	max-width: 980px;
	margin: 1.35rem 0 0;
	padding: 1.1rem 1.25rem;
	background: rgba(4, 16, 39, 0.28);
	border-left: 5px solid var(--white);
	color: var(--white);
	font-size: 1.08rem;
	font-weight: 900;
}

.section--navy .section-note,
.section--navy p {
	color: rgba(255, 255, 255, 0.86);
}

.section--mimi {
	background:
		linear-gradient(135deg, var(--color-navy-deep) 0%, var(--color-navy) 58%, var(--color-navy-card) 100%);
	color: var(--white);
}

.mimi__ornament--mimi-glow {
	--ornament-width: 360px;
	--ornament-height: 360px;
	left: max(12px, calc((100vw - 1260px) / 2 + 220px));
	top: 260px;
}

.mimi__ornament--jarvis-nodes {
	--ornament-width: 280px;
	--ornament-height: 280px;
	--ornament-opacity: 0.08;
	right: max(12px, calc((100vw - 1260px) / 2 + 120px));
	top: 220px;
	color: var(--color-white);
}

.mimi__ornament--pixels {
	--ornament-width: 250px;
	--ornament-height: 180px;
	--ornament-opacity: 0.11;
	right: max(12px, calc((100vw - 1260px) / 2 - 60px));
	bottom: 90px;
	color: var(--color-red);
}

.section--mimi p {
	color: rgba(255, 255, 255, 0.86);
}

.mimi-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(360px, 1fr));
	gap: clamp(1.5rem, 3vw, 2rem);
	align-items: stretch;
}

.mimi-layout__intro {
	position: relative;
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
	gap: clamp(2.5rem, 4vw, 4rem);
	align-items: start;
	width: 100%;
	max-width: none;
	margin-bottom: 0.4rem;
}

#mimi-jarvis h2 {
	max-width: 760px;
	font-size: clamp(1.875rem, 2.3vw, 2.125rem);
	line-height: 1.1;
}

.mimi-intro__primary {
	position: relative;
	z-index: 1;
	max-width: 760px;
}

.mimi-intro__lead {
	max-width: 700px;
	margin: 1rem 0 0;
	font-size: clamp(0.9375rem, 1.05vw, 1rem);
	line-height: 1.6;
}

.mimi-intro__support {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(0.875rem, 1.3vw, 1.125rem);
}

.mimi-intro-panel {
	position: relative;
	padding: clamp(1.125rem, 1.6vw, 1.375rem);
	background: rgba(255, 255, 255, 0.075);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-left: 3px solid var(--color-red);
}

.mimi-intro-panel p {
	margin: 0;
	font-size: clamp(0.84375rem, 0.95vw, 0.90625rem);
	line-height: 1.58;
	font-weight: 400;
}

.mimi-intro-panel__label {
	margin-bottom: 0.45rem !important;
	color: var(--color-red) !important;
	font-size: clamp(0.6875rem, 0.8vw, 0.75rem) !important;
	line-height: 1.2 !important;
	font-weight: 900 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mimi-intro__connector {
	position: absolute;
	left: 53%;
	top: 44px;
	z-index: 0;
	width: 15%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(227, 6, 19, 0.82), transparent);
	pointer-events: none;
}

.mimi-intro__connector::before,
.mimi-intro__connector::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 7px;
	height: 7px;
	background: var(--color-red);
	box-shadow: 0 0 0 5px rgba(227, 6, 19, 0.14);
	transform: translateY(-50%) rotate(45deg);
}

.mimi-intro__connector::before {
	left: 0;
}

.mimi-intro__connector::after {
	right: 0;
}

.identity-card,
.mimi-responsibility {
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.07);
}

.identity-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: clamp(1rem, 1.8vw, 1.35rem);
}

.identity-card__visual {
	display: block;
	width: 100%;
	max-width: 520px;
	height: clamp(230px, 19vw, 280px);
	aspect-ratio: auto;
	align-self: center;
	margin-bottom: 1rem;
	background: var(--color-navy-deep);
}

.identity-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.identity-card:nth-of-type(1) .identity-card__image {
	object-position: center 18%;
}

.identity-card:nth-of-type(2) .identity-card__image {
	object-position: center 16%;
}

.identity-card h3,
.mimi-responsibility h3 {
	margin: 0 0 0.55rem;
	color: var(--white);
	font-size: clamp(1.32rem, 2vw, 1.55rem);
	line-height: 1.15;
}

.identity-card__role {
	margin: 0 0 0.8rem;
	color: var(--white);
	font-weight: 900;
}

.identity-card__summary,
.identity-card__detail,
.identity-card__details li {
	font-size: 13px;
	line-height: 1.56;
	font-weight: 400;
}

.identity-card__summary {
	margin: 0 0 0.85rem;
	color: rgba(255, 255, 255, 0.86);
}

.identity-card .card__details {
	display: grid;
	gap: 0.55rem;
	margin-top: auto;
	padding: 1rem 0 0;
	list-style: none;
}

.identity-card .card__details li {
	position: relative;
	padding-left: 1.2rem;
	color: rgba(255, 255, 255, 0.9);
	font-size: 13px;
	line-height: 1.56;
	font-weight: 400;
}

.identity-card .card__details li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.48rem;
	height: 0.48rem;
	background: var(--color-red);
}

.mimi-responsibility {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.2rem, 2.2vw, 1.8rem);
	border-left: 5px solid var(--color-red);
}

.mimi-responsibility__copy {
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	font-size: 13.5px;
	line-height: 1.56;
	font-weight: 400;
}

.family-section {
	position: relative;
	overflow: clip;
	background: var(--white);
}

.family-section__ornament--network {
	--ornament-width: 260px;
	--ornament-height: 220px;
	--ornament-opacity: 0.06;
	right: max(12px, calc((100vw - 1260px) / 2 - 70px));
	top: 310px;
	color: var(--color-navy);
}

.family-section__ornament--pixels {
	--ornament-width: 260px;
	--ornament-height: 190px;
	--ornament-opacity: 0.055;
	left: max(12px, calc((100vw - 1260px) / 2 - 80px));
	bottom: 210px;
	color: var(--color-red);
}

.family-band,
.family-editorial {
	position: relative;
	z-index: 1;
}

.family-band {
	padding: 24px 0;
	background: var(--color-navy-deep);
	color: var(--white);
}

.family-band__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 2rem;
	align-items: center;
}

.family-band__heading {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
}

.family-band__heading img {
	display: block;
	width: 92px;
	height: 92px;
}

.family-band h2 {
	margin-bottom: 0;
	font-size: clamp(1.25rem, 1.55vw, 1.5rem);
	line-height: 1.16;
}

.family-principles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.family-principles li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0.48rem 1.15rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.07);
	font-size: 12.5px;
	line-height: 1.32;
	font-weight: 400;
	text-align: center;
}

.family-principles li::before {
	content: "";
	position: absolute;
	left: 0.85rem;
	top: 50%;
	width: 0.46rem;
	height: 0.46rem;
	background: var(--color-red);
	transform: translateY(-50%);
}

.family-editorial {
	overflow: clip;
	background: var(--white);
}

.family-editorial::before,
.family-editorial::after,
.family-editorial__grid::before,
.family-editorial__grid::after,
.family-role-list::before {
	content: "";
	position: absolute;
	z-index: 0;
	pointer-events: none;
}

.family-editorial::before {
	left: max(12px, calc((100vw - 1260px) / 2 - 62px));
	top: 64px;
	bottom: 92px;
	width: 82px;
	opacity: 0.16;
	background:
		linear-gradient(90deg, transparent 0 36px, rgba(10, 22, 48, 0.14) 36px 37px, transparent 37px),
		linear-gradient(rgba(227, 6, 19, 0.9) 0 0) 0 12px / 7px 7px repeat-y,
		linear-gradient(rgba(10, 22, 48, 0.72) 0 0) 12px 0 / 7px 7px repeat-y,
		linear-gradient(rgba(10, 22, 48, 0.62) 0 0) 36px 18px / 6px 6px repeat-y,
		linear-gradient(rgba(227, 6, 19, 0.78) 0 0) 58px 6px / 6px 6px repeat-y;
}

.family-editorial::after {
	right: max(12px, calc((100vw - 1260px) / 2 - 72px));
	top: 92px;
	bottom: 118px;
	width: 180px;
	opacity: 0.14;
	background:
		linear-gradient(125deg, transparent 0 52%, rgba(227, 6, 19, 0.7) 52% 53.5%, transparent 53.5%),
		linear-gradient(35deg, transparent 0 32%, rgba(10, 22, 48, 0.72) 32% 32.8%, transparent 32.8%),
		linear-gradient(145deg, transparent 0 62%, rgba(10, 22, 48, 0.58) 62% 62.8%, transparent 62.8%),
		radial-gradient(circle, rgba(10, 22, 48, 0.85) 0 3px, transparent 4px) 20px 34px / 68px 76px,
		radial-gradient(circle, rgba(227, 6, 19, 0.75) 0 3px, transparent 4px) 58px 10px / 92px 84px;
}

.family-editorial__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(320px, 0.46fr) minmax(0, 0.54fr);
	gap: clamp(1.5rem, 4vw, 3.2rem);
	align-items: center;
}

.family-editorial__grid::before {
	left: 13%;
	right: 13%;
	top: calc(50% + 18px);
	height: 1px;
	opacity: 0.14;
	background:
		linear-gradient(90deg, rgba(10, 22, 48, 0), rgba(10, 22, 48, 0.9) 14%, rgba(227, 6, 19, 0.9) 52%, rgba(10, 22, 48, 0.76) 86%, rgba(10, 22, 48, 0));
	transform: translateY(-50%);
}

.family-editorial__grid::after {
	left: clamp(8px, 1.8vw, 22px);
	top: clamp(10px, 2vw, 24px);
	width: 84px;
	height: 62px;
	opacity: 0.18;
	background:
		linear-gradient(rgba(227, 6, 19, 0.9) 0 0) 0 0 / 8px 8px no-repeat,
		linear-gradient(rgba(10, 22, 48, 0.72) 0 0) 18px 10px / 8px 8px no-repeat,
		linear-gradient(rgba(10, 22, 48, 0.62) 0 0) 44px 4px / 7px 7px no-repeat,
		linear-gradient(rgba(227, 6, 19, 0.78) 0 0) 64px 24px / 7px 7px no-repeat,
		linear-gradient(rgba(10, 22, 48, 0.68) 0 0) 26px 38px / 6px 6px no-repeat;
}

.family-editorial__grid > * {
	position: relative;
	z-index: 1;
}

.family-editorial__media {
	margin-top: 0;
	max-height: 520px;
	background: var(--color-soft);
	border: 1px solid var(--color-border);
}

.family-editorial__content {
	align-self: center;
	max-width: 720px;
	line-height: 1.64;
}

.family-editorial__detail--compact {
	font-size: clamp(13.5px, 0.98vw, 14.5px);
	line-height: 1.58;
}

.family-role-list {
	position: relative;
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.35rem);
	width: min(960px, 100%);
	margin: 0.2rem auto 0;
}

.family-role-list::before {
	right: -28px;
	bottom: -28px;
	width: 104px;
	height: 76px;
	opacity: 0.16;
	background:
		linear-gradient(rgba(227, 6, 19, 0.9) 0 0) 0 0 / 8px 8px no-repeat,
		linear-gradient(rgba(10, 22, 48, 0.72) 0 0) 18px 12px / 8px 8px no-repeat,
		linear-gradient(rgba(10, 22, 48, 0.62) 0 0) 46px 8px / 7px 7px no-repeat,
		linear-gradient(rgba(227, 6, 19, 0.78) 0 0) 72px 28px / 7px 7px no-repeat,
		linear-gradient(rgba(10, 22, 48, 0.68) 0 0) 34px 48px / 6px 6px no-repeat;
}

.family-role {
	display: flex;
	flex-direction: column;
	padding: 1rem 1.15rem;
	border: 1px solid var(--color-border);
	border-left: 5px solid var(--color-red);
	background: var(--color-soft);
}

.family-role__portrait {
	width: 100%;
	aspect-ratio: 4 / 5;
	margin-bottom: 0.85rem;
	background: var(--white);
}

.family-role__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.family-role h3 {
	margin: 0 0 0.25rem;
	color: var(--color-navy-deep);
	font-size: 1.18rem;
	line-height: 1.18;
}

.family-role p {
	margin-top: 0.45rem;
}

.family-role__detail--compact {
	margin-top: 0.55rem;
	font-size: 13px;
	line-height: 1.56;
	font-weight: 400;
}

.family-proof-grid {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.125rem, 2vw, 1.625rem);
	align-items: stretch;
	width: 100%;
}

.family-proof-card {
	position: relative;
	min-height: 100%;
	overflow: hidden;
	padding: clamp(1.5rem, 2.2vw, 1.875rem);
	border-top: 3px solid var(--color-red);
}

.family-proof-card::after {
	content: "";
	position: absolute;
	right: 1.1rem;
	top: 1.05rem;
	width: 96px;
	height: 68px;
	opacity: 0.13;
	pointer-events: none;
	background:
		linear-gradient(135deg, transparent 0 46%, currentColor 46% 47.4%, transparent 47.4%),
		linear-gradient(32deg, transparent 0 36%, currentColor 36% 37.2%, transparent 37.2%),
		radial-gradient(circle, currentColor 0 3px, transparent 4px) 0 6px / 36px 30px;
}

.family-proof-card--implementation {
	background: var(--color-navy-deep);
	color: var(--white);
}

.family-proof-card--accountability {
	background: var(--color-soft);
	color: var(--color-navy-deep);
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-red);
}

.family-proof-card__label {
	margin: 0 0 0.55rem;
	color: var(--color-red);
	font-size: 11.5px;
	line-height: 1.2;
	font-weight: 900;
	text-transform: uppercase;
}

.family-proof-card h3 {
	position: relative;
	z-index: 1;
	margin: 0 0 0.75rem;
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	line-height: 1.18;
}

.family-proof-card p {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 13.5px;
	line-height: 1.56;
	font-weight: 400;
}

.family-proof-card p + p {
	margin-top: 0.65rem;
}

.family-proof-card--implementation h3 {
	color: var(--white);
}

.family-proof-card--implementation p:not(.family-proof-card__label) {
	color: rgba(255, 255, 255, 0.86);
}

.family-proof-card--accountability p:not(.family-proof-card__label) {
	color: var(--color-muted);
}

#experience .experience-editorial {
	padding-top: 26px;
	padding-bottom: 76px;
}

.experience__ornament--trend {
	--ornament-width: 430px;
	--ornament-height: 180px;
	--ornament-opacity: 0.07;
	right: max(12px, calc((100vw - 1260px) / 2 - 40px));
	top: 96px;
	color: var(--color-navy);
}

.experience__ornament--pixels-left {
	--ornament-width: 180px;
	--ornament-height: 140px;
	--ornament-opacity: 0.11;
	left: max(-150px, calc((100vw - 1260px) / 2 - 230px));
	top: 170px;
	color: var(--color-red);
}

.experience__ornament--nodes-left {
	--ornament-width: 290px;
	--ornament-height: 300px;
	--ornament-opacity: 0.07;
	left: max(-230px, calc((100vw - 1260px) / 2 - 300px));
	top: 320px;
	color: var(--color-navy);
}

.experience-editorial .section__media-grid {
	grid-template-columns: minmax(0, 0.6fr) minmax(0, 0.4fr);
}

.experience-editorial__media {
	align-self: center;
	max-width: 450px;
	background: transparent;
}

.experience-editorial__detail--compact {
	font-size: 14px;
	line-height: 1.58;
	font-weight: 400;
}

.experience-editorial__overview {
	font-size: 14px;
	line-height: 1.58;
	font-weight: 400;
}

.experience-impact {
	position: relative;
	overflow: clip;
	padding: 26px 0;
	background:
		linear-gradient(135deg, var(--color-red) 0%, var(--color-red-dark) 100%);
	color: var(--white);
}

.experience__ornament--nodes {
	--ornament-width: 280px;
	--ornament-height: 280px;
	--ornament-opacity: 0.1;
	right: max(12px, calc((100vw - 1260px) / 2 - 80px));
	top: -58px;
	color: var(--color-white);
}

.experience-impact__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: rgba(255, 255, 255, 0.25);
	border: 1px solid rgba(255, 255, 255, 0.25);
}

.experience-impact__tile {
	display: grid;
	align-content: start;
	gap: 0.7rem;
	min-height: 190px;
	padding: clamp(1rem, 2vw, 1.45rem);
	background: rgba(4, 16, 39, 0.22);
}

.experience-impact__tile img {
	width: 52px;
	height: 52px;
}

.experience-impact__tile strong {
	display: block;
	color: var(--white);
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.2;
}

.experience-impact__tile span {
	color: rgba(255, 255, 255, 0.92);
	font-weight: 850;
	line-height: 1.35;
}

.process-section {
	background:
		linear-gradient(180deg, var(--white) 0%, var(--color-soft) 100%);
}

.process__ornament--nodes {
	--ornament-width: 300px;
	--ornament-height: 300px;
	--ornament-opacity: 0.05;
	left: max(12px, calc((100vw - 1260px) / 2 - 90px));
	top: 110px;
	color: var(--color-navy);
}

.process-flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	margin: 3rem 0 0;
	padding: 0;
	list-style: none;
}

.process-flow::before {
	content: "";
	position: absolute;
	left: 7%;
	right: 7%;
	top: 42px;
	height: 2px;
	background: repeating-linear-gradient(90deg, rgba(227, 6, 19, 0.9) 0 10px, transparent 10px 18px);
}

.process-flow__step {
	position: relative;
	display: grid;
	align-content: start;
	gap: 0.75rem;
	min-height: 100%;
	padding: 0 0.85rem 1rem;
}

.process-flow__number {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	margin-bottom: 0.3rem;
	background: var(--color-red);
	color: var(--white);
	border: 8px solid var(--color-soft);
	border-radius: 999px;
	font-weight: 950;
	line-height: 1;
}

.process-flow__icon {
	display: block;
	width: 44px;
	height: 44px;
	background-image: url("../images/process-step-icons.svg");
	background-repeat: no-repeat;
	background-size: 220px 44px;
}

.process-flow__icon--1 {
	background-position: 0 0;
}

.process-flow__icon--2 {
	background-position: -44px 0;
}

.process-flow__icon--3 {
	background-position: -88px 0;
}

.process-flow__icon--4 {
	background-position: -132px 0;
}

.process-flow__icon--5 {
	background-position: -176px 0;
}

.process-flow h3 {
	margin: 0;
	color: var(--color-navy-deep);
	font-size: clamp(1.2rem, 1.8vw, 1.42rem);
	line-height: 1.18;
}

.process-flow p {
	margin: 0.45rem 0 0;
	font-size: 0.98rem;
	line-height: 1.55;
}

.check-list {
	display: grid;
	gap: 0.7rem;
	max-width: 760px;
}

.check-list li {
	padding-left: 1rem;
	border-left: 4px solid var(--vivid-red);
	font-weight: 700;
}

#experience .experience-editorial .check-list li {
	font-size: clamp(13.5px, 0.96vw, 14px);
	font-weight: 600;
	line-height: 1.46;
}

.comparison-section {
	background: var(--white);
}

.comparison__ornament--trend {
	--ornament-width: 420px;
	--ornament-height: 180px;
	--ornament-opacity: 0.06;
	left: 8%;
	top: 40%;
	color: var(--color-red);
	transform: rotate(6deg);
}

.approved-diagram--comparison {
	max-width: 780px;
	margin-bottom: 2rem;
}

.comparison-section__lead {
	display: grid;
	grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
	gap: clamp(3rem, 5vw, 4.5rem);
	align-items: center;
}

.comparison-section__copy {
	grid-column: 2;
	grid-row: 1;
	max-width: none;
	text-align: right;
}

.comparison-section__copy p {
	margin-left: auto;
}

.comparison-section__lead .approved-diagram--comparison {
	grid-column: 1;
	grid-row: 1;
	max-width: 520px;
	margin: 0;
	justify-self: center;
}

.comparison-section__lead .approved-media {
	height: clamp(340px, 27vw, 420px);
	aspect-ratio: auto;
}

.comparison-section__lead .approved-media__image {
	object-fit: cover;
	object-position: center center;
}

.model-comparison {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.model-panel {
	padding: clamp(1.35rem, 2.4vw, 2rem);
	border: 1px solid var(--color-border);
}

.model-panel--typical {
	background: var(--color-soft);
	color: var(--color-ink);
}

.model-panel--eadvertisement {
	background:
		linear-gradient(135deg, var(--color-navy-deep) 0%, var(--color-navy) 62%, var(--color-red-dark) 140%);
	color: var(--white);
	border-color: rgba(227, 6, 19, 0.4);
}

.model-panel h3,
.fit-card h3 {
	margin: 0 0 1rem;
	font-size: clamp(1.35rem, 2vw, 1.65rem);
	line-height: 1.18;
}

.model-panel ul,
.fit-card ul {
	display: grid;
	gap: 0.8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.model-panel li,
.fit-card li {
	position: relative;
	padding-left: 1.6rem;
	font-weight: 760;
	line-height: 1.48;
}

#why-us .model-panel li {
	font-weight: 400;
}

.fit-card--positive li,
.fit-card--caution li {
	font-size: 13px;
	line-height: 1.52;
	font-weight: 400;
}

.model-panel li::before,
.fit-card li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.65rem;
	height: 0.65rem;
	border: 2px solid var(--color-red);
}

.model-panel--eadvertisement li::before,
.fit-card--positive li::before {
	background: var(--color-red);
	box-shadow: 0 0 0 4px rgba(227, 6, 19, 0.12);
}

.model-panel--eadvertisement li {
	color: rgba(255, 255, 255, 0.9);
}

.fit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem;
	margin-top: 2rem;
}

.fit-section {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.fit-section .section__inner {
	position: relative;
	z-index: 2;
}

.fit__ornament--pixels {
	--ornament-width: 200px;
	--ornament-height: 150px;
	--ornament-opacity: 0.11;
	left: max(-70px, calc((100vw - 1260px) / 2 - 90px));
	top: 76px;
	color: var(--color-red);
}

.fit__ornament--nodes {
	--ornament-width: 330px;
	--ornament-height: 320px;
	--ornament-opacity: 0.08;
	right: max(-120px, calc((100vw - 1260px) / 2 - 120px));
	top: 145px;
	color: var(--color-navy);
}

.fit__ornament--trend {
	--ornament-width: 430px;
	--ornament-height: 190px;
	--ornament-opacity: 0.065;
	left: max(-150px, calc((100vw - 1260px) / 2 - 160px));
	bottom: 42px;
	color: var(--color-navy);
}

.fit-card {
	position: relative;
	padding: clamp(1.35rem, 2.3vw, 1.85rem);
	border: 1px solid var(--color-border);
	background: var(--white);
}

.fit-card--positive {
	border-top: 5px solid var(--color-red);
}

.fit-card--caution {
	background: var(--color-soft);
	border-top: 5px solid var(--color-navy);
}

.fit-card__icon {
	display: block;
	width: 42px;
	height: 42px;
	margin-bottom: 1rem;
	border: 2px solid var(--color-red);
	background:
		linear-gradient(90deg, transparent 45%, var(--color-red) 45% 55%, transparent 55%),
		linear-gradient(0deg, transparent 45%, var(--color-red) 45% 55%, transparent 55%);
}

.process-note {
	max-width: 900px;
	margin-top: 2.25rem;
}

.process-note .process-note__detail {
	font-size: 13.5px;
	line-height: 1.56;
	font-weight: 400;
}

.market-teaser__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.52fr) minmax(360px, 0.48fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

.market-teaser__content {
	position: relative;
	z-index: 1;
}

.market-teaser__aside {
	display: grid;
	gap: 16px;
	align-self: start;
	justify-items: start;
}

@media (min-width: 1200px) {
	#enter-the-eu h2 {
		font-size: clamp(28px, 2.2vw, 34px);
		min-width: 0;
		white-space: normal;
		text-wrap: balance;
	}
}

.market-highlights {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem;
	margin: 1.25rem 0 1.5rem;
	padding: 0;
	list-style: none;
}

.market-highlights li {
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.24);
	padding: 0.78rem 0.85rem 0.78rem 2rem;
	background: rgba(255, 255, 255, 0.06);
	font-size: 13px;
	line-height: 1.48;
	font-weight: 400;
	color: var(--white);
}

.market-highlights li::before {
	content: "";
	position: absolute;
	left: 0.85rem;
	top: 1.12rem;
	width: 0.52rem;
	height: 0.52rem;
	background: var(--color-red);
}

.market-boundary {
	width: 100%;
	max-width: 620px;
	margin-top: 0;
	padding-left: 1rem;
	border-left: 4px solid var(--vivid-red);
}

.market-boundary p {
	margin: 0.35rem 0 0;
	font-weight: 800;
}

.market-teaser__visual {
	position: relative;
	display: block;
	width: 100%;
	max-width: 620px;
	margin: 0;
	aspect-ratio: var(--asset-ratio);
	max-height: 410px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: var(--color-navy-deep);
	box-shadow: 0 24px 65px rgba(0, 0, 0, 0.26);
	overflow: hidden;
}

.market-teaser__visual::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 28% 32%, rgba(227, 6, 19, 0.14), transparent 28%);
	pointer-events: none;
}

.market-teaser__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}

.faq-section {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--color-soft);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.faq-section .section__inner {
	position: relative;
	z-index: 2;
}

.faq__ornament {
	pointer-events: none;
	z-index: 1;
}

.faq__ornament--pixels {
	--ornament-width: 210px;
	--ornament-height: 160px;
	--ornament-opacity: 0.13;
	left: max(12px, calc((100vw - 1260px) / 2 - 70px));
	top: 46px;
	color: var(--color-red);
}

.faq__ornament--nodes {
	--ornament-width: 340px;
	--ornament-height: 320px;
	--ornament-opacity: 0.1;
	right: max(12px, calc((100vw - 1260px) / 2 - 105px));
	top: 92px;
	color: var(--color-navy);
}

.faq__ornament--trend {
	--ornament-width: 430px;
	--ornament-height: 180px;
	--ornament-opacity: 0.08;
	left: max(12px, calc((100vw - 1260px) / 2 + 70px));
	bottom: 36px;
	color: var(--color-red);
}

.faq-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 2.5rem;
}

.faq-list details {
	padding: 0;
	background: var(--white);
	border: 1px solid var(--color-border);
}

.faq-list summary {
	position: relative;
	display: block;
	cursor: pointer;
	padding: 1.15rem 3rem 1.15rem 1.2rem;
	font-weight: 400;
	color: var(--deep-navy);
	line-height: 1.3;
}

.faq-list summary::-webkit-details-marker {
	display: none;
}

.faq-list summary::after {
	content: "+";
	position: absolute;
	right: 1.1rem;
	top: 50%;
	display: grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	color: var(--color-red);
	border: 1px solid var(--color-red);
	transform: translateY(-50%);
	font-size: 1.2rem;
	line-height: 1;
}

.faq-list details[open] summary::after {
	content: "-";
	background: var(--color-red);
	color: var(--white);
}

.faq-list p {
	margin: 0;
	padding: 0 1.2rem 1rem;
	color: var(--color-muted);
}

.key-facts-section {
	padding-top: 38px;
	padding-bottom: 42px;
}

.key-facts-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.9rem;
	margin: 1.5rem 0 0;
	padding: 0;
}

.key-fact {
	min-width: 0;
	padding: 1rem 1.05rem;
	background: var(--white);
	border: 1px solid var(--line);
	border-top: 3px solid var(--color-red);
}

.key-fact dt {
	margin: 0 0 0.35rem;
	color: var(--color-navy-deep);
	font-size: 0.98rem;
	font-weight: 850;
	line-height: 1.28;
}

.key-fact dd {
	margin: 0;
	color: var(--muted);
	font-size: 0.91rem;
	line-height: 1.52;
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.34fr) minmax(0, 0.66fr);
	gap: clamp(1.5rem, 4vw, 3.2rem);
	align-items: start;
}

.contact-layout__copy {
	position: sticky;
	top: calc(var(--site-header-height) + 28px);
}

.contact-layout__copy h2 {
	max-width: 560px;
}

.contact-company {
	position: relative;
	max-width: 460px;
	margin-top: clamp(1.375rem, 2vw, 1.75rem);
	padding: clamp(1.25rem, 2vw, 1.5rem);
	background: rgba(255, 255, 255, 0.075);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-left: 3px solid var(--color-red);
	overflow: hidden;
}

.contact-company::after {
	content: "";
	position: absolute;
	right: 1rem;
	top: 1rem;
	width: 0.58rem;
	height: 0.58rem;
	background: var(--color-red);
	box-shadow: 0 0 0 5px rgba(227, 6, 19, 0.12);
	transform: rotate(45deg);
}

.contact-company h3 {
	margin: 0 0 0.75rem;
	color: var(--white);
	font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
	line-height: 1.25;
}

.contact-company__address {
	display: grid;
	gap: 0.2rem;
	color: rgba(255, 255, 255, 0.84);
	font-size: clamp(0.8125rem, 0.95vw, 0.875rem);
	font-style: normal;
	line-height: 1.6;
}

.contact-company__address strong {
	color: var(--white);
	font-weight: 850;
}

.contact-company__address a {
	color: var(--white);
	font-weight: 750;
	overflow-wrap: anywhere;
}

.contact-company__address a:hover {
	color: var(--color-red);
}

.contact-company__address a:focus-visible {
	outline: 2px solid var(--color-red);
	outline-offset: 3px;
}

.campaign-brief-panel {
	justify-self: end;
	width: min(100%, 640px);
	max-width: 640px;
	padding: clamp(1.625rem, 2.5vw, 2rem);
	background: var(--white);
	color: var(--color-ink);
	border: 1px solid rgba(10, 22, 48, 0.2);
	border-top: 4px solid var(--color-red);
	border-radius: 10px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.16);
}

.campaign-brief-panel__header {
	margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
	padding-bottom: clamp(1rem, 1.6vw, 1.25rem);
	border-bottom: 1px solid rgba(10, 22, 48, 0.14);
}

.campaign-brief-panel__header p {
	margin: 0 0 0.4rem;
	color: var(--color-red);
	font-size: 0.75rem;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campaign-brief-panel__header h3 {
	margin: 0;
	color: var(--color-navy-deep);
	font-size: clamp(1.375rem, 2vw, 1.625rem);
	line-height: 1.18;
}

.campaign-brief-panel__header span {
	display: block;
	margin-top: 0.35rem;
	color: var(--color-muted);
	font-size: 0.8125rem;
	line-height: 1.4;
}

.campaign-brief {
	margin: 0;
}

.campaign-brief__honeypot {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	pointer-events: none;
}

.campaign-brief__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.campaign-brief__field {
	max-width: none;
	margin: 0;
}

.campaign-brief__field--wide {
	grid-column: 1 / -1;
}

.campaign-brief label {
	display: block;
	margin-bottom: 0.4rem;
	color: var(--color-navy-deep);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.25;
}

.campaign-brief input,
.campaign-brief textarea {
	width: 100%;
	min-height: 42px;
	padding: 0.56rem 0.7rem;
	color: var(--color-navy-deep);
	background: #F8FAFC;
	border: 1px solid #C8D0DC;
	border-radius: 6px;
	font: inherit;
	font-size: 0.875rem;
	line-height: 1.3;
}

.campaign-brief__help,
.campaign-brief__error {
	display: block;
	margin-top: 0.4rem;
	font-size: 0.78rem;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.campaign-brief__help {
	color: rgba(10, 22, 48, 0.72);
}

.campaign-brief__error {
	color: #5f0f16;
	font-weight: 700;
}

.campaign-brief input[aria-invalid="true"],
.campaign-brief textarea[aria-invalid="true"] {
	border-color: #b4232f;
	background: #fff8f8;
}

.campaign-brief .campaign-brief__honeypot input {
	width: 1px;
	height: 1px;
	min-height: 0;
	padding: 0;
	border: 0;
	pointer-events: none;
}

.campaign-brief input:focus,
.campaign-brief textarea:focus {
	border-color: var(--color-red);
	outline: 3px solid rgba(227, 6, 19, 0.18);
	outline-offset: 0;
}

.campaign-brief textarea {
	min-height: 118px;
	resize: vertical;
	line-height: 1.45;
}

.campaign-brief__consent {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.65rem;
	align-items: start;
	padding: 0.8rem 0.85rem;
	background: #F5F7FA;
	border: 1px solid #D8DEE8;
	border-radius: 6px;
}

.campaign-brief__consent label {
	margin: 0;
	color: rgba(10, 22, 48, 0.72);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.48;
}

.campaign-brief__consent input {
	width: 17px;
	min-height: 17px;
	margin-top: 0.08rem;
}

@media (max-width: 1023px) {
	.comparison-section__lead {
		grid-template-columns: 1fr;
	}

	.comparison-section__copy,
	.comparison-section__lead .approved-diagram--comparison {
		grid-column: auto;
		grid-row: auto;
	}

	.comparison-section__copy,
	.comparison-section__copy p {
		text-align: left;
		margin-left: 0;
	}
}

.campaign-brief__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	justify-content: flex-start;
	margin-top: 1.25rem;
}

.campaign-brief__actions .button {
	min-height: 42px;
}

.campaign-brief__actions .button:disabled {
	cursor: progress;
	opacity: 0.78;
}

.campaign-brief__summary {
	margin-bottom: 1rem;
	padding: 0.8rem 0.95rem;
	background: #fff1f2;
	border: 1px solid #f0a7af;
	border-left: 4px solid #b4232f;
	border-radius: 6px;
	color: #5f0f16;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.campaign-brief__summary p {
	margin: 0;
}

.campaign-brief__summary ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.85rem;
	margin: 0.5rem 0 0;
	padding-left: 1rem;
}

.campaign-brief__summary a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.campaign-brief__status {
	margin-top: 1rem;
	padding: 0.8rem 0.95rem;
	background: #fff1f2;
	border: 1px solid #f0a7af;
	border-left: 4px solid #b4232f;
	border-radius: 6px;
	color: #5f0f16;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.campaign-brief__status--success {
	background: #eef8f1;
	border-color: #a8d9ba;
	border-left-color: #1d7a46;
	color: #0b1a36;
}

.campaign-brief__status--validation_error,
.campaign-brief__status--server_error,
.campaign-brief__status--send_error,
.campaign-brief__status--rate_limited,
.campaign-brief__status--expired {
	background: #fff1f2;
	border-color: #f0a7af;
	border-left-color: #b4232f;
	color: #5f0f16;
}

@media (forced-colors: active) {
	.campaign-brief__summary,
	.campaign-brief__status,
	.campaign-brief input[aria-invalid="true"],
	.campaign-brief textarea[aria-invalid="true"] {
		border-color: CanvasText;
	}
}

.section--muted > .section__inner > .eyebrow,
.section--muted .section-heading > .eyebrow {
	color: #c90010;
}

.site-footer .button,
.site-footer .button:visited {
	color: var(--color-white);
}

.final-cta {
	position: relative;
	overflow: clip;
	padding: 30px 0;
	background: var(--color-red);
	color: var(--white);
}

.final-cta__ornament--trend {
	--ornament-width: 420px;
	--ornament-height: 180px;
	--ornament-opacity: 0.13;
	right: 8%;
	top: 10px;
	color: var(--color-white);
}

.final-cta__ornament--pixels {
	--ornament-width: 240px;
	--ornament-height: 170px;
	--ornament-opacity: 0.1;
	left: 4%;
	bottom: -22px;
	color: var(--color-white);
}

.final-cta__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
}

.final-cta h2 {
	max-width: 720px;
	margin-bottom: 0.55rem;
	font-size: clamp(24px, 2.1vw, 30px);
	line-height: 1.14;
}

.final-cta p {
	margin: 0.45rem 0 0;
	color: rgba(255, 255, 255, 0.9);
}

.final-cta__microcopy {
	font-weight: 850;
}

.entry-hero {
	background:
		radial-gradient(circle at 76% 28%, rgba(227, 6, 19, 0.16), transparent 24%),
		linear-gradient(135deg, var(--color-navy-deep) 0%, var(--color-navy) 62%, var(--color-navy-card) 100%);
	color: var(--white);
	padding: 96px 0 84px;
}

.breadcrumb {
	position: relative;
	z-index: 2;
	width: min(1260px, calc(100% - 40px));
	margin: 0 auto 1rem;
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.35;
}

.breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.55rem;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.breadcrumb li {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	color: rgba(255, 255, 255, 0.78);
}

.breadcrumb li + li::before {
	content: "/";
	color: var(--color-red);
}

.breadcrumb a {
	color: var(--white);
	text-decoration: none;
}

.breadcrumb a:hover {
	text-decoration: underline;
}

.breadcrumb--light {
	width: auto;
	margin: 0 0 1rem;
}

.breadcrumb--light li {
	color: var(--color-muted);
}

.breadcrumb--light a {
	color: var(--color-navy-deep);
}

.entry-hero__ornament--trend {
	--ornament-width: min(40vw, 520px);
	--ornament-height: 220px;
	--ornament-opacity: 0.11;
	right: 4%;
	top: 15%;
	color: var(--color-white);
}

.entry-hero__ornament--nodes {
	--ornament-width: 320px;
	--ornament-height: 320px;
	--ornament-opacity: 0.1;
	right: 12%;
	bottom: 8%;
	color: var(--color-white);
}

.entry-hero__ornament--glow {
	--ornament-width: min(42vw, 520px);
	--ornament-height: min(42vw, 520px);
	right: 7%;
	top: 22%;
}

.entry-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.52fr) minmax(320px, 0.48fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
}

.entry-hero h1 {
	max-width: 980px;
	margin: 0;
	font-size: clamp(2rem, 4vw, 4.2rem);
	line-height: 1.04;
}

.entry-hero__lead {
	max-width: 820px;
	margin: 1.35rem 0 0;
	color: rgba(255, 255, 255, 0.84);
	font-size: 1.2rem;
}

.entry-hero__media {
	position: relative;
	z-index: 1;
	max-height: 500px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.16);
}

.entry-introduction__ornament--network {
	--ornament-width: 260px;
	--ornament-height: 220px;
	--ornament-opacity: 0.06;
	right: max(12px, calc((100vw - 1260px) / 2 - 80px));
	top: 70px;
	color: var(--color-navy);
}

.entry-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.75fr);
	gap: 2rem;
	align-items: start;
}

.entry-copy p:first-child {
	margin-top: 0;
}

.entry-trust-list,
.entry-grid,
.entry-steps {
	margin: 0;
	padding: 0;
	list-style: none;
}

.entry-trust-list {
	display: grid;
	gap: 0.7rem;
	padding: 1rem;
	background: var(--deep-navy);
	color: var(--white);
	border-top: 4px solid var(--vivid-red);
}

.entry-trust-list li,
.entry-grid li,
.entry-card,
.entry-steps li,
.entry-faq article {
	border: 1px solid var(--line);
	background: var(--white);
}

.entry-trust-list li {
	padding: 0.8rem;
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.08);
}

.entry-grid,
.entry-card-grid,
.entry-steps,
.entry-faq {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}

.entry-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.entry-grid--cards {
	align-items: stretch;
}

.entry-info-card {
	position: relative;
	min-height: 100%;
	padding: clamp(1.15rem, 2vw, 1.45rem);
	background: var(--white);
	border: 1px solid var(--color-border);
	border-top: 4px solid var(--color-red);
	border-radius: 10px;
}

.entry-info-card::before {
	content: "";
	position: absolute;
	right: 1rem;
	top: 1rem;
	width: 0.58rem;
	height: 0.58rem;
	background: var(--color-red);
	box-shadow: 0 0 0 5px rgba(227, 6, 19, 0.1);
	transform: rotate(45deg);
}

.entry-info-card h3 {
	max-width: calc(100% - 1.6rem);
	margin: 0 0 0.65rem;
	color: var(--color-navy-deep);
	font-size: clamp(1.15rem, 1.8vw, 1.35rem);
	line-height: 1.18;
}

.entry-info-card p {
	margin: 0;
	color: var(--color-muted);
	line-height: 1.58;
}

.entry-support__ornament--nodes {
	--ornament-width: 300px;
	--ornament-height: 300px;
	--ornament-opacity: 0.05;
	left: max(12px, calc((100vw - 1260px) / 2 - 90px));
	top: 120px;
	color: var(--color-navy);
}

.entry-grid--compact {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.entry-grid li {
	padding: 1rem;
}

.entry-card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.entry-tracks__ornament--trend {
	--ornament-width: 420px;
	--ornament-height: 170px;
	--ornament-opacity: 0.06;
	right: 8%;
	top: 44%;
	color: var(--color-red);
}

.entry-card,
.entry-steps li,
.entry-faq article {
	padding: 1.25rem;
}

.entry-card {
	position: relative;
	border-radius: 10px;
	border-top: 4px solid var(--color-red);
}

.entry-card::after {
	content: "";
	position: absolute;
	right: 1rem;
	top: 1rem;
	width: 1.2rem;
	height: 1px;
	background: var(--color-red);
}

.entry-card h3,
.entry-steps h3,
.entry-faq h3 {
	margin: 0 0 0.6rem;
	color: var(--deep-navy);
	line-height: 1.2;
}

.entry-card p,
.entry-steps p,
.entry-faq p {
	margin: 0;
}

.entry-steps {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	counter-reset: entry-step;
}

.entry-process__ornament--nodes {
	--ornament-width: 300px;
	--ornament-height: 300px;
	--ornament-opacity: 0.05;
	right: max(12px, calc((100vw - 1260px) / 2 - 80px));
	top: 96px;
	color: var(--color-navy);
}

.entry-steps li {
	position: relative;
	padding-top: 3.2rem;
}

.entry-steps li::before {
	counter-increment: entry-step;
	content: counter(entry-step);
	position: absolute;
	top: 1rem;
	left: 1.25rem;
	display: grid;
	place-items: center;
	width: 1.7rem;
	height: 1.7rem;
	background: var(--vivid-red);
	color: var(--white);
	font-weight: 900;
}

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

.entry-responsibility {
	background:
		radial-gradient(circle at 12% 18%, rgba(227, 6, 19, 0.12), transparent 22%),
		linear-gradient(135deg, var(--color-navy-deep) 0%, var(--color-navy) 64%, var(--color-navy-card) 100%);
	color: var(--white);
}

.entry-responsibility p {
	color: var(--color-dark-muted);
}

.entry-responsibility__ornament--network {
	--ornament-width: 320px;
	--ornament-height: 260px;
	--ornament-opacity: 0.1;
	right: max(12px, calc((100vw - 1260px) / 2 - 80px));
	top: 70px;
	color: var(--color-white);
}

.entry-responsibility__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}

.entry-responsibility__card {
	padding: 1.25rem;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-top: 4px solid var(--color-red);
	border-radius: 10px;
}

.entry-responsibility__card h3 {
	margin: 0 0 0.6rem;
	color: var(--white);
	line-height: 1.2;
}

.entry-responsibility__closing {
	margin-top: 1.35rem;
	padding: 1rem 1.15rem;
	border-left: 5px solid var(--color-red);
	background: rgba(255, 255, 255, 0.08);
	font-weight: 850;
}

.entry-boundaries__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}

.entry-boundaries__panel {
	padding: 1.35rem;
	background: var(--white);
	border: 1px solid var(--color-border);
	border-top: 4px solid var(--color-red);
	border-radius: 10px;
}

.entry-boundaries__panel--caution {
	border-top-color: var(--color-navy);
}

.entry-boundaries__panel h3 {
	margin: 0 0 0.6rem;
	color: var(--color-navy-deep);
}

.entry-boundaries__panel p,
.entry-boundaries__callout {
	margin: 0;
}

.entry-boundaries__callout {
	margin-top: 1rem;
	padding: 1rem 1.15rem;
	background: var(--white);
	border-left: 5px solid var(--color-red);
	color: var(--color-navy-deep);
	font-weight: 850;
}

.entry-contact__ornament--trend {
	--ornament-width: 420px;
	--ornament-height: 180px;
	--ornament-opacity: 0.08;
	right: 8%;
	top: 40px;
	color: var(--color-white);
}

/* EU Market Entry: approved typography compaction */
.market-entry-page .entry-hero h1 {
	font-size: clamp(2rem, 3.15vw, 3rem);
	line-height: 1.06;
}

.market-entry-page #entry-introduction .entry-copy h2,
.market-entry-page #entry-problem h2,
.market-entry-page #entry-who h2,
.market-entry-page #entry-tracks h2,
.market-entry-page #entry-process h2,
.market-entry-page #entry-responsibility h2,
.market-entry-page #entry-boundaries h2 {
	font-size: clamp(1.5rem, 2.35vw, 2.25rem);
	line-height: 1.12;
}

.market-entry-page #entry-introduction .entry-copy__compact-detail {
	font-size: clamp(0.875rem, 1.05vw, 0.95rem);
	line-height: 1.6;
}

.market-entry-page .entry-section-lead--wide,
.market-entry-page #entry-responsibility .entry-responsibility__closing {
	width: 100%;
	max-width: none;
	font-size: clamp(0.875rem, 1.05vw, 0.95rem);
	line-height: 1.55;
}

.market-entry-page #entry-faq .entry-faq article > p {
	font-size: clamp(0.875rem, 1vw, 0.94rem);
	line-height: 1.55;
	font-weight: 400;
}

.market-entry-page #entry-boundaries .entry-boundaries__callout {
	font-weight: 400;
}

.site-footer {
	position: relative;
	overflow: clip;
	padding: 40px 0 24px;
	background:
		linear-gradient(180deg, var(--color-navy-deep) 0%, var(--color-navy) 100%);
	color: var(--white);
	font-size: 13px;
	line-height: 1.48;
}

.site-footer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(227, 6, 19, 0.7), rgba(255, 255, 255, 0.26), transparent);
}

.site-footer__ornament--nodes {
	--ornament-width: 340px;
	--ornament-height: 260px;
	--ornament-opacity: 0.08;
	right: max(12px, calc((100vw - 1260px) / 2 - 90px));
	top: 20px;
	color: var(--color-white);
}

.site-footer__ornament--pixels {
	--ornament-width: 250px;
	--ornament-height: 180px;
	--ornament-opacity: 0.12;
	left: max(12px, calc((100vw - 1260px) / 2 - 80px));
	bottom: 22px;
	color: var(--color-red);
}

.site-footer__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.35rem;
}

.site-footer p {
	margin: 0;
}

.site-footer__top {
	display: grid;
	grid-template-columns: minmax(380px, 1.35fr) repeat(3, minmax(132px, 0.66fr)) minmax(220px, 0.86fr);
	gap: clamp(1.05rem, 2.2vw, 1.7rem);
	align-items: start;
}

.site-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.85rem;
	max-width: 430px;
}

.site-footer__lockup {
	display: inline-flex;
	align-items: center;
	color: var(--white);
	font-weight: 900;
	text-decoration: none;
}

.site-footer__logo-image {
	display: block;
	width: clamp(245px, 18.2vw, 273px);
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.site-footer__partner-logo {
	display: block;
	width: clamp(210px, 16vw, 245px);
	height: auto;
	margin: 0;
	object-fit: contain;
}

.site-footer__brand p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 12.5px;
	line-height: 1.45;
}

.site-footer__brand strong {
	color: var(--white);
}

.site-footer__nav {
	display: contents;
}

.site-footer__column h2,
.site-footer__talk h2 {
	margin: 0 0 0.48rem;
	color: var(--white);
	font-size: 0.9rem;
	line-height: 1.2;
}

.site-footer__column ul {
	display: grid;
	gap: 0.18rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding-block: 2px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 12.5px;
	line-height: 1.42;
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--white);
}

.site-footer__talk {
	display: grid;
	gap: 0.6rem;
	padding: 0.9rem;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.045));
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-top: 4px solid var(--color-red);
}

.site-footer__talk p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 12.5px;
	line-height: 1.45;
}

.site-footer__talk .button {
	width: 100%;
	min-height: 44px;
	color: var(--color-white);
	font-size: 12.5px;
	line-height: 1.2;
}

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	padding-top: 0.95rem;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.72);
	font-size: 11.5px;
	line-height: 1.45;
	font-weight: 400;
}

@media (max-width: 1120px) {
	.site-header__inner {
		justify-content: space-between;
		width: min(100% - 28px, 1360px);
		padding: 0.5rem 0;
	}

	.site-brand {
		min-width: 0;
	}

	.site-brand__image {
		width: clamp(220px, 40vw, 270px);
	}

	.site-nav-toggle {
		display: inline-flex;
	}

	.site-header__panel {
		position: fixed;
		top: var(--site-header-height);
		left: 0;
		right: 0;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.8rem;
		max-height: calc(100vh - var(--site-header-height));
		margin-left: 0;
		padding: 1rem max(1rem, calc((100vw - 1260px) / 2));
		overflow-y: auto;
		background: var(--deep-navy);
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		box-shadow: 0 20px 34px rgba(10, 22, 48, 0.25);
	}

	body.admin-bar .site-header__panel {
		top: calc(var(--site-header-height) + 32px);
		max-height: calc(100vh - var(--site-header-height) - 32px);
	}

	.eadvertisement-js .site-header__panel {
		display: none;
	}

	.eadvertisement-js .site-header.is-menu-open .site-header__panel {
		display: flex;
	}

	.site-nav {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin-left: 0;
		white-space: normal;
	}

	.site-nav a,
	.language-switcher__item {
		min-height: 44px;
	}

	.site-nav a {
		display: flex;
		align-items: center;
		padding: 0.6rem 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.site-nav a + a::before {
		display: none;
	}

	.language-switcher__toggle,
	.site-header__cta {
		width: 100%;
	}

	.language-switcher__list {
		position: static;
		width: 100%;
		max-width: none;
		margin-top: 0.5rem;
		box-shadow: none;
	}
}

@media (max-width: 900px) {
	:root {
		--site-header-height: 70px;
	}

	body {
		font-size: 16px;
	}

	body.admin-bar .site-header {
		top: 46px;
	}

	.site-header__inner {
		justify-content: space-between;
		width: min(100% - 28px, 1280px);
		padding: 0.5rem 0;
	}

	.site-brand {
		min-width: 0;
	}

	.site-brand__image {
		width: clamp(220px, 58vw, 270px);
	}

	.site-brand__mark {
		width: 44px;
		height: 44px;
	}

	.site-brand__text {
		font-size: clamp(0.86rem, 4vw, 0.98rem);
	}

	.site-brand__descriptor {
		font-size: clamp(0.56rem, 2.8vw, 0.64rem);
	}

	.site-nav-toggle {
		display: inline-flex;
	}

	.site-header__panel {
		position: fixed;
		top: var(--site-header-height);
		left: 0;
		right: 0;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.8rem;
		max-height: calc(100vh - var(--site-header-height));
		margin-left: 0;
		padding: 1rem max(1rem, calc((100vw - 1260px) / 2));
		overflow-y: auto;
		background: var(--deep-navy);
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		box-shadow: 0 20px 34px rgba(10, 22, 48, 0.25);
	}

	body.admin-bar .site-header__panel {
		top: calc(var(--site-header-height) + 46px);
		max-height: calc(100vh - var(--site-header-height) - 46px);
	}

	.eadvertisement-js .site-header__panel {
		display: none;
	}

	.eadvertisement-js .site-header.is-menu-open .site-header__panel {
		display: flex;
	}

	.site-nav {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin-left: 0;
		white-space: normal;
	}

	.site-nav a,
	.language-switcher__item {
		min-height: 44px;
	}

	.site-nav a {
		display: flex;
		align-items: center;
		padding: 0.6rem 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.language-switcher__toggle,
	.site-header__cta {
		width: 100%;
	}

	.language-switcher__list {
		position: static;
		width: 100%;
		max-width: none;
		margin-top: 0.5rem;
		box-shadow: none;
	}

	.hero {
		min-height: auto;
		padding: 36px 0 0;
	}

	.hero h1 {
		font-size: clamp(1.6875rem, 4.4vw, 2.1875rem);
		line-height: 1.08;
	}

	.hero .eyebrow {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.hero__copy {
		font-size: 1.05rem;
	}

	.hero__details {
		gap: 0.6rem;
	}

	.hero__details p {
		font-size: 0.84375rem;
		line-height: 1.54;
	}

	.locale-ko .hero__details p {
		font-size: 0.78125rem;
		line-height: 1.36;
	}

	.problem-solution__detail--compact {
		font-size: clamp(13px, 3.4vw, 13.5px);
		line-height: 1.52;
	}

	.problem-panel--blockers li,
	.problem-panel--changes li {
		font-size: clamp(12.5px, 3.3vw, 13px);
		line-height: 1.5;
	}

	.family-editorial__detail--compact {
		font-size: clamp(13px, 3.5vw, 14px);
		line-height: 1.56;
	}

	.experience-editorial__detail--compact {
		font-size: clamp(13px, 3.5vw, 14px);
		line-height: 1.58;
	}

	#experience .experience-editorial .check-list li {
		font-size: clamp(13px, 3.4vw, 13.5px);
		line-height: 1.48;
	}

	.section {
		padding: 32px 0;
	}

	.capability-strip,
	.evidence-band,
	.family-band,
	.experience-impact,
	.final-cta {
		padding-top: 8px;
		padding-bottom: 20px;
	}

	.capability-strip {
		padding-top: 0;
	}

	.site-footer {
		padding-top: 32px;
		padding-bottom: 20px;
		font-size: 12.5px;
	}

	.site-footer__brand {
		align-items: center;
		max-width: none;
	}

	.site-footer__partner-logo {
		width: clamp(180px, 52vw, 220px);
	}

	.site-footer__logo-image {
		width: clamp(165px, 48vw, 203px);
	}

	.hero__grid,
	.problem-solution__lead,
	.services-intro,
	.section__media-grid,
	.problem-solution__grid,
	.evidence-section__intro,
	.split-list,
		#family-owned .card-grid,
		.service-grid,
		.evidence-band__grid,
		.mimi-layout,
		.family-band__grid,
		.family-principles,
		.family-editorial__grid,
		.family-proof-grid,
		.experience-impact__grid,
		.process-flow,
		.model-comparison,
		.fit-grid,
		.market-teaser__grid,
		.contact-layout,
		.final-cta__grid,
		.site-footer__top,
		.card-grid--three,
		.card-grid--two,
		.step-list,
		.faq-list,
		.key-facts-grid,
	.campaign-brief__grid,
	.site-footer__nav,
		.capability-strip__list {
		grid-template-columns: 1fr;
	}

	.hero__aside {
		justify-items: stretch;
		align-content: start;
	}

	.site-footer__nav {
		display: grid;
		gap: 1.2rem;
	}

	.section-heading--center {
		text-align: left;
	}

	.problem-solution__grid::before {
		display: none;
	}

	.approved-diagram--problem,
	.approved-diagram--services,
	.approved-diagram--comparison {
		margin-top: 1.5rem;
	}

	.problem-solution__lead .approved-diagram,
	.services-intro .approved-diagram {
		margin-top: 0;
	}

	.services-intro .approved-media,
	.problem-solution__lead .approved-media {
		height: clamp(220px, 58vw, 320px);
	}

	.media-slot--hero-wolf,
	.hero__visual {
		width: 100%;
		min-height: 0;
		max-height: 340px;
		justify-self: stretch;
	}

	.family-band__heading {
		grid-template-columns: 68px minmax(0, 1fr);
	}

	.family-band h2 {
		font-size: clamp(1.125rem, 4.8vw, 1.3125rem);
		line-height: 1.18;
	}

	.family-band__heading img {
		width: 68px;
		height: 68px;
	}

	.identity-card__visual {
		height: clamp(220px, 58vw, 280px);
		aspect-ratio: auto;
	}

	.mimi-layout__intro {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	#mimi-jarvis h2 {
		font-size: clamp(1.625rem, 6.2vw, 1.875rem);
		line-height: 1.12;
	}

	.mimi-intro__connector {
		display: none;
	}

	.family-role-list {
		grid-template-columns: 1fr;
		width: min(420px, 100%);
	}

	.family-editorial::before {
		display: none;
	}

	.family-editorial::after {
		right: 18px;
		top: auto;
		bottom: 26px;
		display: block;
		width: 96px;
		height: 82px;
		opacity: 0.1;
		background:
			linear-gradient(135deg, transparent 0 54%, rgba(227, 6, 19, 0.75) 54% 56%, transparent 56%),
			linear-gradient(35deg, transparent 0 38%, rgba(10, 22, 48, 0.7) 38% 39.4%, transparent 39.4%),
			radial-gradient(circle, rgba(10, 22, 48, 0.78) 0 3px, transparent 4px) 8px 16px / 46px 52px;
	}

	.family-editorial__grid::before {
		display: none;
	}

	.family-editorial__grid::after {
		left: 12px;
		top: calc(50% - 20px);
		width: 58px;
		height: 42px;
		opacity: 0.14;
	}

	.family-role-list::before {
		right: 4px;
		bottom: -22px;
		width: 72px;
		height: 54px;
		opacity: 0.12;
	}

	.family-editorial__content {
		order: -1;
	}

	.process-flow {
		gap: 1rem;
		margin-top: 2rem;
	}

	.process-flow::before {
		left: 41px;
		right: auto;
		top: 0;
		bottom: 0;
		width: 2px;
		height: auto;
		background: repeating-linear-gradient(180deg, rgba(227, 6, 19, 0.9) 0 10px, transparent 10px 18px);
	}

	.process-flow__step {
		grid-template-columns: 84px minmax(0, 1fr);
		gap: 0.35rem 1rem;
		padding: 0;
	}

	.process-flow__number {
		grid-row: 1 / span 3;
		margin-bottom: 0;
	}

	.process-flow__icon {
		margin-top: 0.15rem;
	}

	.market-highlights {
		grid-template-columns: 1fr;
	}

	#enter-the-eu h2 {
		white-space: normal;
	}

	.market-teaser__aside {
		justify-items: stretch;
	}

	.market-teaser__aside .button {
		width: 100%;
	}

	.contact-layout__copy {
		position: static;
	}

	.campaign-brief-panel {
		justify-self: stretch;
		width: 100%;
		max-width: none;
		padding: 1.25rem;
	}

	.campaign-brief input,
	.campaign-brief textarea {
		min-height: 44px;
		padding: 0.58rem 0.7rem;
		line-height: 1.3;
	}

	.campaign-brief textarea {
		min-height: 118px;
		line-height: 1.45;
	}

	.campaign-brief__consent label {
		font-size: 12px;
		line-height: 1.48;
	}

	.campaign-brief__actions .button {
		width: 100%;
	}

	.final-cta__grid {
		align-items: start;
		gap: 1.25rem;
	}

	.final-cta {
		padding-bottom: 24px;
	}

	.entry-layout,
	.entry-grid,
	.entry-grid--compact,
	.entry-card-grid,
	.entry-steps,
	.entry-faq,
	.entry-responsibility__grid,
	.entry-boundaries__grid {
		grid-template-columns: 1fr;
	}

	.entry-hero {
		padding: 72px 0;
	}

	.experience-editorial .section__media-grid {
		grid-template-columns: 1fr;
	}

	.entry-hero__grid {
		grid-template-columns: 1fr;
	}

	.entry-hero__media {
		order: 0;
	}

	.ornament {
		opacity: calc(var(--ornament-opacity, 0.1) * 0.62);
	}

	.hero__ornament--nodes,
	.entry-hero__ornament--nodes {
		display: none;
	}

	.entry-hero .approved-media {
		max-width: 280px;
		margin-inline: auto;
	}

	.site-main > section:not(.hero):not(.entry-hero):not(.trust-strip):not(#contact):not(#final-cta) {
		content-visibility: auto;
		contain-intrinsic-size: 1px 860px;
	}
}

/* HOW WE WORK: mobile vertical process flow */
@media (max-width: 780px) {
	#process .process-flow {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 0.9rem;
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding: 0;
		list-style: none;
	}

	#process .process-flow::before,
	#process .process-flow::after {
		display: none;
	}

	#process .process-flow__step {
		position: relative;
		display: grid;
		grid-template-columns: 2.5rem minmax(0, 1fr);
		grid-template-areas:
			"number title"
			"icon copy";
		column-gap: 0.75rem;
		row-gap: 0.35rem;
		width: 100%;
		min-width: 0;
		max-width: none;
		height: auto;
		min-height: 0;
		margin: 0;
		padding: 0.9rem;
		align-items: start;
	}

	#process .process-flow__step::before,
	#process .process-flow__step::after {
		display: none;
	}

	#process .process-flow__number {
		grid-area: number;
		width: 36px;
		height: 36px;
		border-width: 4px;
		margin: 0;
	}

	#process .process-flow__icon {
		grid-area: icon;
		width: 36px;
		height: 36px;
		margin: 0;
		background-size: 180px 36px;
	}

	#process .process-flow__icon--1 {
		background-position: 0 0;
	}

	#process .process-flow__icon--2 {
		background-position: -36px 0;
	}

	#process .process-flow__icon--3 {
		background-position: -72px 0;
	}

	#process .process-flow__icon--4 {
		background-position: -108px 0;
	}

	#process .process-flow__icon--5 {
		background-position: -144px 0;
	}

	#process .process-flow__step h3 {
		grid-area: title;
		width: auto;
		min-width: 0;
		max-width: 100%;
		margin: 0;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: normal;
		line-height: 1.25;
	}

	#process .process-flow__step > p {
		grid-column: 2;
		width: auto;
		min-width: 0;
		max-width: none;
		margin-inline: 0;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: normal;
		line-height: 1.58;
	}

	#process .process-note {
		width: 100%;
		max-width: none;
		margin-top: 1.6rem;
		margin-inline: 0;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: normal;
	}
}

@media (max-width: 480px) {
	html[lang="nl-NL"] body.page-template-page-localized-home #hero.hero .hero__actions > .button {
		font-size: 13px;
	}

	#process .process-flow {
		gap: 0.75rem;
	}

	#process .process-flow__step {
		grid-template-columns: 2.25rem minmax(0, 1fr);
		column-gap: 0.6rem;
		padding: 0.75rem;
	}

	#process .process-flow__number {
		width: 34px;
		height: 34px;
	}

	#process .process-flow__icon {
		width: 34px;
		height: 34px;
		background-size: 170px 34px;
	}

	#process .process-flow__icon--1 {
		background-position: 0 0;
	}

	#process .process-flow__icon--2 {
		background-position: -34px 0;
	}

	#process .process-flow__icon--3 {
		background-position: -68px 0;
	}

	#process .process-flow__icon--4 {
		background-position: -102px 0;
	}

	#process .process-flow__icon--5 {
		background-position: -136px 0;
	}

	#process .process-flow__step h3 {
		font-size: clamp(1rem, 4.8vw, 1.1rem);
	}

	#process .process-flow__step > p {
		font-size: 0.875rem;
	}
}

@media (max-width: 620px) {
	.hero__points {
		grid-template-columns: 1fr;
	}

	.evidence-section__ornament--nodes-left {
		display: none;
	}

	.evidence-section__ornament--pixels-left {
		display: none;
	}

	.experience__ornament--nodes-left,
	.experience__ornament--pixels-left {
		display: none;
	}

	.fit__ornament--trend,
	.fit__ornament--nodes {
		display: none;
	}

	.fit__ornament--pixels {
		--ornament-width: 150px;
		--ornament-height: 120px;
		--ornament-opacity: 0.055;
		left: -58px;
		top: 80px;
	}

	.faq__ornament--nodes {
		--ornament-width: 230px;
		--ornament-height: 220px;
		--ornament-opacity: 0.07;
		right: -72px;
		top: 110px;
	}

	.faq__ornament--pixels {
		--ornament-width: 150px;
		--ornament-height: 120px;
		--ornament-opacity: 0.1;
		left: -38px;
		top: 34px;
	}

	.faq__ornament--trend {
		display: none;
	}
}

@media (min-width: 781px) and (max-width: 900px) {
	.mimi-layout {
		grid-template-columns: 1fr;
	}

	.mimi-layout__intro,
	.mimi-responsibility {
		grid-column: 1 / -1;
	}
}

.locale-ar {
	text-align: right;
}

.locale-ar .site-header,
.locale-ar .site-footer,
.locale-ar .language-switcher,
.locale-ar .localized-home,
.locale-ar .localized-market-entry,
.locale-ar .localized-privacy-page,
.locale-ar .cookie-information-notice {
	direction: rtl;
}

.locale-ar .campaign-brief input[type="email"],
.locale-ar .campaign-brief input[name="website"] {
	direction: ltr;
	text-align: left;
}

.locale-ar .campaign-brief input[type="text"],
.locale-ar .campaign-brief textarea {
	direction: auto;
	text-align: start;
}

.locale-ar .campaign-brief__consent {
	align-items: flex-start;
}

@media print {
	.section--decorated::before,
	.section--decorated::after,
	.section--decorated-dark::before,
	.section--decorated-dark::after,
	.section--decorated-light::before,
	.section--decorated-light::after,
	.ornament {
		display: none !important;
	}

	.site-header {
		position: static;
		background: var(--white);
		border-bottom: 1px solid black;
		color: black;
	}

	.site-brand,
	.site-nav-toggle,
	.site-header__panel {
		display: none !important;
	}

	.site-brand-print {
		display: block;
		width: 260px;
	}
}

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