@font-face {
	font-display: swap;
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/BarlowCondensed-latin-ext-700.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-display: swap;
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/BarlowCondensed-latin-700.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	color-scheme: light;
	--card: #ffffff;
	--ring: #3b82f6;
	--input: #e5e7eb;
	--muted: #f9fafb;
	--accent: #e0f2fe;
	--border: #e5e7eb;
	--radius: 0.375rem;
	--chart-1: #3b82f6;
	--chart-2: #2563eb;
	--chart-3: #1d4ed8;
	--chart-4: #1e40af;
	--chart-5: #1e3a8a;
	--popover: #ffffff;
	--primary: #3b82f6;
	--sidebar: #f9fafb;
	--font-mono: JetBrains Mono, monospace;
	--font-sans: Inter, sans-serif;
	--secondary: #f3f4f6;
	--background: #ffffff;
	--font-serif: Source Serif 4, serif;
	--foreground: #333333;
	--destructive: #ef4444;
	--sidebar-ring: #3b82f6;
	--sidebar-accent: #e0f2fe;
	--sidebar-border: #e5e7eb;
	--card-foreground: #333333;
	--sidebar-primary: #3b82f6;
	--muted-foreground: #6b7280;
	--accent-foreground: #1e3a8a;
	--popover-foreground: #333333;
	--primary-foreground: #ffffff;
	--sidebar-foreground: #333333;
	--secondary-foreground: #4b5563;
	--destructive-foreground: #ffffff;
	--sidebar-accent-foreground: #1e3a8a;
	--sidebar-primary-foreground: #ffffff;
	--color-card: var(--card);
	--color-ring: var(--ring);
	--color-input: var(--input);
	--color-muted: var(--muted);
	--color-accent: var(--accent);
	--color-border: var(--border);
	--color-primary: var(--primary);
	--color-secondary: var(--secondary);
	--color-background: var(--background);
	--color-foreground: var(--foreground);
	--color-destructive: var(--destructive);
	--re-shell-width: 126rem;
	--re-display: var(--font-sans);
	--re-body: var(--font-sans);
	--re-technical: var(--font-mono);
	--re-navy: var(--wp--preset--color--navy);
	--re-navy-deep: var(--wp--preset--color--navy-deep);
	--re-navy-technical: var(--wp--preset--color--navy-technical);
	--re-copper: var(--wp--preset--color--copper);
	--re-accent-ink: var(--wp--preset--color--copper-ink);
	--re-surface: var(--wp--preset--color--surface);
	--re-surface-alt: var(--wp--preset--color--surface-alt);
	--re-ink: var(--wp--preset--color--ink);
	--re-muted: var(--wp--preset--color--muted);
	--re-border: var(--wp--preset--color--border);
	--re-evidence: var(--wp--preset--color--evidence);
	--re-paper: var(--wp--preset--color--paper);
	--re-content-measure: 47.5rem;
	--re-page-gutter: clamp(1.25rem, 4vw, 3.5rem);
	/* Distance from the viewport edge to the content edge, for blocks that
	   sit in a full-width parent and so cannot inherit the centred 1280px
	   container. Below 1280 the container is the viewport and this is just
	   the gutter; above it, the extra is the centring offset. */
	--re-page-inset: max(
		var(--re-page-gutter),
		calc((100% - var(--wp--style--global--wide-size)) / 2 + var(--re-page-gutter))
	);
	--re-radius-sm: 0.5rem;
	--re-radius-md: 1.25rem;
	--re-shadow-card: 0 1.25rem 3rem rgb(16 35 60 / 10%);
}

.dark {
	color-scheme: dark;
	--card: #262626;
	--ring: #3b82f6;
	--input: #404040;
	--muted: #1f1f1f;
	--accent: #1e3a8a;
	--border: #404040;
	--radius: 0.375rem;
	--chart-1: #60a5fa;
	--chart-2: #3b82f6;
	--chart-3: #2563eb;
	--chart-4: #1d4ed8;
	--chart-5: #1e40af;
	--popover: #262626;
	--primary: #3b82f6;
	--sidebar: #171717;
	--secondary: #262626;
	--background: #171717;
	--foreground: #e5e5e5;
	--destructive: #ef4444;
	--sidebar-ring: #3b82f6;
	--sidebar-accent: #1e3a8a;
	--sidebar-border: #404040;
	--card-foreground: #e5e5e5;
	--sidebar-primary: #3b82f6;
	--muted-foreground: #a3a3a3;
	--accent-foreground: #bfdbfe;
	--popover-foreground: #e5e5e5;
	--primary-foreground: #ffffff;
	--sidebar-foreground: #e5e5e5;
	--secondary-foreground: #e5e5e5;
	--destructive-foreground: #ffffff;
	--sidebar-accent-foreground: #bfdbfe;
	--sidebar-primary-foreground: #ffffff;
}

/*
 * Baseline link colour. Wrapped in :where() so it carries zero specificity, so
 * it only reaches links that no component rule has coloured, which is what
 * left card links on the browser default (and visited ones purple).
 */
:where(a) {
	color: var(--wp--preset--color--copper-ink);
}


body {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: 1rem;
	line-height: 1.65;
}

:where(h1, h2, h3, h4) {
	color: var(--wp--preset--color--navy);
	font-weight: 650;
	letter-spacing: -0.025em;
	line-height: 1.12;
	text-wrap: balance;
}

h1 {
	font-size: var(--wp--preset--font-size--heading-one);
}

h2 {
	font-size: var(--wp--preset--font-size--heading-two);
}

h3 {
	font-size: var(--wp--preset--font-size--heading-three);
}

.wp-block-post-content a {
	color: var(--wp--preset--color--navy);
	text-decoration: underline;
	text-decoration-thickness: 0.125em;
	text-underline-offset: 0.14em;
}

:where(a, button, input, textarea, select):focus-visible {
	box-shadow: 0 0 0 6px var(--wp--preset--color--surface);
	outline: 3px solid var(--wp--preset--color--navy-deep);
	outline-offset: 3px;
}

.re-skip-link {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--navy);
	left: var(--wp--preset--spacing--md);
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
	position: absolute;
	top: var(--wp--preset--spacing--xs);
	transform: translateY(-150%);
	z-index: 10;
}

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

.re-site-header {
	align-items: center;
	background: #fbfaf7;
	border-bottom: 1px solid #cbd4db;
	box-sizing: border-box;
	display: flex;
	gap: clamp(0.75rem, 1.8vw, 1.75rem);
	margin-inline: auto;
	max-width: none;
	min-height: 72px;
	padding: 0.7rem var(--re-page-inset);
	position: sticky;
	top: 0;
	z-index: 20;
}

/* Home header is visually part of the commerce hero, matching the approved
   reference while keeping the same semantic header and navigation markup. */
.home .wp-block-template-part:first-child {
	position: relative;
	z-index: 80;
}

.home .re-site-header {
	background: var(--background, #ffffff);
	border-color: var(--border, #e5e7eb);
}

.home .re-site-header::before {
	display: none;
}

.re-site-header a {
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	text-decoration: none;
}

.re-site-brand {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	flex-direction: row;
	gap: 0.65rem;
	line-height: 0;
	white-space: nowrap;
}

.re-site-brand__lockup,
.re-site-brand__mark {
	display: block;
	width: auto;
}

.re-site-brand__lockup {
	/* The tile sets the height, so 48px keeps the wordmark's cap height
	   level with the previous logo rather than shrinking it. */
	height: 48px;
}

.re-site-brand__mark {
	display: none;
}

.re-site-brand__commerce-mark {
	display: block;
	flex: 0 0 auto;
	height: 2.75rem;
	width: 3.15rem;
}

.re-site-brand__commerce-name {
	color: #171717;
	font-family: var(--font-sans);
	font-size: clamp(1.25rem, 1.35vw, 1.55rem);
	font-weight: 650;
	letter-spacing: -0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.re-site-brand__commerce-name strong {
	color: #2563eb;
	font-weight: 800;
}

[data-primary-navigation] {
	margin-inline: auto;
}

[data-primary-navigation] ul,
footer nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--sm);
	list-style: none;
	margin: 0;
	padding: 0;
}

[data-primary-navigation] a,
footer nav a {
	color: inherit;
	text-decoration-thickness: 0.125em;
	text-underline-offset: 0.14em;
}

[data-primary-navigation] a {
	align-items: center;
	display: inline-flex;
	font-size: 0.9375rem;
	font-weight: 600;
	min-height: 44px;
	padding: 0.55rem 0.25rem;
}

[data-primary-navigation] a:is(:hover, :focus-visible) {
	color: var(--wp--preset--color--navy-technical);
	text-decoration: underline;
}

[data-navigation-toggle] {
	background: transparent;
	border: 1px solid var(--wp--preset--color--navy);
	color: var(--wp--preset--color--navy);
	font: inherit;
	font-weight: 700;
	min-height: 44px;
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
}

.re-header-cta {
	align-items: center;
	background: transparent;
	border: 1px solid #b84e18;
	border-radius: 3px;
	color: #9f3e11 !important;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 44px;
	padding: 0.625rem 1rem;
}

.re-header-cta:is(:hover, :focus-visible) {
	background: #b84e18;
	color: #fff !important;
}

main#main-content {
	padding-block: var(--wp--preset--spacing--lg);
}

footer {
	background: var(--wp--preset--color--navy-deep);
	border-top: 1px solid var(--wp--preset--color--navy-technical);
	color: #fff;
}

.re-site-footer {
	background: var(--wp--preset--color--navy-deep);
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	padding: clamp(3rem, 7vw, 5.5rem) var(--re-page-gutter) var(--wp--preset--spacing--md);
}

.re-site-footer__grid {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: 1.5fr repeat(3, 1fr);
}

.re-site-footer > .re-site-footer__grid,
.re-site-footer > .re-site-footer__meta {
	box-sizing: border-box;
	max-width: none;
	width: 100%;
}

.re-site-footer__grid :where(h2, p) {
	margin-block-start: 0;
}

.re-site-footer__grid h2 {
	color: #fff;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.re-site-footer__brand p {
	color: rgb(255 255 255 / 72%);
	margin-block-start: 1.25rem;
	max-width: 32ch;
}

.re-site-footer__logo,
.re-site-footer__wordmark {
	display: block;
}

.re-site-footer__wordmark {
	height: auto;
	max-width: 220px;
	width: min(100%, 220px);
}

.re-site-footer nav ul {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.5rem;
}

.re-site-footer nav a {
	color: rgb(255 255 255 / 78%);
}

.re-site-footer .re-site-contact {
	color: rgb(255 255 255 / 72%);
	font-style: normal;
}

.re-site-footer .re-site-contact a {
	color: inherit;
}

.re-site-footer__contact {
	margin-block-start: var(--wp--preset--spacing--md);
}

.re-site-footer__meta {
	border-top: 1px solid rgb(255 255 255 / 16%);
	color: rgb(255 255 255 / 60%);
	margin-block-start: var(--wp--preset--spacing--lg);
	padding-block-start: var(--wp--preset--spacing--sm);
}

.re-not-found {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	min-height: 64vh;
	padding: clamp(3rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3.5rem) !important;
	width: 100%;
}

.re-not-found__panel {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 0.4rem solid var(--wp--preset--color--copper);
	border-radius: var(--re-radius-md);
	box-shadow: var(--re-shadow-card);
	box-sizing: border-box;
	margin-inline: 0 !important;
	max-width: 54rem !important;
	padding: clamp(2rem, 6vw, 5rem);
}

.re-not-found__panel h1 {
	font-size: clamp(2.75rem, 6vw, 5rem);
	margin-block: 0 1.25rem;
}

.re-not-found__links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	list-style: none;
	margin: 2rem 0;
	padding: 0;
}

.re-not-found__links a {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	color: var(--wp--preset--color--navy);
	display: inline-flex;
	font-weight: 700;
	min-height: 44px;
	padding: 0.65rem 1rem;
	text-decoration: none;
}

.re-not-found__links a:is(:hover, :focus-visible) {
	border-color: var(--wp--preset--color--navy);
	text-decoration: underline;
}

.re-not-found__search {
	display: grid;
	gap: var(--wp--preset--spacing--xs);
	max-width: 36rem;
}

.re-not-found__search > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}

.re-not-found__search :is(input, button) {
	border: 1px solid var(--wp--preset--color--navy);
	box-sizing: border-box;
	font: inherit;
	min-height: 44px;
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
}

.re-not-found__search button {
	background: var(--wp--preset--color--navy);
	color: #fff;
	font-weight: 700;
}

body.re-navigation-open {
	overflow: hidden;
}

@media (max-width: 781px) {
	.re-contact-actions .wp-block-button {
		flex-basis: 100%;
	}

	.re-site-header {
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--xs);
		min-height: 64px;
		padding-inline: var(--re-page-gutter);
	}

	.re-site-brand {
		margin-inline-end: auto;
	}

	.re-site-brand__lockup {
		height: 40px;
	}

	[data-navigation-toggle] {
		order: 2;
	}

	[data-navigation-toggle][hidden] {
		display: block !important;
		visibility: hidden;
	}

	.re-header-cta {
		order: 3;
	}

	[data-primary-navigation] {
		background: var(--re-paper);
		border-bottom: 1px solid var(--wp--preset--color--border);
		box-sizing: border-box;
		flex-basis: 100%;
		inset-inline: 0;
		margin-inline-start: 0;
		order: 4;
		padding: var(--wp--preset--spacing--sm);
		position: absolute;
		top: 100%;
		width: 100%;
	}

	[data-primary-navigation] ul {
		align-items: stretch;
		flex-direction: column;
	}

	.re-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* 2026-09 premium catalog alignment
 * Shared shell, navigation and footer follow the approved pale-blue commerce
 * direction. This block intentionally sits last so legacy component rules do
 * not pull the live page back to the previous proportions. */
:root {
	--re-shell-width: 94rem;
	--re-page-gutter: clamp(1rem, 3vw, 2.75rem);
}

body {
	background: #f3f6fa;
}

.wp-site-blocks {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 1.5rem;
	box-shadow: 0 1.5rem 4rem rgb(30 64 175 / 7%);
	margin: 1rem auto;
	max-width: var(--re-shell-width);
	overflow: clip;
	width: calc(100% - 2rem);
}

.re-site-header,
.home .re-site-header {
	background: rgb(255 255 255 / 98%);
	border: 1px solid #e2e8f0;
	border-radius: 1.125rem;
	box-shadow: 0 0.85rem 2.5rem rgb(30 64 175 / 7%);
	display: grid;
	gap: clamp(1.25rem, 2.2vw, 2.5rem);
	grid-template-columns: minmax(13.5rem, 1fr) auto minmax(6.75rem, 1fr);
	margin: 0.75rem auto 0;
	max-width: calc(var(--re-shell-width) - 2.5rem);
	min-height: 74px;
	padding: 0.65rem 1.15rem;
	top: 0.5rem;
	width: calc(100% - 1.5rem);
}

.re-site-brand {
	justify-self: start;
}

.re-site-brand__premium-picture,
.re-site-brand__premium-lockup {
	display: block;
}

.re-site-brand__premium-lockup {
	height: auto;
	max-width: none;
	width: clamp(13rem, 15vw, 15.25rem);
}

[data-primary-navigation] {
	justify-self: center;
}

