/*
 * Rexpol — shared Figma system
 *
 * These classes are intentionally compositional. Apply them through Gutenberg's
 * native "Additional CSS class(es)" field to Group, Columns, Cover, Query,
 * Image, Buttons and their children. The same markup is therefore rendered in
 * the editor and on the public site without a Custom HTML block.
 */

:root,
:where(.rx-figma-page, .rx-figma-canvas),
.editor-styles-wrapper {
	--rx-figma-canvas: 108rem; /* 1728px */
	--rx-figma-gutter: clamp(1.25rem, 4.34vw, 4.6875rem); /* up to 75px */
	--rx-figma-gap: clamp(1rem, 1.4vw, 1.5rem);
	--rx-figma-section-space: clamp(5rem, 9vw, 9.75rem);
	--rx-figma-ink: #0a0a0a;
	--rx-figma-paper: #fff;
	--rx-figma-muted: #f3f3ef;
	--rx-figma-line: #a6a6a0;
	--rx-figma-blue: #0037ff;
	--rx-figma-blue-dark: #0028bd;
	--rx-figma-focus: #0037ff;
	--rx-figma-sans: "Neue Haas Grotesk Text Pro", "Neue Haas Grotesk", Arial, Helvetica, sans-serif;
	--rx-figma-mono: "PP Fraktion Mono", "PP Fraktion", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	--rx-figma-display: clamp(3.25rem, 7.1vw, 7.75rem);
	--rx-figma-h1: clamp(2.875rem, 5.6vw, 6rem);
	--rx-figma-h2: clamp(2.25rem, 4.2vw, 4.75rem);
	--rx-figma-h3: clamp(1.65rem, 2.35vw, 2.75rem);
	--rx-figma-body-lg: clamp(1.125rem, 1.45vw, 1.5rem);
	--rx-figma-body: clamp(1rem, 1vw, 1.125rem);
	--rx-figma-small: clamp(.75rem, .72vw, .8125rem);
	font-family: var(--rx-figma-sans);
	color: var(--rx-figma-ink);
	background: var(--rx-figma-paper);
}

/* Seed/core-block aliases: these make the native editor composition use the
 * same visual tokens as the frontend even before Tailwind's browser runtime. */
.rx-figma-eyebrow { font-family: var(--rx-figma-mono); font-size: var(--rx-figma-small); letter-spacing: .025em; text-transform: uppercase; }
.rx-figma-title { font-weight: 400; line-height: .93; letter-spacing: -.054em; text-wrap: balance; }
.rx-figma-lead { font-size: var(--rx-figma-body-lg); line-height: 1.2; letter-spacing: -.02em; }
.rx-figma-gallery { gap: var(--rx-figma-gap); }
.rx-figma-gallery img { width: 100%; height: 100%; object-fit: cover; }

.rx-figma-page {
	width: 100%;
	overflow: clip;
}

.rx-figma-page :where(h1, h2, h3, h4, p, ul, ol, figure) {
	margin-block-start: 0;
}

.rx-figma-page :where(img, video) {
	display: block;
	max-width: 100%;
	height: auto;
}

.rx-figma-canvas {
	width: min(100%, var(--rx-figma-canvas));
	margin-inline: auto;
	padding-inline: var(--rx-figma-gutter);
}

.rx-figma-full-bleed {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.rx-figma-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
}

.rx-figma-grid > * {
	min-width: 0;
}

.rx-figma-span-1 { grid-column: span 1; }
.rx-figma-span-2 { grid-column: span 2; }
.rx-figma-span-3 { grid-column: span 3; }
.rx-figma-span-4 { grid-column: span 4; }
.rx-figma-span-5 { grid-column: span 5; }
.rx-figma-span-6 { grid-column: 1 / -1; }
.rx-figma-start-2 { grid-column-start: 2; }
.rx-figma-start-3 { grid-column-start: 3; }
.rx-figma-start-4 { grid-column-start: 4; }

.rx-figma-section {
	width: min(100%, var(--rx-figma-canvas));
	margin-inline: auto;
	padding: var(--rx-figma-section-space) var(--rx-figma-gutter);
}

.rx-figma-section--compact {
	padding-block: clamp(3.5rem, 6vw, 6.5rem);
}



.rx-figma-section--split {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
}

.rx-figma-section--split > :first-child {
	grid-column: 1 / span 2;
}

.rx-figma-section--split > :last-child {
	grid-column: 3 / -1;
}

.rx-figma-kicker,
.rx-figma-meta,
.rx-figma-type-mono {
	font-family: var(--rx-figma-mono);
	font-size: var(--rx-figma-small);
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.rx-figma-type-display {
	font-family: var(--rx-figma-sans);
	font-size: var(--rx-figma-display);
	font-weight: 400;
	line-height: .86;
	letter-spacing: -.067em;
}

.rx-figma-type-h1 {
	font-size: var(--rx-figma-h1);
	font-weight: 400;
	line-height: .9;
	letter-spacing: -.058em;
}

.rx-figma-type-h2 {
	font-size: var(--rx-figma-h2);
	font-weight: 400;
	line-height: .93;
	letter-spacing: -.054em;
}

.rx-figma-type-h3 {
	font-size: var(--rx-figma-h3);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.042em;
}

.rx-figma-type-lead {
	font-size: var(--rx-figma-body-lg);
	line-height: 1.2;
	letter-spacing: -.02em;
}

.rx-figma-prose {
	max-width: 48rem;
	font-size: var(--rx-figma-body);
	line-height: 1.42;
}

.rx-figma-prose > * + * {
	margin-block-start: 1.25em;
}

.rx-figma-text-blue { color: var(--rx-figma-blue); }
.rx-figma-text-light { color: var(--rx-figma-paper); }
.rx-figma-bg-blue { color: var(--rx-figma-paper); background: var(--rx-figma-blue); }
.rx-figma-bg-dark { color: var(--rx-figma-paper); background: var(--rx-figma-ink); }
.rx-figma-bg-muted { background: var(--rx-figma-muted); }
.rx-figma-border-blue { border-color: var(--rx-figma-blue); }

/* Header / hero ---------------------------------------------------------- */

.rx-figma-header-overlay {
	position: relative;
	z-index: 20;
	width: 100%;
	color: var(--rx-figma-paper);
}

.rx-figma-header-overlay .rx-header {
	position: absolute;
	inset: 0 0 auto;
	z-index: 20;
	width: min(100%, var(--rx-figma-canvas));
	max-width: var(--rx-figma-canvas);
	min-height: 5rem;
	margin-inline: auto;
	padding-inline: var(--rx-figma-gutter);
	color: var(--rx-figma-paper);
	background: linear-gradient(180deg, rgb(0 0 0 / .56), transparent);
	border-color: rgb(255 255 255 / .52);
}

.rx-figma-header-overlay :where(.rx-brand, .rx-menu a) {
	color: inherit;
}

.rx-figma-header-overlay .rx-menu > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
}

.rx-figma-header-overlay .rx-menu .sub-menu {
	color: var(--rx-figma-paper);
	background: var(--rx-figma-ink);
}

.rx-figma-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	width: min(100%, var(--rx-figma-canvas));
	min-height: clamp(37.5rem, 58.61vw, 52.75rem); /* 844px desktop */
	margin-inline: auto;
	padding: clamp(8.5rem, 14vw, 14rem) var(--rx-figma-gutter) clamp(2rem, 4.35vw, 4.6875rem);
	overflow: hidden;
	color: var(--rx-figma-paper);
	background: var(--rx-figma-ink);
}

.rx-figma-hero > :where(.wp-block-cover__background, .wp-block-cover__image-background),
.rx-figma-hero > :where(figure, .wp-block-image, .wp-block-video):first-child,
.rx-figma-hero .rx-figma-hero-media {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	margin: 0;
}

.rx-figma-hero > :where(figure, .wp-block-image, .wp-block-video):first-child :where(img, video),
.rx-figma-hero .rx-figma-hero-media :where(img, video),
.rx-figma-hero > .wp-block-cover__image-background {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rx-figma-hero::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(90deg, rgb(0 0 0 / .66) 0, rgb(0 0 0 / .18) 62%, transparent 100%),
		linear-gradient(0deg, rgb(0 0 0 / .62) 0, transparent 58%);
}

.rx-figma-hero > .wp-block-cover__inner-container,
.rx-figma-hero > .rx-figma-hero-content,
.rx-figma-hero:not(.wp-block-cover) > :not(figure, .wp-block-image, .wp-block-video) {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 58rem;
}

.rx-figma-hero :where(h1, h2) {
	max-width: 12ch;
	margin-block-end: clamp(1.25rem, 2.4vw, 2.5rem);
	font-size: var(--rx-figma-display);
	font-weight: 400;
	line-height: .86;
	letter-spacing: -.067em;
	text-wrap: balance;
}

.rx-figma-hero :where(p, .wp-block-post-excerpt) {
	max-width: 38rem;
	font-size: var(--rx-figma-body-lg);
	line-height: 1.22;
}

.rx-figma-hero--light {
	color: var(--rx-figma-ink);
	background: var(--rx-figma-paper);
}

.rx-figma-hero--light::after {
	display: none;
}

.rx-figma-hero--editorial {
	align-items: center;
	color: var(--rx-figma-ink);
	background: var(--rx-figma-muted);
}

.rx-figma-hero--editorial::after {
	display: none;
}

/* Centered introductions ------------------------------------------------ */

.rx-figma-intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, 70rem);
	margin-inline: auto;
	padding: clamp(5.5rem, 10vw, 11rem) var(--rx-figma-gutter);
	text-align: center;
}

.rx-figma-intro > :where(h1, h2) {
	max-width: 15ch;
	margin-block-end: clamp(1.5rem, 3vw, 3rem);
	font-size: var(--rx-figma-h2);
	font-weight: 400;
	line-height: .94;
	letter-spacing: -.055em;
	text-wrap: balance;
}

.rx-figma-intro > :where(p, .wp-block-buttons) {
	max-width: 46rem;
}

/* Buttons --------------------------------------------------------------- */

.rx-figma-button.wp-block-button .wp-block-button__link,
.rx-figma-button .wp-block-button__link,
.rx-figma-button:is(a, button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 9.5rem;
	min-height: 2.75rem;
	padding: .7rem 1rem;
	font-family: var(--rx-figma-mono);
	font-size: .75rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid currentColor;
	border-radius: 0;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.rx-figma-button--primary.wp-block-button .wp-block-button__link,
.rx-figma-button--primary .wp-block-button__link,
.rx-figma-button--primary:is(a, button) {
	color: var(--rx-figma-paper);
	background: var(--rx-figma-blue);
	border-color: var(--rx-figma-blue);
}

.rx-figma-button--primary.wp-block-button .wp-block-button__link:hover,
.rx-figma-button--primary .wp-block-button__link:hover,
.rx-figma-button--primary:is(a, button):hover {
	background: var(--rx-figma-blue-dark);
	border-color: var(--rx-figma-blue-dark);
}

.rx-figma-button--outline.wp-block-button .wp-block-button__link,
.rx-figma-button--outline .wp-block-button__link,
.rx-figma-button--outline:is(a, button) {
	color: inherit;
	background: transparent;
}

.rx-figma-button--outline.wp-block-button .wp-block-button__link:hover,
.rx-figma-button--outline .wp-block-button__link:hover,
.rx-figma-button--outline:is(a, button):hover {
	color: var(--rx-figma-paper);
	background: var(--rx-figma-ink);
	border-color: var(--rx-figma-ink);
}

.rx-figma-button--link.wp-block-button .wp-block-button__link,
.rx-figma-button--link .wp-block-button__link,
.rx-figma-button--link:is(a, button) {
	justify-content: space-between;
	min-width: 11rem;
	padding-inline: 0;
	background: transparent;
	border-width: 0 0 1px;
}

.rx-figma-button--link.wp-block-button .wp-block-button__link::after,
.rx-figma-button--link .wp-block-button__link::after,
.rx-figma-button--link:is(a, button)::after {
	content: "↗";
	font-family: var(--rx-figma-sans);
	font-size: 1rem;
}

/* Native Query compositions -------------------------------------------- */

.rx-figma-query-grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 1px;
	list-style: none;
	background: var(--rx-figma-line);
}

