/* Floor-IT.eu V1.1 - site-specific editorial tech layer */

:root {
	--floorit-orange: #f15a24;
	--floorit-orange-deep: #cf4212;
	--floorit-ink: #111827;
	--floorit-navy: #162033;
	--floorit-muted: #667085;
	--floorit-line: rgba(17, 24, 39, .10);
	--floorit-soft: #f4f5f7;
	--floorit-warm: #fff6f1;
	--floorit-white: #fff;
	--floorit-radius-sm: 12px;
	--floorit-radius: 20px;
	--floorit-radius-lg: 28px;
	--floorit-shadow: 0 18px 50px rgba(17, 24, 39, .08);
	--floorit-shadow-hover: 0 24px 70px rgba(17, 24, 39, .14);
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

body .wp-site-blocks {
	background:
		radial-gradient(circle at 8% 4%, rgba(241, 90, 36, .07), transparent 24rem),
		linear-gradient(180deg, #fff 0, #fbfbfc 38rem, #fff 70rem);
}


/*
 * De page-template zet post-content op alignfull en laat WordPress zelf
 * contentSize (760px) versus wideSize (1200px) toepassen. Alleen een defensieve
 * grens voor wide secties blijft hier site-specifiek staan.
 */
.floorit-site .wp-block-post-content.alignfull {
	width: 100%;
	max-width: none;
}

.floorit-site .wp-block-post-content > .alignwide {
	width: min(100%, 1200px);
	max-width: 1200px;
	margin-inline: auto;
}

/*
 * WordPress flow-layout voegt verticale block-gap toe aan child 2..n.
 * Zodra zo'n container door Floor-IT als CSS grid/flex wordt gebruikt moet die
 * flow-margin weg, anders ontstaat een trapsgewijze kaartuitlijning.
 */
.floorit-hero__grid > *,
.floorit-intent-grid > *,
.floorit-card-grid > *,
.floorit-process-visual > *,
.floorit-section__head > *,
.floorit-strategy-callout > * {
	margin-block-start: 0 !important;
}

.floorit-header {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid var(--floorit-line);
	background: rgba(255, 255, 255, .90);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.floorit-header > .wp-block-group {
	min-height: 76px;
}

.floorit-header .wp-block-site-title {
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: -.035em;
}

.floorit-header .wp-block-site-title a {
	color: var(--floorit-ink);
	text-decoration: none;
}

.floorit-header .wp-block-site-title a::after {
	content: ".";
	color: var(--floorit-orange);
}

.floorit-header .wp-block-navigation-item__content {
	color: #344054;
	font-size: .94rem;
	font-weight: 600;
	text-decoration: none;
}

.floorit-header .wp-block-navigation-item__content:hover {
	color: var(--floorit-orange-deep);
}

.floorit-header .wp-block-button__link {
	background: var(--floorit-ink);
	border-radius: 999px;
	padding: .7rem 1.05rem;
	font-size: .92rem;
	font-weight: 700;
}

.floorit-header .wp-block-button__link:hover {
	background: var(--floorit-orange);
	transform: translateY(-1px);
}

.floorit-footer {
	margin-top: clamp(4rem, 8vw, 8rem);
	border-top: 1px solid var(--floorit-line);
}

.floorit-footer a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.floorit-page-shell {
	position: relative;
}

.floorit-home .wp-block-post-title {
	display: none;
}

.floorit-home .wp-block-post-content {
	margin-block-start: 0;
}

.floorit-hero {
	position: relative;
	padding: clamp(3.5rem, 7vw, 7.5rem) 0 clamp(3rem, 6vw, 6rem);
}

.floorit-hero::before {
	content: "";
	position: absolute;
	width: 34rem;
	height: 34rem;
	right: -16rem;
	top: -13rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(241, 90, 36, .13), rgba(241, 90, 36, 0) 70%);
	pointer-events: none;
}

.floorit-hero__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(390px, .85fr);
	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: center;
}

.floorit-kicker {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin: 0 0 1rem;
	color: var(--floorit-orange-deep);
	font-size: .77rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.floorit-kicker::before {
	content: "";
	width: 1.6rem;
	height: 2px;
	background: currentColor;
}

.floorit-hero h1 {
	max-width: 13ch;
	margin: 0;
	color: var(--floorit-ink);
	font-size: clamp(3rem, 5.5vw, 5.65rem);
	line-height: .97;
	letter-spacing: -.062em;
	text-wrap: balance;
}

.floorit-hero__lead {
	max-width: 42rem;
	margin: 1.55rem 0 0;
	color: #475467;
	font-size: clamp(1.07rem, 1.7vw, 1.28rem);
	line-height: 1.67;
}

.floorit-hero .wp-block-buttons {
	margin-top: 1.8rem;
	gap: .75rem;
}

.floorit-home .wp-element-button {
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.floorit-home .wp-block-button:not(.is-style-outline) .wp-element-button {
	background: var(--floorit-orange);
	box-shadow: 0 10px 28px rgba(241, 90, 36, .20);
}

.floorit-home .wp-block-button:not(.is-style-outline) .wp-element-button:hover {
	background: var(--floorit-orange-deep);
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(241, 90, 36, .28);
}

.floorit-home .wp-block-button.is-style-outline .wp-element-button {
	border-color: var(--floorit-line);
	color: var(--floorit-ink);
	background: rgba(255,255,255,.72);
}

.floorit-home .wp-block-button.is-style-outline .wp-element-button:hover {
	border-color: rgba(241, 90, 36, .35);
	background: var(--floorit-warm);
	transform: translateY(-2px);
}

.floorit-hero-demo {
	position: relative;
	min-height: 31rem;
	isolation: isolate;
}

.floorit-hero-demo::before {
	content: "";
	position: absolute;
	inset: 8% 5% 3% 8%;
	border-radius: 2.2rem;
	background: linear-gradient(145deg, #172033 0%, #222e45 100%);
	box-shadow: 0 40px 90px rgba(17, 24, 39, .23);
	transform: rotate(-2.5deg);
	z-index: -1;
}

.floorit-demo-window {
	position: absolute;
	inset: 0 4% 9% 0;
	border: 1px solid rgba(255,255,255,.65);
	border-radius: 1.65rem;
	background: rgba(255,255,255,.94);
	box-shadow: 0 30px 80px rgba(16, 24, 40, .18);
	overflow: hidden;
	transform: rotate(1.2deg);
}

.floorit-demo-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .75rem 1rem;
	border-bottom: 1px solid var(--floorit-line);
	color: #667085;
	font-size: .72rem;
	font-weight: 700;
}

.floorit-demo-dots {
	display: flex;
	gap: .32rem;
}

.floorit-demo-dots i {
	display: block;
	width: .48rem;
	height: .48rem;
	border-radius: 50%;
	background: #d0d5dd;
}

.floorit-demo-dots i:first-child {
	background: var(--floorit-orange);
}

.floorit-demo-canvas {
	padding: 1.1rem;
}

.floorit-demo-title {
	display: flex;
	justify-content: space-between;
	align-items: end;
	margin-bottom: 1rem;
}

.floorit-demo-title strong {
	color: var(--floorit-ink);
	font-size: 1rem;
}

.floorit-demo-title span {
	color: #98a2b3;
	font-size: .68rem;
}

.floorit-flow {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: .55rem;
}

.floorit-flow-step {
	position: relative;
	min-height: 7.8rem;
	padding: .85rem;
	border: 1px solid var(--floorit-line);
	border-radius: 1rem;
	background: #fff;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.floorit-flow-step[data-active="true"],
.floorit-flow-step:hover {
	transform: translateY(-4px);
	border-color: rgba(241, 90, 36, .36);
	box-shadow: 0 13px 28px rgba(17, 24, 39, .08);
}

.floorit-flow-step small {
	display: block;
	margin-bottom: .55rem;
	color: #98a2b3;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.floorit-flow-step strong {
	display: block;
	color: var(--floorit-ink);
	font-size: .84rem;
	line-height: 1.2;
}

.floorit-flow-step p {
	margin: .45rem 0 0;
	color: #667085;
	font-size: .68rem;
	line-height: 1.4;
}

.floorit-flow-step::after {
	content: "→";
	position: absolute;
	right: -.48rem;
	top: 50%;
	color: var(--floorit-orange);
	font-weight: 900;
	transform: translate(50%, -50%);
	z-index: 2;
}

.floorit-flow-step:last-child::after {
	display: none;
}

.floorit-demo-panels {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: .75rem;
	margin-top: .75rem;
}

.floorit-mini-panel {
	padding: .85rem;
	border-radius: 1rem;
	background: var(--floorit-soft);
}

.floorit-mini-panel__head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .7rem;
	color: var(--floorit-ink);
	font-size: .72rem;
	font-weight: 800;
}

.floorit-status {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	color: #027a48;
	font-size: .65rem;
	font-weight: 700;
}

.floorit-status::before {
	content: "";
	width: .42rem;
	height: .42rem;
	border-radius: 50%;
	background: #12b76a;
	box-shadow: 0 0 0 .2rem rgba(18,183,106,.12);
}

.floorit-chart {
	display: flex;
	align-items: end;
	gap: .32rem;
	height: 3.2rem;
}

.floorit-chart i {
	flex: 1;
	min-width: .35rem;
	border-radius: .3rem .3rem .08rem .08rem;
	background: #d0d5dd;
}

.floorit-chart i:nth-child(2),
.floorit-chart i:nth-child(5),
.floorit-chart i:nth-child(7) {
	background: var(--floorit-orange);
}

.floorit-demo-note {
	position: absolute;
	right: -1rem;
	bottom: 0;
	width: 12.5rem;
	padding: .9rem 1rem;
	border: 1px solid rgba(241,90,36,.20);
	border-radius: 1rem;
	background: #fff7f2;
	box-shadow: 0 16px 40px rgba(17,24,39,.11);
	color: #7a3218;
	font-size: .72rem;
	line-height: 1.45;
	transform: rotate(-2deg);
}

.floorit-demo-note strong {
	display: block;
	margin-bottom: .2rem;
	color: var(--floorit-orange-deep);
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .07em;
}

.floorit-intents {
	padding: 0 0 clamp(4rem, 7vw, 7rem);
}

.floorit-intents__intro {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 2rem;
	margin-bottom: 1.4rem;
}

.floorit-intents__intro h2 {
	max-width: 15ch;
	margin: 0;
	color: var(--floorit-ink);
	font-size: clamp(1.6rem, 3vw, 2.5rem);
	letter-spacing: -.035em;
}

.floorit-intents__intro p {
	max-width: 31rem;
	margin: 0;
	color: var(--floorit-muted);
}

.floorit-intent-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .9rem;
}

.floorit-intent-card {
	position: relative;
	min-height: 12rem;
	padding: 1.35rem;
	border: 1px solid var(--floorit-line);
	border-radius: var(--floorit-radius);
	background: rgba(255,255,255,.82);
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(17,24,39,.02);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.floorit-intent-card:hover,
.floorit-intent-card:focus-visible {
	transform: translateY(-5px);
	border-color: rgba(241,90,36,.34);
	background: #fff;
	box-shadow: var(--floorit-shadow);
	outline: none;
}

.floorit-intent-card__top {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: flex-start;
}

.floorit-intent-icon {
	display: grid;
	width: 2.8rem;
	height: 2.8rem;
	place-items: center;
	border-radius: .85rem;
	background: var(--floorit-warm);
	color: var(--floorit-orange);
}

.floorit-intent-icon svg {
	width: 1.35rem;
	height: 1.35rem;
}

.floorit-intent-arrow {
	color: #98a2b3;
	font-size: 1.25rem;
	transition: transform .2s ease, color .2s ease;
}

.floorit-intent-card:hover .floorit-intent-arrow {
	color: var(--floorit-orange);
	transform: translate(3px,-3px);
}

.floorit-intent-card h3 {
	margin: 1.15rem 0 .4rem;
	color: var(--floorit-ink);
	font-size: 1.15rem;
	letter-spacing: -.02em;
}

.floorit-intent-card p {
	margin: 0;
	color: #667085;
	font-size: .91rem;
	line-height: 1.55;
}

.floorit-section {
	position: relative;
	isolation: isolate;
	padding: clamp(3.25rem, 5.5vw, 5.5rem) 0;
}

.floorit-section + .floorit-section {
	margin-block-start: 0;
}

.floorit-section--soft::before,
.floorit-section--warm::before,
.floorit-section--dark::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 100vw;
	transform: translateX(-50%);
	z-index: -1;
}

.floorit-section--soft::before {
	background: #f7f8fa;
}

.floorit-section--warm::before {
	background: #fff6f1;
}

.floorit-section--dark {
	color: #e4e7ec;
}

.floorit-section--dark::before {
	background: #141c2b;
}

.floorit-section--dark h2,
.floorit-section--dark h3 {
	color: #fff;
}

.floorit-section--dark p {
	color: #cbd2dc;
}

.floorit-section--dark .floorit-kicker {
	color: #ff8a5f;
}

.floorit-section--dark .floorit-section__copy {
	color: #d7dce5;
}

.floorit-section--dark .wp-block-buttons {
	justify-content: center;
	margin-top: 1.6rem;
}

.floorit-section--dark .wp-block-button.is-style-outline .wp-element-button {
	border-color: rgba(255,255,255,.28);
	background: transparent;
	color: #fff;
}

.floorit-section--dark .wp-block-button.is-style-outline .wp-element-button:hover {
	border-color: rgba(255,255,255,.55);
	background: rgba(255,255,255,.08);
}

.floorit-section__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .85rem;
	margin-bottom: clamp(1.6rem, 3vw, 2.35rem);
	text-align: center;
}

.floorit-section__head .floorit-kicker {
	align-self: center;
	justify-content: center;
	margin-bottom: 0;
}

.floorit-section__head h2 {
	max-width: 17ch;
	margin: 0 auto;
	color: var(--floorit-ink);
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.04;
	letter-spacing: -.05em;
	text-align: center;
	text-wrap: balance;
}

.floorit-section__copy {
	max-width: 50rem;
	margin-inline: auto;
	color: #667085;
	font-size: 1.04rem;
	line-height: 1.75;
	text-align: center;
}

.floorit-section__copy + .floorit-card-grid,
.floorit-section__copy + .floorit-process-visual {
	margin-top: 1.6rem;
}

.floorit-proof-media {
	margin: clamp(1.6rem, 4vw, 2.8rem) auto 0;
	overflow: hidden;
	border: 1px solid var(--floorit-line);
	border-radius: var(--floorit-radius-lg);
	background: #fff;
	box-shadow: var(--floorit-shadow);
}

.floorit-proof-media--wide {
	max-width: 70rem;
}

.floorit-proof-media--portrait {
	max-width: 42rem;
}

.floorit-proof-media img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.floorit-proof-media figcaption {
	padding: .9rem 1.1rem 1rem;
	border-top: 1px solid var(--floorit-line);
	color: var(--floorit-muted);
	font-size: .9rem;
	line-height: 1.55;
	text-align: left;
}

.floorit-section--dark .floorit-proof-media {
	border-color: rgba(255,255,255,.14);
	background: #101725;
}

.floorit-section--dark .floorit-proof-media figcaption {
	border-top-color: rgba(255,255,255,.12);
	color: #cbd2dc;
}

.floorit-card-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.floorit-card-grid--services .floorit-card:nth-child(4),
.floorit-card-grid--services .floorit-card:nth-child(5) {
	grid-column: span 1;
}

.floorit-card-grid--services .floorit-card:nth-child(4) {
	grid-column: 1 / span 2;
}

.floorit-card-grid--services .floorit-card:nth-child(5) {
	grid-column: 3;
}

.floorit-card {
	position: relative;
	height: 100%;
	min-height: 13rem;
	padding: 1.45rem;
	border: 1px solid var(--floorit-line);
	border-radius: var(--floorit-radius);
	background: rgba(255,255,255,.88);
	box-shadow: 0 1px 0 rgba(17,24,39,.025);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.floorit-card:hover {
	transform: translateY(-4px);
	border-color: rgba(17,24,39,.18);
	box-shadow: var(--floorit-shadow);
}

.floorit-card h3 {
	margin-top: 0;
	color: var(--floorit-ink);
	font-size: 1.18rem;
	letter-spacing: -.025em;
}

.floorit-card p {
	color: #667085;
	font-size: .94rem;
	line-height: 1.65;
}

.floorit-card > p:last-child {
	margin-top: auto;
}

.floorit-card a {
	font-weight: 750;
	color: var(--floorit-ink);
	text-decoration: none;
}

.floorit-card a:hover {
	color: var(--floorit-orange-deep);
}

.floorit-card-grid--projects .floorit-card {
	min-height: 15rem;
	overflow: hidden;
}

.floorit-card-grid--projects .floorit-card:first-child,
.floorit-card-grid--projects .floorit-card:nth-child(2) {
	min-height: 19rem;
}

.floorit-card-grid--projects .floorit-card:first-child {
	background:
		linear-gradient(140deg, rgba(241,90,36,.11), transparent 65%),
		#fff;
}

.floorit-card-grid--projects .floorit-card:nth-child(2) {
	background:
		linear-gradient(140deg, rgba(22,32,51,.08), transparent 65%),
		#fff;
}

.floorit-process-visual {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .8rem;
	margin: 2rem 0 0;
}

.floorit-process-step {
	position: relative;
	padding: 1.25rem;
	border-radius: 1.15rem;
	background: #fff;
	border: 1px solid var(--floorit-line);
}

.floorit-process-step:not(:last-child)::after {
	content: "→";
	position: absolute;
	right: -.65rem;
	top: 50%;
	color: var(--floorit-orange);
	font-size: 1.25rem;
	font-weight: 900;
	transform: translateY(-50%);
	z-index: 2;
}

.floorit-process-step span {
	display: inline-flex;
	margin-bottom: .7rem;
	padding: .28rem .5rem;
	border-radius: 999px;
	background: var(--floorit-warm);
	color: var(--floorit-orange-deep);
	font-size: .67rem;
	font-weight: 800;
}

.floorit-process-step strong {
	display: block;
	color: var(--floorit-ink);
	font-size: 1rem;
}

.floorit-process-step p {
	margin: .35rem 0 0;
	color: #667085;
	font-size: .82rem;
	line-height: 1.55;
}

.floorit-strategy-callout {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 3rem;
	align-items: center;
	padding: clamp(1.8rem, 4vw, 3.3rem);
	border-radius: var(--floorit-radius-lg);
	background: #141c2b;
	color: #fff;
	overflow: hidden;
}

.floorit-strategy-callout h2 {
	margin: .25rem 0 1rem;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.6rem);
	line-height: 1.02;
	letter-spacing: -.05em;
}

.floorit-strategy-callout p {
	color: #cbd2dc;
	font-size: 1.03rem;
	line-height: 1.7;
}

.floorit-strategy-visual {
	position: relative;
	min-height: 18rem;
}

.floorit-strategy-card {
	position: absolute;
	width: min(17rem, 80%);
	padding: 1rem;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 1rem;
	background: rgba(255,255,255,.08);
	backdrop-filter: blur(8px);
	box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

.floorit-strategy-card:nth-child(1) {
	top: 0;
	left: 0;
	transform: rotate(-4deg);
}

.floorit-strategy-card:nth-child(2) {
	top: 5rem;
	right: 0;
	background: rgba(241,90,36,.14);
	transform: rotate(3deg);
}

.floorit-strategy-card:nth-child(3) {
	bottom: 0;
	left: 2.5rem;
	transform: rotate(-1deg);
}

.floorit-strategy-card small {
	color: #98a2b3;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.floorit-strategy-card strong {
	display: block;
	margin-top: .35rem;
	color: #fff;
	font-size: .95rem;
}

.floorit-home main {
	padding-top: 0 !important;
}

.floorit-home main > .wp-block-post-content {
	margin-top: 0;
}

.floorit-home main > .wp-block-post-content > * {
	max-width: 1200px;
}

@media (max-width: 1000px) {
	.floorit-hero__grid {
		grid-template-columns: 1fr;
	}

	.floorit-hero-demo {
		min-height: 27rem;
	}

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

	.floorit-card-grid--services .floorit-card:nth-child(4),
	.floorit-card-grid--services .floorit-card:nth-child(5) {
		grid-column: auto;
	}

	.floorit-section__head {
		gap: .75rem;
	}

	.floorit-strategy-callout {
		grid-template-columns: 1fr;
	}

	.floorit-process-visual {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.floorit-process-step:nth-child(2)::after {
		display: none;
	}
}

@media (max-width: 720px) {
	.floorit-header > .wp-block-group {
		min-height: 64px;
	}

	.floorit-header .wp-block-buttons {
		display: none;
	}

	.floorit-hero {
		padding-top: 2.8rem;
	}

	.floorit-hero h1 {
		font-size: clamp(2.8rem, 14vw, 4.6rem);
	}

	.floorit-hero-demo {
		min-height: 25rem;
		margin-top: .5rem;
	}

	.floorit-demo-window {
		inset: 0 0 8% 0;
	}

	.floorit-flow {
		grid-template-columns: repeat(2, 1fr);
	}

	.floorit-flow-step:nth-child(2)::after {
		display: none;
	}

	.floorit-demo-panels {
		grid-template-columns: 1fr;
	}

	.floorit-demo-note {
		right: .4rem;
		width: 10.5rem;
	}

	.floorit-intents__intro {
		display: block;
	}

	.floorit-intents__intro p {
		margin-top: .75rem;
	}

	.floorit-intent-grid,
	.floorit-card-grid,
	.floorit-process-visual {
		grid-template-columns: 1fr;
	}

	.floorit-process-step::after {
		display: none !important;
	}

	.floorit-card-grid--projects .floorit-card:first-child,
	.floorit-card-grid--projects .floorit-card:nth-child(2) {
		min-height: 14rem;
	}

	.floorit-strategy-callout {
		padding: 1.4rem;
	}

	.floorit-strategy-visual {
		min-height: 15rem;
	}
}

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

	.floorit-intent-card,
	.floorit-card,
	.floorit-flow-step,
	.floorit-home .wp-element-button {
		transition: none;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.3.0 - visual composition layer
 * ===================================================================== */

/* Selective alignment: editorial where useful, centered where helpful. */
.floorit-section__head {
	align-items: flex-start;
	text-align: left;
}

.floorit-section__head .floorit-kicker {
	align-self: flex-start;
	justify-content: flex-start;
}

.floorit-section__head h2 {
	margin-inline: 0;
	text-align: left;
}

.floorit-section__copy {
	margin-inline: 0;
	text-align: left;
}

.floorit-section--align-center .floorit-section__head {
	align-items: center;
	text-align: center;
}

.floorit-section--align-center .floorit-section__head .floorit-kicker {
	align-self: center;
	justify-content: center;
}

.floorit-section--align-center .floorit-section__head h2 {
	margin-inline: auto;
	text-align: center;
}

.floorit-section--align-center .floorit-section__copy {
	margin-inline: auto;
	text-align: center;
}

.floorit-visual-head {
	margin-bottom: clamp(1.8rem, 3.4vw, 3rem);
}

.floorit-visual-head h2 {
	max-width: 17ch;
	margin: .2rem 0 0;
	color: var(--floorit-ink);
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.04;
	letter-spacing: -.05em;
	text-wrap: balance;
}

.floorit-visual-head--center {
	text-align: center;
}

.floorit-visual-head--center .floorit-kicker {
	justify-content: center;
}

.floorit-visual-head--center h2 {
	margin-inline: auto;
}

.floorit-visual-head--left {
	text-align: left;
}

/* Problem section - text + visual diagnosis board. */
.floorit-section--problems {
	padding-top: clamp(3.5rem, 6vw, 6rem);
}

.floorit-problems-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: center;
	margin-bottom: 2rem;
}

.floorit-problem-copy {
	max-width: 42rem;
	color: var(--floorit-muted);
	font-size: 1.03rem;
	line-height: 1.75;
}

.floorit-problem-copy p {
	margin: 0 0 1rem;
}

.floorit-signal-board {
	position: relative;
	padding: 1rem;
	border: 1px solid rgba(17, 24, 39, .12);
	border-radius: 1.4rem;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,249,251,.96)),
		repeating-linear-gradient(0deg, transparent 0 27px, rgba(17,24,39,.025) 27px 28px);
	box-shadow: 0 24px 65px rgba(17,24,39,.10);
}

.floorit-signal-board::before {
	content: "";
	position: absolute;
	inset: auto -1.5rem -1.5rem 22%;
	height: 45%;
	border-radius: 50%;
	background: rgba(241,90,36,.10);
	filter: blur(34px);
	z-index: -1;
}

.floorit-signal-board__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .25rem .25rem .8rem;
	color: var(--floorit-ink);
	font-size: .78rem;
	font-weight: 800;
}