[data-primary-navigation] ul {
	gap: clamp(0.7rem, 1.25vw, 1.35rem);
}

[data-primary-navigation] a {
	border-radius: 0.5rem;
	color: #475569;
	font-size: 0.875rem;
	font-weight: 650;
	padding-inline: 0.35rem;
}

.re-header-cta {
	background: #2563eb !important;
	border: 1px solid #2563eb !important;
	border-radius: 0.75rem !important;
	box-shadow: 0 0.6rem 1.5rem rgb(37 99 235 / 17%);
	color: #ffffff !important;
	justify-self: end;
	min-height: 46px;
	padding-inline: 1.2rem;
}

.re-header-cta:is(:hover, :focus-visible) {
	background: #1d4ed8 !important;
	border-color: #1d4ed8 !important;
}

footer {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: #334155;
}

.re-site-footer {
	background: #f8fafc;
	border-top: 1px solid #bfdbfe;
	color: #334155;
	margin: 0;
	max-width: none;
	padding: clamp(3rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 5rem) 1.5rem;
}

.re-site-footer__grid {
	gap: clamp(2rem, 4vw, 4rem);
	grid-template-columns: minmax(16rem, 1.4fr) repeat(3, minmax(9rem, 0.8fr));
}

.re-site-footer__logo picture,
.re-site-footer__wordmark {
	display: block;
}

.re-site-footer__wordmark {
	height: auto;
	max-width: 16rem;
	width: 100%;
}

.re-site-footer__grid h2 {
	color: #0f172a;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
}

.re-site-footer nav a,
.re-site-footer .re-site-contact,
.re-site-footer__brand p {
	color: #64748b;
}

.re-site-footer nav a:is(:hover, :focus-visible),
.re-site-footer .re-site-contact a:is(:hover, :focus-visible) {
	color: #1d4ed8;
}

.re-site-footer__meta {
	border-top-color: #dbe5ef;
	color: #64748b;
}

@media (max-width: 1080px) {
	.re-site-header,
	.home .re-site-header {
		gap: 0.8rem;
		grid-template-columns: minmax(11.75rem, 1fr) auto minmax(6.25rem, 1fr);
	}

	.re-site-brand__premium-lockup {
		width: 12.5rem;
	}

	[data-primary-navigation] ul {
		gap: 0.55rem;
	}

	[data-primary-navigation] a {
		font-size: 0.8rem;
	}
}

@media (max-width: 781px) {
	.wp-site-blocks {
		border-radius: 1rem;
		margin: 0.5rem auto;
		width: calc(100% - 1rem);
	}

	.re-site-header,
	.home .re-site-header {
		display: flex;
		margin-top: 0.5rem;
		min-height: 66px;
		padding: 0.55rem 0.7rem;
		width: calc(100% - 1rem);
	}

	.re-site-brand {
		margin-right: auto;
	}

	.re-site-brand__premium-lockup {
		width: clamp(9.75rem, 43vw, 11.5rem);
	}

	.re-header-cta {
		border-radius: 0.65rem !important;
		font-size: 0.78rem;
		min-height: 42px;
		padding-inline: 0.85rem;
	}

	.re-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.re-site-brand__premium-lockup {
		width: 9.65rem;
	}

	.re-editorial-page--guide .re-editorial-hero h1 {
		font-size: clamp(1.95rem, 8vw, 2.25rem);
		line-height: 1.02;
		max-width: none !important;
	}

	.re-site-footer__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Keep the legacy textile landing's inline hero inside its content column.
   Its generated width/height attributes preserve aspect ratio, while these
   rules prevent the intrinsic 1024px width from being clipped on mobile. */
.re-kumas-etiket-landing__media {
	max-width: 100%;
}

.re-kumas-etiket-landing__image {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

/* Keep long technical guide titles informative without consuming the whole
 * first mobile viewport. Desktop hierarchy is unchanged. */
@media (max-width: 520px) {
	.re-editorial-hero h1 {
		font-size: clamp(2rem, 9vw, 2.45rem);
		line-height: 1.03;
		max-width: 22ch !important;
	}
}

/* Approved floating navigation capsule. */
.re-site-header,
.home .re-site-header {
	background: transparent;
	border: 0;
	box-shadow: none;
	grid-template-columns: minmax(0, 69rem) auto;
	justify-content: space-between;
	padding: 0;
}

.re-site-header__nav-shell {
	align-items: center;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 1.125rem;
	box-shadow: 0 0.85rem 2.5rem rgb(30 64 175 / 7%);
	box-sizing: border-box;
	display: grid;
	gap: clamp(1.5rem, 2.4vw, 3rem);
	grid-template-columns: auto minmax(0, 1fr);
	min-height: 74px;
	padding: 0.65rem 1.15rem;
}

@media (max-width: 1080px) {
	.re-site-header,
	.home .re-site-header {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.re-site-header__nav-shell {
		gap: 0.8rem;
	}
}

@media (max-width: 781px) {
	.re-site-header,
	.home .re-site-header {
		display: block;
		min-height: 66px;
	}

	.re-site-header__nav-shell {
		display: flex;
		min-height: 66px;
		padding: 0.55rem 0.7rem;
		position: relative;
	}

	.re-site-header > .re-header-cta {
		display: none;
	}

	.re-site-header__nav-shell [data-primary-navigation] {
		left: 0;
		right: 0;
		width: 100%;
	}
}

@media (max-width: 599px) {
	.re-site-footer__grid {
		gap: 2rem;
		grid-template-columns: minmax(0, 1fr);
	}

	.re-site-footer .re-site-contact a {
		overflow-wrap: anywhere;
	}
}

@media (max-width: 400px) {
	.re-site-brand {
		align-items: center;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
	}

	.re-site-brand__lockup {
		display: none;
	}

	.re-site-brand__mark {
		display: block;
		height: 40px;
	}
}

.re-section {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.re-grid {
	display: grid;
	gap: clamp(1rem, 2.5vw, 2rem);
}

.re-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.5rem;
}

.re-product-card {
	padding: var(--wp--preset--spacing--sm);
}

.re-product-card__image-link {
	aspect-ratio: 16 / 9;
	border-radius: var(--re-radius-sm);
	display: block;
	margin-block-end: var(--wp--preset--spacing--sm);
	overflow: hidden;
}

.re-product-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.re-product-card h2 {
	margin-block: 0;
}

.re-product-card h2 a {
	color: var(--wp--preset--color--navy);
	text-decoration: none;
}

.re-product-card h2 a:is(:hover, :focus-visible) {
	text-decoration: underline;
	text-decoration-thickness: 0.125em;
	text-underline-offset: 0.14em;
}

.re-product-card__summary {
	margin-block: var(--wp--preset--spacing--xs) 0;
}

.re-breadcrumb {
	margin-block-end: var(--wp--preset--spacing--sm);
}

.re-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--2-xs);
	list-style: none;
	margin: 0;
	padding: 0;
}

.re-breadcrumb li > a {
	align-items: center;
	display: inline-flex;
	min-height: 24px;
}

.re-breadcrumb li + li::before {
	color: var(--wp--preset--color--muted);
	content: "/";
	margin-inline-end: var(--wp--preset--spacing--2-xs);
}

.re-content-section {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-block-start: var(--wp--preset--spacing--lg);
	padding-block-start: var(--wp--preset--spacing--md);
}

.re-content-section :is(ul, ol) {
	padding-inline-start: var(--wp--preset--spacing--md);
}

.re-contact-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xs);
}

.re-contact-actions .wp-block-button {
	margin: 0;
}

.re-contact-actions .wp-element-button {
	box-sizing: border-box;
	width: 100%;
}

.ribon-contact-form-section {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-top: 0.35rem solid var(--wp--preset--color--copper);
	border-radius: var(--re-radius-md);
	box-shadow: var(--re-shadow-card);
	box-sizing: border-box;
	padding: clamp(1.5rem, 4vw, 3rem);
	scroll-margin-top: 7rem;
}

.ribon-contact-form-section > h2 {
	margin-block: 0 0.75rem;
}

.ribon-contact-form-section > p {
	color: var(--wp--preset--color--muted);
	margin-block: 0;
	max-width: 62ch;
}

.ribon-contact-form-section > .re-contact-actions {
	margin-block: 1.5rem 0;
}

.ribon-lead-form {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-block-start: 2rem;
	padding-block-start: 2rem;
}

.ribon-lead-form .forminator-ui.forminator-custom-form {
	font-family: inherit;
	margin: 0;
}

.ribon-lead-form .forminator-row:not(:last-child) {
	margin-block-end: 1.25rem !important;
}

.ribon-lead-form .forminator-row {
	align-items: flex-end !important;
	column-gap: 1rem;
	display: flex !important;
}

.ribon-lead-form .forminator-col {
	display: flex !important;
	flex: 1 1 0;
	min-width: 0;
	padding-inline: 0 !important;
}

.ribon-lead-form .forminator-field,
.ribon-lead-form :is(.forminator-input, .forminator-textarea, .select2-container) {
	width: 100% !important;
}

.ribon-lead-form .forminator-label {
	color: var(--wp--preset--color--navy) !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	margin-block-end: 0.5rem !important;
}

.ribon-lead-form .forminator-required {
	color: var(--re-accent-ink) !important;
}

.ribon-lead-form .forminator-input,
.ribon-lead-form .forminator-textarea,
.ribon-lead-form .select2-selection {
	background: #fff !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: var(--re-radius-sm) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--wp--preset--color--ink) !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	min-height: 48px;
	padding: 0.75rem 0.875rem !important;
}

.ribon-lead-form .forminator-textarea {
	min-height: 10rem;
	resize: vertical;
}

.ribon-lead-form .select2-selection__rendered {
	color: var(--wp--preset--color--ink) !important;
	line-height: 1.5 !important;
	padding: 0 !important;
}

.ribon-lead-form .select2-selection__arrow {
	height: 100% !important;
	right: 0.875rem !important;
	top: 0 !important;
}

.ribon-lead-form :is(.forminator-input, .forminator-textarea, .select2-selection):focus,
.ribon-lead-form .select2-container--open .select2-selection {
	border-color: var(--wp--preset--color--navy-technical) !important;
	box-shadow: 0 0 0 3px rgb(31 69 107 / 16%) !important;
	outline: 0 !important;
}

.ribon-lead-form .forminator-description {
	color: var(--wp--preset--color--muted) !important;
	font-size: 0.8125rem !important;
	line-height: 1.5 !important;
	margin-block: 0.35rem 0.5rem !important;
}

.ribon-lead-form .forminator-checkbox__wrapper {
	align-items: flex-start;
}

.ribon-lead-form .forminator-checkbox-box {
	background: #fff !important;
	border: 1px solid var(--wp--preset--color--navy) !important;
	border-radius: 0.25rem !important;
	flex: 0 0 auto;
	height: 1.25rem !important;
	margin-block-start: 0.15rem;
	width: 1.25rem !important;
}

.ribon-lead-form .forminator-checkbox__label {
	color: var(--wp--preset--color--ink) !important;
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
}

.ribon-lead-form .forminator-button-submit {
	background: var(--wp--preset--color--copper) !important;
	border: 0 !important;
	border-radius: var(--re-radius-sm) !important;
	box-shadow: 0 0.75rem 1.75rem rgb(184 78 24 / 18%) !important;
	color: var(--wp--preset--color--navy-deep) !important;
	cursor: pointer;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 750 !important;
	min-height: 52px;
	padding: 0.875rem 1.5rem !important;
}

.ribon-lead-form .forminator-button-submit:is(:hover, :focus-visible) {
	background: var(--wp--preset--color--copper-ink) !important;
	box-shadow: 0 1rem 2rem rgb(184 78 24 / 24%) !important;
}

.ribon-lead-form .forminator-response-message {
	border: 1px solid var(--wp--preset--color--border) !important;
	border-left: 0.3rem solid var(--wp--preset--color--evidence) !important;
	border-radius: var(--re-radius-sm) !important;
	margin-block-end: 1.25rem !important;
	padding: 1rem !important;
}

.wp-element-button {
	align-items: center;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 44px;
	padding: 0.75rem 1.125rem;
}

.is-style-primary .wp-element-button {
	background: var(--wp--preset--color--copper);
	color: #fff;
}

.is-style-secondary .wp-element-button {
	background: var(--wp--preset--color--navy);
	color: #fff;
}

.is-style-ghost .wp-element-button {
	background: transparent;
	border: 1px solid var(--wp--preset--color--navy);
	color: var(--wp--preset--color--navy);
}

.re-table-wrap {
	max-width: 100%;
	overflow-x: auto;
}

.re-spec-table {
	border-collapse: collapse;
	width: 100%;
}

.re-spec-table th {
	color: var(--wp--preset--color--navy);
	text-align: left;
}

.re-spec-table :is(th, td) {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 0.75rem;
	vertical-align: top;
}

.re-mobile-table-label {
	display: none;
}

.re-editorial-page {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	width: 100%;
}

.re-editorial-page--hub,
.re-editorial-page--product {
	padding-block: 0 !important;
}

.re-hub-hero {
	background: var(--wp--preset--color--paper);
	align-items: start;
	box-sizing: border-box;
	display: grid;
	gap: 0.6rem clamp(2.5rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1fr) 20rem;
	max-width: none !important;
	padding: clamp(2.75rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3.5rem) clamp(2.5rem, 4vw, 3.5rem);
}

.re-hub-hero > :where(h1, p, .wp-block-post-content) {
	grid-column: 1;
	margin-inline: 0 !important;
	max-width: 46rem !important;
}

.re-hub-hero h1 {
	font-size: clamp(2.9rem, 4.6vw, 4.4rem);
	line-height: 0.98;
	margin-block: 0 0.4rem;
	text-wrap: balance;
}

.re-hub-hero .wp-block-post-content {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
	max-width: 62ch;
}

.re-hub-hero__decision {
	background: transparent;
	border-top: 0;
	box-sizing: border-box;
	color: inherit;
	grid-column: 2;
	grid-row: 2 / span 2;
	margin: 0 !important;
	max-width: none;
	padding: 0;
}

.re-hub-hero__decision-kicker {
	color: var(--wp--preset--color--copper-ink);
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	margin: 0 0 0.65rem !important;
	text-transform: uppercase;
}

.re-hub-hero__decision ol {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
}

.re-hub-hero__decision li {
	align-items: start;
	border-top: 1px solid var(--wp--preset--color--border);
	display: grid;
	gap: 0.15rem;
	grid-template-columns: minmax(0, 1fr);
	padding-block: 0.7rem;
}


.re-hub-hero__decision li strong {
	color: #fff;
}

.re-hub-hero__decision li span {
	color: rgb(255 255 255 / 68%);
	font-size: 0.82rem;
}

.re-hub-hero__decision-link {
	margin: 0.65rem 0 0 !important;
}

.re-hub-hero__decision-link a {
	color: #fff;
	font-weight: 750;
	text-underline-offset: 0.2em;
}

@media (min-width: 782px) {
	.re-product-hub__editorial-lead {
		column-count: 2;
		column-gap: 1.5rem;
	}

	.re-hub-hero__decision ol {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.re-hub-hero__decision li {
		align-content: start;
		border-left: 1px solid rgb(255 255 255 / 18%);
		gap: 0.3rem;
		grid-template-columns: 1fr;
		padding: 0.7rem;
	}

	.re-hub-hero__decision li:first-child {
		border-left: 0;
		padding-inline-start: 0;
	}

	.re-hub-hero__decision li:last-child {
		padding-inline-end: 0;
	}

	.re-hub-hero__decision li::before {
		grid-row: auto;
	}
}

.re-hub-products {
	background: var(--wp--preset--color--surface);
	box-sizing: border-box;
	max-width: none !important;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3.5rem);
}