.rx-figma-query-grid--2 .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rx-figma-query-grid--4 .wp-block-post-template { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.rx-figma-query-grid .wp-block-post {
	min-width: 0;
	padding: clamp(1rem, 1.5vw, 1.5rem);
	background: var(--rx-figma-paper);
}

.rx-figma-query-grid :where(.wp-block-post-featured-image, .wp-block-image) {
	margin-block-end: clamp(1.25rem, 2vw, 2rem);
	overflow: hidden;
}

.rx-figma-query-grid :where(.wp-block-post-featured-image, .wp-block-image) img {
	width: 100%;
	aspect-ratio: 1.34 / 1;
	object-fit: cover;
	transition: transform 300ms ease;
}

.rx-figma-query-grid .wp-block-post:hover :where(.wp-block-post-featured-image, .wp-block-image) img {
	transform: scale(1.018);
}

.rx-figma-query-grid .wp-block-post-title {
	margin-block-end: .8rem;
	font-size: clamp(1.4rem, 2vw, 2rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.04em;
}

.rx-figma-query-grid .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.rx-figma-query-grid :where(.wp-block-post-date, .wp-block-post-terms) {
	font-family: var(--rx-figma-mono);
	font-size: var(--rx-figma-small);
	text-transform: uppercase;
}

.rx-figma-carousel {
	position: relative;
}

.rx-carousel,
.rx-figma-carousel {
	position: relative;
}

.rx-carousel-controls {
	position: absolute;
	inset-block-start: -3.5rem;
	inset-inline-end: 0;
	z-index: 2;
	display: flex;
	gap: 2px;
}

.rx-carousel-control {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 0;
	background: var(--rx-figma-muted);
	color: var(--rx-figma-ink);
	font: inherit;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	touch-action: manipulation;
}

.rx-carousel-control:hover:not(:disabled) {
	background: var(--rx-figma-ink);
	color: var(--rx-figma-paper);
}

.rx-carousel-control:disabled {
	opacity: .36;
	cursor: default;
}

.rx-carousel-controls[hidden] {
	display: none;
}

.rx-figma-carousel .wp-block-post-template,
.rx-figma-carousel > .wp-block-group__inner-container {
	display: grid;
	grid-auto-columns: minmax(20rem, calc((100% - (var(--rx-figma-gap) * 2)) / 3));
	grid-auto-flow: column;
	gap: var(--rx-figma-gap);
	margin: 0;
	padding: 0 0 1.5rem;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
}

.rx-figma-carousel .wp-block-post-template::-webkit-scrollbar,
.rx-figma-carousel > .wp-block-group__inner-container::-webkit-scrollbar,
.rx-carousel__track::-webkit-scrollbar {
	display: none;
}

.rx-carousel__track {
	scrollbar-width: none;
}

.rx-figma-carousel :where(.wp-block-post, .rx-figma-carousel-item) {
	min-width: 0;
	scroll-snap-align: start;
}

.rx-figma-carousel :where(.wp-block-post-featured-image, .wp-block-image) img {
	width: 100%;
	aspect-ratio: 1.32 / 1;
	object-fit: cover;
}

/* Event / specification tables ----------------------------------------- */

.rx-figma-event-table,
.rx-figma-spec-table {
	border-block-start: 1px solid var(--rx-figma-ink);
}

.rx-figma-event-row,
.rx-figma-spec-row {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
	align-items: center;
	min-height: clamp(5.25rem, 7vw, 7.5rem);
	padding-block: 1rem;
	border-block-end: 1px solid var(--rx-figma-ink);
}

.rx-figma-event-row > :nth-child(1) { grid-column: span 1; }
.rx-figma-event-row > :nth-child(2) { grid-column: span 3; }
.rx-figma-event-row > :nth-child(3) { grid-column: span 1; }
.rx-figma-event-row > :nth-child(4) { grid-column: span 1; justify-self: end; }
.rx-figma-spec-row > :nth-child(1) { grid-column: span 2; }
.rx-figma-spec-row > :nth-child(2) { grid-column: span 3; }
.rx-figma-spec-row > :nth-child(3) { grid-column: span 1; justify-self: end; }

.rx-figma-event-row :where(h3, h4),
.rx-figma-spec-row :where(h3, h4) {
	margin: 0;
	font-size: clamp(1.25rem, 1.8vw, 1.75rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.035em;
}

.rx-figma-event-row :where(p, time),
.rx-figma-spec-row :where(p, small) {
	margin: 0;
	font-family: var(--rx-figma-mono);
	font-size: var(--rx-figma-small);
	line-height: 1.3;
	text-transform: uppercase;
}

/* Divisions ------------------------------------------------------------- */

.rx-figma-division-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	padding: 1px;
	background: var(--rx-figma-ink);
}

.rx-figma-division-card {
	position: relative;
	min-width: 0;
	min-height: clamp(27rem, 39vw, 42rem);
	padding: clamp(1.25rem, 2.5vw, 2.5rem);
	overflow: hidden;
	color: var(--rx-figma-paper);
	background: var(--rx-figma-ink);
}

.rx-figma-division-card > :where(figure, .wp-block-image):first-child {
	position: absolute;
	inset: 0;
	margin: 0;
}

.rx-figma-division-card > :where(figure, .wp-block-image):first-child img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}

.rx-figma-division-card::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(0deg, rgb(0 0 0 / .72), transparent 68%);
}

.rx-figma-division-card > :not(figure, .wp-block-image) {
	position: relative;
	z-index: 1;
}

.rx-figma-division-card > .wp-block-group,
.rx-figma-division-card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
}

.rx-figma-division-card :where(h2, h3) {
	margin-block: auto 1rem;
	font-size: clamp(2rem, 3.3vw, 4rem);
	font-weight: 400;
	line-height: .93;
	letter-spacing: -.055em;
}

.rx-figma-division-card:hover > :where(figure, .wp-block-image):first-child img {
	transform: scale(1.025);
}

.rx-figma-division-card--blue {
	background: var(--rx-figma-blue);
}

.rx-figma-division-card--blue::after {
	display: none;
}

/* Statistics ------------------------------------------------------------ */

.rx-figma-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	padding: 1px;
	background: var(--rx-figma-line);
}

.rx-figma-stat {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: clamp(15rem, 22vw, 22rem);
	padding: clamp(1.25rem, 2.6vw, 2.75rem);
	background: var(--rx-figma-paper);
}

.rx-figma-stat :where(h3, p:first-child) {
	margin: 0;
	font-size: clamp(3.5rem, 7vw, 7.5rem);
	font-weight: 400;
	line-height: .8;
	letter-spacing: -.07em;
}

.rx-figma-stat > :last-child {
	max-width: 22rem;
	margin: 0;
	font-size: var(--rx-figma-body);
	line-height: 1.25;
}

/* Timeline -------------------------------------------------------------- */

.rx-figma-timeline {
	position: relative;
	display: grid;
	gap: 0;
	padding-block: 2rem;
}

.rx-figma-timeline::before {
	position: absolute;
	inset-block: 0;
	inset-inline-start: calc((100% - (var(--rx-figma-gap) * 5)) / 6 + (var(--rx-figma-gap) / 2));
	width: 1px;
	content: "";
	background: var(--rx-figma-line);
}

.rx-figma-timeline-item {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
	padding-block: clamp(2rem, 4vw, 4.5rem);
	border-block-end: 1px solid var(--rx-figma-line);
}

.rx-figma-timeline-item::before {
	position: absolute;
	inset-block-start: clamp(2.25rem, 4.25vw, 4.75rem);
	inset-inline-start: calc((100% - (var(--rx-figma-gap) * 5)) / 6 + (var(--rx-figma-gap) / 2) - .3125rem);
	width: .625rem;
	height: .625rem;
	content: "";
	background: var(--rx-figma-blue);
	border-radius: 50%;
}

.rx-figma-timeline-item > :first-child {
	grid-column: 1 / span 1;
	font-family: var(--rx-figma-mono);
	font-size: var(--rx-figma-small);
}

.rx-figma-timeline-item > :last-child {
	grid-column: 3 / -1;
}

.rx-figma-timeline-item :where(h3, h4) {
	font-size: var(--rx-figma-h3);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.04em;
}

/* Blue CTA -------------------------------------------------------------- */

.rx-figma-cta-blue {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
	width: min(100%, var(--rx-figma-canvas));
	min-height: clamp(25rem, 44vw, 43rem);
	margin-inline: auto;
	padding: clamp(3rem, 7vw, 7.5rem) var(--rx-figma-gutter);
	color: var(--rx-figma-paper);
	background: var(--rx-figma-blue);
}

.rx-figma-cta-blue > * {
	grid-column: 1 / span 5;
}

.rx-figma-cta-blue :where(h2, h3) {
	align-self: start;
	max-width: 15ch;
	font-size: var(--rx-figma-h1);
	font-weight: 400;
	line-height: .9;
	letter-spacing: -.06em;
	text-wrap: balance;
}

.rx-figma-cta-blue :where(.wp-block-buttons, .rx-figma-button) {
	align-self: end;
}

.rx-figma-cta-blue .wp-block-button__link {
	color: var(--rx-figma-paper);
	border-color: currentColor;
}

/* Contact and map ------------------------------------------------------- */

.rx-figma-contact {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
}

.rx-figma-contact > :first-child {
	grid-column: 1 / span 2;
}

.rx-figma-contact > :last-child {
	grid-column: 3 / -1;
}

.rx-figma-contact-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-block-start: 1px solid var(--rx-figma-ink);
}

.rx-figma-contact-list > li,
.rx-figma-contact-list > .wp-block-group {
	display: grid;
	grid-template-columns: minmax(7rem, 1fr) 2fr;
	gap: 1rem;
	padding-block: 1rem;
	border-block-end: 1px solid var(--rx-figma-line);
}

.rx-figma-map {
	position: relative;
	min-height: clamp(25rem, 47vw, 48rem);
	overflow: hidden;
	background: var(--rx-figma-muted);
}

.rx-figma-map :where(iframe, img, .wp-block-image) {
	width: 100%;
	height: 100%;
	min-height: inherit;
	border: 0;
	object-fit: cover;
}

.rx-figma-contact .jet-form-builder {
	max-width: none;
}

.rx-figma-contact .jet-form-builder :where(input, textarea, select) {
	min-height: 3.25rem;
	padding: .75rem 0;
	background: transparent;
	border-width: 0 0 1px;
	border-color: var(--rx-figma-ink);
	border-radius: 0;
}

.rx-figma-contact .jet-form-builder textarea {
	min-height: 9rem;
	resize: vertical;
}

/* Careers / job rows ---------------------------------------------------- */

.rx-figma-jobs {
	border-block-start: 1px solid var(--rx-figma-ink);
}

.rx-figma-job-row {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
	align-items: center;
	min-height: clamp(6rem, 9vw, 9rem);
	padding-block: 1.25rem;
	color: inherit;
	text-decoration: none;
	border-block-end: 1px solid var(--rx-figma-ink);
}

.rx-figma-job-row > :nth-child(1) { grid-column: span 3; }
.rx-figma-job-row > :nth-child(2) { grid-column: span 2; }
.rx-figma-job-row > :nth-child(3) { grid-column: span 1; justify-self: end; }

.rx-figma-job-row :where(h3, h4) {
	margin: 0;
	font-size: clamp(1.5rem, 2.35vw, 2.5rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.045em;
}

.rx-figma-job-row:hover :where(h3, h4) {
	color: var(--rx-figma-blue);
}

/* Solutions explorer --------------------------------------------------- */

.rx-figma-solution-explorer {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
	min-height: clamp(35rem, 58vw, 58rem);
}

.rx-figma-solution-explorer > :first-child {
	grid-column: 1 / span 2;
}

.rx-figma-solution-explorer > :last-child {
	grid-column: 3 / -1;
}

.rx-figma-solution-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-block-start: 1px solid var(--rx-figma-ink);
}

.rx-figma-solution-list > :where(li, .wp-block-group, .wp-block-button) {
	border-block-end: 1px solid var(--rx-figma-line);
}

.rx-figma-solution-list :where(a, button, .wp-block-button__link) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 4.5rem;
	padding: .75rem 0;
	color: inherit;
	font-size: clamp(1.125rem, 1.6vw, 1.5rem);
	text-align: start;
	text-decoration: none;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.rx-figma-solution-list .is-active :where(a, button, .wp-block-button__link),
.rx-figma-solution-list :where(a, button, .wp-block-button__link):hover {
	color: var(--rx-figma-blue);
}

.rx-figma-solution-media {
	position: sticky;
	top: 1rem;
	min-height: clamp(30rem, 52vw, 52rem);
	overflow: hidden;
	background: var(--rx-figma-muted);
}