.floorit-signal-row {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	gap: .7rem;
	align-items: center;
	padding: .85rem .9rem;
	border-top: 1px solid var(--floorit-line);
	color: var(--floorit-ink);
}

.floorit-signal-row strong {
	font-size: .9rem;
}

.floorit-signal-row small {
	color: var(--floorit-muted);
	font-size: .75rem;
}

.floorit-signal-row b {
	min-width: 2rem;
	text-align: right;
	color: var(--floorit-orange-deep);
	font-size: .78rem;
}

.floorit-signal-dot {
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
	background: #12b76a;
	box-shadow: 0 0 0 .22rem rgba(18,183,106,.11);
}

.floorit-signal-dot--warn {
	background: var(--floorit-orange);
	box-shadow: 0 0 0 .22rem rgba(241,90,36,.12);
}

.floorit-signal-board__result {
	margin-top: .75rem;
	padding: 1rem;
	border-radius: 1rem;
	background: #141c2b;
	color: #fff;
}

.floorit-signal-board__result span {
	display: block;
	margin-bottom: .3rem;
	color: #98a2b3;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.floorit-signal-board__result strong {
	display: block;
	font-size: .92rem;
	line-height: 1.45;
}

/* Services - actual visual miniatures instead of plain cards. */
.floorit-service-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1rem;
}

.floorit-service-card {
	display: flex;
	min-height: 19rem;
	flex-direction: column;
	grid-column: span 2;
	overflow: hidden;
	border: 1px solid var(--floorit-line);
	border-radius: var(--floorit-radius);
	background: #fff;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(17,24,39,.02);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.floorit-service-card:nth-child(4) {
	grid-column: span 3;
}

.floorit-service-card:nth-child(5) {
	grid-column: span 3;
}

.floorit-service-card:hover,
.floorit-service-card:focus-visible {
	transform: translateY(-5px);
	border-color: rgba(241,90,36,.30);
	box-shadow: var(--floorit-shadow);
	outline: none;
}

.floorit-service-visual {
	position: relative;
	min-height: 8.5rem;
	border-bottom: 1px solid var(--floorit-line);
	background:
		radial-gradient(circle at 80% 15%, rgba(241,90,36,.13), transparent 6rem),
		linear-gradient(145deg, #f8f9fb, #fff);
	overflow: hidden;
}

.floorit-service-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.25rem 1.35rem 1.35rem;
}

.floorit-service-card__body h3 {
	margin: 0 0 .55rem;
	color: var(--floorit-ink);
	font-size: 1.16rem;
	letter-spacing: -.025em;
}

.floorit-service-card__body p {
	margin: 0 0 1rem;
	color: var(--floorit-muted);
	font-size: .9rem;
	line-height: 1.6;
}

.floorit-service-card__body span {
	margin-top: auto;
	color: var(--floorit-ink);
	font-size: .88rem;
	font-weight: 800;
}

/* IT topology miniature */
.floorit-service-visual--network i {
	position: absolute;
	width: 1.1rem;
	height: 1.1rem;
	border: .16rem solid #fff;
	border-radius: 50%;
	background: var(--floorit-orange);
	box-shadow: 0 0 0 1px rgba(17,24,39,.12), 0 6px 14px rgba(17,24,39,.12);
	z-index: 2;
}