.re-product-hub > .re-grid {
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	max-width: 74rem;
	width: 100%;
}

.re-product-hub .re-product-card {
	background: var(--re-paper);
	border-radius: var(--re-radius-sm);
	display: flex;
	flex-direction: column;
	min-height: 18rem;
	overflow: hidden;
	padding: 0;
}

.re-product-hub .re-product-card:not(:has(.re-product-card__image-link)) {
	min-height: 0;
	padding: 2.25rem;
}

.re-product-hub .re-product-card__image-link {
	border-radius: 0;
	margin: 0;
}

.re-product-hub .re-product-card h2 {
	font-size: clamp(1.25rem, 1.5vw, 1.55rem);
	line-height: 1.12;
	padding: 1.1rem 1.2rem 0;
}

.re-product-hub .re-product-card__summary {
	color: var(--wp--preset--color--muted);
	font-size: 0.9rem;
	line-height: 1.5;
	margin: 0;
	padding: 0.6rem 1.2rem 1.3rem;
}

.re-product-hub__editorial {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-block-start: clamp(2.5rem, 4vw, 3.5rem);
	padding-block-start: clamp(2rem, 3vw, 2.75rem);
}

.re-product-hub__editorial-header {
	align-items: end;
	display: grid;
	gap: 0.5rem clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: minmax(18rem, 0.85fr) minmax(0, 1.15fr);
}

.re-product-hub__editorial-header .re-section-kicker {
	grid-column: 1;
	grid-row: 1;
}

.re-product-hub__editorial-header h2 {
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	grid-column: 1;
	grid-row: 2;
	margin: 0;
	max-width: 20ch;
}

.re-product-hub__editorial-lead {
	align-self: end;
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
	grid-column: 2;
	grid-row: 1 / span 2;
	line-height: 1.5;
	margin: 0;
	max-width: 64ch;
}

.re-product-hub__editorial-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block-start: clamp(2rem, 5vw, 4rem);
}

.re-product-hub__editorial-card:last-child {
	grid-column: 1 / -1;
}

.re-product-hub__editorial-card {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-top: 0.25rem solid var(--wp--preset--color--evidence);
	border-radius: var(--re-radius-sm);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.re-product-hub__editorial-card h3,
.re-product-hub__comparison h3,
.re-product-hub__editorial-links h3 {
	font-size: var(--wp--preset--font-size--heading-three);
	margin-block-start: 0;
}

.re-product-hub__editorial-card p {
	color: var(--wp--preset--color--muted);
}

.re-product-hub__comparison {
	margin-block-start: clamp(2rem, 5vw, 4rem);
}

.re-table-scroll {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
}

.re-product-hub__comparison table {
	background: var(--re-paper);
	border-collapse: collapse;
	min-width: 46rem;
	width: 100%;
}

.re-product-hub__comparison :where(th, td) {
	border: 1px solid var(--wp--preset--color--border);
	padding: 0.9rem 1rem;
	text-align: left;
	vertical-align: top;
}

.re-product-hub__comparison thead th {
	background: var(--wp--preset--color--navy-deep);
	color: #fff;
}

.re-product-hub__comparison tbody th {
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--navy-deep);
}

.re-product-hub__editorial-links {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-block-start: clamp(2rem, 5vw, 3.5rem);
	padding-block-start: 2rem;
}

.re-product-hub__editorial-links ul {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.re-product-hub__editorial-links a {
	align-items: center;
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 0.2rem solid var(--wp--preset--color--copper);
	border-radius: var(--re-radius-sm);
	box-sizing: border-box;
	color: var(--wp--preset--color--navy-deep);
	display: inline-flex;
	font-weight: 700;
	justify-content: space-between;
	min-height: 4rem;
	padding: 0.8rem 0.9rem;
	width: 100%;
}

.re-product-hub__editorial-links a::after {
	color: var(--wp--preset--color--copper);
	content: "\2192" / "";
	margin-inline-start: 0.75rem;
}

.re-product-hub__guides,
.re-product-hub__sectors,
.re-product-hub__quote {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-block-start: clamp(2.5rem, 4vw, 3.5rem);
	padding-block-start: clamp(1.75rem, 3vw, 2.5rem);
}

.re-product-hub__guides h2,
.re-product-hub__sectors h2 {
	border-left: 0.2rem solid var(--wp--preset--color--copper);
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	margin-block: 0 1rem;
	padding-inline-start: 0.8rem;
}

.re-product-hub__guides ul,
.re-product-hub__sectors ul {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.re-product-hub__guides a,
.re-product-hub__sectors a {
	align-items: center;
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	box-sizing: border-box;
	color: var(--wp--preset--color--navy-deep);
	display: flex;
	font-weight: 750;
	justify-content: space-between;
	line-height: 1.35;
	min-height: 4.5rem;
	padding: 1rem 1.1rem;
	text-decoration: none;
}

.re-product-hub__guides a::after,
.re-product-hub__sectors a::after {
	color: var(--wp--preset--color--copper);
	content: "\2192" / "";
	font-size: 1.15rem;
	margin-inline-start: 1rem;
}

.re-product-hub__guides a:hover,
.re-product-hub__sectors a:hover {
	background: #fff;
	border-color: var(--wp--preset--color--copper);
}

.re-product-hub__quote {
	background: var(--wp--preset--color--navy-deep);
	border: 0;
	border-radius: var(--re-radius-md);
	color: #fff;
	padding: clamp(2rem, 5vw, 4rem);
}

.re-product-hub__quote h2 {
	color: #fff;
}

.re-product-hero {
	align-items: stretch;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	max-width: none !important;
	padding: clamp(3.5rem, 7vw, 6.5rem) clamp(1.25rem, 4vw, 3.5rem);
}

.re-product-hero__copy {
	align-self: center;
	margin-inline: 0 !important;
	max-width: 48rem !important;
}

.re-product-hero__copy h1 {
	font-size: clamp(2.75rem, 5vw, 5rem);
	margin-block: 0 1.25rem;
}

.re-product-summary {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
	max-width: 58ch;
}

.re-product-hero__copy .re-contact-actions {
	margin-block-start: 2rem;
}

.re-product-hero__media {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-md);
	display: flex;
	justify-content: center;
	min-height: 0;
	overflow: hidden;
	position: relative;
}

.re-product-hero__media:empty::before,
.re-product-hero__media:not(:has(img))::before {
	background:
		linear-gradient(90deg, transparent 0 18%, rgb(184 78 24 / 85%) 18% 24%, transparent 24% 100%),
		linear-gradient(135deg, var(--wp--preset--color--navy) 0 49%, var(--wp--preset--color--navy-technical) 49% 100%);
	border: 0.75rem solid #fff;
	box-shadow: var(--re-shadow-card);
	content: "";
	height: 58%;
	transform: rotate(-5deg);
	width: 58%;
}

.re-product-hero__media .wp-block-post-featured-image {
	aspect-ratio: 16 / 9;
	height: 100%;
	margin: 0;
	width: 100%;
}

.re-product-hero__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.re-product-decision-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: none !important;
	padding: 0 clamp(1.25rem, 4vw, 3.5rem) clamp(3rem, 6vw, 5rem);
}

.re-product-decision-grid .re-dossier {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 0.3rem solid var(--wp--preset--color--evidence);
	border-radius: var(--re-radius-sm);
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.re-product-decision-grid .re-dossier--not-suitable {
	border-left-color: var(--re-accent-ink);
}

.re-product-decision-grid h2 {
	font-size: var(--wp--preset--font-size--heading-three);
	margin-block-start: 0;
}

.re-product-body {
	border-top: 1px solid var(--wp--preset--color--border);
	box-sizing: border-box;
	max-width: none !important;
	padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 4vw, 3.5rem);
}

.re-product-body > * {
	margin-inline: auto;
	max-width: var(--re-content-measure);
}

.re-product-body > .re-dossier,
.re-product-body > .re-related-content {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-block-start: clamp(2.5rem, 5vw, 4rem);
	padding-block-start: clamp(2rem, 4vw, 3rem);
}

.re-product-cta {
	background: var(--wp--preset--color--navy-deep);
	border-radius: var(--re-radius-md);
	box-sizing: border-box;
	color: #fff;
	margin-block: 0 clamp(3rem, 7vw, 6rem);
	max-width: calc(var(--wp--style--global--wide-size) - clamp(2.5rem, 8vw, 7rem)) !important;
	padding: clamp(2rem, 5vw, 4rem);
}

.re-product-cta :where(h2, .re-section-kicker) {
	color: #fff;
}

.re-product-cta > p:not(.re-section-kicker) {
	color: rgb(255 255 255 / 74%);
	max-width: 62ch;
}

.re-editorial-page--solution,
.re-editorial-page--guide,
.re-editorial-page--case,
.re-editorial-page--region {
	padding-block: 0 !important;
}

.re-editorial-hero {
	background:
		linear-gradient(120deg, rgb(31 69 107 / 28%), transparent 48%),
		var(--wp--preset--color--navy-deep);
	box-sizing: border-box;
	color: #fff;
	max-width: none !important;
	padding: clamp(3.5rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3.5rem);
}

.re-editorial-hero > * {
	margin-inline: auto;
	max-width: var(--re-content-measure);
}

.re-editorial-hero .re-breadcrumb {
	margin-block-end: clamp(2rem, 5vw, 4rem);
}

.re-editorial-hero .re-breadcrumb :where(a, li, li::before) {
	color: rgb(255 255 255 / 76%);
}

.re-editorial-hero .re-section-kicker {
	color: var(--wp--preset--color--copper);
}

.re-editorial-hero h1 {
	color: #fff;
	font-size: clamp(2.75rem, 5.5vw, 5.25rem);
	margin-block: 0;
}

.re-editorial-page--guide .re-editorial-hero {
	background:
		linear-gradient(120deg, rgb(38 112 82 / 22%), transparent 52%),
		var(--wp--preset--color--navy-deep);
}

:is(.re-guide-featured-image, .re-solution-featured-image, .re-region-featured-image) {
	box-sizing: border-box;
	margin-block-start: clamp(-2.5rem, -4vw, -1.5rem);
	max-width: 70rem !important;
	padding-inline: clamp(1.25rem, 4vw, 3.5rem);
	position: relative;
}

:is(.re-guide-featured-image, .re-solution-featured-image, .re-region-featured-image) .wp-block-post-featured-image {
	aspect-ratio: 16 / 9;
	border: 0.5rem solid var(--re-paper);
	border-radius: var(--re-radius-md);
	box-shadow: var(--re-shadow-card);
	margin: 0;
	overflow: hidden;
}

:is(.re-guide-featured-image, .re-solution-featured-image, .re-region-featured-image) img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.re-editorial-page--region .re-editorial-hero {
	background:
		linear-gradient(120deg, rgb(184 78 24 / 16%), transparent 50%),
		var(--wp--preset--color--navy);
}

.re-editorial-body {
	box-sizing: border-box;
	max-width: var(--re-content-measure) !important;
	padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 4vw, 2rem);
	width: 100%;
}

.re-editorial-body > :first-child {
	margin-block-start: 0;
}

.re-editorial-body a {
	color: var(--wp--preset--color--navy);
	font-weight: 650;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.18em;
}

.re-editorial-body .re-dossier--related ul {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.re-editorial-body .re-dossier__related-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	min-width: 0;
	overflow: hidden;
}

.re-editorial-body .re-dossier__related-link {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(7rem, 36%) minmax(0, 1fr);
	height: 100%;
	max-width: 100%;
	text-decoration: none;
	width: 100%;
}

.re-editorial-body .re-dossier__related-media {
	aspect-ratio: 4 / 3;
	display: block;
	min-width: 0;
	overflow: hidden;
}

.re-editorial-body .re-dossier__related-image {
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.re-editorial-body .re-dossier__related-body {
	box-sizing: border-box;
	display: block;
	min-width: 0;
	padding: 1rem;
}

.re-editorial-body .re-dossier__related-title {
	display: block;
	font-weight: 700;
	line-height: 1.25;
}

.re-editorial-body .re-dossier__related-description {
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
	line-height: 1.55;
	margin: 0.5rem 0 0;
}

.re-editorial-page--guide .wp-block-post-content table {
	border-collapse: collapse;
	display: block;
	margin-block: 2rem;
	max-width: 100%;
	overflow-x: auto;
	width: max-content;
}

.re-editorial-page--guide .wp-block-post-content :is(th, td) {
	border: 1px solid var(--wp--preset--color--border);
	min-width: 12rem;
	padding: 0.75rem 1rem;
	text-align: left;
	vertical-align: top;
}

.re-editorial-page--guide .wp-block-post-content th {
	background: var(--wp--preset--color--navy);
	color: #fff;
}

.re-editorial-body .re-content-section,
.re-editorial-body .wp-block-post-content > section {
	margin-block-start: clamp(2.5rem, 6vw, 4.5rem);
	padding-block-start: clamp(2rem, 4vw, 3rem);
}

.re-editorial-body [data-guide-answer],
.re-editorial-body [data-solution-recommendations] {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 0.35rem solid var(--wp--preset--color--evidence);
	border-radius: var(--re-radius-sm);
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.re-editorial-body [data-guide-review],
.re-editorial-body [data-guide-sources] {
	color: var(--wp--preset--color--muted);
	font-size: 0.9375rem;
}

.re-editorial-closing {
	background: var(--wp--preset--color--navy-deep);
	border-radius: var(--re-radius-md);
	box-sizing: border-box;
	color: #fff;
	margin-block: 0 clamp(3rem, 7vw, 6rem);
	max-width: calc(var(--wp--style--global--wide-size) - clamp(2.5rem, 8vw, 7rem)) !important;
	padding: clamp(2rem, 5vw, 4rem);
}

.re-editorial-closing h2 {
	color: #fff;
	max-width: 24ch;
}

.re-editorial-closing .re-contact-actions {
	margin-block-start: 2rem;
}

.re-editorial-closing .is-style-secondary .wp-element-button {
	background: #fff;
	color: var(--wp--preset--color--navy-deep);
}

.re-editorial-closing .is-style-ghost .wp-element-button {
	border-color: rgb(255 255 255 / 64%);
	color: #fff;
}

.re-editorial-page--standard {
	padding-block: 0 !important;
}

.re-standard-hero {
	border-bottom: 1px solid var(--wp--preset--color--border);
	box-sizing: border-box;
	max-width: none !important;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1.25rem, 4vw, 3.5rem);
}

.re-standard-hero h1 {
	font-size: clamp(2.75rem, 5vw, 4.75rem);
	margin-block: 0;
	margin-inline: auto;
	max-width: var(--re-content-measure);
}

.re-standard-body {
	box-sizing: border-box;
	max-width: var(--re-content-measure) !important;
	padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 4vw, 2rem);
	width: 100%;
}

.re-contact-prep {
	background: var(--wp--preset--color--surface-alt);
	border-top: 1px solid var(--wp--preset--color--border);
	box-sizing: border-box;
	max-width: none !important;
	padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 4vw, 3.5rem);
	width: 100%;
}