.rx-figma-solution-media :where(img, video) {
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

/* Product and editorial content ---------------------------------------- */

.rx-figma-product-hero {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
	width: min(100%, var(--rx-figma-canvas));
	min-height: clamp(39rem, 58.61vw, 52.75rem);
	margin-inline: auto;
	padding: clamp(8rem, 12vw, 12rem) var(--rx-figma-gutter) var(--rx-figma-gutter);
}

.rx-figma-product-hero > :first-child {
	grid-column: 1 / span 2;
	align-self: end;
}

.rx-figma-product-hero > :last-child {
	grid-column: 3 / -1;
	align-self: stretch;
}

.rx-figma-product-hero :where(h1, h2) {
	font-size: var(--rx-figma-h1);
	font-weight: 400;
	line-height: .9;
	letter-spacing: -.058em;
}

.rx-figma-product-hero :where(.wp-block-image, figure, img) {
	width: 100%;
	height: 100%;
}

.rx-figma-product-hero img {
	object-fit: cover;
}

.rx-single-entity-hero {
	display: grid;
	grid-template-columns: repeat(6,minmax(0,1fr));
	gap: var(--rx-figma-gap);
	width: min(100%,var(--rx-figma-canvas));
	min-height: clamp(34rem,52vw,48rem);
	margin-inline: auto;
	padding: clamp(8rem,12vw,12rem) var(--rx-figma-gutter) var(--rx-figma-gutter);
}
.rx-single-entity-hero__copy { grid-column: 1 / span 2; align-self: end; min-width: 0; }
.rx-single-entity-hero__copy > * { max-width: none; }
.rx-single-entity-hero__media { grid-column: 3 / -1; align-self: stretch; margin: 0; overflow: hidden; border-radius: .375rem; }
.rx-single-entity-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.rx-single-entity-hero .rx-figma-type-h1 {
	font-size: clamp(3rem,5vw,5rem);
	font-weight: 400;
	line-height: .9;
	letter-spacing: -.058em;
	overflow-wrap: normal;
	word-break: normal;
}

.rx-figma-editorial {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
}

.rx-figma-editorial > :first-child {
	grid-column: 1 / span 1;
}

.rx-figma-editorial > :last-child {
	grid-column: 3 / span 3;
}

.rx-figma-editorial :where(h2, h3) {
	font-size: var(--rx-figma-h3);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.045em;
}

.rx-figma-editorial :where(p, li) {
	font-size: var(--rx-figma-body-lg);
	line-height: 1.35;
}

.rx-figma-editorial-media {
	margin-block: clamp(3rem, 7vw, 7.5rem);
}

.rx-figma-editorial-media img {
	width: 100%;
	max-height: 62rem;
	object-fit: cover;
}

.rx-figma-related-content {
	border-block-start: 1px solid var(--rx-figma-ink);
}

.rx-figma-article-hero { padding-block-start: clamp(8rem, 13vw, 13rem); }
.rx-figma-article-hero :where(.wp-block-post-title) { max-width: 15ch; font-size: var(--rx-figma-h1); font-weight: 400; line-height: .9; letter-spacing: -.058em; }
.rx-figma-article-hero__media { margin-block-start: clamp(3rem, 6vw, 6rem); }
.rx-figma-article-hero__media img { width: 100%; max-height: 54rem; object-fit: cover; }
.rx-figma-article-body > * { max-width: 54rem; margin-inline: auto; }
.rx-figma-article-body > :where(figure,.wp-block-image,.wp-block-gallery,.alignwide,.alignfull) { max-width: 100%; }
.rx-figma-project-meta { gap: 1px; margin-block-start: 2rem; background: var(--rx-figma-line); }
.rx-figma-project-meta .rx-meta-field { padding: 1rem; background: var(--rx-figma-paper); }
.rx-figma-download-list { margin: 2rem 0 0; padding: 0; list-style: none; border-block-start: 1px solid var(--rx-figma-ink); }
.rx-figma-download-list > li { display: grid; grid-template-columns: 1fr 2fr; gap: var(--rx-figma-gap); padding-block: 1rem; border-block-end: 1px solid var(--rx-figma-line); }

/* Footer --------------------------------------------------------------- */

.rx-figma-footer {
	width: min(100%, var(--rx-figma-canvas));
	min-height: clamp(32.625rem, 47vw, 50.75rem);
	margin-inline: auto;
	padding: clamp(4rem, 7.6vw, 8.25rem) var(--rx-figma-gutter) clamp(2rem, 3vw, 3.5rem);
	color: var(--rx-figma-paper);
	background: var(--rx-figma-ink);
}

.rx-figma-footer > .wp-block-group__inner-container,
.rx-figma-footer > .rx-footer,
.rx-figma-footer-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--rx-figma-gap);
	width: 100%;
}

.rx-figma-footer-grid > :first-child,
.rx-figma-footer > .wp-block-group__inner-container > :first-child {
	grid-column: 1 / span 2;
}

.rx-figma-footer :where(a, .rx-footer-menu a) {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: .25em;
}