.floorit-service-visual--network i:nth-child(1) { left: 17%; top: 28%; }
.floorit-service-visual--network i:nth-child(2) { left: 47%; top: 18%; background: var(--floorit-navy); }
.floorit-service-visual--network i:nth-child(3) { right: 17%; top: 38%; }
.floorit-service-visual--network i:nth-child(4) { left: 40%; bottom: 18%; background: #12b76a; }

.floorit-service-visual--network span {
	position: absolute;
	left: 18%;
	right: 18%;
	top: 49%;
	height: 1px;
	background: linear-gradient(90deg, transparent, #cfd4dc 12%, #cfd4dc 88%, transparent);
	transform: rotate(-6deg);
}

.floorit-service-visual--network::after {
	content: "";
	position: absolute;
	left: 45%;
	top: 15%;
	width: 1px;
	height: 62%;
	background: #d7dbe2;
	transform: rotate(18deg);
}

/* Browser miniature */
.floorit-service-visual--browser {
	padding: 1rem;
}

.floorit-service-visual--browser > div {
	display: flex;
	gap: .3rem;
	height: 1.3rem;
	padding: .45rem .55rem;
	border: 1px solid var(--floorit-line);
	border-bottom: 0;
	border-radius: .75rem .75rem 0 0;
	background: #fff;
}

.floorit-service-visual--browser b {
	width: .38rem;
	height: .38rem;
	border-radius: 50%;
	background: #d0d5dd;
}

.floorit-service-visual--browser b:first-child {
	background: var(--floorit-orange);
}

.floorit-service-visual--browser > span {
	display: block;
	height: 1rem;
	margin: 0;
	border-inline: 1px solid var(--floorit-line);
	background: #fff;
}

.floorit-service-visual--browser > span:nth-of-type(1) {
	height: 2.1rem;
	background:
		linear-gradient(90deg, var(--floorit-navy) 0 36%, transparent 36%),
		#fff;
}

.floorit-service-visual--browser > span:nth-of-type(2) {
	background:
		linear-gradient(90deg, #e8ebf0 0 66%, transparent 66%),
		#fff;
}

.floorit-service-visual--browser > span:nth-of-type(3) {
	height: 1.6rem;
	border-bottom: 1px solid var(--floorit-line);
	border-radius: 0 0 .75rem .75rem;
	background:
		linear-gradient(90deg, rgba(241,90,36,.8) 0 28%, transparent 28%),
		#fff;
}

/* Message miniature */
.floorit-service-visual--messages {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: .55rem;
	padding: 1rem 1.15rem;
}

.floorit-service-visual--messages span {
	display: inline-block;
	padding: .48rem .7rem;
	border-radius: .8rem .8rem .8rem .25rem;
	background: #fff;
	border: 1px solid var(--floorit-line);
	color: var(--floorit-ink);
	font-size: .72rem;
	box-shadow: 0 7px 18px rgba(17,24,39,.05);
}

.floorit-service-visual--messages span:nth-child(2) {
	align-self: flex-end;
	border-radius: .8rem .8rem .25rem .8rem;
	background: var(--floorit-warm);
	color: var(--floorit-orange-deep);
}

.floorit-service-visual--messages span:nth-child(3) {
	color: #027a48;
}

/* Signage miniature */
.floorit-service-visual--screen {
	display: grid;
	place-items: center;
}

.floorit-service-visual--screen > div {
	width: 72%;
	min-height: 5.2rem;
	padding: .8rem;
	border: .42rem solid #1d2939;
	border-radius: .6rem;
	background: linear-gradient(145deg, #fff6f1, #fff);
	box-shadow: 0 14px 30px rgba(17,24,39,.15);
}

.floorit-service-visual--screen span {
	display: block;
	color: var(--floorit-orange-deep);
	font-size: .65rem;
	font-weight: 800;
}

.floorit-service-visual--screen strong {
	display: block;
	margin-top: .3rem;
	color: var(--floorit-ink);
	font-size: .9rem;
}

.floorit-service-visual--screen i {
	position: absolute;
	bottom: .75rem;
	width: 2.5rem;
	height: .2rem;
	border-radius: 1rem;
	background: #98a2b3;
}

/* Home Assistant / energy miniature */
.floorit-service-visual--home {
	padding: 1rem 1.15rem;
}

.floorit-service-visual--home > span {
	position: absolute;
	left: 1rem;
	top: 1rem;
	color: var(--floorit-ink);
	font-size: 1.4rem;
	font-weight: 850;
	letter-spacing: -.04em;
}

.floorit-service-visual--home i {
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 2.2rem;
	height: 3rem;
	background:
		linear-gradient(135deg, transparent 0 8%, var(--floorit-orange) 8% 10%, transparent 10% 24%, #d0d5dd 24% 26%, transparent 26% 42%, #12b76a 42% 44%, transparent 44% 58%, var(--floorit-orange) 58% 60%, transparent 60%);
	opacity: .9;
}

.floorit-service-visual--home b {
	position: absolute;
	right: 1rem;
	top: 1rem;
	color: #98a2b3;
	font-size: .65rem;
	text-transform: uppercase;
}

.floorit-service-visual--home em {
	position: absolute;
	right: 1rem;
	top: 2.15rem;
	color: #027a48;
	font-size: .8rem;
	font-style: normal;
	font-weight: 800;
}

/* Projects - actual showcase tiles. */
.floorit-project-showcase {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 1rem;
}

.floorit-project-tile {
	display: grid;
	grid-column: span 4;
	grid-template-rows: 8rem 1fr;
	overflow: hidden;
	border: 1px solid var(--floorit-line);
	border-radius: var(--floorit-radius);
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.floorit-project-tile--featured {
	grid-column: span 6;
	grid-template-rows: 13rem 1fr;
}

.floorit-project-tile:hover,
.floorit-project-tile:focus-visible {
	transform: translateY(-5px);
	border-color: rgba(241,90,36,.26);
	box-shadow: var(--floorit-shadow-hover);
	outline: none;
}

.floorit-project-tile__visual {
	position: relative;
	display: grid;
	place-items: center;
	overflow: hidden;
	background:
		linear-gradient(145deg, #141c2b, #26334a);
	color: #fff;
}

.floorit-project-tile:nth-child(2) .floorit-project-tile__visual {
	background:
		radial-gradient(circle at 85% 10%, rgba(241,90,36,.24), transparent 8rem),
		linear-gradient(145deg, #eef1f5, #fff);
	color: var(--floorit-ink);
}

.floorit-project-tile:nth-child(n+3) .floorit-project-tile__visual {
	background: #f7f8fa;
	color: var(--floorit-ink);
}

.floorit-project-tile__body {
	padding: 1.15rem 1.25rem 1.3rem;
}

.floorit-project-tile__body small {
	color: var(--floorit-orange-deep);
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.floorit-project-tile__body h3 {
	margin: .35rem 0 .45rem;
	color: var(--floorit-ink);
	font-size: 1.2rem;
	letter-spacing: -.025em;
}

.floorit-project-tile__body p {
	margin: 0 0 .8rem;
	color: var(--floorit-muted);
	font-size: .88rem;
	line-height: 1.55;
}

.floorit-project-tile__body span {
	color: var(--floorit-ink);
	font-size: .84rem;
	font-weight: 800;
}

/* QRoep */
.floorit-qroep-mock {
	width: min(82%, 24rem);
	padding: 1rem;
	border-radius: 1.15rem;
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.16);
	box-shadow: 0 22px 50px rgba(0,0,0,.22);
}

.floorit-qroep-mock > span {
	display: block;
	margin-bottom: .7rem;
	color: #fff;
	font-size: .78rem;
	font-weight: 800;
}

.floorit-qroep-mock b {
	display: inline-block;
	margin: 0 .35rem .55rem 0;
	padding: .5rem .7rem;
	border-radius: .7rem;
	background: #fff;
	color: var(--floorit-ink);
	font-size: .72rem;
}

.floorit-qroep-mock small {
	display: block;
	color: #cbd5e1;
	font-size: .66rem;
}

/* Signage */
.floorit-signage-mock {
	width: min(84%, 24rem);
	padding: 1rem;
	border: 1px solid var(--floorit-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 20px 45px rgba(17,24,39,.13);
}

.floorit-signage-mock > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.floorit-signage-mock > strong {
	display: block;
	margin: .7rem 0 .25rem;
	font-size: .9rem;
}

.floorit-signage-mock p {
	margin: 0 0 .7rem;
	color: var(--floorit-muted);
	font-size: .7rem;
}

.floorit-signage-mock i {
	display: inline-block;
	width: 29%;
	height: 1.5rem;
	margin-right: 3%;
	border-radius: .35rem;
	background: #e9ecf1;
}

.floorit-signage-mock i:nth-of-type(2) {
	background: var(--floorit-warm);
}

.floorit-signage-mock i:nth-of-type(3) {
	margin-right: 0;
	background: #dcefe5;
}

/* Remaining project mini visuals */
.floorit-review-mock,
.floorit-contact-mock,
.floorit-stack-mock {
	width: 78%;
	padding: 1rem;
	border: 1px solid var(--floorit-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 15px 35px rgba(17,24,39,.08);
}

.floorit-review-mock div {
	color: #f59e0b;
	letter-spacing: .08em;
}

.floorit-review-mock strong,
.floorit-review-mock span {
	display: block;
	margin-top: .3rem;
}

.floorit-review-mock span {
	color: var(--floorit-muted);
	font-size: .7rem;
}

.floorit-contact-mock {
	display: grid;
	gap: .4rem;
}

.floorit-contact-mock span {
	padding: .35rem .5rem;
	border-radius: .5rem;
	background: var(--floorit-soft);
	font-size: .68rem;
}

.floorit-contact-mock span:nth-child(2) {
	color: var(--floorit-orange-deep);
	background: var(--floorit-warm);
}

.floorit-stack-mock {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.floorit-stack-mock span {
	padding: .35rem .5rem;
	border-radius: .5rem;
	background: #eef1f5;
	color: #344054;
	font-size: .68rem;
	font-weight: 750;
}

/* Workflow - no longer another card grid. */
.floorit-workflow-line {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: .5rem;
}

.floorit-workflow-line::before {
	content: "";
	position: absolute;
	left: 6%;
	right: 6%;
	top: 1.55rem;
	height: 1px;
	background: linear-gradient(90deg, rgba(241,90,36,.2), rgba(241,90,36,.8), rgba(241,90,36,.2));
}

.floorit-workflow-step {
	position: relative;
	padding: 0 1.1rem;
}

.floorit-workflow-step__number {
	position: relative;
	display: grid;
	width: 3.1rem;
	height: 3.1rem;
	place-items: center;
	margin-bottom: 1.1rem;
	border: 1px solid rgba(241,90,36,.28);
	border-radius: 50%;
	background: #fff;
	color: var(--floorit-orange-deep);
	font-size: .74rem;
	font-weight: 850;
	box-shadow: 0 0 0 .45rem #fff;
	z-index: 2;
}

.floorit-workflow-step h3 {
	margin: 0 0 .5rem;
	color: var(--floorit-ink);
	font-size: 1rem;
}

.floorit-workflow-step p {
	margin: 0;
	color: var(--floorit-muted);
	font-size: .84rem;
	line-height: 1.6;
}

/* Direct contact - personal, but no fake photography. */
.floorit-contact-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}

.floorit-contact-copy {
	max-width: 42rem;
	color: var(--floorit-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.floorit-contact-copy .wp-block-buttons {
	margin-top: 1.35rem;
}

.floorit-contact-visual {
	position: relative;
	min-height: 23rem;
	border-radius: 2rem;
	background:
		radial-gradient(circle at 18% 18%, rgba(241,90,36,.18), transparent 10rem),
		linear-gradient(145deg, #151d2b, #26334a);
	box-shadow: 0 30px 75px rgba(17,24,39,.20);
	overflow: hidden;
}

.floorit-contact-visual::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 32px 32px;
	pointer-events: none;
}

.floorit-contact-avatar {
	position: absolute;
	left: 2rem;
	top: 2rem;
	display: grid;
	width: 5.2rem;
	height: 5.2rem;
	place-items: center;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 1.4rem;
	background: rgba(255,255,255,.09);
	color: #fff;
	font-size: 1.45rem;
	font-weight: 900;
	letter-spacing: -.04em;
	z-index: 2;
}

.floorit-contact-avatar span {
	position: absolute;
	right: -.28rem;
	bottom: -.28rem;
	width: 1rem;
	height: 1rem;
	border: .2rem solid #1b2637;
	border-radius: 50%;
	background: #12b76a;
}

.floorit-contact-card {
	position: absolute;
	padding: .9rem 1rem;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 1rem;
	background: rgba(255,255,255,.09);
	backdrop-filter: blur(8px);
	color: #fff;
	z-index: 2;
}

.floorit-contact-card small,
.floorit-contact-card span {
	display: block;
	color: #aab4c2;
	font-size: .68rem;
}

.floorit-contact-card strong {
	display: block;
	margin: .25rem 0;
	font-size: .95rem;
}

.floorit-contact-card--main {
	left: 7.9rem;
	right: 2rem;
	top: 2.15rem;
}

.floorit-contact-card--place {
	left: 2rem;
	bottom: 2rem;
	width: 10rem;
}

.floorit-contact-card--line {
	right: 2rem;
	bottom: 2rem;
	width: min(14rem, 46%);
}

.floorit-contact-card--line .floorit-status {
	margin-bottom: .4rem;
}

.floorit-contact-card--line strong {
	font-size: .8rem;
	line-height: 1.45;
}

/* Make dark final CTA feel deliberate, not faded. */
.floorit-section--dark {
	padding-block: clamp(4rem, 7vw, 6.5rem);
}

.floorit-section--dark .floorit-section__head {
	align-items: center;
	text-align: center;
}

.floorit-section--dark .floorit-section__head h2 {
	margin-inline: auto;
	text-align: center;
}

.floorit-section--dark .floorit-section__copy {
	max-width: 46rem;
	margin-inline: auto;
	text-align: center;
}

@media (max-width: 1000px) {
	.floorit-problems-layout,
	.floorit-contact-split {
		grid-template-columns: 1fr;
	}

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

	.floorit-service-card,
	.floorit-service-card:nth-child(4),
	.floorit-service-card:nth-child(5) {
		grid-column: auto;
	}

	.floorit-project-tile,
	.floorit-project-tile--featured {
		grid-column: span 6;
	}

	.floorit-workflow-line {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem 0;
	}

	.floorit-workflow-line::before {
		display: none;
	}

	.floorit-workflow-step {
		padding-inline: 0 1.5rem;
	}
}

@media (max-width: 720px) {
	.floorit-visual-head h2 {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.floorit-service-grid,
	.floorit-workflow-line {
		grid-template-columns: 1fr;
	}

	.floorit-project-tile,
	.floorit-project-tile--featured {
		grid-column: 1 / -1;
	}

	.floorit-project-tile--featured {
		grid-template-rows: 11rem 1fr;
	}

	.floorit-workflow-step {
		display: grid;
		grid-template-columns: 3.2rem 1fr;
		gap: 1rem;
		align-items: start;
		padding: 0;
	}

	.floorit-workflow-step__number {
		margin: 0;
	}

	.floorit-contact-visual {
		min-height: 21rem;
	}

	.floorit-contact-card--main {
		left: 6.8rem;
		right: 1rem;
	}

	.floorit-contact-card--place {
		left: 1rem;
		bottom: 1rem;
	}

	.floorit-contact-card--line {
		right: 1rem;
		bottom: 1rem;
		width: 48%;
	}

	.floorit-signal-row {
		grid-template-columns: auto 1fr auto;
	}

	.floorit-signal-row small {
		grid-column: 2 / -1;
	}
}


.floorit-inline-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.35rem;
}

.floorit-inline-actions .wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--floorit-orange);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 10px 28px rgba(241,90,36,.18);
}

.floorit-inline-actions .wp-element-button:hover {
	background: var(--floorit-orange-deep);
	transform: translateY(-2px);
}


/* 0.3.1 dark CTA contrast hardening */
.floorit-section--dark .floorit-section__head h2 {
	color: #fff;
}

.floorit-section--dark .floorit-section__copy,
.floorit-section--dark .floorit-section__copy p {
	color: #d7dce5;
}

.floorit-section--dark .floorit-kicker {
	color: #ff8a5f;
}


/* =====================================================================
 * Floor-IT.eu 0.4.0 - interaction layer
 * ===================================================================== */

.floorit-scroll-progress {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	z-index: 99999;
	pointer-events: none;
	transform: scaleX(0);
	transform-origin: left center;
	background: linear-gradient(90deg, var(--floorit-orange), #ff9b78);
	box-shadow: 0 0 18px rgba(241,90,36,.42);
}

body.admin-bar .floorit-scroll-progress {
	top: 32px;
}

.floorit-header {
	position: sticky;
	top: 0;
	transition:
		background .22s ease,
		box-shadow .22s ease,
		border-color .22s ease,
		transform .22s ease;
}

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

.floorit-header.is-scrolled {
	background: rgba(255,255,255,.96);
	border-bottom-color: rgba(17,24,39,.13);
	box-shadow: 0 10px 32px rgba(17,24,39,.07);
}

.floorit-header > .wp-block-group {
	transition: min-height .22s ease, padding .22s ease;
}

.floorit-header.is-scrolled > .wp-block-group {
	min-height: 64px;
}

/* Reveal only after JS has proven it can reveal again. */
.floorit-effects-ready .floorit-reveal {
	opacity: 0;
	transform: translateY(24px) scale(.992);
	filter: blur(3px);
	transition:
		opacity .62s cubic-bezier(.2,.8,.2,1),
		transform .68s cubic-bezier(.2,.8,.2,1),
		filter .55s ease;
	transition-delay: var(--floorit-reveal-delay, 0ms);
}

.floorit-effects-ready .floorit-reveal.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
	filter: blur(0);
}

/* Cursor-following light and perspective. */
.floorit-reactive {
	--floorit-pointer-x: 50%;
	--floorit-pointer-y: 50%;
	--floorit-tilt-x: 0deg;
	--floorit-tilt-y: 0deg;
	transform:
		perspective(950px)
		rotateX(var(--floorit-tilt-x))
		rotateY(var(--floorit-tilt-y))
		translateY(0);
	transform-style: preserve-3d;
	will-change: transform;
}

.floorit-reactive:hover,
.floorit-reactive:focus-visible {
	transform:
		perspective(950px)
		rotateX(var(--floorit-tilt-x))
		rotateY(var(--floorit-tilt-y))
		translateY(-6px);
}

.floorit-intent-card,
.floorit-service-card,
.floorit-project-tile,
.floorit-card,
.floorit-strategy-card {
	position: relative;
	isolation: isolate;
}

.floorit-intent-card::before,
.floorit-service-card::before,
.floorit-project-tile::before,
.floorit-card::before,
.floorit-strategy-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 4;
	border-radius: inherit;
	pointer-events: none;
	opacity: 0;
	background:
		radial-gradient(
			380px circle at var(--floorit-pointer-x, 50%) var(--floorit-pointer-y, 50%),
			rgba(241,90,36,.14),
			rgba(241,90,36,.045) 34%,
			transparent 66%
		);
	transition: opacity .24s ease;
}

.floorit-intent-card:hover::before,
.floorit-intent-card:focus-visible::before,
.floorit-service-card:hover::before,
.floorit-service-card:focus-visible::before,
.floorit-project-tile:hover::before,
.floorit-project-tile:focus-visible::before,
.floorit-card:hover::before,
.floorit-card:focus-within::before,
.floorit-strategy-card:hover::before {
	opacity: 1;
}

.floorit-intent-card:hover,
.floorit-service-card:hover,
.floorit-project-tile:hover,
.floorit-card:hover {
	box-shadow:
		0 24px 65px rgba(17,24,39,.13),
		0 0 0 1px rgba(241,90,36,.08),
		0 0 42px rgba(241,90,36,.08);
}

/* Links visibly react instead of only changing browser cursor. */
.floorit-site main p a:not(.wp-element-button),
.floorit-site main li a:not(.wp-element-button),
.floorit-footer a {
	position: relative;
	text-decoration: none;
	background-image: linear-gradient(var(--floorit-orange), var(--floorit-orange));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1.5px;
	transition:
		color .18s ease,
		background-size .28s cubic-bezier(.2,.8,.2,1);
}

.floorit-site main p a:not(.wp-element-button):hover,
.floorit-site main p a:not(.wp-element-button):focus-visible,
.floorit-site main li a:not(.wp-element-button):hover,
.floorit-site main li a:not(.wp-element-button):focus-visible,
.floorit-footer a:hover,
.floorit-footer a:focus-visible {
	color: var(--floorit-orange-deep);
	background-size: 100% 1.5px;
}

.floorit-header .wp-block-navigation-item__content {
	position: relative;
}

.floorit-header .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -.38rem;
	height: 2px;
	border-radius: 999px;
	background: var(--floorit-orange);
	transition: right .23s cubic-bezier(.2,.8,.2,1);
}

.floorit-header .wp-block-navigation-item__content:hover::after,
.floorit-header .wp-block-navigation-item__content:focus-visible::after {
	right: 0;
}

/* Arrows in card CTAs move with intent. */
.floorit-card a,
.floorit-service-card__body span,
.floorit-project-tile__body span,
.floorit-intent-arrow {
	transition:
		color .18s ease,
		transform .22s cubic-bezier(.2,.8,.2,1);
}

.floorit-card:hover a {
	color: var(--floorit-orange-deep);
}

.floorit-service-card:hover .floorit-service-card__body span,
.floorit-project-tile:hover .floorit-project-tile__body span {
	color: var(--floorit-orange-deep);
	transform: translateX(5px);
}

/* Buttons get a controlled light sweep, not a permanent glow. */
.floorit-site .wp-element-button {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.floorit-site .wp-element-button::after {
	content: "";
	position: absolute;
	top: -40%;
	bottom: -40%;
	left: -55%;
	width: 34%;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(
		100deg,
		transparent,
		rgba(255,255,255,.34),
		transparent
	);
	transform: skewX(-18deg);
	transition: left .48s cubic-bezier(.2,.8,.2,1);
}

.floorit-site .wp-element-button:hover::after,
.floorit-site .wp-element-button:focus-visible::after {
	left: 125%;
}

/* Hero interface has a restrained pointer parallax. */
.floorit-hero-demo {
	perspective: 1100px;
}

.floorit-demo-window {
	transform:
		translate3d(
			var(--floorit-hero-shift-x, 0px),
			var(--floorit-hero-shift-y, 0px),
			0
		)
		rotate(1.2deg)
		rotateX(var(--floorit-hero-rotate-x, 0deg))
		rotateY(var(--floorit-hero-rotate-y, 0deg));
	transition: transform .18s ease-out;
	will-change: transform;
}

.floorit-demo-note {
	transition: transform .2s ease-out, box-shadow .2s ease;
}

.floorit-hero-demo:hover .floorit-demo-note {
	transform: rotate(-1deg) translate3d(3px,-4px,0);
	box-shadow: 0 22px 48px rgba(17,24,39,.15);
}

/* Visual components get additional state changes on hover. */
.floorit-service-card:hover .floorit-service-visual--network i:nth-child(1),
.floorit-service-card:hover .floorit-service-visual--network i:nth-child(3) {
	box-shadow:
		0 0 0 1px rgba(17,24,39,.12),
		0 6px 14px rgba(17,24,39,.12),
		0 0 0 .42rem rgba(241,90,36,.09);
}

.floorit-service-card:hover .floorit-service-visual--browser > span:nth-of-type(3) {
	background:
		linear-gradient(90deg, rgba(241,90,36,1) 0 48%, transparent 48%),
		#fff;
}

.floorit-service-card:hover .floorit-service-visual--messages span:nth-child(3) {
	transform: translateX(5px);
}

.floorit-service-visual--messages span,
.floorit-service-visual--browser > span {
	transition: transform .22s ease, background .3s ease;
}

.floorit-project-tile__visual > * {
	transition: transform .34s cubic-bezier(.2,.8,.2,1);
}

.floorit-project-tile:hover .floorit-project-tile__visual > * {
	transform: scale(1.035) translateY(-2px);
}

/* Focus must remain obvious for keyboard users. */
.floorit-site a:focus-visible,
.floorit-site button:focus-visible {
	outline: 3px solid rgba(241,90,36,.36);
	outline-offset: 3px;
}

/* Mobile/admin offsets. */
@media (max-width: 782px) {
	body.admin-bar .floorit-scroll-progress {
		top: 46px;
	}

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

@media (prefers-reduced-motion: reduce) {
	.floorit-scroll-progress {
		display: none;
	}

	.floorit-effects-ready .floorit-reveal,
	.floorit-effects-ready .floorit-reveal.is-visible {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}

	.floorit-reactive,
	.floorit-reactive:hover,
	.floorit-reactive:focus-visible,
	.floorit-demo-window,
	.floorit-demo-note,
	.floorit-hero-demo:hover .floorit-demo-note {
		transform: none;
		transition: none;
	}

	.floorit-site .wp-element-button::after {
		display: none;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.5.0 - premium motion system
 * ===================================================================== */

/* Section titles feel introduced, not dumped onto the page. */
.floorit-effects-ready .floorit-section.floorit-reveal .floorit-kicker::before,
.floorit-effects-ready .floorit-intents.floorit-reveal .floorit-kicker::before {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .58s cubic-bezier(.2,.8,.2,1) .12s;
}

.floorit-effects-ready .floorit-section.floorit-reveal.is-visible .floorit-kicker::before,
.floorit-effects-ready .floorit-intents.floorit-reveal.is-visible .floorit-kicker::before {
	transform: scaleX(1);
}

.floorit-effects-ready .floorit-section.floorit-reveal h2,
.floorit-effects-ready .floorit-section.floorit-reveal .floorit-visual-head h2 {
	transition: transform .66s cubic-bezier(.2,.8,.2,1), opacity .55s ease;
}

.floorit-effects-ready .floorit-section.floorit-reveal:not(.is-visible) h2,
.floorit-effects-ready .floorit-section.floorit-reveal:not(.is-visible) .floorit-visual-head h2 {
	opacity: 0;
	transform: translateY(18px);
}

/* The pointer glow must also work on the signal board. */
.floorit-signal-board {
	isolation: isolate;
	transform:
		perspective(1000px)
		rotateX(var(--floorit-tilt-x, 0deg))
		rotateY(var(--floorit-tilt-y, 0deg));
	transform-style: preserve-3d;
	transition: transform .22s ease, box-shadow .24s ease, border-color .24s ease;
}

.floorit-signal-board::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 5;
	border-radius: inherit;
	pointer-events: none;
	opacity: 0;
	background:
		radial-gradient(
			430px circle at var(--floorit-pointer-x, 50%) var(--floorit-pointer-y, 50%),
			rgba(241,90,36,.14),
			transparent 62%
		);
	transition: opacity .24s ease;
}

.floorit-signal-board:hover {
	border-color: rgba(241,90,36,.25);
	box-shadow:
		0 30px 80px rgba(17,24,39,.13),
		0 0 48px rgba(241,90,36,.08);
}

.floorit-signal-board:hover::after {
	opacity: 1;
}

/* Scan line + sequential signal states. */
.floorit-signal-board__top {
	position: relative;
	overflow: hidden;
}

.floorit-signal-board__top::after {
	content: "";
	position: absolute;
	left: -34%;
	bottom: 0;
	width: 30%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--floorit-orange), transparent);
	opacity: 0;
}

.floorit-signal-board.is-inview .floorit-signal-board__top::after {
	animation: floorit-scanline 3.2s ease-in-out infinite;
}

.floorit-signal-row {
	position: relative;
	transition:
		background .32s ease,
		transform .32s cubic-bezier(.2,.8,.2,1),
		opacity .32s ease;
}

.floorit-signal-row[data-active="true"] {
	z-index: 2;
	background: linear-gradient(90deg, rgba(241,90,36,.075), rgba(241,90,36,.015));
	transform: translateX(5px);
}

.floorit-signal-row[data-active="true"] .floorit-signal-dot {
	animation: floorit-status-pulse 1.15s ease-out infinite;
}

.floorit-signal-row[data-active="true"] b {
	color: var(--floorit-orange);
	transform: translateX(-3px);
}

.floorit-signal-row b {
	transition: color .25s ease, transform .25s ease;
}

.floorit-signal-board__result {
	transform:
		translateY(calc((1 - var(--floorit-scene-progress, .5)) * 8px));
	transition: transform .16s linear, box-shadow .3s ease;
}

.floorit-signal-board.is-inview .floorit-signal-board__result {
	box-shadow: inset 3px 0 0 rgba(241,90,36,.8);
}

/* Service cards now behave like tiny live products. */
.floorit-service-card.is-inview .floorit-service-visual--network i:nth-child(1) {
	animation: floorit-node-pulse 3s ease-in-out infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--network i:nth-child(2) {
	animation: floorit-node-pulse 3s ease-in-out .55s infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--network i:nth-child(3) {
	animation: floorit-node-pulse 3s ease-in-out 1.1s infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--network i:nth-child(4) {
	animation: floorit-node-pulse 3s ease-in-out 1.65s infinite;
}

.floorit-service-visual--network span::after {
	content: "";
	position: absolute;
	left: 0;
	top: -2px;
	width: .36rem;
	height: .36rem;
	border-radius: 50%;
	background: var(--floorit-orange);
	box-shadow: 0 0 10px rgba(241,90,36,.5);
	opacity: 0;
}

.floorit-service-card.is-inview .floorit-service-visual--network span::after {
	opacity: 1;
	animation: floorit-packet 3.1s ease-in-out infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--browser > span:nth-of-type(3) {
	background:
		linear-gradient(90deg, rgba(241,90,36,.88) 0 28%, transparent 28%),
		#fff;
	animation: floorit-browser-progress 4.4s ease-in-out infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--messages span:nth-child(1) {
	animation: floorit-message-in 4.6s ease-in-out infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--messages span:nth-child(2) {
	animation: floorit-message-in 4.6s ease-in-out .65s infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--messages span:nth-child(3) {
	animation: floorit-message-in 4.6s ease-in-out 1.3s infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--screen > div {
	animation: floorit-screen-glow 4s ease-in-out infinite;
}

.floorit-service-card.is-inview .floorit-service-visual--home i {
	animation: floorit-energy-line 4.2s ease-in-out infinite;
}

/* Scroll-driven customer journey. */
.floorit-process-visual {
	position: relative;
	--floorit-flow-progress: .25;
}

.floorit-process-visual::before {
	content: "";
	position: absolute;
	left: 2.5%;
	right: 2.5%;
	top: 50%;
	height: 2px;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(
			90deg,
			var(--floorit-orange) 0 calc(var(--floorit-flow-progress) * 100%),
			rgba(241,90,36,.12) calc(var(--floorit-flow-progress) * 100%) 100%
		);
	transition: background .35s ease;
}

.floorit-process-step {
	z-index: 1;
	transition:
		transform .3s cubic-bezier(.2,.8,.2,1),
		border-color .3s ease,
		box-shadow .3s ease,
		background .3s ease;
}

.floorit-process-step[data-active="true"] {
	transform: translateY(-9px) scale(1.025);
	border-color: rgba(241,90,36,.38);
	background: #fffaf7;
	box-shadow:
		0 20px 48px rgba(17,24,39,.12),
		0 0 34px rgba(241,90,36,.08);
}

.floorit-process-step[data-complete="true"] {
	border-color: rgba(18,183,106,.22);
}

.floorit-process-step[data-active="true"] span {
	background: var(--floorit-orange);
	color: #fff;
	box-shadow: 0 0 0 .35rem rgba(241,90,36,.10);
}

/* Strategy: scroll depth + active decision card. */
.floorit-strategy-callout {
	position: relative;
	overflow: hidden;
}

.floorit-strategy-callout::after {
	content: "";
	position: absolute;
	width: 30rem;
	height: 30rem;
	right: -12rem;
	top: -13rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(241,90,36,.15), transparent 67%);
	transform:
		translate3d(
			calc(var(--floorit-scene-shift, 0) * -24px),
			calc(var(--floorit-scene-shift, 0) * 18px),
			0
		);
	pointer-events: none;
}

.floorit-strategy-card {
	transition:
		transform .45s cubic-bezier(.2,.8,.2,1),
		background .35s ease,
		border-color .35s ease,
		box-shadow .35s ease,
		opacity .35s ease;
}

.floorit-strategy-card[data-active="true"] {
	z-index: 4;
	border-color: rgba(241,90,36,.34);
	background: rgba(241,90,36,.15);
	box-shadow:
		0 22px 48px rgba(0,0,0,.24),
		0 0 38px rgba(241,90,36,.08);
}

.floorit-strategy-card:nth-child(1) {
	transform:
		translateY(calc(var(--floorit-scene-shift, 0) * -10px))
		rotate(-4deg);
}

.floorit-strategy-card:nth-child(2) {
	transform:
		translateY(calc(var(--floorit-scene-shift, 0) * 13px))
		rotate(3deg);
}

.floorit-strategy-card:nth-child(3) {
	transform:
		translateY(calc(var(--floorit-scene-shift, 0) * -7px))
		rotate(-1deg);
}

.floorit-strategy-card[data-active="true"]:nth-child(1),
.floorit-strategy-card[data-active="true"]:nth-child(2),
.floorit-strategy-card[data-active="true"]:nth-child(3) {
	transform: translateY(-7px) rotate(0deg) scale(1.035);
}

/* Project mockups now visibly do something while they are on screen. */
.floorit-project-tile.is-inview .floorit-qroep-mock b:first-of-type {
	animation: floorit-qroep-action 4s ease-in-out infinite;
}

.floorit-project-tile.is-inview .floorit-qroep-mock b:nth-of-type(2) {
	animation: floorit-qroep-action 4s ease-in-out 1.2s infinite;
}

.floorit-project-tile.is-inview .floorit-signage-mock i:nth-of-type(1) {
	animation: floorit-playlist 4.8s ease-in-out infinite;
}

.floorit-project-tile.is-inview .floorit-signage-mock i:nth-of-type(2) {
	animation: floorit-playlist 4.8s ease-in-out .7s infinite;
}

.floorit-project-tile.is-inview .floorit-signage-mock i:nth-of-type(3) {
	animation: floorit-playlist 4.8s ease-in-out 1.4s infinite;
}

.floorit-project-tile.is-inview .floorit-review-mock div {
	animation: floorit-stars 3.6s ease-in-out infinite;
}

.floorit-project-tile.is-inview .floorit-contact-mock span:nth-child(1) {
	animation: floorit-followup 4.5s ease-in-out infinite;
}

.floorit-project-tile.is-inview .floorit-contact-mock span:nth-child(2) {
	animation: floorit-followup 4.5s ease-in-out .7s infinite;
}

.floorit-project-tile.is-inview .floorit-contact-mock span:nth-child(3) {
	animation: floorit-followup 4.5s ease-in-out 1.4s infinite;
}

.floorit-project-tile.is-inview .floorit-stack-mock span {
	animation: floorit-stack-chip 5s ease-in-out infinite;
}

.floorit-project-tile.is-inview .floorit-stack-mock span:nth-child(2) { animation-delay: .55s; }
.floorit-project-tile.is-inview .floorit-stack-mock span:nth-child(3) { animation-delay: 1.1s; }
.floorit-project-tile.is-inview .floorit-stack-mock span:nth-child(4) { animation-delay: 1.65s; }

/* Workflow line now draws itself when it enters. */
.floorit-workflow-line::after {
	content: "";
	position: absolute;
	left: 6%;
	top: 1.55rem;
	width: 88%;
	height: 2px;
	z-index: 0;
	background: var(--floorit-orange);
	transform: scaleX(0);
	transform-origin: left center;
	opacity: .8;
}

.floorit-workflow-line.is-inview::after {
	animation: floorit-line-draw 1.15s cubic-bezier(.2,.8,.2,1) .15s forwards;
}

.floorit-workflow-line.is-inview .floorit-workflow-step__number {
	animation: floorit-number-pop .58s cubic-bezier(.2,.8,.2,1) both;
}

.floorit-workflow-line.is-inview .floorit-workflow-step:nth-child(2) .floorit-workflow-step__number { animation-delay: .14s; }
.floorit-workflow-line.is-inview .floorit-workflow-step:nth-child(3) .floorit-workflow-step__number { animation-delay: .28s; }
.floorit-workflow-line.is-inview .floorit-workflow-step:nth-child(4) .floorit-workflow-step__number { animation-delay: .42s; }

/* Contact visual has depth linked to scroll rather than random floating. */
.floorit-contact-card--main {
	transform: translateY(calc(var(--floorit-scene-shift, 0) * -10px));
}

.floorit-contact-card--place {
	transform: translateY(calc(var(--floorit-scene-shift, 0) * 9px));
}

.floorit-contact-card--line {
	transform: translateY(calc(var(--floorit-scene-shift, 0) * -6px));
}

.floorit-contact-visual.is-inview .floorit-contact-avatar span {
	animation: floorit-online 2.3s ease-out infinite;
}

.floorit-contact-card {
	transition: transform .15s linear, border-color .25s ease, background .25s ease;
}

/* CTA magnetism */
.floorit-site .wp-element-button {
	transform:
		translate(
			var(--floorit-magnet-x, 0px),
			var(--floorit-magnet-y, 0px)
		);
	transition:
		transform .16s ease-out,
		background .18s ease,
		box-shadow .18s ease,
		border-color .18s ease;
}

.floorit-site .wp-element-button:hover {
	box-shadow:
		0 14px 35px rgba(241,90,36,.23),
		0 0 28px rgba(241,90,36,.08);
}

/* Ambient section light follows page progress but stays almost invisible. */
.floorit-home .floorit-section {
	background-image:
		radial-gradient(
			600px circle at calc(15% + var(--floorit-page-progress, .5) * 70%) 10%,
			rgba(241,90,36,.025),
			transparent 72%
		);
}

/* Keyframes */
@keyframes floorit-scanline {
	0%, 18% { left: -34%; opacity: 0; }
	26% { opacity: 1; }
	74% { opacity: 1; }
	84%, 100% { left: 104%; opacity: 0; }
}

@keyframes floorit-status-pulse {
	0% { box-shadow: 0 0 0 0 rgba(241,90,36,.20); }
	70% { box-shadow: 0 0 0 .5rem rgba(241,90,36,0); }
	100% { box-shadow: 0 0 0 0 rgba(241,90,36,0); }
}

@keyframes floorit-node-pulse {
	0%, 72%, 100% { transform: scale(1); }
	80% { transform: scale(1.18); }
	88% { transform: scale(.98); }
}

@keyframes floorit-packet {
	0%, 8% { left: 0; opacity: 0; }
	14% { opacity: 1; }
	78% { opacity: 1; }
	88%, 100% { left: calc(100% - .36rem); opacity: 0; }
}

@keyframes floorit-browser-progress {
	0%, 16% {
		background:
			linear-gradient(90deg, rgba(241,90,36,.88) 0 22%, transparent 22%),
			#fff;
	}
	48%, 66% {
		background:
			linear-gradient(90deg, rgba(241,90,36,.96) 0 56%, transparent 56%),
			#fff;
	}
	100% {
		background:
			linear-gradient(90deg, rgba(241,90,36,.88) 0 22%, transparent 22%),
			#fff;
	}
}

@keyframes floorit-message-in {
	0%, 8% { opacity: .45; transform: translateY(5px) scale(.98); }
	18%, 70% { opacity: 1; transform: translateY(0) scale(1); }
	88%, 100% { opacity: .72; }
}

@keyframes floorit-screen-glow {
	0%, 100% { box-shadow: 0 14px 30px rgba(17,24,39,.15); }
	50% { box-shadow: 0 18px 36px rgba(241,90,36,.18); }
}

@keyframes floorit-energy-line {
	0%, 100% { transform: translateX(0); filter: saturate(.9); }
	50% { transform: translateX(4px); filter: saturate(1.35); }
}

@keyframes floorit-qroep-action {
	0%, 68%, 100% { background: #fff; color: var(--floorit-ink); transform: translateY(0); }
	76%, 86% { background: var(--floorit-orange); color: #fff; transform: translateY(-2px); }
}

@keyframes floorit-playlist {
	0%, 68%, 100% { transform: scale(1); filter: saturate(1); }
	78%, 88% { transform: scale(1.05); filter: saturate(1.5); }
}

@keyframes floorit-stars {
	0%, 100% { text-shadow: none; transform: translateY(0); }
	50% { text-shadow: 0 0 14px rgba(245,158,11,.32); transform: translateY(-1px); }
}

@keyframes floorit-followup {
	0%, 15% { opacity: .45; transform: translateX(-4px); }
	28%, 72% { opacity: 1; transform: translateX(0); }
	88%, 100% { opacity: .68; }
}

@keyframes floorit-stack-chip {
	0%, 62%, 100% { background: #eef1f5; color: #344054; transform: translateY(0); }
	72%, 82% { background: var(--floorit-warm); color: var(--floorit-orange-deep); transform: translateY(-2px); }
}

@keyframes floorit-line-draw {
	to { transform: scaleX(1); }
}

@keyframes floorit-number-pop {
	0% { opacity: .45; transform: scale(.75); }
	70% { opacity: 1; transform: scale(1.08); }
	100% { opacity: 1; transform: scale(1); }
}

@keyframes floorit-online {
	0% { box-shadow: 0 0 0 0 rgba(18,183,106,.30); }
	70% { box-shadow: 0 0 0 .65rem rgba(18,183,106,0); }
	100% { box-shadow: 0 0 0 0 rgba(18,183,106,0); }
}

@media (max-width: 1000px) {
	.floorit-process-visual::before {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.floorit-signal-board__top::after,
	.floorit-service-visual--network i,
	.floorit-service-visual--network span::after,
	.floorit-service-visual--browser > span,
	.floorit-service-visual--messages span,
	.floorit-service-visual--screen > div,
	.floorit-service-visual--home i,
	.floorit-qroep-mock b,
	.floorit-signage-mock i,
	.floorit-review-mock div,
	.floorit-contact-mock span,
	.floorit-stack-mock span,
	.floorit-workflow-line::after,
	.floorit-workflow-step__number,
	.floorit-contact-avatar span {
		animation: none !important;
	}

	.floorit-process-step[data-active="true"],
	.floorit-strategy-card[data-active="true"],
	.floorit-contact-card--main,
	.floorit-contact-card--place,
	.floorit-contact-card--line,
	.floorit-site .wp-element-button {
		transform: none !important;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.6.0 - sitewide experience
 * ===================================================================== */

/* ------------------------------------------------------------------
 * Strategy visual: stable layout first, motion second.
 * No absolute overlap and no transform collisions.
 * ------------------------------------------------------------------ */
.floorit-strategy-visual {
	display: grid;
	grid-template-columns: 1fr;
	align-content: center;
	gap: .8rem;
	min-height: 18rem;
	padding-block: .75rem;
}

.floorit-strategy-card {
	position: relative;
	inset: auto;
	width: min(19rem, 88%);
	padding: 1rem 1.1rem;
	transform: none !important;
	transition:
		transform .4s cubic-bezier(.2,.8,.2,1),
		background .32s ease,
		border-color .32s ease,
		box-shadow .32s ease,
		opacity .32s ease;
}

.floorit-strategy-card:nth-child(1) {
	justify-self: start;
	margin-left: 4%;
}

.floorit-strategy-card:nth-child(2) {
	justify-self: end;
	margin-right: 2%;
	background: rgba(241,90,36,.12);
}

.floorit-strategy-card:nth-child(3) {
	justify-self: center;
}

.floorit-strategy-card[data-active="true"] {
	z-index: 4;
	transform: translateY(-5px) scale(1.025) !important;
	border-color: rgba(241,90,36,.42);
	background: rgba(241,90,36,.16);
	box-shadow:
		0 20px 44px rgba(0,0,0,.22),
		0 0 34px rgba(241,90,36,.08);
}

/* ------------------------------------------------------------------
 * Managed subpages get the same design language as Home.
 * ------------------------------------------------------------------ */
.floorit-site:not(.floorit-home) .floorit-page-shell {
	position: relative;
	overflow: clip;
}

.floorit-site:not(.floorit-home) .floorit-page-shell::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 31rem;
	z-index: -1;
	background:
		radial-gradient(circle at 82% 15%, rgba(241,90,36,.08), transparent 23rem),
		linear-gradient(180deg, #fff 0%, #fbfbfc 100%);
	pointer-events: none;
}

.floorit-site:not(.floorit-home) .floorit-page-shell > .wp-block-group:first-child {
	width: min(calc(100% - 2rem), 1200px);
	max-width: 1200px;
	margin-inline: auto;
	padding-top: clamp(2.8rem, 6vw, 5.8rem);
}

.floorit-site:not(.floorit-home) .wp-block-post-title {
	position: relative;
	max-width: 18ch;
	margin: 0;
	color: var(--floorit-ink);
	font-size: clamp(2.6rem, 5vw, 4.8rem);
	line-height: .98;
	letter-spacing: -.055em;
	text-wrap: balance;
}

.floorit-site:not(.floorit-home) .wp-block-post-title::before {
	content: "";
	display: block;
	width: 2rem;
	height: 2px;
	margin-bottom: 1rem;
	border-radius: 99px;
	background: var(--floorit-orange);
	box-shadow: 0 0 18px rgba(241,90,36,.18);
}

.floorit-site:not(.floorit-home) .wp-block-post-content {
	padding-bottom: clamp(3rem, 6vw, 6rem);
}

.floorit-site:not(.floorit-home) .wp-block-post-content > p.has-lg-font-size:first-child {
	width: min(calc(100% - 2rem), 760px);
	max-width: 760px;
	margin: 1.4rem auto 0;
	color: var(--floorit-muted);
	font-size: clamp(1.08rem, 1.55vw, 1.28rem);
	line-height: 1.72;
}

.floorit-site:not(.floorit-home) .wp-block-post-content > .wp-block-buttons {
	width: min(calc(100% - 2rem), 760px);
	margin: 1.5rem auto clamp(2.6rem, 5vw, 4.5rem);
}

/* Subpage section rhythm: alternating depth without zebra-striping everything. */
.floorit-site:not(.floorit-home) .floorit-section {
	width: min(calc(100% - 2rem), 1200px);
	margin-inline: auto;
	padding: clamp(3.2rem, 6vw, 5.6rem) clamp(1rem, 3vw, 2.2rem);
	border-radius: clamp(1.1rem, 2vw, 1.8rem);
}

.floorit-site:not(.floorit-home) .floorit-section:nth-child(even) {
	background:
		radial-gradient(circle at 92% 5%, rgba(241,90,36,.045), transparent 18rem),
		#f8f9fb;
}

.floorit-site:not(.floorit-home) .floorit-section + .floorit-section {
	margin-top: clamp(1.4rem, 3vw, 2.6rem);
}

.floorit-site:not(.floorit-home) .floorit-section__head {
	max-width: 48rem;
}

.floorit-site:not(.floorit-home) .floorit-section__head h2 {
	font-size: clamp(2rem, 3.8vw, 3.35rem);
}

.floorit-site:not(.floorit-home) .floorit-section__copy {
	max-width: 48rem;
}

.floorit-site:not(.floorit-home) .floorit-card-grid {
	margin-top: 1.8rem;
}

/* Generic site cards feel deliberate, not plain boxes. */
.floorit-site:not(.floorit-home) .floorit-card {
	min-height: 12rem;
	padding: clamp(1.25rem, 2.2vw, 1.7rem);
	border-color: rgba(17,24,39,.09);
	background:
		linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,252,253,.98));
	box-shadow: 0 1px 0 rgba(17,24,39,.02);
}

.floorit-site:not(.floorit-home) .floorit-card h3 {
	font-size: 1.12rem;
	letter-spacing: -.02em;
}

.floorit-site:not(.floorit-home) .floorit-card:hover {
	border-color: rgba(241,90,36,.28);
}

/* Lists become scannable interaction surfaces. */
.floorit-site:not(.floorit-home) .floorit-section .wp-block-list {
	display: grid;
	gap: .55rem;
	max-width: 52rem;
	padding-left: 0;
	list-style: none;
}

.floorit-site:not(.floorit-home) .floorit-section .wp-block-list > li {
	position: relative;
	margin: 0;
	padding: .85rem 1rem .85rem 2.35rem;
	border: 1px solid rgba(17,24,39,.07);
	border-radius: .85rem;
	background: rgba(255,255,255,.72);
	color: var(--floorit-muted);
	transition:
		transform .22s cubic-bezier(.2,.8,.2,1),
		border-color .22s ease,
		background .22s ease,
		box-shadow .22s ease;
}

.floorit-site:not(.floorit-home) .floorit-section .wp-block-list > li::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 1.2rem;
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
	background: var(--floorit-orange);
	box-shadow: 0 0 0 .22rem rgba(241,90,36,.10);
}

.floorit-site:not(.floorit-home) .floorit-section .wp-block-list > li:hover {
	transform: translateX(5px);
	border-color: rgba(241,90,36,.24);
	background: #fff;
	box-shadow: 0 12px 26px rgba(17,24,39,.06);
}

/* Article/query cards also inherit the premium hover language. */
.floorit-site .wp-block-query .wp-block-post {
	position: relative;
	padding: 1.2rem;
	border: 1px solid rgba(17,24,39,.09);
	border-radius: var(--floorit-radius);
	background: #fff;
	transition:
		transform .24s cubic-bezier(.2,.8,.2,1),
		border-color .22s ease,
		box-shadow .24s ease;
}

.floorit-site .wp-block-query .wp-block-post:hover {
	transform: translateY(-5px);
	border-color: rgba(241,90,36,.25);
	box-shadow: 0 20px 45px rgba(17,24,39,.10);
}

/* Footer is part of the experience rather than a hard visual stop. */
.floorit-footer {
	position: relative;
	overflow: hidden;
}

.floorit-footer::before {
	content: "";
	position: absolute;
	right: -8rem;
	top: -10rem;
	width: 24rem;
	height: 24rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(241,90,36,.08), transparent 68%);
	pointer-events: none;
}

.floorit-footer .wp-block-column {
	position: relative;
	z-index: 1;
}

/* Subpage reveals get a slightly shorter travel than Home. */
.floorit-effects-ready .floorit-site:not(.floorit-home) .floorit-reveal {
	transform: translateY(18px) scale(.995);
}

.floorit-effects-ready .floorit-site:not(.floorit-home) .floorit-reveal.is-visible {
	transform: translateY(0) scale(1);
}

/* Page title orange rule draws itself. */
.floorit-effects-ready .floorit-site:not(.floorit-home) .wp-block-post-title::before {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .58s cubic-bezier(.2,.8,.2,1) .12s;
}

.floorit-effects-ready .floorit-site:not(.floorit-home) .wp-block-post-title.is-visible::before {
	transform: scaleX(1);
}

@media (max-width: 1000px) {
	.floorit-strategy-visual {
		min-height: auto;
	}

	.floorit-strategy-card,
	.floorit-strategy-card:nth-child(1),
	.floorit-strategy-card:nth-child(2),
	.floorit-strategy-card:nth-child(3) {
		width: 100%;
		margin: 0;
		justify-self: stretch;
	}
}

@media (max-width: 720px) {
	.floorit-site:not(.floorit-home) .floorit-section {
		padding-inline: .25rem;
		border-radius: 0;
	}

	.floorit-site:not(.floorit-home) .floorit-section:nth-child(even) {
		padding-inline: 1rem;
	}

	.floorit-site:not(.floorit-home) .wp-block-post-title {
		font-size: clamp(2.4rem, 13vw, 3.5rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.floorit-strategy-card,
	.floorit-strategy-card[data-active="true"],
	.floorit-site:not(.floorit-home) .floorit-section .wp-block-list > li,
	.floorit-site .wp-block-query .wp-block-post {
		transform: none !important;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.7.0 - navigation UX
 * ===================================================================== */

/* Strategy reset with enough specificity to beat the old nth-child positioning. */
.floorit-strategy-visual > .floorit-strategy-card,
.floorit-strategy-visual > .floorit-strategy-card:nth-child(1),
.floorit-strategy-visual > .floorit-strategy-card:nth-child(2),
.floorit-strategy-visual > .floorit-strategy-card:nth-child(3) {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	inset: auto !important;
	margin: 0 !important;
	transform: none !important;
}

.floorit-strategy-visual {
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: .85rem 0;
	align-content: center;
	min-height: 19rem;
	padding: 1rem 0;
}

.floorit-strategy-visual::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 2.4rem;
	bottom: 2.4rem;
	width: 1px;
	background: linear-gradient(
		180deg,
		transparent,
		rgba(241,90,36,.34) 18%,
		rgba(255,255,255,.13) 50%,
		rgba(241,90,36,.30) 82%,
		transparent
	);
}

.floorit-strategy-visual > .floorit-strategy-card {
	width: auto;
	max-width: none;
	z-index: 1;
}

.floorit-strategy-visual > .floorit-strategy-card:nth-child(1) {
	grid-column: 1 / span 9;
}

.floorit-strategy-visual > .floorit-strategy-card:nth-child(2) {
	grid-column: 4 / -1;
}

.floorit-strategy-visual > .floorit-strategy-card:nth-child(3) {
	grid-column: 2 / span 9;
}

.floorit-strategy-visual > .floorit-strategy-card[data-active="true"] {
	transform: translateY(-4px) scale(1.018) !important;
	border-color: rgba(241,90,36,.42);
	box-shadow:
		0 18px 42px rgba(0,0,0,.20),
		0 0 32px rgba(241,90,36,.08);
}

/* Shared heading for purpose-built subpage interaction sections. */
.floorit-subpage-head {
	max-width: 48rem;
	margin-bottom: 1.8rem;
}

.floorit-subpage-head--wide {
	max-width: 58rem;
}

.floorit-subpage-head h2 {
	max-width: 16ch;
	margin: 0;
	color: var(--floorit-ink);
	font-size: clamp(2rem, 3.8vw, 3.35rem);
	line-height: 1.04;
	letter-spacing: -.05em;
	text-wrap: balance;
}

.floorit-subpage-head p {
	max-width: 50rem;
	margin: 1rem 0 0;
	color: var(--floorit-muted);
	font-size: 1rem;
	line-height: 1.7;
}

/* Five pillars: every pixel of the card is navigation. */
.floorit-section--pillar-links,
.floorit-section--solution-links {
	width: min(calc(100% - 2rem), 1200px) !important;
	max-width: 1200px !important;
}

.floorit-pillar-link-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1rem;
	width: 100%;
}

.floorit-pillar-link {
	position: relative;
	display: flex;
	grid-column: span 2;
	min-height: 14.5rem;
	flex-direction: column;
	padding: 1.4rem;
	overflow: hidden;
	border: 1px solid rgba(17,24,39,.10);
	border-radius: var(--floorit-radius);
	background:
		radial-gradient(circle at 90% 0%, rgba(241,90,36,.07), transparent 9rem),
		#fff;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(17,24,39,.02);
	transition:
		transform .24s cubic-bezier(.2,.8,.2,1),
		border-color .22s ease,
		box-shadow .24s ease,
		background .24s ease;
}

.floorit-pillar-link:nth-child(4),
.floorit-pillar-link:nth-child(5) {
	grid-column: span 3;
}

.floorit-pillar-link:hover,
.floorit-pillar-link:focus-visible {
	transform: translateY(-6px);
	border-color: rgba(241,90,36,.32);
	background:
		radial-gradient(circle at var(--floorit-pointer-x, 75%) var(--floorit-pointer-y, 15%), rgba(241,90,36,.14), transparent 12rem),
		#fff;
	box-shadow:
		0 24px 58px rgba(17,24,39,.11),
		0 0 34px rgba(241,90,36,.06);
	outline: none;
}

.floorit-pillar-link__icon {
	display: grid;
	width: 2.9rem;
	height: 2.9rem;
	place-items: center;
	margin-bottom: 1.15rem;
	border-radius: .9rem;
	background: var(--floorit-warm);
	color: var(--floorit-orange);
	transition: transform .24s ease, background .24s ease, color .24s ease;
}

.floorit-pillar-link__icon svg {
	width: 1.35rem;
	height: 1.35rem;
}

.floorit-pillar-link:hover .floorit-pillar-link__icon,
.floorit-pillar-link:focus-visible .floorit-pillar-link__icon {
	transform: translateY(-2px) rotate(-3deg);
	background: var(--floorit-orange);
	color: #fff;
}

.floorit-pillar-link__copy {
	display: block;
}

.floorit-pillar-link__copy strong {
	display: block;
	margin-bottom: .55rem;
	color: var(--floorit-ink);
	font-size: 1.15rem;
	letter-spacing: -.02em;
}

.floorit-pillar-link__copy > span {
	display: block;
	color: var(--floorit-muted);
	font-size: .92rem;
	line-height: 1.6;
}

.floorit-pillar-link__cta {
	display: flex;
	align-items: center;
	gap: .35rem;
	margin-top: auto;
	padding-top: 1.2rem;
	color: var(--floorit-ink);
	font-size: .86rem;
	font-weight: 800;
}

.floorit-pillar-link__cta b {
	color: var(--floorit-orange);
	transition: transform .2s ease;
}

.floorit-pillar-link:hover .floorit-pillar-link__cta b,
.floorit-pillar-link:focus-visible .floorit-pillar-link__cta b {
	transform: translateX(5px);
}

/* Loose solutions: wide, honest and actually clickable. */
.floorit-solution-link-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
	width: 100%;
}

.floorit-solution-link {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: .9rem;
	align-items: center;
	min-height: 5.35rem;
	padding: 1rem 1.1rem;
	overflow: hidden;
	border: 1px solid rgba(17,24,39,.09);
	border-radius: 1rem;
	background: rgba(255,255,255,.90);
	color: inherit;
	text-decoration: none;
	transition:
		transform .22s cubic-bezier(.2,.8,.2,1),
		border-color .22s ease,
		box-shadow .22s ease,
		background .22s ease;
}

.floorit-solution-link::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0;
	background:
		radial-gradient(
			320px circle at var(--floorit-pointer-x, 50%) var(--floorit-pointer-y, 50%),
			rgba(241,90,36,.11),
			transparent 68%
		);
	transition: opacity .22s ease;
}

.floorit-solution-link:hover,
.floorit-solution-link:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(241,90,36,.30);
	background: #fff;
	box-shadow: 0 16px 36px rgba(17,24,39,.08);
	outline: none;
}

.floorit-solution-link:hover::after,
.floorit-solution-link:focus-visible::after {
	opacity: 1;
}

.floorit-solution-link__dot {
	position: relative;
	z-index: 1;
	width: .65rem;
	height: .65rem;
	border-radius: 50%;
	background: var(--floorit-orange);
	box-shadow: 0 0 0 .24rem rgba(241,90,36,.10);
	transition: box-shadow .22s ease, transform .22s ease;
}

.floorit-solution-link:hover .floorit-solution-link__dot {
	transform: scale(1.08);
	box-shadow: 0 0 0 .42rem rgba(241,90,36,.09);
}

.floorit-solution-link__body {
	position: relative;
	z-index: 1;
	display: block;
}

.floorit-solution-link__body small {
	display: block;
	margin-bottom: .18rem;
	color: var(--floorit-orange-deep);
	font-size: .64rem;
	font-weight: 850;
	letter-spacing: .065em;
	text-transform: uppercase;
}

.floorit-solution-link__body strong {
	display: block;
	color: var(--floorit-ink);
	font-size: .92rem;
	line-height: 1.42;
}

.floorit-solution-link__arrow {
	position: relative;
	z-index: 1;
	color: #98a2b3;
	font-size: 1.15rem;
	transition: transform .22s ease, color .22s ease;
}

.floorit-solution-link:hover .floorit-solution-link__arrow,
.floorit-solution-link:focus-visible .floorit-solution-link__arrow {
	color: var(--floorit-orange);
	transform: translate(4px,-4px);
}

/* Don't make the purpose-built clickable list look like generic bullet rows. */
.floorit-section--solution-links .wp-block-list {
	display: none;
}

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

	.floorit-pillar-link,
	.floorit-pillar-link:nth-child(4),
	.floorit-pillar-link:nth-child(5) {
		grid-column: auto;
	}

	.floorit-solution-link-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.floorit-pillar-link-grid {
		grid-template-columns: 1fr;
	}

	.floorit-strategy-visual {
		grid-template-columns: 1fr;
	}

	.floorit-strategy-visual > .floorit-strategy-card:nth-child(1),
	.floorit-strategy-visual > .floorit-strategy-card:nth-child(2),
	.floorit-strategy-visual > .floorit-strategy-card:nth-child(3) {
		grid-column: 1;
	}

	.floorit-strategy-visual::before {
		left: 1rem;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.8.0 - responsive hardening
 * ===================================================================== */

/* Stop wide visual layers from dictating layout width. */
html,
body,
.wp-site-blocks,
.floorit-page-shell,
.floorit-site main,
.floorit-site .wp-block-post-content {
	max-width: 100%;
}

html,
body,
.wp-site-blocks,
.floorit-page-shell,
.floorit-site main {
	overflow-x: clip;
}

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

.floorit-site :where(
	.wp-block-group,
	.wp-block-column,
	.wp-block-post-content,
	.floorit-hero__grid,
	.floorit-intent-grid,
	.floorit-card-grid,
	.floorit-service-grid,
	.floorit-project-showcase,
	.floorit-process-visual,
	.floorit-workflow-line,
	.floorit-problems-layout,
	.floorit-contact-split,
	.floorit-strategy-callout,
	.floorit-pillar-link-grid,
	.floorit-solution-link-grid
) > * {
	min-width: 0;
}

.floorit-site img,
.floorit-site video,
.floorit-site iframe,
.floorit-site svg {
	max-width: 100%;
}

.floorit-site h1,
.floorit-site h2,
.floorit-site h3,
.floorit-site p,
.floorit-site li,
.floorit-site a,
.floorit-site strong,
.floorit-site span {
	overflow-wrap: break-word;
}

/* Full-bleed backgrounds are visual only; clipping happens on page-shell. */
.floorit-section--soft::before,
.floorit-section--warm::before,
.floorit-section--dark::before {
	width: 100dvw;
	max-width: 100dvw;
}

/* Desktop hero can breathe; don't force the visual column too long. */
.floorit-hero-demo {
	width: 100%;
	max-width: 46rem;
	justify-self: end;
}

.floorit-demo-note {
	max-width: calc(100% - .8rem);
}

.floorit-header > .wp-block-group {
	width: min(calc(100% - 2rem), 1200px);
	margin-inline: auto;
	gap: clamp(.8rem, 2vw, 1.5rem);
}

.floorit-header .wp-block-navigation {
	min-width: 0;
}

.floorit-header .wp-block-navigation__container {
	gap: clamp(.7rem, 1.4vw, 1.25rem);
}

/* 1180px: move from desktop composition to tablet composition before clipping starts. */
@media (max-width: 1180px) {
	.floorit-header .wp-block-buttons {
		display: none;
	}

	.floorit-hero__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.floorit-hero-demo {
		justify-self: center;
		max-width: 44rem;
		width: min(100%, 44rem);
	}

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

	.floorit-strategy-callout,
	.floorit-contact-split,
	.floorit-problems-layout {
		grid-template-columns: 1fr;
	}

	.floorit-strategy-visual,
	.floorit-contact-visual,
	.floorit-signal-board {
		width: min(100%, 46rem);
		margin-inline: auto;
	}

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

	.floorit-service-card,
	.floorit-service-card:nth-child(4),
	.floorit-service-card:nth-child(5) {
		grid-column: auto;
	}

	.floorit-project-showcase {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.floorit-project-tile,
	.floorit-project-tile--featured {
		grid-column: auto;
	}

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

	.floorit-card-grid--services .floorit-card:nth-child(4),
	.floorit-card-grid--services .floorit-card:nth-child(5) {
		grid-column: auto;
	}

	.floorit-process-visual,
	.floorit-workflow-line {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.floorit-process-visual::before,
	.floorit-workflow-line::before,
	.floorit-workflow-line::after {
		display: none;
	}
}

/* 860px: one-column interaction surfaces and simpler inner demos. */
@media (max-width: 860px) {
	.floorit-intent-grid,
	.floorit-service-grid,
	.floorit-project-showcase,
	.floorit-card-grid,
	.floorit-process-visual,
	.floorit-workflow-line,
	.floorit-pillar-link-grid,
	.floorit-solution-link-grid {
		grid-template-columns: 1fr;
	}

	.floorit-pillar-link,
	.floorit-pillar-link:nth-child(4),
	.floorit-pillar-link:nth-child(5) {
		grid-column: 1;
	}

	.floorit-project-tile,
	.floorit-project-tile--featured {
		grid-column: 1;
	}

	.floorit-intents__intro {
		display: grid;
		align-items: start;
		gap: .8rem;
	}

	.floorit-intents__intro h2,
	.floorit-intents__intro p {
		max-width: none;
	}

	.floorit-strategy-callout {
		gap: 1.7rem;
	}

	.floorit-strategy-visual {
		min-height: auto;
		padding-top: .25rem;
	}

	.floorit-strategy-visual > .floorit-strategy-card,
	.floorit-strategy-visual > .floorit-strategy-card:nth-child(1),
	.floorit-strategy-visual > .floorit-strategy-card:nth-child(2),
	.floorit-strategy-visual > .floorit-strategy-card:nth-child(3) {
		grid-column: 1 / -1;
		width: 100%;
		justify-self: stretch;
	}

	.floorit-strategy-visual::before {
		display: none;
	}

	.floorit-contact-visual {
		min-height: 22rem;
	}

	.floorit-section--pillar-links,
	.floorit-section--solution-links {
		width: min(calc(100% - 1.25rem), 1200px) !important;
	}
}

/* Phone layout: no decorative element may sit outside the viewport. */
@media (max-width: 620px) {
	.floorit-header > .wp-block-group {
		width: min(calc(100% - 1rem), 1200px);
	}

	.floorit-hero {
		padding-top: 2.25rem;
	}

	.floorit-hero::before {
		right: -21rem;
		width: 30rem;
		height: 30rem;
	}

	.floorit-hero h1 {
		font-size: clamp(2.65rem, 13.5vw, 4rem);
		letter-spacing: -.055em;
	}

	.floorit-hero__lead {
		font-size: 1.03rem;
	}

	.floorit-hero-demo {
		min-height: 32rem;
	}

	.floorit-demo-window {
		inset: 0;
	}

	.floorit-demo-canvas {
		padding: .8rem;
	}

	.floorit-flow {
		grid-template-columns: 1fr;
	}

	.floorit-flow-step {
		min-height: auto;
	}

	.floorit-flow-step::after {
		display: none;
	}

	.floorit-demo-note {
		position: absolute;
		right: .5rem;
		bottom: .5rem;
		width: min(11rem, calc(100% - 1rem));
	}

	.floorit-strategy-callout {
		padding: 1.25rem;
		border-radius: 1.3rem;
	}

	.floorit-strategy-callout h2 {
		font-size: clamp(2rem, 11vw, 3rem);
	}

	.floorit-contact-card--main {
		left: 5.8rem;
		right: .75rem;
		top: 1rem;
	}

	.floorit-contact-avatar {
		left: .75rem;
		top: 1rem;
		width: 4.5rem;
		height: 4.5rem;
	}

	.floorit-contact-card--place {
		left: .75rem;
		bottom: .75rem;
		width: calc(50% - 1rem);
	}

	.floorit-contact-card--line {
		right: .75rem;
		bottom: .75rem;
		width: calc(50% - 1rem);
	}

	.floorit-section--soft::before,
	.floorit-section--warm::before,
	.floorit-section--dark::before {
		width: 100%;
		left: 0;
		transform: none;
	}

	.floorit-site:not(.floorit-home) .floorit-section,
	.floorit-section--pillar-links,
	.floorit-section--solution-links {
		width: 100% !important;
		padding-inline: 1rem;
		border-radius: 0;
	}

	.floorit-solution-link {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.floorit-solution-link__body strong {
		font-size: .88rem;
	}

	.floorit-pillar-link {
		min-height: 12rem;
	}

	.floorit-site:not(.floorit-home) .wp-block-post-title {
		max-width: none;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.10.0 - content clarity + FAQ
 * ===================================================================== */

/* Hero: an honest service map instead of a fake analytics/dashboard mockup. */
.floorit-hero-map {
	min-height: 34rem;
}

.floorit-hero-map .floorit-demo-window {
	inset: 0 3% 5% 0;
}

.floorit-service-map {
	display: grid;
	gap: 1rem;
	padding: 1.15rem;
}

.floorit-service-map__intro {
	display: grid;
	gap: .38rem;
	padding: .2rem .15rem .7rem;
}

.floorit-service-map__intro small {
	color: var(--floorit-orange-deep);
	font-size: .67rem;
	font-weight: 850;
	letter-spacing: .075em;
	text-transform: uppercase;
}

.floorit-service-map__intro strong {
	max-width: 25ch;
	color: var(--floorit-ink);
	font-size: clamp(1.05rem, 1.7vw, 1.32rem);
	line-height: 1.18;
	letter-spacing: -.025em;
}

.floorit-service-map__intro > span {
	max-width: 38rem;
	color: var(--floorit-muted);
	font-size: .78rem;
	line-height: 1.55;
}

.floorit-service-map__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .62rem;
}

.floorit-service-map__item {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: .72rem;
	align-items: center;
	min-height: 4.6rem;
	padding: .78rem .82rem;
	border: 1px solid rgba(17,24,39,.09);
	border-radius: .95rem;
	background: rgba(255,255,255,.94);
	transition:
		transform .28s cubic-bezier(.2,.8,.2,1),
		border-color .26s ease,
		background .26s ease,
		box-shadow .26s ease;
}

.floorit-service-map__item:nth-child(5) {
	grid-column: 1 / -1;
}

.floorit-service-map__icon {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	place-items: center;
	border-radius: .7rem;
	background: var(--floorit-soft);
	color: var(--floorit-orange);
	transition: background .26s ease, color .26s ease, transform .26s ease;
}

.floorit-service-map__icon svg {
	width: 1.15rem;
	height: 1.15rem;
}

.floorit-service-map__copy {
	min-width: 0;
}

.floorit-service-map__copy strong,
.floorit-service-map__copy small {
	display: block;
}

.floorit-service-map__copy strong {
	color: var(--floorit-ink);
	font-size: .82rem;
	line-height: 1.25;
}

.floorit-service-map__copy small {
	margin-top: .16rem;
	color: #7b8494;
	font-size: .64rem;
	line-height: 1.35;
}

.floorit-service-map__item > i {
	width: .48rem;
	height: .48rem;
	border-radius: 50%;
	background: #d0d5dd;
	box-shadow: 0 0 0 0 rgba(241,90,36,0);
	transition: background .26s ease, box-shadow .26s ease;
}

.floorit-service-map__item[data-active="true"] {
	transform: translateY(-3px);
	border-color: rgba(241,90,36,.30);
	background:
		linear-gradient(135deg, rgba(255,250,247,.98), rgba(255,255,255,.98));
	box-shadow:
		0 14px 34px rgba(17,24,39,.08),
		0 0 30px rgba(241,90,36,.055);
}

.floorit-service-map__item[data-active="true"] .floorit-service-map__icon {
	background: var(--floorit-orange);
	color: #fff;
	transform: rotate(-3deg) scale(1.04);
}

.floorit-service-map__item[data-active="true"] > i {
	background: var(--floorit-orange);
	box-shadow: 0 0 0 .35rem rgba(241,90,36,.10);
}

.floorit-service-map__note {
	display: flex;
	align-items: center;
	gap: .55rem;
	padding-top: .1rem;
	color: #667085;
	font-size: .67rem;
	line-height: 1.4;
}

.floorit-service-map__note > span {
	flex: 0 0 auto;
	width: .48rem;
	height: .48rem;
	border-radius: 50%;
	background: #12b76a;
	box-shadow: 0 0 0 .22rem rgba(18,183,106,.10);
}

/* FAQ: looks interactive because it actually is. */
.floorit-section--faq {
	width: min(calc(100% - 2rem), 1200px);
	max-width: 1200px;
}

.floorit-faq-intro {
	max-width: 48rem;
	margin: -.5rem 0 1.4rem;
	color: var(--floorit-muted);
	line-height: 1.7;
}

.floorit-faq-list {
	display: grid;
	gap: .72rem;
	width: min(100%, 58rem);
	margin-top: 1.45rem;
}

.floorit-section--align-center .floorit-faq-list {
	margin-inline: auto;
}

.floorit-faq-item {
	overflow: clip;
	border: 1px solid rgba(17,24,39,.09);
	border-radius: 1rem;
	background: rgba(255,255,255,.94);
	box-shadow: 0 1px 0 rgba(17,24,39,.02);
	transition:
		border-color .22s ease,
		box-shadow .22s ease,
		background .22s ease;
}

.floorit-faq-item:hover,
.floorit-faq-item[open] {
	border-color: rgba(241,90,36,.24);
	background: #fff;
	box-shadow: 0 14px 34px rgba(17,24,39,.065);
}

.floorit-faq-item summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: .9rem;
	align-items: center;
	min-height: 4.35rem;
	padding: 1rem 1.05rem;
	cursor: pointer;
	list-style: none;
	color: var(--floorit-ink);
}

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

.floorit-faq-item summary::marker {
	content: "";
}

.floorit-faq-item summary:focus-visible {
	outline: 3px solid rgba(241,90,36,.30);
	outline-offset: -3px;
	border-radius: .9rem;
}

.floorit-faq-item__number {
	display: inline-grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: .62rem;
	background: var(--floorit-soft);
	color: var(--floorit-orange-deep);
	font-size: .62rem;
	font-weight: 850;
	letter-spacing: .04em;
	transition: background .22s ease, color .22s ease;
}

.floorit-faq-item summary strong {
	font-size: clamp(.94rem, 1.35vw, 1.05rem);
	line-height: 1.4;
	letter-spacing: -.012em;
}

.floorit-faq-item summary > i {
	position: relative;
	width: 1.05rem;
	height: 1.05rem;
}

.floorit-faq-item summary > i::before,
.floorit-faq-item summary > i::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: .78rem;
	height: 2px;
	border-radius: 99px;
	background: var(--floorit-orange);
	transform: translate(-50%,-50%);
	transition: transform .22s ease;
}

.floorit-faq-item summary > i::after {
	transform: translate(-50%,-50%) rotate(90deg);
}

.floorit-faq-item[open] summary > i::after {
	transform: translate(-50%,-50%) rotate(0deg);
}

.floorit-faq-item[open] .floorit-faq-item__number {
	background: var(--floorit-orange);
	color: #fff;
}

.floorit-faq-item__answer {
	padding: 0 1.05rem 1.05rem 3.95rem;
}

.floorit-faq-item__answer p {
	max-width: 48rem;
	margin: 0;
	color: var(--floorit-muted);
	font-size: .93rem;
	line-height: 1.72;
}

/* Reduce repetition visually: FAQ and text sections don't need every block to feel like a card. */
.floorit-home .floorit-section--faq {
	margin-top: clamp(1.8rem, 4vw, 3.5rem);
}

@media (max-width: 860px) {
	.floorit-hero-map {
		min-height: 36rem;
	}

	.floorit-service-map__grid {
		grid-template-columns: 1fr;
	}

	.floorit-service-map__item:nth-child(5) {
		grid-column: 1;
	}
}

@media (max-width: 620px) {
	.floorit-hero-map {
		min-height: 39rem;
	}

	.floorit-hero-map .floorit-demo-window {
		inset: 0;
	}

	.floorit-service-map {
		gap: .72rem;
		padding: .85rem;
	}

	.floorit-service-map__intro > span {
		font-size: .72rem;
	}

	.floorit-service-map__item {
		min-height: 4.25rem;
		padding: .68rem .72rem;
	}

	.floorit-service-map__copy small {
		font-size: .61rem;
	}

	.floorit-faq-item summary {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: .65rem;
		padding: .9rem;
	}

	.floorit-faq-item__number {
		display: none;
	}

	.floorit-faq-item__answer {
		padding: 0 .9rem .95rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.floorit-service-map__item,
	.floorit-service-map__item[data-active="true"],
	.floorit-service-map__icon,
	.floorit-faq-item,
	.floorit-faq-item summary > i::after {
		transition: none !important;
		transform: none !important;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.10.2 - steps flow + mobile hero alignment
 * ===================================================================== */

/* Balanced 2x2 explanatory card groups (used for AI nuance, not fake UI). */
.floorit-card-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Sequential explanatory sections should read as a process, not as loose cards. */
.floorit-section--steps-flow {
	position: relative;
}

.floorit-section--steps-flow .floorit-visual-head {
	max-width: 54rem;
}

.floorit-step-flow__intro {
	max-width: 52rem;
	margin: -1rem 0 2rem;
	color: var(--floorit-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.floorit-step-flow {
	--floorit-step-count: 4;
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--floorit-step-count), minmax(0, 1fr));
	gap: 1rem;
	padding-top: 1.1rem;
}

.floorit-step-flow::before,
.floorit-step-flow::after {
	content: "";
	position: absolute;
	left: 2rem;
	right: 2rem;
	top: 2.65rem;
	height: 2px;
	border-radius: 99px;
	pointer-events: none;
}

.floorit-step-flow::before {
	background: #e6e9ee;
}

.floorit-step-flow::after {
	right: auto;
	width: calc((100% - 4rem) * var(--floorit-flow-progress, 0));
	background: linear-gradient(90deg, var(--floorit-orange), #ff8a5f);
	transition: width .45s cubic-bezier(.2,.8,.2,1);
}

.floorit-step-flow__step {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	padding: 0 .2rem;
	z-index: 1;
}

.floorit-step-flow__number {
	display: grid;
	width: 3.2rem;
	height: 3.2rem;
	place-items: center;
	margin-bottom: 1rem;
	border: 1px solid rgba(17,24,39,.10);
	border-radius: 50%;
	background: #fff;
	color: #98a2b3;
	font-size: .72rem;
	font-weight: 850;
	box-shadow: 0 0 0 .45rem #fff;
	transition:
		background .24s ease,
		color .24s ease,
		border-color .24s ease,
		box-shadow .24s ease,
		transform .24s ease;
}

.floorit-step-flow__body {
	padding: 1.1rem 1.05rem 1.15rem;
	border: 1px solid rgba(17,24,39,.08);
	border-radius: 1rem;
	background:
		linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,250,251,.98));
	box-shadow: 0 1px 0 rgba(17,24,39,.02);
	transition:
		transform .24s cubic-bezier(.2,.8,.2,1),
		border-color .24s ease,
		box-shadow .24s ease,
		background .24s ease;
}

.floorit-step-flow__body h3 {
	margin: 0 0 .55rem;
	color: var(--floorit-ink);
	font-size: 1rem;
	line-height: 1.35;
	letter-spacing: -.018em;
}

.floorit-step-flow__body p {
	margin: 0;
	color: var(--floorit-muted);
	font-size: .88rem;
	line-height: 1.65;
}

.floorit-step-flow__step[data-active="true"] .floorit-step-flow__number,
.floorit-step-flow__step[data-complete="true"] .floorit-step-flow__number {
	border-color: rgba(241,90,36,.38);
	background: var(--floorit-orange);
	color: #fff;
	box-shadow:
		0 0 0 .45rem #fff,
		0 8px 24px rgba(241,90,36,.20);
}

.floorit-step-flow__step[data-active="true"] .floorit-step-flow__number {
	transform: scale(1.06);
}

.floorit-step-flow__step[data-active="true"] .floorit-step-flow__body {
	transform: translateY(-4px);
	border-color: rgba(241,90,36,.26);
	background:
		radial-gradient(circle at 85% 0%, rgba(241,90,36,.07), transparent 9rem),
		#fff;
	box-shadow: 0 18px 38px rgba(17,24,39,.08);
}

/* These are explanatory cards, not links: no pointer-style hover theatre. */
.floorit-section--steps-flow .floorit-step-flow__step {
	cursor: default;
}

/* The hero has two layers. On phones both must use the same straight geometry. */
@media (max-width: 620px) {
	.floorit-hero-demo::before {
		inset: .95rem .2rem -.55rem .75rem;
		border-radius: 1.65rem;
		transform: none !important;
	}

	.floorit-hero-map .floorit-demo-window,
	.floorit-demo-window {
		inset: 0 !important;
		transform: none !important;
	}

	.floorit-hero-map {
		min-height: 39rem;
	}

	.floorit-card-grid--two {
		grid-template-columns: 1fr;
	}

	.floorit-step-flow {
		display: grid;
		grid-template-columns: 1fr;
		gap: .85rem;
		padding: 0 0 0 3.45rem;
	}

	.floorit-step-flow::before,
	.floorit-step-flow::after {
		left: 1.55rem;
		right: auto;
		top: 1rem;
		bottom: 1rem;
		width: 2px;
		height: auto;
	}

	.floorit-step-flow::after {
		height: calc((100% - 2rem) * var(--floorit-flow-progress, 0));
		transition: height .45s cubic-bezier(.2,.8,.2,1);
	}

	.floorit-step-flow__step {
		display: block;
		padding: 0;
	}

	.floorit-step-flow__number {
		position: absolute;
		left: -3.45rem;
		top: .75rem;
		width: 2.8rem;
		height: 2.8rem;
		margin: 0;
		box-shadow: 0 0 0 .35rem #fff;
	}

	.floorit-step-flow__step[data-active="true"] .floorit-step-flow__number,
	.floorit-step-flow__step[data-complete="true"] .floorit-step-flow__number {
		box-shadow:
			0 0 0 .35rem #fff,
			0 7px 20px rgba(241,90,36,.18);
	}

	.floorit-step-flow__body {
		min-height: 0;
	}
}

@media (max-width: 900px) and (min-width: 621px) {
	.floorit-card-grid--two {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}

	.floorit-step-flow {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}

	.floorit-step-flow::before,
	.floorit-step-flow::after {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.floorit-step-flow__number,
	.floorit-step-flow__body {
		transition: none !important;
		transform: none !important;
	}
}


/* Floor-IT.eu 0.10.3 - hero cleanup */

/* The dark rotated backing plate made the hero look like two competing cards.
 * Keep one clear interface card and let the existing shadow provide depth. */
.floorit-hero-demo::before {
	display: none !important;
}

.floorit-hero-map .floorit-demo-window {
	inset: 0 0 4% 0;
}

/* Straight at rest on every viewport. Pointer parallax may still add subtle
 * X/Y perspective on desktop, but there is no permanent Z-axis tilt. */
.floorit-demo-window {
	transform:
		translate3d(
			var(--floorit-hero-shift-x, 0px),
			var(--floorit-hero-shift-y, 0px),
			0
		)
		rotateX(var(--floorit-hero-rotate-x, 0deg))
		rotateY(var(--floorit-hero-rotate-y, 0deg)) !important;
	box-shadow:
		0 26px 68px rgba(16, 24, 40, .15),
		0 2px 8px rgba(16, 24, 40, .06);
}

@media (max-width: 620px) {
	.floorit-hero-map .floorit-demo-window,
	.floorit-demo-window {
		inset: 0 !important;
		transform: none !important;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.10.4 - brand, contact actions and balanced cards
 * ===================================================================== */

/* Real Floor-IT brand mark replaces the typographic site-title fallback. */
.floorit-brand-logo {
	flex: 0 0 auto;
	margin: 0 !important;
	line-height: 0;
}

.floorit-brand-logo a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.floorit-brand-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.floorit-brand-logo--header {
	width: clamp(7.6rem, 10vw, 9.4rem);
}

.floorit-brand-logo--header img {
	max-height: 2.55rem;
}

.floorit-brand-logo--footer {
	width: min(10.5rem, 100%);
	margin-bottom: 1rem !important;
}

.floorit-brand-logo--footer img {
	max-height: 3.1rem;
}

.floorit-footer-brand p {
	max-width: 18rem;
	color: var(--floorit-muted);
	line-height: 1.65;
}

/* Public contact details are actions, not exposed address-book text. */
.floorit-footer-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin: .2rem 0 .9rem;
}

.floorit-contact-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.55rem;
	padding: .58rem .82rem;
	border: 1px solid rgba(17,24,39,.11);
	border-radius: .75rem;
	background: #fff;
	color: var(--floorit-ink) !important;
	font-size: .84rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 1px 0 rgba(17,24,39,.02);
	transition:
		transform .2s cubic-bezier(.2,.8,.2,1),
		border-color .2s ease,
		background .2s ease,
		box-shadow .2s ease;
}

.floorit-contact-action:hover,
.floorit-contact-action:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(241,90,36,.32);
	background: var(--floorit-warm);
	box-shadow: 0 10px 24px rgba(17,24,39,.07);
	outline: none;
}

.floorit-footer-location {
	display: block;
	margin-top: .15rem;
	color: var(--floorit-muted);
	font-size: .84rem;
}

/* Floor-IT.eu 0.10.4 - balanced card grids
 *
 * Generic content grids follow the same 6-column logic as the five pillars:
 * 3 cards = 2/2/2 spans
 * final 2 cards = 3/3 spans
 * final 1 card = centred 4-column span
 *
 * Explicit specialist grids keep their own layout rules.
 */
.floorit-card-grid:not([class*="floorit-card-grid--"]) {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card {
	grid-column: span 2;
	min-width: 0;
}

.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card:last-child:nth-child(3n+1) {
	grid-column: 2 / span 4;
}

.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card:nth-last-child(2):nth-child(3n+1),
.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card:nth-last-child(2):nth-child(3n+1) + .floorit-card:last-child {
	grid-column: span 3;
}

/* A deliberate 2-column group may still centre a lone final card. */
.floorit-card-grid--two > .floorit-card:last-child:nth-child(odd) {
	grid-column: 1 / -1;
	width: min(100%, calc(50% - .5rem));
	justify-self: center;
}

@media (max-width: 1000px) and (min-width: 861px) {
	.floorit-card-grid:not([class*="floorit-card-grid--"]) {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card,
	.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card:nth-last-child(2):nth-child(3n+1),
	.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card:nth-last-child(2):nth-child(3n+1) + .floorit-card:last-child {
		grid-column: span 2;
	}

	.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card:last-child:nth-child(2n+1) {
		grid-column: 2 / span 2;
	}
}

@media (max-width: 860px) {
	.floorit-brand-logo--header {
		width: 7.7rem;
	}

	.floorit-card-grid:not([class*="floorit-card-grid--"]) {
		grid-template-columns: 1fr !important;
	}

	.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card,
	.floorit-card-grid:not([class*="floorit-card-grid--"]) > .floorit-card:last-child,
	.floorit-card-grid--two > .floorit-card:last-child:nth-child(odd) {
		grid-column: 1 !important;
		width: 100%;
		justify-self: stretch;
	}
}

@media (max-width: 620px) {
	.floorit-brand-logo--header {
		width: 7rem;
	}

	.floorit-footer-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0,1fr));
	}

	.floorit-contact-action:last-child {
		grid-column: 1 / -1;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.10.5 - sitewide balanced grids
 * ===================================================================== */

/*
 * Balance is based on the actual number of cards, not on a page-specific hack.
 *
 * Desktop:
 *   1  -> centred
 *   2  -> 2 equal cards
 *   3  -> 3 equal cards
 *   4  -> 2 + 2
 *   5  -> 3 + 2
 *   6  -> 3 + 3
 *   7  -> 3 + 2 + 2
 *   8  -> 3 + 3 + 2
 * etc.
 *
 * Purpose-built layouts such as project showcase, steps-flow and FAQ stay out.
 */
.floorit-balanced-grid:not(.floorit-solution-link-grid) {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 1rem;
}

.floorit-balanced-grid:not(.floorit-solution-link-grid) > * {
	grid-column: span 2 !important;
	width: auto !important;
	min-width: 0;
	justify-self: stretch !important;
}

.floorit-balanced-grid--tail-two:not(.floorit-solution-link-grid) > :nth-last-child(-n + 2) {
	grid-column: span 3 !important;
}

.floorit-balanced-grid--tail-four:not(.floorit-solution-link-grid) > :nth-last-child(-n + 4) {
	grid-column: span 3 !important;
}

.floorit-balanced-grid--single:not(.floorit-solution-link-grid) > :only-child {
	grid-column: 2 / span 4 !important;
}

/* Explicit two-card sections use the same full-row 50/50 composition. */
.floorit-card-grid--two.floorit-balanced-grid > * {
	grid-column: span 3 !important;
	width: auto !important;
}

/* At tablet width every ordinary collection becomes a clean two-column grid. */
@media (max-width: 1180px) and (min-width: 861px) {
	.floorit-balanced-grid:not(.floorit-solution-link-grid) {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.floorit-balanced-grid:not(.floorit-solution-link-grid) > *,
	.floorit-balanced-grid--tail-two:not(.floorit-solution-link-grid) > :nth-last-child(-n + 2),
	.floorit-balanced-grid--tail-four:not(.floorit-solution-link-grid) > :nth-last-child(-n + 4),
	.floorit-card-grid--two.floorit-balanced-grid > * {
		grid-column: span 2 !important;
	}

	.floorit-balanced-grid:not(.floorit-solution-link-grid) > :last-child:nth-child(odd) {
		grid-column: 2 / span 2 !important;
	}
}

/* Mobile: one straight stack, no artificial gaps or narrow orphan cards. */
@media (max-width: 860px) {
	.floorit-balanced-grid:not(.floorit-solution-link-grid) {
		grid-template-columns: 1fr !important;
	}

	.floorit-balanced-grid:not(.floorit-solution-link-grid) > *,
	.floorit-balanced-grid--tail-two:not(.floorit-solution-link-grid) > :nth-last-child(-n + 2),
	.floorit-balanced-grid--tail-four:not(.floorit-solution-link-grid) > :nth-last-child(-n + 4),
	.floorit-balanced-grid--single:not(.floorit-solution-link-grid) > :only-child,
	.floorit-card-grid--two.floorit-balanced-grid > * {
		grid-column: 1 !important;
		width: 100% !important;
		justify-self: stretch !important;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.10.6 - compact text cards
 * ===================================================================== */

/*
 * Text-only cards do not need the same vertical footprint as navigation,
 * project or visual cards. Rows stay equal, but unused vertical space is cut.
 */
.floorit-card-grid--compact {
	grid-auto-rows: 1fr;
	align-items: stretch;
}

.floorit-card-grid--compact .floorit-card {
	height: 100%;
	min-height: 9.5rem;
	padding: 1.35rem 1.5rem;
}

.floorit-card-grid--compact .floorit-card h3 {
	margin: 0 0 .45rem;
}

.floorit-card-grid--compact .floorit-card p,
.floorit-card-grid--compact .floorit-card > p:last-child {
	margin: 0;
}

@media (max-width: 860px) {
	.floorit-card-grid--compact {
		grid-auto-rows: auto;
	}

	.floorit-card-grid--compact .floorit-card {
		min-height: 0;
		padding: 1.2rem 1.25rem;
	}
}

/* =====================================================================
 * Floor-IT.eu 0.11.3 - logo edge alignment and wide footer
 * ===================================================================== */

.floorit-header {
	padding-block: 0 !important;
}

.floorit-header > .wp-block-group,
.floorit-header__inner {
	box-sizing: border-box;
	min-height: 0;
	margin-block: 0 !important;
	padding-block: .22rem;
	align-items: center !important;
}

.floorit-header__inner {
	position: relative;
	width: min(calc(100% - 2rem), 1200px);
	margin-inline: auto !important;
	gap: clamp(.7rem, 1.35vw, 1.15rem);
}

/*
 * The source logo contains transparent canvas. Keep it out of normal flow,
 * but do not crop the artwork. Slightly reducing its width gives the oval
 * enough room to sit naturally inside the compact header.
 */
.floorit-brand-logo--header {
	position: relative;
	flex: 0 0 11.75rem;
	width: 11.75rem;
	height: 6.9rem;
	margin: 0 !important;
	overflow: visible;
	line-height: 0;
}

.floorit-brand-logo--header a {
	position: absolute;
	inset: 0;
	display: block;
	overflow: visible;
}

.floorit-brand-logo--header img {
	position: absolute;
	top: calc(50% + .2rem);
	left: 0;
	display: block;
	width: 11.75rem;
	max-width: none;
	max-height: none;
	height: auto;
	transform: translateY(-50%) !important;
	transform-origin: center;
}

.floorit-brand-logo--footer {
	width: 12rem;
	margin: 0 0 1rem !important;
	line-height: 0;
}

/* On wide desktop, the brand mark may use the free viewport edge instead of
 * pretending to be part of the 1200px content column. Navigation stays put. */
@media (min-width: 1233px) {
	.floorit-brand-logo--header {
		margin-left: calc(1rem - ((100vw - 1200px) / 2)) !important;
	}
}

/* The footer is utility navigation, not article content. Let its four columns
 * use the available desktop width so the brand actually starts at the left. */
@media (min-width: 861px) {
	.floorit-footer > .wp-block-columns.alignwide {
		width: calc(100% - 2rem) !important;
		max-width: 1600px !important;
		margin-inline: auto !important;
	}
}

.floorit-brand-logo--footer img {
	display: block;
	width: 100%;
	max-width: none;
	max-height: none;
	height: auto;
	transform: none !important;
}

.floorit-primary-nav,
.floorit-header-cta,
.floorit-primary-nav .wp-block-navigation__container {
	margin-block: 0 !important;
}

.floorit-primary-nav {
	margin-left: auto;
}

.floorit-primary-nav .wp-block-navigation__container {
	align-items: center;
	gap: clamp(.6rem, 1vw, .95rem);
}

.floorit-primary-nav .wp-block-navigation-item__content {
	white-space: nowrap;
}

.floorit-primary-nav .wp-block-navigation__submenu-container {
	min-width: 15.5rem;
	padding: .45rem;
	border: 1px solid rgba(17,24,39,.09);
	border-radius: .85rem;
	background: rgba(255,255,255,.99);
	box-shadow: 0 18px 42px rgba(17,24,39,.12);
}

.floorit-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: .65rem .75rem;
	border-radius: .55rem;
	white-space: normal;
}

.floorit-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.floorit-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--floorit-warm);
}

/* Custom mobile menu replaces the WordPress drilldown/scroll overlay. */
.floorit-mobile-menu {
	display: none;
	margin-left: auto;
}

.floorit-mobile-menu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: .65rem;
	background: transparent;
	color: var(--floorit-ink);
	cursor: pointer;
	list-style: none;
}

.floorit-mobile-menu__toggle::-webkit-details-marker,
.floorit-mobile-menu__group > summary::-webkit-details-marker {
	display: none;
}

.floorit-mobile-menu__icon {
	position: relative;
	display: block;
	width: 1.25rem;
	height: 2px;
	background: currentColor;
	transition: background .18s ease;
}

.floorit-mobile-menu__icon::before,
.floorit-mobile-menu__icon::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transition: transform .18s ease, top .18s ease;
}

.floorit-mobile-menu__icon::before {
	top: -.4rem;
}

.floorit-mobile-menu__icon::after {
	top: .4rem;
}

.floorit-mobile-menu[open] .floorit-mobile-menu__icon {
	background: transparent;
}

.floorit-mobile-menu[open] .floorit-mobile-menu__icon::before {
	top: 0;
	transform: rotate(45deg);
}

.floorit-mobile-menu[open] .floorit-mobile-menu__icon::after {
	top: 0;
	transform: rotate(-45deg);
}

.floorit-mobile-menu__panel {
	position: absolute;
	top: calc(100% + .4rem);
	right: 0;
	z-index: 1000;
	width: min(24rem, calc(100vw - 1.25rem));
	max-height: calc(100vh - 7rem);
	padding: .55rem;
	overflow-y: auto;
	border: 1px solid rgba(17,24,39,.1);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 22px 54px rgba(17,24,39,.16);
}

.floorit-mobile-menu__group,
.floorit-mobile-menu__link {
	border-bottom: 1px solid rgba(17,24,39,.07);
}

.floorit-mobile-menu__group > summary,
.floorit-mobile-menu__link {
	position: relative;
	display: block;
	padding: .8rem .8rem;
	color: var(--floorit-ink);
	font-weight: 750;
	text-decoration: none;
	cursor: pointer;
	list-style: none;
}

.floorit-mobile-menu__group > summary {
	padding-right: 2.3rem;
}

.floorit-mobile-menu__group > summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: .8rem;
	transform: translateY(-50%);
	color: var(--floorit-orange);
	font-size: 1.15rem;
	font-weight: 700;
}

.floorit-mobile-menu__group[open] > summary::after {
	content: "−";
}

.floorit-mobile-menu__children {
	display: grid;
	gap: .1rem;
	padding: 0 .45rem .65rem .85rem;
}

.floorit-mobile-menu__children a {
	display: block;
	padding: .48rem .65rem;
	border-radius: .55rem;
	color: #475467;
	font-size: .94rem;
	font-weight: 620;
	text-decoration: none;
}

.floorit-mobile-menu__children a:hover,
.floorit-mobile-menu__children a:focus-visible,
.floorit-mobile-menu__link:hover,
.floorit-mobile-menu__link:focus-visible {
	background: var(--floorit-warm);
}

.floorit-mobile-menu__cta {
	display: flex;
	justify-content: center;
	margin-top: .6rem;
	padding: .78rem 1rem;
	border-radius: .75rem;
	background: var(--floorit-orange);
	color: #fff;
	font-weight: 750;
	text-decoration: none;
}

@media (max-width: 1100px) {
	.floorit-header > .wp-block-group,
	.floorit-header__inner {
		min-height: 0;
		padding-block: .18rem;
	}

	.floorit-brand-logo--header {
		flex-basis: 9.7rem;
		width: 9.7rem;
		height: 5.75rem;
	}

	.floorit-brand-logo--header img {
		width: 9.7rem;
	}

	.floorit-primary-nav,
	.floorit-header-cta {
		display: none !important;
	}

	.floorit-mobile-menu {
		display: block;
	}
}

@media (max-width: 620px) {
	.floorit-header > .wp-block-group,
	.floorit-header__inner {
		min-height: 0;
		padding-block: .16rem;
	}

	.floorit-header__inner {
		width: min(calc(100% - 1.25rem), 1200px);
	}

	.floorit-brand-logo--header {
		flex-basis: 8.6rem;
		width: 8.6rem;
		height: 5.1rem;
	}

	.floorit-brand-logo--header img {
		width: 8.6rem;
	}

	.floorit-mobile-menu__panel {
		width: calc(100vw - 1.25rem);
	}
}


/* =====================================================================
 * Floor-IT.eu 0.11.4 - footer light ticker
 * 0.11.7 - faster loop + stable item magnet
 * ===================================================================== */

.floorit-footer-ticker {
	position: relative;
	z-index: 2;
	width: 100vw;
	max-width: none !important;
	margin: 1.35rem calc(50% - 50vw) 1rem !important;
	padding: .78rem 0;
	overflow: hidden;
	border-top: 1px solid rgba(17, 24, 39, .10);
	border-bottom: 1px solid rgba(17, 24, 39, .10);
	background:
		linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,.62) 50%, rgba(255,255,255,.10));
}

.floorit-footer-ticker::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 -18%;
	width: 18%;
	pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(241,90,36,.10), transparent);
	animation: floorit-footer-ticker-light 7s ease-in-out infinite;
}

.floorit-footer-ticker__viewport {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}

.floorit-footer-ticker__track {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: floorit-footer-ticker 24s linear infinite;
}

.floorit-footer-ticker:hover .floorit-footer-ticker__track,
.floorit-footer-ticker:focus-within .floorit-footer-ticker__track {
	animation-play-state: paused;
}

.floorit-footer-ticker__set {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
}

.floorit-footer-ticker__item {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	padding-inline: 1rem;
	color: #344054;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .065em;
	text-decoration: none;
	text-transform: uppercase;
	translate: var(--floorit-ticker-item-x, 0px) var(--floorit-ticker-item-y, 0px);
	transform: scale(var(--floorit-ticker-item-scale, 1));
	transform-origin: center;
	transition:
		translate .11s cubic-bezier(.2,.9,.2,1),
		transform .11s cubic-bezier(.2,.9,.2,1),
		color .18s ease,
		text-shadow .18s ease;
}

.floorit-footer-ticker__item::after {
	content: "•";
	margin-left: 2rem;
	color: var(--floorit-orange);
	text-shadow: 0 0 12px rgba(241,90,36,.35);
}

.floorit-footer-ticker__item:hover,
.floorit-footer-ticker__item:focus-visible {
	--floorit-ticker-item-scale: 1.055;
	color: var(--floorit-orange-deep);
	text-shadow: 0 0 16px rgba(241,90,36,.18);
}

@keyframes floorit-footer-ticker {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@keyframes floorit-footer-ticker-light {
	0%, 28% {
		transform: translateX(0);
		opacity: 0;
	}
	45% {
		opacity: 1;
	}
	72%, 100% {
		transform: translateX(760%);
		opacity: 0;
	}
}

@media (max-width: 620px) {
	.floorit-footer-ticker {
		margin-top: 1rem;
		padding-block: .68rem;
	}

	.floorit-footer-ticker__item {
		padding-inline: .75rem;
		font-size: .75rem;
	}

	.floorit-footer-ticker__item::after {
		margin-left: 1.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.floorit-footer-ticker::after {
		display: none;
	}

	.floorit-footer-ticker__viewport {
		overflow-x: auto;
		-webkit-mask-image: none;
		mask-image: none;
		scrollbar-width: thin;
	}

	.floorit-footer-ticker__track {
		animation: none;
	}

	.floorit-footer-ticker__set[aria-hidden="true"] {
		display: none;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.11.8 - calmer home + reversible workflow
 * ===================================================================== */

/* The final CTA already owns its vertical rhythm. Do not add a second,
 * viewport-sized gap before the footer on Home. */
.floorit-home .floorit-footer {
	margin-top: 0 !important;
}

/* Five pillars: remove miniature dashboards. Keep one restrained icon,
 * useful copy and the navigation action. */
.floorit-home .floorit-service-card {
	min-height: 13.25rem;
	overflow: visible;
}

.floorit-home .floorit-service-card__body {
	position: relative;
	padding: 1.5rem 1.5rem 1.4rem;
}

.floorit-service-card__icon {
	display: grid;
	width: 2.85rem;
	height: 2.85rem;
	place-items: center;
	margin-top: 0;
	margin-bottom: 1.25rem;
	border: 1px solid rgba(241,90,36,.18);
	border-radius: .9rem;
	background: var(--floorit-warm);
	color: var(--floorit-orange-deep);
	box-shadow: 0 8px 24px rgba(17,24,39,.05);
	transition:
		transform .22s cubic-bezier(.2,.8,.2,1),
		border-color .22s ease,
		background .22s ease;
}

.floorit-service-card__icon svg {
	width: 1.35rem;
	height: 1.35rem;
}

.floorit-service-card:hover .floorit-service-card__icon,
.floorit-service-card:focus-visible .floorit-service-card__icon {
	transform: translateY(-3px);
	border-color: rgba(241,90,36,.32);
	background: #fff3ed;
}

.floorit-service-card__cta {
	margin-top: auto;
}

/* Project section: only QRoep and Signage get a quiet visual signature.
 * The other three projects are intentionally typography-first. */
.floorit-project-tile--featured {
	grid-template-rows: 8.4rem 1fr;
}

.floorit-project-tile--quiet {
	grid-template-rows: 1fr;
	min-height: 14rem;
	background:
		linear-gradient(180deg, #fff, #fcfcfd);
}

.floorit-project-tile--quiet .floorit-project-tile__body {
	display: flex;
	flex-direction: column;
	padding: 1.45rem 1.4rem 1.35rem;
}

.floorit-project-tile--quiet .floorit-project-tile__body span {
	margin-top: auto;
	padding-top: .9rem;
}

.floorit-project-signature {
	position: relative;
	display: grid;
	width: min(76%, 20rem);
	height: 5.2rem;
	place-items: center;
}

.floorit-project-signature--qroep span {
	display: grid;
	width: 4.2rem;
	height: 4.2rem;
	place-items: center;
	border: 1px solid rgba(255,255,255,.38);
	border-radius: 50%;
	color: #fff;
	font-size: 1rem;
	font-weight: 850;
	letter-spacing: .08em;
}

.floorit-project-signature--qroep i {
	position: absolute;
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
	background: var(--floorit-orange);
	box-shadow: 0 0 0 .3rem rgba(241,90,36,.12);
}

.floorit-project-signature--qroep i:first-of-type {
	left: 23%;
	top: 23%;
}

.floorit-project-signature--qroep i:last-of-type {
	right: 23%;
	bottom: 23%;
}

.floorit-project-signature--signage {
	grid-template-columns: auto 1fr;
	gap: 1rem;
	color: var(--floorit-ink);
}

.floorit-project-signature--signage span {
	display: grid;
	width: 3.6rem;
	height: 3.6rem;
	place-items: center;
	border: 1px solid rgba(17,24,39,.09);
	border-radius: .9rem;
	background: #fff;
	box-shadow: 0 10px 25px rgba(17,24,39,.07);
}

.floorit-project-signature--signage span svg {
	width: 1.6rem;
	height: 1.6rem;
	color: var(--floorit-orange-deep);
}

.floorit-project-signature--signage i {
	grid-column: 2;
	display: block;
	height: .38rem;
	border-radius: 999px;
	background: #dfe3e9;
}

.floorit-project-signature--signage i:nth-of-type(1) {
	width: 92%;
}

.floorit-project-signature--signage i:nth-of-type(2) {
	width: 68%;
	background: rgba(241,90,36,.28);
}

.floorit-project-signature--signage i:nth-of-type(3) {
	width: 48%;
}

.floorit-project-showcase__more {
	display: flex;
	justify-content: flex-start;
	margin-top: 1.15rem;
}

.floorit-project-showcase__more a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .8rem 1rem;
	border: 1px solid rgba(17,24,39,.11);
	border-radius: .8rem;
	background: rgba(255,255,255,.72);
	color: var(--floorit-ink);
	font-size: .88rem;
	font-weight: 800;
	text-decoration: none;
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.floorit-project-showcase__more a:hover,
.floorit-project-showcase__more a:focus-visible {
	transform: translateX(3px);
	border-color: rgba(241,90,36,.28);
	background: #fff;
}

.floorit-project-showcase__more span {
	color: var(--floorit-orange-deep);
}

/* Workflow progress is tied to viewport position, not a one-shot animation.
 * Scrolling upward therefore walks the process backward again. */
.floorit-workflow-line {
	--floorit-workflow-progress: 0;
}

.floorit-workflow-line::before {
	height: 2px;
	background: rgba(241,90,36,.13);
}

.floorit-workflow-line::after,
.floorit-workflow-line.is-inview::after {
	animation: none !important;
	transform: scaleX(var(--floorit-workflow-progress, 0)) !important;
	transition: transform .08s linear;
	opacity: .95;
}

.floorit-workflow-line.is-inview .floorit-workflow-step__number {
	animation: none !important;
}

.floorit-workflow-step {
	opacity: .58;
	transition:
		opacity .22s ease,
		transform .28s cubic-bezier(.2,.8,.2,1);
}

.floorit-workflow-step__number {
	transition:
		background .22s ease,
		color .22s ease,
		border-color .22s ease,
		box-shadow .22s ease,
		transform .22s ease;
}

.floorit-workflow-step[data-complete="true"] {
	opacity: .82;
}

.floorit-workflow-step[data-complete="true"] .floorit-workflow-step__number {
	border-color: rgba(241,90,36,.34);
	color: var(--floorit-orange-deep);
}

.floorit-workflow-step[data-active="true"] {
	opacity: 1;
	transform: translateY(-4px);
}

.floorit-workflow-step[data-active="true"] .floorit-workflow-step__number {
	border-color: var(--floorit-orange);
	background: var(--floorit-orange);
	color: #fff;
	box-shadow:
		0 0 0 .42rem rgba(241,90,36,.10),
		0 10px 28px rgba(241,90,36,.16);
	transform: scale(1.05);
}

.floorit-workflow-step[data-active="true"] h3 {
	color: var(--floorit-orange-deep);
}

@media (max-width: 860px) {
	.floorit-home .floorit-service-card {
		min-height: 0;
	}

	.floorit-project-tile--featured,
	.floorit-project-tile--quiet {
		grid-template-rows: auto;
		min-height: 0;
	}

	.floorit-project-tile--featured .floorit-project-tile__visual {
		min-height: 7rem;
	}

	.floorit-workflow-step {
		padding: .35rem 0 1rem;
		border-left: 2px solid rgba(241,90,36,.12);
		padding-left: 1rem;
	}

	.floorit-workflow-step[data-active="true"] {
		border-left-color: var(--floorit-orange);
		transform: translateX(4px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.floorit-workflow-line::after,
	.floorit-workflow-step,
	.floorit-workflow-step__number,
	.floorit-service-card__icon {
		transition: none !important;
	}
}


/* 0.20.0 launch surfaces: embedded contact + cookie consent */
.floorit-section--external-form .floorit-subpage-head {
	max-width: 52rem;
}

.floorit-embed-card {
	max-width: 56rem;
	margin-top: 1.5rem;
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid rgba(16, 24, 40, .09);
	border-radius: 1.35rem;
	background: rgba(255, 255, 255, .82);
	box-shadow: 0 18px 45px rgba(16, 24, 40, .07);
}

.floorit-external-form {
	display: block;
	width: 100%;
	min-height: 760px;
	border: 0;
	border-radius: .9rem;
	background: #fff;
}

.floorit-embed-card__privacy {
	margin: .9rem .25rem 0;
	color: #667085;
	font-size: .88rem;
	line-height: 1.55;
}

.floorit-cookie-settings {
	margin-top: 1.25rem;
}

.floorit-cookie-consent {
	position: fixed;
	z-index: 99999;
	left: max(1rem, env(safe-area-inset-left));
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	max-width: 72rem;
	margin-inline: auto;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 1.2rem;
	background: rgba(16,24,40,.96);
	color: #fff;
	box-shadow: 0 22px 60px rgba(16,24,40,.26);
	backdrop-filter: blur(16px);
}

.floorit-cookie-consent__copy {
	max-width: 48rem;
}

.floorit-cookie-consent__copy strong {
	display: block;
	margin-bottom: .2rem;
	font-size: 1rem;
}

.floorit-cookie-consent__copy p {
	margin: 0 0 .25rem;
	color: rgba(255,255,255,.82);
	font-size: .9rem;
	line-height: 1.5;
}

.floorit-cookie-consent__copy a {
	color: #fff;
	font-size: .86rem;
}

.floorit-cookie-consent__actions {
	display: flex;
	flex: 0 0 auto;
	gap: .65rem;
}

.floorit-cookie-consent__actions .wp-element-button {
	white-space: nowrap;
	cursor: pointer;
	border: 1px solid transparent;
}

.floorit-cookie-consent__actions .wp-element-button {
	background: #fff;
	border-color: #fff;
	color: #101828;
}

.floorit-cookie-consent__actions .wp-element-button:hover,
.floorit-cookie-consent__actions .wp-element-button:focus-visible {
	background: #f2f4f7;
	border-color: #f2f4f7;
	color: #101828;
}

@media (max-width: 720px) {
	.floorit-external-form {
		min-height: 880px;
	}

	.floorit-cookie-consent {
		align-items: stretch;
		flex-direction: column;
	}

	.floorit-cookie-consent__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.floorit-cookie-consent__actions .wp-element-button {
		width: 100%;
	}
}


/* =====================================================================
 * Floor-IT.eu 0.26.0 - knowledge index + calmer mobile footer ticker
 * ===================================================================== */

.floorit-knowledge-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 1.5rem auto 1.15rem;
	padding: .85rem;
	border: 1px solid rgba(17,24,39,.08);
	border-radius: 1.1rem;
	background: rgba(248,250,252,.86);
	box-shadow: 0 12px 34px rgba(17,24,39,.04);
}

.floorit-knowledge-search {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 1 34rem;
	min-width: 0;
}

.floorit-knowledge-search__icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	width: .82rem;
	height: .82rem;
	border: 2px solid #667085;
	border-radius: 50%;
	transform: translateY(-58%);
	pointer-events: none;
}

.floorit-knowledge-search__icon::after {
	content: "";
	position: absolute;
	right: -.42rem;
	bottom: -.28rem;
	width: .48rem;
	height: 2px;
	border-radius: 999px;
	background: #667085;
	transform: rotate(45deg);
	transform-origin: left center;
}

.floorit-knowledge-search input[type="search"] {
	width: 100%;
	min-height: 3.05rem;
	margin: 0;
	padding: .72rem 1rem .72rem 2.75rem;
	border: 1px solid rgba(17,24,39,.12);
	border-radius: .85rem;
	background: #fff;
	color: var(--floorit-ink);
	font: inherit;
	font-size: .95rem;
	line-height: 1.3;
	outline: none;
	box-shadow: 0 1px 2px rgba(17,24,39,.03);
	transition: border-color .18s ease, box-shadow .18s ease;
}

.floorit-knowledge-search input[type="search"]::placeholder {
	color: #98a2b3;
}

.floorit-knowledge-search input[type="search"]:focus {
	border-color: rgba(241,90,36,.55);
	box-shadow: 0 0 0 4px rgba(241,90,36,.09);
}

.floorit-knowledge-count {
	flex: 0 0 auto;
	padding-inline: .35rem;
	color: var(--floorit-muted);
	font-size: .84rem;
	font-weight: 750;
	white-space: nowrap;
}

.floorit-knowledge-index {
	margin-top: 0 !important;
}

.floorit-site .floorit-knowledge-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.floorit-site .floorit-knowledge-grid > .wp-block-post {
	position: relative;
	display: flex;
	min-width: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(17,24,39,.085);
	border-radius: 1.15rem;
	background: #fff;
	box-shadow: 0 8px 28px rgba(17,24,39,.045);
}

.floorit-site .floorit-knowledge-grid > .wp-block-post::before {
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	left: 1.35rem;
	width: 3rem;
	height: 3px;
	border-radius: 0 0 999px 999px;
	background: var(--floorit-orange);
}

.floorit-site .floorit-knowledge-grid > .wp-block-post:hover {
	transform: translateY(-3px);
	border-color: rgba(241,90,36,.22);
	box-shadow: 0 18px 40px rgba(17,24,39,.075);
}

.floorit-knowledge-card__inner {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	padding: 1.25rem 1.35rem 1.3rem;
	background: transparent !important;
}

.floorit-knowledge-card__date {
	order: 1;
	margin: .2rem 0 .72rem !important;
	color: #667085 !important;
	font-size: .76rem !important;
	font-weight: 750;
	letter-spacing: .035em;
	line-height: 1.25;
}

.floorit-knowledge-card__title {
	order: 2;
	margin: 0 0 .8rem !important;
	font-size: clamp(1.18rem, 1.6vw, 1.48rem) !important;
	font-weight: 820;
	letter-spacing: -.025em;
	line-height: 1.13;
}

.floorit-knowledge-card__title a {
	color: var(--floorit-ink) !important;
	text-decoration: none !important;
	text-decoration-thickness: 0 !important;
	transition: color .18s ease;
}

.floorit-knowledge-card__title a:hover,
.floorit-knowledge-card__title a:focus-visible {
	color: var(--floorit-orange-deep) !important;
}

.floorit-knowledge-card__excerpt {
	order: 3;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	margin: 0 !important;
}

.floorit-knowledge-card__excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
	color: var(--floorit-muted);
	font-size: .94rem;
	line-height: 1.62;
}

.floorit-knowledge-card__excerpt .wp-block-post-excerpt__more-text {
	margin: auto 0 0;
	padding-top: 1rem;
}

.floorit-knowledge-card__excerpt .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	color: var(--floorit-ink);
	font-size: .87rem;
	font-weight: 800;
	text-decoration: none;
}

.floorit-knowledge-card__excerpt .wp-block-post-excerpt__more-link::after {
	content: "→";
	color: var(--floorit-orange);
	transition: transform .18s ease;
}

.floorit-knowledge-card__excerpt .wp-block-post-excerpt__more-link:hover::after,
.floorit-knowledge-card__excerpt .wp-block-post-excerpt__more-link:focus-visible::after {
	transform: translateX(3px);
}

.floorit-knowledge-empty {
	margin: 1rem 0 0;
	padding: 1rem 1.1rem;
	border: 1px dashed rgba(17,24,39,.14);
	border-radius: .9rem;
	color: var(--floorit-muted);
	text-align: center;
}

.floorit-knowledge-pagination {
	margin-top: 1.2rem;
}

@media (max-width: 760px) {
	.floorit-knowledge-toolbar {
		align-items: stretch;
		flex-direction: column;
		margin-top: 1.15rem;
		padding: .72rem;
	}

	.floorit-knowledge-search {
		flex-basis: auto;
		width: 100%;
	}

	.floorit-knowledge-count {
		padding: 0 .2rem .05rem;
		font-size: .78rem;
	}

	.floorit-site .floorit-knowledge-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: .8rem;
	}

	.floorit-site .floorit-knowledge-grid > .wp-block-post {
		border-radius: 1rem;
		box-shadow: 0 6px 20px rgba(17,24,39,.04);
	}

	.floorit-site .floorit-knowledge-grid > .wp-block-post:hover {
		transform: none;
	}

	.floorit-knowledge-card__inner {
		padding: 1.12rem 1.05rem 1.08rem;
	}

	.floorit-site .floorit-knowledge-grid > .wp-block-post::before {
		left: 1.05rem;
		width: 2.5rem;
	}

	.floorit-knowledge-card__date {
		margin-bottom: .58rem !important;
		font-size: .72rem !important;
	}

	.floorit-knowledge-card__title {
		margin-bottom: .62rem !important;
		font-size: clamp(1.12rem, 5.7vw, 1.3rem) !important;
		line-height: 1.17;
	}

	.floorit-knowledge-card__excerpt .wp-block-post-excerpt__excerpt {
		font-size: .9rem;
		line-height: 1.55;
	}

	.floorit-knowledge-card__excerpt .wp-block-post-excerpt__more-text {
		padding-top: .8rem;
	}

	/* Keep the original moving light ticker. Improve the footer itself instead:
	 * crop the transparent logo canvas and use the mobile width efficiently. */
	.floorit-footer {
		padding-top: 1.2rem;
	}

	.floorit-footer > .wp-block-columns.alignwide {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.35rem 1.15rem !important;
		width: 100% !important;
		margin: 0 auto !important;
		align-items: start !important;
	}

	.floorit-footer > .wp-block-columns.alignwide > .wp-block-column {
		min-width: 0;
		margin: 0 !important;
	}

	.floorit-footer > .wp-block-columns.alignwide > .wp-block-column:nth-child(1) {
		grid-column: 1 / -1;
		order: 1;
	}

	.floorit-footer > .wp-block-columns.alignwide > .wp-block-column:nth-child(2) {
		grid-column: 1;
		order: 2;
	}

	.floorit-footer > .wp-block-columns.alignwide > .wp-block-column:nth-child(4) {
		grid-column: 2;
		order: 3;
	}

	.floorit-footer > .wp-block-columns.alignwide > .wp-block-column:nth-child(3) {
		grid-column: 1 / -1;
		order: 4;
	}

	.floorit-brand-logo--footer {
		position: relative;
		width: 10.5rem;
		height: 5.84rem;
		margin: 0 auto !important;
		overflow: hidden;
	}

	.floorit-brand-logo--footer a {
		display: block;
		width: 100%;
		height: 100%;
	}

	.floorit-brand-logo--footer img {
		display: block;
		width: 10.5rem;
		max-width: none;
		height: auto;
		transform: translateY(-2.33rem) !important;
	}

	.floorit-footer h3 {
		margin: 0 0 .62rem !important;
		font-size: 1.05rem !important;
		line-height: 1.2;
	}

	.floorit-footer .wp-block-column > p {
		margin: 0 !important;
		font-size: .88rem !important;
		line-height: 1.62;
	}

	.floorit-footer-actions {
		gap: .48rem;
		margin: 0 0 .72rem;
	}

	.floorit-contact-action {
		min-height: 2.45rem;
		font-size: .8rem;
	}

	.floorit-footer-location {
		margin-top: .15rem;
		font-size: .8rem;
	}

	.floorit-footer-ticker {
		margin-top: 1.35rem !important;
	}

	.floorit-footer > p:last-child {
		margin: .8rem 0 0 !important;
		padding-bottom: .85rem;
		font-size: .76rem !important;
	}
}


/* 0.27.0 - GHL kennismakingsagenda integrated into Floor-IT visual language */
.floorit-section--booking {
	padding-top: clamp(1.2rem, 3vw, 2.1rem);
}

.floorit-booking-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .65fr);
	align-items: end;
	gap: clamp(1rem, 3vw, 2.25rem);
	max-width: 72rem;
}

.floorit-booking-intro .floorit-kicker {
	display: inline-flex;
	margin: 0 0 .55rem;
	color: var(--floorit-orange-deep);
	font-size: .76rem;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.floorit-booking-intro h2 {
	margin: 0 0 .65rem;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	line-height: 1.08;
	letter-spacing: -.035em;
}

.floorit-booking-intro p {
	max-width: 48rem;
	margin: 0;
	color: var(--floorit-muted);
	font-size: clamp(.98rem, 1.5vw, 1.08rem);
	line-height: 1.68;
}

.floorit-booking-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .5rem;
}

.floorit-booking-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 2.1rem;
	padding: .42rem .72rem;
	border: 1px solid rgba(241,90,36,.18);
	border-radius: 999px;
	background: rgba(255,255,255,.8);
	color: var(--floorit-ink);
	font-size: .78rem;
	font-weight: 760;
	line-height: 1.2;
	box-shadow: 0 5px 16px rgba(17,24,39,.035);
}

.floorit-booking-card {
	max-width: 72rem;
	margin-top: 1.35rem;
	padding: clamp(.45rem, 1.2vw, .8rem);
	border: 1px solid rgba(17,24,39,.085);
	border-radius: 1.35rem;
	background:
		linear-gradient(135deg, rgba(241,90,36,.055), rgba(21,90,237,.025) 48%, rgba(255,255,255,.92) 82%),
		#fff;
	box-shadow: 0 20px 52px rgba(17,24,39,.075);
}

.floorit-external-booking {
	display: block;
	width: 100%;
	min-height: 720px;
	border: 0;
	border-radius: 1rem;
	background: #fff;
	overflow: hidden;
}

.floorit-section--booking .floorit-embed-card__privacy {
	margin: .78rem .45rem .1rem;
}

@media (max-width: 760px) {
	.floorit-section--booking {
		padding-top: .85rem;
	}

	.floorit-booking-intro {
		grid-template-columns: minmax(0, 1fr);
		gap: .9rem;
	}

	.floorit-booking-intro h2 {
		font-size: clamp(1.55rem, 8vw, 1.95rem);
	}

	.floorit-booking-intro p {
		font-size: .94rem;
		line-height: 1.6;
	}

	.floorit-booking-meta {
		justify-content: flex-start;
	}

	.floorit-booking-meta span {
		min-height: 1.95rem;
		padding: .38rem .62rem;
		font-size: .73rem;
	}

	.floorit-booking-card {
		margin-inline: -.25rem;
		margin-top: 1rem;
		padding: .32rem;
		border-radius: 1.05rem;
		box-shadow: 0 12px 34px rgba(17,24,39,.06);
	}

	.floorit-external-booking {
		min-height: 840px;
		border-radius: .82rem;
	}

	.floorit-section--booking .floorit-embed-card__privacy {
		margin: .72rem .55rem .25rem;
		font-size: .78rem;
	}
}


/* 0.28.0 - cookie/service inventory */
.floorit-cookie-inventory {
	margin-top: 1rem;
	overflow-x: auto;
	border: 1px solid rgba(17,24,39,.09);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 8px 28px rgba(17,24,39,.035);
}

.floorit-cookie-inventory table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}

.floorit-cookie-inventory th,
.floorit-cookie-inventory td {
	padding: .85rem .9rem;
	border-bottom: 1px solid rgba(17,24,39,.075);
	text-align: left;
	vertical-align: top;
	font-size: .88rem;
	line-height: 1.5;
}

.floorit-cookie-inventory th {
	background: rgba(248,250,252,.92);
	color: var(--floorit-ink);
	font-size: .8rem;
	font-weight: 800;
}

.floorit-cookie-inventory td {
	color: var(--floorit-muted);
}

.floorit-cookie-inventory tr:last-child td {
	border-bottom: 0;
}

@media (max-width: 720px) {
	.floorit-cookie-inventory {
		margin-inline: -.15rem;
		border-radius: .85rem;
	}

	.floorit-cookie-inventory table {
		min-width: 640px;
	}

	.floorit-cookie-inventory th,
	.floorit-cookie-inventory td {
		padding: .72rem .75rem;
		font-size: .82rem;
	}
}


/* 0.28.1 - knowledge hub width + odd-card balance */
.floorit-page-blogs .floorit-knowledge-toolbar,
.floorit-page-blogs .floorit-knowledge-index {
	width: min(calc(100% - 2rem), 1200px) !important;
	max-width: 1200px !important;
	margin-inline: auto !important;
}

.floorit-site .floorit-knowledge-grid > .wp-block-post.is-balanced-last {
	grid-column: 1 / -1;
	width: calc((100% - 1rem) / 2);
	justify-self: center;
}

@media (max-width: 760px) {
	.floorit-page-blogs .floorit-knowledge-toolbar,
	.floorit-page-blogs .floorit-knowledge-index {
		width: min(calc(100% - 1rem), 1200px) !important;
	}

	.floorit-site .floorit-knowledge-grid > .wp-block-post.is-balanced-last {
		grid-column: auto;
		width: 100%;
		justify-self: stretch;
	}
}


/* 0.28.2 - knowledge category filters */
.floorit-knowledge-controls {
	width: min(calc(100% - 2rem), 1200px);
	max-width: 1200px;
	margin-inline: auto;
}

.floorit-knowledge-controls .floorit-knowledge-toolbar {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

.floorit-knowledge-topics {
	display: flex;
	flex-wrap: wrap;
	gap: .52rem;
	margin: .78rem 0 1.15rem;
}

.floorit-knowledge-topic {
	appearance: none;
	min-height: 2.25rem;
	padding: .47rem .78rem;
	border: 1px solid rgba(17,24,39,.11);
	border-radius: 999px;
	background: rgba(255,255,255,.86);
	color: var(--floorit-muted);
	font: inherit;
	font-size: .8rem;
	font-weight: 760;
	line-height: 1.15;
	cursor: pointer;
	box-shadow: 0 3px 12px rgba(17,24,39,.025);
	transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.floorit-knowledge-topic:hover,
.floorit-knowledge-topic:focus-visible {
	border-color: rgba(241,90,36,.34);
	color: var(--floorit-ink);
	outline: none;
}

.floorit-knowledge-topic.is-active,
.floorit-knowledge-topic[aria-pressed="true"] {
	border-color: var(--floorit-orange);
	background: var(--floorit-orange);
	color: #fff;
	box-shadow: 0 7px 20px rgba(241,90,36,.16);
}

@media (max-width: 760px) {
	.floorit-knowledge-controls {
		width: min(calc(100% - 1rem), 1200px);
	}

	.floorit-knowledge-topics {
		flex-wrap: nowrap;
		gap: .44rem;
		margin: .65rem 0 1rem;
		padding: 0 .05rem .2rem;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.floorit-knowledge-topics::-webkit-scrollbar {
		display: none;
	}

	.floorit-knowledge-topic {
		flex: 0 0 auto;
		min-height: 2.15rem;
		padding: .43rem .7rem;
		font-size: .75rem;
	}
}


/* 0.31.3 - knowledge search and topic filters are separate modes */
.floorit-site .floorit-knowledge-grid > .wp-block-post.is-filtered-out {
	display: none !important;
}
/* Floor-IT.eu 0.33.0 - secondary page hero */
.floorit-managed-page .floorit-page-shell > .wp-block-group:first-child:empty {
	display: none;
}

.floorit-managed-page .wp-block-post-content {
	margin-block-start: 0;
}

.floorit-managed-page:not(.floorit-home) .floorit-secondary-hero {
	position: relative;
	padding: clamp(4rem, 6vw, 6rem) 0 clamp(3.5rem, 5vw, 5rem);
	isolation: isolate;
}

.floorit-managed-page:not(.floorit-home) .floorit-secondary-hero::before {
	content: "";
	position: absolute;
	width: 32rem;
	height: 32rem;
	right: -13rem;
	top: -14rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(241, 90, 36, .14), rgba(241, 90, 36, 0) 70%);
	pointer-events: none;
	z-index: -1;
}

.floorit-secondary-hero__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
	gap: clamp(2.75rem, 5vw, 5.5rem);
	align-items: center;
}
.floorit-secondary-hero__copy {
	min-width: 0;
	max-width: 48rem;
}

.floorit-secondary-hero .floorit-kicker {
	margin-bottom: 1rem;
}

.floorit-secondary-hero__title {
	max-width: 15ch;
	margin: 0;
	color: var(--floorit-ink);
	font-size: clamp(2.75rem, 4.4vw, 4.8rem);
	line-height: .98;
	letter-spacing: -.055em;
	text-wrap: balance;
}

.floorit-secondary-hero__lead {
	max-width: 44rem;
	margin: 1.45rem 0 0;
	color: #475467;
	font-size: clamp(1.05rem, 1.55vw, 1.22rem);
	line-height: 1.65;
}

.floorit-secondary-hero .wp-block-buttons {
	margin-top: 1.65rem;
	gap: .75rem;
}
.floorit-secondary-hero .wp-block-button:not(.is-style-outline) .wp-element-button {
	background: var(--floorit-orange);
	color: #fff;
	border-color: var(--floorit-orange);
	box-shadow: 0 10px 28px rgba(241, 90, 36, .18);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.floorit-secondary-hero .wp-block-button:not(.is-style-outline) .wp-element-button:hover {
	background: var(--floorit-orange-deep);
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(241, 90, 36, .24);
}

.floorit-secondary-hero .wp-block-button.is-style-outline .wp-element-button {
	background: rgba(255, 255, 255, .72);
	border-color: var(--floorit-line);
	color: var(--floorit-ink);
}

.floorit-secondary-hero__panel {
	position: relative;
	overflow: hidden;
	padding: clamp(1.4rem, 2vw, 1.8rem);
	border: 1px solid rgba(20, 29, 47, .10);
	border-radius: 1.65rem;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 24px 60px rgba(17, 24, 39, .10);
	backdrop-filter: blur(10px);
}
.floorit-secondary-hero__panel::before {
	content: "";
	position: absolute;
	width: 11rem;
	height: 11rem;
	right: -5.5rem;
	top: -5.5rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(241, 90, 36, .14), rgba(241, 90, 36, 0) 72%);
	pointer-events: none;
}

.floorit-secondary-hero__panel-head {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.floorit-secondary-hero__icon {
	display: grid;
	flex: 0 0 auto;
	width: 3.15rem;
	height: 3.15rem;
	place-items: center;
	border-radius: 1rem;
	background: rgba(241, 90, 36, .10);
	color: var(--floorit-orange-deep);
}

.floorit-secondary-hero__icon svg {
	width: 1.55rem;
	height: 1.55rem;
}
.floorit-secondary-hero__panel-head small {
	display: block;
	margin-bottom: .18rem;
	color: var(--floorit-orange-deep);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.floorit-secondary-hero__panel-head strong {
	display: block;
	max-width: 22ch;
	color: var(--floorit-ink);
	font-size: clamp(1.2rem, 1.8vw, 1.48rem);
	line-height: 1.15;
	letter-spacing: -.025em;
}

.floorit-secondary-hero__signals {
	position: relative;
	display: grid;
	gap: .55rem;
}

.floorit-secondary-hero__signals span {
	display: flex;
	align-items: center;
	gap: .68rem;
	padding: .72rem .82rem;
	border: 1px solid rgba(20, 29, 47, .08);
	border-radius: .9rem;
	background: rgba(248, 250, 252, .82);
	color: #273247;
	font-size: .9rem;
	font-weight: 650;
	line-height: 1.35;
}
.floorit-secondary-hero__signals i {
	flex: 0 0 auto;
	width: .48rem;
	height: .48rem;
	border-radius: 50%;
	background: var(--floorit-orange);
	box-shadow: 0 0 0 4px rgba(241, 90, 36, .09);
}

.floorit-secondary-hero__panel > p {
	position: relative;
	margin: 1rem .15rem 0;
	color: #667085;
	font-size: .88rem;
	line-height: 1.55;
}

@media (max-width: 900px) {
	.floorit-managed-page:not(.floorit-home) .floorit-secondary-hero {
		padding: 3.25rem 0 3.75rem;
	}

	.floorit-secondary-hero__grid {
		grid-template-columns: 1fr;
		gap: 2.25rem;
	}

	.floorit-secondary-hero__copy {
		max-width: 46rem;
	}

	.floorit-secondary-hero__panel {
		max-width: 42rem;
	}
}
@media (max-width: 600px) {
	.floorit-managed-page:not(.floorit-home) .floorit-secondary-hero {
		padding: 2.7rem 0 3.25rem;
	}

	.floorit-secondary-hero__title {
		max-width: none;
		font-size: clamp(2.2rem, 10.2vw, 2.65rem);
		line-height: 1;
		letter-spacing: -.048em;
	}

	.floorit-secondary-hero__lead {
		margin-top: 1.25rem;
		font-size: 1.04rem;
		line-height: 1.62;
	}

	.floorit-secondary-hero .wp-block-buttons {
		margin-top: 1.4rem;
	}

	.floorit-secondary-hero__panel {
		padding: 1.2rem;
		border-radius: 1.35rem;
	}

	.floorit-secondary-hero__signals span {
		padding: .68rem .72rem;
		font-size: .86rem;
	}
}