.re-contact-prep__inner {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
}

.re-contact-prep h2 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: clamp(2rem, 3vw, 2.75rem);
	line-height: 1.08;
	margin-block: 0.5rem 0.75rem;
	text-wrap: balance;
}

.re-contact-prep__intro {
	color: var(--wp--preset--color--muted);
	font-size: 1.0625rem;
	margin-block: 0;
	max-width: 48rem;
}

.re-contact-prep__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block: 2rem;
}

.re-contact-prep__item {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
}

.re-contact-prep__item > span {
	color: var(--wp--preset--color--copper-ink);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	font-weight: 700;
}

.re-contact-prep__item h3 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 1.5rem;
	line-height: 1.1;
	margin-block: 0.75rem 0.5rem;
}

.re-contact-prep__item p,
.re-contact-prep__process p,
.re-contact-prep__note {
	color: var(--wp--preset--color--muted);
	margin-block: 0;
}

.re-contact-prep__process {
	margin-block-end: 1.5rem;
	max-width: 54rem;
}

.re-contact-prep__process h3 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 1.625rem;
	line-height: 1.1;
	margin-block: 0 0.5rem;
}

.re-contact-prep__note {
	border-left: 0.2rem solid var(--wp--preset--color--copper);
	max-width: 54rem;
	padding-inline-start: 1rem;
}

@media (max-width: 781px) {
	.re-contact-prep__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.re-region-hub__intro {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
}

.re-region-hub__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: 2rem clamp(3rem, 7vw, 5rem);
}

.re-region-hub__grid article {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.re-region-hub__grid h3 {
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	margin-block: 0 0.75rem;
}

.re-region-hub__grid h3 a {
	color: var(--wp--preset--color--navy);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

.re-region-hub__grid article > :last-child {
	margin-block-end: 0;
}

.home main#main-content {
	padding-block: 0;
}

.re-home-section {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	padding: clamp(4.5rem, 8vw, 8rem) clamp(1.25rem, 4vw, 3.5rem);
}

.re-home-section + .re-home-section {
	border-top: 1px solid var(--wp--preset--color--border);
}

.re-home-section--alt {
	background: var(--wp--preset--color--surface-alt);
}

.re-section-kicker,
.re-home-eyebrow,
.re-card-index {
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.11em;
	margin-block: 0 1rem;
	text-transform: uppercase;
}

.re-section-kicker,
.re-card-index {
	color: var(--re-accent-ink);
}

.re-home-eyebrow {
	color: var(--wp--preset--color--copper);
}

.re-section-intro {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
	max-width: 62ch;
}

.re-home-section > h2,
.re-home-section > .re-section-intro {
	max-width: 19ch;
}

.re-home-section > .re-section-intro {
	max-width: 62ch;
}

.re-home-section a:not(.wp-element-button) {
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.22em;
}

.re-home-hero {
	background:
		linear-gradient(115deg, rgb(31 69 107 / 24%), transparent 44%),
		var(--wp--preset--color--navy-deep);
	color: #fff;
	overflow: hidden;
	padding-block-end: 0;
	position: relative;
}

.re-home-v2-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 5vw, 5.5rem);
	grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
}

.re-home-v2-hero__copy {
	max-width: 48rem;
}

.re-home-hero h1 {
	color: #fff;
	font-size: clamp(2.65rem, 5vw, 5.1rem);
	font-weight: 820;
	letter-spacing: -0.045em;
	line-height: 0.96;
	margin-block: 0;
	max-width: 17.5ch;
}

.re-home-v2-hero__thesis {
	border-left: 0.2rem solid var(--wp--preset--color--copper);
	color: #fff;
	font-size: clamp(1.125rem, 1.8vw, 1.45rem);
	font-weight: 680;
	line-height: 1.35;
	margin-block: 1.75rem 0;
	max-width: 38ch;
	padding-inline-start: 1rem;
}

.re-home-lead {
	color: rgb(255 255 255 / 74%);
	font-size: var(--wp--preset--font-size--lead);
	max-width: 58ch;
}

.re-home-hero .re-contact-actions {
	margin-block-start: 2rem;
}

.re-home-hero .is-style-secondary .wp-element-button {
	background: transparent;
	border: 1px solid rgb(255 255 255 / 42%);
}

.re-home-v2-hero__media {
	background: rgb(255 255 255 / 6%);
	border: 1px solid rgb(255 255 255 / 18%);
	box-shadow: 0 2rem 5rem rgb(0 0 0 / 28%);
	margin: 0;
	padding: clamp(0.4rem, 0.8vw, 0.65rem);
	position: relative;
}

.re-home-v2-hero__media picture {
	display: block;
}

.re-home-v2-hero__image {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.re-home-v2-hero__media figcaption {
	align-items: center;
	color: rgb(255 255 255 / 68%);
	display: flex;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 0.6875rem;
	gap: 0.65rem;
	letter-spacing: 0.08em;
	padding: 0.65rem 0.25rem 0.05rem;
	text-transform: uppercase;
}

.re-home-v2-hero__media figcaption::before {
	background: var(--wp--preset--color--copper);
	content: "";
	height: 0.45rem;
	width: 0.45rem;
}

.re-home-v2-registration-rail {
	border-block: 1px solid rgb(255 255 255 / 18%);
	counter-reset: selection-step;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: clamp(3rem, 5vw, 5rem) 0 0;
	padding: 0;
}

.re-home-v2-registration-rail li {
	align-items: center;
	counter-increment: selection-step;
	display: flex;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 0.75rem;
	font-weight: 720;
	gap: 0.75rem;
	letter-spacing: 0.08em;
	min-height: 4.25rem;
	padding: 0.85rem clamp(0.75rem, 1.6vw, 1.35rem);
	position: relative;
	text-transform: uppercase;
}

.re-home-v2-registration-rail li::before {
	color: var(--wp--preset--color--copper);
	content: "0" counter(selection-step);
	font-size: 0.6875rem;
}

.re-home-v2-registration-rail li + li {
	border-left: 1px solid rgb(255 255 255 / 18%);
}

.re-home-v2-registration-rail li:not(:last-child)::after {
	background: var(--wp--preset--color--copper);
	content: "";
	height: 0.35rem;
	position: absolute;
	right: -0.2rem;
	width: 0.35rem;
	z-index: 1;
}

.re-trust-strip {
	border-top: 1px solid rgb(255 255 255 / 16%);
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: clamp(4rem, 7vw, 7rem) 0 0;
	padding: 0;
}

.re-home-v2-registration-rail + .re-trust-strip {
	border-top: 0;
	margin-top: 0;
}

.re-trust-strip li {
	box-sizing: border-box;
	display: grid;
	gap: 0.35rem;
	padding: 1.5rem clamp(1rem, 2vw, 2rem);
}

.re-trust-strip li + li {
	border-left: 1px solid rgb(255 255 255 / 16%);
}

.re-trust-strip strong {
	font-size: 0.9375rem;
}

.re-trust-strip span {
	color: rgb(255 255 255 / 62%);
	font-size: 0.8125rem;
}

.re-home-grid,
.re-category-grid,
.re-guide-grid {
	display: grid;
	gap: var(--wp--preset--spacing--md);
	grid-template-columns: 1fr;
	margin-block-start: clamp(2rem, 4vw, 3.5rem);
}

.re-category-card {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-md);
	box-shadow: none;
	display: flex;
	flex-direction: column;
	min-height: 25rem;
	overflow: hidden;
	padding: 0;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.re-category-card:is(:hover, :focus-within) {
	border-color: var(--wp--preset--color--navy-technical);
	box-shadow: var(--re-shadow-card);
	transform: translateY(-0.25rem);
}

.re-category-card h3 {
	font-size: clamp(2rem, 4vw, 3.5rem);
	margin: clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.5rem) 0.75rem;
}

.re-category-card > p:not(.re-home-v2-category-card__action) {
	margin-inline: clamp(1.5rem, 3vw, 2.5rem);
}

.re-home-v2-category-card__media {
	display: block;
	overflow: hidden;
}

.re-home-v2-category-card__media img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 240ms ease;
	width: 100%;
}

.re-category-card:is(:hover, :focus-within) .re-home-v2-category-card__media img {
	transform: scale(1.015);
}

.re-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 1.25rem clamp(1.5rem, 3vw, 2.5rem);
	padding: 0;
}

.re-home-v2-category-card__action {
	margin: auto clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.5rem);
}

.re-home-v2-featured-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-block-start: clamp(2rem, 4vw, 3.5rem);
}