.rx-figma-footer :where(ul, .rx-footer-menu) {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rx-figma-footer :where(li, .rx-footer-menu li) {
	margin-block-end: .65rem;
}

.rx-figma-footer :where(h2, .rx-figma-footer-wordmark) {
	grid-column: 1 / -1;
	align-self: end;
	margin-block: clamp(5rem, 10vw, 10rem) 0;
	font-size: clamp(4rem, 12.2vw, 13rem);
	font-weight: 400;
	line-height: .7;
	letter-spacing: -.085em;
	white-space: nowrap;
}
.rx-footer.rx-figma-footer { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: var(--rx-figma-gap); }
.rx-footer.rx-figma-footer > .rx-footer__company { grid-column: auto; }
.rx-footer.rx-figma-footer > .rx-footer__modules { grid-column: 4; }
.rx-footer.rx-figma-footer > .rx-figma-footer-wordmark { grid-column: 1 / -1; margin-block: 0; }
.rx-footer.rx-figma-footer { align-content: space-between; }
.rx-footer__company strong,
.rx-footer.rx-figma-footer nav > .rx-figma-kicker { display: block; margin: 0 0 1.35rem; font-family: var(--rx-figma-sans); font-size: clamp(.75rem, 1.04vw, 1.125rem); font-weight: 400; line-height: 1; text-transform: none; }
.rx-footer__address,
.rx-footer.rx-figma-footer .rx-footer-menu { margin: 0; font-family: var(--rx-figma-sans); font-size: clamp(.625rem, .87vw, .9375rem); font-style: normal; line-height: 1.18; }
.rx-footer.rx-figma-footer .rx-footer-menu li { margin-block-end: .15rem; }
.rx-figma-footer-wordmark__o { display: inline-block; width: .72em; height: .72em; margin-inline: .015em; border-radius: 50%; color: transparent; vertical-align: -.015em; background: radial-gradient(circle at center, #000 0 5%, #242424 17%, #9b9b9b 38%, #f5f5f5 64%, #fff 100%); }

/* Accessible interaction states ---------------------------------------- */

.rx-figma-page :where(a, button, input, textarea, select, summary):focus-visible,
.rx-figma-header-overlay :where(a, button):focus-visible,
	.rx-figma-footer :where(a, button):focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--rx-figma-focus);
}

.rx-figma-page :where(a, button, summary, .wp-block-button__link) {
	cursor: pointer;
}

.rx-figma-page :where(a, button, input, select, summary, .wp-block-button__link) {
	touch-action: manipulation;
}

/* 1024px --------------------------------------------------------------- */

@media (max-width: 64rem) {
	.rx-figma-query-grid--4 .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rx-figma-carousel .wp-block-post-template,
	.rx-figma-carousel > .wp-block-group__inner-container {
		grid-auto-columns: minmax(18rem, calc((100% - var(--rx-figma-gap)) / 2));
	}

	.rx-figma-division-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rx-figma-footer :where(h2, .rx-figma-footer-wordmark) {
		font-size: clamp(4rem, 11.5vw, 8rem);
	}
}

/* Gutenberg tablet breakpoint / 768px ---------------------------------- */

@media (max-width: 48rem) {
	:where(.rx-figma-page, .rx-figma-canvas) {
		--rx-figma-gutter: clamp(1.25rem, 4.16vw, 2rem);
		--rx-figma-section-space: clamp(4.5rem, 11vw, 6rem);
	}

	.rx-figma-grid,
	.rx-figma-section--split,
	.rx-figma-contact,
	.rx-figma-solution-explorer,
	.rx-figma-product-hero,
	.rx-figma-editorial,
	.rx-figma-cta-blue {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rx-figma-span-1,
	.rx-figma-span-2,
	.rx-figma-span-3 { grid-column: span 1; }
	.rx-figma-span-4,
	.rx-figma-span-5,
	.rx-figma-span-6 { grid-column: 1 / -1; }
	.rx-figma-start-2,
	.rx-figma-start-3,
	.rx-figma-start-4 { grid-column-start: auto; }

	.rx-figma-section--split > :first-child,
	.rx-figma-contact > :first-child,
	.rx-figma-solution-explorer > :first-child,
	.rx-figma-product-hero > :first-child,
	.rx-figma-editorial > :first-child {
		grid-column: 1 / span 1;
	}

	.rx-figma-section--split > :last-child,
	.rx-figma-contact > :last-child,
	.rx-figma-solution-explorer > :last-child,
	.rx-figma-product-hero > :last-child,
	.rx-figma-editorial > :last-child {
		grid-column: 2 / -1;
	}

	.rx-figma-header-overlay .rx-header {
		flex-wrap: wrap;
		min-height: 6.5rem;
		padding-block: .75rem;
	}

	.rx-figma-header-overlay .rx-header nav {
		display: block;
		width: 100%;
		overflow-x: auto;
	}

	.rx-figma-header-overlay .rx-menu {
		width: max-content;
	}

	.rx-figma-hero {
		min-height: 44rem;
		padding-block-start: 9.5rem;
	}

	.rx-figma-query-grid .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rx-figma-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rx-figma-cta-blue > * {
		grid-column: 1 / -1;
	}

	.rx-figma-solution-media {
		min-height: 35rem;
	}

	.rx-figma-footer > .wp-block-group__inner-container,
	.rx-figma-footer > .rx-footer,
	.rx-figma-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rx-figma-footer-grid > :first-child,
	.rx-figma-footer > .wp-block-group__inner-container > :first-child {
		grid-column: 1 / -1;
		margin-block-end: 3rem;
	}
}

/* Node-specific page compositions --------------------------------------
 * Each selector is also loaded in the block editor. Markup remains native
 * Group/Columns/Cover/Query/Table/Gallery, with dynamic SCF leaf blocks only
 * where WordPress core cannot render the value.
 */
.rx-template-editorial > .wp-block-post-content,
.rx-template-listing > .wp-block-post-content,
.rx-template-product > .wp-block-post-content {
	width: 100%;
	max-width: none;
	margin: 0;
}

.rx-page-head {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(18rem, 31vw, 34rem);
	padding-block-end: clamp(3rem, 6vw, 6rem);
}
.rx-page-head__title {
	max-width: 24ch;
	margin: .8rem 0 0;
	font-size: clamp(2.25rem, 3.5vw, 4rem);
	font-weight: 400;
	line-height: .95;
	letter-spacing: -.055em;
}
.rx-page-head__copy { max-width: 34rem; margin-block-start: 1.5rem; }
.rx-page-head--media { min-height: clamp(19rem, 37vw, 40rem); }

/* Il gruppo · 28:407 */
.rx-group-profile__columns { align-items: stretch; }
.rx-group-profile__columns > .wp-block-column:first-child { flex-basis: 33.333%; }
.rx-group-profile__columns > .wp-block-column:last-child { flex-basis: 66.667%; }
.rx-group-profile__image,
.rx-group-profile__image img { width: 100%; height: 100%; min-height: 32rem; object-fit: cover; filter: grayscale(1); }
.rx-group-profile__copy { display: flex; flex-direction: column; justify-content: space-between; min-height: 32rem; }
.rx-group-pillars { gap: 1px; margin-top: 4rem; background: var(--rx-figma-line); }
.rx-group-pillar { min-height: 9rem; padding: 1rem; background: var(--rx-figma-paper); }
.rx-group-blue { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: clamp(22rem, 34vw, 36rem); padding: 4rem var(--rx-figma-gutter); text-align: center; }
.rx-group-blue > h2 { max-width: 18ch; margin: 0 auto 2rem; }
.rx-group-blue__actions { justify-content: center; }
.rx-group-metrics__columns { align-items: stretch; }
.rx-group-metrics__lead { display: flex; flex-direction: column; min-height: 35rem; }
.rx-group-metrics__lead-image { margin-top: auto; }
.rx-group-metrics__lead-image img { max-height: 19rem; object-fit: contain; }
.rx-group-metrics__stats.rx-figma-section { width: auto; margin: 0; padding: 0; }
.rx-group-metrics__stats .rx-figma-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
.rx-group-metrics__stats .rx-figma-stat { min-height: 17rem; }
.rx-group-wide-media { width: 100%; margin: 0; }
.rx-group-wide-media__image { margin: 0; }
.rx-group-wide-media__image img { width: 100%; height: clamp(30rem, 52vw, 56rem); object-fit: cover; }
.rx-group-story__columns > .wp-block-column:first-child { flex-basis: 33.333%; }
.rx-group-story__columns > .wp-block-column:last-child { flex-basis: 66.667%; }

/* Divisioni · 13:196 */
.rx-divisions-grid-section { padding-top: 1rem; }
.rx-divisions-grid-section .rx-figma-query-grid .wp-block-post-template { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; padding: 0; background: transparent; }
.rx-divisions-grid-section .rx-figma-query-grid .wp-block-post { min-height: 29rem; padding: 1.5rem; border-radius: .35rem; background: #d9d9d7; }
.rx-divisions-grid-section .rx-figma-card { display: flex; flex-direction: column; min-height: 100%; padding: 0; border: 0; background: transparent; }
.rx-divisions-grid-section .rx-home-brand-card__body { margin-top: auto; }
.rx-divisions-grid-section .wp-block-post-title { font-size: clamp(1.45rem,2.2vw,2.2rem); }

/* ICF landing · 65:1262 */
.rx-icf-intro { padding-block: clamp(4rem,7vw,7rem); }
.rx-icf-gallery img,
.rx-icf-sections img { aspect-ratio: 1.45/1; object-fit: cover; }
.rx-section-cards { gap: var(--rx-figma-gap); margin-top: 2rem; }
.rx-section-card { display: flex; flex-direction: column; min-height: 28rem; padding: 0 0 1rem; border-bottom: 1px solid var(--rx-figma-line); }
.rx-section-card__media { width: 100%; margin: 0 0 1.25rem; overflow: hidden; border-radius: .375rem; }
.rx-section-card__media img { width: 100%; aspect-ratio: 1.45/1; object-fit: cover; }
.rx-section-card__title { margin: .35rem 0 .75rem; font-size: 1.25rem; font-weight: 400; }
.rx-section-card__copy { margin-bottom: 1.5rem; }
.rx-section-card__action { margin-top: auto; }
.rx-product-table-query__rows,
.rx-download-table__rows,
.rx-calendar__rows,
.rx-careers-table__rows { margin: 0; padding: 0; list-style: none; }
.rx-product-row { display: grid; grid-template-columns: 1.3fr 2fr .75fr 9rem auto; gap: var(--rx-figma-gap); align-items: center; min-height: 7.5rem; padding-block: 1rem; border-top: 1px solid var(--rx-figma-line); }
.rx-product-row:last-child { border-bottom: 1px solid var(--rx-figma-line); }
.rx-product-row .wp-block-post-title { margin: 0; font-size: 1rem; font-weight: 400; }
.rx-product-row .wp-block-post-excerpt { margin: 0; font-size: .8rem; }
.rx-product-row .wp-block-post-featured-image { margin: 0; }
.rx-product-row .wp-block-post-featured-image img { width: 9rem; height: 5.5rem; object-fit: contain; }
.rx-product-row .rx-meta-field span { display: block; font: .65rem var(--rx-figma-mono); text-transform: uppercase; }
.rx-product-row .rx-meta-field strong { font-size: .8rem; }
.rx-products-intro__columns > .wp-block-column:first-child { flex-basis: 33.333%; }
.rx-products-intro__columns > .wp-block-column:last-child { flex-basis: 66.667%; }
.rx-products-catalog .rx-product-table-query { margin-top: clamp(3rem,6vw,6rem); }
.rx-products-support { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,3fr) minmax(0,1fr); gap: var(--rx-figma-gap); align-items: start; border-top: 1px solid var(--rx-figma-line); }
.rx-products-support > :first-child { grid-column: 1; }
.rx-products-support > :nth-child(2) { grid-column: 3; }
.rx-products-support > :last-child { grid-column: 3; }
.rx-icf-downloads__columns > .wp-block-column:first-child { flex-basis: 33.333%; }
.rx-icf-downloads__columns > .wp-block-column:last-child { flex-basis: 66.667%; }
.rx-download-row { display: grid; grid-template-columns: 1.2fr 2fr auto; gap: 1rem; align-items: center; padding: 1rem 0; border-top: 1px solid var(--rx-figma-line); }
.rx-download-row:last-child { border-bottom: 1px solid var(--rx-figma-line); }
.rx-download-row .wp-block-post-title { margin: 0; font-size: 1rem; }
.rx-download-row .wp-block-post-excerpt { margin: 0; font-size: .8rem; }

/* Multimedia · 1:126 */
.rx-media-index { padding-top: 0; }
.rx-media-filters { gap: .35rem; margin-bottom: 1.5rem; }
.rx-media-track .wp-block-post-template { grid-auto-columns: minmax(18rem,31%); background: transparent; }
.rx-media-track .wp-block-post { padding: 0; border: 0; }
.rx-media-track .wp-block-post-featured-image img { aspect-ratio: 1/1; }
.rx-media-track .wp-block-post-title { font: .8rem var(--rx-figma-mono); text-transform: uppercase; }

/* Soluzioni · 119:1965 */
.rx-page-head--solutions { min-height: clamp(16rem,25vw,26rem); padding-bottom: 2rem; }
.rx-solution-explorer { padding-top: 1rem; }
.rx-solution-explorer__columns { align-items: stretch; }
.rx-solution-explorer__columns > .wp-block-column:first-child { flex-basis: 32%; border-right: 1px solid var(--rx-figma-ink); }
.rx-solution-explorer__columns > .wp-block-column:last-child { flex-basis: 68%; padding-left: clamp(1rem,2vw,2.5rem); }
.rx-solution-index__list { margin: 0; padding: 0; list-style: none; }
.rx-solution-index__item { display: grid; grid-template-columns: 1fr auto; align-items: center; min-height: 4.3rem; padding-right: 1rem; border-top: 1px solid var(--rx-figma-line); transition: background-color .2s ease,color .2s ease; }
.rx-solution-index__item:last-child { border-bottom: 1px solid var(--rx-figma-line); }
.rx-solution-index__item .wp-block-post-title { margin: 0; font-size: clamp(1.2rem,1.74vw,1.875rem); line-height: 1.05; font-weight: 400; }
.rx-solution-index__item .wp-block-post-title a { display: flex; align-items: center; min-height: 4.2rem; color: inherit; text-decoration: none; }
.rx-solution-index__item .wp-block-read-more { display: grid; place-items: center; width: 2.75rem; min-height: 2.75rem; font-size: 1.7rem; text-decoration: none; opacity: 0; transform: translateX(-.5rem); transition: opacity .2s ease,transform .2s ease; }
.rx-solution-index__list > .wp-block-post:is(.is-active,:hover,:focus-within) .rx-solution-index__item { background: var(--rx-figma-blue); color: #fff; }
.rx-solution-index__list > .wp-block-post:is(.is-active,:hover,:focus-within) .wp-block-read-more { opacity: 1; transform: none; }
.rx-solution-index__item a:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
.rx-solution-detail { min-width: 0; transition: opacity .2s ease; }
.rx-solution-explorer[aria-busy="true"] .rx-solution-detail { opacity: .45; }
.rx-solution-detail:focus { outline: 2px solid var(--rx-figma-blue); outline-offset: .5rem; }
.rx-solution-detail__media { margin: 0; overflow: hidden; border-radius: .375rem; background: transparent; }
.rx-solution-detail__media img { display: block; width: 100%; aspect-ratio: 976/580; max-height: none; object-fit: cover; background: transparent; }
.rx-solution-detail__title { margin-block: clamp(2.5rem,5vw,7rem) 1.25rem; font-size: clamp(1.5rem,1.8vw,1.875rem); line-height: 1.08; font-weight: 400; }
.rx-solution-detail__copy { max-width: 62rem; font-size: clamp(.95rem,1vw,1.0625rem); line-height: 1.3; }
.rx-solution-detail__body > .rx-figma-article { width: 100%; margin: 2.5rem 0 0; padding: 0; }
.rx-solution-detail__body .rx-solution-sections > h2:first-child { margin-top: 0; }
.rx-solution-detail__meta { margin-top: clamp(3rem,5vw,6rem); }
.rx-solution-detail__meta > h3 { margin: 0 0 2.5rem; font-size: clamp(1.5rem,1.8vw,1.875rem); font-weight: 400; }
.rx-solution-detail__relation { margin: 0; border-top: 1px solid var(--rx-figma-line); }
.rx-solution-detail__relation:last-child { border-bottom: 1px solid var(--rx-figma-line); }
.rx-solution-detail__relation summary { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; min-height: 3.75rem; padding: .75rem .75rem .75rem 2.75rem; font-size: 1.2rem; cursor: pointer; list-style: none; }
.rx-solution-detail__relation summary::-webkit-details-marker { display: none; }
.rx-solution-detail__relation summary::before { position: absolute; margin-left: -2rem; content: '+'; }
.rx-solution-detail__relation[open] summary::before { content: '−'; }
.rx-solution-detail__relation-count { font: .7rem var(--rx-figma-mono); }
.rx-solution-detail__relation ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; margin: 0; padding: 0 0 1.5rem 2.75rem; list-style: none; }
.rx-solution-detail__relation li a { display: grid; grid-template-columns: 1fr auto; gap: .75rem; min-height: 2.75rem; padding-block: .5rem; color: inherit; text-decoration: underline; text-underline-offset: .18em; }

/* Singoli prodotto: sezioni Gutenberg native allineate al frame 37:202. */
.rx-figma-product-body .rx-product-sections { width: min(66.667%,58rem); margin-right: 0; padding-inline: 0; }
.rx-product-sections > h2 { margin-top: clamp(4rem,8vw,8rem); font-size: clamp(1.35rem,1.7vw,1.75rem); font-weight: 400; }
.rx-product-features { border-top: 1px solid var(--rx-figma-line); }
.rx-product-feature { gap: 1.25rem; min-height: 3.8rem; padding-block: .85rem; border-bottom: 1px solid var(--rx-figma-line); }
.rx-product-feature p { margin: 0; }
.rx-product-feature__index { flex: 0 0 2.25rem; }
/* Legacy content fallback. Gutters are whitespace, never a painted divider.
 * Current product modules store spacing and borders in native block settings. */
:where(.rx-product-elements) { margin-top: 2rem; }
:where(.rx-product-element) { min-width: 0; border-inline-start: 1px solid var(--rx-figma-line); padding-inline-start: 1.25rem; }
.rx-product-benefits { columns: 2; column-gap: 3rem; }
.rx-product-benefits li { break-inside: avoid; margin-bottom: 1rem; }
/* Product table presentation is shared with the native technical table style
 * in figma-products-refresh.css; do not reintroduce a separate legacy grid. */

/* Contatti · 34:588 */
.rx-contact-map { position: relative; width: 100%; }
.rx-contact-map > .rx-figma-map { width: 100%; margin: 0; }
.rx-contact-map > .rx-figma-map img { width: 100%; height: clamp(28rem,45vw,48rem); object-fit: cover; }
.rx-contact-map__card { position: absolute; right: var(--rx-figma-gutter); bottom: 0; width: min(25rem,36vw); padding: 2rem; color: #fff; background: var(--rx-figma-ink); }
.rx-contact-map__title { font-size: 1.5rem; }
.rx-contact-band { width: 100%; min-height: clamp(34rem,52vw,54rem); padding: 4rem var(--rx-figma-gutter); }
.rx-contact-band__columns { align-items: stretch; width: min(100%,98.625rem); margin-inline: auto; }
.rx-contact-band__columns > .wp-block-column:first-child { display: flex; flex-direction: column; justify-content: flex-end; }
.rx-contact-form-card { padding: clamp(2rem,4vw,4rem); color: var(--rx-figma-ink); background: var(--rx-figma-paper); }
.rx-contact-form-card__title { margin-bottom: 2rem; font-size: clamp(1.75rem,3vw,2.75rem); letter-spacing: -.04em; }
.rx-contact-info .rx-figma-kicker { margin-top: 2rem; }

/* Certificazioni · 37:45 */
.rx-cert-overview__columns > .wp-block-column:first-child { flex-basis: 33.333%; }
.rx-cert-overview__columns > .wp-block-column:last-child { flex-basis: 66.667%; }
.rx-cert-pillars { gap: 1px; margin-block: 5rem; background: var(--rx-figma-line); }
.rx-cert-pillar { min-height: 8rem; padding: 1rem; background: var(--rx-figma-paper); }
.rx-cert-pillar h3 { font-size: 1rem; }
.rx-cert-grid__items { gap: 1.5rem; }
.rx-cert-card { padding: 0; }
.rx-cert-card .wp-block-post-featured-image { display: grid; place-items: center; min-height: 14rem; margin: 0 0 .75rem; background: var(--rx-figma-muted); }
.rx-cert-card .wp-block-post-featured-image img { width: 70%; height: 9rem; object-fit: contain; }
.rx-cert-card .rx-meta-field span { display: none; }
.rx-cert-card .rx-meta-field strong { font: .7rem var(--rx-figma-mono); }
.rx-cert-card .wp-block-post-title { margin: .25rem 0; font-size: 1rem; }

/* Eventi · 59:970 */
.rx-events-head__columns > .wp-block-column:first-child { flex-basis: 66.667%; }
.rx-events-head__columns > .wp-block-column:last-child { flex-basis: 33.333%; }
.rx-events-calendar { padding-top: 0; }
.rx-events-filters { gap: .35rem; margin-bottom: 2rem; }
.rx-calendar-row { display: grid; grid-template-columns: .8fr .65fr 2.5fr 1.5fr auto; gap: 1rem; align-items: center; min-height: 5.3rem; padding-block: .8rem; border-top: 1px solid var(--rx-figma-line); }
.rx-calendar-row:last-child { border-bottom: 1px solid var(--rx-figma-line); }
.rx-calendar-row .rx-meta-field span { display: block; font: .6rem var(--rx-figma-mono); text-transform: uppercase; }
.rx-calendar-row .rx-meta-field strong { font-size: .75rem; font-weight: 400; }
.rx-calendar-row .wp-block-post-title { margin: 0; font-size: 1rem; font-weight: 400; }
.rx-calendar-row .wp-block-post-title a { color: inherit; text-decoration: none; }
.rx-calendar-row__audience { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.rx-calendar-row__link { text-decoration: none; }
.rx-events-gallery img { aspect-ratio: 1.75/1; object-fit: cover; border-radius: .35rem; }

/* Careers · 153:2506 */
.rx-jobs-table-head > .wp-block-column:first-child { flex-basis: 66.667%; }
.rx-career-row { display: grid; grid-template-columns: 1fr 2fr 2fr auto; gap: 1rem; align-items: center; min-height: 6.5rem; padding-block: 1rem; border-top: 1px solid var(--rx-figma-line); }
.rx-career-row:last-child { border-bottom: 1px solid var(--rx-figma-line); }
.rx-career-row .rx-meta-field span { display: block; font: .6rem var(--rx-figma-mono); text-transform: uppercase; }
.rx-career-row .rx-meta-field strong { font-size: .78rem; }
.rx-career-row .wp-block-post-title { margin: 0; font-size: 1rem; }
.rx-career-row .wp-block-post-title a { color: inherit; text-decoration: none; }
.rx-career-row__excerpt { margin: 0; font-size: .78rem; }
.rx-career-row__link { min-width: 2.5rem; text-align: center; text-decoration: none; }
.rx-jobs-areas__head > .wp-block-column:first-child { flex-basis: 66.667%; }
.rx-jobs-areas__gallery img { aspect-ratio: 1/1.2; object-fit: cover; }
.rx-jobs-cta { display: flex; flex-direction: column; justify-content: space-between; min-height: 28rem; padding: 4rem var(--rx-figma-gutter); }
.rx-jobs-cta__actions { align-self: flex-end; }

/* Bonus fiscali · 243:3081 */
.rx-page-head--tax { min-height: clamp(19rem,31vw,32rem); }
.rx-tax-guide__columns { align-items: stretch; }
.rx-tax-guide__columns > .wp-block-column:first-child { flex-basis: 33.333%; }
.rx-tax-guide__columns > .wp-block-column:last-child { flex-basis: 66.667%; }
.rx-tax-guide__image,
.rx-tax-guide__image img { width: 100%; height: 100%; min-height: 40rem; object-fit: cover; border-radius: .35rem; }
.rx-tax-guide__content { padding-left: clamp(1rem,2vw,2.5rem); }
.rx-tax-guide__content .rx-figma-type-h3 { margin-top: 4rem; }
.rx-tax-guide__table { margin-top: 2rem; font-size: .78rem; }
.rx-tax-guide__table :where(th,td) { padding: .75rem; border-bottom: 1px solid var(--rx-figma-line); text-align: left; }
.rx-sustainability-pillars { gap: 1px; margin: 0; background: var(--rx-figma-line); }
.rx-sustainability-pillars > .wp-block-column { min-height: 19rem; padding: clamp(1.5rem,3vw,3rem); background: var(--rx-figma-paper); }

@media (max-width: 48rem) {
	.rx-group-profile__columns > .wp-block-column,
	.rx-group-story__columns > .wp-block-column,
	.rx-cert-overview__columns > .wp-block-column,
	.rx-events-head__columns > .wp-block-column,
	.rx-jobs-table-head > .wp-block-column,
	.rx-jobs-areas__head > .wp-block-column,
	.rx-tax-guide__columns > .wp-block-column,
	.rx-solution-explorer__columns > .wp-block-column,
	.rx-icf-downloads__columns > .wp-block-column { flex-basis: 100% !important; }
	.rx-divisions-grid-section .rx-figma-query-grid .wp-block-post-template,
	.rx-cert-grid__items { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.rx-solution-explorer__columns > .wp-block-column:first-child { border-right: 0; }
	.rx-solution-explorer__columns > .wp-block-column:last-child,
	.rx-tax-guide__content { padding-left: 0; }
	.rx-product-row { grid-template-columns: 1fr 6rem auto; }
	.rx-product-row > :nth-child(2), .rx-product-row > :nth-child(3) { grid-column: 1; }
	.rx-product-row .wp-block-post-featured-image { grid-column: 2; grid-row: 1 / span 3; }
	.rx-product-row > .wp-block-read-more { grid-column: 3; grid-row: 1 / span 3; }
	.rx-calendar-row, .rx-career-row { grid-template-columns: 1fr auto; }
	.rx-calendar-row > *, .rx-career-row > * { grid-column: 1; }
	.rx-calendar-row__link, .rx-career-row__link { grid-column: 2; grid-row: 1 / span 4; }
	.rx-contact-map__card { position: relative; right: auto; width: 100%; }
}

@media (max-width: 37.5rem) {
	.rx-divisions-grid-section .rx-figma-query-grid .wp-block-post-template,
	.rx-cert-grid__items { grid-template-columns: 1fr; }
	.rx-group-profile__image, .rx-group-profile__image img { min-height: 24rem; }
	.rx-group-pillars, .rx-group-metrics__stats .rx-figma-stats { grid-template-columns: 1fr; }
	.rx-group-blue { align-items: flex-start; text-align: left; }
	.rx-download-row { grid-template-columns: 1fr; }
	.rx-media-track .wp-block-post-template { grid-auto-columns: 86%; }
	.rx-contact-band { padding-inline: 1.25rem; }
	.rx-tax-guide__image, .rx-tax-guide__image img { min-height: 26rem; }
}

/* Mobile / 375px -------------------------------------------------------- */

@media (max-width: 37.5rem) {
	:where(.rx-figma-page, .rx-figma-canvas) {
		--rx-figma-gutter: 1.25rem;
		--rx-figma-gap: .875rem;
		--rx-figma-section-space: 4.5rem;
		--rx-figma-display: clamp(3rem, 16vw, 4.25rem);
		--rx-figma-h1: clamp(2.65rem, 13.5vw, 3.75rem);
		--rx-figma-h2: clamp(2.25rem, 11vw, 3.1rem);
		--rx-figma-h3: clamp(1.65rem, 8vw, 2.25rem);
	}

	.rx-figma-hero > .wp-block-cover__inner-container,
	.rx-figma-hero .rx-figma-hero__content,
	.rx-figma-hero :where(h1, h2, p, .wp-block-post-excerpt) {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.rx-figma-hero > .wp-block-cover__inner-container,
	.rx-figma-hero .rx-figma-hero__content {
		width: min(100%, calc(100vw - 2.5rem));
	}

	.rx-figma-grid,
	.rx-figma-section--split,
	.rx-figma-contact,
	.rx-figma-solution-explorer,
	.rx-figma-product-hero,
	.rx-figma-editorial,
	.rx-figma-cta-blue {
		grid-template-columns: 1fr;
	}

	.rx-figma-grid > *,
	.rx-figma-section--split > :first-child,
	.rx-figma-section--split > :last-child,
	.rx-figma-contact > :first-child,
	.rx-figma-contact > :last-child,
	.rx-figma-solution-explorer > :first-child,
	.rx-figma-solution-explorer > :last-child,
	.rx-figma-product-hero > :first-child,
	.rx-figma-product-hero > :last-child,
	.rx-figma-editorial > :first-child,
	.rx-figma-editorial > :last-child {
		grid-column: 1 / -1;
	}

	.rx-figma-section--split > :first-child,
	.rx-figma-contact > :first-child,
	.rx-figma-solution-explorer > :first-child,
	.rx-figma-editorial > :first-child {
		margin-block-end: 2.5rem;
	}

	.rx-figma-header-overlay .rx-header {
		min-height: 6.75rem;
	}

	.rx-figma-header-overlay .rx-menu {
		gap: 1rem;
	}

	.rx-figma-header-overlay .rx-menu > li > a {
		min-height: 2.75rem;
		font-size: .75rem;
	}

	.rx-figma-hero {
		min-height: max(39rem, 100svh);
		padding-block: 9.5rem 2rem;
	}

	.rx-figma-hero::after {
		background: linear-gradient(0deg, rgb(0 0 0 / .72), rgb(0 0 0 / .08) 80%);
	}

	.rx-figma-intro {
		align-items: flex-start;
		text-align: start;
	}

	.rx-figma-query-grid .wp-block-post-template,
	.rx-figma-query-grid--2 .wp-block-post-template,
	.rx-figma-query-grid--4 .wp-block-post-template,
	.rx-figma-division-grid,
	.rx-figma-stats {
		grid-template-columns: 1fr;
	}

	.rx-figma-carousel .wp-block-post-template,
	.rx-figma-carousel > .wp-block-group__inner-container {
		grid-auto-columns: minmax(16rem, 86%);
	}

	.rx-figma-event-row,
	.rx-figma-spec-row,
	.rx-figma-job-row {
		grid-template-columns: 1fr auto;
		gap: .75rem 1rem;
		min-height: 0;
		padding-block: 1.25rem;
	}

	.rx-figma-event-row > :nth-child(1),
	.rx-figma-event-row > :nth-child(2),
	.rx-figma-event-row > :nth-child(3),
	.rx-figma-spec-row > :nth-child(1),
	.rx-figma-spec-row > :nth-child(2),
	.rx-figma-job-row > :nth-child(1),
	.rx-figma-job-row > :nth-child(2) {
		grid-column: 1;
	}

	.rx-figma-event-row > :nth-child(4),
	.rx-figma-spec-row > :nth-child(3),
	.rx-figma-job-row > :nth-child(3) {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: center;
		justify-self: end;
	}

	.rx-figma-division-card {
		min-height: 31rem;
	}

	.rx-figma-stat {
		min-height: 14rem;
	}

	.rx-figma-timeline::before {
		inset-inline-start: .3125rem;
	}

	.rx-figma-timeline-item {
		grid-template-columns: 1.5rem 1fr;
	}

	.rx-figma-timeline-item::before {
		inset-inline-start: 0;
	}

	.rx-figma-timeline-item > :first-child,
	.rx-figma-timeline-item > :last-child {
		grid-column: 2;
	}

	.rx-figma-cta-blue {
		min-height: 31rem;
	}

	.rx-figma-contact-list > li,
	.rx-figma-contact-list > .wp-block-group {
		grid-template-columns: 1fr;
	}

	.rx-figma-map {
		min-height: 25rem;
	}

	.rx-figma-solution-media {
		position: relative;
		top: auto;
		min-height: 26rem;
	}

	.rx-figma-product-hero {
		min-height: 0;
		padding-block-start: 8.5rem;
	}

	.rx-figma-product-hero > :first-child {
		margin-block-end: 2rem;
	}

	.rx-figma-product-hero > :last-child {
		min-height: 26rem;
	}

	.rx-figma-footer {
		min-height: 44rem;
	}

	.rx-figma-footer > .wp-block-group__inner-container,
	.rx-figma-footer > .rx-footer,
	.rx-figma-footer-grid {
		grid-template-columns: 1fr 1fr;
	}

	.rx-figma-footer :where(h2, .rx-figma-footer-wordmark) {
		font-size: clamp(3.5rem, 19vw, 5.75rem);
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rx-figma-page *,
	.rx-figma-page *::before,
	.rx-figma-page *::after,
	.rx-figma-header-overlay *,
	.rx-figma-footer * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}

	.rx-figma-query-grid .wp-block-post:hover :where(.wp-block-post-featured-image, .wp-block-image) img,
	.rx-figma-division-card:hover > :where(figure, .wp-block-image):first-child img {
		transform: none;
	}
}

@media (forced-colors: active) {
	.rx-figma-button.wp-block-button .wp-block-button__link,
	.rx-figma-button .wp-block-button__link,
	.rx-figma-button:is(a, button) {
		border: 1px solid ButtonText;
	}

	.rx-figma-timeline-item::before {
		background: Highlight;
	}
}

/* Global header states from Figma nodes 757:64, 419:2, 543:2 and 546:58. */
.wp-site-blocks > header .rx-header {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: var(--rx-figma-gap, 1.5rem);
	justify-content: normal;
}
.wp-site-blocks > header .rx-header > :where(.custom-logo-link, .rx-brand) { grid-column: 1; justify-self: start; }
.wp-site-blocks > header .rx-primary-nav { grid-column: 3 / -1; width: 100%; }
.wp-site-blocks > header .rx-primary-nav > .rx-menu { width: 100%; align-items: center; gap: clamp(.7rem, 1.25vw, 1.3rem); }
.wp-site-blocks > header .rx-primary-nav > .rx-menu a { font-size: clamp(.6875rem, .78vw, .8125rem); }
.wp-site-blocks > header .rx-primary-nav > .rx-menu > li:nth-last-child(2) { margin-left: auto; }
.wp-site-blocks > header #rexpol-primary-menu a[aria-controls="rexpol-mega-menu"] { gap: .28em; line-height: 1; }
.wp-site-blocks > header #rexpol-primary-menu .rx-primary-menu__indicator { position: relative; top: -.02em; margin: 0; font-size: 1.08em; line-height: 1; }
.wp-site-blocks > header #rexpol-primary-menu a[aria-controls="rexpol-mega-menu"][aria-expanded="true"] { padding: .35rem .5rem; border: 1px solid currentColor; }
html.has-rexpol-menu-open .wp-site-blocks > header .rx-header { background: #1738ee; color: #fff; border-color: rgb(255 255 255 / .5); }
body:has(main .rx-figma-hero:first-child) .wp-site-blocks > header{position:relative;z-index:40}
body:has(main .rx-figma-hero:first-child) .wp-site-blocks > main{margin-block-start:0}
body:has(main .rx-figma-hero:first-child) .wp-site-blocks > header .rx-header{position:absolute;inset:0 0 auto;max-width:none;color:#fff;background:linear-gradient(180deg,rgb(0 0 0/.58),transparent);border-color:rgb(255 255 255/.5)}
body:has(main .rx-figma-hero:first-child) .wp-site-blocks > header :where(.rx-brand,.rx-menu a,.custom-logo-link){color:inherit}
:root { --rx-floating-blue: #1738ee; --rx-floating-bar-height: 2.75rem; }
html { scroll-padding-bottom: calc(var(--rx-floating-bar-height) + 2.5rem); }
body:not(.block-editor-iframe__body):has(.rx-floating-menu) .wp-site-blocks { padding-bottom: calc(var(--rx-floating-bar-height) + 2.5rem); }
.wp-site-blocks .rx-floating-menu {
	position: fixed;
	right: auto;
	bottom: max(1rem, env(safe-area-inset-bottom));
	left: 50%;
	z-index: 60;
	width: max-content;
	max-width: calc(100vw - (2 * var(--rx-figma-gutter, 1rem)));
	margin: 0;
	padding: 0;
	transform: translateX(-50%);
	border: 0;
	border-radius: .25rem;
	overflow: visible;
}
.wp-site-blocks .rx-floating-menu:not(.has-background) { background-color: var(--rx-floating-blue); }
.wp-site-blocks .rx-floating-menu:not(.has-text-color) { color: #fff; }
.wp-site-blocks .rx-floating-menu:not([class*="-font-family"]) { font-family: var(--rx-figma-sans, Arial, sans-serif); }
.wp-site-blocks .rx-floating-menu:not([class*="-font-size"]) { font-size: var(--wp--preset--font-size--small, .875rem); }
.wp-site-blocks .rx-floating-menu { line-height: 1.4286; }
html.has-rexpol-menu-open .wp-site-blocks .rx-floating-menu { opacity: 0; pointer-events: none; }
.rx-menu--floating {
	position: relative;
	z-index: 2;
	display: flex;
	width: max-content;
	max-width: 100%;
	min-height: var(--rx-floating-bar-height);
	margin: 0 auto;
	padding: 0;
	gap: 0;
	border-radius: inherit;
	background-color: inherit;
	box-shadow: 0 .75rem 2.5rem rgb(0 0 0 / .2);
	overflow-x: auto;
	overflow-y: hidden;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	list-style: none;
	scrollbar-width: thin;
}
.rx-menu--floating > li { position: relative; display: flex; flex: 0 0 auto; align-items: stretch; margin: 0; }
.rx-menu--floating > li + li { border-left: 1px solid rgb(255 255 255 / .13); }
.rx-menu--floating > li > :is(a, .rx-floating-menu__trigger) {
	display: inline-flex;
	min-height: var(--rx-floating-bar-height);
	padding: .5rem 1rem;
	gap: .65rem;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}
.rx-menu--floating > li > :is(a, .rx-floating-menu__trigger):hover,
.rx-menu--floating > li > :is(a, .rx-floating-menu__trigger):focus-visible,
.rx-menu--floating > li.is-submenu-open > .rx-floating-menu__trigger { background: rgb(255 255 255 / .075); }
.rx-menu--floating > li > :is(a, .rx-floating-menu__trigger):focus-visible,
.rx-floating-menu__level a:focus-visible,
.rx-mega-menu__rows a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.rx-floating-menu__chevron {
	display: block;
	width: .45rem;
	height: .45rem;
	flex: 0 0 .45rem;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translateY(.18rem) rotate(-45deg);
	transition: transform .18s ease;
}
.rx-floating-menu__trigger[aria-expanded="true"] .rx-floating-menu__chevron { transform: translateY(-.18rem) rotate(135deg); }
.rx-floating-menu__panels { position: absolute; inset: auto 50% 0 auto; z-index: 1; transform: translateX(50%); border-radius: inherit; background-color: inherit; }
.rx-floating-menu__panel {
	width: min(74.25rem, calc(100vw - (2 * var(--rx-figma-gutter, 1rem))));
	min-height: clamp(16rem, 29vh, 24rem);
	max-height: calc(100svh - max(2rem, env(safe-area-inset-bottom)));
	padding: clamp(2rem, 5vh, 4.5rem) clamp(1.5rem, 5vw, 5.5rem) calc(var(--rx-floating-bar-height) + 2rem);
	border-radius: inherit;
	background-color: inherit;
	box-shadow: 0 .75rem 3rem rgb(0 0 0 / .24);
	overflow: auto;
}
.rx-floating-menu__panel[hidden] { display: none; }
.rx-floating-menu__panel-inner { display: flex; min-height: 100%; flex-direction: column; gap: .65rem; align-items: center; justify-content: center; }
.rx-floating-menu__level { display: flex; margin: 0; padding: 0; gap: .55rem .65rem; flex-wrap: wrap; align-items: center; justify-content: center; }
.rx-floating-menu__branch { display: flex; margin: 0; padding: 0; gap: .55rem .65rem; flex-wrap: wrap; align-items: center; justify-content: center; list-style: none; }
.rx-floating-menu__branch > li { margin: 0; }
.rx-floating-menu__level a {
	display: inline-flex;
	min-height: 2.25rem;
	padding: .42rem .7rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(255 255 255 / .9);
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-align: center;
	text-decoration: none;
}
.rx-floating-menu__level a:hover,
.rx-floating-menu__level a:focus-visible,
.rx-floating-menu__level .is-current > a { background: #fff; color: var(--rx-floating-blue); }
.editor-styles-wrapper .rx-floating-menu {
	position: relative !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	max-width: 100%;
	margin: 1rem auto;
	transform: none !important;
}
.editor-styles-wrapper .rx-floating-menu--editor-empty {
	width: min(100%, 46rem);
	padding: 1rem 1.25rem;
	overflow: hidden;
}
.editor-styles-wrapper .rx-floating-menu--editor-empty p { margin: 0; font-size: var(--wp--preset--font-size--small, .875rem); }
.custom-logo-link{display:block;flex:0 0 auto}.custom-logo-link img{display:block;width:clamp(6.25rem,7vw,7.75rem);height:auto;max-height:2rem;object-fit:contain;object-position:left center}
.rx-primary-menu__toggle{display:none;min-height:2.75rem;border:1px solid currentColor;border-radius:2px;padding:.45rem .8rem;background:transparent;color:inherit;font:11px var(--rx-figma-mono,ui-monospace,monospace);text-transform:uppercase;cursor:pointer}
.rx-skip-link{top:0;transform:translateY(-160%)}.rx-skip-link:focus{top:0;transform:none}
.rx-mega-menu { position: fixed; inset: 0; z-index: 35; overflow: auto; padding: 0 var(--rx-figma-gutter, 4.6875rem) 3rem; color: #fff; background: #1738ee; }
.rx-mega-menu[hidden] { display: none; }
.rx-mega-menu__inner { position: relative; width: min(100%, 98.625rem); min-height: 100%; margin: auto; padding-top: clamp(9rem, 13.7vw, 14rem); }
.rx-mega-menu__close {
	position: absolute;
	top: clamp(5.25rem, 7.5vw, 7.5rem);
	right: 0;
	display: inline-grid;
	width: 3rem;
	height: 3rem;
	padding: 0;
	place-items: center;
	border: 1px solid rgb(255 255 255 / .8);
	border-radius: 0;
	background: transparent;
	color: #fff;
	font: 300 2rem/1 var(--rx-figma-sans, Arial, sans-serif);
	cursor: pointer;
}
.rx-mega-menu__close:hover { background: #fff; color: var(--rx-floating-blue, #1738ee); }
.rx-mega-menu__close:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.rx-mega-menu__layout { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--rx-figma-gap, 1.5rem); align-items: start; }
.rx-mega-menu__navigation { grid-column: 2 / span 2; padding-top: clamp(2.5rem, 4vw, 4rem); }
.rx-mega-menu__rows,
.rx-mega-menu__rows ul { margin: 0; padding: 0; list-style: none; }
.rx-mega-menu__rows li { margin: 0; }
.rx-mega-menu__rows a { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 1.08em; margin: 0; padding: .04em .18em; border: 1px solid transparent; color: rgb(255 255 255 / .75); font: 400 clamp(1.5rem, 2.05vw, 2.35rem)/.94 var(--rx-figma-sans, Arial, sans-serif); letter-spacing: -.045em; text-decoration: none; text-transform: uppercase; }
.rx-mega-menu__indicator { flex: 0 0 auto; margin-left: 1rem; opacity: 0; }
.rx-mega-menu__rows li.is-preview-active > a,
.rx-mega-menu__rows li.current-menu-item > a,
.rx-mega-menu__rows a:hover,
.rx-mega-menu__rows a:focus-visible { border-color: rgb(255 255 255 / .92); color: #fff; }
.rx-mega-menu__rows li.is-preview-active > a .rx-mega-menu__indicator,
.rx-mega-menu__rows li.current-menu-item > a .rx-mega-menu__indicator,
.rx-mega-menu__rows a:hover .rx-mega-menu__indicator,
.rx-mega-menu__rows a:focus-visible .rx-mega-menu__indicator { opacity: 1; }
.rx-mega-menu__rows .sub-menu { padding-left: 1.25rem; }
.rx-mega-menu__rows .sub-menu a { font-size: .56em; letter-spacing: 0; }
.rx-mega-menu__visual { grid-column: 4 / span 2; width: 100%; margin: 0; overflow: hidden; aspect-ratio: 1.02 / 1; border-radius: 2px; background: #f1deda; }
.rx-mega-menu__visual img { width: 100%; height: 100%; object-fit: contain; }
.has-rexpol-menu-open { overflow: hidden; }
@media (max-width: 64rem) {
	.rx-mega-menu__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rx-mega-menu__navigation { grid-column: 1; }
	.rx-mega-menu__visual { grid-column: 2; }
	.rx-mega-menu__rows a { font-size: clamp(1.35rem, 3vw, 2rem); }
}
@media(max-width:50rem){
	.wp-site-blocks > header .rx-header,
	body:has(main .rx-figma-hero:first-child) .wp-site-blocks > header .rx-header{display:flex;width:100%;max-width:100%;gap:.5rem;padding-inline:1rem}
	.wp-site-blocks > header :is(.custom-logo-link,.rx-brand){min-width:0;margin-right:auto}
	.wp-site-blocks > header .custom-logo-link img{width:5.75rem}
	.rx-primary-menu__toggle{display:inline-flex;flex:0 0 auto;align-items:center;margin-left:0}
	.rx-header nav.rx-primary-nav{display:none;position:absolute;inset:100% 0 auto;padding:1.25rem;background:var(--rx-figma-ink);color:var(--rx-figma-paper);border-top:1px solid currentColor}
	.rx-header nav.rx-primary-nav.is-open{display:block}
	.rx-primary-nav .rx-menu{display:grid;gap:0}
	.wp-site-blocks > header .rx-primary-nav > .rx-menu > li:nth-last-child(2){margin-left:0}
	.rx-primary-nav .rx-menu>li>a{display:block;padding:.8rem 0;border-bottom:1px solid rgb(255 255 255/.35)}
	.rx-mega-menu{padding-inline:1.25rem}.rx-mega-menu__rows .sub-menu{grid-template-columns:1fr}
	.rx-mega-menu__close{top:4.75rem;right:0}
	.rx-mega-menu__layout { grid-template-columns: 1fr; gap: 2rem; }
	.rx-mega-menu__navigation,
	.rx-mega-menu__visual { grid-column: 1; }
	.wp-site-blocks .rx-floating-menu {
		bottom: max(.5rem, env(safe-area-inset-bottom));
		max-width: calc(100vw - 1rem);
	}
	.rx-menu--floating { max-width: calc(100vw - 1rem); min-height: var(--rx-floating-bar-height); }
	.rx-menu--floating > li > :is(a, .rx-floating-menu__trigger) {
		min-height: var(--rx-floating-bar-height);
		padding: .5rem .75rem;
		gap: .65rem;
		font-size: inherit;
	}
	.rx-floating-menu__panel {
		width: calc(100vw - 1rem);
		min-height: min(17rem, 55svh);
		max-height: calc(100svh - 1rem);
		padding: 1.25rem 1rem calc(var(--rx-floating-bar-height) + 1.25rem);
	}
	.rx-floating-menu__panel-inner { align-items: stretch; }
	.rx-floating-menu__level { gap: .45rem; }
	.rx-floating-menu__branch { width: 100%; gap: .45rem; }
	.rx-floating-menu__branch > li { width: 100%; }
	.rx-floating-menu__level a { min-height: 2.75rem; width: 100%; }
}
/* Home — Figma 133:2076 ------------------------------------------------ */
.rx-template-landing > .wp-block-post-content > *,
body.post-type-rexpol-template-page-landing :is(.wp-block-post-content, .is-root-container) > * { margin-block-start: 0 !important; }
.home .wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }
.rx-figma-section > :where(.wp-block-columns, .wp-block-query, .wp-block-group, .wp-block-buttons) { width: 100%; max-width: none; }
.wp-block-cover.rx-home-hero { align-items: stretch !important; flex-direction: column; justify-content: flex-end !important; min-height: clamp(24rem, 48.84vw, 52.75rem); }
.rx-home-hero::after { display: none; }
.rx-home-hero > .wp-block-cover__background { opacity: .44; }
.rx-home-hero > .wp-block-cover__inner-container { width: 100%; max-width: none; }
.rx-home-hero__row { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--rx-figma-gap); align-items: end; width: 100%; max-width: none !important; margin: 0; }
.rx-home-hero__row > * { min-width: 0; }
.rx-home-hero__row > :first-child { grid-column: 1 / span 3; }
.rx-home-hero__row > :last-child { grid-column: 6; display: flex; justify-content: flex-end; }
.rx-home-hero__identity { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.rx-home-hero__kicker { margin: 0 0 clamp(.6rem, 1.3vw, 1.3rem); color: var(--rx-figma-paper); font-size: clamp(.5rem, .72vw, .8125rem); }
.rx-figma-hero .rx-home-hero__wordmark {
	max-width: none;
	margin: 0;
	font-size: clamp(2.25rem, 4.46vw, 4.8125rem);
	line-height: .94;
	letter-spacing: -.055em;
}
.rx-home-hero__cta { width: 100%; margin-left: auto; }
.rx-home-hero__cta-content { width: 100%; }
.rx-home-hero__claim { max-width: none; margin: 0 0 clamp(.55rem, 1.15vw, 1.15rem); font-size: var(--wp--preset--font-size--lead); line-height: 1.12; letter-spacing: -.02em; text-wrap: pretty; }
.rx-home-hero__actions { justify-content: flex-start; }
.rx-home-hero__actions .wp-block-button__link { min-height: clamp(1.125rem, 1.67vw, 1.8rem); padding: .2rem clamp(.5rem, .83vw, .9rem); font-size: clamp(.5rem, .58vw, .625rem); }

body:has(main .rx-home-hero:first-child) .wp-site-blocks > header .rx-header { z-index: 40; min-height: clamp(2.75rem, 4.4vw, 4.75rem); padding-block: 0; padding-inline: var(--rx-figma-gutter); }
body:has(main .rx-home-hero:first-child) .wp-site-blocks > header .custom-logo-link img { width: clamp(3.75rem, 6.25vw, 6.75rem); }
.rx-home-about { scroll-margin-top: 6rem; }
.rx-home-about.rx-figma-section { padding-block: clamp(5rem, 10.42vw, 11.25rem) clamp(2rem, 3.7vw, 4rem); overflow: visible; }
/* The legacy __grid class is only a hook: core/group owns layout, gap and child sizing. */
.rx-home-about__copy { text-align: center; }
.rx-home-about__copy .rx-figma-kicker { margin-bottom: 1.35rem; }
.rx-home-about__copy .rx-figma-type-lead { margin: 0; font-size: clamp(1rem, 1.74vw, 1.875rem); line-height: 1; letter-spacing: -.035em; }
.rx-home-about__card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(6.75rem, 13.48vw, 14.5625rem);
	padding: clamp(1rem, 1.25vw, 1.3125rem);
	border-radius: 2px;
}
.rx-home-about__card .rx-figma-kicker { margin-bottom: 1rem; font-size: clamp(.5rem, .72vw, .8125rem); }
.rx-home-about__card .rx-figma-prose { max-width: 15rem; margin: 0; font-size: clamp(.625rem, .87vw, .9375rem); line-height: 1.13; }
.rx-home-about__actions { align-items: stretch; margin-top: .25rem; }
.rx-home-about__actions .wp-block-button { width: 100%; }
.rx-home-about__actions .wp-block-button__link { justify-content: space-between; width: 100%; min-height: clamp(1.5rem, 2.1vw, 2.25rem); padding: .2rem 1.3rem; border-color: var(--rx-figma-blue); background: var(--rx-figma-blue); color: #fff; font-family: var(--rx-figma-sans); font-size: clamp(.625rem, 1.1vw, 1.1875rem); line-height: 1; text-transform: none; }

.rx-home-story-media { position: relative; width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); overflow: hidden; }
.rx-home-story-media > figure,
.rx-home-story-media .wp-block-image { width: 100%; max-width: none !important; margin: 0 !important; }
.rx-home-story-media img { width: 100%; height: clamp(20rem, 32.3vw, 34.875rem); object-fit: cover; }
.rx-home-story-media::after { position: absolute; inset: 0; z-index: 1; content: ""; background: rgb(0 0 0 / .53); pointer-events: none; }
.rx-home-story-media__labels { position: absolute; inset: 50% var(--rx-figma-gutter) auto; z-index: 2; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--rx-figma-gap); margin: 0; color: #fff; transform: translateY(-50%); }
.rx-home-story-media__labels > * { min-width: 0; }
.rx-home-story-media__labels .rx-figma-kicker { margin: 0; }

:is(.rx-template-landing, body.post-type-rexpol-template-page-landing) :is(.rx-home-track, .rx-home-events, .rx-home-projects) {
	padding-block: clamp(4.25rem, 6vw, 6.5rem);
}

/* Legacy compositions get a fallback; native Row/Grid settings take precedence. */
:where(.rx-home-section-head) { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 4fr); gap: var(--rx-figma-gap); align-items: start; margin: 0; }
.rx-home-section-head > * { min-width: 0; margin-block-start: 0 !important; }
.rx-home-section-head__copy { max-width: 35.125rem; }
.rx-home-section-head__copy > .rx-figma-kicker { margin-bottom: 1.5rem; }
.rx-home-section-head__copy > .rx-figma-prose { max-width: 35rem; font-size: clamp(.625rem, .72vw, .8125rem); line-height: 1.13; }
:where(.rx-home-section-head__copy-columns) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rx-figma-gap); }
.rx-home-section-head__copy-columns .rx-figma-prose { font-size: clamp(.625rem, .72vw, .8125rem); line-height: 1.13; }
.rx-home-track--rexpol-brand { padding-block: clamp(7rem, 10.42vw, 11.25rem) clamp(5rem, 8.68vw, 9.375rem) !important; }
.rx-home-track--rexpol-brand .rx-home-section-head { margin-bottom: clamp(9rem, 13.4vw, 14.5rem); }
.rx-home-track--rexpol-solution { padding-block: clamp(6rem, 8vw, 8.625rem) clamp(3.5rem, 5vw, 5.5rem) !important; }
.rx-home-track--rexpol-solution .rx-home-section-head,
.rx-home-track--post .rx-home-section-head { margin-bottom: clamp(4.25rem, 6vw, 6.5rem); }
.rx-home-track__query .wp-block-post-template { grid-template-columns: none; gap: clamp(.75rem, 1.2vw, 1.25rem); padding: 0; background: transparent; }
.rx-home-track__query .wp-block-post { min-height: clamp(18rem, 27.26vw, 29.4375rem); }
.rx-home-track__query .rx-figma-card { display: flex; flex-direction: column; min-height: 100%; }
.rx-home-track__query .wp-block-post-title { margin-top: auto; }
.rx-home-track--rexpol-brand .wp-block-post { background: #d9d9d7; }
.rx-home-track--rexpol-brand .rx-figma-card { border: 0; padding: 1.25rem; }
.rx-home-brand-card__logo { margin: 0; font-family: var(--rx-figma-mono); font-size: var(--rx-figma-small); font-weight: 700; line-height: 1; text-transform: uppercase; letter-spacing: -.04em; }
.rx-home-brand-card__body { margin-top: auto; }
.rx-home-brand-card__body .wp-block-post-title { margin-block: 0 .65rem; font-size: clamp(1.15rem, 1.5vw, 1.5rem); }
.rx-home-brand-card__body .wp-block-post-excerpt { margin: 0; max-width: 27rem; font-size: var(--rx-figma-small); }
.rx-home-brand-card__body .wp-block-post-excerpt__more-text { display: none; }
.rx-home-track--rexpol-solution .wp-block-post,
.rx-home-track--post .wp-block-post { min-height: 0; padding: 0; }
.rx-home-track--rexpol-solution .rx-figma-card,
.rx-home-track--post .rx-figma-card { border: 0; padding: 0; }
.rx-home-track--rexpol-solution .wp-block-post-featured-image,
.rx-home-track--post .wp-block-post-featured-image { width: 100%; max-width: none !important; margin: 0 0 .8rem; }
.rx-home-track--rexpol-solution .wp-block-post-featured-image img,
.rx-home-track--post .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 3.32 / 1 !important; object-fit: cover; border-radius: 6px; }
.rx-home-track--rexpol-solution .wp-block-post-title,
.rx-home-track--post .wp-block-post-title { margin: .35rem 2.25rem 0 0; font-family: var(--rx-figma-sans); font-size: clamp(.75rem, .87vw, .9375rem); font-weight: 400; line-height: 1.15; text-transform: none; letter-spacing: 0; }
.rx-home-track--rexpol-solution .wp-block-post-excerpt,
.rx-home-track--post .wp-block-post-excerpt { display: none; }
.rx-home-card__label { margin: 0; font-family: var(--rx-figma-mono); font-size: var(--rx-figma-small); text-transform: uppercase; }
.rx-home-card__arrow { position: absolute; right: 0; bottom: 0; margin: 0; color: inherit; font-size: 1.25rem; text-decoration: none; }
.rx-home-track__query .rx-figma-card { position: relative; }
.rx-home-track--rexpol-brand .rx-home-card__arrow { right: 1.25rem; bottom: 1.1rem; }

.rx-home-solution-tags { gap: 1px; margin: 0; background: var(--rx-figma-line); }
.rx-home-solution-tags > .wp-block-column { min-height: 7rem; padding: 1.25rem; background: var(--rx-figma-paper); }

.rx-home-events { padding-block: clamp(7rem, 9vw, 9.75rem) clamp(9rem, 14vw, 15rem) !important; }
.rx-home-events .rx-home-section-head { margin-bottom: clamp(3rem, 4.5vw, 4.875rem); }
.rx-home-events .rx-home-section-head { grid-template-columns: minmax(0, 1.85fr) minmax(0, 4.15fr); }
.rx-home-events__filters { flex-wrap: wrap; gap: 0; margin-bottom: clamp(2rem, 3vw, 3.25rem); }
.rx-home-events__filters .wp-block-button__link { min-height: 2rem; padding: .2rem .75rem; border: 0 !important; background: transparent !important; color: rgb(0 0 0 / .68); font-family: var(--rx-figma-sans); font-size: clamp(.75rem, .87vw, .9375rem); text-transform: none; }
.rx-home-events__filters .is-active .wp-block-button__link { color: #000; }
.rx-home-events__filter-status { margin: 1rem 0 0; font-size: var(--rx-figma-small); }
:where(.rx-home-events__body) { display: grid; grid-template-columns: minmax(0, 930fr) minmax(0, 565fr); column-gap: clamp(3rem, 4.63vw, 5rem); align-items: flex-start; }
.rx-home-events__body > .wp-block-column { min-width: 0; flex-basis: auto !important; margin: 0 !important; }
.rx-home-events__image,
.rx-home-events__image img { width: 100%; height: auto; min-height: 0; aspect-ratio: 1.52 / 1; object-fit: cover; }
.rx-home-events__image { margin-top: -.4375rem !important; }
.rx-home-events .rx-figma-event-table > .wp-block-post { margin-block-start: 0 !important; }
.rx-home-events .rx-figma-event-row { grid-template-columns: minmax(5.5rem, 1.1fr) minmax(4.5rem, .8fr) minmax(5.5rem, 1fr) minmax(12rem, 2.4fr) auto; min-height: 3.7rem; gap: clamp(.65rem, 1.1vw, 1.2rem); padding-block: .35rem; }
.rx-home-events .rx-figma-event-row > * { grid-column: auto; margin-block: 0 !important; }
.rx-home-events .rx-figma-event-row .rx-meta-field { display: grid; gap: .25rem; }
.rx-home-events .rx-figma-event-row > .rx-meta-field > span,
.rx-home-event__time .rx-meta-field span,
.rx-home-event__title .rx-meta-field span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.rx-home-events .rx-home-event__badge > *,
.rx-home-events .rx-home-event__title > * { margin-block: 0 !important; }
.rx-home-events .rx-figma-event-row .rx-meta-field span { font-family: var(--rx-figma-mono); font-size: .65rem; text-transform: uppercase; }
.rx-home-events .rx-figma-event-row .rx-meta-field strong { font-size: clamp(.75rem, .87vw, .9375rem); font-weight: 400; }
.rx-home-events .rx-figma-event-row .wp-block-post-title { margin: 0; font-size: clamp(.75rem, .87vw, .9375rem); font-weight: 400; line-height: 1.12; }
.rx-home-event__badge { display: grid; grid-template-columns: 1fr auto; gap: .25rem; padding: .35rem .5rem; border-radius: 2px; background: var(--rx-figma-blue); color: #fff; }
.rx-home-event__badge .rx-meta-field span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.rx-home-event__badge .rx-meta-field strong { color: inherit; font-family: var(--rx-figma-mono); font-size: .65rem !important; text-transform: uppercase; }
.rx-home-event__cfp { align-self: center; margin: 0 !important; font-family: var(--rx-figma-mono); font-size: .65rem; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.rx-home-event__time { display: flex; align-items: center; gap: .25rem; margin: 0; white-space: nowrap; }
.rx-home-event__time > * { margin: 0 !important; }
.rx-home-event__time .rx-meta-field { display: block !important; }
.rx-home-event__time-separator { margin: 0; }
.rx-home-event__title { display: grid; gap: .25rem; margin: 0; }
.rx-home-event__title .rx-meta-field { grid-row: 1; margin: 0; }
.rx-home-event__title .rx-meta-field strong { font-family: var(--rx-figma-mono); font-size: .65rem; font-weight: 400; text-transform: uppercase; }
.rx-home-event__link { align-self: center; justify-self: end; padding: .25rem; color: #000; font-size: 1.2rem; text-decoration: none; }

.rx-home-projects { padding-block: clamp(7rem, 8.75vw, 9.5rem) clamp(8rem, 10.5vw, 11.375rem); }
.rx-home-projects__body { align-items: start; }
.rx-home-projects__body > .wp-block-column:first-child { flex-basis: 30%; }
.rx-home-projects__body > .wp-block-column:last-child { flex-basis: 70%; }
.rx-home-projects__grid { gap: clamp(.75rem, 1.2vw, 1.25rem); margin: 0; padding: 0; background: transparent; }
.rx-home-project-card { position: relative; min-height: clamp(12.5rem, 18.69vw, 20.1875rem); padding: 1.25rem; overflow: hidden; background: #d9d9d7; }
.rx-home-project-card .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; opacity: 0; }
.rx-home-project-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.rx-home-project-card__count,
.rx-home-project-card__title { position: relative; z-index: 1; }
.rx-home-project-card__count { margin: 0; font-size: clamp(3.5rem, 5vw, 5.5rem); line-height: .9; letter-spacing: -.06em; }
.rx-home-project-card__title { position: absolute; inset: auto 3rem 1.25rem 1.25rem; margin: 0; padding-top: .65rem; border-top: 1px solid rgb(0 0 0 / .45); font-family: var(--rx-figma-sans); font-size: clamp(.75rem, .87vw, .9375rem); font-weight: 400; text-transform: none; }
.rx-home-project-card::after { position: absolute; right: 1.25rem; bottom: 1.1rem; z-index: 2; content: "→"; font-size: 1.25rem; }

.rx-home-track--post { padding-block: clamp(7rem, 8.5vw, 9.1875rem) clamp(16rem, 28.1vw, 32rem); }

/* Figma mostra poco più di tre card, con la quarta intenzionalmente tagliata. */
.rx-home-track__query.wp-block-query .wp-block-post-template { grid-auto-columns: minmax(19rem, calc((100% - (var(--rx-figma-gap) * 2)) / 3.25)); }

/* Nell'editor i controlli JS del frontend non girano: replica l'anteprima. */
.editor-styles-wrapper .rx-home-track__query::before,
.editor-styles-wrapper .rx-home-track__query::after { position: absolute; top: -3.5rem; z-index: 3; display: grid; width: 2.75rem; height: 2.75rem; place-items: center; background: var(--rx-figma-muted); color: var(--rx-figma-ink); }
.editor-styles-wrapper .rx-home-track__query::before { right: 2.875rem; content: "‹"; opacity: .36; }
.editor-styles-wrapper .rx-home-track__query::after { right: 0; content: "›"; }

body:has(main .rx-contact-intro) .rx-figma-hero > .wp-block-cover__background,
.editor-styles-wrapper:has(.rx-contact-intro) .rx-figma-hero > .wp-block-cover__background { opacity: .36; }
body:has(main .rx-contact-intro) .rx-figma-hero > .wp-block-cover__image-background,
.editor-styles-wrapper:has(.rx-contact-intro) .rx-figma-hero > .wp-block-cover__image-background { object-position: 50% 55%; }

/* Native Cover CTA used by internal pages. */
.rx-figma-cta { position: relative; width: min(100%, var(--rx-figma-canvas)); margin-inline: auto; padding: var(--rx-figma-section-space) var(--rx-figma-gutter); overflow: hidden; }
.rx-figma-cta > .wp-block-cover__inner-container { width: 100%; }

@media (max-width: 48rem) {
	.rx-solution-explorer__columns { display: block; }
	.rx-solution-explorer__columns > .wp-block-column:first-child { border-right: 0; }
	.rx-solution-explorer__columns > .wp-block-column:last-child { padding: 3rem 0 0; }
	.rx-solution-detail__relation ul { grid-template-columns: 1fr; }
	.rx-figma-product-body .rx-product-sections { width: 100%; }
	.rx-product-elements { grid-template-columns: 1fr; }
	.rx-product-benefits { columns: 1; }
	.rx-single-entity-hero { grid-template-columns: 1fr; min-height: 0; padding-block-start: 8.5rem; }
	.rx-single-entity-hero__copy,
	.rx-single-entity-hero__media { grid-column: 1; }
	.rx-single-entity-hero__media { min-height: 22rem; }
	.rx-section-cards { grid-template-columns: 1fr; }
	.rx-product-row { grid-template-columns: 1fr auto; gap: .75rem; }
	.rx-product-row .wp-block-post-excerpt,
	.rx-product-row .rx-meta-field,
	.rx-product-row .wp-block-post-featured-image { grid-column: 1 / -1; }
	.rx-product-row .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
	.rx-products-support { grid-template-columns: 1fr; }
	.rx-products-support > * { grid-column: 1 !important; }
	.wp-block-cover.rx-home-hero { min-height: max(39rem, 100svh); }
	.rx-home-hero__row { grid-template-columns: 1fr; gap: 1.5rem; }
	.rx-home-hero__row > :first-child,
	.rx-home-hero__row > :last-child { grid-column: 1; }
	.rx-home-hero__row > :last-child,
	.rx-home-hero__actions { justify-content: flex-start; }
	.rx-home-hero__cta { width: 100%; margin-left: 0; }
	.rx-figma-hero .rx-home-hero__wordmark { font-size: clamp(3rem, 14.5vw, 5rem); overflow-wrap: anywhere; }
	.rx-home-about.rx-figma-section { padding-block: 5rem; }
	.rx-home-events__body > .wp-block-column,
	.rx-home-projects__body > .wp-block-column { flex-basis: 100% !important; }
	.rx-home-events__body { grid-template-columns: 1fr; gap: 2rem; }
	.rx-home-story-media img { height: 24rem; }
	.rx-home-story-media__labels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1rem; }
	.rx-home-section-head,
	.rx-home-section-head__copy-columns { grid-template-columns: 1fr; gap: 2rem; }
	.rx-home-events .rx-home-section-head { grid-template-columns: 1fr; }
	.rx-home-section-head__copy { max-width: none; }
	.rx-home-track--rexpol-brand,
	.rx-home-track--rexpol-solution,
	.rx-home-events { padding-block: 4.5rem !important; }
	.rx-home-projects,
	.rx-home-track--post { padding-block: 4.5rem; }
	.rx-home-track--rexpol-brand .rx-home-section-head,
	.rx-home-track--rexpol-solution .rx-home-section-head,
	.rx-home-track--post .rx-home-section-head { margin-bottom: 3rem; }
	.rx-home-track__query.wp-block-query .wp-block-post-template { grid-auto-columns: minmax(16rem, 86%); }
	.rx-home-track--rexpol-brand .wp-block-post { min-height: 22rem; }
	.rx-home-events__filters { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; }
	.rx-home-events__filters .wp-block-button { flex: 0 0 auto; }
	.rx-home-events__filters .wp-block-button__link { white-space: nowrap; }
	.rx-home-events__image,
	.rx-home-events__image img { min-height: 0; aspect-ratio: 3 / 2; }
	.rx-home-events__image { margin-top: 0 !important; }
	.rx-home-events .rx-figma-event-row { grid-template-columns: 1fr; gap: .75rem; }
	.rx-home-events .rx-figma-event-row > * { grid-column: 1; grid-row: auto; }
	.rx-home-event__badge { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rx-home-event__link { justify-self: start; }
	.rx-home-projects__grid { grid-template-columns: 1fr; }
	.rx-home-track--post { padding-bottom: 8rem; }
	.rx-footer.rx-figma-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rx-footer.rx-figma-footer > .rx-footer__company,
	.rx-footer.rx-figma-footer > .rx-footer__modules { grid-column: auto; }
}