.re-home-v2-product-card {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	display: flex;
	flex-direction: column;
	grid-column: span 2;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.re-home-v2-product-card:nth-child(-n + 2) {
	grid-column: span 3;
}

.re-home-v2-product-card:is(:hover, :focus-within) {
	border-color: var(--wp--preset--color--navy-technical);
	box-shadow: var(--re-shadow-card);
	transform: translateY(-0.2rem);
}

.re-home-v2-product-card__media,
.re-home-v2-product-card__media img {
	display: block;
}

.re-home-v2-product-card__media {
	background: var(--wp--preset--color--surface-alt);
	overflow: hidden;
}

.re-home-v2-product-card__media img {
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	transition: transform 240ms ease;
	width: 100%;
}

.re-home-v2-product-card:is(:hover, :focus-within) .re-home-v2-product-card__media img {
	transform: scale(1.015);
}

.re-home-v2-product-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.re-home-v2-product-card__body h3 {
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	margin-block: 0 0.75rem;
}

.re-home-v2-product-card__body p {
	color: var(--wp--preset--color--muted);
	margin-block: auto 0;
}

.re-card-tags li {
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	color: var(--wp--preset--color--navy-technical);
	font-size: 0.8125rem;
	font-weight: 650;
	padding: 0.4rem 0.75rem;
}

.re-sector-grid {
	display: grid;
	grid-template-columns: 1fr;
	margin: clamp(2.5rem, 5vw, 4.5rem) 0 2rem;
}

.re-sector-grid article {
	border-top: 1px solid var(--wp--preset--color--border);
	min-height: 9rem;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.re-evidence-steps span,
.re-guide-card > span {
	color: var(--re-accent-ink);
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.1em;
}

.re-sector-grid h3 {
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	margin-block: 0 0.75rem;
}

.re-sector-grid h3 a::after {
	color: var(--wp--preset--color--copper);
	content: " ↗";
}

.re-sector-grid article p {
	color: var(--wp--preset--color--muted);
	margin-block: 0;
	max-width: 42ch;
}

.re-home-v2-section-link {
	margin-block-end: 0;
}

.re-compatibility-list span {
	color: var(--wp--preset--color--copper);
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.1em;
}

.re-split-panel {
	align-items: center;
	background: var(--wp--preset--color--navy);
	border-radius: var(--re-radius-md);
	color: #fff;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	padding: clamp(2rem, 5vw, 4.5rem);
}

.re-split-panel h2,
.re-final-cta h2 {
	color: #fff;
}

.re-split-panel .re-section-kicker,
.re-final-cta .re-section-kicker,
.re-product-cta .re-section-kicker {
	color: var(--wp--preset--color--copper);
}

.re-split-panel a:not(.wp-element-button) {
	color: #fff;
}

.re-home-v2-system-map {
	border-left: 1px solid rgb(255 255 255 / 18%);
	padding-left: clamp(1.5rem, 4vw, 3.5rem);
}

.re-home-v2-system-map__nodes {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.re-home-v2-system-map__nodes::before,
.re-home-v2-system-map__nodes::after {
	background: var(--wp--preset--color--copper);
	content: "";
	opacity: 0.55;
	position: absolute;
}

.re-home-v2-system-map__nodes::before {
	bottom: 1rem;
	left: 50%;
	top: 1rem;
	width: 1px;
}

.re-home-v2-system-map__nodes::after {
	height: 1px;
	left: 1rem;
	right: 1rem;
	top: 50%;
}

.re-home-v2-system-map__node {
	background: var(--wp--preset--color--navy-deep);
	border: 1px solid rgb(255 255 255 / 20%);
	display: grid;
	gap: 0.65rem;
	min-height: 8rem;
	padding: 1.15rem;
	position: relative;
	z-index: 1;
}

.re-home-v2-system-map__node::before {
	background: var(--wp--preset--color--copper);
	content: "";
	height: 0.4rem;
	position: absolute;
	right: -0.2rem;
	top: -0.2rem;
	width: 0.4rem;
}

.re-home-v2-system-map__node span,
.re-home-v2-system-map__output span {
	color: var(--wp--preset--color--copper);
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 0.6875rem;
	font-weight: 720;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.re-home-v2-system-map__node strong {
	font-size: 0.9375rem;
	line-height: 1.45;
}

.re-home-v2-system-map__output {
	align-items: center;
	border-block: 1px solid rgb(255 255 255 / 20%);
	display: grid;
	gap: 0.45rem;
	margin-block-start: 1.25rem;
	padding-block: 1.1rem;
}

.re-home-v2-system-map__output strong {
	font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.re-compatibility-list,
.re-evidence-steps {
	list-style: none;
	margin: 0;
	padding: 0;
}

.re-compatibility-list li,
.re-evidence-steps li {
	display: grid;
	gap: 0.25rem 1rem;
	grid-template-columns: 2rem 1fr;
	padding: 1.25rem 0;
}

.re-compatibility-list li + li {
	border-top: 1px solid rgb(255 255 255 / 18%);
}

.re-compatibility-list :is(strong, small),
.re-evidence-steps :is(strong, small) {
	grid-column: 2;
}

.re-compatibility-list strong,
.re-evidence-steps strong {
	font-size: 1.125rem;
}

.re-compatibility-list small {
	color: rgb(255 255 255 / 66%);
}

.re-evidence-panel {
	border-left: 0.35rem solid var(--wp--preset--color--evidence);
}

.re-home-v2-evidence-grid {
	align-items: stretch;
	display: grid;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	grid-template-columns: minmax(0, 1.4fr) minmax(17rem, 0.6fr);
	margin-block: clamp(2rem, 4vw, 3.5rem);
}

.re-evidence-steps {
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
}

.re-evidence-steps li {
	background: var(--re-paper);
	border-top: 1px solid var(--wp--preset--color--border);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.re-evidence-steps li:last-child {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.re-evidence-steps small {
	color: var(--wp--preset--color--muted);
}

.re-home-v2-source-panel {
	background: var(--wp--preset--color--navy-deep);
	color: #fff;
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.re-home-v2-source-panel > p {
	color: var(--wp--preset--color--copper);
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	margin-block: 0 1.5rem;
	text-transform: uppercase;
}

.re-home-v2-source-panel ul {
	display: grid;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.re-home-v2-source-panel li {
	border-top: 1px solid rgb(255 255 255 / 18%);
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	font-weight: 720;
	padding-block: 0.85rem;
}

.re-home-v2-source-panel li:last-child {
	border-bottom: 1px solid rgb(255 255 255 / 18%);
}

.re-home-v2-source-panel small {
	color: rgb(255 255 255 / 65%);
	line-height: 1.6;
	margin-block-start: auto;
}

.re-home-v2-regions {
	background:
		linear-gradient(120deg, rgb(31 69 107 / 30%), transparent 52%),
		var(--wp--preset--color--navy-deep);
	color: #fff;
	overflow: hidden;
	position: relative;
}

.re-home-v2-regions::after {
	background: var(--wp--preset--color--copper);
	content: "";
	height: 0.4rem;
	position: absolute;
	right: clamp(1.25rem, 4vw, 3.5rem);
	top: 0;
	width: clamp(4rem, 10vw, 8rem);
}

.re-home-v2-regions__inner {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: minmax(0, 0.8fr) minmax(28rem, 1.2fr);
}

.re-home-v2-regions__copy {
	max-width: 34rem;
}

.re-home-v2-regions__copy .re-section-kicker {
	color: var(--wp--preset--color--copper);
}

.re-home-v2-regions__copy h2 {
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.75rem);
	margin-block: 0 1.25rem;
}

.re-home-v2-regions__copy > p:last-child {
	color: rgb(255 255 255 / 70%);
	font-size: var(--wp--preset--font-size--lead);
	margin-block-end: 0;
}

.re-home-v2-region-links {
	background: var(--re-paper);
	color: var(--wp--preset--color--navy);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.re-home-v2-region-links a {
	align-items: center;
	border-bottom: 1px solid var(--wp--preset--color--border);
	display: grid;
	gap: 0.75rem;
	grid-template-columns: auto 1fr;
	min-height: 4.5rem;
	padding: 1rem 1.25rem;
	text-decoration: none !important;
}

.re-home-v2-region-links a:nth-child(odd) {
	border-right: 1px solid var(--wp--preset--color--border);
}

.re-home-v2-region-links a:last-child {
	grid-column: 1 / -1;
}

.re-home-v2-region-links a:is(:hover, :focus-visible) {
	background: var(--wp--preset--color--surface-alt);
	box-shadow: inset 0.25rem 0 var(--wp--preset--color--copper);
}

.re-home-v2-region-links span {
	color: var(--re-accent-ink);
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 0.6875rem;
	font-weight: 750;
	letter-spacing: 0.08em;
}

.re-home-v2-region-links strong {
	font-size: 1rem;
}

.re-guide-grid {
	grid-template-columns: 1fr;
}

.re-guide-card {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	display: grid;
	gap: 0.75rem;
	min-height: 12rem;
	padding: 1.5rem;
	text-decoration: none !important;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.re-guide-card strong {
	font-size: 1.25rem;
}

.re-guide-card small {
	color: var(--wp--preset--color--muted);
}

.re-guide-card:is(:hover, :focus-visible) {
	border-color: var(--wp--preset--color--navy-technical);
	box-shadow: var(--re-shadow-card);
	transform: translateY(-0.15rem);
}

.re-guide-sample-record {
	border: 1px solid var(--wp--preset--color--border);
	border-left: 0.35rem solid var(--wp--preset--color--copper);
}

.re-guide-sample-record__status {
	color: var(--wp--preset--color--muted);
	font-weight: 650;
}

.re-guide-sample-record dl {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 1.5rem 0 0;
}

.re-guide-sample-record__item {
	border-top: 1px solid var(--wp--preset--color--border);
	padding: 0.9rem 1rem;
}

.re-guide-sample-record__item:nth-child(odd) {
	border-right: 1px solid var(--wp--preset--color--border);
}

.re-guide-sample-record dt {
	color: var(--wp--preset--color--muted);
	font-size: 0.8125rem;
	font-weight: 700;
}

.re-guide-sample-record dd {
	font-weight: 650;
	margin: 0.25rem 0 0;
}

.re-guide-hub-page {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	padding-block: 0 !important;
	width: 100%;
}

.re-guide-hub-page__intro,
.re-guide-hub-page__content,
.re-guide-hub-page__routes {
	box-sizing: border-box;
	max-width: none !important;
	padding-inline: clamp(1.25rem, 4vw, 3.5rem);
}

.re-guide-hub-page__intro {
	background: var(--wp--preset--color--surface-alt);
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.re-guide-hub-page__intro > :where(h1, p) {
	margin-inline: 0 !important;
	max-width: 48rem !important;
}

.re-guide-hub-page__intro h1 {
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	margin-block: 0 1rem;
}

.re-guide-hub-page__intro > p:not(.re-section-kicker) {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
}

.re-guide-hub-page__content,
.re-guide-hub-page__routes {
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.re-guide-hub__header {
	margin-block-end: clamp(1.25rem, 3vw, 2rem);
}

.re-guide-hub__header h2,
.re-guide-hub-page__routes-title {
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	margin: 0;
}

.re-guide-hub__grid,
.re-guide-hub-page__route-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.re-guide-hub__card .re-guide-card {
	height: 100%;
	box-sizing: border-box;
}

.re-guide-hub__empty {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-inline-start: 0.25rem solid var(--wp--preset--color--copper);
	border-radius: var(--re-radius-sm);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.re-guide-hub__empty :where(h2, p) {
	margin-block: 0;
}

.re-guide-hub__empty p {
	color: var(--wp--preset--color--muted);
	margin-block-start: 0.65rem;
}

.re-guide-hub-page__routes {
	border-top: 1px solid var(--wp--preset--color--border);
}

.re-guide-hub-page__route-grid {
	margin-block-start: 1.25rem;
}

.re-guide-hub-page__route-grid a {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	color: var(--wp--preset--color--navy-deep);
	display: grid;
	gap: 0.5rem;
	padding: 1.25rem;
	text-decoration: none;
}

.re-guide-hub-page__route-grid a:is(:hover, :focus-visible) {
	border-color: var(--wp--preset--color--navy-technical);
	box-shadow: var(--re-shadow-card);
}

.re-guide-hub-page__route-grid span {
	color: var(--wp--preset--color--muted);
	font-size: 0.9375rem;
}

.re-corporate-page {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	padding-block: 0 !important;
	width: 100%;
}

.re-corporate-page__intro,
.re-corporate-page__section,
.re-corporate-page__contact {
	box-sizing: border-box;
	max-width: none !important;
	padding-inline: clamp(1.25rem, 4vw, 3.5rem);
}

.re-corporate-page__intro {
	background: var(--wp--preset--color--surface-alt);
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.re-corporate-page__intro > :where(h1, p) {
	margin-inline: 0 !important;
	max-width: 48rem !important;
}

.re-corporate-page__intro h1 {
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	margin-block: 0 1rem;
}

.re-corporate-page__intro > p:not(.re-section-kicker),
.re-corporate-page__section > p,
.re-corporate-page__contact > p {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
	max-width: 50rem;
}

.re-corporate-page__section,
.re-corporate-page__contact {
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.re-corporate-page__section--muted {
	background: var(--wp--preset--color--surface-alt);
	border-block: 1px solid var(--wp--preset--color--border);
}

.re-corporate-page__title {
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	margin: 0 0 1rem;
}

.re-corporate-page__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin-block-start: 1.5rem;
}

.re-corporate-page__links a {
	color: var(--wp--preset--color--navy-deep);
	font-weight: 700;
}

.re-corporate-page__process {
	counter-reset: corporate-process;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.re-corporate-page__process li {
	background: var(--re-paper);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--re-radius-sm);
	display: grid;
	gap: 0.6rem;
	padding: clamp(1.25rem, 3vw, 1.75rem);
}

.re-corporate-page__process strong::before {
	color: var(--wp--preset--color--copper);
	counter-increment: corporate-process;
	content: "0" counter(corporate-process) " ";
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
}

.re-corporate-page__process span {
	color: var(--wp--preset--color--muted);
}

.re-corporate-page__service-list {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.re-corporate-page__service-list li {
	border-left: 0.2rem solid var(--wp--preset--color--copper);
	display: grid;
	gap: 0.45rem;
	padding: 0.35rem 1rem;
}

.re-corporate-page__service-list span {
	color: var(--wp--preset--color--muted);
}

.re-corporate-page__contact {
	background: var(--wp--preset--color--navy-deep);
	color: #fff;
}

.re-corporate-page__contact .re-corporate-page__title {
	color: #fff;
}

.re-corporate-page__contact > p {
	color: rgba(255, 255, 255, 0.78);
}

.re-corporate-page__actions {
	margin-block-start: 1.5rem;
}

.re-final-cta {
	background: var(--wp--preset--color--navy-deep);
	color: #fff;
}

.re-final-cta__inner {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
}

.re-final-cta__inner > div:first-child {
	max-width: 45rem;
}

.re-final-cta__actions .re-contact-actions {
	justify-content: flex-start;
}

@media (min-width: 782px) {
	.re-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.re-sector-grid article:nth-child(even) {
		border-left: 1px solid var(--wp--preset--color--border);
	}

	.re-sector-grid article:last-child {
		display: grid;
		gap: 1.5rem;
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
	}

	.re-split-panel,
	.re-final-cta__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

@media (max-width: 781px) {
	/* Forminator applies part of its form layout after first paint. Reserving
	   the measured final shell height prevents the visible footer jump while
	   keeping validation messages free to grow the form beyond this floor. */
	.ribon-lead-form {
		min-height: 61.25rem;
	}

	.re-guide-sample-record dl {
		grid-template-columns: 1fr;
	}

	.re-guide-sample-record__item:nth-child(odd) {
		border-right: 0;
	}

	.re-editorial-body .re-dossier--related ul {
		grid-template-columns: 1fr;
	}

	.re-editorial-body .re-dossier__related-link {
		grid-template-columns: minmax(6.5rem, 34%) minmax(0, 1fr);
	}

	.ribon-contact-form-section {
		padding: 1.25rem;
	}

	.ribon-lead-form .forminator-row {
		display: block !important;
	}

	.ribon-lead-form .forminator-col {
		margin-block-end: 1rem !important;
		padding-inline: 0 !important;
		width: 100% !important;
	}

	.ribon-lead-form .forminator-row-last .forminator-col,
	.ribon-lead-form .forminator-row .forminator-col:last-child {
		margin-block-end: 0 !important;
	}

	.ribon-lead-form .forminator-button-submit {
		width: 100% !important;
	}

	.re-dossier--compatibility .re-table-wrap {
		overflow-x: visible;
	}

	.re-dossier--compatibility .re-spec-table,
	.re-dossier--compatibility .re-spec-table tbody,
	.re-dossier--compatibility .re-spec-table tr,
	.re-dossier--compatibility .re-spec-table td {
		display: block;
		width: 100%;
	}

	.re-dossier--compatibility .re-spec-table thead {
		border: 0;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.re-dossier--compatibility .re-spec-table tr {
		border-bottom: 1px solid var(--wp--preset--color--border);
		box-sizing: border-box;
		padding-block: 0.375rem;
	}

	.re-dossier--compatibility .re-spec-table td {
		border-bottom: 0;
		box-sizing: border-box;
		display: grid;
		gap: 0.75rem;
		grid-template-columns: minmax(7.5rem, 0.85fr) minmax(0, 1.15fr);
		padding: 0.625rem 0;
	}

	.re-dossier--compatibility .re-mobile-table-label {
		color: var(--wp--preset--color--navy);
		display: block;
		font-weight: 700;
	}

	.re-dossier--compatibility .re-mobile-table-value {
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.re-not-found__search > div {
		grid-template-columns: 1fr;
	}

	.re-product-hub > .re-grid,
	.re-guide-hub__grid,
	.re-guide-hub-page__route-grid,
	.re-corporate-page__process,
	.re-hub-hero,
	.re-product-hub__editorial-header,
	.re-product-hub__editorial-grid,
	.re-product-hero,
	.re-product-decision-grid,
	.re-home-v2-hero__inner,
	.re-home-v2-evidence-grid,
	.re-home-v2-regions__inner,
	.re-evidence-steps {
		grid-template-columns: 1fr;
	}

	.re-hub-hero {
		padding-block: 2rem;
	}

	.re-hub-hero__decision {
		grid-column: 1;
		grid-row: auto;
		margin-block-start: 1rem !important;
		max-width: none !important;
	}

	.re-product-hub .re-product-card:not(:has(.re-product-card__image-link)) {
		padding: 1.5rem;
	}

	.re-product-hub__editorial-card:last-child {
		grid-column: auto;
	}

	.re-product-hub__editorial-header .re-section-kicker {
		grid-column: auto;
		grid-row: auto;
	}

	.re-product-hub__editorial-header h2,
	.re-product-hub__editorial-lead {
		grid-column: auto;
		grid-row: auto;
	}

	.re-product-hub__editorial-links ul {
		display: grid;
		grid-template-columns: 1fr;
	}

	.re-product-hub__editorial-links a {
		box-sizing: border-box;
		justify-content: space-between;
		width: 100%;
	}

	.re-product-hub__guides ul,
	.re-product-hub__sectors ul {
		display: flex !important;
		flex-direction: column;
	}

	.re-home-v2-region-links {
		grid-template-columns: 1fr;
	}

	.re-home-v2-region-links a:nth-child(odd) {
		border-right: 0;
	}

	.re-home-v2-region-links a:last-child {
		grid-column: auto;
	}

	.re-home-v2-hero__media {
		margin-inline: auto;
		width: min(100%, 42rem);
	}

	.re-home-v2-registration-rail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.re-home-v2-registration-rail li:nth-child(3) {
		border-left: 0;
	}

	.re-home-v2-registration-rail li:nth-child(n + 3) {
		border-top: 1px solid rgb(255 255 255 / 18%);
	}

	.re-home-v2-registration-rail li:nth-child(2)::after {
		display: none;
	}

	.re-home-v2-featured-grid {
		grid-template-columns: 1fr;
	}

	.re-home-v2-product-card,
	.re-home-v2-product-card:nth-child(-n + 2) {
		grid-column: span 1;
	}

	.re-home-v2-system-map {
		border-left: 0;
		padding-left: 0;
	}

	.re-home-v2-system-map__nodes {
		grid-template-columns: 1fr;
	}

	.re-home-v2-system-map__nodes::before,
	.re-home-v2-system-map__nodes::after {
		display: none;
	}

	.re-trust-strip {
		grid-template-columns: 1fr;
	}

	.re-trust-strip li + li {
		border-left: 0;
		border-top: 1px solid rgb(255 255 255 / 16%);
	}

	.re-sector-grid {
		grid-template-columns: 1fr;
	}

	.re-region-hub__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.ribon-lead-form {
		min-height: 62.6875rem;
	}
}

@media (max-width: 599px) {
	.ribon-lead-form {
		min-height: 66.75rem;
	}
}

@media (max-width: 359px) {
	.ribon-lead-form {
		min-height: 70.5rem;
	}
}

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

	.re-category-card,
	.re-home-v2-product-card,
	.re-home-v2-product-card__media img,
	.re-guide-card {
		transition-duration: 0s !important;
	}
}

.re-quote-brief {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	border-inline-start: 4px solid var(--wp--preset--color--navy-technical);
	background: var(--wp--preset--color--surface-alt);
}

.re-quote-brief dl {
	display: grid;
	grid-template-columns: minmax(8rem, auto) 1fr;
	gap: 0.5rem 1rem;
	margin: 0;
}

.re-quote-brief :is(dt, dd) { margin: 0; }

.re-quote-brief dt { font-weight: 700; }

/* Section label rides a copper rule. Repeating this one device at the top of
   every section is what ties them together; it replaces 22 free-floating
   eyebrow labels that each announced a block without relating it to anything. */
.re-hub-hero .re-section-kicker {
	border-top: 2px solid var(--wp--preset--color--copper);
	color: var(--wp--preset--color--copper-ink);
	grid-column: 1 / -1;
	margin-block: 0 1.3rem;
	padding-top: 0.5rem;
}

.re-hub-hero__decision li:first-child {
	border-top-color: var(--wp--preset--color--ink);
	border-top-width: 2px;
}

.re-hub-hero__decision li strong {
	color: var(--wp--preset--color--ink);
	font-size: 0.92rem;
}

.re-hub-hero__decision li span {
	color: var(--wp--preset--color--muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.re-hub-hero__decision-link a {
	border-bottom: 1px solid currentcolor;
	color: var(--wp--preset--color--copper-ink);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
}

/*
 * The product hub section is full-bleed but its inner container inherited the
 * 760px content size, so three cards had to share it and every summary broke
 * at ~20 characters. The grid gets its own wider measure; the reading columns
 * elsewhere keep the narrow one.
 */
.re-hub-products > .re-product-hub {
	margin-inline: auto;
	max-width: 74rem !important;
	width: 100%;
}

/* The hub never downloaded a display face: Barlow was declared on the
   product pages only, so every heading here resolved to Inter Bold - the
   most anonymous choice on the shelf, and the reason the hub and the
   material pages read as two different sites. Same face, same file, same
   cache entry as the dossier already ships. */
:where(.re-hub-hero h1, .re-product-hub .re-product-card h2, .re-hub-products h2) {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: -0.004em;
}

.re-product-hub .re-product-card h2 {
	font-size: clamp(1.4rem, 1.8vw, 1.75rem);
}

/* Hub cards: the box was doing the separating, so six of them stacked into a
   grid of containers rather than a row of products. The photograph sits on
   the page ground now and a rule under it carries the title, which is the
   same device the material pages use - one language across both. */
.re-product-hub .re-card.re-product-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

.re-product-hub .re-product-card__image-link img {
	border-radius: 0;
}

.re-product-hub .re-product-card h2 {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-block-start: 0.9rem;
	padding: 0.75rem 0 0;
}

.re-product-hub .re-product-card__summary {
	padding: 0.35rem 0 0;
}

/* Three section headings at 38, 40 and 41px were doing one job at three
   sizes, and the H3s under them were larger than the card titles above and
   set in the body face - the only headings on the hub still falling back to
   Inter. One section size, one sub size, all of them on the display face.
   (The ancestor is .re-hub-products; .re-product-hub is the card grid alone.) */
.re-hub-products :is(.re-product-hub__editorial-header, .re-product-hub__guides, .re-product-hub__sectors, .re-product-hub__quote) > h2 {
	font-size: clamp(1.9rem, 3vw, 2.35rem);
	line-height: 1.05;
}

.re-hub-products :is(.re-product-hub__editorial-card, .re-product-hub__comparison, .re-product-hub__editorial-links) > h3 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: -0.004em;
	line-height: 1.14;
}

/* The editorial cards carried a 4px green rail on an 8px radius. The green is
   the evidence colour and it means something elsewhere in this system; here it
   was decoration. Same hairline as everything else on the page. */
.re-hub-products .re-product-hub__editorial-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	border-top: 1px solid var(--wp--preset--color--border);
	box-shadow: none;
}


/* The homepage was the only page on the site with any layout shift: CLS 0.079
   against 0.000 everywhere else. The cause is that home-v3.css hides the
   header CTA on mobile - body.home .re-header-cta { display: none } - and
   home-v3.css is delivered with media="print" onload=..., so it lands about a
   second after first paint. Until it does, the CTA is 64px tall, the header
   wraps to two rows, and when the rule finally applies the whole page jumps up
   76px.

   Same rule, same breakpoint, in the render-blocking stylesheet, so the header
   is the right height in the first painted frame. home-v3.css still carries
   its copy and still wins the cascade; it now agrees with what is already on
   screen instead of correcting it. */
@media (max-width: 781px) {
	body.home .re-header-cta {
		display: none;
	}

	.re-corporate-page__service-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* The index and utility pages never got the typography the product pages did.
   Their H1s ran at 72px on a 1440 viewport in Inter, against 66px in Barlow
   Condensed on the hubs, and a condensed face at 66 carries far less optical
   weight than a body face at 72. So they read as both louder and unrelated,
   which is what "no cohesion" meant.

   One scale for every top-level page hero, on the display face. These sit a
   step below the product hubs because that is what they are. */
:where(.re-corporate-page__intro, .re-guide-hub-page__intro, .re-standard-hero) h1 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: -0.006em;
	line-height: 1.02;
	text-wrap: balance;
}

.re-corporate-page__intro h1,
.re-guide-hub-page__intro h1,
.re-standard-hero h1 {
	font-size: clamp(2.6rem, 4.2vw, 3.9rem);
}

/* 22px beside a 60px condensed heading is too much; the hubs run their lede at
   16px, which is too little to read as one. */
.re-corporate-page__intro > p:not(.re-section-kicker),
.re-guide-hub-page__intro > p:not(.re-section-kicker),
.re-standard-hero > p:not(.re-section-kicker) {
	font-size: 1.15rem;
}

/* Seventeen guides in two columns is a long scroll, and it left the guide hub
   speaking a different language from the product hub, which runs three. Four
   would squeeze out the technical excerpt that makes a card worth clicking.

   Guarded with min-width and nothing else. The base rule stays at two columns
   and the existing max-width: 781px rule keeps the single column; an unguarded
   rule here would win on source order and undo both. */
@media (min-width: 1101px) {
	.re-guide-hub__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Guide cards spoke a different language from product cards: the title ran at
   20px in Inter and in copper, against 26px in Barlow Condensed and navy on
   the product hub. Copper is the colour of things you act on in this system,
   and a card title is not one of them; the whole card is already the link. */
.re-guide-card > strong {
	color: var(--wp--preset--color--navy);
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.004em;
	line-height: 1.1;
}

.re-guide-card:is(:hover, :focus-visible) > strong {
	color: var(--wp--preset--color--copper-ink);
}

/* The excerpts ran to 286px, which left the cards between 455 and 598px tall
   and the rows ragged. Four lines is enough to judge whether a note is the one
   you want; the rest is on the page itself.

   Not line-clamp: the card is a grid and Chrome blockifies -webkit-box on a
   grid item to flow-root, so the clamp never applied and the excerpt was cut
   at whatever height the row happened to give it, leaving a half line showing.
   A max-height of exactly four line boxes cuts on the line instead. */
.re-guide-card > small {
	line-height: 1.55;
	max-height: 6.2em;
	overflow: hidden;
}

/* The H1s were brought into Barlow Condensed but the section headings under
   them were left at 43px Inter, one hair below the 60px H1 and in a different
   face. That near-match is what read as "no cohesion": two headings almost the
   same size, in two typefaces, with no clear rank between them. Same face,
   34px, gives 60 -> 34 -> 22 as an actual ladder. The contact page's H2 has no
   class of its own, so it is reached through .re-standard-body. */
:where(
	.re-corporate-page__title,
	.re-guide-hub__header h2,
	.re-guide-hub-page__routes-title,
	.re-standard-body section > h2
) {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: -0.004em;
	line-height: 1.08;
	text-wrap: balance;
}

.re-corporate-page__title,
.re-guide-hub__header h2,
.re-guide-hub-page__routes-title,
.re-standard-body section > h2 {
	font-size: clamp(1.9rem, 2.6vw, 2.15rem);
}

/* The lede had been cut to 18px while the body prose under it was still on the
   --lead token at 22px, so the opening sentence was the smallest text on the
   page and every paragraph after it the largest. Product pages run body at 16
   and their lede at 19; these ran 6px above that. Matching them means the
   measure has to come in too: 17px across a 50rem column is roughly 95
   characters a line, well past readable, so the column drops to 42rem for
   about 78. */
.re-corporate-page__intro > p:not(.re-section-kicker),
.re-guide-hub-page__intro > p:not(.re-section-kicker),
.re-standard-hero > p:not(.re-section-kicker) {
	font-size: 1.1875rem;
}

.re-corporate-page__section > p,
.re-corporate-page__contact > p {
	font-size: 1.0625rem;
	max-width: 42rem;
}

/* This is what actually read as "no cohesion", more than the type sizes did.
   The hub puts every element on one left edge at 136px. These pages inherited
   WordPress's constrained layout instead, which applies
   `margin-left: auto !important` and centres each block inside the 1168px
   content box. With three different max-widths in play that produced three
   different left edges on one page: hero at 136, headings at 340, prose at
   384, and nothing lined up with anything. The theme already tried to fix this
   with a plain `margin-left: 0` on the title, which silently loses to the
   !important. Overriding it needs the same weight.
   Scoped to these blocks only: the containing block here is the section's
   content box, which already carries the 56px page padding, so 0 means 136px,
   not the viewport edge. Verified at 320, 768 and 1440. */
.re-corporate-page__title,
.re-corporate-page__section > p,
.re-corporate-page__contact > p,
.re-corporate-page__links,
.re-guide-hub__header,
.re-guide-hub-page__routes-title,
.re-guide-hub__grid,
.re-guide-hub-page__route-grid {
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
}

/* The grids were being held to the prose measure, so three columns had only
   760px to share. On the hub the same grid gets the full 1168 and its cards
   come out at 376. */
.re-guide-hub__grid,
.re-guide-hub-page__route-grid {
	max-width: none;
}

/* The guide hub's own section was centred, which is why its children looked
   aligned to each other but sat 204px right of the H1 above them, and why
   three columns had to share 760px and came out at 243 a card. */
.re-guide-hub {
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
	max-width: none !important;
}

/* The contact page had the most edges of the three: hero H1 centred at 340,
   body block centred at 372, its heading at 421, form rows at 406. The hero
   already carries the right padding, so its children only need to stop
   centring. The body block keeps a narrow measure, since a contact form
   stretched to 1168px would be worse, but it is aligned to the same 136 and
   given the page's padding so its contents start on that edge too. */
.re-standard-hero h1,
.re-standard-hero > p {
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
}

.re-standard-body {
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
	max-width: calc(var(--re-content-measure) + 2 * clamp(1.25rem, 4vw, 3.5rem)) !important;
	padding-inline: clamp(1.25rem, 4vw, 3.5rem);
}

/* Three routes in two columns left one orphaned on its own row. Same guard as
   the card grid: only above 1100px, so the 782-1100 two-column and the sub-781
   single-column rules are untouched. */
@media (min-width: 1101px) {
	.re-guide-hub-page__route-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Contact form defects visible on a clean page load.

   The error banner ships on every load as an empty pink bar above the first
   field, so the form appears to be reporting a problem before anything has
   been typed. Forminator already marks it aria-hidden="true", so assistive
   tech skips it and only sighted visitors see it. Keyed on :empty rather than
   the aria attribute so the rule can never suppress a real message: the moment
   Forminator injects text, the selector stops matching.

   Labels and their help text are both display:inline, which ran them together
   as "MalzemeBiliyorsanız etiket olcusu" and "Firma *0 / 160". */
.forminator-response-message:empty {
	display: none;
}

.forminator-label {
	display: block;
}

/* The character counter is an unclassed span sitting straight after the help
   text inside the description, which rendered as "...ortam kosullarini
   yazin.0 / 320". Lifting it to the top right of the field puts it on the
   label's line, which fixes the run-together and, for a field whose only
   description is the counter (Firma), also removes the line it was
   occupying. Without that the counter pushed Firma's label a row above Ad
   Soyad's next to it, and the two columns no longer started level. */
.forminator-field {
	position: relative;
}

.forminator-description > span[data-limit] {
	font-variant-numeric: tabular-nums;
	inset-block-start: 0;
	inset-inline-end: 0;
	position: absolute;
}

/* The consent row was written as a flex layout that was never turned on. The
   wrapper carries align-items: flex-start and the decorative box carries
   flex: 0 0 auto, but the wrapper is display: block, so both are inert: the
   consent text drops to its own line under the checkbox, and the box stays
   display: inline, where width and height do not apply at all. That is why
   the theme's `width: 1.25rem !important` produced a 2px sliver next to the
   checkbox rather than a 20px square.
   Turning the flex on fixes the row. The decorative box stays hidden and the
   native checkbox keeps the job: Forminator's own box rules never match this
   markup, so a custom box would have no checked state, and an invisible
   checked state on a required KVKK consent field is worse than a plain
   checkbox. It is aria-hidden, so nothing is lost. */
.ribon-lead-form .forminator-checkbox__wrapper {
	display: flex;
	gap: 0.55rem;
}

.ribon-lead-form .forminator-checkbox-box {
	display: none !important;
}

/* Native control, brand accent. 13px is the UA default and reads small beside
   17px consent text. */
.ribon-lead-form .forminator-checkbox input[type="checkbox"] {
	accent-color: var(--wp--preset--color--copper);
	block-size: 1.05rem;
	inline-size: 1.05rem;
	margin-block-start: 0.1rem;
}

/* Detail-page hero: guides, solutions and regions all share this block, 28
   pages in total. It was the loudest thing on the site and the only piece
   still on the old scale.

   At 1440 it stood 616px tall, two thirds of the first screen, and it got
   there three ways: 112px of padding top and bottom, 64px under the
   breadcrumb, and an H1 running 79px in Inter that wrapped to three lines and
   took 266px on its own. A detail page was shouting louder than the hub that
   links to it, where the H1 is 60-66px.

   The H1 comes down to the product-detail size, 54px, and into the display
   face like every other heading on the site. Barlow Condensed is narrow
   enough that the same titles fit two lines instead of three. Padding and the
   breadcrumb gap come down with it. Padding-bottom stays generous enough to
   clear the featured image, which pulls up 40px on a negative top margin. */
.re-editorial-hero {
	padding-block: clamp(2.5rem, 4.5vw, 4rem);
}

.re-editorial-hero .re-breadcrumb {
	margin-block-end: clamp(1.25rem, 2.5vw, 2rem);
}

.re-editorial-hero h1 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: clamp(2.2rem, 3.75vw, 3.375rem);
	font-weight: 700;
	letter-spacing: -0.006em;
	line-height: 1.04;
	text-wrap: balance;
}

/* Same centring problem the index pages had, and worse here: `> *` sets
   margin-inline: auto on the breadcrumb, kicker and H1, which have different
   widths, so a detail page carried five separate left edges (332, 340, 372,
   400, 417) and nothing lined up with the 136px the rest of the site uses. */
.re-editorial-hero > * {
	margin-inline-end: auto !important;
	margin-inline-start: 0 !important;
	max-width: none;
}

/* The rest of the detail page. All three types have the same four blocks, and
   the page settles its own argument: .re-editorial-closing already sits at
   136, the same edge the hubs use, while the hero content, the featured image
   and the prose column were each centred at a different width, landing on 160
   and 340. Putting the other three on 136 leaves one edge down the page:
   a 760px prose column and a full-width closing band starting together, which
   is the ordinary editorial arrangement rather than a stack of centred
   blocks that never agree. */
/* Left-aligning the reading column put it on the same edge as everything else
   but pinned a 648px column to the left of a 1168px page, leaving 520px of
   dead space down the right. Widening the column is not the fix: at 17px it
   would run past 90 characters a line.
   So the page runs two levels instead. The hero band and the closing band are
   full width on the 136 edge, and the reading column, image and prose
   together, is centred inside them. Its margins are then symmetric, which
   reads as deliberate, rather than all collected on one side. */
.re-editorial-body {
	margin-inline: auto !important;
}

/* The lead image is centred with the reading column but runs wider than the
   prose, the ordinary figure treatment. Full width was tried and is wrong for
   this artwork: these are four-step diagrams and tabletop photographs, and at
   1168 they blow up to 664px tall, filling the whole first screen and pushing
   the diagram's own labels off the bottom of it. At 880 the illustration is
   still the lead but the article starts above the fold. */
:is(.re-guide-featured-image, .re-solution-featured-image, .re-region-featured-image) {
	margin-inline: auto !important;
}

/* Sized to the prose column rather than to nothing, so the lead image and the
   text below it read as one column: same left edge, same width. Left-aligning
   it at its old 1120 would have left it neither matching the text nor filling
   the band, and filling the full 1168 content box would put a 657px-tall
   illustration back on the first screen, which is the complaint this round
   started from. */
:is(.re-guide-featured-image, .re-solution-featured-image, .re-region-featured-image) {
	max-width: 55rem !important;
}

/* WordPress's constrained layout centres this figure with
   `margin-left: auto !important`, the same rule that produced the extra edges
   on the index pages, so a plain margin-inline loses to it. */
:is(.re-guide-featured-image, .re-solution-featured-image, .re-region-featured-image) figure {
	margin-inline: auto !important;
	max-width: none;
}

/* The prose column carried 32px of inset while every other block on the page
   uses the page padding, so its text landed on 112 instead of 136. */
.re-editorial-body {
	padding-inline: clamp(1.25rem, 4vw, 3.5rem);
}

/* 274px sat between the lead image and the first heading, from five separate
   sources stacking: the body's 24px top margin and 96px top padding, then the
   first content section's 72px margin and 48px padding, then the heading's own
   33px. The last three are the divider spacing that separates one section from
   the next, which the first section does not need because the body's padding
   already provides it, and its top rule reads as a stray line under the image.
   Scoped to the first child only, so the rhythm between sections is unchanged. */
.re-editorial-body > .re-content-section:first-child {
	border-top: 0;
	margin-block-start: 0;
	padding-block-start: 0;
}

.re-editorial-body > .re-content-section:first-child > :is(h2, h3):first-child {
	margin-block-start: 0;
}

/* The last headings on the site still set in the body face. Guides, solutions
   and regions ran their section headings at 40px Inter and their sub-headings
   at 26px, while product pages, which carry the same kind of long-form
   dossier content, use 34px and 20px Barlow Condensed, and the index pages
   were brought to 34px earlier. 40px also sat only 14px under the 54px H1 in
   a different face, which is the near-match that reads as two competing
   headings rather than a heading and its subordinate. Matching the product
   pages exactly gives one ladder across every page type: 54 / 34 / 20. */
.re-editorial-page--guide,
.re-editorial-page--solution,
.re-editorial-page--region {
	--re-detail-h2: 2.125rem;
	--re-detail-h3: 1.25rem;
}

:is(.re-editorial-page--guide, .re-editorial-page--solution, .re-editorial-page--region)
	:is(.re-editorial-body, .re-editorial-closing) :is(h2, h3) {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: -0.004em;
	line-height: 1.12;
	text-wrap: balance;
}

:is(.re-editorial-page--guide, .re-editorial-page--solution, .re-editorial-page--region)
	:is(.re-editorial-body, .re-editorial-closing) h2 {
	font-size: var(--re-detail-h2);
}

:is(.re-editorial-page--guide, .re-editorial-page--solution, .re-editorial-page--region)
	:is(.re-editorial-body, .re-editorial-closing) h3 {
	font-size: var(--re-detail-h3);
}

/* The region hub is its own component and never got the hub treatment the
   guide and solution hubs have: its section heading ran 40px Inter against
   their 34px Barlow Condensed, and its card titles 24px Inter against the
   guide cards' 22px. Same page role, same scale. */
.re-region-hub > h2 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 2.125rem;
	font-weight: 700;
	letter-spacing: -0.004em;
	line-height: 1.08;
	text-wrap: balance;
}

.re-region-hub__grid > article > h3 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: -0.004em;
	line-height: 1.1;
}

/* Blue commerce system — shared chrome and component foundation. */
html {
	background: var(--muted);
	scroll-behavior: smooth;
}

body {
	background: var(--muted);
	color: var(--foreground);
	font-family: var(--font-sans);
}

.wp-site-blocks {
	background: var(--background);
	border: 1px solid var(--border);
	border-radius: 2rem;
	box-shadow: 0 1.5rem 4.5rem rgb(30 64 175 / 8%);
	margin: 1rem auto;
	max-width: var(--re-shell-width);
	width: calc(100% - 2rem);
}

:where(h1, h2, h3, h4) {
	color: var(--foreground);
	font-family: var(--re-display);
	font-weight: 700;
}

:where(a) {
	color: var(--chart-2);
}

:where(a, button, input, textarea, select):focus-visible {
	box-shadow: 0 0 0 5px var(--accent);
	outline: 3px solid var(--ring);
	outline-offset: 2px;
}

.re-site-header {
	align-items: center;
	background: var(--background);
	border: 1px solid var(--border);
	border-radius: 1.125rem;
	box-shadow: 0 0.75rem 2.5rem rgb(30 64 175 / 6%);
	display: grid;
	gap: clamp(1rem, 2vw, 2rem);
	grid-template-columns: auto minmax(0, 1fr) auto;
	margin: 0.75rem auto 0;
	max-width: calc(var(--re-shell-width) - 2rem);
	min-height: 72px;
	padding: 0.65rem clamp(1rem, 2.2vw, 2rem);
	position: sticky;
	top: 0.5rem;
	width: calc(100% - 1.5rem);
}

.home .re-site-header {
	background: var(--background);
	border-color: var(--border);
	box-shadow: 0 0.75rem 2.5rem rgb(30 64 175 / 6%);
}

.home .re-site-header::before {
	display: none;
}

.re-site-header a {
	color: var(--foreground);
}

.re-site-brand__lockup {
	height: 44px;
}

[data-primary-navigation] a {
	border-radius: var(--radius);
	box-sizing: border-box;
	color: var(--secondary-foreground);
	font-size: 0.875rem;
	font-weight: 650;
	padding-inline: 0.45rem;
}

[data-primary-navigation] {
	justify-self: center;
	margin-inline: 0;
}

[data-primary-navigation] ul {
	align-items: center;
	flex-wrap: nowrap;
	gap: clamp(0.75rem, 1.45vw, 1.5rem);
	justify-content: center;
}

[data-primary-navigation] a:is(:hover, :focus-visible) {
	background: var(--accent);
	color: var(--accent-foreground);
	text-decoration: none;
}

.re-header-cta,
.re-contact-actions .wp-element-button,
.re-contact-actions .wp-block-button__link,
.forminator-ui.forminator-custom-form .forminator-button-submit,
.forminator-ui#forminator-module-150 .forminator-button-submit {
	background: var(--primary) !important;
	border: 1px solid var(--primary) !important;
	border-radius: 999px !important;
	box-sizing: border-box;
	color: var(--primary-foreground) !important;
	font-weight: 750;
	min-height: 46px;
	padding: 0.7rem 1.2rem;
}

.re-header-cta:is(:hover, :focus-visible),
.re-contact-actions .wp-element-button:is(:hover, :focus-visible),
.re-contact-actions .wp-block-button__link:is(:hover, :focus-visible),
.forminator-ui.forminator-custom-form .forminator-button-submit:is(:hover, :focus-visible),
.forminator-ui#forminator-module-150 .forminator-button-submit:is(:hover, :focus-visible) {
	background: var(--chart-2) !important;
	border-color: var(--chart-2) !important;
	color: var(--primary-foreground) !important;
}

:where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
	background: var(--background);
	border: 1px solid var(--input);
	border-radius: calc(var(--radius) + 0.25rem);
	color: var(--foreground);
	font-family: var(--font-sans);
}

:where(input, textarea, select)[aria-invalid="true"] {
	border-color: var(--destructive);
}

footer {
	background: #171717;
	border-top: 0;
	border-radius: 0 0 2rem 2rem;
	color: #e5e5e5;
}

.re-site-footer {
	background: #171717;
	color: #e5e5e5;
}

.re-site-footer__grid h2 {
	color: #ffffff;
}

.re-site-footer nav a,
.re-site-footer .re-site-contact,
.re-site-footer__brand p {
	color: #a3a3a3;
}

.re-site-footer nav a:is(:hover, :focus-visible),
.re-site-footer .re-site-contact a:is(:hover, :focus-visible) {
	color: #bfdbfe;
}

@media (max-width: 781px) {
	.wp-site-blocks {
		border-radius: 1.25rem;
		margin: 0.5rem auto;
		width: calc(100% - 1rem);
	}

	.re-site-header {
		display: flex;
		border-radius: 1rem;
		margin-block-start: 0.5rem;
		min-height: 66px;
		padding-inline: 0.75rem;
		top: 0.25rem;
		width: calc(100% - 1rem);
	}

	.re-site-brand__lockup {
		height: 36px;
	}

	[data-navigation-toggle] {
		border: 1px solid var(--border);
		border-radius: 999px;
		color: var(--foreground);
		min-height: 44px;
	}

	[data-primary-navigation] {
		background: var(--background);
		border: 1px solid var(--border);
		border-radius: 1rem;
	}

	.re-header-cta {
		min-height: 44px;
		padding-inline: 1rem;
	}
}

@media (max-width: 520px) {
	.re-site-brand__lockup {
		display: none;
	}

	.re-site-brand__mark {
		display: block;
		height: 38px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* Blue commerce system — editorial, company and contact surfaces. */
.re-section-kicker {
	color: var(--primary);
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

:is(.re-standard-hero, .re-guide-hub-page__intro, .re-corporate-page__intro) {
	background: var(--muted);
	border: 1px solid var(--border);
	border-radius: 1.875rem;
	box-sizing: border-box;
	margin: 1rem;
	max-width: none !important;
	padding: clamp(2.25rem, 4.5vw, 4.25rem) clamp(1.25rem, 5vw, 5rem);
}

:is(.re-standard-hero, .re-guide-hub-page__intro, .re-corporate-page__intro) h1 {
	color: var(--foreground);
	font-size: clamp(2.75rem, 4.75vw, 4.25rem);
	letter-spacing: -0.045em;
	line-height: 0.95;
	margin-block: 0 1rem;
	max-width: 13ch !important;
}

:is(.re-standard-hero, .re-guide-hub-page__intro, .re-corporate-page__intro) > p:not(.re-section-kicker) {
	color: var(--muted-foreground);
	font-size: clamp(1rem, 1.4vw, 1.18rem);
	line-height: 1.65;
	max-width: 48rem !important;
}

.re-standard-body {
	margin-inline: auto !important;
	max-width: 58rem !important;
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 2.5rem);
}

.ribon-contact-form-section {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 1.5rem;
	box-shadow: 0 1rem 3rem rgb(30 58 138 / 0.08);
	padding: clamp(1.25rem, 4vw, 2.75rem);
}

.ribon-contact-form-section > p,
.ribon-lead-form .forminator-description,
.ribon-lead-form .forminator-checkbox__label {
	color: var(--muted-foreground) !important;
}

.ribon-lead-form {
	border-top-color: var(--border);
}

.ribon-lead-form .forminator-label {
	color: var(--foreground) !important;
}

.ribon-lead-form :is(.forminator-input, .forminator-textarea, .select2-selection) {
	background: var(--background) !important;
	border: 1px solid var(--input) !important;
	border-radius: 0.75rem !important;
	color: var(--foreground) !important;
	min-height: 48px;
}

.ribon-lead-form .forminator-textarea {
	min-height: 9rem;
}

.ribon-lead-form .forminator-checkbox input[type="checkbox"] {
	accent-color: var(--primary);
}

.ribon-lead-form .forminator-response-message {
	border-radius: 0.75rem;
}

.re-contact-prep {
	background: var(--muted);
	border: 1px solid var(--border);
	border-radius: 1.875rem;
	margin: 1rem;
	max-width: none !important;
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 5rem);
	width: auto;
}

.re-contact-prep__item {
	background: var(--card);
	border-color: var(--border);
	border-radius: 1rem;
	box-shadow: 0 0.75rem 2rem rgb(30 58 138 / 0.06);
}

.re-contact-prep__item > span {
	color: var(--primary);
	font-family: var(--font-mono);
}

.re-contact-prep__intro,
.re-contact-prep__item p,
.re-contact-prep__process p,
.re-contact-prep__note {
	color: var(--muted-foreground);
}

.re-contact-prep__note {
	border-left-color: var(--primary);
}

.re-editorial-hero {
	background: var(--muted) !important;
	border: 1px solid var(--border);
	border-radius: 1.875rem;
	color: var(--foreground);
	margin: 1rem;
	max-width: none !important;
	padding: clamp(2.25rem, 4.5vw, 4.25rem) clamp(1.25rem, 5vw, 5rem);
}

.re-editorial-hero h1 {
	color: var(--foreground);
	font-size: clamp(2.75rem, 4.75vw, 4.25rem);
	letter-spacing: -0.045em;
	line-height: 0.96;
	max-width: 14ch;
}

.re-editorial-hero .re-breadcrumb :where(a, li, li::before) {
	color: var(--muted-foreground);
}

.re-editorial-hero .re-section-kicker {
	color: var(--primary);
}

:is(.re-guide-featured-image, .re-solution-featured-image, .re-region-featured-image) {
	margin-block-start: clamp(1rem, 3vw, 2rem);
	max-width: 62rem !important;
}

:is(.re-guide-featured-image, .re-solution-featured-image, .re-region-featured-image) :is(figure, .wp-block-post-featured-image) {
	border: 1px solid var(--border);
	border-radius: 1.5rem;
	box-shadow: 0 1rem 3rem rgb(30 58 138 / 0.1);
	overflow: hidden;
}

.re-editorial-body {
	color: var(--secondary-foreground);
	max-width: 52rem !important;
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.re-editorial-body a {
	color: var(--chart-2);
}

.re-editorial-body .re-content-section,
.re-editorial-body .wp-block-post-content > section {
	border-top-color: var(--border);
}

.re-editorial-body [data-guide-answer],
.re-editorial-body [data-solution-recommendations],
.re-editorial-body .re-dossier__related-card {
	background: var(--card);
	border-color: var(--border);
	border-radius: 1rem;
}

.re-editorial-body [data-guide-answer],
.re-editorial-body [data-solution-recommendations] {
	border-left-color: var(--primary);
}

.re-editorial-page--guide .wp-block-post-content th {
	background: var(--accent);
	color: var(--accent-foreground);
}

.re-editorial-closing,
.re-corporate-page__contact,
.re-final-cta,
.re-product-cta {
	background: #171717;
	border: 1px solid #404040;
	border-radius: 1.875rem;
	color: #e5e5e5;
}

:is(.re-editorial-closing, .re-corporate-page__contact, .re-final-cta, .re-product-cta) :is(h2, h3) {
	color: #ffffff;
}

:is(.re-editorial-closing, .re-corporate-page__contact, .re-final-cta, .re-product-cta) p {
	color: #a3a3a3;
}

.re-guide-hub-page,
.re-corporate-page {
	max-width: none;
	padding-bottom: clamp(3rem, 7vw, 6rem) !important;
}

.re-guide-hub-page__content,
.re-guide-hub-page__routes,
.re-corporate-page__section,
.re-corporate-page__contact {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size) !important;
}

.re-guide-card,
.re-guide-hub-page__route-grid a,
.re-corporate-page__process li {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 1rem;
	box-shadow: 0 0.75rem 2rem rgb(30 58 138 / 0.06);
}

.re-guide-card:is(:hover, :focus-visible),
.re-guide-hub-page__route-grid a:is(:hover, :focus-visible) {
	border-color: var(--ring);
	box-shadow: 0 1rem 2.5rem rgb(30 58 138 / 0.12);
	transform: translateY(-2px);
}

.re-guide-card > strong,
.re-guide-hub-page__route-grid a,
.re-corporate-page__links a {
	color: var(--foreground);
}

.re-guide-card > small,
.re-guide-hub-page__route-grid span,
.re-corporate-page__process span,
.re-corporate-page__service-list span,
.re-corporate-page__section > p {
	color: var(--muted-foreground);
}

.re-corporate-page__section--muted {
	background: var(--muted);
	border-color: var(--border);
	border-radius: 1.5rem;
}

.re-corporate-page__service-list li {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 1rem;
	box-shadow: inset 4px 0 0 var(--primary);
	padding: 1.25rem;
}

.re-corporate-page__process strong::before {
	color: var(--primary);
}

.re-corporate-page__contact {
	margin-block: 1rem 0;
}

.re-not-found {
	background: var(--muted);
	border: 1px solid var(--border);
	border-radius: 1.875rem;
	margin: 1rem;
}

.re-not-found__panel {
	background: var(--card);
	border-color: var(--border);
	border-radius: 1.5rem;
}

.re-not-found__links a,
.re-not-found__search button {
	border-radius: 999px;
}

.re-not-found__search button {
	background: var(--primary);
	color: var(--primary-foreground);
}

@media (max-width: 781px) {
	:is(.re-standard-hero, .re-guide-hub-page__intro, .re-corporate-page__intro, .re-editorial-hero, .re-contact-prep, .re-not-found) {
		border-radius: 1.25rem;
		margin: 0.5rem;
		padding-inline: 1.1rem;
	}

	:is(.re-standard-hero, .re-guide-hub-page__intro, .re-corporate-page__intro, .re-editorial-hero) h1 {
		font-size: clamp(2.5rem, 12vw, 3rem);
	}

	.home .re-site-header::before {
		border-radius: 1rem;
		inset-inline-end: 0;
	}

	.re-site-brand__commerce-mark {
		display: block;
		height: 2.25rem;
		width: 2.5rem;
	}

	.re-site-brand__commerce-name {
		font-size: 1.18rem;
		text-transform: uppercase;
	}

	.ribon-lead-form .forminator-row {
		display: block !important;
	}

	.ribon-lead-form .forminator-col + .forminator-col {
		margin-top: 1rem;
	}

	.re-contact-prep__grid,
	.re-corporate-page__process,
	.re-corporate-page__service-list,
	.re-guide-hub__grid,
	.re-guide-hub-page__route-grid,
	.re-editorial-body .re-dossier--related ul {
		grid-template-columns: minmax(0, 1fr);
	}

	.re-editorial-closing,
	.re-corporate-page__contact,
	.re-final-cta,
	.re-product-cta {
		border-radius: 1.25rem;
		margin-inline: 0.5rem;
	}
}

/* Blue commerce system — currently published product-hub renderer. */
.re-editorial-page--hub {
	max-width: none;
}

.re-editorial-page--hub .re-hub-hero {
	background: var(--muted);
	border: 1px solid var(--border);
	border-radius: 1.875rem;
	gap: 1.25rem clamp(2rem, 5vw, 5rem);
	margin: 1rem;
	max-width: none !important;
	padding: clamp(2.25rem, 4.5vw, 4.25rem) clamp(1.25rem, 5vw, 5rem);
}

.re-editorial-page--hub .re-hub-hero .re-section-kicker {
	border-top-color: var(--primary);
	color: var(--primary);
}

.re-editorial-page--hub .re-hub-hero h1 {
	color: var(--foreground);
	font-size: clamp(2.75rem, 4.75vw, 4.25rem);
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.re-editorial-page--hub .re-hub-hero .wp-block-post-content {
	color: var(--muted-foreground);
}

.re-editorial-page--hub .re-hub-hero__decision {
	background: var(--background);
	border: 1px solid var(--border);
	border-radius: 1rem;
	padding: 1.25rem;
}

.re-editorial-page--hub .re-hub-hero__decision-kicker,
.re-editorial-page--hub .re-hub-hero__decision-link a {
	color: var(--chart-3);
}

.re-editorial-page--hub .re-hub-hero__decision li {
	border-color: var(--border);
}

.re-editorial-page--hub .re-hub-hero__decision li strong {
	color: var(--foreground);
}

.re-editorial-page--hub .re-hub-hero__decision li span {
	color: var(--muted-foreground);
}

.re-editorial-page--hub .re-hub-products {
	background: var(--background);
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 5rem);
}

.re-editorial-page--hub .re-hub-products > .re-product-hub {
	max-width: 80rem !important;
}

.re-editorial-page--hub .re-product-hub > .re-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: none;
}

.re-editorial-page--hub .re-product-hub .re-card.re-product-card {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 1.5rem;
	box-shadow: 0 0.75rem 2rem rgb(30 58 138 / 0.06);
	overflow: hidden;
}

.re-editorial-page--hub .re-product-hub .re-product-card__image-link {
	aspect-ratio: 4 / 3;
	background: var(--muted);
	border-radius: 0;
	display: block;
	margin: 0;
	overflow: hidden;
}

.re-editorial-page--hub .re-product-hub .re-product-card__image-link img {
	border-radius: 0;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 180ms ease;
	width: 100%;
}

.re-editorial-page--hub .re-product-hub .re-product-card h2 {
	border-top: 0;
	font-size: clamp(1.45rem, 2vw, 1.8rem);
	margin: 0;
	padding: 1.2rem 1.2rem 0.35rem;
}

.re-editorial-page--hub .re-product-hub .re-product-card__summary {
	color: var(--muted-foreground);
	font-size: 0.9rem;
	line-height: 1.55;
	padding: 0 1.2rem 1.35rem;
}

.re-editorial-page--hub .re-product-hub .re-product-card:is(:hover, :focus-within) {
	border-color: var(--ring);
	box-shadow: 0 1.25rem 3rem rgb(30 58 138 / 0.12);
}

.re-editorial-page--hub .re-product-hub .re-product-card:is(:hover, :focus-within) .re-product-card__image {
	transform: scale(1.025);
}

.re-editorial-page--hub .re-product-hub__editorial {
	border-top-color: var(--border);
}

.re-editorial-page--hub .re-product-hub__editorial-header {
	background: var(--muted);
	border: 1px solid var(--border);
	border-left: 4px solid var(--primary);
	border-radius: 1rem;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.re-editorial-page--hub .re-product-hub__editorial-card,
.re-editorial-page--hub .re-product-hub__comparison,
.re-editorial-page--hub .re-product-hub__editorial-links,
.re-editorial-page--hub :is(.re-product-hub__guides, .re-product-hub__sectors) a {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 1rem;
}

.re-editorial-page--hub .re-product-hub__editorial-card {
	padding: clamp(1.25rem, 3vw, 1.75rem);
}

.re-editorial-page--hub :is(.re-product-hub__guides, .re-product-hub__sectors) a {
	color: var(--foreground);
}

.re-editorial-page--hub .re-product-hub__quote {
	background: #171717;
	border: 1px solid #404040;
	border-radius: 1.5rem;
	color: #e5e5e5;
}

.re-editorial-page--hub .re-product-hub__quote h2 {
	color: #ffffff;
}

@media (max-width: 781px) {
	.re-editorial-page--hub .re-hub-hero {
		border-radius: 1.25rem;
		grid-template-columns: minmax(0, 1fr);
		margin: 0.5rem;
		padding: 2.25rem 1.25rem;
	}

	.re-editorial-page--hub .re-hub-hero h1 {
		font-size: clamp(2.5rem, 12vw, 3rem);
	}

	.re-editorial-page--hub .re-hub-hero > :where(h1, p, .wp-block-post-content),
	.re-editorial-page--hub .re-hub-hero__decision {
		grid-column: 1;
		grid-row: auto;
	}

	.re-editorial-page--hub .re-hub-hero__decision ol,
	.re-editorial-page--hub .re-product-hub > .re-grid,
	.re-editorial-page--hub .re-product-hub__editorial-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.re-editorial-page--hub .re-hub-products {
		padding: 2.5rem 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.re-editorial-page--hub .re-product-card__image {
		transition: none;
	}

	.re-editorial-page--hub .re-product-card:is(:hover, :focus-within) .re-product-card__image {
		transform: none;
	}
}

/* Final shared-shell lock: keep the live cascade aligned with the approved
   premium reference even when legacy commerce rules load above it. */

/* Final editorial type alignment — one calm hierarchy across guides,
 * solutions, regions, contact and company pages. */
:is(.re-standard-hero, .re-guide-hub-page__intro, .re-corporate-page__intro) h1,
.re-editorial-hero h1 {
	font-family: var(--font-sans);
	font-size: clamp(2.35rem, 4.1vw, 3.75rem);
	font-weight: 720;
	letter-spacing: -0.045em;
	line-height: 1;
	max-width: 19ch !important;
}

:is(.re-editorial-page--guide, .re-editorial-page--solution, .re-editorial-page--region)
	:is(.re-editorial-body, .re-editorial-closing) :is(h2, h3),
.re-contact-prep :is(h2, h3),
.re-region-hub > h2,
.re-region-hub__grid > article > h3,
.re-guide-card > strong,
.re-guide-hub__header h2,
.re-guide-hub-page__routes-title,
.re-corporate-page :is(h2, h3) {
	font-family: var(--font-sans);
	font-weight: 700;
	letter-spacing: -0.03em;
}

:is(.re-editorial-page--guide, .re-editorial-page--solution, .re-editorial-page--region)
	:is(.re-editorial-body, .re-editorial-closing) h2,
.re-contact-prep h2,
.re-region-hub > h2,
.re-guide-hub__header h2,
.re-guide-hub-page__routes-title,
.re-corporate-page h2 {
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	line-height: 1.12;
}

:is(.re-editorial-page--guide, .re-editorial-page--solution, .re-editorial-page--region)
	:is(.re-editorial-body, .re-editorial-closing) h3,
.re-contact-prep h3,
.re-region-hub__grid > article > h3,
.re-corporate-page h3 {
	font-size: clamp(1.15rem, 2vw, 1.35rem);
	line-height: 1.2;
}

@media (max-width: 781px) {
	:is(.re-standard-hero, .re-guide-hub-page__intro, .re-corporate-page__intro, .re-editorial-hero) h1 {
		font-size: clamp(2.15rem, 10vw, 2.85rem);
		line-height: 1.02;
	}
}

html,
body {
	background: #f3f6fa;
}

.wp-site-blocks {
	background: #ffffff;
	border-color: #e2e8f0;
	border-radius: 1.5rem;
	box-shadow: 0 1.5rem 4rem rgb(30 64 175 / 7%);
	max-width: 94rem;
	overflow: clip;
}

.re-site-header,
.home .re-site-header {
	background: transparent;
	border: 0;
	box-shadow: none;
	gap: clamp(1.25rem, 2.2vw, 2.5rem);
	grid-template-columns: minmax(0, 69rem) auto;
	justify-content: space-between;
	max-width: calc(94rem - 2.5rem);
	min-height: 74px;
	padding: 0;
}

.re-site-header__nav-shell {
	align-items: center;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 1.125rem;
	box-shadow: 0 0.85rem 2.5rem rgb(30 64 175 / 7%);
	display: grid;
	gap: clamp(1.5rem, 2.4vw, 3rem);
	grid-template-columns: auto minmax(0, 1fr);
	min-height: 74px;
	padding: 0.65rem 1.15rem;
}

.re-site-brand {
	justify-self: start;
}

.re-site-brand__premium-picture,
.re-site-brand__premium-lockup {
	display: block;
}

.re-site-brand__premium-lockup {
	height: auto;
	max-width: none;
	width: clamp(13rem, 15vw, 15.25rem);
}

[data-primary-navigation] {
	justify-self: center;
}

[data-primary-navigation] ul {
	gap: clamp(0.7rem, 1.25vw, 1.35rem);
}

[data-primary-navigation] a {
	border-radius: 0.5rem;
	color: #475569;
	font-size: 0.875rem;
	font-weight: 650;
	padding-inline: 0.35rem;
}

.re-header-cta {
	background: #2563eb !important;
	border: 1px solid #2563eb !important;
	border-radius: 0.75rem !important;
	box-shadow: 0 0.6rem 1.5rem rgb(37 99 235 / 17%);
	color: #ffffff !important;
	justify-self: end;
	min-height: 46px;
	padding-inline: 1.2rem;
}

footer {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: #334155;
}

.re-site-footer {
	background: #f8fafc;
	border-top: 1px solid #bfdbfe;
	color: #334155;
	margin: 0;
	max-width: none;
	padding: clamp(3rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 5rem) 1.5rem;
}

.re-site-footer__grid {
	gap: clamp(2rem, 4vw, 4rem);
	grid-template-columns: minmax(16rem, 1.4fr) repeat(3, minmax(9rem, 0.8fr));
}

.re-site-footer__logo picture,
.re-site-footer__wordmark {
	display: block;
}

.re-site-footer__wordmark {
	height: auto;
	max-width: 16rem;
	width: 100%;
}

.re-site-footer__grid h2 {
	color: #0f172a;
}

.re-site-footer nav a,
.re-site-footer .re-site-contact,
.re-site-footer__brand p {
	color: #64748b;
}

.re-site-footer nav a:is(:hover, :focus-visible),
.re-site-footer .re-site-contact a:is(:hover, :focus-visible) {
	color: #1d4ed8;
}

.re-site-footer__meta {
	border-top-color: #dbe5ef;
	color: #64748b;
}

@media (max-width: 1080px) {
	.re-site-header,
	.home .re-site-header {
		gap: 0.8rem;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.re-site-header__nav-shell {
		gap: 0.8rem;
	}

	.re-site-brand__premium-lockup {
		width: 12.5rem;
	}

	[data-primary-navigation] ul {
		gap: 0.55rem;
	}

	[data-primary-navigation] a {
		font-size: 0.8rem;
	}
}

@media (max-width: 781px) {
	.wp-site-blocks {
		border-radius: 1rem;
	}

	.re-site-header,
	.home .re-site-header {
		display: block;
		margin-top: 0.5rem;
		min-height: 66px;
		padding: 0;
		width: calc(100% - 1rem);
	}

	.re-site-header__nav-shell {
		display: flex;
		min-height: 66px;
		padding: 0.55rem 0.7rem;
		position: relative;
	}

	.re-site-brand {
		margin-right: auto;
	}

	.re-site-brand__premium-lockup {
		width: clamp(9.75rem, 43vw, 11.5rem);
	}

	.re-site-header > .re-header-cta {
		display: none;
	}

	.re-site-header__nav-shell [data-primary-navigation] {
		left: 0;
		right: 0;
		width: 100%;
	}

	.re-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.re-site-brand__premium-lockup {
		width: 9.65rem;
	}

	.re-site-footer__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}
