/*
 * Ofixo — custom styles
 * Kept deliberately small. Anything theme.json can express belongs in theme.json.
 */

/* ---- Smooth in-page navigation ---- */
html {
	scroll-behavior: smooth;
}

/* Offset anchored sections so the sticky site header + sticky product-tabs
 * (when both are visible) don't cover the heading the user just navigated
 * to. Header ~70px + tabs ~50px + 10px breathing room = 130px. On mobile
 * the header is shorter so we drop the offset a little. */
:where(section[id], div[id].ofixo-anchor) {
	scroll-margin-top: 130px;
}

@media (max-width: 768px) {
	:where(section[id], div[id].ofixo-anchor) {
		scroll-margin-top: 115px;
	}
}

/* ---- Eyebrow label: orange line + uppercase text (reused across sections) ---- */
.ofixo-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.ofixo-eyebrow::before {
	content: "";
	flex: none;
	width: 40px;
	height: 2px;
	background: var(--wp--preset--color--primary);
}

.ofixo-eyebrow.is-centered {
	justify-content: center;
}

/* ---- Brand dot after the site title (legacy — kept in case wp:site-title is reintroduced anywhere) ---- */
.wp-block-site-title a::after {
	content: "";
	display: inline-block;
	width: 0.32em;
	height: 0.32em;
	margin-left: 0.12em;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
}

/* ---- Site logo (header) ---- */
.ofixo-logo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	flex: none;
}

.ofixo-logo img {
	display: block;
	height: 36px;
	width: auto;
	max-width: 100%;
}

/* ---- Footer logo — invert to white on the dark footer background ---- */
.ofixo-footer-logo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	margin-bottom: 0.5rem;
}

.ofixo-footer-logo img {
	display: block;
	height: 36px;
	width: auto;
	filter: brightness(0) invert(1);
}

/* ---- Social media icons (footer) ---- */
.ofixo-social {
	display: flex;
	gap: 0.6rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.ofixo-social li {
	margin: 0;
}

.ofixo-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.ofixo-social a:hover,
.ofixo-social a:focus-visible {
	background: var(--wp--preset--color--primary);
	color: #fff;
	transform: translateY(-2px);
}

.ofixo-social svg {
	display: block;
}

/* Explicit fill so the icon takes the link's color (currentColor) even when
   a global SVG rule somewhere else tries to override the inline attribute. */
.ofixo-social a svg path {
	fill: currentColor;
}

.ofixo-social a:hover svg path,
.ofixo-social a:focus-visible svg path {
	fill: #fff;
}

/* ============================================================
   CLIENT LOGO MARQUEE (rendered by [ofixo_clients] shortcode —
   continuous horizontal scroll, pauses on hover, mobile friendly)
   ============================================================ */
.ofixo-clients {
	border-top: 1px solid var(--wp--preset--color--border);
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 1.5rem 0;
	overflow: hidden;
}

.ofixo-clients__inner {
	max-width: var(--wp--style--global--content-size, 1280px);
	margin: 0 auto;
	padding-left: var(--wp--style--root--padding-left, 1.5rem);
	padding-right: var(--wp--style--root--padding-right, 1.5rem);
	display: flex;
	align-items: center;
	gap: 2.5rem;
	box-sizing: border-box;
}

.ofixo-clients__label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin: 0;
	flex: none;
	max-width: 14rem;
	line-height: 1.4;
}

/* Window through which the track scrolls. Fades the edges so logos don't
   slam in/out abruptly. */
.ofixo-clients__marquee {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.ofixo-clients__track {
	display: flex;
	align-items: center;
	gap: 3.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	width: max-content;
	animation: ofixoClientsScroll var(--ofixo-clients-speed, 35s) linear infinite;
}

/* Pause on hover (desktop) and when the focused logo gains keyboard focus. */
.ofixo-clients:hover .ofixo-clients__track,
.ofixo-clients:focus-within .ofixo-clients__track {
	animation-play-state: paused;
}

.ofixo-clients__item {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ofixo-clients__item img {
	display: block;
	max-height: 44px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.72;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.ofixo-clients__item:hover img,
.ofixo-clients__item:focus-within img {
	filter: grayscale(0);
	opacity: 1;
}

/* Text-only fallback (for clients without a Featured Image yet) */
.ofixo-clients__item--text {
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--body);
	white-space: nowrap;
}

@keyframes ofixoClientsScroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media ( max-width: 768px ) {
	.ofixo-clients__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}
	.ofixo-clients__label {
		max-width: none;
	}
	.ofixo-clients__marquee {
		width: 100%;
	}
	.ofixo-clients__track {
		gap: 2.5rem;
	}
	.ofixo-clients__item img {
		max-height: 36px;
		max-width: 130px;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.ofixo-clients__track {
		animation: none;
	}
}

/* ============================================================
   SCROLL REVEAL — soft fade + lift on sections as they scroll into
   view, fade back out when they leave. Set up by ofixo-reveal.js.
   ============================================================ */
@media ( prefers-reduced-motion: no-preference ) {

	.ofixo-reveal {
		opacity: 0;
		transform: translateY(36px);
		transition:
			opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
			transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
		will-change: opacity, transform;
	}

	.ofixo-reveal.is-revealed {
		opacity: 1;
		transform: none;
	}

	/* Cards / columns within a section stagger in after the section itself,
	   so the section header lands first and the grid items follow.
	   The per-child delay is supplied inline by ofixo-reveal.js. */
	.ofixo-reveal .ofixo-reveal-child {
		opacity: 0;
		transform: translateY(22px);
		transition:
			opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1),
			transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
		transition-delay: 0ms;
	}

	.ofixo-reveal.is-revealed .ofixo-reveal-child {
		opacity: 1;
		transform: none;
		transition-delay: calc( 120ms + var( --ofixo-reveal-delay, 0ms ) );
	}
}

/* ============================================================
   FLOATING ACTION BUTTONS (Call / WhatsApp / Scroll-to-top)
   Fixed to the bottom-right corner on every page.
   ============================================================ */
.ofixo-floats {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	z-index: 9999;
	pointer-events: none;
}

.ofixo-float {
	pointer-events: auto;
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 50%;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, opacity 0.25s ease, visibility 0.25s ease;
}

.ofixo-float:hover,
.ofixo-float:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.26);
	outline: none;
}

.ofixo-float--call {
	background: var(--wp--preset--color--primary);
}

.ofixo-float--whatsapp {
	background: #25d366;
}

/* Scroll-to-top is excluded from the flex layout while hidden so the Call
   and WhatsApp icons stay pinned to the bottom-right with no empty gap.
   When it becomes visible it slides into the stack with a small fade. */
.ofixo-float--top {
	display: none;
	background: var(--wp--preset--color--contrast);
}

.ofixo-float--top.is-visible {
	display: inline-flex;
	animation: ofixoFloatPop 0.25s ease-out;
}

@keyframes ofixoFloatPop {
	from { opacity: 0; transform: translateY(10px) scale(0.85); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

.ofixo-float svg {
	display: block;
}

.ofixo-float svg path {
	fill: currentColor;
}

/* Pulse the WhatsApp button gently — it's the primary "live" channel. */
@keyframes ofixoFloatPulse {
	0%, 100% { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18), 0 0 0 0 rgba(37, 211, 102, 0.45); }
	50%      { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18), 0 0 0 12px rgba(37, 211, 102, 0); }
}

.ofixo-float--whatsapp {
	animation: ofixoFloatPulse 2.4s ease-out infinite;
}

@media ( prefers-reduced-motion: reduce ) {
	.ofixo-float--whatsapp { animation: none; }
	.ofixo-float { transition: background 0.2s ease; }
}

@media ( max-width: 600px ) {
	.ofixo-floats {
		right: 0.85rem;
		bottom: 0.85rem;
		gap: 0.55rem;
	}
	.ofixo-float {
		width: 46px;
		height: 46px;
	}
	.ofixo-float svg {
		width: 20px;
		height: 20px;
	}
}

/* ---- Sticky main header ---- */
.ofixo-header-main {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* ---- Orange announcement bar — keep links readable on the orange background ---- */
.ofixo-announce a {
	color: #ffffff;
	text-decoration: none;
}

.ofixo-announce a:hover {
	color: #ffe1d6;
	text-decoration: none;
}

/* Contact info strip: phone / email links + city, separated by | dividers.
 * Icons inherit currentColor from the surrounding text so they render white
 * on the orange bar, no manual stroke/fill needed. */
.ofixo-announce-info {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}

.ofixo-announce-info a,
.ofixo-announce-info .ofixo-announce-loc {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	line-height: 1;
}

.ofixo-announce-info svg {
	flex-shrink: 0;
	color: #ffffff;
}

.ofixo-announce-sep {
	opacity: 0.55;
	user-select: none;
}

/* ---- Pill-shaped button ---- */
.ofixo-btn-pill .wp-block-button__link {
	border-radius: 999px;
}

/* ---- Outline button (transparent, inherits text colour for the border) ---- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background-color: transparent;
	border: 1.5px solid currentColor;
}

/* ---- Hero stats strip ---- */
.ofixo-hero-stats {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	margin-top: 0.5rem;
	padding-top: 2rem;
}

/* Hero content column — its left edge lines up exactly with the constrained
   container the other sections use, capped at 620px over the left of the image. */
.wp-block-cover .ofixo-hero-content,
.ofixo-page-hero .ofixo-hero-content {
	max-width: 620px;
	margin-right: auto;
	margin-left: max(
		var(--wp--style--root--padding-left, 1.5rem),
		(100% - var(--wp--style--global--content-size, 1280px)) / 2
	);
}

/* ---- Hero / About image placeholders ---- */
.ofixo-hero-media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 540px;
	padding: 2rem;
	border-radius: 14px;
	background: linear-gradient(135deg, #5a3420 0%, #2a1810 55%, #0f0f10 100%);
}

.ofixo-about-media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 380px;
	padding: 2rem;
	border-radius: 14px;
	background: linear-gradient(135deg, #c9bdb2 0%, #9c8a7a 100%);
}

.ofixo-hero-media::before {
	content: "";
	position: absolute;
	top: 14%;
	right: -6%;
	width: 42%;
	aspect-ratio: 1;
	border: 2px solid var(--wp--preset--color--primary);
	transform: rotate(15deg);
	opacity: 0.55;
	pointer-events: none;
}

/* ---- Navigation: keep links readable and tidy ---- */
.wp-block-navigation .wp-block-navigation-item__content {
	font-weight: 500;
}

/* ---- Footer ---- */
.ofixo-footer :is(h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--base);
}

.ofixo-footer a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.ofixo-footer a:hover {
	color: var(--wp--preset--color--primary);
}

.ofixo-footer ul.wp-block-list {
	list-style: none;
	padding-left: 0;
}

.ofixo-footer-bottom {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #2a2a2c;
}

/* ---- Inline icons via CSS mask — colour follows currentColor ---- */
:is(
	.ofixo-ico-phone, .ofixo-ico-mail, .ofixo-ico-pin,
	.ofixo-ico-globe, .ofixo-ico-clock
)::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.55em;
	vertical-align: -0.15em;
	background-color: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.ofixo-ico-phone::before {
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z"/></svg>');
}

.ofixo-ico-mail::before {
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>');
}

.ofixo-ico-pin::before {
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>');
}

.ofixo-ico-globe::before {
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93C7.05 19.44 4 16.08 4 12c0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41C17.93 5.78 20 8.65 20 12c0 2.08-.8 3.97-2.1 5.39z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93C7.05 19.44 4 16.08 4 12c0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41C17.93 5.78 20 8.65 20 12c0 2.08-.8 3.97-2.1 5.39z"/></svg>');
}

.ofixo-ico-clock::before {
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"/></svg>');
}

/* In the footer, contact icons + social icons are orange */
.ofixo-footer :is(.ofixo-ico-phone, .ofixo-ico-mail, .ofixo-ico-pin, .ofixo-ico-globe, .ofixo-ico-clock)::before {
	background-color: var(--wp--preset--color--primary);
}

.ofixo-footer .wp-block-social-links {
	color: var(--wp--preset--color--primary);
}

.ofixo-footer .wp-block-social-link {
	background-color: transparent;
}

.ofixo-footer .wp-block-social-link svg {
	fill: currentColor;
}

/* Call Now button — orange phone icon (currentColor matches the button text) */
.ofixo-btn-call .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.45em;
	vertical-align: -0.15em;
	background-color: currentColor;
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z"/></svg>');
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* Remove the small gap WordPress puts between top-level page blocks (so the
   CTA flows flush into the footer site-wide). */
.wp-site-blocks {
	--wp--style--block-gap: 0;
}

.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* ============================================================
   SECTION COMPONENTS
   ============================================================ */

/* ---- Cards (shared) ---- */
.ofixo-card {
	height: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--base);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ofixo-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(15, 15, 16, 0.1);
}

/* Featured image sits flush at the top of a card — the card's overflow:hidden
   + border-radius automatically rounds the image's top corners. */
.ofixo-card .wp-block-post-featured-image {
	margin: 0;
}

.ofixo-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
}

/* Empty-image fallback so cards without a featured image still have a top area */
.ofixo-card .wp-block-post-featured-image.ofixo-card-img-fallback {
	min-height: 200px;
	background: var(--wp--preset--color--surface);
}

/* Category label inside cards (post-terms block) */
.ofixo-card-cat,
.ofixo-card-cat a {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* "Read more" link inside cards */
.ofixo-card .wp-block-read-more {
	display: inline-block;
	margin-top: 0.25rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* Dynamic Query Loop grid */
.ofixo-loop-grid {
	margin-top: 3rem;
}

/* Card inner padding (applied via class, not inline markup) */
.ofixo-card-body {
	padding: 1.75rem;
}

/* Dark-variant card (Why Choose Us) */
.ofixo-card-dark {
	height: 100%;
	padding: 1.75rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	background: var(--wp--preset--color--ink-soft);
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.ofixo-card-dark:hover {
	transform: translateY(-4px);
	border-color: rgba(224, 78, 31, 0.5);
}

/* Coloured media strip on top of service / project / blog cards */
.ofixo-card-media {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1rem;
	min-height: 190px;
	padding: 1.5rem;
}

.ofixo-card-media.is-tall {
	min-height: 240px;
}

/* Square icon tile */
.ofixo-icon-box {
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: 12px;
	background: rgba(224, 78, 31, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
}

/* Number badge (service cards) */
.ofixo-badge-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	padding: 0.25rem 0.6rem;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.9);
	color: var(--wp--preset--color--contrast);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.05em;
}

/* Small pill tag */
.ofixo-tag {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ofixo-tag.is-soft {
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--primary);
}

/* Checklist item */
.ofixo-check {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}

.ofixo-check::before {
	content: "✓";
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---- Trust strip ---- */
.ofixo-trust-strip {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* ---- About: floating "25+ years" badge ---- */
.ofixo-about-badge {
	position: relative;
	margin-top: -90px;
	margin-left: auto;
	width: 220px;
	padding: 1.5rem;
	border-radius: 14px;
}

/* ---- Why Choose Us: dark section with warm glow ---- */
.ofixo-why {
	position: relative;
	overflow: hidden;
}

.ofixo-why::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -120px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(224, 78, 31, 0.22) 0%, rgba(224, 78, 31, 0) 70%);
	pointer-events: none;
}

.ofixo-why > * {
	position: relative;
	z-index: 1;
}

/* ---- Process: big faint step number ---- */
.ofixo-step-num {
	font-size: 4.5rem;
	font-weight: 800;
	line-height: 1;
	color: rgba(224, 78, 31, 0.16);
	letter-spacing: -0.03em;
}

/* ---- Testimonials ---- */
.ofixo-quote-mark {
	font-size: 4.5rem;
	line-height: 0.6;
	font-weight: 800;
	color: rgba(224, 78, 31, 0.22);
}

.ofixo-avatar {
	width: 48px;
	height: 48px;
	flex: none;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}

.ofixo-rating-score {
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
}

/* ---- FAQ accordion — native <details> enhanced by ofixo-faq.js for
       single-open behaviour and smooth height/fade animation. Works without JS
       too (falls back to the browser's default toggle). ---- */
.ofixo-faq .wp-block-details,
.ofixo-faq details {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background: var(--wp--preset--color--base);
	padding: 0 1.5rem;
	margin-bottom: 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ofixo-faq .wp-block-details[open],
.ofixo-faq details[open] {
	border-color: rgba(224, 78, 31, 0.4);
	box-shadow: 0 8px 24px rgba(15, 15, 16, 0.06);
}

.ofixo-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 1.35rem 0;
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--wp--preset--color--contrast);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

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

.ofixo-faq summary::after {
	content: "+";
	flex: none;
	color: var(--wp--preset--color--primary);
	font-size: 1.6rem;
	line-height: 1;
	transition: transform 0.3s cubic-bezier(0.2, 0, 0, 1);
}

.ofixo-faq [open] > summary::after {
	content: "−";
	transform: rotate(180deg);
}

/* Answer wrapper that the JS animates. We use overflow:hidden so the height
   animation clips cleanly, and a small fade. The padding lives inside the
   wrapper so it animates with the content. */
.ofixo-faq .ofixo-faq-content {
	overflow: hidden;
	padding-bottom: 1.35rem;
}

.ofixo-faq .ofixo-faq-content > *:first-child {
	margin-top: 0;
}

.ofixo-faq .ofixo-faq-content > *:last-child {
	margin-bottom: 0;
}

/* Fallback for the no-JS case: when JS hasn't wrapped the content, style the
   direct non-summary children the same way. */
.ofixo-faq .wp-block-details > *:not(summary):not(.ofixo-faq-content) {
	margin-top: 0;
	padding-bottom: 1.35rem;
}

@media ( prefers-reduced-motion: reduce ) {
	.ofixo-faq summary::after {
		transition: none;
	}
}

/* ---- CTA band: decorative circles ---- */
.ofixo-cta {
	position: relative;
	overflow: hidden;
}

.ofixo-cta::before,
.ofixo-cta::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	pointer-events: none;
}

.ofixo-cta::before {
	width: 460px;
	height: 460px;
	top: -160px;
	right: -120px;
}

.ofixo-cta::after {
	width: 300px;
	height: 300px;
	bottom: -150px;
	right: 220px;
}

.ofixo-cta > * {
	position: relative;
	z-index: 1;
}

/* ============================================================
   PRODUCT DETAIL PAGE
   ============================================================ */

/* Breadcrumbs strip */
.ofixo-breadcrumbs {
	font-size: 0.875rem;
	color: var(--wp--preset--color--body);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.ofixo-breadcrumbs a {
	color: var(--wp--preset--color--body);
	text-decoration: none;
}

.ofixo-breadcrumbs a:hover {
	color: var(--wp--preset--color--primary);
}

.ofixo-breadcrumbs .is-current {
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
}

/* Product hero image — large gradient panel with rounded corners */
.ofixo-prod-image {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 20px;
	overflow: hidden;
	background: linear-gradient(135deg, #1f3a5f 0%, #0f0f10 100%);
	border: 2px solid #d7552a;
}

.ofixo-prod-image .wp-block-post-featured-image {
	position: absolute;
	inset: 0;
	margin: 0;
	height: 100%;
}

.ofixo-prod-image .wp-block-post-featured-image img,
.ofixo-prod-image .ofixo-prod-mainimg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin-block-start: 0;
}

/* Badges on top of the product image */
.ofixo-prod-img-badges {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	right: 1.5rem;
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	z-index: 2;
	pointer-events: none;
}

.ofixo-prod-badge {
	display: inline-block;
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--wp--preset--color--contrast);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	pointer-events: auto;
}

.ofixo-prod-badge.is-featured {
	background: var(--wp--preset--color--primary);
	color: #ffffff;
	margin-left: auto;
}

/* Gallery thumbnails row — clickable buttons holding the gallery images */
.ofixo-prod-thumbs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
}

.ofixo-prod-thumb {
	aspect-ratio: 146 / 88;
	padding: 0;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.65;
	font: inherit;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.ofixo-prod-thumb:hover {
	opacity: 1;
}

.ofixo-prod-thumb.is-active {
	opacity: 1;
	border-color: var(--wp--preset--color--primary);
	border-width: 2px;
}

.ofixo-prod-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Small uppercase product eyebrow (category) */
.ofixo-prod-eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

/* Feature pills row */
.ofixo-prod-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.ofixo-prod-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 0.9rem;
	border-radius: 8px;
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--border);
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}

.ofixo-prod-pill::before {
	content: "✓";
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

/* Stat boxes — 3-column row of (label / value) */
.ofixo-prod-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
}

.ofixo-prod-stat {
	padding: 0.85rem 1.1rem;
	background: var(--wp--preset--color--surface);
	border-radius: 10px;
}

.ofixo-prod-stat-label {
	display: block;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--body);
}

.ofixo-prod-stat-value {
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	margin-top: 0.2rem;
}

/* "In stock" indicator */
.ofixo-prod-stock {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--body);
}

.ofixo-prod-stock::before {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #16a34a;
}

/* Tabs strip — sticky BELOW the main site header so the two stack instead of
 * overlapping. Header height is roughly 70px on desktop, ~60px on mobile;
 * tabs sit just under it.
 *
 * Z-index is lower than the header (header=100, tabs=90) so the tabs slip
 * BEHIND the header when scrolled — they never visually cover the logo/nav.
 *
 * Tried top:0 with z-index above the header — that broke the in-flight
 * anchor smooth scroll and the scroll-to-top button (clicks stalled and
 * jerked back). Sticking BELOW the header is the configuration that lets
 * native anchor + scrollTo scrolling work cleanly. */
.ofixo-prod-tabs {
	position: sticky;
	top: 70px;
	z-index: 90;
	background: var(--wp--preset--color--base);
	border-top: 1px solid var(--wp--preset--color--border);
	border-bottom: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 2px 8px rgba(15, 15, 16, 0.05);
	font-size: 0.95rem;
}

@media (max-width: 768px) {
	.ofixo-prod-tabs { top: 60px; }
}

.ofixo-prod-tabs ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.ofixo-prod-tabs li {
	margin: 0;
}

.ofixo-prod-tabs a {
	display: inline-block;
	padding: 0.55rem 1.25rem;
	color: var(--wp--preset--color--body);
	text-decoration: none;
	font-weight: 500;
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
}

.ofixo-prod-tabs a:hover {
	color: var(--wp--preset--color--contrast);
}

.ofixo-prod-tabs a.is-current {
	color: var(--wp--preset--color--contrast);
	border-bottom-color: var(--wp--preset--color--primary);
}

/* Eyebrow with corner-bracket decoration (used on Overview, Tech Specs, Applications) */
.ofixo-eyebrow-corner {
	position: relative;
	display: inline-block;
	padding-left: 1.75rem;
	padding-top: 0.5rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.ofixo-eyebrow-corner::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	border-top: 2px solid currentColor;
	border-left: 2px solid currentColor;
}

/* Key Features panel (sits in the Overview's right column) */
.ofixo-keyfeatures {
	padding: 2rem;
	background: rgba(224, 78, 31, 0.06);
	border: 1px solid rgba(224, 78, 31, 0.18);
	border-radius: 14px;
}

.ofixo-keyfeatures h3 {
	position: relative;
	margin: 0 0 1.5rem;
	padding-bottom: 0.6rem;
	font-size: 1.4rem;
}

.ofixo-keyfeatures h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 3px;
	background: var(--wp--preset--color--primary);
}

.ofixo-keyfeatures ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ofixo-keyfeatures li {
	display: flex;
	gap: 0.65rem;
	padding: 0.4rem 0;
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-keyfeatures li::before {
	content: "✓";
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	flex: none;
}

/* Tech specifications table — bordered card with grey header + compact white rows */
.ofixo-specs-table.wp-block-table {
	margin: 0;
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--base);
}

.ofixo-specs-table table {
	width: 100%;
	border-collapse: collapse;
}

.ofixo-specs-table th,
.ofixo-specs-table td {
	padding: 0.3rem 1.1rem;
	text-align: left;
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: 0.9rem;
}

.ofixo-specs-table thead th {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--body);
	background: var(--wp--preset--color--surface);
	padding-top: 0.7rem;
	padding-bottom: 0.7rem;
}

.ofixo-specs-table tbody td {
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--base);
}

.ofixo-specs-table tbody tr:last-child td {
	border-bottom: none;
}

.ofixo-specs-table tbody td:nth-child(3) {
	color: var(--wp--preset--color--body);
}

/* Application card (emoji + title + description) — light orange tint */
.ofixo-app-card {
	background: rgba(224, 78, 31, 0.08);
	border: 1px solid rgba(224, 78, 31, 0.18);
	border-radius: 14px;
	padding: 1.75rem;
}

.ofixo-app-card-icon {
	font-size: 1.85rem;
	line-height: 1;
	margin-bottom: 0.85rem;
}

.ofixo-app-card h3 {
	margin: 0 0 0.6rem;
	font-size: 1.15rem;
}

/* Related-service card with circular icon */
.ofixo-relsvc-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	padding: 1.75rem;
}

.ofixo-relsvc-icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(224, 78, 31, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	margin-bottom: 1.1rem;
}

/* Related Products section — light card with horizontal layout */
.ofixo-relprod-card {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 1.25rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	padding: 1rem;
	color: var(--wp--preset--color--contrast);
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.ofixo-relprod-card:hover {
	transform: translateY(-3px);
	border-color: rgba(224, 78, 31, 0.4);
	box-shadow: 0 14px 34px rgba(15, 15, 16, 0.08);
}

.ofixo-relprod-card p {
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
}

.ofixo-relprod-img {
	position: relative;
	aspect-ratio: 1 / 1.6;
	border-radius: 10px;
	background: linear-gradient(135deg, #1f3a5f 0%, #0f0f10 100%);
}

.ofixo-relprod-img .ofixo-prod-badge {
	position: absolute;
	top: 0.6rem;
	left: 0.6rem;
	font-size: 0.62rem;
	padding: 0.25rem 0.55rem;
}

.ofixo-relprod-card h3 {
	margin: 0.25rem 0 0.5rem;
	font-size: 1.25rem;
}

.ofixo-relprod-card .read-more {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	text-decoration: none;
}

/* ============================================================
   REUSABLE CAROUSEL (services / products / anything)
   ============================================================ */

.ofixo-carousel {
	position: relative;
	/* The inner UL has overflow-x:auto, but the grid items' layout positions
	   still propagate to ancestors and grow the page's scrollWidth.
	   Clipping here prevents the off-screen cards from triggering a
	   horizontal scrollbar on the whole page. */
	overflow-x: clip;
}

.ofixo-carousel-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	margin: 0 0 2.5rem;
}

.ofixo-carousel-head h2 {
	margin: 0;
}

.ofixo-carousel-head .ofixo-eyebrow {
	margin-bottom: 0.6rem;
}

.ofixo-carousel-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.ofixo-carousel-link {
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	font-size: 0.95rem;
	white-space: nowrap;
}

.ofixo-carousel-nav {
	display: flex;
	gap: 0.5rem;
}

.ofixo-carousel-btn {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	font-size: 1.4rem;
	line-height: 1;
	padding: 0;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ofixo-carousel-btn:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}

.ofixo-carousel-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--border);
}

/* The Query Loop's <ul.wp-block-post-template> becomes the horizontal track */
.ofixo-carousel .wp-block-post-template,
.ofixo-carousel-track {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4.5rem) / 4);
	gap: 1.5rem;
	margin: 0;
	padding: 0.5rem 0.25rem;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.ofixo-carousel .wp-block-post-template::-webkit-scrollbar,
.ofixo-carousel-track::-webkit-scrollbar {
	display: none;
}

.ofixo-carousel .wp-block-post-template > li,
.ofixo-carousel-track > * {
	scroll-snap-align: start;
	margin: 0;
	height: auto;
}

@media (max-width: 1023px) {
	.ofixo-carousel .wp-block-post-template,
	.ofixo-carousel-track {
		grid-auto-columns: calc((100% - 1.5rem) / 2);
	}
}

@media (max-width: 599px) {
	.ofixo-carousel .wp-block-post-template,
	.ofixo-carousel-track {
		grid-auto-columns: 80%;
	}
}

/* 3-up modifier — used by the blog carousel on desktop. Tablet/mobile keep
   the default 2-up / 1-up behaviour from the rules above. */
@media (min-width: 1024px) {
	.ofixo-carousel.is-3up .wp-block-post-template,
	.ofixo-carousel.is-3up .ofixo-carousel-track {
		grid-auto-columns: calc((100% - 3rem) / 3);
	}
}

/* ---- Service card — white card, image (or gradient fallback) on top ---- */
.ofixo-svc-card {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	overflow: hidden;
	color: var(--wp--preset--color--contrast);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	box-sizing: border-box;
}

.ofixo-svc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(15, 15, 16, 0.1);
	border-color: rgba(224, 78, 31, 0.4);
}

/* Legacy icon div — kept in older inlined post_content but no longer part of the design. */
.ofixo-svc-card-icon {
	display: none;
}

/* Gradient placeholder shown when the service has no Featured Image. */
.ofixo-svc-img-fallback {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, var(--svc-c1, #0e7490) 0%, var(--svc-c2, #155e75) 100%);
}

.ofixo-svc-card .wp-block-post-featured-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
}

.ofixo-svc-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ofixo-svc-card:has(.wp-block-post-featured-image img) .ofixo-svc-img-fallback {
	display: none;
}

.ofixo-svc-card .wp-block-post-title {
	margin: 1.1rem 1.25rem 0;
	font-size: 1.1rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-svc-card .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.ofixo-svc-card .wp-block-post-excerpt {
	margin: 0.45rem 1.25rem 0;
}

.ofixo-svc-card .wp-block-post-excerpt p {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.88rem;
}

.ofixo-svc-card .wp-block-read-more {
	margin: 0.6rem 1.25rem 1.25rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* Distinct gradients cycled per service card so the carousel looks colourful
   even when the same dummy content is used everywhere. */
.ofixo-svc-card.is-c1 { --svc-c1: #0e7490; --svc-c2: #155e75; }
.ofixo-svc-card.is-c2 { --svc-c1: #6d28d9; --svc-c2: #4c1d95; }
.ofixo-svc-card.is-c3 { --svc-c1: #b45309; --svc-c2: #7c2d12; }
.ofixo-svc-card.is-c4 { --svc-c1: #0f766e; --svc-c2: #115e59; }
.ofixo-svc-card.is-c5 { --svc-c1: #4f46e5; --svc-c2: #312e81; }
.ofixo-svc-card.is-c6 { --svc-c1: #be185d; --svc-c2: #831843; }

.ofixo-carousel .wp-block-post-template > li:nth-child(6n+1) .ofixo-svc-card { --svc-c1: #0e7490; --svc-c2: #155e75; }
.ofixo-carousel .wp-block-post-template > li:nth-child(6n+2) .ofixo-svc-card { --svc-c1: #6d28d9; --svc-c2: #4c1d95; }
.ofixo-carousel .wp-block-post-template > li:nth-child(6n+3) .ofixo-svc-card { --svc-c1: #b45309; --svc-c2: #7c2d12; }
.ofixo-carousel .wp-block-post-template > li:nth-child(6n+4) .ofixo-svc-card { --svc-c1: #0f766e; --svc-c2: #115e59; }
.ofixo-carousel .wp-block-post-template > li:nth-child(6n+5) .ofixo-svc-card { --svc-c1: #4f46e5; --svc-c2: #312e81; }
.ofixo-carousel .wp-block-post-template > li:nth-child(6n+6) .ofixo-svc-card { --svc-c1: #be185d; --svc-c2: #831843; }

/* ---- Product card variant — white card, image top, info bottom ---- */
.ofixo-pcar-card {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	color: var(--wp--preset--color--contrast);
	box-sizing: border-box;
}

.ofixo-pcar-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(15, 15, 16, 0.1);
	border-color: rgba(224, 78, 31, 0.4);
}

.ofixo-pcar-card .wp-block-post-featured-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 4;
	margin: 0;
	overflow: hidden;
}

.ofixo-pcar-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ofixo-pcar-img-fallback {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, var(--prod-c1, #1f3a5f) 0%, var(--prod-c2, #0f0f10) 100%);
}

/* When the product has a Featured Image, hide the gradient placeholder. */
.ofixo-pcar-card:has(.wp-block-post-featured-image img) .ofixo-pcar-img-fallback {
	display: none;
}

.ofixo-carousel .wp-block-post-template > li:nth-child(4n+1) .ofixo-pcar-img-fallback { --prod-c1: #1f3a5f; --prod-c2: #0f0f10; }
.ofixo-carousel .wp-block-post-template > li:nth-child(4n+2) .ofixo-pcar-img-fallback { --prod-c1: #1e293b; --prod-c2: #0b1220; }
.ofixo-carousel .wp-block-post-template > li:nth-child(4n+3) .ofixo-pcar-img-fallback { --prod-c1: #7c2d12; --prod-c2: #2a1810; }
.ofixo-carousel .wp-block-post-template > li:nth-child(4n+4) .ofixo-pcar-img-fallback { --prod-c1: #134e4a; --prod-c2: #0f0f10; }

.ofixo-pcar-body {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1.1rem 1.25rem 1.25rem;
}

.ofixo-pcar-body .wp-block-post-terms,
.ofixo-pcar-body .ofixo-prod-eyebrow {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.ofixo-pcar-body .wp-block-post-title,
.ofixo-pcar-body h3 {
	margin: 0;
	font-size: 1.1rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-pcar-body .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.ofixo-pcar-body .wp-block-read-more {
	margin-top: 0.4rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* ============================================================
   PRODUCTS ARCHIVE — hero + filter bar + grid
   ============================================================ */

/* ---- Hero (dark cover with background image, breadcrumbs, two-line title,
       intro paragraph, and decorative orange-circle motif on the right) ---- */
.ofixo-products-hero {
	color: #fff;
	overflow: hidden;
}

.ofixo-products-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: 100%;
}

/* Pin the hero content to the LEFT edge of the global content area (the same
   1280px column other constrained sections snap to) — mirroring how the
   homepage's .ofixo-hero-content is positioned. Capped at 720px so the title
   and intro keep a sensible measure beside the decorative circles on the right. */
.ofixo-products-hero .ofixo-products-hero__content {
	max-width: 720px;
	margin-right: auto;
	margin-left: max(
		var(--wp--style--root--padding-left, 1.5rem),
		(100% - var(--wp--style--global--content-size, 1280px)) / 2
	);
	text-align: left;
}

/* Concentric semi-transparent orange circles bleeding off the right edge.
   Decorative only — kept behind the text via z-index. */
.ofixo-products-hero::before,
.ofixo-products-hero::after {
	content: "";
	position: absolute;
	right: -160px;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
}

.ofixo-products-hero::before {
	width: 640px;
	height: 640px;
	background: rgba(224, 78, 31, 0.85);
}

.ofixo-products-hero::after {
	width: 380px;
	height: 380px;
	right: 20px;
	background: rgba(255, 138, 95, 0.55);
}

.ofixo-products-hero__crumbs {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 1.5rem;
}

.ofixo-products-hero__crumbs a {
	color: inherit;
	text-decoration: none;
}

.ofixo-products-hero__crumbs a:hover {
	color: #fff;
}

.ofixo-products-hero__crumbs span[aria-hidden] {
	margin: 0 0.4rem;
	opacity: 0.6;
}

.ofixo-products-hero__crumbs [aria-current="page"] {
	color: #fff;
}

.ofixo-products-hero__eyebrow {
	position: relative;
	display: inline-block;
	margin: 0 0 1.25rem;
	padding-left: 0.4rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

/* Small L-shape orange corner accent in the top-left of the eyebrow. */
.ofixo-products-hero__corner {
	position: absolute;
	left: 0;
	top: -0.95rem;
	width: 14px;
	height: 14px;
	border-top: 2px solid var(--wp--preset--color--primary);
	border-left: 2px solid var(--wp--preset--color--primary);
}

.ofixo-products-hero__title {
	margin: 0 0 1.5rem;
	max-width: 720px;
	color: #fff;
	font-size: clamp(2.5rem, 5vw, 4.25rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
}

.ofixo-products-hero__title-accent {
	color: var(--wp--preset--color--primary);
}

.ofixo-products-hero__intro {
	max-width: 620px;
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1.05rem;
	line-height: 1.7;
}

@media ( max-width: 767px ) {
	.ofixo-products-hero::before { width: 360px; height: 360px; right: -160px; }
	.ofixo-products-hero::after  { width: 220px; height: 220px; right: -40px; }
}

/* ---- Filter bar — sits flush under the hero. Category pills on the left,
       product count + sort dropdown on the right. ---- */
.ofixo-products-filterbar {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.ofixo-products-filterbar__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
}

.ofixo-products-filterbar__left {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
	min-width: 0;
}

.ofixo-products-filterbar__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	flex: none;
}

.ofixo-products-filterbar__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.ofixo-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.55rem 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ofixo-pill:hover {
	border-color: var(--wp--preset--color--contrast);
}

.ofixo-pill.is-active {
	background: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: #fff;
}

.ofixo-pill__count {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
}

.ofixo-pill.is-active .ofixo-pill__count {
	color: rgba(255, 255, 255, 0.65);
}

.ofixo-products-filterbar__right {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	flex: none;
}

.ofixo-products-filterbar__dot {
	opacity: 0.5;
}

.ofixo-sort {
	position: relative;
}

.ofixo-sort__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.2rem;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 0.92rem;
	cursor: pointer;
}

.ofixo-sort__current {
	font-weight: 600;
}

.ofixo-sort__caret {
	font-size: 0.7rem;
	margin-left: 0.15rem;
	transition: transform 0.2s ease;
}

.ofixo-sort.is-open .ofixo-sort__caret {
	transform: rotate(180deg);
}

.ofixo-sort__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 0.4rem);
	margin: 0;
	padding: 0.35rem 0;
	list-style: none;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgba(15, 15, 16, 0.08);
	min-width: 180px;
	z-index: 20;
}

.ofixo-sort__menu[hidden] {
	display: none;
}

.ofixo-sort__menu li {
	padding: 0.55rem 1rem;
	cursor: pointer;
	color: var(--wp--preset--color--contrast);
	font-size: 0.9rem;
}

.ofixo-sort__menu li:hover {
	background: var(--wp--preset--color--surface);
}

.ofixo-sort__menu li[aria-selected="true"] {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

/* ---- Products grid (archive page) ---- */
.ofixo-products-grid .wp-block-post-template > li.is-filter-hidden {
	display: none !important;
}

/* The pcar-card variant is reused here for consistency with the carousel.
   Tighten the body padding a touch on the listing grid. */
.ofixo-products-grid .ofixo-pcar-card {
	height: 100%;
}

/* ---- Blog card variant — same shape as product card, with category eyebrow
       and a "date · N min read" meta line above the read-more link. ---- */
.ofixo-bcar-card {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	color: var(--wp--preset--color--contrast);
	box-sizing: border-box;
}

.ofixo-bcar-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(15, 15, 16, 0.1);
	border-color: rgba(224, 78, 31, 0.4);
}

.ofixo-bcar-card .wp-block-post-featured-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
}

.ofixo-bcar-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ofixo-bcar-img-fallback {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, var(--blog-c1, #0e7490) 0%, var(--blog-c2, #155e75) 100%);
}

.ofixo-bcar-card:has(.wp-block-post-featured-image img) .ofixo-bcar-img-fallback {
	display: none;
}

.ofixo-carousel .wp-block-post-template > li:nth-child(3n+1) .ofixo-bcar-img-fallback { --blog-c1: #0e7490; --blog-c2: #155e75; }
.ofixo-carousel .wp-block-post-template > li:nth-child(3n+2) .ofixo-bcar-img-fallback { --blog-c1: #9a3412; --blog-c2: #7c2d12; }
.ofixo-carousel .wp-block-post-template > li:nth-child(3n+3) .ofixo-bcar-img-fallback { --blog-c1: #3730a3; --blog-c2: #1e1b4b; }

.ofixo-bcar-body {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1.1rem 1.25rem 1.25rem;
}

.ofixo-bcar-body .wp-block-post-terms {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.ofixo-bcar-body .wp-block-post-terms a {
	color: inherit;
	text-decoration: none;
}

.ofixo-bcar-body .wp-block-post-title {
	margin: 0;
	font-size: 1.1rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-bcar-body .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.ofixo-bcar-meta {
	margin: 0;
	font-size: 0.85rem;
	color: var(--wp--preset--color--body);
}

.ofixo-bcar-body .wp-block-read-more {
	margin-top: 0.4rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* Optional intro line under the heading in carousel headers. */
.ofixo-carousel-sub {
	margin: 0.4rem 0 0;
	max-width: 38rem;
	color: var(--wp--preset--color--body);
}

/* ---- Project card variant — same shape as the blog card, with a short
       excerpt instead of the date/read-time meta line. ---- */
.ofixo-prj-card {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	color: var(--wp--preset--color--contrast);
	box-sizing: border-box;
}

.ofixo-prj-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(15, 15, 16, 0.1);
	border-color: rgba(224, 78, 31, 0.4);
}

.ofixo-prj-card .wp-block-post-featured-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
}

.ofixo-prj-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ofixo-prj-img-fallback {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, var(--prj-c1, #1f3a5f) 0%, var(--prj-c2, #0f0f10) 100%);
}

.ofixo-prj-card:has(.wp-block-post-featured-image img) .ofixo-prj-img-fallback {
	display: none;
}

.ofixo-carousel .wp-block-post-template > li:nth-child(3n+1) .ofixo-prj-img-fallback { --prj-c1: #1f3a5f; --prj-c2: #0f0f10; }
.ofixo-carousel .wp-block-post-template > li:nth-child(3n+2) .ofixo-prj-img-fallback { --prj-c1: #7c2d12; --prj-c2: #2a1810; }
.ofixo-carousel .wp-block-post-template > li:nth-child(3n+3) .ofixo-prj-img-fallback { --prj-c1: #134e4a; --prj-c2: #0f0f10; }

.ofixo-prj-body {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1.1rem 1.25rem 1.25rem;
}

.ofixo-prj-body .wp-block-post-terms {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.ofixo-prj-body .wp-block-post-terms a {
	color: inherit;
	text-decoration: none;
}

.ofixo-prj-body .wp-block-post-title {
	margin: 0;
	font-size: 1.1rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-prj-body .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.ofixo-prj-body .wp-block-post-excerpt {
	margin: 0;
}

.ofixo-prj-body .wp-block-post-excerpt p {
	margin: 0;
	font-size: 0.88rem;
	color: var(--wp--preset--color--body);
}

.ofixo-prj-body .wp-block-read-more {
	margin-top: 0.4rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* Each alignfull section already provides its own background and vertical
   padding; the global 1.5rem block-gap that WordPress applies between
   layout-flow children would expose the body colour between two coloured
   sections. Zero the inherited gap so consecutive full-bleed sections
   are visually flush. Covers both top-level layout (.wp-site-blocks) and
   sections rendered inside <!-- wp:post-content --> (.wp-block-post-content). */
.wp-site-blocks > .wp-block-group.alignfull,
.wp-block-post-content > .wp-block-group.alignfull,
.wp-block-post-content > section.alignfull {
	margin-top: 0;
	margin-block-start: 0;
}

/* ============================================================
   SERVICES — LISTING PAGE
   ============================================================ */

/* ============================================================
   PAGE HERO  (rendered by [ofixo_hero] shortcode — Hero Headers CPT)
   ============================================================ */

/* Fixed-height, full-bleed dark hero with optional Featured Image
   used as the background (background-image, object-fit:cover style)
   and a dark overlay so the white text stays legible. */
.ofixo-page-hero {
	position: relative;
	overflow: hidden;
	min-height: 520px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--70);
	background-color: #1a0e08;
	background-image: linear-gradient(135deg, #4a2818 0%, #2a1810 60%, #0f0f10 100%);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: #fff;
}

/* When a Featured Image is set, .has-image is added and an inline
   background-image points to the upload. Reset the gradient fallback so
   the photo shows through, then the .__overlay span darkens it. */
.ofixo-page-hero.has-image {
	background-image: none;
}

.ofixo-page-hero.has-image[style*="background-image"] {
	background-color: #0f0f10;
}

/* Dark overlay — sits above the bg image, below the decorative circles
   and the content. 75% black tint keeps the photo visible. */
.ofixo-page-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 15, 16, 0.72);
	z-index: 1;
	pointer-events: none;
}

/* Decorative orange circles bleeding off the right edge. */
.ofixo-page-hero::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -160px;
	width: 540px;
	height: 540px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(224, 78, 31, 0.55) 0%, rgba(224, 78, 31, 0) 70%);
	z-index: 2;
	pointer-events: none;
}

.ofixo-page-hero::after {
	content: "";
	position: absolute;
	top: 70px;
	right: 90px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	border: 2px solid rgba(224, 78, 31, 0.55);
	z-index: 2;
	pointer-events: none;
}

/* Inner wrapper — sits above the overlay AND the decorative circles. */
.ofixo-page-hero__inner {
	position: relative;
	z-index: 3;
	width: 100%;
}

.ofixo-page-hero h1 {
	color: #fff;
	margin: 0 0 1.25rem;
	font-size: clamp(2rem, 4vw, 2.5rem);
	line-height: 1.05;
}

.ofixo-page-hero .ofixo-eyebrow {
	color: var(--wp--preset--color--primary);
}

.ofixo-hero-description {
	margin: 0 0 0.5rem;
	color: #d6d8dd;
	max-width: 38rem;
}

.ofixo-hero-description p {
	margin: 0 0 0.75rem;
	color: inherit;
}

.ofixo-hero-buttons {
	margin-top: 2rem;
	gap: 1rem;
}

@media ( max-width: 767px ) {
	.ofixo-page-hero {
		min-height: 460px;
	}
	.ofixo-page-hero::before { width: 320px; height: 320px; top: -100px; right: -120px; }
	.ofixo-page-hero::after  { width: 200px; height: 200px; top: 40px; right: 30px; }
}

.ofixo-page-hero p {
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 1.75rem;
	max-width: 640px;
}

.ofixo-services-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 0;
	margin: 0 0 2.5rem;
	list-style: none;
}

.ofixo-services-tabs li {
	margin: 0;
}

.ofixo-services-tabs a {
	display: inline-block;
	padding: 0.65rem 1.25rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--wp--preset--color--body);
	background: transparent;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.ofixo-services-tabs a.is-current,
.ofixo-services-tabs a:hover {
	background: var(--wp--preset--color--contrast);
	color: #fff;
}

/* Big colourful service tile (services listing grid) */
.ofixo-svc-tile {
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	gap: 1rem;
	min-height: 240px;
	padding: 1.5rem;
	border-radius: 16px;
	color: #fff;
	background: linear-gradient(135deg, var(--svc-c1, #0e7490) 0%, var(--svc-c2, #155e75) 100%);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	height: 100%;
	box-sizing: border-box;
}

.ofixo-svc-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(15, 15, 16, 0.18);
}

.ofixo-svc-tile h3,
.ofixo-svc-tile h3 a {
	color: #fff;
	text-decoration: none;
	margin: 0;
	font-size: 1.25rem;
}

.ofixo-svc-tile p {
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
	font-size: 0.92rem;
}

.ofixo-svc-tile .read-more,
.ofixo-svc-tile .wp-block-read-more {
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	font-size: 0.88rem;
	display: inline-block;
}

/* Cycle gradient colors when used inside a query loop grid */
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+1) .ofixo-svc-tile { --svc-c1: #0e7490; --svc-c2: #0a4f63; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+2) .ofixo-svc-tile { --svc-c1: #6d28d9; --svc-c2: #4c1d95; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+3) .ofixo-svc-tile { --svc-c1: #1e88e5; --svc-c2: #1565c0; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+4) .ofixo-svc-tile { --svc-c1: #84cc16; --svc-c2: #4d7c0f; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+5) .ofixo-svc-tile { --svc-c1: #16a34a; --svc-c2: #14532d; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+6) .ofixo-svc-tile { --svc-c1: #b45309; --svc-c2: #7c2d12; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+7) .ofixo-svc-tile { --svc-c1: #475569; --svc-c2: #1e293b; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+8) .ofixo-svc-tile { --svc-c1: #c2410c; --svc-c2: #7c2d12; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(9n+9) .ofixo-svc-tile { --svc-c1: #be185d; --svc-c2: #831843; }

/* Stats band */
.ofixo-stats-band {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	text-align: center;
}

.ofixo-stats-band .ofixo-stat-num {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	line-height: 1;
	margin: 0 0 0.4rem;
}

.ofixo-stats-band .ofixo-stat-lbl {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	margin: 0;
}

@media (max-width: 781px) {
	.ofixo-stats-band {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ============================================================
   SERVICE DETAIL PAGE
   ============================================================ */

.ofixo-svc-hero {
	background: linear-gradient(135deg, #4a2818 0%, #2a1810 60%, #0f0f10 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
}

.ofixo-svc-hero h1 {
	color: #fff;
	margin: 0 0 1rem;
	max-width: 820px;
}

.ofixo-svc-hero p {
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 1.75rem;
	max-width: 640px;
}

.ofixo-svc-side {
	background: var(--wp--preset--color--base);
	border-radius: 14px;
	border: 1px solid var(--wp--preset--color--border);
	padding: 1.5rem;
}

.ofixo-svc-side-eyebrow {
	display: inline-block;
	padding: 0.4rem 1rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 1rem;
}

.ofixo-svc-side ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ofixo-svc-side li {
	margin: 0;
}

.ofixo-svc-side li a {
	display: flex;
	justify-content: space-between;
	gap: 0.6rem;
	padding: 0.65rem 0.75rem;
	border-radius: 8px;
	color: var(--wp--preset--color--contrast);
	font-size: 0.92rem;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.ofixo-svc-side li a::after {
	content: "→";
	color: var(--wp--preset--color--primary);
	opacity: 0.7;
}

.ofixo-svc-side li a:hover,
.ofixo-svc-side li a.is-current {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

.ofixo-svc-side li a:hover::after,
.ofixo-svc-side li a.is-current::after {
	color: #fff;
	opacity: 1;
}

.ofixo-svc-help {
	margin-top: 1.5rem;
	padding: 1.5rem;
	border-radius: 14px;
	background: linear-gradient(135deg, #2a1810 0%, #0f0f10 100%);
	color: #fff;
}

.ofixo-svc-help h4 {
	margin: 0 0 0.6rem;
	color: #fff;
	font-size: 1rem;
}

.ofixo-svc-help a {
	color: #fff;
	text-decoration: none;
	display: flex;
	gap: 0.4rem;
	align-items: center;
	font-size: 0.92rem;
	margin-top: 0.4rem;
}

/* Bulleted "Our Activities in …" two-column list */
.ofixo-svc-activities {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.4rem 1.5rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.ofixo-svc-activities li {
	position: relative;
	padding: 0.45rem 0 0.45rem 1.5rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-svc-activities li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1rem;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
}

@media (max-width: 781px) {
	.ofixo-svc-activities {
		grid-template-columns: 1fr;
	}
}

.ofixo-svc-subhead {
	color: var(--wp--preset--color--primary);
	font-size: 1.15rem;
	font-weight: 700;
	margin: 1.5rem 0 0.65rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* ============================================================
   BLOG LISTING PAGE
   ============================================================ */

.ofixo-blog-hero {
	background: linear-gradient(135deg, #2a1810 0%, #0f0f10 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
}

.ofixo-blog-hero::before {
	content: "";
	position: absolute;
	top: -160px;
	right: -160px;
	width: 540px;
	height: 540px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(224, 78, 31, 0.45) 0%, rgba(224, 78, 31, 0) 70%);
	pointer-events: none;
}

.ofixo-blog-hero > * {
	position: relative;
	z-index: 1;
}

/* Left-align hero content using the SAME indent formula as .ofixo-page-hero
 * (see the rule near the top of this file): the inner-container is pushed
 * in from the viewport edge by either the root-padding value or by half the
 * leftover space when the viewport exceeds content-size — whichever is
 * larger. That way the eyebrow, headline, paragraph, and category filter
 * line up exactly with every other constrained section on the site.
 *
 * The !important on margin-left is needed because WP's core
 * `.is-layout-constrained > :where(...)` rule applies `margin: auto !important`
 * to any constrained child with a max-width and would otherwise centre the
 * inner container. */
.ofixo-blog-hero,
.ofixo-blog-hero .wp-block-cover__inner-container {
	text-align: left;
}

.ofixo-blog-hero .wp-block-cover__inner-container {
	max-width: 720px;
	margin-left: max(
		var(--wp--style--root--padding-left, 1.5rem),
		(100% - var(--wp--style--global--content-size, 1280px)) / 2
	) !important;
	margin-right: auto !important;
}

.ofixo-blog-hero h1 {
	color: #fff;
	margin-top: 0;
	margin-bottom: 1rem;
	text-align: left;
}

.ofixo-blog-hero p {
	color: rgba(255, 255, 255, 0.78);
	margin-top: 0;
	margin-bottom: 1.5rem;
	max-width: 640px;
	text-align: left;
}

.ofixo-blog-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
}

.ofixo-blog-tabs li {
	margin: 0;
}

.ofixo-blog-tabs a {
	display: inline-block;
	padding: 0.55rem 1.15rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease;
}

.ofixo-blog-tabs a.is-current,
.ofixo-blog-tabs a:hover {
	background: var(--wp--preset--color--primary);
}

/* Blog category dropdown — replaces the old pill tabs. Visually presented
 * as a single pill matching the brand button, with a chevron on the right
 * so it reads as a dropdown. The native <select> sits transparently on top
 * of the pill so OS-native picker UX is preserved. */
/* Floating category filter — hidden by default, slides down + fades
 * in via JS-toggled .is-floating when the cards grid scrolls into view. */
.ofixo-blog-filter {
	position: fixed;
	top: 1.25rem;
	left: 50%;
	transform: translateX(-50%) translateY(-30px);
	width: 300px;
	max-width: calc(100vw - 2rem);
	margin: 0;
	padding: 0;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
		visibility 0s linear 0.45s;
}
.ofixo-blog-filter.is-floating {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	transition:
		opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
		visibility 0s;
}

.ofixo-blog-filter__wrap {
	position: relative;
	display: block;
	width: 100%;
}

/* When the filter is floating, give the select a soft elevation so it
 * lifts off whatever sits underneath. */
.ofixo-blog-filter.is-floating .ofixo-blog-filter__select {
	box-shadow: 0 12px 32px rgba(15, 15, 16, 0.15);
}

/* Simple form-style select — matches .ofx-form select look so blog
 * filter feels consistent with site forms. */
.ofixo-blog-filter__select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	display: block;
	width: 100%;
	padding: 0.85rem 2.6rem 0.85rem 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #ffffff;
	color: #0f0f10;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ofixo-blog-filter__select:hover {
	border-color: var(--wp--preset--color--primary, #d7552a);
}

.ofixo-blog-filter__select:focus-visible {
	outline: 0;
	border-color: var(--wp--preset--color--primary, #d7552a);
	box-shadow: 0 0 0 3px rgba(215, 85, 42, 0.18);
}

.ofixo-blog-filter__chevron {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 16px !important;
	height: 16px !important;
	color: #6b7280;
	pointer-events: none;
}

.ofixo-blog-filter__select option {
	background: #1f1f1f;
	color: #fff;
}

/* Blog index pagination — pill-shaped numbers, active is solid brand-orange,
 * hover gets a soft surface fill. */
.ofixo-loop-grid .wp-block-query-pagination {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 3rem;
	flex-wrap: wrap;
}

.ofixo-loop-grid .wp-block-query-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 0.85rem;
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--contrast);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.ofixo-loop-grid .wp-block-query-pagination .page-numbers:hover {
	background: #fff4ef;
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	transform: translateY(-1px);
}

.ofixo-loop-grid .wp-block-query-pagination .page-numbers.current {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #fff;
	box-shadow: 0 6px 18px rgba(224, 78, 31, 0.28);
}

.ofixo-loop-grid .wp-block-query-pagination .page-numbers.dots {
	background: transparent;
	border-color: transparent;
}

/* Featured (sticky) post card on the blog index */
.ofixo-blog-featured {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 0;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	overflow: hidden;
}

.ofixo-blog-featured-media {
	background: linear-gradient(135deg, #1f3a5f 0%, #0f0f10 100%);
	min-height: 320px;
	background-size: cover;
	background-position: center;
}

.ofixo-blog-featured-body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 2.5rem;
}

.ofixo-blog-featured-tag {
	display: inline-block;
	width: max-content;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--primary);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ofixo-blog-featured-body h2 {
	margin: 0;
	font-size: 1.85rem;
	line-height: 1.2;
}

.ofixo-blog-featured-body h2 a {
	color: inherit;
	text-decoration: none;
}

.ofixo-blog-featured-meta {
	font-size: 0.85rem;
	color: var(--wp--preset--color--body);
	margin: 0;
}

@media (max-width: 781px) {
	.ofixo-blog-featured {
		grid-template-columns: 1fr;
	}
	.ofixo-blog-featured-body {
		padding: 1.75rem;
	}
}

/* Blog post card */
.ofixo-blog-card {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	box-sizing: border-box;
}

.ofixo-blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(15, 15, 16, 0.1);
}

.ofixo-blog-card .wp-block-post-featured-image {
	margin: 0;
}

.ofixo-blog-card .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	display: block;
}

.ofixo-blog-card-img-fallback {
	aspect-ratio: 16/10;
	background: linear-gradient(135deg, var(--blog-c1, #0e7490) 0%, var(--blog-c2, #155e75) 100%);
	position: relative;
}

/* When the post has a real featured image, hide the gradient placeholder
 * (same trick used for product / service / carousel cards). */
.ofixo-blog-card:has(.wp-block-post-featured-image img) .ofixo-blog-card-img-fallback {
	display: none;
}

.ofixo-blog-card-img-fallback::after {
	content: attr(data-tag);
	position: absolute;
	top: 1rem;
	left: 1rem;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ofixo-blog-card-body {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 1.5rem;
	flex: 1;
}

.ofixo-blog-card-body .wp-block-post-title,
.ofixo-blog-card-body h3 {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.3;
}

.ofixo-blog-card-body .wp-block-post-title a,
.ofixo-blog-card-body h3 a {
	color: inherit;
	text-decoration: none;
}

.ofixo-blog-card-meta {
	font-size: 0.78rem;
	color: var(--wp--preset--color--body);
	margin: 0;
}

.ofixo-blog-card-body .wp-block-read-more {
	margin-top: auto;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	font-size: 0.9rem;
}

.ofixo-loop-grid .wp-block-post-template > li:nth-child(6n+1) .ofixo-blog-card-img-fallback { --blog-c1: #0e7490; --blog-c2: #155e75; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(6n+2) .ofixo-blog-card-img-fallback { --blog-c1: #1e3a8a; --blog-c2: #0b1b4a; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(6n+3) .ofixo-blog-card-img-fallback { --blog-c1: #3730a3; --blog-c2: #1e1b4b; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(6n+4) .ofixo-blog-card-img-fallback { --blog-c1: #064e3b; --blog-c2: #022c22; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(6n+5) .ofixo-blog-card-img-fallback { --blog-c1: #7c2d12; --blog-c2: #431407; }
.ofixo-loop-grid .wp-block-post-template > li:nth-child(6n+6) .ofixo-blog-card-img-fallback { --blog-c1: #4a044e; --blog-c2: #2e1065; }

/* ============================================================
   BLOG DETAIL (single post)
   ============================================================ */

/* ----- Post topbar: breadcrumb + prev/next on the same row ----- */
.ofixo-post-topbar {
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	padding: 0.85rem var(--wp--preset--spacing--40, 1.5rem);
}

/* The breadcrumb shortcode emits its own .ofixo-breadcrumbs section; when
 * it lives inside the topbar we strip its background + border + padding so
 * it visually fuses with the prev/next nav. */
.ofixo-post-topbar .ofixo-breadcrumbs {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0;
	flex: 1 1 auto;
}

.ofixo-post-topbar .ofixo-breadcrumbs > .wp-block-group { padding: 0; }

.ofixo-post-prevnext {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	font-size: 0.85rem;
}

.ofixo-post-prevnext__link {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	max-width: 220px;
	color: var(--wp--preset--color--body);
	text-decoration: none;
	line-height: 1.25;
	transition: color 0.15s ease;
}

.ofixo-post-prevnext__link:hover { color: var(--wp--preset--color--primary); }
.ofixo-post-prevnext__link.is-next { text-align: right; }
.ofixo-post-prevnext__label {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--primary);
}
.ofixo-post-prevnext__title {
	display: block;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ofixo-post-prevnext__link svg { color: var(--wp--preset--color--primary); flex-shrink: 0; }

@media (max-width: 720px) {
	.ofixo-post-prevnext__link { max-width: 140px; }
	.ofixo-post-prevnext { gap: 0.75rem; }
}

/* ----- Hero: centered title, intro deck, author/date/read-time row ----- */
.ofixo-post-hero {
	background: var(--wp--preset--color--base);
	text-align: center;
	/* Inline block attributes set padding-bottom — override to drop it. */
	padding-bottom: 0 !important;
}

.ofixo-post-intro {
	max-width: 720px;
	margin: 0 auto 1.5rem !important;
	color: var(--wp--preset--color--body);
	font-size: 1.05rem;
	line-height: 1.6;
	text-align: center;
}

.ofixo-post-readtime {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.92rem;
	color: var(--wp--preset--color--body);
}

.ofixo-post-readtime svg { color: var(--wp--preset--color--primary); flex-shrink: 0; }

.ofixo-post-meta .wp-block-post-author {
	display: inline-flex !important;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.92rem;
	color: var(--wp--preset--color--body);
}

.ofixo-post-meta .wp-block-post-author__avatar img {
	border-radius: 999px;
	display: block;
}

.ofixo-post-meta .wp-block-post-author__name { font-weight: 600; color: var(--wp--preset--color--contrast); }
.ofixo-post-meta .wp-block-post-author__byline { color: var(--wp--preset--color--body); }

.ofixo-post-meta .wp-block-post-date,
.ofixo-post-meta .wp-block-post-date time {
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
}

/* Separator dots between meta items. */
.ofixo-post-meta > * + *::before {
	content: '·';
	margin-right: 1rem;
	color: var(--wp--preset--color--border);
}

/* Single-post body — two-column layout: sticky left rail (TOC + share)
 * and the main column with content, tags, and author card. */
.ofixo-post-body {
	padding-inline: 1.5rem;
}

.ofixo-post-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	/* Match the theme's contentSize so the post body lines up with
	 * the featured image, hero, and "Engineered Solutions" carousel
	 * sections sitting above + below the article. */
	max-width: 1280px;
	margin-inline: auto;
}

@media (min-width: 960px) {
	.ofixo-post-grid {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 3rem;
	}
}

.ofixo-post-main {
	min-width: 0;
	/* No inner cap — let main fill the grid column so the body aligns
	 * with the right edge of the featured image above. */
	max-width: none;
}

.ofixo-post-main .wp-block-post-content {
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--wp--preset--color--body);
}

/* Sticky left rail */
.ofixo-post-rail__sticky {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media (max-width: 959px) {
	.ofixo-post-rail__sticky { position: static; }
}

/* In-rail TOC card */
.ofixo-toc {
	padding: 1.25rem 1.4rem;
	background: linear-gradient( 135deg, #fff7f3 0%, #ffffff 100%);
	border: 1px solid #f5d0bc;
	border-left: 4px solid var(--wp--preset--color--primary);
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba( 224, 78, 31, 0.05 );
}

.ofixo-toc__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.85rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.ofixo-toc__title svg { color: var(--wp--preset--color--primary); flex-shrink: 0; }

.ofixo-toc__list {
	list-style: none;
	counter-reset: ofixo-toc;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.ofixo-toc__list li {
	counter-increment: ofixo-toc;
	position: relative;
	padding-left: 1.9rem;
	margin: 0;
	line-height: 1.4;
}

.ofixo-toc__list li::before {
	content: counter( ofixo-toc, decimal-leading-zero );
	position: absolute;
	left: 0;
	top: 0.15rem;
	width: 1.4rem;
	text-align: right;
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	letter-spacing: 0.04em;
	font-variant-numeric: tabular-nums;
}

.ofixo-toc__link {
	display: inline-block;
	color: var(--wp--preset--color--body);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.88rem;
	transition: color 0.15s ease;
}

.ofixo-toc__link:hover,
.ofixo-toc__link:focus,
.ofixo-toc__link.is-active {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.ofixo-toc__link.is-active { font-weight: 600; }

/* Smooth scrolling + heading offset (so a clicked TOC target lands below
 * the sticky site header rather than tucked under it). */
html { scroll-behavior: smooth; }
.ofixo-toc-target { scroll-margin-top: 100px; }

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

/* ----- Social share rail ----- */
.ofixo-share {
	padding: 1.25rem 1.4rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
}

.ofixo-share__title {
	margin: 0 0 0.85rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.ofixo-share__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 0.5rem;
}

.ofixo-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: #f6f7f7;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.ofixo-share__btn:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
	transform: translateY( -2px );
}

.ofixo-share__btn.is-copied {
	background: #1b5e20;
	color: #fff;
}

.ofixo-share__btn.is-copied::after {
	content: 'Copied!';
	position: absolute;
	margin-top: -56px;
	background: #1f1f1f;
	color: #fff;
	font-size: 0.7rem;
	padding: 4px 8px;
	border-radius: 4px;
	white-space: nowrap;
}

.ofixo-share__btn { position: relative; }

/* ----- Tags row (after content) ----- */
.ofixo-post-tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.6rem 0.85rem;
	margin: 3rem 0 0;
	padding-top: 2rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.ofixo-post-tags__label {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.ofixo-post-tags__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.ofixo-post-tags__list li { margin: 0; }

.ofixo-post-tags__chip {
	display: inline-block;
	padding: 0.4rem 0.95rem;
	background: #fff4ef;
	color: var(--wp--preset--color--primary);
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.ofixo-post-tags__chip:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

/* ----- Author card (after content / tags) ----- */
.ofixo-post-author {
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
	margin: 2.5rem 0 0;
	padding: 1.75rem;
	background: #fafafa;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
}

.ofixo-post-author__avatar-wrap { flex-shrink: 0; }

.ofixo-post-author__avatar {
	width: 80px;
	height: 80px;
	border-radius: 999px;
	display: block;
	border: 3px solid #fff;
	box-shadow: 0 4px 12px rgba( 0, 0, 0, 0.08 );
}

.ofixo-post-author__body { flex: 1; min-width: 0; }

.ofixo-post-author__eyebrow {
	margin: 0 0 0.25rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.ofixo-post-author__name {
	margin: 0 0 0.5rem;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}

.ofixo-post-author__bio {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--body);
	font-size: 0.95rem;
	line-height: 1.55;
}

.ofixo-post-author__more {
	display: inline-block;
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.ofixo-post-author__more:hover { color: #b83e14; }

@media (max-width: 600px) {
	.ofixo-post-author {
		flex-direction: column;
		text-align: left;
	}
}

.ofixo-post-body .wp-block-post-content {
	display: block;
	width: 100%;
	margin-inline: auto;
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--wp--preset--color--body);
}

.ofixo-post-body .wp-block-post-content > * {
	max-width: 100%;
	margin-block: 0 1.25rem;
}

.ofixo-post-body .wp-block-post-content h2 {
	margin-block: 2.5rem 1rem;
	font-size: 1.65rem;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}

.ofixo-post-body .wp-block-post-content h3 {
	margin-block: 2rem 0.85rem;
	font-size: 1.3rem;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}

.ofixo-post-body .wp-block-post-content h4 {
	margin-block: 1.5rem 0.5rem;
	font-size: 1.1rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-post-body .wp-block-post-content a {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ofixo-post-body .wp-block-post-content a:hover {
	color: #b83e14;
}

.ofixo-post-body .wp-block-post-content ul,
.ofixo-post-body .wp-block-post-content ol {
	padding-left: 1.5rem;
}

.ofixo-post-body .wp-block-post-content li {
	margin-block: 0.35rem;
}

.ofixo-post-body .wp-block-post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	margin-block: 1.5rem;
}

.ofixo-post-body .wp-block-post-content blockquote {
	margin: 1.75rem 0;
	padding: 0.25rem 1.25rem;
	border-left: 3px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
	font-style: italic;
}

/* Centre the category pill, title, and date/author row above the featured
 * image. The featured image itself keeps the natural constrained-layout
 * width below. */
.ofixo-post-hero .ofixo-tag {
	display: inline-block;
	margin: 0 auto 1rem;
}

.ofixo-post-hero h1 {
	margin: 0 auto 1.25rem !important;
	max-width: 880px;
	text-align: center;
}

.ofixo-post-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.25rem;
	margin: 0 0 2rem;
	font-size: 0.92rem;
	color: var(--wp--preset--color--body);
}

.ofixo-post-cover {
	background: linear-gradient(135deg, #1e293b 0%, #0b1220 100%);
	aspect-ratio: 16/8;
	border-radius: 16px;
	overflow: hidden;
}

.ofixo-post-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ofixo-post-toc {
	position: sticky;
	top: 100px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	padding: 1.5rem;
}

.ofixo-post-toc h4 {
	margin: 0 0 1rem;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--body);
}

.ofixo-post-toc ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ofixo-post-toc li {
	margin: 0;
}

.ofixo-post-toc a {
	display: block;
	padding: 0.45rem 0;
	color: var(--wp--preset--color--body);
	text-decoration: none;
	font-size: 0.9rem;
	border-left: 2px solid transparent;
	padding-left: 0.75rem;
}

.ofixo-post-toc a.is-current,
.ofixo-post-toc a:hover {
	color: var(--wp--preset--color--contrast);
	border-left-color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.ofixo-post-callout {
	display: flex;
	gap: 1rem;
	padding: 1.5rem;
	border-radius: 14px;
	background: rgba(224, 78, 31, 0.06);
	border-left: 4px solid var(--wp--preset--color--primary);
	margin: 1.5rem 0;
	font-size: 1.05rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-post-callout::before {
	content: "💡";
	font-size: 1.5rem;
	line-height: 1;
	flex: none;
}

.ofixo-author-card {
	display: flex;
	gap: 1.25rem;
	align-items: center;
	padding: 1.75rem;
	border-radius: 14px;
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--border);
	margin-top: 3rem;
}

.ofixo-author-avatar {
	width: 64px;
	height: 64px;
	flex: none;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	font-weight: 800;
}

.ofixo-author-card h4 {
	margin: 0;
	font-size: 1.05rem;
}

.ofixo-author-card p {
	margin: 0.2rem 0 0;
	font-size: 0.9rem;
	color: var(--wp--preset--color--body);
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */

.ofixo-contact-form {
	background: var(--wp--preset--color--base);
	border-radius: 16px;
	border: 1px solid var(--wp--preset--color--border);
	padding: 2.25rem;
}

.ofixo-contact-form h3 {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
}

.ofixo-contact-form .ofixo-form-help {
	font-size: 0.88rem;
	color: var(--wp--preset--color--body);
	margin: 0 0 1.75rem;
}

.ofixo-contact-form .ofixo-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.ofixo-contact-form .ofixo-form-row {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.ofixo-contact-form .ofixo-form-row.is-full {
	grid-column: 1 / -1;
}

.ofixo-contact-form label {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--contrast);
}

.ofixo-contact-form input,
.ofixo-contact-form select,
.ofixo-contact-form textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 0.95rem;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ofixo-contact-form textarea {
	min-height: 140px;
	resize: vertical;
}

.ofixo-contact-form input:focus,
.ofixo-contact-form select:focus,
.ofixo-contact-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(224, 78, 31, 0.18);
}

.ofixo-contact-form .ofixo-form-check {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.85rem;
	color: var(--wp--preset--color--body);
}

.ofixo-contact-form .ofixo-form-check input {
	width: auto;
	margin-top: 0.2rem;
}

.ofixo-contact-form .ofixo-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.ofixo-form-submit {
	border: 0;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font: inherit;
	font-weight: 600;
	padding: 0.95rem 1.85rem;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.ofixo-form-submit:hover {
	background: var(--wp--preset--color--primary-dark);
}

@media (max-width: 781px) {
	.ofixo-contact-form .ofixo-form-grid {
		grid-template-columns: 1fr;
	}
	.ofixo-contact-form {
		padding: 1.5rem;
	}
}

/* Contact info card stack (right column) */
.ofixo-cstack {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ofixo-cstack-card {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 0.85rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
}

.ofixo-cstack-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
}

.ofixo-cstack-card h4 {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
}

.ofixo-cstack-card .ofixo-cstack-val {
	margin: 0.15rem 0 0;
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast);
}
.ofixo-cstack-card .ofixo-cstack-val a {
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: color 0.15s ease;
}
.ofixo-cstack-card .ofixo-cstack-val a:hover,
.ofixo-cstack-card .ofixo-cstack-val a:focus {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.ofixo-cstack-card .ofixo-cstack-hint {
	margin: 0.2rem 0 0;
	font-size: 0.78rem;
	color: var(--wp--preset--color--body);
}

.ofixo-cstack-card .ofixo-cstack-cta {
	margin: 0.55rem 0 0;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* Map placeholder */
.ofixo-map-wrap {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background: repeating-linear-gradient(45deg, #f3f4f6, #f3f4f6 18px, #ffffff 18px, #ffffff 36px);
	min-height: 360px;
	border: 1px solid var(--wp--preset--color--border);
}

.ofixo-map-card {
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	z-index: 2;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 1rem 1.25rem;
	box-shadow: 0 8px 20px rgba(15, 15, 16, 0.08);
	font-size: 0.85rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-map-card strong {
	display: block;
	font-size: 0.95rem;
	margin-bottom: 0.2rem;
}

.ofixo-map-pin {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 0 8px rgba(224, 78, 31, 0.25), 0 0 0 18px rgba(224, 78, 31, 0.12);
}

.ofixo-map-open {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	z-index: 2;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	padding: 0.55rem 1rem;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

/* ---- Responsive ---- */
@media (max-width: 781px) {
	.ofixo-hero-media::before {
		display: none;
	}

	.ofixo-about-badge {
		margin: 1.5rem auto 0;
	}

	.ofixo-prod-stats {
		grid-template-columns: 1fr;
	}

	.ofixo-prod-thumbs {
		grid-template-columns: repeat(3, 1fr);
	}

	.ofixo-relprod-card {
		grid-template-columns: 110px 1fr;
	}

	/* Hide the announcement bar on small screens to save vertical space */
	.ofixo-announce {
		display: none;
	}

	/* Main header — keep logo · burger · Free Site Survey button inline */
	.ofixo-header-main > .wp-block-group {
		flex-wrap: nowrap;
		gap: 0.5rem;
	}

	.ofixo-header-main .wp-block-site-title,
	.ofixo-header-main .wp-block-site-title a {
		font-size: 1rem !important;
		letter-spacing: 0 !important;
	}

	.ofixo-header-main .wp-block-button__link {
		padding: 0.45rem 0.95rem !important;
		font-size: 0.78rem !important;
		white-space: nowrap;
		letter-spacing: 0 !important;
	}

	/* Header button text — drop "Free Site " on mobile so "Survey" fits inline */
	.ofixo-header-main .ofixo-mobile-hide {
		display: none;
	}

	/* Sticky product nav on mobile — one row, horizontal scroll, no scrollbar */
	.ofixo-prod-tabs ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.ofixo-prod-tabs ul::-webkit-scrollbar {
		display: none;
	}

	.ofixo-prod-tabs a {
		white-space: nowrap;
		padding: 0.5rem 0.85rem;
	}
}

/* ============================================================
   WATERPROOFING SERVICES HUB (/services/waterproofing/)
   Hero + 6 service cards + Dubai roof challenge + UAE coverage +
   shared CTA band + Certified Applicators + FAQs.
   ============================================================ */

/* --- Buttons used inside the hub sections (kept small + scoped) --- */
.ofixo-wpc-hero .ofixo-btn,
.ofixo-wpc-challenge .ofixo-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.85rem 1.5rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.ofixo-wpc-hero .ofixo-btn--primary,
.ofixo-wpc-challenge .ofixo-btn--primary {
	background: var(--wp--preset--color--primary);
	color: #fff;
	box-shadow: 0 6px 18px rgba(224, 78, 31, 0.28);
}
.ofixo-wpc-hero .ofixo-btn--primary:hover,
.ofixo-wpc-challenge .ofixo-btn--primary:hover {
	background: #b83e14;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(184, 62, 20, 0.35);
}

.ofixo-wpc-hero .ofixo-btn--ghost {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--border);
}
.ofixo-wpc-hero .ofixo-btn--ghost:hover {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--primary);
}
.ofixo-wpc-hero .ofixo-btn--ghost svg { color: var(--wp--preset--color--primary); }
.ofixo-wpc-hero .ofixo-btn--ghost::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	margin-right: 0.15rem;
}

/* --- 1. Hero --- */
.ofixo-wpc-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
}

@media (min-width: 960px) {
	.ofixo-wpc-hero__grid {
		grid-template-columns: 1.05fr 1fr;
		gap: 4rem;
	}
}

.ofixo-wpc-hero__copy h1 {
	font-size: clamp(2.25rem, 4.5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-wpc-hero__lead {
	max-width: 540px;
	margin: 0 0 1.75rem;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.6;
}

.ofixo-wpc-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin: 0 0 1.5rem;
}

.ofixo-wpc-hero__trust {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	color: var(--wp--preset--color--body);
	font-size: 0.85rem;
}

.ofixo-wpc-hero__trust li {
	position: relative;
	padding-left: 1rem;
}

.ofixo-wpc-hero__trust li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55rem;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
}

.ofixo-wpc-hero__visual {
	position: relative;
}

.ofixo-wpc-hero__image {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	border-radius: 20px;
	background:
		radial-gradient(circle at top right, rgba(224, 78, 31, 0.18) 0%, transparent 55%),
		linear-gradient(135deg, #2a1810 0%, #1a1414 100%);
	overflow: hidden;
}

.ofixo-wpc-hero__image-placeholder {
	color: rgba(255, 255, 255, 0.4);
	font-size: 0.8rem;
	text-align: center;
	padding: 0 2rem;
	max-width: 320px;
	line-height: 1.5;
}

/* When the [ofixo_post_featured] shortcode renders a real Featured Image
 * inside the hero (or the Dubai's Roof Challenge image area), make the
 * <img> cover the rounded card without distortion. */
.ofixo-wpc-hero__image .ofixo-featured-img,
.ofixo-wpc-challenge__image .ofixo-featured-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: inherit;
}

.ofixo-wpc-hero__badge {
	position: absolute;
	background: var(--wp--preset--color--base);
	border-radius: 999px;
	padding: 0.65rem 1.1rem;
	box-shadow: 0 12px 30px rgba(31, 31, 31, 0.15);
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-wpc-hero__badge--top {
	top: 0.85rem;
	right: 0.85rem;
}

.ofixo-wpc-hero__badge--bottom {
	bottom: -1rem;
	left: 1.25rem;
	border-radius: 14px;
	padding: 0.85rem 1.25rem;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
}

.ofixo-wpc-hero__badge-num {
	font-size: 1.45rem;
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	line-height: 1;
}

.ofixo-wpc-hero__badge-label {
	font-size: 0.78rem;
	color: var(--wp--preset--color--body);
}

/* --- 1B. Stats bar --- */
.ofixo-wpc-stats {
	background: var(--wp--preset--color--contrast);
}

.ofixo-wpc-stats__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem 1rem;
	max-width: var(--wp--style--global--content-size, 1280px);
	margin-inline: auto;
	padding: 1.5rem var(--wp--style--root--padding-left, 1.5rem);
}

@media (min-width: 720px) {
	.ofixo-wpc-stats__inner { grid-template-columns: repeat(5, 1fr); padding-block: 1.85rem; }
}

.ofixo-wpc-stat {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	color: #fff;
}

.ofixo-wpc-stat__num {
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	line-height: 1.1;
	letter-spacing: -0.005em;
}

.ofixo-wpc-stat__label {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.3;
}

/* --- 1C. About OFIXO / Why Waterproofing Matters --- */
.ofixo-wpc-about__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
}

@media (min-width: 900px) {
	.ofixo-wpc-about__grid { grid-template-columns: minmax(260px, 1fr) 1.6fr; gap: 4rem; }
}

.ofixo-wpc-about__heading h2 {
	margin: 0.5rem 0 0;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 800;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.ofixo-wpc-about__copy { display: flex; flex-direction: column; gap: 1.25rem; max-width: 720px; }

.ofixo-wpc-about__lead {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
	line-height: 1.65;
}

.ofixo-wpc-about__muted {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.65;
}

/* --- 2. Six Specialised Services grid --- */
.ofixo-wpc-services__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3rem;
}

/* Eyebrow uses display:flex, so text-align doesn't centre it — override
 * justify-content here the same way the FAQ head does. */
.ofixo-wpc-services__head .ofixo-eyebrow {
	justify-content: center;
}

.ofixo-wpc-services__head h2 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin: 0 0 1rem;
	font-weight: 800;
	line-height: 1.2;
}

.ofixo-wpc-services__sub {
	color: var(--wp--preset--color--body);
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
}

.ofixo-wpc-services__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

@media (min-width: 720px) { .ofixo-wpc-services__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-wpc-services__grid { grid-template-columns: repeat(3, 1fr); } }

.ofixo-wpc-card {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.ofixo-wpc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(31, 31, 31, 0.08);
}

.ofixo-wpc-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	background:
		radial-gradient(circle at top right, rgba(224, 78, 31, 0.10) 0%, transparent 60%),
		linear-gradient(135deg, #2a1810 0%, #1a1414 100%);
}

.ofixo-wpc-card__icon {
	font-size: 3rem;
	line-height: 1;
}

/* Featured-image variant: when [ofixo_subservices] finds a Featured Image
 * on the child service post, we emit it here. Fill the media area without
 * distortion. */
.ofixo-wpc-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ofixo-wpc-card__body {
	padding: 1.5rem 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	flex: 1;
}

.ofixo-wpc-card__eyebrow {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.ofixo-wpc-card__title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.25;
}

.ofixo-wpc-card__copy {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.55;
}

.ofixo-wpc-card__cta {
	margin-top: auto;
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	font-size: 0.9rem;
}

/* --- 2B. 5-Step Process --- */
.ofixo-wpc-process__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}

.ofixo-wpc-process__head .ofixo-eyebrow { justify-content: center; }

.ofixo-wpc-process__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}

.ofixo-wpc-process__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}

.ofixo-wpc-process__steps {
	list-style: none;
	padding: 1.75rem;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	background: var(--wp--preset--color--surface, #f6f7f7);
	border-radius: 16px;
}

/* Use auto-fit so 5 steps lay out as 5 columns and 7 steps wrap to 4 + 3.
 * Minimum tile width keeps the headlines readable. */
@media (min-width: 720px) {
	.ofixo-wpc-process__steps {
		grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
		gap: 1.25rem;
		padding: 2rem 1.5rem;
	}
}

.ofixo-wpc-step {
	background: var(--wp--preset--color--base);
	border-radius: 12px;
	padding: 1.25rem 1.1rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.ofixo-wpc-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-weight: 700;
	font-size: 0.85rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
}

.ofixo-wpc-step__title {
	margin: 0;
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}

.ofixo-wpc-step__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.85rem;
	line-height: 1.55;
}

/* --- 2C. Why OFIXO — 6 Reasons grid --- */
.ofixo-wpc-reasons__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}

.ofixo-wpc-reasons__head .ofixo-eyebrow { justify-content: center; }

.ofixo-wpc-reasons__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0;
	line-height: 1.2;
}

.ofixo-wpc-reasons__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

@media (min-width: 720px) { .ofixo-wpc-reasons__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
@media (min-width: 1080px) { .ofixo-wpc-reasons__grid { grid-template-columns: repeat(3, 1fr); } }

.ofixo-wpc-reason {
	background: var(--wp--preset--color--base);
	border-radius: 14px;
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	box-shadow: 0 2px 8px rgba(31, 31, 31, 0.03);
}

.ofixo-wpc-reason__icon {
	width: 44px;
	height: 44px;
	background: #fff4ef;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	line-height: 1;
}

.ofixo-wpc-reason__title {
	margin: 0.25rem 0 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}

.ofixo-wpc-reason__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.9rem;
	line-height: 1.55;
}

/* --- 3. Dubai's Roof Challenge --- */
.ofixo-wpc-challenge__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: start;
}

@media (min-width: 960px) {
	.ofixo-wpc-challenge__grid {
		grid-template-columns: 1fr 1.1fr;
		gap: 4rem;
	}
}

.ofixo-wpc-challenge__image {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 4;
	border-radius: 20px;
	background: linear-gradient(135deg, #2a1810 0%, #1a1414 100%);
	overflow: hidden;
}

.ofixo-wpc-challenge__image-placeholder {
	color: rgba(255, 255, 255, 0.4);
	font-size: 0.8rem;
	text-align: center;
	padding: 0 2rem;
	max-width: 280px;
	line-height: 1.5;
}

.ofixo-wpc-challenge__copy h2 {
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--contrast);
}

.ofixo-wpc-challenge__copy p {
	color: var(--wp--preset--color--body);
	line-height: 1.65;
	margin: 0 0 1rem;
}

.ofixo-wpc-why {
	background: #fff4ef;
	border-radius: 14px;
	padding: 1.5rem 1.75rem;
	margin: 1.5rem 0;
}

.ofixo-wpc-why h3 {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 700;
}

.ofixo-wpc-why ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.ofixo-wpc-why li {
	position: relative;
	padding-left: 1.5rem;
	color: var(--wp--preset--color--body);
	line-height: 1.5;
	font-size: 0.92rem;
}

.ofixo-wpc-why li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

.ofixo-wpc-challenge__cta {
	margin-top: 1rem;
}

/* --- 4. UAE Coverage --- */
.ofixo-wpc-coverage__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}

@media (min-width: 900px) {
	.ofixo-wpc-coverage__grid {
		grid-template-columns: 1fr 1fr;
		gap: 3rem;
	}
}

.ofixo-wpc-zones {
	margin: 0;
	display: flex;
	flex-direction: column;
}

.ofixo-wpc-zones__row {
	padding: 1.25rem 0;
	border-top: 1px solid var(--wp--preset--color--border);
}
.ofixo-wpc-zones__row:last-of-type { border-bottom: 1px solid var(--wp--preset--color--border); }

.ofixo-wpc-zones__row dt {
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 0.35rem;
}

.ofixo-wpc-zones__row dd {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.5;
}

.ofixo-wpc-emergency {
	margin-top: 2rem;
	background: var(--wp--preset--color--contrast);
	color: #fff;
	border-radius: 14px;
	padding: 1.5rem 1.75rem;
}

.ofixo-wpc-emergency h3 {
	margin: 0 0 0.6rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: #fff;
}

.ofixo-wpc-emergency p {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.9rem;
	line-height: 1.55;
}

.ofixo-wpc-map-card {
	background: var(--wp--preset--color--base);
	border-radius: 14px;
	padding: 1.75rem;
	border: 1px solid var(--wp--preset--color--border);
}

.ofixo-wpc-map-card__title {
	margin: 0.2rem 0 1.25rem;
	font-size: 1.5rem;
	font-weight: 800;
}

.ofixo-wpc-map-card__image {
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	background: #fff4ee;
	margin-bottom: 1rem;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 50px;
}
.ofixo-wpc-map-card__image > svg,
.ofixo-wpc-map-card__image > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.ofixo-wpc-map-card__addr {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--wp--preset--color--body);
	font-size: 0.9rem;
}

.ofixo-wpc-map-card__dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	flex-shrink: 0;
}

/* --- 5. Reusable CTA band (shortcode-driven) --- */

/* Centred constrained wrapper so the headline + button line up with every
 * other section of the page (hero, services, FAQs, etc.) instead of running
 * to the viewport edges. */
.ofixo-cta__inner {
	max-width: var(--wp--style--global--content-size, 1280px);
	margin-inline: auto;
	padding-inline: var(--wp--style--root--padding-left, 1.5rem);
}

.ofixo-cta__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.75rem;
	align-items: center;
}

@media (min-width: 900px) {
	.ofixo-cta__row { grid-template-columns: 1.4fr 1fr; gap: 3rem; }
}

.ofixo-cta__heading {
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	font-weight: 800;
	margin: 0 0 0.75rem;
	line-height: 1.2;
	color: var(--wp--preset--color--base);
}

.ofixo-cta__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.95rem;
	line-height: 1.55;
}

.ofixo-cta__action {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: flex-start;
}

@media (min-width: 900px) {
	.ofixo-cta__action { align-items: flex-end; }
}

.ofixo-cta__action .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	border-radius: 999px;
	padding: 0.85rem 1.5rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease;
}

.ofixo-cta__action .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.92); }

.ofixo-cta-wa {
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.85rem;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex-wrap: wrap;
}

.ofixo-cta-wa__icon {
	flex-shrink: 0;
	vertical-align: middle;
	/* White circular chip behind the green WhatsApp glyph — sits flush in
	 * the "or WhatsApp ◯ +971…" line. The SVG fill is already #25D366 so
	 * we just supply the surrounding circle here. */
	background: #ffffff;
	border-radius: 50%;
	padding: 3px;
	box-sizing: content-box;
}

.ofixo-cta-wa a { color: #fff; font-weight: 600; text-decoration: none; }
.ofixo-cta-wa a:hover { text-decoration: underline; }

/* --- 6. Certified Applicators --- */
.ofixo-applicators__head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 3rem;
}

.ofixo-eyebrow--center {
	justify-content: center;
}

.ofixo-applicators__heading {
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}

.ofixo-applicators__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	line-height: 1.55;
}

/* Auto-scrolling marquee — same pattern as homepage Our Partners.
 * Items are fixed-width so every applicator tile is identical size, and
 * the track holds the items list doubled so the keyframe loop is seamless.
 *
 * Width is capped to the theme's content-size with the theme's standard
 * side padding so the visible logo area lines up with the constrained CTA
 * row above and every other section on the page. */
.ofixo-applicators__marquee {
	overflow: hidden;
	max-width: var(--wp--style--global--content-size, 1280px);
	margin-inline: auto;
	padding-inline: var(--wp--style--root--padding-left, 1.5rem);
	box-sizing: border-box;
	-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%);
}

.ofixo-applicators__track {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: stretch;
	gap: 1rem;
	width: max-content;
	animation: ofixoApplicatorsScroll var(--ofixo-applicators-speed, 30s) linear infinite;
}

/* Pause on hover/focus so a visitor can click a logo. */
.ofixo-applicators:hover .ofixo-applicators__track,
.ofixo-applicators:focus-within .ofixo-applicators__track {
	animation-play-state: paused;
}

@keyframes ofixoApplicatorsScroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.ofixo-applicators__track {
		animation: none;
		transform: none;
		justify-content: center;
		flex-wrap: wrap;
	}
}

.ofixo-applicator {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 92px;
	background: #fff4ef;
	border-radius: 12px;
	padding: 1rem;
	box-sizing: border-box;
}

.ofixo-applicator__name {
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	letter-spacing: 0.02em;
	font-size: 1rem;
}

.ofixo-applicator__logo {
	max-width: 100%;
	max-height: 60px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* --- 7. FAQs --- */
.ofixo-wpc-faqs__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3rem;
}

/* `.ofixo-eyebrow` is `display: flex` so text-align has no effect — centre
 * its dash-line + label by overriding justify-content. */
.ofixo-wpc-faqs__head .ofixo-eyebrow {
	justify-content: center;
}

.ofixo-wpc-faqs__head h2 {
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: 800;
	margin: 0;
	line-height: 1.2;
}

.ofixo-wpc-faqs .ofixo-faq {
	max-width: 820px;
	margin: 0 auto;
}

/* ============================================================
   ROOF WATERPROOFING SUB-SERVICE (/services/waterproofing/roof-waterproofing/)
   Reuses hero, stats, about, process, reasons, coverage, faqs, applicators,
   cta from the hub above. Adds: covered cards, 6 signs, anatomy, systems,
   compare table, materials, projects gallery, cost factors, related cards,
   insights blog grid, dark final CTA.
   ============================================================ */

/* --- Everything Covered (6 dark feature cards with emoji icons) --- */
.ofixo-wpc-covered__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-covered__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-covered__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-covered__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-covered__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { .ofixo-wpc-covered__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
@media (min-width: 1080px) { .ofixo-wpc-covered__grid { grid-template-columns: repeat(3, 1fr); } }

.ofixo-wpc-feature {
	background: var(--wp--preset--color--base);
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	display: flex;
	flex-direction: column;
}
.ofixo-wpc-feature__media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	background:
		radial-gradient(circle at top right, rgba(224, 78, 31, 0.10) 0%, transparent 60%),
		linear-gradient(135deg, #2a1810 0%, #1a1414 100%);
}
.ofixo-wpc-feature__icon { font-size: 2.5rem; line-height: 1; }
.ofixo-wpc-feature__body {
	padding: 1.5rem 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.ofixo-wpc-feature__body h3 {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}
.ofixo-wpc-feature__body p {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.55;
}

/* --- 6 Signs (6 cards, peach icon tile) --- */
.ofixo-wpc-signs__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-signs__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-signs__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-signs__sub { margin: 0; color: var(--wp--preset--color--body); line-height: 1.55; }
.ofixo-wpc-signs__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { .ofixo-wpc-signs__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-wpc-signs__grid { grid-template-columns: repeat(3, 1fr); } }

.ofixo-wpc-sign {
	background: var(--wp--preset--color--cream) !important;
	border-radius: 14px;
	padding: 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.ofixo-wpc-sign__icon {
	width: 44px;
	height: 44px;
	background: #fff4ef;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	line-height: 1;
}
.ofixo-wpc-sign h3 {
	margin: 0.25rem 0 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}
.ofixo-wpc-sign p {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.55;
}

/* --- Anatomy of a 10-Year Roof --------------------------------------
 * 2-col layout: numbered list of approach principles on the left, plus a
 * white card on the right that draws the 7-layer stack as a stacked bar
 * chart with the layer name on the left and "Layer N" on the right. The
 * bottom-up colour gradient runs cream → peach → orange → dark to suggest
 * structure-to-surface depth. */
.ofixo-wpc-anatomy__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	align-items: start;
}
@media (min-width: 960px) {
	.ofixo-wpc-anatomy__grid { grid-template-columns: 1fr 1.1fr; gap: 3.5rem; }
}

/* Left: numbered principles list ("01 Substrate Engineering" …). */
.ofixo-wpc-anatomy__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
.ofixo-wpc-anatomy__item {
	display: grid;
	grid-template-columns: 56px 1fr;
	column-gap: 0.85rem;
	align-items: start;
}
.ofixo-wpc-anatomy__num {
	font-size: 1.65rem;
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}
.ofixo-wpc-anatomy__text h3 {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-wpc-anatomy__text p {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.6;
}

/* Right: white card holding the 7-layer cross-section. */
.ofixo-wpc-anatomy__card {
	background: var(--wp--preset--color--base);
	border-radius: 18px;
	padding: 1.75rem;
	box-shadow: 0 10px 30px rgba(31, 31, 31, 0.05);
	border: 1px solid var(--wp--preset--color--border);
}
.ofixo-wpc-anatomy__card .ofixo-eyebrow {
	margin-bottom: 0.65rem;
}
.ofixo-wpc-anatomy__card-title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: 800;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}

.ofixo-wpc-anatomy__stack {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}
.ofixo-wpc-anatomy__layer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.9rem 1.15rem;
	border-radius: 6px;
	font-weight: 600;
	font-size: 0.9rem;
	line-height: 1.2;
}
.ofixo-wpc-anatomy__layer-name { flex: 1; }
.ofixo-wpc-anatomy__layer-tag {
	font-size: 0.78rem;
	font-weight: 600;
	opacity: 0.85;
	white-space: nowrap;
}

/* Top-down colour ramp matching the Figma palette. --8 and --9 extend the
 * scale for 9-layer build-ups (Green Combo); --1..--7 unchanged so the
 * existing Roof Waterproofing parent page renders identically. */
.ofixo-wpc-anatomy__layer--9 { background: #0d0d0d; color: #fff; }
.ofixo-wpc-anatomy__layer--8 { background: #5a1a05; color: #fff; }
.ofixo-wpc-anatomy__layer--7 { background: #1f1f1f; color: #fff; }
.ofixo-wpc-anatomy__layer--6 { background: #b83e14; color: #fff; }
.ofixo-wpc-anatomy__layer--5 { background: #E04E1F; color: #fff; }
.ofixo-wpc-anatomy__layer--4 { background: #ed6f3d; color: #fff; }
.ofixo-wpc-anatomy__layer--3 { background: #f9b691; color: #5a2207; }
.ofixo-wpc-anatomy__layer--2 { background: #fdd5b8; color: #5a2207; }
.ofixo-wpc-anatomy__layer--1 { background: #f3eee5; color: #5a4427; }

/* --- Choose the Right System (4 cards in 2x2 / 1x4) --- */
.ofixo-wpc-systems__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-systems__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-systems__sub { margin: 0; color: var(--wp--preset--color--body); line-height: 1.55; }
.ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { .ofixo-wpc-systems__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-wpc-systems__grid { grid-template-columns: repeat(4, 1fr); } }
.ofixo-wpc-system {
	background: var(--wp--preset--color--base);
	border-radius: 16px;
	padding: 1.6rem 1.6rem 1.85rem;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 8px 22px rgba(31, 31, 31, 0.05);
	border: 1px solid transparent;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.ofixo-wpc-system:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(31, 31, 31, 0.08);
}
.ofixo-wpc-system__pill {
	align-self: flex-start;
	background: #fff4ef;
	color: var(--wp--preset--color--primary);
	padding: 0.45rem 0.95rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1;
}
.ofixo-wpc-system__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-wpc-system__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.6;
}
.ofixo-wpc-system__more {
	margin-top: auto;
	padding-top: 0.85rem;
	border-top: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	font-size: 0.9rem;
}

/* --- Sheet vs Liquid? (or any 2-up format-comparison panel) ---
 * Two large cards side-by-side, each with an eyebrow, title, 4-5 bullet
 * checklist, and a footer note. Used on Membrane Waterproofing as
 * "Sheet Membrane or Liquid-Applied?". */
.ofixo-wpc-vs__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-vs__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-vs__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-vs__sub { margin: 0; color: var(--wp--preset--color--body); line-height: 1.55; }
.ofixo-wpc-vs__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 820px) { .ofixo-wpc-vs__grid { grid-template-columns: 1fr 1fr; gap: 2rem; } }

.ofixo-wpc-vs-card {
	background: var(--wp--preset--color--base);
	border-radius: 16px;
	padding: 1.85rem 1.85rem 2rem;
	border: 1px solid var(--wp--preset--color--border);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.ofixo-wpc-vs-card__eyebrow {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.ofixo-wpc-vs-card__title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.25;
}
.ofixo-wpc-vs-card__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.ofixo-wpc-vs-card__list li {
	position: relative;
	padding-left: 1.5rem;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.5;
}
.ofixo-wpc-vs-card__list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}
.ofixo-wpc-vs-card__foot {
	margin: 0;
	padding-top: 0.85rem;
	border-top: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--body);
	font-size: 0.82rem;
	line-height: 1.5;
	font-style: italic;
}

/* --- Quality Checks Before Handover (dark section, 5 cards) ---
 * Contrast background, light cards that read against the dark canvas. */
.ofixo-wpc-checks {
	color: #fff;
}
.ofixo-wpc-checks__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-checks__head .ofixo-eyebrow { justify-content: center; color: #ffd2c0 !important; }
.ofixo-wpc-checks__head .ofixo-eyebrow span { background: #ffd2c0 !important; }
.ofixo-wpc-checks__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
	color: #fff;
}
.ofixo-wpc-checks__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.55;
}
.ofixo-wpc-checks__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px)  { .ofixo-wpc-checks__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-wpc-checks__grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } }

.ofixo-wpc-check {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	padding: 1.5rem 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.ofixo-wpc-check__icon {
	width: 42px;
	height: 42px;
	background: rgba(224, 78, 31, 0.18);
	color: #ffaa84;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	line-height: 1;
}
.ofixo-wpc-check h3 {
	margin: 0.35rem 0 0;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}
.ofixo-wpc-check p {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.88rem;
	line-height: 1.55;
}

/* --- Side-by-Side Comparison Table --- */
.ofixo-wpc-compare__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
.ofixo-wpc-compare__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-compare__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0;
	line-height: 1.2;
}
.ofixo-wpc-compare__wrap {
	overflow-x: auto;
	border-radius: 16px;
	background: var(--wp--preset--color--base);
	box-shadow: 0 8px 22px rgba(31, 31, 31, 0.05);
}
.ofixo-wpc-compare__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
	min-width: 820px;
	background: var(--wp--preset--color--base);
}

/* Dark header row matching the Figma — black band, white text. */
.ofixo-wpc-compare__table thead th {
	background: #1f1f1f;
	color: #fff;
	padding: 1.1rem 1.35rem;
	font-weight: 700;
	text-align: left;
	font-size: 0.92rem;
	border: none;
	white-space: nowrap;
}
.ofixo-wpc-compare__table thead th:first-child {
	border-top-left-radius: 16px;
	width: 18%;
}
.ofixo-wpc-compare__table thead th:last-child {
	border-top-right-radius: 16px;
}

.ofixo-wpc-compare__table tbody td {
	padding: 1.1rem 1.35rem;
	color: var(--wp--preset--color--body);
	border: none;
	vertical-align: middle;
	line-height: 1.45;
}

/* Alternate row backgrounds — white + cream. */
.ofixo-wpc-compare__table tbody tr:nth-child(even) td {
	background: var(--wp--preset--color--cream, #fff4ef);
}

/* First column = label, bold + dark for scanability. */
.ofixo-wpc-compare__table tbody td:first-child {
	color: var(--wp--preset--color--contrast);
	font-weight: 700;
}

/* --- Engineered Materials (4 cards with media) --- */
.ofixo-wpc-materials__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-materials__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-materials__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-materials__sub { margin: 0; color: var(--wp--preset--color--body); line-height: 1.55; }
.ofixo-wpc-materials__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { .ofixo-wpc-materials__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-wpc-materials__grid { grid-template-columns: repeat(4, 1fr); } }

.ofixo-wpc-material {
	background: var(--wp--preset--color--base);
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	display: flex;
	flex-direction: column;
}
.ofixo-wpc-material__media {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, #2a1810 0%, #1a1414 100%);
}
.ofixo-wpc-material h3 {
	margin: 1.25rem 1.25rem 0.5rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-wpc-material p {
	margin: 0 1.25rem 1.5rem;
	color: var(--wp--preset--color--body);
	font-size: 0.9rem;
	line-height: 1.55;
}

/* --- Recent Projects Gallery (6 cards) --- */
.ofixo-wpc-projects__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-projects__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-projects__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0;
	line-height: 1.2;
}
.ofixo-wpc-projects__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { .ofixo-wpc-projects__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-wpc-projects__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-wpc-project {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.ofixo-wpc-project:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(31, 31, 31, 0.08);
}
.ofixo-wpc-project__media {
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	background: linear-gradient(135deg, #2a1810 0%, #1a1414 100%);
	margin-bottom: 0.85rem;
}
.ofixo-wpc-project__eyebrow {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.ofixo-wpc-project h3 {
	margin: 0.35rem 0 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}

/* --- What Affects Cost (6 icon + text items, centered CTA below) --- */
.ofixo-wpc-cost__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-cost__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-cost__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-cost__sub { margin: 0; color: var(--wp--preset--color--body); line-height: 1.55; }
.ofixo-wpc-cost__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { .ofixo-wpc-cost__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-wpc-cost__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-wpc-cost__item {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	background: var(--wp--preset--color--cream) !important;
	border-radius: 14px;
	padding: 1.6rem 1.6rem 1.85rem;
}
.ofixo-wpc-cost__icon {
	width: 44px;
	height: 44px;
	background: #fff4ef;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	line-height: 1;
}
.ofixo-wpc-cost__item h3 {
	margin: 0.5rem 0 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}
.ofixo-wpc-cost__item p {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.55;
}
.ofixo-wpc-cost__cta {
	margin-top: 2.5rem;
	text-align: center;
}
.ofixo-wpc-cost__cta .ofixo-btn--primary {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.85rem 1.5rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	background: var(--wp--preset--color--primary);
	color: #fff;
	box-shadow: 0 6px 18px rgba(224, 78, 31, 0.28);
	transition: background 0.15s ease, transform 0.15s ease;
}
.ofixo-wpc-cost__cta .ofixo-btn--primary:hover { background: #b83e14; transform: translateY(-1px); }

/* --- Related Services (4 cards) --- */
.ofixo-wpc-related__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-related__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-related__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0;
	line-height: 1.2;
}
.ofixo-wpc-related__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { .ofixo-wpc-related__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-wpc-related__grid { grid-template-columns: repeat(4, 1fr); } }
.ofixo-wpc-related__card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	padding: 1.5rem 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.18s ease, transform 0.18s ease;
}
.ofixo-wpc-related__card:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-2px);
}
.ofixo-wpc-related__card h3 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-wpc-related__card p {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.9rem;
	line-height: 1.55;
}
.ofixo-wpc-related__card span {
	margin-top: auto;
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	font-size: 0.88rem;
}

/* --- Insights / Blog grid (3 cards from query loop) --- */
.ofixo-wpc-insights__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-insights__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-insights__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0;
	line-height: 1.2;
}
.ofixo-wpc-insights__grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.5rem !important;
	list-style: none;
	padding: 0;
	margin: 0;
}
@media (min-width: 720px) {
	.ofixo-wpc-insights__grid .wp-block-post-template { grid-template-columns: repeat(3, 1fr) !important; }
}

/* /solution/{slug}/ — ofixo_category taxonomy archive listing.
   4 products per row on desktop, square thumbnails. Scoped to the
   archive body class so other Query Loops are untouched. */
.tax-ofixo_category .wp-block-post-template.is-layout-grid {
	gap: 1.5rem;
}
.tax-ofixo_category .wp-block-post-template .wp-block-post-featured-image {
	/* Inline `style="aspect-ratio:16/10"` is baked into the block markup
	   by the editor — needs !important to override. */
	aspect-ratio: 10 / 10 !important;
	overflow: hidden;
}
.tax-ofixo_category .wp-block-post-template .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media (min-width: 1024px) {
	.tax-ofixo_category .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}
.ofixo-wpc-insights__card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.ofixo-wpc-insights__card .wp-block-post-featured-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}
.ofixo-wpc-insights__body {
	padding: 1.25rem 1.5rem 1.75rem;
	display: flex !important;
	flex-direction: column;
	gap: 0.5rem;
}
.ofixo-wpc-insights__card .wp-block-post-title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}
.ofixo-wpc-insights__card .wp-block-post-title a { color: inherit; text-decoration: none; }
.ofixo-wpc-insights__date,
.ofixo-wpc-insights__card .wp-block-post-date {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.85rem;
}
.ofixo-wpc-insights__card .wp-block-read-more {
	margin-top: auto;
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	font-size: 0.88rem;
	text-decoration: none;
}

/* --- Final dark CTA --- */
.ofixo-wpc-final {
	color: #fff;
	text-align: center;
}
.ofixo-wpc-final__inner {
	max-width: 780px;
	margin-inline: auto;
}
.ofixo-eyebrow--on-dark {
	justify-content: center;
	color: #ffd2c0 !important;
}
.ofixo-eyebrow--on-dark span { background: #ffd2c0 !important; }
.ofixo-wpc-final h2 {
	font-size: clamp(2rem, 3.5vw, 2.85rem);
	font-weight: 800;
	margin: 0.5rem 0 1rem;
	color: #fff;
	line-height: 1.2;
}
.ofixo-wpc-final__sub {
	margin: 0 auto 2rem;
	max-width: 620px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-final__cta {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	justify-content: center;
}
.ofixo-wpc-final__cta .ofixo-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.85rem 1.5rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease, color 0.15s ease;
}
.ofixo-wpc-final__cta .ofixo-btn--primary {
	background: var(--wp--preset--color--primary);
	color: #fff;
	box-shadow: 0 6px 18px rgba(224, 78, 31, 0.28);
}
.ofixo-wpc-final__cta .ofixo-btn--primary:hover { background: #b83e14; transform: translateY(-1px); }
.ofixo-wpc-final__cta .ofixo-btn--outline-light {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.32);
}
.ofixo-wpc-final__cta .ofixo-btn--outline-light:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.6);
}

/* --- Per-section background overrides ---------------------------------
 * These six rules override the block-library `has-{name}-background-color`
 * classes that the page markup attaches. Using !important because WP core
 * adds those colour-token classes with high specificity. Keeps the visual
 * rhythm: cream / white / cream / cream / cream / surface across the page. */
.ofixo-wpc-hero     { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-about    { background: #ffffff !important; }
.ofixo-wpc-services { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-reasons  { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-coverage { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-faqs     { background: var(--wp--preset--color--surface) !important; }

/* Roof sub-service sections — per Figma rhythm: covered/signs/anatomy/
 * compare/cost sit on cream so the white tiles and dark accents inside
 * read clearly. */
.ofixo-wpc-covered  { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-signs    { background: #ffffff !important; }
.ofixo-wpc-anatomy  { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-compare  { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-cost     { background: #ffffff !important; }

/* =====================================================================
 * Membrane Waterproofing — page-scoped styling (Figma node 159-2)
 *
 * Global section rhythm rule (per user, May 2026):
 *   After the hero + dark stats strip, sections alternate
 *   WHITE → CREAM → WHITE → CREAM … FAQs are always SURFACE (grey).
 *   Cards invert from their section bg (white→cream, cream→white).
 *
 * IMPORTANT: shared component classes (.ofixo-wpc-process, .ofixo-wpc-reasons,
 * .ofixo-wpc-step, .ofixo-wpc-reason, etc.) are reused on Roof Waterproofing
 * and the hub. Any colour override on those classes MUST be scoped to this
 * page's body class — the `ofixo_service_body_class` filter in functions.php
 * emits `ofixo-page-{post-slug}` on singular service posts. New components
 * that only this page renders (.ofixo-wpc-how, .ofixo-wpc-vs) may use bare
 * selectors because they cannot leak.
 * ===================================================================== */

/* --- New components used only on the Membrane page --- */

/* How It Works (3 mechanism cards on cream section, white cards) */
.ofixo-wpc-how { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-how__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-how__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-how__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-how__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-how__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px)  { .ofixo-wpc-how__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
@media (min-width: 1080px) { .ofixo-wpc-how__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-wpc-how-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 1.85rem 1.75rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.ofixo-wpc-how-card__tile {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #fde7dc;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	margin-bottom: 0.4rem;
}
.ofixo-wpc-how-card__tile--blue { background: #dfeaf7; }
.ofixo-wpc-how-card__tile { color: var(--wp--preset--color--primary); }
.ofixo-wpc-how-card__tile--blue { color: #2563eb; }
.ofixo-wpc-how-card__tile > svg,
.ofixo-wpc-fn__tile > svg {
	width: 24px;
	height: 24px;
	display: block;
}
.ofixo-wpc-fn__tile { color: var(--wp--preset--color--primary); }
.ofixo-wpc-fn__tile--blue { color: #2563eb; }
.ofixo-wpc-how-card__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.25;
}
.ofixo-wpc-how-card__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.6;
}

/* Sheet vs Liquid (cream section, white cards, icon row before title) */
.ofixo-wpc-vs { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-vs-card {
	background: #ffffff !important;
	border: none !important;
	box-shadow: none !important;
}
.ofixo-wpc-vs-card__head {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.ofixo-wpc-vs-card__icon {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: #fde7dc;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
}
.ofixo-wpc-vs-card__icon--blue { background: #dfeaf7; }
.ofixo-wpc-vs-card__head-text {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}
.ofixo-wpc-vs-card__sub {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.4;
}
.ofixo-wpc-vs-card__title { margin: 0; }

/* --- Shared-class overrides — SCOPED to the Membrane page only --- */

/* 7-Step Process — white section, cream cards, strict 3-col at desktop. */
body.ofixo-page-membrane-waterproofing .ofixo-wpc-process { background: #ffffff !important; }
body.ofixo-page-membrane-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
}
@media (min-width: 720px) {
	body.ofixo-page-membrane-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-membrane-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}
body.ofixo-page-membrane-waterproofing .ofixo-wpc-step {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
	border-radius: 14px;
}

/* Advantages — white section, cream cards (.ofixo-wpc-reasons is cream
 * globally for the hub; this scope flips it back to white on Membrane). */
body.ofixo-page-membrane-waterproofing .ofixo-wpc-reasons { background: #ffffff !important; }
body.ofixo-page-membrane-waterproofing .ofixo-wpc-reasons__sub {
	margin: 1rem 0 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
body.ofixo-page-membrane-waterproofing .ofixo-wpc-reason {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
	border: none !important;
}
body.ofixo-page-membrane-waterproofing .ofixo-wpc-reason__icon {
	background: transparent !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	font-size: 1.6rem;
	padding: 0;
	align-self: flex-start;
	justify-content: flex-start;
}

/* Universal: hide a sibling-systems section that ends up empty (no
 * children of the current post's parent). Safe to leave unscoped — the
 * worst case on other pages is the same empty-section gap collapse. */
.ofixo-wpc-systems:not(:has(*)) { display: none; }

/* =====================================================================
 * EPDM Waterproofing — page-scoped styling (Figma node 166-2)
 *
 * Section rhythm: cream hero → dark stats → white intro → cream Fns →
 * white Mech → cream Process → white Reasons → dark Checks → cream
 * Applications → CTA → surface FAQs → Systems.  See memory:
 * feedback-section-color-rhythm.  Shared-class overrides are scoped to
 * `body.ofixo-page-epdm-waterproofing`; new components (.ofixo-wpc-fns,
 * .ofixo-wpc-mech) use bare selectors because they aren't used elsewhere.
 * ===================================================================== */

/* --- Purpose & Functions — 5 cards on cream, white cards --- */
.ofixo-wpc-fns { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-fns__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-wpc-fns__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-fns__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-fns__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-fns__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px)  { .ofixo-wpc-fns__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
@media (min-width: 1080px) { .ofixo-wpc-fns__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-wpc-fn {
	background: #ffffff;
	border-radius: 16px;
	padding: 1.85rem 1.75rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.ofixo-wpc-fn__tile {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #fde7dc;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	margin-bottom: 0.4rem;
}
.ofixo-wpc-fn__tile--blue { background: #dfeaf7; }
.ofixo-wpc-fn__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.25;
}
.ofixo-wpc-fn__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.6;
}

/* --- How It Works — 2-col mechanism cards + properties table, white bg --- */
.ofixo-wpc-mech { background: #ffffff !important; }
.ofixo-wpc-mech__head {
	max-width: 760px;
	margin: 0 auto 2.5rem;
	text-align: center;
}
.ofixo-wpc-mech__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-mech__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0;
	line-height: 1.2;
}
.ofixo-wpc-mech__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 880px) {
	.ofixo-wpc-mech__grid { grid-template-columns: 1.4fr 1fr; gap: 2.5rem; align-items: start; }
}

/* 3 numbered mechanism cards stack on the left side. */
.ofixo-wpc-mech__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.ofixo-wpc-mech-card {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.4rem 1.5rem;
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}
.ofixo-wpc-mech-card__num {
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.9rem;
	font-variant-numeric: tabular-nums;
}
.ofixo-wpc-mech-card__body { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.ofixo-wpc-mech-card__title {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-wpc-mech-card__text {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.55;
}

/* Properties table on the right side. */
.ofixo-wpc-mech__props {
	background: var(--wp--preset--color--cream);
	border-radius: 14px;
	padding: 1.5rem 1.5rem 1.8rem;
}
.ofixo-wpc-mech__props-eyebrow {
	margin: 0 0 1rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.ofixo-wpc-mech__table { margin: 0; }
.ofixo-wpc-mech__row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.7rem 0;
	border-bottom: 1px solid rgba(31, 31, 31, 0.08);
}
.ofixo-wpc-mech__row:last-child { border-bottom: 0; padding-bottom: 0; }
.ofixo-wpc-mech__row dt {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.9rem;
}
.ofixo-wpc-mech__row dd {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-size: 0.9rem;
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

/* --- Shared-class overrides — SCOPED to the EPDM page only --- */

/* 6-Step Process — cream section, white cards (default), 3-col at desktop. */
body.ofixo-page-epdm-waterproofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-epdm-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
}
body.ofixo-page-epdm-waterproofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
	border-radius: 14px;
}
@media (min-width: 720px) {
	body.ofixo-page-epdm-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-epdm-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* 7 Reasons — white section, cream cards (.ofixo-wpc-reasons is cream
 * globally for the hub; flip back to white on EPDM). Icons left-aligned
 * without a tile to match the Membrane-page treatment. */
body.ofixo-page-epdm-waterproofing .ofixo-wpc-reasons { background: #ffffff !important; }
body.ofixo-page-epdm-waterproofing .ofixo-wpc-reasons__sub {
	margin: 1rem 0 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
body.ofixo-page-epdm-waterproofing .ofixo-wpc-reason {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
	border: none !important;
}
body.ofixo-page-epdm-waterproofing .ofixo-wpc-reason__icon {
	background: transparent !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	font-size: 1.6rem;
	padding: 0;
	align-self: flex-start;
	justify-content: flex-start;
}

/* Applications — cream section (.ofixo-wpc-signs is white globally; flip
 * to cream on EPDM so the rhythm reads correctly). Cards stay white. */
body.ofixo-page-epdm-waterproofing .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-epdm-waterproofing .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}

/* =====================================================================
 * Polyurea Coating — page-scoped styling (Figma node 174-2)
 *
 * Rhythm: hero(cream) → stats(dark) → intro(WHITE) → fns(CREAM) →
 * mech(WHITE) → process(CREAM) → reasons(WHITE) → checks(DARK) →
 * signs(CREAM) → CTA → faqs(SURFACE) → systems.
 *
 * Same shared-class flips as the EPDM page (process bg, reasons bg,
 * signs bg, reason icon de-tile). New components .ofixo-wpc-fns and
 * .ofixo-wpc-mech are already styled above via bare selectors.
 * ===================================================================== */

/* 6-Step Process — cream section, white cards, 3-col at desktop. */
body.ofixo-page-polyurea-coating .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-polyurea-coating .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
}
body.ofixo-page-polyurea-coating .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
	border-radius: 14px;
}
@media (min-width: 720px) {
	body.ofixo-page-polyurea-coating .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-polyurea-coating .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* 7 Reasons — white section, cream cards, icons left-aligned no tile. */
body.ofixo-page-polyurea-coating .ofixo-wpc-reasons { background: #ffffff !important; }
body.ofixo-page-polyurea-coating .ofixo-wpc-reasons__sub {
	margin: 1rem 0 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
body.ofixo-page-polyurea-coating .ofixo-wpc-reason {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
	border: none !important;
}
body.ofixo-page-polyurea-coating .ofixo-wpc-reason__icon {
	background: transparent !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	font-size: 1.6rem;
	padding: 0;
	align-self: flex-start;
	justify-content: flex-start;
}

/* Applications — cream section, white cards (5 items wrap 3 + 2). */
body.ofixo-page-polyurea-coating .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-polyurea-coating .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}

/* =====================================================================
 * Cementitious Waterproofing — page-scoped styling (Figma node 181-2)
 *
 * New components:
 *   .ofixo-wpc-prot — 4 protection-layer cards (inline-icon + title + body)
 *                     on a cream section, 2x2 desktop.
 *   .ofixo-wpc-mix  — "What's in the Coating" composite: 4 numbered
 *                     ingredient tiles + 2 mixing-system cards under sub-
 *                     headings, on a white section.
 *
 * Shared-class overrides scoped to body.ofixo-page-cementitious-waterproofing.
 * ===================================================================== */

/* --- Protection layers: 4 cards, cream section, white cards --- */
.ofixo-wpc-prot { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-prot__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
.ofixo-wpc-prot__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-prot__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-prot__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-prot__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 760px) {
	.ofixo-wpc-prot__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}
.ofixo-wpc-prot-card {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.4rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}
.ofixo-wpc-prot-card__title {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-h3-icon,
.ofixo-wpc-prot-card__icon,
.ofixo-wpc-sys-card__icon,
.ofixo-wpc-industry__icon,
.ofixo-wpc-failures__icon,
.ofixo-wpc-mix-sys__icon {
	flex: 0 0 auto;
	width: 1.4em;
	height: 1.4em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--primary);
	font-size: 1.2rem;
	line-height: 1;
}
.ofixo-h3-icon > svg,
.ofixo-wpc-prot-card__icon > svg,
.ofixo-wpc-sys-card__icon > svg,
.ofixo-wpc-industry__icon > svg,
.ofixo-wpc-failures__icon > svg,
.ofixo-wpc-mix-sys__icon > svg {
	width: 100%;
	height: 100%;
	display: block;
}
.ofixo-wpc-prot-card__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.55;
}

/* --- What's in the Coating: white section, cream cards. Two groups
 *     (ingredients, mixing systems), each with its own eyebrow label. --- */
.ofixo-wpc-mix { background: #ffffff !important; }
.ofixo-wpc-mix__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
.ofixo-wpc-mix__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-mix__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-mix__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-mix__group { margin-top: 2rem; }
.ofixo-wpc-mix__group:first-of-type { margin-top: 0; }
.ofixo-wpc-mix__label {
	margin: 0 0 1.1rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

/* 4 ingredient tiles — numbered, cream bg */
.ofixo-wpc-mix__ingredients {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 720px)  { .ofixo-wpc-mix__ingredients { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (min-width: 1080px) { .ofixo-wpc-mix__ingredients { grid-template-columns: repeat(4, 1fr); } }
.ofixo-wpc-mix-ing {
	background: var(--wp--preset--color--cream);
	border-radius: 14px;
	padding: 1.3rem 1.4rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.ofixo-wpc-mix-ing__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: 30px;
	height: 30px;
	border-radius: 6px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	margin-bottom: 0.3rem;
}
.ofixo-wpc-mix-ing__title {
	margin: 0;
	font-size: 0.98rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-wpc-mix-ing__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.88rem;
	line-height: 1.55;
}

/* 2 mixing-system cards — icon + title + rigid/flexible tag in head row */
.ofixo-wpc-mix__systems {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 820px) { .ofixo-wpc-mix__systems { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
.ofixo-wpc-mix-sys {
	background: var(--wp--preset--color--cream);
	border-radius: 14px;
	padding: 1.4rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.ofixo-wpc-mix-sys__head {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}
.ofixo-wpc-mix-sys__icon {
	font-size: 1.2rem;
	line-height: 1;
}
.ofixo-wpc-mix-sys__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.25;
	flex: 1 1 auto;
}
.ofixo-wpc-mix-sys__tag {
	display: inline-block;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.ofixo-wpc-mix-sys__tag--rigid { background: #fde7dc; color: #9a3618; }
.ofixo-wpc-mix-sys__tag--flex  { background: #dfeaf7; color: #1f4673; }
.ofixo-wpc-mix-sys__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.55;
}

/* --- Shared-class overrides — scoped to Cementitious page only --- */

/* 5-Step Process — cream section, white cards. 5 items lay out as 3 + 2
 * at desktop using the same 3-col grid as EPDM/Polyurea. */
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
}
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
	border-radius: 14px;
}
@media (min-width: 720px) {
	body.ofixo-page-cementitious-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-cementitious-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* 6 Reasons — white section, cream cards, icons left-aligned no tile. */
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-reasons { background: #ffffff !important; }
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-reasons__sub {
	margin: 1rem 0 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-reason {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
	border: none !important;
}
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-reason__icon {
	background: transparent !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	font-size: 1.6rem;
	padding: 0;
	align-self: flex-start;
	justify-content: flex-start;
}

/* Applications — cream section, white cards (7 items wrap 3 + 3 + 1). */
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-cementitious-waterproofing .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}

/* =====================================================================
 * Green Combo Roofing — page-scoped styling (Figma node 189-2)
 *
 * Adds one new component:
 *   .ofixo-wpc-mfr — Manufacturer Certified dark strip (4 brand tiles
 *   + footnote). Dark contrast strip, like quality-checks; resumes the
 *   white/cream rhythm immediately after.
 *
 * Shared-class overrides scoped to body.ofixo-page-green-combo-roofing:
 *   .ofixo-wpc-anatomy — flip to white (bare default is cream), card flips
 *     to cream (invert from section). Layer stack uses --1..--9 ramp.
 *   .ofixo-wpc-process — flip to cream (bare default is white), step cards
 *     white, 3-col grid so 9 steps lay 3x3.
 * Reasons (cream, white cards) + Signs (white, cream cards) already match
 * the rhythm with their bare defaults — no override needed.
 * =====================================================================*/

/* --- .ofixo-wpc-mfr — Manufacturer Certified dark strip ------------- */
.ofixo-wpc-mfr { background: #181818 !important; color: #f4f4f4; }
.ofixo-wpc-mfr__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.25rem;
}
.ofixo-wpc-mfr__head .ofixo-eyebrow {
	justify-content: center;
	color: #ed6f3d;
}
.ofixo-wpc-mfr__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0.5rem 0 1rem;
	line-height: 1.2;
	color: #ffffff;
}
.ofixo-wpc-mfr__sub {
	margin: 0;
	color: #c8c8c8;
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-mfr__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 720px)  { .ofixo-wpc-mfr__grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (min-width: 1080px) { .ofixo-wpc-mfr__grid { grid-template-columns: repeat(4, 1fr); } }
.ofixo-wpc-mfr-tile {
	background: #232323;
	border: 1px solid #2f2f2f;
	border-radius: 14px;
	padding: 1rem 1.25rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.ofixo-wpc-mfr-tile__brand {
	margin: 0;
	background: #181818;
	border: 1px solid #2a2a2a;
	border-radius: 10px;
	padding: 0.85rem 1rem;
	font-size: 1.05rem;
	font-weight: 800;
	color: #ed6f3d;
	line-height: 1.25;
	text-align: center;
}
.ofixo-wpc-mfr-tile__body {
	margin: 0;
	color: #b8b8b8;
	font-size: 0.92rem;
	line-height: 1.55;
}
.ofixo-wpc-mfr__foot {
	margin: 1.75rem auto 0;
	text-align: center;
	color: #ed6f3d;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

/* --- Shared-class overrides — scoped to Green Combo page only ------- */

/* Anatomy — white section (override bare cream), card flips to cream. */
body.ofixo-page-green-combo-roofing .ofixo-wpc-anatomy { background: #ffffff !important; }
body.ofixo-page-green-combo-roofing .ofixo-wpc-anatomy__card {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
}

/* 9-Step Process — cream section, white cards, 3-col grid for 3x3. */
body.ofixo-page-green-combo-roofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-green-combo-roofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
}
body.ofixo-page-green-combo-roofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
	border-radius: 14px;
}
@media (min-width: 720px) {
	body.ofixo-page-green-combo-roofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-green-combo-roofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* =====================================================================
 * Metal Roof Waterproofing — page-scoped styling (Figma node 195-2)
 *
 * Adds three new components:
 *   .ofixo-wpc-mtypes — 4 system cards in 2x2 with title + "BEST FOR ..."
 *     orange pill chip + body paragraph. White section, cream cards.
 *   .ofixo-wpc-qref — 6-tile quick-reference spec sheet (label + heading
 *     + body). Cream section, white tiles.
 *   .ofixo-wpc-deliv — Dark contrast strip with 6 deliverables in a 2x3
 *     grid, each prefixed with an orange check icon (title + body).
 *
 * Shared-class overrides scoped to body.ofixo-page-metal-roof-waterproofing:
 *   .ofixo-wpc-prot — flip to white (bare default is cream), 3-col grid
 *     for 6 zones, cream cards (invert).
 *   .ofixo-wpc-process — flip to cream, 3-col grid (3x2 for 6 steps),
 *     white step cards.
 * Reasons (cream, white cards) + Signs (white, cream cards) already match
 * the rhythm with their bare defaults — no override needed.
 * =====================================================================*/

/* --- .ofixo-wpc-mtypes — 4 system cards (BEST FOR pill chips) ------- */
.ofixo-wpc-mtypes { background: #ffffff !important; }
.ofixo-wpc-mtypes__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
.ofixo-wpc-mtypes__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-mtypes__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-mtypes__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-mtypes__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 880px) { .ofixo-wpc-mtypes__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
.ofixo-wpc-mtype {
	background: var(--wp--preset--color--cream);
	border-radius: 16px;
	padding: 1.75rem 1.85rem;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.ofixo-wpc-mtype__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 0.85rem;
}
.ofixo-wpc-mtype__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.ofixo-wpc-mtype__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.32rem 0.7rem;
	background: #fde7dc;
	color: #9a3618;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.2;
}
.ofixo-wpc-mtype__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.94rem;
	line-height: 1.6;
}

/* --- .ofixo-wpc-qref — 6 quick-reference tiles ---------------------- */
.ofixo-wpc-qref { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-qref__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
.ofixo-wpc-qref__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-qref__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-qref__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-qref__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 720px)  { .ofixo-wpc-qref__grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (min-width: 1080px) { .ofixo-wpc-qref__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-wpc-qref-tile {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.5rem 1.65rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.ofixo-wpc-qref-tile__label {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.ofixo-wpc-qref-tile__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-wpc-qref-tile__body {
	margin: 0.25rem 0 0;
	color: var(--wp--preset--color--body);
	font-size: 0.92rem;
	line-height: 1.55;
}

/* --- .ofixo-wpc-deliv — dark strip, 6 deliverables, orange checks --- */
.ofixo-wpc-deliv { background: #181818 !important; color: #f4f4f4; }
.ofixo-wpc-deliv__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
.ofixo-wpc-deliv__head .ofixo-eyebrow {
	justify-content: center;
	color: #ed6f3d;
}
.ofixo-wpc-deliv__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0.5rem 0 1rem;
	line-height: 1.2;
	color: #ffffff;
}
.ofixo-wpc-deliv__sub {
	margin: 0;
	color: #c8c8c8;
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-deliv__grid {
	background: #1f1f1f;
	border: 1px solid #2a2a2a;
	border-radius: 18px;
	padding: 0.25rem 1.75rem;
	max-width: 1080px;
	margin: 0 auto;
}
.ofixo-wpc-deliv-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid #2a2a2a;
	align-items: start;
}
@media (min-width: 880px) {
	.ofixo-wpc-deliv-item {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
		gap: 2.5rem;
		align-items: center;
		padding: 1.4rem 0;
	}
}
.ofixo-wpc-deliv-item:last-child { border-bottom: 0; }
.ofixo-wpc-deliv-item__lead {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-width: 0;
}
.ofixo-wpc-deliv-item__check {
	width: 30px;
	height: 30px;
	border-radius: 7px;
	background: #ed6f3d;
	color: #fff;
	font-size: 0.85rem;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	flex-shrink: 0;
}
.ofixo-wpc-deliv-item__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.3;
}
.ofixo-wpc-deliv-item__body {
	margin: 0;
	color: #b8b8b8;
	font-size: 0.92rem;
	line-height: 1.55;
}

/* --- Shared-class overrides — scoped to Metal Roof page only -------- */

/* 6 Zones — uses .ofixo-wpc-prot (bare cream). Flip to WHITE, cream
 * cards, 3-col grid. */
body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-prot { background: #ffffff !important; }
body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-prot-card {
	background: var(--wp--preset--color--cream) !important;
}
@media (min-width: 720px) {
	body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* 6-Step Process — cream section, white cards, 3-col grid (3x2). */
body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
}
body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
	border-radius: 14px;
}
@media (min-width: 720px) {
	body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-metal-roof-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* --- .ofixo-wpc-methods — 3-card application-method strip ----------- */
.ofixo-wpc-methods { background: var(--wp--preset--color--cream) !important; }
.ofixo-wpc-methods__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
.ofixo-wpc-methods__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-methods__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-methods__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-methods__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 880px) { .ofixo-wpc-methods__grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }
.ofixo-wpc-method {
	background: #ffffff;
	border-radius: 16px;
	padding: 1.75rem 1.85rem;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.ofixo-wpc-method__icon {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #fde7dc;
	font-size: 1.35rem;
	line-height: 1;
}
.ofixo-wpc-method__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-wpc-method__pill {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 0.35rem;
	padding: 0.32rem 0.7rem;
	background: #fde7dc;
	color: #9a3618;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.2;
}
.ofixo-wpc-method__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.94rem;
	line-height: 1.6;
}

/* --- Liquid Applied Waterproofing page overrides -------------------- */
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-reasons__sub {
	margin: 1rem 0 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
	text-align: center;
}
@media (min-width: 720px) {
	body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-reasons__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-reason {
	background: #ffffff !important;
	box-shadow: none !important;
	border: none !important;
}

/* 5 systems grid — 3-col so 5 cards flow as 3 + 2 */
@media (min-width: 720px) {
	body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Process — white section, cream step cards, 3-col */
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-process { background: #ffffff !important; }
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
}
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-step {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
	border-radius: 14px;
}
@media (min-width: 720px) {
	body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Signs (Why Wins) — cream section, white sign cards */
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}

/* Prot (Where Used) — white section, cream prot cards, 3-col */
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-prot { background: #ffffff !important; }
body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-prot-card {
	background: var(--wp--preset--color--cream) !important;
}
@media (min-width: 720px) {
	body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-liquid-applied-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* --- .ofixo-wpc-sides — dual dark-panel positive/negative section -- */
.ofixo-wpc-sides { background: #ffffff !important; }
.ofixo-wpc-sides__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
.ofixo-wpc-sides__head .ofixo-eyebrow { justify-content: center; }
.ofixo-wpc-sides__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
}
.ofixo-wpc-sides__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-sides__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 880px) { .ofixo-wpc-sides__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; } }
.ofixo-wpc-side {
	background: #0d0d0d;
	border: 1px solid #2a2a2a;
	border-radius: 18px;
	padding: 2rem 2rem 2.25rem;
	color: #f4f4f4;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.ofixo-wpc-side--positive { border-top: 4px solid #ed6f3d; }
.ofixo-wpc-side--negative { border-top: 4px solid #3da3ff; }
.ofixo-wpc-side__eyebrow {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0.85rem;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #f4f4f4;
}
.ofixo-wpc-side--positive .ofixo-wpc-side__eyebrow { color: #ed6f3d; background: rgba(237, 111, 61, 0.12); }
.ofixo-wpc-side--negative .ofixo-wpc-side__eyebrow { color: #6cb4ff; background: rgba(61, 163, 255, 0.12); }
.ofixo-wpc-side__title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.25;
}
.ofixo-wpc-side__stage {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #b0b0b0;
}
.ofixo-wpc-side__body {
	margin: 0;
	color: #d4d4d4;
	font-size: 0.96rem;
	line-height: 1.6;
}
.ofixo-wpc-side__methods-label {
	margin: 0.5rem 0 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #b0b0b0;
}
.ofixo-wpc-side__methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.ofixo-wpc-side__methods li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	color: #e4e4e4;
	font-size: 0.94rem;
	line-height: 1.5;
}
.ofixo-wpc-side__methods li::before {
	content: "\2713";
	flex: 0 0 auto;
	color: #ed6f3d;
	font-weight: 800;
}
.ofixo-wpc-side--negative .ofixo-wpc-side__methods li::before { color: #6cb4ff; }

/* --- .ofixo-wpc-warn — dark warning-signs strip (6 dark cards) ----- */
.ofixo-wpc-warn {
	background: #0d0d0d !important;
	color: #f4f4f4;
}
.ofixo-wpc-warn__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
	color: #f4f4f4;
}
.ofixo-wpc-warn__head .ofixo-eyebrow { justify-content: center; color: #ed6f3d; }
.ofixo-wpc-warn__head .ofixo-eyebrow span { background: #ed6f3d; }
.ofixo-wpc-warn__head h2 {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1rem;
	line-height: 1.2;
	color: #ffffff;
}
.ofixo-wpc-warn__sub {
	margin: 0;
	color: #d4d4d4;
	font-size: 1rem;
	line-height: 1.55;
}
.ofixo-wpc-warn__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { .ofixo-wpc-warn__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
@media (min-width: 1080px) { .ofixo-wpc-warn__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-wpc-warn-card {
	background: #1f1f1f;
	border: 1px solid #2a2a2a;
	border-radius: 14px;
	padding: 1.5rem 1.65rem;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.ofixo-wpc-warn-card__icon {
	width: 42px;
	height: 42px;
	border-radius: 11px;
	background: rgba(237, 111, 61, 0.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	line-height: 1;
}
.ofixo-wpc-warn-card h3 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.3;
}
.ofixo-wpc-warn-card p {
	margin: 0;
	color: #d4d4d4;
	font-size: 0.94rem;
	line-height: 1.6;
}

/* --- Basement Waterproofing page overrides ------------------------- */
body.ofixo-page-basement-waterproofing .ofixo-wpc-reasons__sub {
	margin: 1rem 0 0;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.55;
	text-align: center;
}
@media (min-width: 720px) {
	body.ofixo-page-basement-waterproofing .ofixo-wpc-reasons__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
body.ofixo-page-basement-waterproofing .ofixo-wpc-reason {
	background: #ffffff !important;
	box-shadow: none !important;
	border: none !important;
}

/* Mtypes (3 methods) — cream section, white cards, 3-col */
body.ofixo-page-basement-waterproofing .ofixo-wpc-mtypes { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-basement-waterproofing .ofixo-wpc-mtype { background: #ffffff !important; }
@media (min-width: 880px) {
	body.ofixo-page-basement-waterproofing .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Prot (Where We Waterproof) — white section, cream cards, 3-col */
body.ofixo-page-basement-waterproofing .ofixo-wpc-prot { background: #ffffff !important; }
body.ofixo-page-basement-waterproofing .ofixo-wpc-prot-card {
	background: var(--wp--preset--color--cream) !important;
}
@media (min-width: 720px) {
	body.ofixo-page-basement-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-basement-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Process — cream section, white step cards, 3-col */
body.ofixo-page-basement-waterproofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-basement-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
}
body.ofixo-page-basement-waterproofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
	border-radius: 14px;
}
@media (min-width: 720px) {
	body.ofixo-page-basement-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-basement-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Signs (Why Ofixotech) — white section, cream cards */
body.ofixo-page-basement-waterproofing .ofixo-wpc-signs { background: #ffffff !important; }
body.ofixo-page-basement-waterproofing .ofixo-wpc-sign {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
}

/* ============================================================
 * BATHROOM WATERPROOFING — page-scoped overrides
 *   .ofixo-wpc-prot — flip to WHITE (bare default is cream), card flips to cream
 *   .ofixo-wpc-process — flip to CREAM (bare has no bg), step cards stay white
 *   Other components use bare defaults:
 *     reasons (cream + white cards), signs (white + cream cards),
 *     anatomy (cream), mtypes (white + cream cards, pills omitted),
 *     faqs (surface), related (white)
 * ============================================================ */

/* Prot — "Every Wet Area" — white wrapper, cream cards, 3-col */
body.ofixo-page-bathroom-waterproofing .ofixo-wpc-prot { background: #ffffff !important; }
body.ofixo-page-bathroom-waterproofing .ofixo-wpc-prot-card {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
}
@media (min-width: 720px) {
	body.ofixo-page-bathroom-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-bathroom-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Process — cream wrapper, white step cards (default), 3x2 */
body.ofixo-page-bathroom-waterproofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-bathroom-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	gap: 1.1rem;
}
body.ofixo-page-bathroom-waterproofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 720px) {
	body.ofixo-page-bathroom-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-bathroom-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ============================================================
 * WATER TANK WATERPROOFING — page-scoped overrides
 *   Rhythm: hero(W) -> stats(DARK) -> about(W) -> reasons(CREAM) ->
 *           materials/mtypes(W) -> cert/warn(DARK) -> services/prot(CREAM) ->
 *           process(W scoped) -> why/signs(CREAM scoped) -> CTA -> faqs -> related(W)
 *
 *   .ofixo-wpc-mtypes — default white + cream cards (4 materials, 2x2 default fits)
 *   .ofixo-wpc-warn — DARK section (3 cert cards, default 3-col fits)
 *   .ofixo-wpc-prot — default cream + white cards (6 services); force 3-col @1080
 *   .ofixo-wpc-process — flip to WHITE, step cards to CREAM
 *   .ofixo-wpc-signs — flip to CREAM, sign cards to WHITE (6 why-ofixotech)
 * ============================================================ */

/* Prot (6 services) — keep default cream + white cards; force 3-col on lg */
@media (min-width: 1080px) {
	body.ofixo-page-water-tank-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Process — white wrapper, cream step cards, 3-col @1080 */
body.ofixo-page-water-tank-waterproofing .ofixo-wpc-process { background: #ffffff !important; }
body.ofixo-page-water-tank-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	gap: 1.1rem;
}
body.ofixo-page-water-tank-waterproofing .ofixo-wpc-step {
	background: var(--wp--preset--color--cream) !important;
	box-shadow: none !important;
}
@media (min-width: 720px) {
	body.ofixo-page-water-tank-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-water-tank-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Signs (Why Ofixotech) — cream section, white cards */
body.ofixo-page-water-tank-waterproofing .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-water-tank-waterproofing .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}

/* Cert section footnote inside warn */
body.ofixo-page-water-tank-waterproofing .ofixo-wpc-warn__footnote {
	margin-top: 1.5rem;
	text-align: center;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.95rem;
}

/* ============================================================
 * Swimming Pool Waterproofing (slug: swimming-pool-waterproofing, post #pool)
 * Rhythm: hero(W) -> stats(DARK) -> about(W) -> reasons(CREAM) ->
 *           shells/mtypes(W) -> detail-areas/signs(CREAM scoped) ->
 *           services/prot(W scoped) -> process(CREAM scoped) ->
 *           why/mtypes(W) -> CTA -> faqs(surface) -> related(W)
 *
 *   .ofixo-wpc-reasons — default cream (4 reasons) — no override
 *   .ofixo-wpc-mtypes  — default white (used for SHELLS w/ pills AND WHY-OFIXOTECH no pills) — no override
 *   .ofixo-wpc-signs   — flip to CREAM, sign cards to WHITE (6 detail-leak areas)
 *   .ofixo-wpc-prot    — flip to WHITE, prot cards to CREAM (6 services); force 3-col @1080
 *   .ofixo-wpc-process — flip to CREAM, step cards to WHITE
 * ============================================================ */

/* Signs (Six Detail Areas Where Pools Leak) — cream section, white cards, 3-col @1080 */
body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Prot (6 services) — flip to WHITE section with CREAM cards, 3-col @1080 */
body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-prot { background: #ffffff !important; }
body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-prot-card {
	background: var(--wp--preset--color--cream) !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Process — cream wrapper, white step cards, 3-col @1080 */
body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	gap: 1.1rem;
}
body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 720px) {
	body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-swimming-pool-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ============================================================
 * Lift Pit Waterproofing (slug: lift-pit-waterproofing)
 * Rhythm: hero(C default) -> stats(DARK) -> about(W) -> reasons(C) ->
 *           tiers/mtypes(W default w/ pills, 3 cards) ->
 *           pit-scope/signs(CREAM scoped, white cards, 3-col @1080) ->
 *           process(W default — surface ol panel + white step cards) ->
 *           b2b/prot(C default, 3 cards, 3-col @1080) ->
 *           why/mtypes(W default, 6 cards) -> CTA ->
 *           faqs(surface) -> related(W default)
 *
 *   .ofixo-wpc-signs   — flip to CREAM, sign cards to WHITE; 3-col @1080
 *   .ofixo-wpc-mtypes (Three Tiers, 3 cards) — 3-col @1080
 *   .ofixo-wpc-prot (B2B, 3 cards) — already cream by default; 3-col @1080
 * ============================================================ */

/* Pit Scope / Signs — cream section, white cards, 3-col @1080 */
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Tiers / Mtypes — 3 cards, force 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-mtypes:not(.ofixo-wpc-mtypes--why) .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* B2B / Prot — 3 cards, force 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Why / Mtypes--why — 6 cards, 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-mtypes--why .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Process — 6 steps, 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* B2B Partners / Prot — flip to dark background, light text, dark cards */
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot {
	background: var(--wp--preset--color--contrast, var(--wp--preset--color--ink, #1c1f24)) !important;
	color: #fff;
}
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot__head h2,
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot-card,
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot-card__title {
	color: #fff;
}
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot__head .ofixo-eyebrow {
	color: var(--wp--preset--color--primary, #e85a2a);
}
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot__sub,
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot-card__body {
	color: rgba(255, 255, 255, 0.78);
}
body.ofixo-page-lift-pit-waterproofing .ofixo-wpc-prot-card {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: none !important;
}

/* ============================================================
 * Foundation Waterproofing (slug: foundation-waterproofing)
 * Rhythm: hero(C default) -> stats(DARK) -> about(W) -> reasons(C) ->
 *           four-foundation-types/mtypes(W default w/ pills, 4 cards) ->
 *           where-we-fit/process(CREAM scoped, white step cards, 5 stages) ->
 *           four-systems/prot(WHITE scoped, cream cards, 4 cards) ->
 *           six-components/signs(CREAM scoped, white cards, 6 cards) ->
 *           why/mtypes--why(W default, 6 cards) -> CTA -> faqs(surface) -> related(W)
 *
 *   .ofixo-wpc-process — flip to CREAM, transparent steps ol, white step cards
 *   .ofixo-wpc-prot    — flip to WHITE, prot cards to CREAM
 *   .ofixo-wpc-signs   — flip to CREAM, sign cards to WHITE
 * ============================================================ */

/* Process — cream wrapper, transparent ol, white step cards, 5-stage grid */
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	gap: 1.1rem;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process__footnote {
	margin-top: 1.5rem;
	text-align: center;
	color: var(--wp--preset--color--muted, #555);
	font-size: 0.95rem;
	font-style: italic;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 720px) {
	body.ofixo-page-foundation-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-foundation-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* PHASES variant — "When Foundation Waterproofing Happens" timeline:
 * dark section, centered head, 5 stacked rows of (numbered circle + pill card),
 * Main Contractor rows muted, Ofixotech rows highlighted orange. */
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases {
	background: var(--wp--preset--color--contrast, var(--wp--preset--color--ink, #1c1f24)) !important;
	color: #fff;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-process__head {
	max-width: 720px;
	margin: 0 auto 2.5rem;
	text-align: center;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-process__head .ofixo-eyebrow {
	justify-content: center;
	color: var(--wp--preset--color--primary, #e85a2a);
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-process__head h2 {
	margin: 0 0 0.75rem;
	color: #fff;
	font-size: clamp(1.7rem, 1.25rem + 1.9vw, 2.3rem);
	line-height: 1.2;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-process__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 1rem;
	line-height: 1.6;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-process__steps {
	list-style: none;
	margin: 0;
	padding: 0 !important;
	background: transparent !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0.85rem;
	counter-reset: none;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step {
	display: grid !important;
	grid-template-columns: auto 1fr;
	align-items: stretch;
	gap: 1rem;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	padding: 0 !important;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.72);
	align-self: center;
	position: static !important;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step--us .ofixo-wpc-step__num {
	background: var(--wp--preset--color--primary, #e85a2a);
	color: #fff;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step__card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	padding: 1rem 1.2rem;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step--us .ofixo-wpc-step__card {
	border: 1.5px solid var(--wp--preset--color--primary, #e85a2a);
	background: rgba(232, 90, 42, 0.04);
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step__row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0 0 0.4rem;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step__title {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.3;
	color: #fff;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step__tag {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.22rem 0.55rem;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.7);
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step--us .ofixo-wpc-step__tag {
	background: var(--wp--preset--color--primary, #e85a2a);
	color: #fff;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step__body {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.92rem;
	line-height: 1.55;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-step__body strong {
	color: #fff;
	font-weight: 700;
}
body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-process__footnote {
	margin-top: 1.75rem;
	text-align: center;
	color: rgba(255, 255, 255, 0.55) !important;
	font-size: 0.92rem;
	font-style: italic;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 720px) {
	body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-process__steps {
		grid-template-columns: 1fr !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-foundation-waterproofing .ofixo-wpc-process--phases .ofixo-wpc-process__steps {
		grid-template-columns: 1fr !important;
	}
}

/* Four Systems / Prot — flip to WHITE section, CREAM cards, 2-col @1080 (4 cards) */
body.ofixo-page-foundation-waterproofing .ofixo-wpc-prot { background: #ffffff !important; }
body.ofixo-page-foundation-waterproofing .ofixo-wpc-prot-card {
	background: var(--wp--preset--color--cream) !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-foundation-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Six Components / Signs — cream section, white cards, 3-col @1080 */
body.ofixo-page-foundation-waterproofing .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-foundation-waterproofing .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-foundation-waterproofing .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Why / Mtypes--why — 6 cards, 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-foundation-waterproofing .ofixo-wpc-mtypes--why .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ============================================================
 * Expansion Joint Waterproofing (slug: expansion-joint-waterproofing)
 * Rhythm: hero(C default) -> stats(DARK) -> about(W) -> reasons(C) ->
 *           four-joint-types/mtypes(W default w/ pills, 4 cards) ->
 *           anatomy/signs(CREAM scoped, white cards, 4 components) ->
 *           locations/prot(WHITE scoped, cream cards, 6 locations) ->
 *           process(CREAM scoped, white step cards, 6 steps) ->
 *           why/mtypes--why(W default, 6 cards) -> CTA -> faqs(surface) -> related(W)
 *
 *   .ofixo-wpc-signs   — flip to CREAM, sign cards to WHITE
 *   .ofixo-wpc-prot    — flip to WHITE, prot cards to CREAM
 *   .ofixo-wpc-process — flip to CREAM, transparent steps ol, white step cards
 * ============================================================ */

/* Joint Types / Mtypes — 4 cards, force 4-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-mtypes:not(.ofixo-wpc-mtypes--why) .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

/* Anatomy / Signs — cream section, white cards, 4-col @1080 */
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

/* Locations / Prot — flip to WHITE section, CREAM cards, 3-col @1080 (6 cards) */
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-prot { background: #ffffff !important; }
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-prot-card {
	background: var(--wp--preset--color--cream) !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Process — cream wrapper, transparent ol, white step cards, 3-col @1080 (6 steps) */
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	gap: 1.1rem;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 720px) {
	body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Why / Mtypes--why — 6 cards, 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-mtypes--why .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ============================================================
 * Live Leakage Injection (slug: live-leakage-injection)
 * Rhythm: hero(C default) -> stats(DARK) -> about(W) -> reasons(C) ->
 *           hydrophilic-vs-hydrophobic/mtypes(W default w/ pills + bullet lists, 2 cards) ->
 *           scenarios/signs(CREAM scoped, white cards, 6 scenarios) ->
 *           buyers/prot(WHITE scoped, cream cards, 4 buyer types) ->
 *           process(CREAM scoped, white step cards, 6 steps) ->
 *           why/mtypes--why(W default, 6 cards) -> CTA -> faqs(surface) -> related(W)
 *
 *   .ofixo-wpc-mtypes (resin comparison) — 2-col @1080 with bullet lists
 *   .ofixo-wpc-signs   — flip to CREAM, sign cards to WHITE
 *   .ofixo-wpc-prot    — flip to WHITE, prot cards to CREAM
 *   .ofixo-wpc-process — flip to CREAM, transparent steps ol, white step cards
 * ============================================================ */

/* Resin comparison / Mtypes — 2 cards, force 2-col @1080 with bullet lists */
body.ofixo-page-live-leakage-injection .ofixo-wpc-mtype__list {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: grid;
	gap: 0.5rem;
}
body.ofixo-page-live-leakage-injection .ofixo-wpc-mtype__list li {
	position: relative;
	padding-left: 1.4rem;
	font-size: 0.95rem;
	line-height: 1.5;
}
body.ofixo-page-live-leakage-injection .ofixo-wpc-mtype__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--wp--preset--color--primary, #e85a2a);
	font-weight: 700;
}
body.ofixo-page-live-leakage-injection .ofixo-wpc-mtypes__footnote {
	margin-top: 1.5rem;
	text-align: center;
	color: var(--wp--preset--color--muted, #555);
	font-size: 0.95rem;
	font-style: italic;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 1080px) {
	body.ofixo-page-live-leakage-injection .ofixo-wpc-mtypes:not(.ofixo-wpc-mtypes--why) .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Scenarios / Signs — cream section, white cards, 3-col @1080 (6 cards) */
body.ofixo-page-live-leakage-injection .ofixo-wpc-signs { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-live-leakage-injection .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-live-leakage-injection .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Buyers / Prot — flip to WHITE section, CREAM cards, 2-col @1080 (4 cards) */
body.ofixo-page-live-leakage-injection .ofixo-wpc-prot { background: #ffffff !important; }
body.ofixo-page-live-leakage-injection .ofixo-wpc-prot-card {
	background: var(--wp--preset--color--cream) !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-live-leakage-injection .ofixo-wpc-prot__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Process — cream wrapper, transparent ol, white step cards, 3-col @1080 (6 steps) */
body.ofixo-page-live-leakage-injection .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-live-leakage-injection .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	gap: 1.1rem;
}
body.ofixo-page-live-leakage-injection .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 720px) {
	body.ofixo-page-live-leakage-injection .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-live-leakage-injection .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Why / Mtypes--why — 6 cards, 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-live-leakage-injection .ofixo-wpc-mtypes--why .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* =========================================================
   CONCRETE CRACK INJECTION — page-scoped overrides
   ========================================================= */

/* Disambiguation (mtypes--disambig) — DARK section, dark cards, 2-col @720+
   "current" card highlighted with primary accent border. Header centered. */
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig {
	background: var(--wp--preset--color--contrast, var(--wp--preset--color--ink, #1c1f24)) !important;
	color: #fff;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtypes__head {
	max-width: 760px;
	margin: 0 auto 2.25rem;
	text-align: center;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtypes__head .ofixo-eyebrow {
	justify-content: center;
	color: var(--wp--preset--color--primary, #e85a2a);
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtypes__head h2 {
	margin: 0 0 0.75rem;
	color: #fff;
	font-size: clamp(1.7rem, 1.25rem + 1.9vw, 2.3rem);
	line-height: 1.2;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtypes__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 1rem;
	line-height: 1.6;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtype {
	background: rgba(255, 255, 255, 0.04) !important;
	box-shadow: none !important;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	padding: 1.4rem 1.4rem 1.2rem;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtype--current {
	border: 1.5px solid var(--wp--preset--color--primary, #e85a2a) !important;
	box-shadow: 0 4px 22px rgba(232, 90, 42, 0.12) !important;
	background: rgba(232, 90, 42, 0.04) !important;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtype__head {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin: 0 0 1rem;
	padding: 0 0 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtype__tag {
	display: inline-block;
	align-self: flex-start;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.22rem 0.6rem;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.72);
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtype__tag--current {
	background: var(--wp--preset--color--primary, #e85a2a);
	color: #fff;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtype__title {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.3;
	color: #fff;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtype__sub {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary, #e85a2a);
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-disambig__dl {
	margin: 0;
	display: grid;
	gap: 0.85rem;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-disambig__dl dt {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--primary, #e85a2a);
	margin: 0;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-disambig__dl dd {
	margin: 0.2rem 0 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.78);
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-disambig__youhere {
	margin-top: auto;
	padding-top: 1rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary, #e85a2a);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-disambig__link {
	margin-top: auto;
	padding-top: 1rem;
	font-size: 0.9rem;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-disambig__link a {
	color: var(--wp--preset--color--primary, #e85a2a);
	font-weight: 600;
	text-decoration: none;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-disambig__link a:hover {
	text-decoration: underline;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtypes__footnote {
	margin-top: 1.75rem;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.92rem;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 720px) {
	body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--disambig .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Process — "Six Steps. Repeatable. Documented." — 6 steps, 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-concrete-crack-injection .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Decision Matrix — 5-scenario table, white section default */
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__head {
	max-width: 820px;
	margin: 0 auto 2rem;
	text-align: center;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__head h2 {
	margin: 0.5rem 0 0.75rem;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__sub {
	color: var(--wp--preset--color--muted, #555);
	font-size: 1rem;
	line-height: 1.55;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__wrap {
	overflow-x: auto;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,0.08);
	background: #ffffff;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
	line-height: 1.5;
	min-width: 920px;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__table thead {
	background: var(--wp--preset--color--cream, #f7f3ee);
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__table th {
	text-align: left;
	padding: 0.95rem 1rem;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--ink, #1c1f24);
	border-bottom: 2px solid rgba(0,0,0,0.08);
	vertical-align: top;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__table td {
	padding: 1.05rem 1rem;
	border-bottom: 1px solid rgba(0,0,0,0.06);
	vertical-align: top;
	color: var(--wp--preset--color--ink, #1c1f24);
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__table tbody tr:last-child td {
	border-bottom: none;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__table tbody tr:nth-child(even) td {
	background: rgba(247, 243, 238, 0.5);
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__meta {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted, #666);
	font-weight: 400;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__footnote {
	margin: 1.5rem auto 0;
	text-align: center;
	color: var(--wp--preset--color--muted, #555);
	font-size: 0.95rem;
	font-style: italic;
	max-width: 820px;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-matrix__footnote a {
	color: var(--wp--preset--color--primary, #e85a2a);
	font-weight: 600;
}

/* Applications (signs--apps) — CREAM section, WHITE cards, 4-col @1080 (8 cards = 2 rows of 4) */
body.ofixo-page-concrete-crack-injection .ofixo-wpc-signs--apps {
	background: var(--wp--preset--color--cream) !important;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-signs--apps .ofixo-wpc-sign {
	background: #ffffff !important;
	box-shadow: none !important;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-sign__meta {
	margin: 0.6rem 0 0;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary, #e85a2a);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
@media (min-width: 720px) {
	body.ofixo-page-concrete-crack-injection .ofixo-wpc-signs--apps .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-concrete-crack-injection .ofixo-wpc-signs--apps .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

/* Why / Mtypes--why — CREAM section, WHITE cards, 6 cards, 3-col @1080 */
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--why {
	background: var(--wp--preset--color--cream) !important;
}
body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--why .ofixo-wpc-mtype {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 1080px) {
	body.ofixo-page-concrete-crack-injection .ofixo-wpc-mtypes--why .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* =========================================================
   PU INJECTION — page-scoped overrides
   ========================================================= */

/* Applications — signs default white, 3-col @1080 (6 cards) */
@media (min-width: 1080px) {
	body.ofixo-page-pu-injection .ofixo-wpc-signs--apps .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Spec Sheet — DARK section, dark table with orange headers */
body.ofixo-page-pu-injection .ofixo-wpc-specsheet {
	background: var(--wp--preset--color--contrast, var(--wp--preset--color--ink, #1c1f24)) !important;
	color: #fff;
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__head {
	max-width: 820px;
	margin: 0 auto 2rem;
	text-align: center;
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__head h2 {
	margin: 0.5rem 0 0.75rem;
	color: #fff;
	font-size: clamp(1.7rem, 1.25rem + 1.9vw, 2.3rem);
	line-height: 1.2;
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__head .ofixo-eyebrow {
	justify-content: center;
	color: var(--wp--preset--color--primary, #e85a2a);
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__sub {
	color: rgba(255, 255, 255, 0.72);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__wrap {
	overflow-x: auto;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.02);
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.94rem;
	line-height: 1.5;
	min-width: 760px;
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__table thead {
	background: rgba(255, 255, 255, 0.03);
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__table th {
	text-align: left;
	padding: 0.95rem 1rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--primary, #e85a2a);
	vertical-align: top;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__table td {
	padding: 0.95rem 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	vertical-align: top;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__table tbody tr:last-child td {
	border-bottom: none;
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__table tbody tr:nth-child(even) td {
	background: rgba(255, 255, 255, 0.02);
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__table td:first-child {
	font-weight: 600;
	white-space: nowrap;
	color: #fff;
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__table td:last-child {
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-pu-injection .ofixo-wpc-specsheet__footnote {
	margin: 1.75rem auto 0;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.92rem;
	max-width: 820px;
}

/* Product Families (mtypes--families) — WHITE section default, 2-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-pu-injection .ofixo-wpc-mtypes--families .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Process — flipped to CREAM, transparent ol, white step cards, 3-col @1080 (6 steps) */
body.ofixo-page-pu-injection .ofixo-wpc-process { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-pu-injection .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	gap: 1.1rem;
}
body.ofixo-page-pu-injection .ofixo-wpc-step {
	background: #ffffff !important;
	box-shadow: none !important;
}
@media (min-width: 720px) {
	body.ofixo-page-pu-injection .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-pu-injection .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Why / Mtypes--why — 6 cards, 3-col @1080 (white section default) */
@media (min-width: 1080px) {
	body.ofixo-page-pu-injection .ofixo-wpc-mtypes--why .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ========================================================================
 * GRP LINING — page-scoped overrides (body.ofixo-page-grp-lining)
 * Rhythm: hero(C) → stats(D) → about(W) → reasons(C) → apps(W) →
 *         laminate(C) → resins(W) → process(C-flipped) → why(W) → cta → faq(S) → related(W)
 * ====================================================================== */

/* APPS — 6 cards laid out 2-col @720 then 3-col @1080 */
@media (min-width: 1080px) {
	body.ofixo-page-grp-lining .ofixo-wpc-signs--apps .ofixo-wpc-signs__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* LAMINATE ANATOMY — split layout: 4 numbered points on left, cross-section diagram aside on right */
body.ofixo-page-grp-lining .ofixo-wpc-laminate {
	background: var(--wp--preset--color--cream) !important;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__head {
	max-width: 820px;
	margin: 0 auto 2.5rem;
	text-align: center;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__head h2 {
	margin: 0 0 0.75rem;
	font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.2rem);
	line-height: 1.2;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__sub {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__grid {
	display: grid;
	gap: 2rem;
	align-items: start;
}
@media (min-width: 1080px) {
	body.ofixo-page-grp-lining .ofixo-wpc-laminate__grid {
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem;
	}
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.25rem;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__points > li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 12px;
	padding: 1.1rem 1.2rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary, #e85a2a);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__points h3 {
	margin: 0 0 0.45rem;
	font-size: 1.05rem;
	line-height: 1.3;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__points p {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.75);
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__diagram {
	background: var(--wp--preset--color--ink, #1c1f24);
	color: #fff;
	border-radius: 14px;
	padding: 1.5rem 1.4rem;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__legend {
	margin: 0 0 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #e85a2a);
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__title {
	margin: 0 0 1.1rem;
	font-size: 1.1rem;
	line-height: 1.3;
	color: #fff;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__layers {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	gap: 0.4rem;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__layer {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	padding: 0.7rem 0.9rem;
	font-size: 0.88rem;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__layer em {
	font-style: normal;
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.82rem;
	margin-left: 0.25rem;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__layer-tag {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	white-space: nowrap;
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__layer--star {
	background: var(--wp--preset--color--primary, #e85a2a);
	border-color: var(--wp--preset--color--primary, #e85a2a);
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__layer--star em,
body.ofixo-page-grp-lining .ofixo-wpc-laminate__layer--star .ofixo-wpc-laminate__layer-tag {
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-grp-lining .ofixo-wpc-laminate__note {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.65);
}

/* RESINS — mtypes--resins, 3 cards, 3-col @1080 with a tag chip on each card */
@media (min-width: 1080px) {
	body.ofixo-page-grp-lining .ofixo-wpc-mtypes--resins .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}
body.ofixo-page-grp-lining .ofixo-wpc-mtypes--resins .ofixo-wpc-mtype__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
	text-align: left;
}
body.ofixo-page-grp-lining .ofixo-wpc-mtypes--resins .ofixo-wpc-mtype__title {
	align-self: flex-start;
	text-align: left;
	justify-content: flex-start;
}
body.ofixo-page-grp-lining .ofixo-wpc-mtypes--resins .ofixo-wpc-mtype__tag {
	display: inline-block;
	align-self: flex-start;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #e85a2a);
	background: rgba(232, 90, 42, 0.1);
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
}
body.ofixo-page-grp-lining .ofixo-wpc-mtypes--resins .ofixo-wpc-mtype__pill {
	display: inline-block;
	align-self: flex-start;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.6);
	border: 1px solid rgba(0, 0, 0, 0.12);
	padding: 0.25rem 0.55rem;
	border-radius: 6px;
}

/* PROCESS — flipped to cream, white step cards, 2-col @720 → 3-col @1080 */
body.ofixo-page-grp-lining .ofixo-wpc-process {
	background: var(--wp--preset--color--cream) !important;
}
body.ofixo-page-grp-lining .ofixo-wpc-process__steps {
	background: transparent !important;
}
body.ofixo-page-grp-lining .ofixo-wpc-process .ofixo-wpc-step {
	background: #fff !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
}
@media (min-width: 1080px) {
	body.ofixo-page-grp-lining .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* WHY / Mtypes--why — 6 cards, 3-col @1080 (white section default) */
@media (min-width: 1080px) {
	body.ofixo-page-grp-lining .ofixo-wpc-mtypes--why .ofixo-wpc-mtypes__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ========================================================================
 * EXPANSION JOINT — "Anatomy of a Properly Sealed Expansion Joint"
 * Cream-background split: header + 4 numbered points on left,
 * white diagram card on right showing the joint cross-section.
 * ====================================================================== */
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy {
	background: var(--wp--preset--color--cream) !important;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__grid {
	display: grid;
	gap: 2.25rem;
	align-items: start;
}
@media (min-width: 960px) {
	body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__grid {
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem;
	}
}

/* Left column — header then numbered points */
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__head {
	margin: 0 0 1.5rem;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__head h2 {
	margin: 0 0 0.75rem;
	font-size: clamp(1.7rem, 1.2rem + 2vw, 2.4rem);
	line-height: 1.15;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__sub {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.65);
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.4rem;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__points > li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.1rem;
	align-items: start;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__num {
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--primary, #e85a2a);
	min-width: 2.6rem;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__points h3 {
	margin: 0 0 0.35rem;
	font-size: 1.05rem;
	line-height: 1.3;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__points p {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
}

/* Right column — white card with eyebrow + title + CSS diagram */
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__card {
	background: #fff;
	border-radius: 14px;
	padding: 1.5rem 1.4rem;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__card .ofixo-eyebrow {
	margin-bottom: 0.5rem;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__card-title {
	margin: 0 0 1.2rem;
	font-size: 1.2rem;
	line-height: 1.3;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__caption {
	margin: 1rem 0 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
}

/* DIAGRAM — plan-view joint cross-section */
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__diagram {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: stretch;
	gap: 0;
	border-radius: 10px;
	overflow: hidden;
	min-height: 280px;
	background: #d8cfc5;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__concrete {
	background: #d8cfc5;
	color: rgba(0, 0, 0, 0.55);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 1rem;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__concrete--left {
	justify-content: flex-end;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__concrete--right {
	justify-content: flex-start;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__arrow {
	font-size: 1.4rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__joint {
	min-width: 130px;
	background: #f1ebe2;
	display: grid;
	grid-template-rows: auto auto auto auto;
	gap: 0.55rem;
	padding: 0.85rem 0.5rem 1rem;
	position: relative;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__joint-width {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.6);
	text-align: center;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__sealant {
	background: var(--wp--preset--color--primary, #e85a2a);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 0.95rem 0.4rem;
	border-radius: 4px;
	text-align: center;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__backer {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	margin: 0.4rem auto 0;
	border-radius: 50%;
	background: #6a8aa5;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.1;
	padding: 0.3rem;
}
body.ofixo-page-expansion-joint-waterproofing .ofixo-wpc-anatomy__tape {
	background: #f1c14a;
	border-radius: 4px;
	padding: 0.35rem 0.4rem;
	text-align: center;
	font-size: 0.7rem;
	font-weight: 700;
	color: rgba(0, 0, 0, 0.8);
	margin-top: 0.35rem;
}

/* =================================================================
   CONCRETE RESTORATION BATCH — Hub, Crack Repair, Spalling Repair,
   Carbonation & Corrosion Protection, Concrete Resurfacing.
   Scoped per-page via body.ofixo-page-{slug} per house rules.
   ================================================================= */

/* ---------- Shared section rhythm + hero copy + stats + about ---------- */
body.ofixo-page-concrete-restoration .ofixo-wpc-hero,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero {
	color: #fff;
	position: relative;
}
/* All 5 concrete pages now use the hub-style hero (cream bg) — see hub-style block below.
   The dark-hero override is no longer needed for any of them. */
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__grid,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__grid,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__grid,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__grid,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__grid {
	display: grid;
	gap: 2.5rem;
	align-items: center;
	grid-template-columns: 1fr;
}
@media (min-width: 960px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-hero__grid,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__grid,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__grid,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__grid,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__grid {
		grid-template-columns: 1.15fr 1fr;
		gap: 3.5rem;
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__copy h1,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__copy h1,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__copy h1,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__copy h1,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__copy h1 {
	font-size: clamp(2rem, 3.6vw, 3.1rem);
	line-height: 1.12;
	margin: 0.4rem 0 1.1rem;
	color: #fff;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__lede,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__lede,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__lede,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__lede,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__lede {
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.84);
	margin: 0 0 1.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__ctas,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__ctas,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__ctas,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__ctas,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__meta,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__meta,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__meta,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__meta,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__meta {
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__media,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__media,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__media,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__media,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__media {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.04);
	min-height: 280px;
	aspect-ratio: 4 / 3;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__media img,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__media img,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__media img,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__media img,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero--with-image .ofixo-wpc-hero__badge,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero--with-image .ofixo-wpc-hero__badge,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero--with-image .ofixo-wpc-hero__badge,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero--with-image .ofixo-wpc-hero__badge,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero--with-image .ofixo-wpc-hero__badge {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	background: var(--wp--preset--color--accent, #ff6a3d);
	color: #fff;
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}

/* Stats strip — dark continuous band */
body.ofixo-page-concrete-restoration .ofixo-wpc-stats,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-stats,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-stats,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-stats {
	color: #fff;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 1.75rem 1.25rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-stats__grid,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__grid,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-stats__grid,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-stats__grid,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-stats__grid {
	max-width: var(--wp--style--global--wide-size, 1240px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	text-align: center;
}
@media (min-width: 640px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-stats__grid,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__grid,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-stats__grid,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-stats__grid,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-stats__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-stats__grid,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__grid,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-stats__grid,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-stats__grid,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-stats__grid {
		grid-template-columns: repeat(5, 1fr);
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-stats__item,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__item,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-stats__item,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-stats__item,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-stats__item {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.25rem 0.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-stats__value,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__value,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-stats__value,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-stats__value,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-stats__value {
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--wp--preset--color--accent, #ff6a3d);
	letter-spacing: 0.01em;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-stats__label,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__label,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-stats__label,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-stats__label,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-stats__label {
	font-weight: 700;
	color: #fff;
	font-size: 0.92rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-stats__sub,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__sub,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-stats__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-stats__sub,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-stats__sub {
	font-size: 0.74rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

/* About — white-bg split section */
body.ofixo-page-concrete-restoration .ofixo-wpc-about,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-about,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-about,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-about,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-about {
	background: #ffffff;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-about__head h2,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-about__head h2,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-about__head h2,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-about__head h2,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-about__head h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	line-height: 1.15;
	margin: 0.4rem 0 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-about__body p,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-about__body p,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-about__body p,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-about__body p,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-about__body p {
	font-size: 1.02rem;
	line-height: 1.65;
	color: rgba(0, 0, 0, 0.78);
	margin: 0 0 1rem;
}

/* ---------- Failures block (4 cards 2-col) ---------- */
body.ofixo-page-concrete-restoration .ofixo-wpc-failures,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures {
	background: var(--wp--preset--color--cream, #f5efe6);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__head,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__head,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__head,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__head,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__head .ofixo-eyebrow,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__head .ofixo-eyebrow,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__head .ofixo-eyebrow,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__head .ofixo-eyebrow,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__head h2,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__head h2,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__head h2,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__head h2,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	margin: 0.4rem 0 0.8rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__sub,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__sub,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__sub,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__sub {
	font-size: 1rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__grid,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__grid,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__grid,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__grid,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 820px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-failures__grid--2col,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__grid--2col,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__grid--2col,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__grid--2col,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__grid--2col {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__card,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__card,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__card,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__card,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__card {
	background: #ffffff;
	border-radius: 12px;
	padding: 1.65rem 1.5rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.04);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__icon,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__icon,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__icon,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__icon,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__icon {
	display: inline-flex;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 10px;
	background: rgba(255, 106, 61, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.4rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__card h3,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__card h3,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__card h3,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__card h3,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__card h3 {
	font-size: 1.15rem;
	margin: 0 0 0.55rem;
	color: rgba(0, 0, 0, 0.86);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__card p,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__card p,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-failures__card p,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-failures__card p,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-failures__card p {
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* ---------- Mtypes (system cards with tags) ---------- */
body.ofixo-page-concrete-restoration .ofixo-wpc-mtypes,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtypes,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtypes,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes {
	background: #ffffff;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtypes__head,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__head,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtypes__head,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtypes__head,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__head {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtypes__head .ofixo-eyebrow,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__head .ofixo-eyebrow,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtypes__head .ofixo-eyebrow,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtypes__head .ofixo-eyebrow,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtypes__head h2,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__head h2,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtypes__head h2,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtypes__head h2,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__head h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	margin: 0.4rem 0 0.8rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtypes__sub,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__sub,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtypes__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtypes__sub,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__sub {
	font-size: 1rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtypes__grid--2col,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__grid--2col,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtypes__grid--2col,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtypes__grid--2col,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__grid--2col {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 820px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-mtypes__grid--2col,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__grid--2col,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtypes__grid--2col,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtypes__grid--2col,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__grid--2col {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__grid--6 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 720px) { body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__grid--6 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtypes__grid--6 { grid-template-columns: repeat(3, 1fr); } }

body.ofixo-page-concrete-restoration .ofixo-wpc-mtype,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtype,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtype,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtype {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 14px;
	padding: 1.75rem 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtype__tag,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__tag,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtype__tag,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtype__tag,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtype__tag {
	align-self: flex-start;
	background: rgba(255, 106, 61, 0.14);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.3rem 0.6rem;
	border-radius: 999px;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtype__title,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__title,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtype__title,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtype__title,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtype__title {
	font-size: 1.15rem;
	margin: 0.15rem 0 0.05rem;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtype__icon,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__icon,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtype__icon,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtype__icon,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtype__icon {
	font-size: 1.4rem;
	line-height: 1;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtype__sub,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__sub,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtype__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtype__sub,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtype__sub {
	font-size: 0.78rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0 0 0.4rem;
	font-weight: 600;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtype p,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype p,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtype p,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtype p,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtype p {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtype__when,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__when,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtype__when,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtype__when,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtype__when {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.6rem;
	margin-top: 0.4rem !important;
	font-size: 0.88rem !important;
	color: rgba(0, 0, 0, 0.78) !important;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-mtype__when strong,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__when strong,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-mtype__when strong,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-mtype__when strong,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-mtype__when strong {
	color: var(--wp--preset--color--accent, #ff6a3d);
}

/* ---------- Process steps (3-col grid, cards) ---------- */
/* Spalling 6-step uses CREAM section + WHITE cards.
   Use section.X selectors + .has-contrast-background-color for higher specificity
   to beat the WP block colour preset that the creator emits ('contrast' bg attr). */
body.ofixo-page-concrete-restoration .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section),
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section),
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) {
	background: var(--wp--preset--color--cream, #f5efe6) !important;
}
body.ofixo-page-concrete-spalling-repair section.ofixo-wpc-process:not(.ofixo-wpc-process--phases-section),
body.ofixo-page-concrete-spalling-repair section.ofixo-wpc-process.has-contrast-background-color:not(.ofixo-wpc-process--phases-section),
body.ofixo-page-concrete-spalling-repair section.ofixo-wpc-process.has-background:not(.ofixo-wpc-process--phases-section),
body.ofixo-page-carbonation-corrosion-protection section.ofixo-wpc-process:not(.ofixo-wpc-process--phases-section),
body.ofixo-page-carbonation-corrosion-protection section.ofixo-wpc-process.has-contrast-background-color:not(.ofixo-wpc-process--phases-section),
body.ofixo-page-carbonation-corrosion-protection section.ofixo-wpc-process.has-background:not(.ofixo-wpc-process--phases-section) {
	background: var(--wp--preset--color--cream, #f5efe6) !important;
	background-color: var(--wp--preset--color--cream, #f5efe6) !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__steps,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__steps--3col,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__steps,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__steps--3col {
	background: transparent !important;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__head,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__head,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process__head,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process__head,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__head {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__head .ofixo-eyebrow,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__head .ofixo-eyebrow,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process__head .ofixo-eyebrow,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process__head .ofixo-eyebrow,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__head h2,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__head h2,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process__head h2,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__head h2,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__head h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	margin: 0.4rem 0 0.8rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__sub,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__sub,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__sub,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__sub {
	font-size: 1rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__steps--3col,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__steps--3col,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process__steps--3col,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process__steps--3col,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__steps--3col {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-process__steps--3col,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__steps--3col,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process__steps--3col,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process__steps--3col,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__steps--3col {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-process__steps--3col,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__steps--3col,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process__steps--3col,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process__steps--3col,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__steps--3col {
		grid-template-columns: repeat(3, 1fr);
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__step,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__step,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__step,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__step,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__step {
	background: #ffffff !important;
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__num,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__num,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process__num,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process__num,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__num {
	display: inline-flex;
	width: 2.3rem;
	height: 2.3rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent, #ff6a3d);
	color: #fff;
	font-weight: 800;
	font-size: 0.85rem;
	align-items: center;
	justify-content: center;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__step h3,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__step h3,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__step h3,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__step h3,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__step h3 {
	font-size: 1.08rem;
	margin: 0.1rem 0 0.25rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__step p,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__step p,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__step p,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process:not(.ofixo-wpc-process--phases-section) .ofixo-wpc-process__step p,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-process__step p {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* ---------- Process --phases (originally dark, both pages now flipped to white/cream below) ---------- */
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section {
	color: rgba(0, 0, 0, 0.78);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section .ofixo-wpc-process__head h2,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section .ofixo-wpc-process__head h2 {
	color: #fff;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section .ofixo-wpc-process__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section .ofixo-wpc-process__sub {
	color: rgba(255, 255, 255, 0.78);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	max-width: 940px;
	margin-left: auto;
	margin-right: auto;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__step,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	padding: 1.5rem 1.6rem;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.1rem;
	align-items: start;
	position: relative;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__num,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__num {
	width: 2.6rem;
	height: 2.6rem;
	font-size: 0.95rem;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__body,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__tag,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__tag {
	align-self: flex-start;
	background: rgba(255, 106, 61, 0.18);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.28rem 0.6rem;
	border-radius: 999px;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__tag--urgent,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__tag--urgent {
	background: rgba(220, 60, 60, 0.22);
	color: #ff7a7a;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__body h3,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__body h3 {
	font-size: 1.18rem;
	margin: 0.15rem 0 0.1rem;
	color: #fff;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__body p,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__body p {
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
	margin: 0;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__payoff,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__payoff {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 0.55rem;
	margin-top: 0.35rem !important;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 0.92rem !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__payoff strong,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__payoff strong {
	color: var(--wp--preset--color--accent, #ff6a3d);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section .ofixo-wpc-process__footnote,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section .ofixo-wpc-process__footnote {
	margin-top: 1.5rem;
	text-align: center;
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.6);
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

/* =================================================================
   SPALLING-ONLY: Phases timeline on WHITE with CREAM cards
   (Carbonation keeps the DARK lifecycle treatment per user's screenshot — see below.)
   ================================================================= */
body.ofixo-page-concrete-spalling-repair section.ofixo-wpc-process--phases-section,
body.ofixo-page-concrete-spalling-repair section.ofixo-wpc-process--phases-section.has-contrast-background-color,
body.ofixo-page-concrete-spalling-repair section.ofixo-wpc-process--phases-section.has-background {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: rgba(0, 0, 0, 0.78) !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section .ofixo-wpc-process__steps,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section .ofixo-wpc-process--phases {
	background: transparent !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section .ofixo-wpc-process__head h2 {
	color: rgba(0, 0, 0, 0.92) !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section .ofixo-wpc-process__sub {
	color: rgba(0, 0, 0, 0.68) !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases {
	grid-template-columns: 1fr;
}
@media (min-width: 880px) {
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__step {
	background: var(--wp--preset--color--cream, #f5efe6) !important;
	border: 1px solid rgba(0, 0, 0, 0.06) !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__num {
	background: rgba(0, 0, 0, 0.88);
	color: #ffffff;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__body h3 {
	color: rgba(0, 0, 0, 0.92) !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__body p {
	color: rgba(0, 0, 0, 0.72) !important;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases-section .ofixo-wpc-process__footnote {
	color: rgba(0, 0, 0, 0.6) !important;
}

/* =================================================================
   CARBONATION-ONLY: Lifecycle phases on DARK with color-coded num badges
   (Per user's target screenshot — green / yellow / orange / dark-red ramp
   for the 4 lifecycle phases 1→4.)
   Hardcoded hex (no CSS var) so the dark bg is guaranteed regardless of
   how the theme's contrast token resolves. Also force dark on the inner
   ol/list so no stray bg leaks through.
   ================================================================= */
body.ofixo-page-carbonation-corrosion-protection section.ofixo-wpc-process--phases-section,
body.ofixo-page-carbonation-corrosion-protection section.ofixo-wpc-process--phases-section.has-contrast-background-color,
body.ofixo-page-carbonation-corrosion-protection section.ofixo-wpc-process--phases-section.has-background {
	background: #1a1410 !important;
	background-color: #1a1410 !important;
	color: rgba(255, 255, 255, 0.84) !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section .ofixo-wpc-process__steps,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section .ofixo-wpc-process--phases {
	background: transparent !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section .ofixo-wpc-process__head h2 {
	color: #ffffff !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section .ofixo-wpc-process__sub {
	color: rgba(255, 255, 255, 0.7) !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases {
	grid-template-columns: 1fr;
}
@media (min-width: 880px) {
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step {
	background: rgba(255, 255, 255, 0.04) !important;
	background-color: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 14px;
	padding: 1.6rem 1.6rem;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem 1.1rem;
	align-items: start;
	color: rgba(255, 255, 255, 0.85) !important;
}
/* Force visible white text on every inner element so nothing inherits dark from
   the old shared rules above. */
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step h3,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step p,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step span,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step div {
	color: rgba(255, 255, 255, 0.85) !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step h3 {
	font-size: 1.18rem !important;
	color: #ffffff !important;
	margin: 0.1rem 0 0.35rem !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step p:not(.ofixo-wpc-process__payoff) {
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
	color: rgba(255, 255, 255, 0.72) !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__body {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
/* Orange "PHASE N" eyebrow above the title */
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__phase {
	color: var(--wp--preset--color--accent, #ff6a3d) !important;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0;
	line-height: 1;
}
/* Color-coded numbered badges per phase severity */
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step:nth-child(1) .ofixo-wpc-process__num {
	background: #4caf6e !important;
	color: #ffffff !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step:nth-child(2) .ofixo-wpc-process__num {
	background: #e8b73a !important;
	color: #ffffff !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step:nth-child(3) .ofixo-wpc-process__num {
	background: var(--wp--preset--color--accent, #ff6a3d) !important;
	color: #ffffff !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__step:nth-child(4) .ofixo-wpc-process__num {
	background: #d34028 !important;
	color: #ffffff !important;
}
/* Phase tag (orange caps eyebrow above title): use accent colour */
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__body h3 {
	color: #ffffff !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__body p {
	color: rgba(255, 255, 255, 0.72) !important;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases-section .ofixo-wpc-process__footnote {
	color: rgba(255, 255, 255, 0.55) !important;
}

/* __row paragraphs inside spalling's phases (Visible: / Cause: / Repair Scope:) */
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__row {
	font-size: 0.92rem !important;
	line-height: 1.55 !important;
	color: rgba(0, 0, 0, 0.72) !important;
	margin: 0.5rem 0 0 !important;
	padding-left: 0;
	border-left: none;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__row strong {
	display: block;
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 0.25rem;
}

/* Carbonation __payoff: divider line + white payoff text with orange "PAYOFF" label */
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__payoff {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding-top: 0.75rem !important;
	margin-top: 0.85rem !important;
	color: #ffffff !important;
	font-weight: 700;
}
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__payoff strong {
	display: block;
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 0.3rem;
	font-weight: 700;
}
/* Phase tag pill (BUILDING HANDOVER, YEARS 10-20, etc.) — grey pill on dark */
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__tag {
	background: rgba(255, 255, 255, 0.08) !important;
	color: rgba(255, 255, 255, 0.78) !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.7rem;
	font-weight: 700;
	padding: 0.32rem 0.7rem;
	border-radius: 999px;
	display: inline-flex;
	align-self: flex-start;
}
/* Spalling urgent tag stays dark-red on light-red (cream/white card context). */
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-process--phases .ofixo-wpc-process__tag--urgent {
	background: rgba(220, 60, 60, 0.18) !important;
	color: #c43030 !important;
}
/* Carbonation urgent tag — darker red on dark card */
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-process--phases .ofixo-wpc-process__tag--urgent {
	background: rgba(220, 60, 60, 0.22) !important;
	color: #ff7a7a !important;
}

/* ---------- Reasons (6 cards, 3-col grid) ----------
   Per user's section rhythm fix for spalling / carbonation / resurfacing:
   Reasons on WHITE bg with CREAM cards (inverted from section).
   Override the global ".ofixo-wpc-reasons { background: cream !important }". */
body.ofixo-page-concrete-restoration .ofixo-wpc-reasons,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons {
	background: var(--wp--preset--color--cream, #f5efe6);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons {
	background: #ffffff !important;
}
/* Cards inverted: cream on white */
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__card,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__card,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__card {
	background: var(--wp--preset--color--cream, #f5efe6) !important;
	border-color: rgba(0, 0, 0, 0.06);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__head,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__head,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__head,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__head,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__head {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__sub,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__sub,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__sub,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__sub {
	font-size: 1rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__grid,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__grid,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__grid,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__grid,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__grid,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__grid,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__grid,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__grid,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__grid,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__grid,
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__grid,
	body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__grid,
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__card,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__card,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__card,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__card,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__card {
	background: #ffffff;
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.04);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__icon,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__icon,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__icon,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__icon,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__icon {
	display: inline-flex;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 8px;
	background: rgba(255, 106, 61, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.3rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.85rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__card h3,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__card h3,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__card h3,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__card h3,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__card h3 {
	font-size: 1.08rem;
	margin: 0 0 0.45rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reasons__card p,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reasons__card p,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-reasons__card p,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-reasons__card p,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-reasons__card p {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* ---------- FAQs section ---------- */
body.ofixo-page-concrete-restoration .ofixo-wpc-faqs,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-faqs,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-faqs,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-faqs,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-faqs {
	background: var(--wp--preset--color--surface, #f4f5f7) !important;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-faqs__head,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-faqs__head,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-faqs__head,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-faqs__head,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-faqs__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-faqs__sub,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-faqs__sub,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-faqs__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-faqs__sub,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-faqs__sub {
	font-size: 1rem;
	color: rgba(0, 0, 0, 0.65);
	margin: 0;
}

/* ---------- Related (4-card grid uses global rule) ---------- */
body.ofixo-page-concrete-restoration .ofixo-wpc-related,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-related,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-related,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-related,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-related {
	background: #ffffff;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-related__head,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-related__head,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-related__head,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-related__head,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-related__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-related__sub,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-related__sub,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-related__sub,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-related__sub,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-related__sub {
	font-size: 1rem;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* ---------- Footer CTA ---------- */
body.ofixo-page-concrete-restoration .ofixo-wpc-footer-cta,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-footer-cta,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-footer-cta,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-footer-cta,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-footer-cta {
	color: #fff;
	text-align: center;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-footer-cta__inner,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-footer-cta__inner,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-footer-cta__inner,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-footer-cta__inner,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-footer-cta__inner {
	max-width: 820px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-footer-cta__inner .ofixo-eyebrow,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-footer-cta__inner .ofixo-eyebrow,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-footer-cta__inner .ofixo-eyebrow,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-footer-cta__inner .ofixo-eyebrow,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-footer-cta__inner .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.7);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-footer-cta__inner h2,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-footer-cta__inner h2,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-footer-cta__inner h2,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-footer-cta__inner h2,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-footer-cta__inner h2 {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	margin: 0.2rem 0 0.4rem;
	color: #fff;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-footer-cta__lede,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-footer-cta__lede,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-footer-cta__lede,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-footer-cta__lede,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-footer-cta__lede {
	font-size: 1.02rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
	margin: 0 0 1rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-footer-cta__ctas,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-footer-cta__ctas,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-footer-cta__ctas,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-footer-cta__ctas,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-footer-cta__ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-footer-cta__meta,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-footer-cta__meta,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-footer-cta__meta,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-footer-cta__meta,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-footer-cta__meta {
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	margin: 0;
}

/* =================================================================
   CONCRETE RESURFACING — Disambiguation block (Resurfacing vs Coating)
   ================================================================= */
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig {
	color: #fff;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__head {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__head .ofixo-eyebrow { justify-content: center; color: rgba(255, 255, 255, 0.65); }
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__head h2 {
	font-size: clamp(1.6rem, 2.5vw, 2.2rem);
	color: #fff;
	margin: 0.4rem 0 0.7rem;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__sub {
	font-size: 1rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
	margin: 0;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	max-width: 1100px;
	margin: 0 auto;
}
@media (min-width: 880px) {
	body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__grid { grid-template-columns: repeat(2, 1fr); }
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__card {
	border-radius: 16px;
	padding: 1.85rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__card--this {
	background: var(--wp--preset--color--accent, #ff6a3d);
	color: #fff;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__card--other {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.88);
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0;
	opacity: 0.85;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__card h3 {
	font-size: 1.35rem;
	margin: 0.1rem 0 0.15rem;
	color: inherit;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__icon {
	font-size: 1.5rem;
	line-height: 1;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__meta {
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.78;
	margin: 0 0 0.6rem;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__card p {
	font-size: 0.95rem;
	line-height: 1.55;
	margin: 0;
	color: inherit;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__usewhen {
	margin: 0.85rem 0 0.25rem !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.85;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__list {
	list-style: none;
	padding: 0;
	margin: 0 0 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__list li {
	font-size: 0.92rem;
	line-height: 1.5;
	padding-left: 1.25rem;
	position: relative;
	color: inherit;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
	opacity: 0.85;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__link {
	display: inline-block;
	margin-top: 0.6rem;
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	font-size: 0.92rem;
}
body.ofixo-page-concrete-resurfacing .ofixo-wpc-disambig__footnote {
	text-align: center;
	max-width: 880px;
	margin: 1.75rem auto 0;
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.55;
}

/* =================================================================
   CONCRETE SPALLING REPAIR — Anatomy patch cross-section diagram
   Section sits on DARK contrast (per user's target screenshot).
   Override the global ".ofixo-wpc-anatomy { background: cream !important }".
   ================================================================= */
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy {
	background: var(--wp--preset--color--contrast, #1a1410) !important;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__head {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__head .ofixo-eyebrow { justify-content: center; }
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__head h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	margin: 0.4rem 0 0.8rem;
	color: #ffffff;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__sub {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.72);
	margin: 0;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	align-items: start;
}
@media (min-width: 960px) {
	body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__grid {
		grid-template-columns: 1fr 1fr;
		gap: 3rem;
	}
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__points {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__points > li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	align-items: start;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__num {
	display: inline-flex;
	width: auto;
	height: auto;
	min-width: 1.8rem;
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-weight: 800;
	font-size: 1.05rem;
	letter-spacing: 0.02em;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__points h3 {
	font-size: 1.08rem;
	margin: 0.15rem 0 0.25rem;
	color: #ffffff;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__points p {
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.55;
	margin: 0;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__card {
	background: rgba(255, 255, 255, 0.04);
	border-radius: 14px;
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__card .ofixo-eyebrow {
	font-size: 0.72rem;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__card-title {
	font-size: 1.1rem;
	margin: 0.25rem 0 0.5rem;
	color: #ffffff;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__caption {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.6);
	margin: 0.85rem 0 0;
	line-height: 1.5;
}
/* Patch cross-section diagram — stays light so the concrete pattern reads */
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__diagram--patch {
	background: rgba(255, 255, 255, 0.92);
	border-radius: 10px;
	padding: 1.25rem;
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: 0.5rem;
	min-height: 320px;
	border: 1px dashed rgba(255, 255, 255, 0.18);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__axis--top,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__axis--bottom {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.5);
	text-align: center;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__patch-frame {
	border: 2px solid rgba(0, 0, 0, 0.15);
	border-radius: 6px;
	display: grid;
	grid-template-rows: 1fr 1fr;
	overflow: hidden;
	position: relative;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__patch-layer {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 1rem;
	text-align: center;
	color: rgba(0, 0, 0, 0.7);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__patch-layer--sound {
	background: repeating-linear-gradient(
		135deg,
		#e8e0d2 0,
		#e8e0d2 8px,
		#ddd3c1 8px,
		#ddd3c1 16px
	);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__patch-layer--patch {
	background: rgba(255, 106, 61, 0.18);
	color: var(--wp--preset--color--accent, #ff6a3d);
	border-top: 2px dashed rgba(255, 106, 61, 0.6);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__patch-edge {
	font-size: 0.66rem;
	letter-spacing: 0.06em;
	opacity: 0.85;
	color: var(--wp--preset--color--accent, #ff6a3d);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__patch-label {
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--accent, #ff6a3d);
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__patch-bond {
	font-size: 0.7rem;
	letter-spacing: 0.04em;
	text-transform: none;
	color: rgba(0, 0, 0, 0.55);
	font-weight: 500;
	font-style: italic;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__rebar-row {
	position: absolute;
	left: 1rem;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-around;
	gap: 0.5rem;
	pointer-events: none;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__rebar {
	width: 30%;
	height: 14px;
	border-radius: 4px;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-align: center;
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__rebar--original {
	background: linear-gradient(180deg, #b86a2a 0%, #8a4d1e 100%);
}
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-anatomy__rebar--treated {
	background: linear-gradient(180deg, #4f6f7a 0%, #2c4550 100%);
}

/* =================================================================
   HUB-STYLE BLOCK — applied to Concrete Restoration hub (#619) and
   Concrete Crack Repair (#620), which use a different BEM vocabulary:
   - Hero on CREAM (surface), uses __lead / __cta / __trust / __visual / __image
   - Stats use __inner + .ofixo-wpc-stat (singular)
   - About uses __heading / __copy / __lead / __muted
   - Failures use .ofixo-wpc-failure (singular) cards
   - Process uses .ofixo-wpc-step (singular) with __title / __body
   - Reasons use .ofixo-wpc-reason (singular)
   - Related uses .ofixo-wpc-rel (singular)
   - Hub-only: services / svc + buyers / buyer
   ================================================================= */

/* --- HERO override: cream bg, dark text --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-hero,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero {
	color: rgba(0, 0, 0, 0.86) !important;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__copy h1,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__copy h1,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__copy h1,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__copy h1,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__copy h1 {
	color: rgba(0, 0, 0, 0.92) !important;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__lead,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__lead,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__lead,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__lead,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__lead {
	font-size: 1.02rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 1.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__cta,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__cta,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__cta,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__cta,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__trust,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__trust,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__trust,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__trust,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__trust {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem 1.75rem;
	font-size: 0.84rem;
	letter-spacing: 0.04em;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__trust li,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__trust li,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__trust li,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__trust li,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__trust li {
	position: relative;
	padding-left: 1.1rem;
	color: rgba(0, 0, 0, 0.7);
	font-weight: 600;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__trust li::before,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__trust li::before,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__trust li::before,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__trust li::before,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__trust li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent, #ff6a3d);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__visual,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__visual,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__visual,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__visual,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__visual {
	position: relative;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__image,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__image,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__image,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__image,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__image {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background: linear-gradient(135deg, #2a1810 0%, #4a2a1a 100%);
	aspect-ratio: 4 / 3;
	min-height: 320px;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__image img,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__image img,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__image img,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__image img,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__badge--top,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__badge--top,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__badge--top,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__badge--top,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__badge--top {
	position: absolute;
	top: 1.1rem;
	right: 1.1rem;
	background: #ffffff;
	color: rgba(0, 0, 0, 0.85);
	font-weight: 700;
	font-size: 0.85rem;
	padding: 0.55rem 1rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__badge--bottom,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__badge--bottom,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__badge--bottom,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__badge--bottom,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__badge--bottom {
	position: absolute;
	left: -1rem;
	bottom: -1rem;
	background: #ffffff;
	border-radius: 12px;
	padding: 0.85rem 1.25rem;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	display: flex;
	flex-direction: column;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__badge-num,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__badge-num,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__badge-num,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__badge-num,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__badge-num {
	font-weight: 800;
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.25rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-hero__badge-label,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-hero__badge-label,
body.ofixo-page-concrete-spalling-repair .ofixo-wpc-hero__badge-label,
body.ofixo-page-carbonation-corrosion-protection .ofixo-wpc-hero__badge-label,
body.ofixo-page-concrete-resurfacing .ofixo-wpc-hero__badge-label {
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.65);
}

/* --- STATS (dark, .ofixo-wpc-stats__inner + .ofixo-wpc-stat) --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-stats__inner,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__inner {
	max-width: var(--wp--style--global--wide-size, 1240px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	text-align: center;
}
@media (min-width: 640px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-stats__inner,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__inner {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-stats__inner,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-stats__inner {
		grid-template-columns: repeat(5, 1fr);
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-stat,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stat {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 0.25rem 0.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-stat__num,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stat__num {
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--wp--preset--color--accent, #ff6a3d);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-stat__label,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-stat__label {
	font-size: 0.78rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
}

/* --- ABOUT override (hub uses __heading / __copy / __lead / __muted) --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-about,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-about {
	background: #ffffff;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-about__heading h2,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-about__heading h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	line-height: 1.15;
	margin: 0.4rem 0 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-about__copy p,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-about__copy p {
	font-size: 1.02rem;
	line-height: 1.65;
	color: rgba(0, 0, 0, 0.78);
	margin: 0 0 1rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-about__lead,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-about__lead {
	font-size: 1.08rem !important;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.85) !important;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-about__muted,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-about__muted {
	color: rgba(0, 0, 0, 0.62) !important;
}

/* --- FAILURES (hub style: .ofixo-wpc-failure singular) --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__grid,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-failures__grid,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-failures__grid,
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failure,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 12px;
	padding: 1.6rem 1.4rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failure__icon,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 10px;
	background: rgba(255, 106, 61, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.5rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failure__title,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failure__title {
	font-size: 1.15rem;
	margin: 0 0 0.55rem;
	color: rgba(0, 0, 0, 0.86);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failure__body,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* --- PROCESS (hub style: .ofixo-wpc-step singular with __title / __body) --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-process__steps:not(.ofixo-wpc-process__steps--3col),
body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__steps:not(.ofixo-wpc-process__steps--3col) {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-process__steps:not(.ofixo-wpc-process__steps--3col),
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__steps:not(.ofixo-wpc-process__steps--3col) {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-process__steps:not(.ofixo-wpc-process__steps--3col),
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-process__steps:not(.ofixo-wpc-process__steps--3col) {
		grid-template-columns: repeat(3, 1fr);
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-step,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-step {
	background: #ffffff;
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-step__num,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-step__num {
	display: inline-flex;
	width: 2.3rem;
	height: 2.3rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent, #ff6a3d);
	color: #ffffff;
	font-weight: 800;
	font-size: 0.85rem;
	align-items: center;
	justify-content: center;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-step__title,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-step__title {
	font-size: 1.08rem;
	margin: 0.1rem 0 0.25rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-step__body,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-step__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* --- REASONS (hub style: .ofixo-wpc-reason singular) --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-reason,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reason {
	background: #ffffff;
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.04);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reason__icon,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reason__icon {
	display: inline-flex;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 8px;
	background: rgba(255, 106, 61, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.3rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.85rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reason__title,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reason__title {
	font-size: 1.08rem;
	margin: 0 0 0.45rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-reason__body,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-reason__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* --- RELATED (hub style: .ofixo-wpc-rel singular) --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-rel,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-rel:hover,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-rel__title,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-rel__body,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-rel__link,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-rel__link:hover,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* =================================================================
   HUB ONLY (#619) — Services & Buyers sections
   ================================================================= */

/* --- SERVICES (white, 6-card grid) --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-services {
	background: #ffffff;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-services__head {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-services__head .ofixo-eyebrow { justify-content: center; }
body.ofixo-page-concrete-restoration .ofixo-wpc-services__head h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	margin: 0.4rem 0 0.8rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-services__sub {
	font-size: 1rem;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}
/* Hub services grid — inherits the same content container as the
 * sections above (no explicit max-width, so it sits at the theme's
 * 1280px contentSize like .ofixo-wpc-failures does). */
body.ofixo-page-concrete-restoration .ofixo-wpc-services--hub .ofixo-wpc-services__grid,
body.ofixo-page-concrete-restoration .ofixo-wpc-services__grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.75rem !important;
}
@media (min-width: 760px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-services--hub .ofixo-wpc-services__grid,
	body.ofixo-page-concrete-restoration .ofixo-wpc-services__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-concrete-restoration .ofixo-wpc-services--hub .ofixo-wpc-services__grid,
	body.ofixo-page-concrete-restoration .ofixo-wpc-services__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}
body.ofixo-page-concrete-restoration .ofixo-wpc-process__steps {
	background: transparent;
}

/* Hub image-led card: featured image on top, body below */
body.ofixo-page-concrete-restoration .ofixo-wpc-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	text-decoration: none;
	color: inherit;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--cream, #f5efe6);
	overflow: hidden;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
	display: block;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card__icon {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	color: var(--wp--preset--color--accent, #ff6a3d);
	opacity: 0.55;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card__body {
	padding: 1.65rem 1.6rem 1.85rem;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card__eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #ff6a3d);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card__title {
	font-size: 1.25rem;
	line-height: 1.25;
	margin: 0;
	color: rgba(0, 0, 0, 0.9);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card__copy {
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card__cta {
	margin-top: 0.3rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-card:hover .ofixo-wpc-card__cta {
	text-decoration: underline;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-svc {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 14px;
	padding: 1.85rem 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-svc__icon {
	font-size: 1.8rem;
	line-height: 1;
	margin-bottom: 0.25rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-svc__title {
	font-size: 1.18rem;
	margin: 0;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-svc__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.15rem 0 0.25rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-svc__tags span {
	display: inline-block;
	background: rgba(255, 106, 61, 0.14);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0.28rem 0.6rem;
	border-radius: 999px;
	white-space: nowrap;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-svc__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
	flex: 1;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-svc__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
	margin-top: 0.5rem;
	display: inline-block;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-svc__link:hover {
	text-decoration: underline;
}

/* --- BUYERS (white, 4-card grid) --- */
body.ofixo-page-concrete-restoration .ofixo-wpc-buyers {
	background: #ffffff;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-buyers__head {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-buyers__head .ofixo-eyebrow { justify-content: center; }
body.ofixo-page-concrete-restoration .ofixo-wpc-buyers__head h2 {
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	margin: 0.4rem 0 0.8rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-buyers__sub {
	font-size: 1rem;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-buyers__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) { body.ofixo-page-concrete-restoration .ofixo-wpc-buyers__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { body.ofixo-page-concrete-restoration .ofixo-wpc-buyers__grid { grid-template-columns: repeat(4, 1fr); } }
body.ofixo-page-concrete-restoration .ofixo-wpc-buyer {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-buyer__icon {
	display: inline-flex;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 8px;
	background: rgba(255, 106, 61, 0.14);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.3rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.85rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-buyer__title {
	font-size: 1.08rem;
	margin: 0 0 0.45rem;
}
body.ofixo-page-concrete-restoration .ofixo-wpc-buyer__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* =================================================================
   CRACK REPAIR ONLY (#620) — extras beyond the hub-style block:
   mtypes (4 or 6 col), mtype tags/repair, disambig __card--current
   ================================================================= */

/* --- mtypes 6-col grid for crack-repair --- */
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__grid--6 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 720px) { body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__grid--6 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtypes__grid--6 { grid-template-columns: repeat(3, 1fr); } }

/* --- mtype extras: tags row, body text, repair note --- */
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.2rem 0 0.4rem;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__tags span {
	display: inline-block;
	background: rgba(255, 106, 61, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
	white-space: nowrap;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__repair {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.6rem;
	margin-top: 0.4rem !important;
	font-size: 0.88rem !important;
	color: rgba(0, 0, 0, 0.78) !important;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-mtype__repair strong {
	color: var(--wp--preset--color--accent, #ff6a3d);
}

/* --- disambig (crack-repair variant: __card--current vs default; __tag/__title/__body/__cta/__emoji/__list) --- */
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig {
	background: var(--wp--preset--color--contrast, #1a1410);
	color: #ffffff;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__head {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.65);
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__head h2 {
	font-size: clamp(1.6rem, 2.5vw, 2.2rem);
	color: #ffffff;
	margin: 0.4rem 0 0.7rem;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__sub {
	font-size: 1rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
	margin: 0;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	max-width: 1100px;
	margin: 0 auto;
}
@media (min-width: 880px) {
	body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__grid { grid-template-columns: repeat(2, 1fr); }
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	padding: 1.85rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	color: rgba(255, 255, 255, 0.88);
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__card--current {
	background: var(--wp--preset--color--accent, #ff6a3d);
	border-color: transparent;
	color: #ffffff;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0;
	opacity: 0.85;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__tag {
	align-self: flex-start;
	background: rgba(255, 255, 255, 0.15);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	color: inherit;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__title {
	font-size: 1.35rem;
	margin: 0.1rem 0 0.15rem;
	color: inherit;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__emoji {
	font-size: 1.5rem;
	line-height: 1;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__body {
	font-size: 0.95rem;
	line-height: 1.55;
	margin: 0;
	color: inherit;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__list {
	list-style: none;
	padding: 0;
	margin: 0.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__list li {
	font-size: 0.92rem;
	line-height: 1.5;
	padding-left: 1.25rem;
	position: relative;
	color: inherit;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
	opacity: 0.9;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__cta {
	display: inline-block;
	margin-top: 0.6rem;
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	font-size: 0.92rem;
}
body.ofixo-page-concrete-crack-repair .ofixo-wpc-disambig__footnote {
	text-align: center;
	max-width: 880px;
	margin: 1.75rem auto 0;
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.55;
}

/* =================================================================
   FAILURES SECTION head color override for HUB (cream-on-cream is still cream)
   The hub failures section is already on cream via my shared rule — keep
   bg cream so it alternates with white about + white services.
   ================================================================= */
body.ofixo-page-concrete-restoration .ofixo-wpc-failures,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures {
	background: var(--wp--preset--color--cream, #f5efe6);
}
body.ofixo-page-concrete-restoration .ofixo-wpc-failures__head h2,
body.ofixo-page-concrete-crack-repair .ofixo-wpc-failures__head h2 {
	color: rgba(0, 0, 0, 0.92);
}

/* End Concrete Restoration batch */

/* =====================================================================
 * STRUCTURAL STRENGTHENING BATCH — page-scoped styling
 *
 * 5 pages: hub + cfrp-wrapping, steel-plate-bonding, seismic-retrofitting,
 * foundation-underpinning. Section rhythm is the standard hub style:
 * hero (cream) → stats (dark) → about (white) → drivers (cream) →
 * methods (white) → process (cream/white) → reasons (cream) → faqs (surface).
 *
 * NEW component classes introduced this batch:
 *   .ofixo-wpc-methods         — 4-card grid of distinct methods/applications,
 *                                used on cfrp, steel (3-col variant), seismic,
 *                                underpinning. Each .ofixo-wpc-method has
 *                                eyebrow + icon + title + body + meta block(s).
 *   .ofixo-wpc-vs--strengthen  — CFRP-vs-Steel decision panel modifier, with
 *                                two inverted cards (--accent orange, --dark).
 *   .ofixo-wpc-scenarios       — Underpinning project scenarios on dark bg,
 *                                cards with structured <dl> meta blocks.
 *   .ofixo-wpc-step__meta      — TYPICAL/DELIVERABLE blocks inside phases steps
 *                                on the seismic project journey section.
 *
 * All shared-class overrides are body-scoped per the buildout memory.
 * ===================================================================== */

/* ---- Shared body-scoped failures bg keep-cream for hub + children ---- */
body.ofixo-page-structural-strengthening .ofixo-wpc-failures,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failures {
	background: var(--wp--preset--color--cream, #f5efe6) !important;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failures__head h2,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures__head h2,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures__head h2,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures__head h2,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failures__head h2 {
	color: rgba(0, 0, 0, 0.92);
}

/* ---- .ofixo-wpc-methods — the 4-card method/application grid ---- */
body.ofixo-page-cfrp-wrapping .ofixo-wpc-methods,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-methods,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-methods,
body.ofixo-page-foundation-underpinning .ofixo-wpc-methods {
	background: #ffffff !important;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-methods__head,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-methods__head,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-methods__head,
body.ofixo-page-foundation-underpinning .ofixo-wpc-methods__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-methods__head .ofixo-eyebrow,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-methods__head .ofixo-eyebrow,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-methods__head .ofixo-eyebrow,
body.ofixo-page-foundation-underpinning .ofixo-wpc-methods__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-methods__head h2,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-methods__head h2,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-methods__head h2,
body.ofixo-page-foundation-underpinning .ofixo-wpc-methods__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: var(--wp--preset--color--contrast);
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-methods__sub,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-methods__sub,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-methods__sub,
body.ofixo-page-foundation-underpinning .ofixo-wpc-methods__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	line-height: 1.55;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-methods__grid,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-methods__grid,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-methods__grid,
body.ofixo-page-foundation-underpinning .ofixo-wpc-methods__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) {
	body.ofixo-page-cfrp-wrapping .ofixo-wpc-methods__grid,
	body.ofixo-page-seismic-retrofitting .ofixo-wpc-methods__grid,
	body.ofixo-page-foundation-underpinning .ofixo-wpc-methods__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
/* steel page has 3 methods — single-column on mobile, 3 across on desktop */
@media (min-width: 980px) {
	body.ofixo-page-steel-plate-bonding .ofixo-wpc-methods--three .ofixo-wpc-methods__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

body.ofixo-page-cfrp-wrapping .ofixo-wpc-method,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method {
	background: var(--wp--preset--color--cream, #f5efe6);
	border: 1px solid var(--wp--preset--color--border, #e8e1d5);
	border-radius: 16px;
	padding: 1.6rem 1.5rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__head,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__head,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__head,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__head {
	display: grid;
	grid-template-columns: auto auto 1fr;
	gap: 0.75rem;
	align-items: center;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__num,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__num,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__num,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #E04E1F);
	color: #ffffff;
	font-weight: 800;
	font-size: 0.85rem;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__icon,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__icon,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__icon,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__icon {
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
	line-height: 1;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__title-wrap,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__title-wrap,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__title-wrap,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__title-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__eyebrow,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__eyebrow,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__eyebrow,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__eyebrow {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #E04E1F);
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__title,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__title,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__title,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__title {
	margin: 0;
	font-size: 1.18rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	line-height: 1.25;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__body,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__body,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__body,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__body {
	margin: 0;
	color: var(--wp--preset--color--body);
	font-size: 0.95rem;
	line-height: 1.6;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__meta,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__meta,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__meta,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__meta {
	border-top: 1px dashed var(--wp--preset--color--border, #e8e1d5);
	padding-top: 0.75rem;
	margin-top: 0.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__meta-label,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__meta-label,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__meta-label,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__meta-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
	opacity: 0.7;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-method__meta-value,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__meta-value,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-method__meta-value,
body.ofixo-page-foundation-underpinning .ofixo-wpc-method__meta-value {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	line-height: 1.4;
}
/* steel page methods have two stacked meta-pair blocks */
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__meta-pair {
	border-top: 1px dashed var(--wp--preset--color--border, #e8e1d5);
	padding-top: 0.75rem;
	margin-top: 0.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
body.ofixo-page-steel-plate-bonding .ofixo-wpc-method__meta-item {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

/* ---- .ofixo-wpc-vs--strengthen — CFRP vs Steel decision panel ---- */
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen {
	background: var(--wp--preset--color--cream, #f5efe6) !important;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__head,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__head .ofixo-eyebrow,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__head h2,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: var(--wp--preset--color--contrast);
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__sub,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__sub {
	margin: 0;
	color: var(--wp--preset--color--body);
	line-height: 1.55;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__grid,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 820px) {
	body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__grid,
	body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__grid {
		grid-template-columns: 1fr 1fr;
		gap: 1.75rem;
	}
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card {
	background: #ffffff;
	border-radius: 16px;
	padding: 1.75rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	border: 1px solid var(--wp--preset--color--border, #e8e1d5);
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card--accent,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card--accent {
	background: var(--wp--preset--color--primary, #E04E1F);
	color: #ffffff;
	border-color: transparent;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card--dark,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card--dark {
	background: var(--wp--preset--color--contrast, #1a1a1a);
	color: rgba(255, 255, 255, 0.92);
	border-color: transparent;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-head,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-head {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding-bottom: 0.9rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-tag,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-tag {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.85;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-title,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-title {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 800;
	color: inherit;
	line-height: 1.25;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-list,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-list li,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-list li {
	position: relative;
	padding-left: 1.4rem;
	font-size: 0.94rem;
	line-height: 1.5;
	color: inherit;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-list li::before,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
	opacity: 0.9;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-sub,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-sub {
	margin: 0.35rem 0 0;
	font-size: 0.88rem;
	font-weight: 600;
	opacity: 0.85;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-body,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-body {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: inherit;
	opacity: 0.92;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-tag-list,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-tag-list {
	margin: 0.5rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.85;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-link,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.5rem;
	padding: 0.55rem 1rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.22);
	transition: background 0.15s ease;
	align-self: flex-start;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-link:hover,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__card-link:hover {
	background: rgba(255, 255, 255, 0.2);
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__foot,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-vs--strengthen .ofixo-wpc-vs__foot {
	text-align: center;
	max-width: 880px;
	margin: 1.75rem auto 0;
	font-size: 0.94rem;
	color: var(--wp--preset--color--body);
	line-height: 1.55;
}

/* ---- .ofixo-wpc-scenarios — Underpinning dark scenarios section ---- */
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenarios {
	background: var(--wp--preset--color--contrast, #1a1a1a) !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenarios__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenarios__head .ofixo-eyebrow {
	justify-content: center;
	color: var(--wp--preset--color--primary, #E04E1F);
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenarios__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenarios__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.55;
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenarios__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 820px) {
	body.ofixo-page-foundation-underpinning .ofixo-wpc-scenarios__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenario {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	padding: 1.6rem 1.5rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenario__head {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenario__tag {
	align-self: flex-start;
	background: var(--wp--preset--color--primary, #E04E1F);
	color: #ffffff;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.28rem 0.6rem;
	border-radius: 999px;
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenario__title {
	margin: 0;
	font-size: 1.22rem;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.25;
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenario__location {
	margin: 0;
	font-size: 0.86rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.7);
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenario__meta {
	margin: 0;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.4rem 1rem;
	align-items: baseline;
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenario__meta dt {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #E04E1F);
	white-space: nowrap;
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenario__meta dd {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-foundation-underpinning .ofixo-wpc-scenarios__foot {
	text-align: center;
	max-width: 880px;
	margin: 1.75rem auto 0;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.55;
}

/* ---- Seismic phases-section (DARK variant): from-existing-structure-to-
       code-compliance journey on contrast bg, 5 cards in 2-col grid, per-phase
       coloured number circles, pill tag, orange DELIVERABLE label. All bg
       declarations use !important to beat the global .ofixo-wpc-step base
       color rule at line 4397 (which sets bg to --color--base = white). ---- */
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.75rem;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__head .ofixo-eyebrow {
	justify-content: center;
	color: #E04E1F !important;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__head .ofixo-eyebrow span {
	background: #E04E1F !important;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__head h2 {
	font-size: clamp(1.85rem, 3vw, 2.4rem);
	font-weight: 800;
	letter-spacing: -0.015em;
	margin: 0.55rem 0 0.75rem;
	color: #ffffff !important;
	line-height: 1.18;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.65) !important;
	line-height: 1.6;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__steps {
	list-style: none;
	padding: 0 !important;
	margin: 0;
	background: transparent !important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	counter-reset: phase;
}
@media (min-width: 820px) {
	body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__steps > li {
	counter-increment: phase;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step {
	background: #1C1C20 !important;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	padding: 1.65rem 1.6rem 1.5rem;
	display: grid;
	grid-template-columns: 56px 1fr;
	column-gap: 1.1rem;
	row-gap: 0.7rem;
	position: relative;
	box-shadow: none;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step--us {
	background: #1C1C20 !important;
	border-color: rgba(255, 255, 255, 0.08);
}
/* Number circle — column 1, row 1, per-phase color via nth-child */
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step__num {
	grid-column: 1;
	grid-row: 1;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #10B981 !important;
	color: #ffffff !important;
	font-weight: 800;
	font-size: 1rem;
	letter-spacing: 0.02em;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__steps > li:nth-child(2) .ofixo-wpc-step__num { background: #F4C430 !important; color: #1a1306 !important; }
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__steps > li:nth-child(3) .ofixo-wpc-step__num { background: #E04E1F !important; }
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__steps > li:nth-child(4) .ofixo-wpc-step__num { background: #C7361A !important; }
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__steps > li:nth-child(5) .ofixo-wpc-step__num { background: #3B82F6 !important; }

/* Title block — column 2, row 1. The PHASE N label is generated via counter. */
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step__title {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	font-size: 1.2rem;
	font-weight: 800;
	color: #ffffff !important;
	line-height: 1.3;
	align-self: center;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step__title::before {
	content: "Phase " counter(phase);
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #E04E1F !important;
	margin-bottom: 0.25rem;
}
/* Pill tag — column 2, row 2 (timeframe + ownership) */
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step__tag {
	grid-column: 2;
	grid-row: 2;
	justify-self: start;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.78) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
}
/* Body text — full width, row 3 */
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step__body {
	grid-column: 1 / -1;
	grid-row: 3;
	margin: 0.4rem 0 0;
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: 0.95rem;
	line-height: 1.62;
}
/* DELIVERABLE block — full width, row 4 */
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step__meta {
	grid-column: 1 / -1;
	grid-row: 4;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 0.95rem;
	margin-top: 0.6rem;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step__meta-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #E04E1F !important;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-step__meta-value {
	font-size: 0.95rem;
	font-weight: 700;
	color: #ffffff !important;
	line-height: 1.4;
}
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--phases-section--dark .ofixo-wpc-process__footnote {
	text-align: center;
	max-width: 880px;
	margin: 2.25rem auto 0;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.5) !important;
	font-style: italic;
	line-height: 1.6;
}

/* ---- The plain 6-step .ofixo-wpc-process--six (white bg) — used by all
       4 children's execution process section ---- */
body.ofixo-page-cfrp-wrapping .ofixo-wpc-process--six,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-process--six,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--six,
body.ofixo-page-foundation-underpinning .ofixo-wpc-process--six {
	background: #ffffff !important;
}
body.ofixo-page-cfrp-wrapping .ofixo-wpc-process--six .ofixo-wpc-step,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-process--six .ofixo-wpc-step,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--six .ofixo-wpc-step,
body.ofixo-page-foundation-underpinning .ofixo-wpc-process--six .ofixo-wpc-step {
	background: var(--wp--preset--color--cream, #f5efe6);
	box-shadow: none;
	border: 1px solid var(--wp--preset--color--border, #e8e1d5);
	border-radius: 14px;
}

/* ---- Failures / Buyers hub-style — NO global default exists, must scope
       to my batch otherwise cards stack vertically as one-column block flow.
       Restoration batch handles its own pages; this block adds equivalent
       rules for the 5 strengthening pages. ---- */

/* FAILURES: section head, sub, 4-card grid (1→2→4 col), card chrome */
body.ofixo-page-structural-strengthening .ofixo-wpc-failures__head,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures__head,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures__head,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures__head,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failures__head .ofixo-eyebrow,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures__head .ofixo-eyebrow,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures__head .ofixo-eyebrow,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures__head .ofixo-eyebrow,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failures__head h2,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures__head h2,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures__head h2,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures__head h2,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failures__sub,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures__sub,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures__sub,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures__sub,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failures__grid,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures__grid,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures__grid,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures__grid,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-structural-strengthening .ofixo-wpc-failures__grid,
	body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures__grid,
	body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures__grid,
	body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures__grid,
	body.ofixo-page-foundation-underpinning .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-structural-strengthening .ofixo-wpc-failures__grid,
	body.ofixo-page-cfrp-wrapping .ofixo-wpc-failures__grid,
	body.ofixo-page-steel-plate-bonding .ofixo-wpc-failures__grid,
	body.ofixo-page-seismic-retrofitting .ofixo-wpc-failures__grid,
	body.ofixo-page-foundation-underpinning .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failure,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failure,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failure,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failure,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failure__icon,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failure__icon,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failure__icon,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failure__icon,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failure__title,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failure__title,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failure__title,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failure__title,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-failure__body,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-failure__body,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-failure__body,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-failure__body,
body.ofixo-page-foundation-underpinning .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* BUYERS: section head, sub, 4-card grid (1→2→4 col), card chrome */
body.ofixo-page-structural-strengthening .ofixo-wpc-buyers__head,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyers__head,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyers__head,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyers__head,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyers__head {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-buyers__head .ofixo-eyebrow,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyers__head .ofixo-eyebrow,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyers__head .ofixo-eyebrow,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyers__head .ofixo-eyebrow,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyers__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-buyers__head h2,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyers__head h2,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyers__head h2,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyers__head h2,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyers__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-structural-strengthening .ofixo-wpc-buyers__sub,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyers__sub,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyers__sub,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyers__sub,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyers__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-buyers__grid,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyers__grid,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyers__grid,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyers__grid,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyers__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) {
	body.ofixo-page-structural-strengthening .ofixo-wpc-buyers__grid,
	body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyers__grid,
	body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyers__grid,
	body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyers__grid,
	body.ofixo-page-foundation-underpinning .ofixo-wpc-buyers__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-structural-strengthening .ofixo-wpc-buyers__grid,
	body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyers__grid,
	body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyers__grid,
	body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyers__grid,
	body.ofixo-page-foundation-underpinning .ofixo-wpc-buyers__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-structural-strengthening .ofixo-wpc-buyer,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyer,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyer,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyer,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyer {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	border: 1px solid var(--wp--preset--color--border, #e8e1d5);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-buyer__icon,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyer__icon,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyer__icon,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyer__icon,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyer__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-buyer__title,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyer__title,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyer__title,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyer__title,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyer__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-buyer__body,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-buyer__body,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-buyer__body,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-buyer__body,
body.ofixo-page-foundation-underpinning .ofixo-wpc-buyer__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services subgrid (the [ofixo_subservices] section) — global override at
   line 5780 forces .ofixo-wpc-services to cream; flip back to white on the
   strengthening hub to maintain the cream→white→cream rhythm. */
body.ofixo-page-structural-strengthening .ofixo-wpc-services {
	background: #ffffff !important;
}

/* RELATED cards (.ofixo-wpc-rel singular) — no global default; same fix
   pattern as .ofixo-wpc-failure and .ofixo-wpc-buyer above. */
body.ofixo-page-structural-strengthening .ofixo-wpc-rel,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-rel,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-rel,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-rel,
body.ofixo-page-foundation-underpinning .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-rel:hover,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-rel:hover,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-rel:hover,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-rel:hover,
body.ofixo-page-foundation-underpinning .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-structural-strengthening .ofixo-wpc-rel__title,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-rel__title,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-rel__title,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-rel__title,
body.ofixo-page-foundation-underpinning .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-structural-strengthening .ofixo-wpc-rel__body,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-rel__body,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-rel__body,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-rel__body,
body.ofixo-page-foundation-underpinning .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-rel__link,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-rel__link,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-rel__link,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-rel__link,
body.ofixo-page-foundation-underpinning .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-structural-strengthening .ofixo-wpc-rel__link:hover,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-rel__link:hover,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-rel__link:hover,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-rel__link:hover,
body.ofixo-page-foundation-underpinning .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process steps — every strengthening page uses 6 steps; force 3-column
   grid at desktop instead of the global auto-fit fallback which can lay
   them out as 6 across. Excludes phases-section variant on the seismic
   page which has its own 2-column layout. */
@media (min-width: 720px) {
	body.ofixo-page-structural-strengthening .ofixo-wpc-process__steps,
	body.ofixo-page-cfrp-wrapping .ofixo-wpc-process--six .ofixo-wpc-process__steps,
	body.ofixo-page-steel-plate-bonding .ofixo-wpc-process--six .ofixo-wpc-process__steps,
	body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--six .ofixo-wpc-process__steps,
	body.ofixo-page-foundation-underpinning .ofixo-wpc-process--six .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-structural-strengthening .ofixo-wpc-process__steps,
	body.ofixo-page-cfrp-wrapping .ofixo-wpc-process--six .ofixo-wpc-process__steps,
	body.ofixo-page-steel-plate-bonding .ofixo-wpc-process--six .ofixo-wpc-process__steps,
	body.ofixo-page-seismic-retrofitting .ofixo-wpc-process--six .ofixo-wpc-process__steps,
	body.ofixo-page-foundation-underpinning .ofixo-wpc-process--six .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Final CTA foot bullets — used by strengthening pages' final CTAs */
body.ofixo-page-structural-strengthening .ofixo-wpc-final__foot,
body.ofixo-page-cfrp-wrapping .ofixo-wpc-final__foot,
body.ofixo-page-steel-plate-bonding .ofixo-wpc-final__foot,
body.ofixo-page-seismic-retrofitting .ofixo-wpc-final__foot,
body.ofixo-page-foundation-underpinning .ofixo-wpc-final__foot {
	margin: 1.5rem auto 0;
	max-width: 720px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.85rem;
	letter-spacing: 0.02em;
	text-align: center;
}

/* End Structural Strengthening batch */

/* ===========================================================================
   EPOXY FLOORING HUB — page-scoped CSS
   Mirrors the structural-strengthening block (same shared classes, same
   missing global defaults). Scoped to body.ofixo-page-epoxy-flooring only.
   =========================================================================== */

/* FAILURES (4 driver cards) — head, sub, 2-col grid, card chrome */
body.ofixo-page-epoxy-flooring .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-epoxy-flooring .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* BUYERS (4 buyer cards) — head, sub, 2-col grid, card chrome */
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyers__head {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyers__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyers__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyers__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyers__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) {
	body.ofixo-page-epoxy-flooring .ofixo-wpc-buyers__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyer {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	border: 1px solid var(--wp--preset--color--border, #e8e1d5);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyer__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyer__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-buyer__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services subgrid — global override at line 5780 forces cream; flip back
   to white on this hub to maintain the cream→white→cream rhythm. */
body.ofixo-page-epoxy-flooring .ofixo-wpc-services {
	background: #ffffff !important;
}

/* RELATED cards (.ofixo-wpc-rel singular) — no global default exists */
body.ofixo-page-epoxy-flooring .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-epoxy-flooring .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process steps — 6 steps, force 3-column grid at desktop */
@media (min-width: 720px) {
	body.ofixo-page-epoxy-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-epoxy-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* End Epoxy Flooring batch */

/* ===========================================================================
   INDUSTRIAL EPOXY FLOORING — page-scoped CSS
   - Inherits the shared failures/buyers/rel patterns (mirrored from
     epoxy-flooring scope to this page's body class).
   - Adds bespoke patterns for the two unique sections on this page:
     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-industrial-epoxy-flooring only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
@media (min-width: 900px) {
	body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry--wide {
		grid-column: 1 / -1;
	}
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-industrial-epoxy-flooring .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}

/* End Industrial Epoxy Flooring batch */

/* =====================================================================
 * Car Park Epoxy Coating — page-scoped styling (Figma node 379-2)
 *
 * Inherits the section rhythm + BEM components from the epoxy-flooring
 * batch. Same systems/industries patterns as industrial-epoxy but with
 * a 2x2 buyers grid (no --wide modifier). Scoped to
 * body.ofixo-page-car-park-epoxy-coating only.
 * ===================================================================== */

/* Section rhythm overrides (beats line 5780 global !important) */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero       { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-about      { background: #ffffff !important; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failures   { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-systems    { background: #ffffff !important; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industries { background: #0F0F10 !important; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process    { background: var(--wp--preset--color--cream) !important; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-reasons    { background: #ffffff !important; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-faq        { background: var(--wp--preset--color--surface) !important; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-related    { background: #ffffff !important; }

/* HERO — section padding + 2-col inner grid (copy + visual) */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero {
	padding: clamp(3rem, 6vw, 5rem) 0;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
}
@media (min-width: 960px) {
	body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__inner {
		grid-template-columns: 1.05fr 1fr;
		gap: 4rem;
	}
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E04E1F;
	margin: 0 0 1rem;
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero h1 {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	margin: 0 0 1.25rem;
	color: #18181B;
	letter-spacing: -0.02em;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__lead {
	max-width: 540px;
	margin: 0 0 1.75rem;
	color: rgba(24, 24, 27, 0.72);
	font-size: 1rem;
	line-height: 1.65;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin: 0 0 1.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__trust {
	margin: 0;
	color: rgba(24, 24, 27, 0.6);
	font-size: 0.85rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__visual {
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__image {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__badge {
	position: absolute;
	background: rgba(255, 255, 255, 0.95);
	color: #18181B;
	padding: 0.5rem 0.85rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__badge--tl { top: 1rem; right: 1rem; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-hero__badge--br { bottom: 1rem; left: 1rem; background: #E04E1F; color: #ffffff; }

/* STATS — section padding + inner constraint */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-stats {
	padding: 2.5rem 0;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-stats__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem 2rem;
}
@media (min-width: 720px) {
	body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-stats__inner { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1000px) {
	body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-stats__inner { grid-template-columns: repeat(5, 1fr); }
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-stat {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-stat__num {
	font-size: 1.5rem;
	font-weight: 700;
	color: #E04E1F;
	line-height: 1.1;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-stat__label {
	font-size: 0.92rem;
	font-weight: 600;
	color: #ffffff;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-stat__sub {
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.55);
}

/* ABOUT — section padding + inner constraint (grid styling comes from global .ofixo-wpc-about__grid/__heading/__copy/__lead/__muted) */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-about {
	padding: 5rem 0;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-about__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

/* Kill the 1.5rem margin-block-start that WP's layout-flow rule adds to every
 * direct child of .entry-content — that margin is the visible white gap
 * between breadcrumb/hero, hero/stats, buyers/process, CTA/FAQ, etc. */
body.ofixo-page-car-park-epoxy-coating .entry-content > section,
body.ofixo-page-car-park-epoxy-coating .entry-content > .wp-block-group {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* PROCESS — section padding + inner constraint (grid override stays) */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process {
	padding: 5rem 0;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E04E1F;
	margin: 0 0 0.85rem;
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process h2 {
	font-size: clamp(1.65rem, 2.6vw, 2.25rem);
	line-height: 1.2;
	color: #18181B;
	margin: 0 0 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process__sub {
	max-width: 780px;
	margin: 0 0 3rem;
	color: rgba(24, 24, 27, 0.72);
	font-size: 1rem;
	line-height: 1.65;
}

/* REASONS — section padding + inner constraint */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-reasons {
	padding: 5rem 0;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-reasons__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-reasons__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E04E1F;
	margin: 0 0 0.85rem;
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-reasons h2 {
	font-size: clamp(1.65rem, 2.6vw, 2.25rem);
	line-height: 1.2;
	color: #18181B;
	margin: 0 0 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-reasons__sub {
	max-width: 780px;
	margin: 0 0 3rem;
	color: rgba(24, 24, 27, 0.72);
	font-size: 1rem;
	line-height: 1.65;
}

/* FAQ — section padding + inner constraint */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-faq {
	padding: 5rem 0;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-faq__inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 1.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-faq__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E04E1F;
	margin: 0 0 0.85rem;
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-faq h2 {
	font-size: clamp(1.65rem, 2.6vw, 2.25rem);
	line-height: 1.2;
	color: #18181B;
	margin: 0 0 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-faq__sub {
	max-width: 780px;
	margin: 0 0 2.5rem;
	color: rgba(24, 24, 27, 0.72);
	font-size: 1rem;
	line-height: 1.65;
}

/* FAILURES — 4 cards (cream section → white cards) */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failures__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 5rem 1.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failures__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E04E1F;
	margin: 0 0 0.85rem;
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failures h2 {
	font-size: clamp(1.65rem, 2.6vw, 2.25rem);
	line-height: 1.2;
	color: #18181B;
	margin: 0 0 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failures__sub {
	max-width: 780px;
	margin: 0 0 3rem;
	color: rgba(24, 24, 27, 0.72);
	font-size: 1rem;
	line-height: 1.65;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1.25rem;
}
@media (min-width: 720px)  { body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failures__grid { grid-template-columns: repeat(2, 1fr); } }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failure {
	background: #ffffff !important;
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 12px;
	padding: 1.6rem 1.5rem 1.5rem;
	box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failure__icon { font-size: 1.6rem; display: inline-block; margin-bottom: 0.6rem; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failure h3 { font-size: 1.1rem; margin: 0 0 0.55rem; color: #18181B; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-failure p  { margin: 0; color: rgba(24, 24, 27, 0.72); font-size: 0.95rem; line-height: 1.6; }

/* SYSTEMS (zones) — 4 sys-cards on white */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-systems__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 5rem 1.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-systems__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E04E1F;
	margin: 0 0 0.85rem;
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-systems h2 {
	font-size: clamp(1.65rem, 2.6vw, 2.25rem);
	line-height: 1.2;
	color: #18181B;
	margin: 0 0 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-systems__sub {
	max-width: 780px;
	margin: 0 0 3rem;
	color: rgba(24, 24, 27, 0.72);
	font-size: 1rem;
	line-height: 1.65;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1.25rem;
}
@media (min-width: 860px)  { body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-systems__grid { grid-template-columns: repeat(2, 1fr); } }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream) !important;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 14px;
	padding: 1.75rem 1.6rem;
	display: flex;
	flex-direction: column;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	margin-bottom: 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__num {
	background: #E04E1F;
	color: #ffffff;
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__spec {
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(24, 24, 27, 0.6);
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__title {
	font-size: 1.2rem;
	color: #18181B;
	margin: 0 0 0.75rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__icon { font-size: 1.25rem; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__body {
	margin: 0 0 1.25rem;
	color: rgba(24, 24, 27, 0.72);
	font-size: 0.95rem;
	line-height: 1.6;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__meta {
	margin: 0;
	padding-top: 1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__meta-label {
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(24, 24, 27, 0.55);
	font-weight: 600;
	margin: 0 0 0.35rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-sys-card__meta-text {
	margin: 0;
	font-size: 0.9rem;
	color: rgba(24, 24, 27, 0.78);
	line-height: 1.55;
}

/* INDUSTRIES (Buyer Types) — dark 2x2 grid, 4 cards */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industries__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 5rem 1.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industries__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E04E1F;
	margin: 0 0 0.85rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industries h2 {
	font-size: clamp(1.7rem, 2.6vw, 2.25rem);
	line-height: 1.2;
	color: #ffffff !important;
	margin: 0 0 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industries__sub {
	max-width: 800px;
	margin: 0 0 3rem;
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 1rem;
	line-height: 1.65;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1.25rem;
}
@media (min-width: 860px) { body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industries__grid { grid-template-columns: repeat(2, 1fr); } }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	padding: 1.75rem 1.6rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	margin-bottom: 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__num {
	background: #E04E1F;
	color: #ffffff;
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__sector {
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__title {
	font-size: 1.2rem;
	color: #ffffff !important;
	margin: 0 0 1rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__icon { font-size: 1.25rem; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__label {
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
	font-weight: 600;
	margin: 1.1rem 0 0.4rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__label:first-of-type { margin-top: 0; }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__demands {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 0.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__demand {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 0.78rem;
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}

/* PROCESS — 3-col grid override (defaults to 1-col stack) */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process__steps {
	display: grid;
	grid-template-columns: repeat(1, 1fr) !important;
	gap: 1.25rem;
	list-style: none;
	padding: 0;
}
@media (min-width: 720px)  { body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process__steps { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1000px) { body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-process__steps { grid-template-columns: repeat(3, 1fr) !important; } }
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-step {
	background: #ffffff !important;
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 12px;
	padding: 1.6rem 1.4rem;
}

/* RELATED — 4 rel cards, force 2x2 instead of global 4-col at 1080px */
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-related__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 5rem 1.5rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-related__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E04E1F;
	margin: 0 0 0.85rem;
	font-weight: 600;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-related h2 {
	font-size: clamp(1.65rem, 2.6vw, 2.25rem);
	line-height: 1.2;
	color: #18181B;
	margin: 0 0 1rem;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-related__sub {
	max-width: 780px;
	margin: 0 0 3rem;
	color: rgba(24, 24, 27, 0.72);
	font-size: 1rem;
	line-height: 1.65;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-related__grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.25rem !important;
}
@media (min-width: 720px) {
	body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-related__grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1.5rem !important;
	}
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream) !important;
	border: 1px solid rgba(0,0,0,0.06);
	color: #18181B;
	border-radius: 12px;
	padding: 1.6rem 1.5rem;
	display: flex;
	flex-direction: column;
	transition: transform 0.2s, box-shadow 0.2s;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 0.6rem;
	color: #18181B;
	line-height: 1.3;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-rel__body {
	margin: 0 0 1.1rem;
	color: rgba(24,24,27,0.72);
	font-size: 0.92rem;
	line-height: 1.6;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-rel__link {
	color: #E04E1F !important;
	font-weight: 600;
	font-size: 0.92rem;
	text-decoration: none;
	margin-top: auto;
	align-self: flex-start;
}
body.ofixo-page-car-park-epoxy-coating .ofixo-wpc-rel__link:hover {
	color: #b83e14 !important;
	text-decoration: underline;
}

/* End Car Park Epoxy Coating batch */

     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-warehouse-epoxy-flooring only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-warehouse-epoxy-flooring .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}

/* End Warehouse Epoxy Flooring batch */


/* =========================================================================
   ANTI-STATIC / ESD FLOORING PAGE BLOCK (post #634, sub-service of #630)
   .ofixo-wpc-systems--tiers (3-card resistance tier grid),
   .ofixo-wpc-industries (dark 4-card 2x2 environment grid).
   Scoped to body.ofixo-page-anti-static-flooring only.
   =========================================================================== */

     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-anti-static-flooring only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-anti-static-flooring .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-anti-static-flooring .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-anti-static-flooring .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-anti-static-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-anti-static-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-anti-static-flooring .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-anti-static-flooring .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-anti-static-flooring .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-anti-static-flooring .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-anti-static-flooring .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}



/* Tier section — force 3-col grid at desktop (overrides shared systems 2-col) */
@media (min-width: 900px) {
	body.ofixo-page-anti-static-flooring .ofixo-wpc-systems--tiers .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 1.4rem;
	}
}


/* =========================================================================
   SELF-LEVELLING EPOXY FLOORING PAGE BLOCK (post sub-service of #630)
   .ofixo-wpc-systems--tiers (3-card build profile grid),
   .ofixo-wpc-industries (dark 4-card 2x2 scenario grid).
   Scoped to body.ofixo-page-self-levelling-epoxy-flooring only.
   =========================================================================== */

     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-self-levelling-epoxy-flooring only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}



/* Tier (build profile) section — force 3-col grid at desktop */
@media (min-width: 900px) {
	body.ofixo-page-self-levelling-epoxy-flooring .ofixo-wpc-systems--tiers .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 1.4rem;
	}
}


/* ===========================================================================
   REFURBISHMENT & MAINTENANCE HUB (top-level service hub)
   Reuses base BEM .ofixo-wpc-failures, .ofixo-wpc-systems, .ofixo-wpc-industries
   patterns cloned from warehouse-epoxy-flooring; adds new .ofixo-wpc-disc card
   for the Two Disciplines pair and 4-col overrides for process/related grids.
   Scoped to body.ofixo-page-refurbishment-maintenance.
   =========================================================================== */
     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-refurbishment-maintenance only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}


/* ===========================================================================
   REFURBISHMENT & MAINTENANCE HUB — discipline pair, process 4-col, related 4-col,
   about-section head, sub-services grid styling.
   Scoped to body.ofixo-page-refurbishment-maintenance.
   =========================================================================== */

/* About — head block (centered eyebrow + h2 + sub) */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-about__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-about__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-about__heading {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-about__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}

/* About pair — two discipline cards side-by-side at desktop */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-about__pair {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 800px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-about__pair {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.75rem;
	}
}

/* Discipline card */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-disc {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.85rem 1.7rem 1.7rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-disc__eyebrow {
	display: inline-block;
	width: fit-content;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-disc__title {
	font-size: 1.35rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-disc__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-disc__list {
	list-style: none;
	padding: 0;
	margin: 0.4rem 0 0;
	display: grid;
	gap: 0.55rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 1rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-disc__list li {
	font-size: 0.93rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.78);
	position: relative;
	padding-left: 1.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-disc__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0.05rem;
	color: var(--wp--preset--color--accent, #E04E1F);
	font-weight: 800;
	font-size: 1rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-disc__foot {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.65);
	margin: 0.3rem 0 0;
	font-style: italic;
}

/* Industries (Four Scopes) — force exact 2x2 at all desktop widths */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__grid {
	grid-template-columns: 1fr;
}
@media (min-width: 800px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-industries__foot a {
	color: var(--wp--preset--color--accent, #ff6a3d) !important;
	text-decoration: underline;
}

/* Process — 4 steps; force 4-col at wide desktops to match the design */
@media (min-width: 720px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1100px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

/* Reasons — head block ensure centered */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-reasons__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-reasons__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-reasons__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-reasons__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}

/* Related — head + 4-col grid at desktop */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-related__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-related__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-related__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-related__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-related__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 700px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* End Refurbishment & Maintenance batch */


/* ===========================================================================
   VILLA MAINTENANCE (sub-service under refurbishment-maintenance hub)
   Cloned from warehouse-epoxy-flooring base + adds about__split (intro + 8-benefit
   checklist), .ofixo-wpc-areas (6 light cards), .ofixo-wpc-failures--six 3-col
   override, and .ofixo-wpc-step__list (5-bullet checklist inside process steps).
   Scoped to body.ofixo-page-villa-maintenance.
   =========================================================================== */
     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-villa-maintenance only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-villa-maintenance .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-villa-maintenance .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-villa-maintenance .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-villa-maintenance .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-villa-maintenance .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}


/* ===========================================================================
   VILLA MAINTENANCE — additional rules beyond warehouse-cloned base.
   Scoped to body.ofixo-page-villa-maintenance.
   =========================================================================== */

/* About — split layout (intro left, 8-benefit checklist right) */
body.ofixo-page-villa-maintenance .ofixo-wpc-about__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
}
@media (min-width: 900px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-about__split {
		grid-template-columns: 5fr 7fr;
		gap: 3rem;
	}
}
body.ofixo-page-villa-maintenance .ofixo-wpc-about__intro .ofixo-eyebrow {
	margin-bottom: 0.7rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-about__heading {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.8rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-about__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.6;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-about__benefits {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
}
@media (min-width: 700px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-about__benefits {
		grid-template-columns: 1fr 1fr;
		gap: 0.85rem 1.5rem;
	}
}
body.ofixo-page-villa-maintenance .ofixo-wpc-about__benefits li {
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.78);
	position: relative;
	padding-left: 1.65rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-about__benefits li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0.05rem;
	color: var(--wp--preset--color--accent, #E04E1F);
	font-weight: 800;
	font-size: 1rem;
}

/* Failures with 6 cards — force 3-col at desktop */
@media (min-width: 700px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-failures--six .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-failures--six .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Areas (light) — 6-card grid, white section */
body.ofixo-page-villa-maintenance .ofixo-wpc-areas__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-areas__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-areas__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-areas__sub {
	margin: 0 auto;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-areas__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-areas__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-areas__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
body.ofixo-page-villa-maintenance .ofixo-wpc-area {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-area__icon {
	display: inline-flex;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.4rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-area__title {
	font-size: 1.1rem;
	font-weight: 800;
	margin: 0 0 0.3rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-area__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Industries (Communities dark 4-card 2x2) — force exact 2x2 */
body.ofixo-page-villa-maintenance .ofixo-wpc-industries__grid {
	grid-template-columns: 1fr;
}
@media (min-width: 800px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Process — bullet list inside each step */
body.ofixo-page-villa-maintenance .ofixo-wpc-step {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-step__list {
	list-style: none;
	padding: 0;
	margin: 0.6rem 0 0;
	display: grid;
	gap: 0.55rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.85rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-step__list li {
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.72);
	position: relative;
	padding-left: 1.4rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-step__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0.05rem;
	color: var(--wp--preset--color--accent, #E04E1F);
	font-weight: 800;
}
@media (min-width: 720px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Reasons — head block */
body.ofixo-page-villa-maintenance .ofixo-wpc-reasons__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-reasons__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-reasons__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-reasons__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}

/* Related — head + 4-col grid */
body.ofixo-page-villa-maintenance .ofixo-wpc-related__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-related__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-related__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-villa-maintenance .ofixo-wpc-related__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-villa-maintenance .ofixo-wpc-related__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 700px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-villa-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* End Villa Maintenance batch */


/* ===========================================================================
   REFURBISHMENT & MAINTENANCE HUB — sub-services grid fix
   The [ofixo_subservices] grid is now wrapped in a .ofixo-wpc-services
   --hub section. Constrain it, centre the head, and gracefully handle the
   1-card transitional case (1 child until building-maintenance ships).
   =========================================================================== */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-services__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-services__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-services__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-services__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}

/* Grid: 1 col mobile, 2 col tablet+, centred and capped */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-services__grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.75rem !important;
}
@media (min-width: 760px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-services__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-refurbishment-maintenance .ofixo-wpc-services__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Lonely-card case (1 child only) — centre it and cap its width so the
   row doesn't look half-empty during the buildout window. */
body.ofixo-page-refurbishment-maintenance .ofixo-wpc-services__grid:has(> .ofixo-wpc-card:only-child) {
	grid-template-columns: 1fr !important;
	max-width: 560px;
}

/* End Refurbishment & Maintenance subservices grid fix */


     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-building-maintenance only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-building-maintenance .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-building-maintenance .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-building-maintenance .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-building-maintenance .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-building-maintenance .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-building-maintenance .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-building-maintenance .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-building-maintenance .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-building-maintenance .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-building-maintenance .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-building-maintenance .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-building-maintenance .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-building-maintenance .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-building-maintenance .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-building-maintenance .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-building-maintenance .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
/* Icon variant (SVG inside) — render as a circular badge with the
 * SVG sized cleanly. Overrides the pill padding. */
body.ofixo-page-building-maintenance .ofixo-wpc-industry__num--icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: var(--wp--preset--color--primary, #d7552a);
	background: rgba(224, 78, 31, 0.18);
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__num--icon svg {
	width: 22px;
	height: 22px;
	display: block;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-building-maintenance .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}


/* ===========================================================================
   BUILDING MAINTENANCE — additional rules beyond warehouse-cloned base.
   Scoped to body.ofixo-page-building-maintenance.
   =========================================================================== */

/* About — split layout (intro left, 8-benefit checklist right) */
body.ofixo-page-building-maintenance .ofixo-wpc-about__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
}
@media (min-width: 900px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-about__split {
		grid-template-columns: 5fr 7fr;
		gap: 3rem;
	}
}
body.ofixo-page-building-maintenance .ofixo-wpc-about__intro .ofixo-eyebrow {
	margin-bottom: 0.7rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-about__heading {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.8rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-building-maintenance .ofixo-wpc-about__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.6;
}
body.ofixo-page-building-maintenance .ofixo-wpc-about__benefits {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
}
@media (min-width: 700px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-about__benefits {
		grid-template-columns: 1fr 1fr;
		gap: 0.85rem 1.5rem;
	}
}
body.ofixo-page-building-maintenance .ofixo-wpc-about__benefits li {
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.78);
	position: relative;
	padding-left: 1.65rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-about__benefits li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0.05rem;
	color: var(--wp--preset--color--accent, #E04E1F);
	font-weight: 800;
	font-size: 1rem;
}

/* Failures with 4 cards — force 2x2 at desktop, add tag + meta */
@media (min-width: 800px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-failures--four .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1.6rem;
	}
}
body.ofixo-page-building-maintenance .ofixo-wpc-failure__tag {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
	width: fit-content;
	margin-bottom: 0.4rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failure__meta {
	margin: 0.5rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.85rem;
	display: grid;
	gap: 0.3rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failure__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0;
}
body.ofixo-page-building-maintenance .ofixo-wpc-failure__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}

/* SCOPE — Five-row table-style block */
body.ofixo-page-building-maintenance .ofixo-wpc-scope__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__sub {
	margin: 0 auto;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__table {
	margin: 0 auto;
	max-width: 1080px;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	background: #ffffff;
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	padding: 1.1rem 1.25rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__row:last-child {
	border-bottom: none;
}
@media (min-width: 760px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-scope__row {
		grid-template-columns: 1fr 2.2fr;
		gap: 1.5rem;
		padding: 1.25rem 1.6rem;
	}
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__row--head {
	background: rgba(224, 78, 31, 0.06);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__row--head .ofixo-wpc-scope__cat,
body.ofixo-page-building-maintenance .ofixo-wpc-scope__row--head .ofixo-wpc-scope__svcs {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.6);
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__cat {
	font-size: 1rem;
	font-weight: 800;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.4;
}
body.ofixo-page-building-maintenance .ofixo-wpc-scope__svcs {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
}

/* Industries — six categories, force 3x2 at desktop */
body.ofixo-page-building-maintenance .ofixo-wpc-industries__grid {
	grid-template-columns: 1fr;
}
@media (min-width: 700px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-industries--six .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-industries--six .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Process — bullet list inside each step */
body.ofixo-page-building-maintenance .ofixo-wpc-step {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-step__list {
	list-style: none;
	padding: 0;
	margin: 0.6rem 0 0;
	display: grid;
	gap: 0.55rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.85rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-step__list li {
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.72);
	position: relative;
	padding-left: 1.4rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-step__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0.05rem;
	color: var(--wp--preset--color--accent, #E04E1F);
	font-weight: 800;
}
@media (min-width: 720px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Reasons — head block */
body.ofixo-page-building-maintenance .ofixo-wpc-reasons__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-reasons__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-building-maintenance .ofixo-wpc-reasons__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-building-maintenance .ofixo-wpc-reasons__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}

/* Related — head + 4-col grid */
body.ofixo-page-building-maintenance .ofixo-wpc-related__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-building-maintenance .ofixo-wpc-related__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-building-maintenance .ofixo-wpc-related__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-building-maintenance .ofixo-wpc-related__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-building-maintenance .ofixo-wpc-related__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 700px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-building-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* End Building Maintenance batch */


     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-apartment-maintenance only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-apartment-maintenance .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-apartment-maintenance .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-apartment-maintenance .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-apartment-maintenance .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}


/* ===========================================================================
   APARTMENT MAINTENANCE — additional rules beyond warehouse-cloned base.
   Scoped to body.ofixo-page-apartment-maintenance.
   =========================================================================== */

/* About — split: eyebrow + heading left, body paragraphs right (matches villa/building pattern) */
body.ofixo-page-apartment-maintenance .ofixo-wpc-about__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
}
@media (min-width: 900px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-about__split {
		grid-template-columns: 5fr 7fr;
		gap: 3rem;
	}
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-about__intro .ofixo-eyebrow {
	margin-bottom: 0.7rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-about__heading {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-about__body {
	display: grid;
	gap: 1.1rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-about__body .ofixo-wpc-about__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.78);
	line-height: 1.7;
	font-size: 1rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-about__sub--muted {
	color: rgba(0, 0, 0, 0.6) !important;
}

/* Failures with 4 cards — force 2x2 at desktop */
@media (min-width: 800px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-failures--four .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1.6rem;
	}
}

/* Failures with 6 cards — force 3-col at desktop */
@media (min-width: 700px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-failures--six .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-failures--six .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Failure tag — small accent chip placed BETWEEN title and body */
body.ofixo-page-apartment-maintenance .ofixo-wpc-failures--tagged .ofixo-wpc-failure__title {
	margin-bottom: 0.35rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-failure__tag {
	display: inline-block;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.08);
	border-radius: 999px;
	padding: 0.3rem 0.7rem;
	width: fit-content;
	margin: 0 0 0.55rem;
}

/* Industries (DARK profile cards) — force 2x2 at desktop */
@media (min-width: 900px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-industries--four .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
/* Multi __label/__text pairs inside each profile — tighter spacing, no chip styling */
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__title {
	margin-bottom: 0.5rem !important;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__label {
	margin: 0.85rem 0 0.25rem !important;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__label:first-of-type {
	margin-top: 0.4rem !important;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0 0 0.35rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-industry__text:last-of-type {
	margin-bottom: 0;
}

/* Process — bullet list inside each step */
body.ofixo-page-apartment-maintenance .ofixo-wpc-step {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-step__list {
	list-style: none;
	padding: 0;
	margin: 0.6rem 0 0;
	display: grid;
	gap: 0.55rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.85rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-step__list li {
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.72);
	position: relative;
	padding-left: 1.4rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-step__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0.05rem;
	color: var(--wp--preset--color--accent, #E04E1F);
	font-weight: 800;
}
@media (min-width: 720px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Reasons — head block */
body.ofixo-page-apartment-maintenance .ofixo-wpc-reasons__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-reasons__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-reasons__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-reasons__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}

/* Related — head + 4-col grid */
body.ofixo-page-apartment-maintenance .ofixo-wpc-related__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-related__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-related__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-related__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-apartment-maintenance .ofixo-wpc-related__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 700px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-apartment-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* End Apartment Maintenance batch */


     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-warehouse-maintenance only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}


/* ===========================================================================
   WAREHOUSE MAINTENANCE — additional rules beyond warehouse-cloned base.
   Scoped to body.ofixo-page-warehouse-maintenance.
   =========================================================================== */

/* About — split layout (eyebrow+heading left, body right) */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-about__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
}
@media (min-width: 900px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-about__split {
		grid-template-columns: 5fr 7fr;
		gap: 3rem;
	}
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-about__intro .ofixo-eyebrow {
	margin-bottom: 0.7rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-about__heading {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-about__body {
	display: grid;
	gap: 1.1rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-about__body .ofixo-wpc-about__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.78);
	line-height: 1.7;
	font-size: 1rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-about__sub--muted {
	color: rgba(0, 0, 0, 0.6) !important;
}

/* Failures with 4 cards — force 2x2 at desktop */
@media (min-width: 800px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures--four .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1.6rem;
	}
}

/* Failures with 5 cards — 3-up at desktop with last row centered */
@media (min-width: 700px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures--five .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures--five .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Failure tag — small accent chip placed BETWEEN title and body */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failures--tagged .ofixo-wpc-failure__title {
	margin-bottom: 0.35rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failure__tag {
	display: inline-block;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.08);
	border-radius: 999px;
	padding: 0.3rem 0.7rem;
	width: fit-content;
	margin: 0 0 0.65rem;
}

/* Failure meta — small subblock at card foot (label + text), separator above */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failure__meta {
	margin-top: 0.9rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failure__meta-label {
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.45);
	margin: 0 0 0.3rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-failure__meta-text {
	font-size: 0.85rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Industries (DARK profile cards) — force 2x2 at desktop */
@media (min-width: 900px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries--four .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
/* Multi __label/__text pairs inside each profile */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__title {
	margin-bottom: 0.5rem !important;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__label {
	margin: 0.85rem 0 0.25rem !important;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__label:first-of-type {
	margin-top: 0.4rem !important;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0 0 0.35rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industry__text:last-of-type {
	margin-bottom: 0;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-industries__foot {
	text-align: center;
	max-width: 880px;
	margin: 2.2rem auto 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.95rem;
	line-height: 1.6;
}

/* Process — strip the global grey grid container so the section bg shows through */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
}
/* 5 steps, responsive grid 1 -> 2 -> 3 cols */
@media (min-width: 720px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-process--five-steps .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-process--five-steps .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-step {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

/* Reasons — head block */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-reasons__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-reasons__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-reasons__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-reasons__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}

/* Related — head + 4-col grid */
body.ofixo-page-warehouse-maintenance .ofixo-wpc-related__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-related__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-related__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-related__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-warehouse-maintenance .ofixo-wpc-related__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 700px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-warehouse-maintenance .ofixo-wpc-related__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* End Warehouse Maintenance batch */


/* ===========================================================================
   TURNKEY FIT-OUT SOLUTIONS — page block (post #641, top-level service)
   Base BEM cloned from warehouse-maintenance template + turnkey-specific additions.
   .ofixo-wpc-failures--four/--tagged (Stage 01..04 with chip tag),
   .ofixo-wpc-failures--seven --listed (7-card 3-col grid with ✓ bullet lists),
   .ofixo-wpc-failure--wide (full-width dark last card),
   .ofixo-wpc-failure__list (✓ checklist), .ofixo-wpc-failure__foot (italic tagline),
   .ofixo-wpc-industries--four (2x2 DARK with multi __label/__text),
   .ofixo-wpc-process--five-steps, .ofixo-wpc-finalcta (dark final).
   Scoped to body.ofixo-page-turnkey-fit-out-solutions only.
   =========================================================================== */



     .ofixo-wpc-systems (4-card 2x2 grid with rich meta) and
     .ofixo-wpc-industries (dark 5-card grid with key-demand pills).
   Scoped to body.ofixo-page-turnkey-fit-out-solutions only.
   =========================================================================== */

/* ---- 1) Shared inherited sections (failures, rel, services bg, 3-col process) ---- */

/* FAILURES (4 driver cards) */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.6rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__icon {
	display: inline-flex;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 10px;
	background: rgba(224, 78, 31, 0.12);
	color: var(--wp--preset--color--accent, #ff6a3d);
	font-size: 1.55rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Services bg override not needed here (the systems section uses its own class) */

/* RELATED cards */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-rel {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 12px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-rel:hover {
	transform: translateY(-2px);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-rel__title {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: rgba(0, 0, 0, 0.88);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-rel__body {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0 0 1rem;
	flex: 1;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-rel__link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent, #ff6a3d);
	text-decoration: none;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-rel__link:hover {
	text-decoration: underline;
}

/* Process — force 3-col at desktop */
@media (min-width: 720px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---- 2) NEW: .ofixo-wpc-systems — 4 industrial system cards in 2x2 ---- */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-systems__head {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-systems__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-systems__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-systems__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-systems__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-systems__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card {
	background: var(--wp--preset--color--cream, #f5efe6);
	border-radius: 16px;
	padding: 1.75rem 1.6rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__spec {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0;
	color: rgba(0, 0, 0, 0.92);
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.72);
	margin: 0;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__meta {
	margin: 0.4rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 0.9rem;
	display: grid;
	gap: 0.35rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__meta-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.5rem 0 0;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__meta-label:first-child {
	margin-top: 0;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-sys-card__meta-text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
	margin: 0 0 0.25rem;
}

/* ---- 3) NEW: .ofixo-wpc-industries — DARK section, 5 industry cards ---- */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries {
	background: #0F0F10 !important;
	color: rgba(255, 255, 255, 0.92);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.6) !important;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__head .ofixo-eyebrow > span {
	background: var(--wp--preset--color--accent, #E04E1F) !important;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: #ffffff;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	line-height: 1.55;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 900px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem;
	}
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry {
	background: #1C1C20 !important;
	border-radius: 14px;
	padding: 1.6rem 1.5rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	color: rgba(255, 255, 255, 0.85);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.25rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__num {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.18);
	border-radius: 999px;
	padding: 0.35rem 0.75rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__sector {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__title {
	font-size: 1.18rem;
	font-weight: 800;
	margin: 0 0 0.6rem;
	color: #ffffff !important;
	line-height: 1.25;
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__icon {
	font-size: 1.3rem;
	line-height: 1;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5) !important;
	margin: 0.5rem 0 0.2rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__demands {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__demand {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__foot {
	margin: 2rem auto 0;
	max-width: 760px;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.88rem;
	line-height: 1.55;
}


/* ===========================================================================
   TURNKEY FIT-OUT SOLUTIONS — additional rules beyond warehouse-cloned base.
   Scoped to body.ofixo-page-turnkey-fit-out-solutions.
   =========================================================================== */

/* About — split layout (eyebrow+heading left, body right) */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-about__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
}
@media (min-width: 900px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-about__split {
		grid-template-columns: 5fr 7fr;
		gap: 3rem;
	}
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-about__intro .ofixo-eyebrow {
	margin-bottom: 0.7rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-about__heading {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-about__body {
	display: grid;
	gap: 1.1rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-about__body .ofixo-wpc-about__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.78);
	line-height: 1.7;
	font-size: 1rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-about__sub--muted {
	color: rgba(0, 0, 0, 0.6) !important;
}

/* Failures with 4 cards — force 2x2 at desktop */
@media (min-width: 800px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures--four .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1.6rem;
	}
}

/* Failures with 5 cards — 3-up at desktop with last row centered */
@media (min-width: 700px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures--five .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures--five .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Failure tag — small accent chip placed BETWEEN title and body */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures--tagged .ofixo-wpc-failure__title {
	margin-bottom: 0.35rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__tag {
	display: inline-block;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E04E1F);
	background: rgba(224, 78, 31, 0.08);
	border-radius: 999px;
	padding: 0.3rem 0.7rem;
	width: fit-content;
	margin: 0 0 0.65rem;
}

/* Failure meta — small subblock at card foot (label + text), separator above */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__meta {
	margin-top: 0.9rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__meta-label {
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.45);
	margin: 0 0 0.3rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__meta-text {
	font-size: 0.85rem;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.7);
	margin: 0;
}

/* Industries (DARK profile cards) — force 2x2 at desktop */
@media (min-width: 900px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries--four .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
/* Multi __label/__text pairs inside each profile */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__title {
	margin-bottom: 0.5rem !important;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__label {
	margin: 0.85rem 0 0.25rem !important;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__label:first-of-type {
	margin-top: 0.4rem !important;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72) !important;
	margin: 0 0 0.35rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industry__text:last-of-type {
	margin-bottom: 0;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-industries__foot {
	text-align: center;
	max-width: 880px;
	margin: 2.2rem auto 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.95rem;
	line-height: 1.6;
}

/* Process — strip the global grey grid container so the section bg shows through */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
}
/* 5 steps, responsive grid 1 -> 2 -> 3 cols */
@media (min-width: 720px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-process--five-steps .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-process--five-steps .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-step {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

/* Reasons — head block */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-reasons__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-reasons__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-reasons__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-reasons__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}

/* Related — head + 4-col grid */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-related__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-related__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-related__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.4rem 0 0.6rem;
	color: rgba(0, 0, 0, 0.92);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-related__sub {
	margin: 0;
	color: rgba(0, 0, 0, 0.7);
	line-height: 1.55;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-related__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.4rem;
}
@media (min-width: 700px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-related__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* End Turnkey Fit-Out Solutions batch */

/* ===========================================================================
   TURNKEY FIT-OUT SOLUTIONS — additional rules beyond warehouse-cloned base.
   Scoped to body.ofixo-page-turnkey-fit-out-solutions.
   =========================================================================== */

/* SEVEN SCOPES — 3-col at desktop, with bullet checklists in cards */
@media (min-width: 700px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures--seven .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (min-width: 1000px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures--seven .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Bullet checklist inside scope cards */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__list {
	list-style: none;
	padding: 0;
	margin: 0.75rem 0 0.85rem;
	display: grid;
	gap: 0.5rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__list li {
	font-size: 0.92rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.78);
	position: relative;
	padding-left: 1.4rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0.05rem;
	color: var(--wp--preset--color--accent, #E04E1F);
	font-weight: 800;
}

/* Italic tagline footer inside scope cards */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure__foot {
	font-style: italic;
	font-size: 0.85rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.55);
	margin: 0.75rem 0 0;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* Wide last card — spans all columns, dark theme */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure--wide {
	grid-column: 1 / -1;
	background: var(--wp--preset--color--contrast, #1a1a1a) !important;
	color: rgba(255, 255, 255, 0.92);
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1.5rem;
	align-items: start;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure--wide .ofixo-wpc-failure__icon {
	grid-row: 1 / span 3;
	font-size: 2.4rem;
	margin: 0;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure--wide .ofixo-wpc-failure__tag {
	color: rgba(255, 255, 255, 0.55);
	background: rgba(255, 255, 255, 0.08);
	margin-bottom: 0.5rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure--wide .ofixo-wpc-failure__title {
	color: #ffffff !important;
	font-size: 1.35rem !important;
	margin: 0 0 0.5rem !important;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failure--wide .ofixo-wpc-failure__body {
	color: rgba(255, 255, 255, 0.78) !important;
	margin: 0;
	max-width: 80ch;
}

/* FOUR STAGES — Stage 01..04 tag styling */
@media (min-width: 800px) {
	body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-failures--four .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1.6rem;
	}
}

/* FINAL CTA — dark band at page end */
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-finalcta__inner {
	text-align: center;
	max-width: 880px;
	margin: 0 auto;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-finalcta__inner .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255, 255, 255, 0.55);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-finalcta__inner .ofixo-eyebrow span {
	background: rgba(255, 255, 255, 0.4);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-finalcta__heading {
	font-size: clamp(2rem, 3.6vw, 2.8rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0.5rem 0 1rem;
	color: #ffffff;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-finalcta__sub {
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.72);
	margin: 0 auto 1.6rem;
	max-width: 70ch;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-finalcta__ctas {
	display: flex;
	justify-content: center;
	gap: 0.9rem;
	flex-wrap: wrap;
	margin: 0 0 1.2rem;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-wpc-finalcta__meta {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.55);
	margin: 0;
	letter-spacing: 0.02em;
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-btn--ghost-light {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.3);
}
body.ofixo-page-turnkey-fit-out-solutions .ofixo-btn--ghost-light:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.5);
}

/* End Turnkey Fit-Out Solutions batch */

/* === AMC ===================================================================
   AMC — page block (post #642, sub-service under refurbishment-maintenance)
   Builds on the shared BEM vocabulary and adds NEW components:
   - .ofixo-wpc-compare  : dark 3-col commercial comparison table (5 dimensions)
   - .ofixo-wpc-tiers    : dark pricing tier band (4 cards, --popular highlight)
   - .ofixo-wpc-failures--eight : 8-card 4-col inclusion grid
   - .ofixo-wpc-industries--six --light : 6-card owner-profile grid on light bg
   Scoped to body.ofixo-page-amc only.
   STATS + MID CTA defer to global rules (no body-scoped override) — same
   pattern as apartment / warehouse / turnkey siblings.
   =========================================================================== */

/* ---- HERO -------------------------------------------------------------- */
body.ofixo-page-amc .ofixo-wpc-hero {
	background: var(--wp--preset--color--surface, #faf7f2);
}
body.ofixo-page-amc .ofixo-wpc-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	align-items: center;
}
@media (min-width: 980px) {
	body.ofixo-page-amc .ofixo-wpc-hero__grid {
		grid-template-columns: 1.05fr 1fr;
		gap: 3rem;
	}
}
body.ofixo-page-amc .ofixo-wpc-hero__copy h1 {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0.6rem 0 1rem;
}
body.ofixo-page-amc .ofixo-wpc-hero__lead {
	font-size: 1.05rem;
	line-height: 1.65;
	color: #4a4a4a;
	margin-bottom: 1.5rem;
}
body.ofixo-page-amc .ofixo-wpc-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}
body.ofixo-page-amc .ofixo-wpc-hero__trust {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	font-size: 0.9rem;
	color: #555;
}
body.ofixo-page-amc .ofixo-wpc-hero__trust li::before {
	content: "✓";
	color: #c8632e;
	margin-right: 0.4rem;
	font-weight: 700;
}
body.ofixo-page-amc .ofixo-wpc-hero__visual {
	position: relative;
	min-height: 320px;
}
body.ofixo-page-amc .ofixo-wpc-hero__image {
	border-radius: 16px;
	overflow: hidden;
	background: #1a1a1a;
	aspect-ratio: 4/3;
}
body.ofixo-page-amc .ofixo-wpc-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
body.ofixo-page-amc .ofixo-wpc-hero__badge {
	position: absolute;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 30px rgba(0,0,0,0.12);
	padding: 0.7rem 1rem;
	font-weight: 600;
	font-size: 0.9rem;
}
body.ofixo-page-amc .ofixo-wpc-hero__badge--top {
	top: 1rem;
	right: 1rem;
	background: #c8632e;
	color: #fff;
}
body.ofixo-page-amc .ofixo-wpc-hero__badge--bottom {
	bottom: 1rem;
	left: 1rem;
	display: flex;
	flex-direction: column;
}
body.ofixo-page-amc .ofixo-wpc-hero__badge-num {
	font-weight: 800;
	font-size: 1.1rem;
	color: #1a1a1a;
}
body.ofixo-page-amc .ofixo-wpc-hero__badge-label {
	font-size: 0.8rem;
	color: #666;
}

/* ---- STATS: NO body-scoped override (defers to global) ----------------- */

/* ---- ABOUT split -------------------------------------------------------- */
body.ofixo-page-amc .ofixo-wpc-about__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 920px) {
	body.ofixo-page-amc .ofixo-wpc-about__split {
		grid-template-columns: 5fr 7fr;
		gap: 4rem;
	}
}
body.ofixo-page-amc .ofixo-wpc-about__heading {
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0.6rem 0 0;
}
body.ofixo-page-amc .ofixo-wpc-about__sub {
	font-size: 1.02rem;
	line-height: 1.7;
	color: #3a3a3a;
	margin: 0 0 1.1rem;
}
body.ofixo-page-amc .ofixo-wpc-about__sub--muted {
	color: #666;
	margin-bottom: 0;
}

/* ---- COMPARE (NEW BEM) dark table -------------------------------------- */
body.ofixo-page-amc .ofixo-wpc-compare {
	background: var(--wp--preset--color--contrast, #1a1a1a) !important;
	color: #fff;
}
body.ofixo-page-amc .ofixo-wpc-compare__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-amc .ofixo-wpc-compare__head .ofixo-eyebrow {
	justify-content: center;
	color: #c8632e;
}
body.ofixo-page-amc .ofixo-wpc-compare__head .ofixo-eyebrow span {
	background: #c8632e;
}
body.ofixo-page-amc .ofixo-wpc-compare__head h2 {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.01em;
	margin: 0.5rem 0 0.8rem;
	line-height: 1.15;
}
body.ofixo-page-amc .ofixo-wpc-compare__sub {
	color: rgba(255,255,255,0.7);
	font-size: 0.95rem;
	line-height: 1.6;
}
body.ofixo-page-amc .ofixo-wpc-compare__table {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	background: transparent;
	border-radius: 0;
	overflow: visible;
	max-width: 1180px;
	margin: 0 auto;
}
body.ofixo-page-amc .ofixo-wpc-compare__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
	background: transparent;
}
@media (min-width: 860px) {
	body.ofixo-page-amc .ofixo-wpc-compare__row {
		grid-template-columns: 0.75fr 1.3fr 1.3fr;
		align-items: stretch;
	}
}
body.ofixo-page-amc .ofixo-wpc-compare__cell {
	background: transparent;
	padding: 1.1rem 1.25rem;
	font-size: 0.9rem;
	line-height: 1.55;
	color: rgba(255,255,255,0.85);
	border-radius: 10px;
}
body.ofixo-page-amc .ofixo-wpc-compare__cell--label {
	background: transparent;
	padding: 1.1rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
@media (min-width: 860px) {
	body.ofixo-page-amc .ofixo-wpc-compare__cell--label {
		padding: 1.1rem 0.25rem 1.1rem 0;
	}
}
body.ofixo-page-amc .ofixo-wpc-compare__num {
	font-size: 0.78rem;
	color: #c8632e;
	letter-spacing: 0.1em;
	font-weight: 700;
}
body.ofixo-page-amc .ofixo-wpc-compare__dim {
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.25;
}
body.ofixo-page-amc .ofixo-wpc-compare__cell--ad {
	background: #2a2a2a;
	border: 1px solid rgba(255,255,255,0.08);
}
body.ofixo-page-amc .ofixo-wpc-compare__cell--amc {
	background: rgba(200,99,46,0.18);
	color: #fff;
	border: 1px solid rgba(200,99,46,0.35);
	border-left: 4px solid #c8632e;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}
body.ofixo-page-amc .ofixo-wpc-compare__row--head .ofixo-wpc-compare__cell {
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.85rem 1.25rem;
	border-radius: 999px;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}
body.ofixo-page-amc .ofixo-wpc-compare__row--head .ofixo-wpc-compare__cell--label {
	background: transparent;
	border: none;
	padding: 0.85rem 0;
	color: #c8632e;
	border-radius: 0;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
}
body.ofixo-page-amc .ofixo-wpc-compare__row--head .ofixo-wpc-compare__cell--ad {
	background: #2a2a2a;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.12);
}
body.ofixo-page-amc .ofixo-wpc-compare__row--head .ofixo-wpc-compare__cell--ad::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255,255,255,0.6);
	display: inline-block;
	flex-shrink: 0;
}
body.ofixo-page-amc .ofixo-wpc-compare__row--head .ofixo-wpc-compare__cell--amc {
	background: #c8632e;
	color: #fff;
	border: none;
	border-radius: 999px;
}
body.ofixo-page-amc .ofixo-wpc-compare__row--head .ofixo-wpc-compare__cell--amc::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #fff;
	display: inline-block;
	flex-shrink: 0;
}
body.ofixo-page-amc .ofixo-wpc-compare__foot {
	max-width: 720px;
	margin: 2rem auto 0;
	text-align: center;
	font-size: 0.88rem;
	color: rgba(255,255,255,0.55);
	line-height: 1.55;
}

/* ---- FAILURES (inclusions, 8 cards 4-col --eight) ---------------------- */
body.ofixo-page-amc .ofixo-wpc-failures__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-amc .ofixo-wpc-failures__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-amc .ofixo-wpc-failures__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.5rem 0 0.8rem;
}
body.ofixo-page-amc .ofixo-wpc-failures__sub {
	color: #555;
	font-size: 0.98rem;
	line-height: 1.6;
}
body.ofixo-page-amc .ofixo-wpc-failures--eight .ofixo-wpc-failures__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-amc .ofixo-wpc-failures--eight .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-amc .ofixo-wpc-failures--eight .ofixo-wpc-failures__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
body.ofixo-page-amc .ofixo-wpc-failure {
	background: #fff;
	border: 1px solid #e8e2d8;
	border-radius: 14px;
	padding: 1.5rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
body.ofixo-page-amc .ofixo-wpc-failure__icon {
	font-size: 1.8rem;
	line-height: 1;
	margin-bottom: 0.25rem;
}
body.ofixo-page-amc .ofixo-wpc-failure__title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}
body.ofixo-page-amc .ofixo-wpc-failure__body {
	font-size: 0.9rem;
	line-height: 1.55;
	color: #555;
	margin: 0;
}

/* ---- TIERS (NEW BEM) dark pricing band -------------------------------- */
body.ofixo-page-amc .ofixo-wpc-tiers__head {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-amc .ofixo-wpc-tiers__head .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255,255,255,0.8);
}
body.ofixo-page-amc .ofixo-wpc-tiers__head .ofixo-eyebrow span {
	background: #c8632e;
}
body.ofixo-page-amc .ofixo-wpc-tiers__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.01em;
	margin: 0.5rem 0 0.8rem;
}
body.ofixo-page-amc .ofixo-wpc-tiers__sub {
	color: rgba(255,255,255,0.75);
	font-size: 0.98rem;
	line-height: 1.6;
}
body.ofixo-page-amc .ofixo-wpc-tiers__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	max-width: 1280px;
	margin: 0 auto;
}
@media (min-width: 760px) {
	body.ofixo-page-amc .ofixo-wpc-tiers__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1100px) {
	body.ofixo-page-amc .ofixo-wpc-tiers__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
body.ofixo-page-amc .ofixo-wpc-tier {
	position: relative;
	background: #1a1a1a;
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 16px;
	padding: 1.75rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}
body.ofixo-page-amc .ofixo-wpc-tier--popular {
	background: #fff;
	border-color: #c8632e;
	box-shadow: 0 12px 36px rgba(200,99,46,0.25);
}
body.ofixo-page-amc .ofixo-wpc-tier__flag {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: #c8632e;
	color: #fff;
	padding: 0.35rem 1rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0;
	white-space: nowrap;
}
body.ofixo-page-amc .ofixo-wpc-tier__num {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #c8632e;
	margin: 0;
}
body.ofixo-page-amc .ofixo-wpc-tier__name {
	font-size: 1.6rem;
	font-weight: 800;
	color: #fff;
	margin: 0;
	letter-spacing: -0.01em;
}
body.ofixo-page-amc .ofixo-wpc-tier--popular .ofixo-wpc-tier__name {
	color: #1a1a1a;
}
body.ofixo-page-amc .ofixo-wpc-tier__scope {
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.7);
	margin: 0 0 0.6rem;
	padding-bottom: 0.8rem;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}
body.ofixo-page-amc .ofixo-wpc-tier--popular .ofixo-wpc-tier__scope {
	color: #666;
	border-bottom-color: rgba(0,0,0,0.1);
}
body.ofixo-page-amc .ofixo-wpc-tier__block {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
body.ofixo-page-amc .ofixo-wpc-tier__label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #c8632e;
	margin: 0;
}
body.ofixo-page-amc .ofixo-wpc-tier__text {
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(255,255,255,0.78);
	margin: 0;
}
body.ofixo-page-amc .ofixo-wpc-tier--popular .ofixo-wpc-tier__text {
	color: #444;
}
body.ofixo-page-amc .ofixo-wpc-tier__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
body.ofixo-page-amc .ofixo-wpc-tier__features li {
	position: relative;
	padding-left: 1.4rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: rgba(255,255,255,0.85);
}
body.ofixo-page-amc .ofixo-wpc-tier--popular .ofixo-wpc-tier__features li {
	color: #2a2a2a;
}
body.ofixo-page-amc .ofixo-wpc-tier__features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #c8632e;
	font-weight: 700;
}
body.ofixo-page-amc .ofixo-wpc-tier__cta {
	margin-top: auto;
	text-align: center;
	justify-content: center;
}
body.ofixo-page-amc .ofixo-wpc-tiers__foot {
	max-width: 920px;
	margin: 2rem auto 0;
	text-align: center;
	font-size: 0.92rem;
	font-style: italic;
	color: rgba(255,255,255,0.7);
}

/* ---- PROCESS (5-step onboarding) -------------------------------------- */
body.ofixo-page-amc .ofixo-wpc-process__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-amc .ofixo-wpc-process__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-amc .ofixo-wpc-process__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.5rem 0 0.8rem;
}
body.ofixo-page-amc .ofixo-wpc-process__sub {
	color: #555;
	font-size: 0.98rem;
	line-height: 1.6;
}
body.ofixo-page-amc .ofixo-wpc-process--five-steps .ofixo-wpc-process__steps {
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-amc .ofixo-wpc-process--five-steps .ofixo-wpc-process__steps {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-amc .ofixo-wpc-process--five-steps .ofixo-wpc-process__steps {
		grid-template-columns: repeat(3, 1fr);
	}
}
body.ofixo-page-amc .ofixo-wpc-step {
	background: #fff;
	border: 1px solid #e8e2d8;
	border-radius: 14px;
	padding: 1.5rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
body.ofixo-page-amc .ofixo-wpc-step__num {
	display: inline-flex;
	width: 2.5rem;
	height: 2.5rem;
	align-items: center;
	justify-content: center;
	background: #c8632e;
	color: #fff;
	border-radius: 999px;
	font-weight: 800;
	font-size: 1rem;
}
body.ofixo-page-amc .ofixo-wpc-step__title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}
body.ofixo-page-amc .ofixo-wpc-step__body {
	font-size: 0.9rem;
	line-height: 1.55;
	color: #555;
	margin: 0;
}

/* ---- INDUSTRIES --six --light (owner profiles, light bg) -------------- */
body.ofixo-page-amc .ofixo-wpc-industries--light {
	color: inherit;
}
body.ofixo-page-amc .ofixo-wpc-industries__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}
body.ofixo-page-amc .ofixo-wpc-industries__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-amc .ofixo-wpc-industries__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.5rem 0 0.8rem;
}
body.ofixo-page-amc .ofixo-wpc-industries__sub {
	color: #555;
	font-size: 0.98rem;
	line-height: 1.6;
}
body.ofixo-page-amc .ofixo-wpc-industries--six .ofixo-wpc-industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 700px) {
	body.ofixo-page-amc .ofixo-wpc-industries--six .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1080px) {
	body.ofixo-page-amc .ofixo-wpc-industries--six .ofixo-wpc-industries__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
body.ofixo-page-amc .ofixo-wpc-industries--light .ofixo-wpc-industry {
	background: #fff;
	border: 1px solid #e8e2d8;
	border-radius: 14px;
	padding: 1.5rem 1.4rem;
}
body.ofixo-page-amc .ofixo-wpc-industries--light .ofixo-wpc-industry__title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 0.6rem;
	color: #1a1a1a;
}
body.ofixo-page-amc .ofixo-wpc-industries--light .ofixo-wpc-industry__text {
	font-size: 0.92rem;
	line-height: 1.55;
	color: #555;
	margin: 0;
}

/* ---- MID CTA: NO body-scoped override (defers to global) --------------- */

/* ---- FAQ --------------------------------------------------------------- */
body.ofixo-page-amc .ofixo-wpc-faqs__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2rem;
}
body.ofixo-page-amc .ofixo-wpc-faqs__head .ofixo-eyebrow {
	justify-content: center;
}
body.ofixo-page-amc .ofixo-wpc-faqs__head h2 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0.5rem 0 0.8rem;
}
body.ofixo-page-amc .ofixo-wpc-faqs__sub {
	color: #555;
	font-size: 0.98rem;
	line-height: 1.6;
}

/* ---- FINAL CTA --------------------------------------------------------- */
body.ofixo-page-amc .ofixo-wpc-finalcta__inner {
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}
body.ofixo-page-amc .ofixo-wpc-finalcta__inner .ofixo-eyebrow {
	justify-content: center;
	color: rgba(255,255,255,0.85);
}
body.ofixo-page-amc .ofixo-wpc-finalcta__inner .ofixo-eyebrow span {
	background: #c8632e;
}
body.ofixo-page-amc .ofixo-wpc-finalcta__heading {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.01em;
	margin: 0.5rem 0 1rem;
}
body.ofixo-page-amc .ofixo-wpc-finalcta__sub {
	font-size: 1rem;
	line-height: 1.65;
	color: rgba(255,255,255,0.85);
	margin: 0 0 1.5rem;
}
body.ofixo-page-amc .ofixo-wpc-finalcta__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	margin: 0 0 1rem;
}
body.ofixo-page-amc .ofixo-wpc-finalcta__meta {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.7);
	margin: 0;
}

/* End AMC batch */

/* === Global icon tint =======================================================
   Circle gradient background + white emoji glyph.
   Markup: <div class="ofixo-wpc-XXX__icon"><span>🛠️</span></div>
   The wrapping <span> isolates the filter so the gradient bg stays orange
   while the emoji inverts to white.
   =========================================================================== */
.ofixo-wpc-area__icon,
.ofixo-wpc-buyer__icon,
.ofixo-wpc-card__icon,
.ofixo-wpc-check__icon,
.ofixo-wpc-cost__icon,
.ofixo-wpc-disambig__icon,
.ofixo-wpc-failure__icon,
.ofixo-wpc-failures__icon,
.ofixo-wpc-feature__icon,
.ofixo-wpc-industry__icon,
.ofixo-wpc-method__icon,
.ofixo-wpc-mtype__icon,
.ofixo-wpc-reason__icon,
.ofixo-wpc-reasons__icon,
.ofixo-wpc-sign__icon,
.ofixo-wpc-svc__icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, #c8632e 100%);
	font-size: 1.5rem;
	line-height: 1;
	box-shadow: 0 6px 16px rgba(200, 99, 46, 0.25);
	flex-shrink: 0;
	filter: none;
	color: #fff;
}
/* Larger feature__icon — the "What's Included" cards on roof-waterproofing
 * get an oversized circle since they sit in a dark media tile. */
.ofixo-wpc-feature__icon {
	width: 88px;
	height: 88px;
}
.ofixo-wpc-feature__icon svg {
	width: 44px !important;
	height: 44px !important;
}
.ofixo-wpc-area__icon svg,
.ofixo-wpc-buyer__icon svg,
.ofixo-wpc-card__icon svg,
.ofixo-wpc-check__icon svg,
.ofixo-wpc-cost__icon svg,
.ofixo-wpc-disambig__icon svg,
.ofixo-wpc-failure__icon svg,
.ofixo-wpc-failures__icon svg,
.ofixo-wpc-feature__icon svg,
.ofixo-wpc-industry__icon svg,
.ofixo-wpc-method__icon svg,
.ofixo-wpc-mtype__icon svg,
.ofixo-wpc-reason__icon svg,
.ofixo-wpc-reasons__icon svg,
.ofixo-wpc-sign__icon svg,
.ofixo-wpc-svc__icon svg {
	width: 28px;
	height: 28px;
	display: block;
}
.ofixo-wpc-area__icon > span,
.ofixo-wpc-buyer__icon > span,
.ofixo-wpc-card__icon > span,
.ofixo-wpc-check__icon > span,
.ofixo-wpc-cost__icon > span,
.ofixo-wpc-disambig__icon > span,
.ofixo-wpc-failure__icon > span,
.ofixo-wpc-failures__icon > span,
.ofixo-wpc-feature__icon > span,
.ofixo-wpc-industry__icon > span,
.ofixo-wpc-method__icon > span,
.ofixo-wpc-mtype__icon > span,
.ofixo-wpc-reason__icon > span,
.ofixo-wpc-reasons__icon > span,
.ofixo-wpc-sign__icon > span,
.ofixo-wpc-svc__icon > span {
	/* filter removed — emoji bitmaps go silhouette under brightness(0)+invert(1); keeping native colours instead */
	line-height: 1;
}
/* End global icon tint */

/* === Global icon override ===================================================
   Ensures every .ofixo-wpc-*__icon across every page renders as a brand-orange
   gradient circle with a white inline SVG, beating any body-scoped legacy
   overrides on equal-specificity cascade (last-defined wins).
   =========================================================================== */
.ofixo-icon-box,
body[class*="ofixo-page-"] .ofixo-wpc-area__icon,
body[class*="ofixo-page-"] .ofixo-wpc-buyer__icon,
body[class*="ofixo-page-"] .ofixo-wpc-card__icon,
body[class*="ofixo-page-"] .ofixo-wpc-check__icon,
body[class*="ofixo-page-"] .ofixo-wpc-cost__icon,
body[class*="ofixo-page-"] .ofixo-wpc-disambig__icon,
body[class*="ofixo-page-"] .ofixo-wpc-failure__icon,
body[class*="ofixo-page-"] .ofixo-wpc-failures__icon,
body[class*="ofixo-page-"] .ofixo-wpc-feature__icon,
body[class*="ofixo-page-"] .ofixo-wpc-industry__icon,
body[class*="ofixo-page-"] .ofixo-wpc-method__icon,
body[class*="ofixo-page-"] .ofixo-wpc-mtype__icon,
body[class*="ofixo-page-"] .ofixo-wpc-reason__icon,
body[class*="ofixo-page-"] .ofixo-wpc-reasons__icon,
body[class*="ofixo-page-"] .ofixo-wpc-sign__icon,
body[class*="ofixo-page-"] .ofixo-wpc-svc__icon,
body[class*="ofixo-page-"] .ofixo-wpc-vs-card__icon,
body[class*="ofixo-page-"] .ofixo-wpc-warn-card__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 56px !important;
	height: 56px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, #c8632e 100%) !important;
	font-size: 1.5rem !important;
	line-height: 1 !important;
	box-shadow: 0 6px 16px rgba(200, 99, 46, 0.25) !important;
	flex-shrink: 0 !important;
	filter: none !important;
	color: #fff !important;
	padding: 0 !important;
}
.ofixo-icon-box > svg,
body[class*="ofixo-page-"] .ofixo-wpc-area__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-buyer__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-card__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-check__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-cost__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-disambig__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-failure__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-failures__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-feature__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-industry__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-method__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-mtype__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-reason__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-reasons__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-sign__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-svc__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-vs-card__icon > svg,
body[class*="ofixo-page-"] .ofixo-wpc-warn-card__icon > svg {
	width: 28px !important;
	height: 28px !important;
	display: block !important;
}
/* End global icon override */
/* === Hero H1 desktop cap =====================================================
   Single source of truth for desktop hero heading size across every hero
   variant: pages, services CPT, projects, blog, single-post, products.
   Beats body-scoped per-page overrides via cascade order + !important.
   =========================================================================== */
@media (min-width: 992px) {
	.ofixo-page-hero h1,
	.ofixo-svc-hero h1,
	.ofixo-blog-hero h1,
	.ofixo-post-hero h1,
	.ofixo-products-hero h1,
	.ofixo-wpc-hero h1,
	.ofixo-wpc-hero__copy h1,
	body[class*="ofixo-page-"] .ofixo-wpc-hero h1,
	body[class*="ofixo-page-"] .ofixo-wpc-hero__copy h1 {
		font-size: 2.5rem !important;
	}
}
/* End hero H1 desktop cap */
/* === Recent posts marquee ====================================================
   Top-bar infinite horizontal carousel of the latest 5 post titles.
   Track is duplicated server-side so translateX(-50%) yields a seamless loop.
   Hovering anywhere over the marquee pauses the animation.
   =========================================================================== */
.ofixo-announce__row {
	align-items: center;
	gap: 1.5rem;
}
.ofixo-announce__row > .ofixo-announce-info,
.ofixo-announce__row > p {
	flex: 0 0 auto;
	white-space: nowrap;
}
.ofixo-marquee {
	overflow: hidden;
	flex: 1 1 auto;
	min-width: 0;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
@media (max-width: 860px) {
	.ofixo-marquee { display: none; }
}
.ofixo-marquee__track {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	white-space: nowrap;
	animation-name: ofixo-marquee-scroll;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	will-change: transform;
}
.ofixo-marquee:hover .ofixo-marquee__track,
.ofixo-marquee:focus-within .ofixo-marquee__track {
	animation-play-state: paused;
}
.ofixo-marquee__item {
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 700;
	letter-spacing: 0.02em;
	font-size: 0.85rem;
	padding: 0 0.15rem;
	transition: opacity 0.15s ease;
}
.ofixo-marquee__item:hover,
.ofixo-marquee__item:focus {
	opacity: 0.78;
	text-decoration: underline !important;
}
.ofixo-marquee__sep {
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.7rem;
	user-select: none;
}
@keyframes ofixo-marquee-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.ofixo-marquee__track { animation: none; }
}
/* End recent posts marquee */
/* === Projects listing =======================================================
   /projects/ page sections + project popup modal.
   =========================================================================== */

/* HERO */
.ofixo-projects-hero__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; }
@media (min-width: 980px) { .ofixo-projects-hero__grid { grid-template-columns: 1.1fr 1fr; gap: 3rem; } }
.ofixo-projects-hero__copy h1 { font-size: clamp(2rem, 3.6vw, 2.75rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; margin: 0.6rem 0 1.1rem; }
.ofixo-projects-hero__lead { font-size: 1.02rem; line-height: 1.65; color: #4a4a4a; margin-bottom: 1.75rem; }
.ofixo-projects-hero__stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem 1.25rem; }
@media (min-width: 600px) { .ofixo-projects-hero__stats { grid-template-columns: repeat(4, 1fr); } }
.ofixo-projects-hero__stat { display: flex; flex-direction: column; gap: 0.2rem; }
.ofixo-projects-hero__stat-num { font-size: clamp(1.7rem, 2.6vw, 2.25rem); font-weight: 800; color: var(--wp--preset--color--primary, #e04e1f); line-height: 1.05; }
.ofixo-projects-hero__stat-label { font-size: 0.82rem; color: #6b7280; }
.ofixo-projects-hero__visual { position: relative; min-height: 280px; }
.ofixo-projects-hero__image { border-radius: 16px; overflow: hidden; background: #1a1a1a; aspect-ratio: 16/10; }
.ofixo-projects-hero__image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* TRUST BAR */
.ofixo-projects-trust__inner { max-width: 1280px; margin: 0 auto; padding: 1.4rem 1.25rem; display: grid; grid-template-columns: 1fr; gap: 0.85rem; text-align: center; }
@media (min-width: 760px) { .ofixo-projects-trust__inner { grid-template-columns: repeat(5, 1fr); } }
.ofixo-projects-trust__cell { display: flex; flex-direction: column; gap: 0.2rem; }
.ofixo-projects-trust__title { color: #fff; font-weight: 700; font-size: 0.95rem; }
.ofixo-projects-trust__sub { color: rgba(255,255,255,0.65); font-size: 0.78rem; }

/* BROWSE / FILTER / GRID */
.ofixo-projects-browse__head { text-align: center; max-width: 920px; margin: 0 auto 2rem; }
.ofixo-projects-browse__head .ofixo-eyebrow { justify-content: center; }
.ofixo-projects-browse__head h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 800; letter-spacing: -0.01em; margin: 0.5rem 0 0.8rem; }
.ofixo-projects-browse__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-projects-filter { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 auto 2rem; max-width: 1100px; justify-content: center; }
@media (max-width: 767px) {
	.ofixo-projects-filter { flex-wrap: wrap; justify-content: flex-start; gap: 0.45rem; padding: 0 0.25rem 0.5rem; max-width: 100%; }
	.ofixo-projects-pill { padding: 0.45rem 0.85rem; font-size: 0.8rem; }
	.ofixo-projects-pill__count { font-size: 0.68rem; }
	.ofixo-projects-filter-group { padding: 0 0.5rem; box-sizing: border-box; max-width: 100%; }
	.ofixo-projects-filter--sector { padding-top: 0.65rem; }
}
.ofixo-projects-pill { border: 1px solid #e5e7eb; background: #fff; color: #1f2937; padding: 0.55rem 1.1rem; border-radius: 999px; font-size: 0.88rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: all 0.15s ease; }
.ofixo-projects-pill:hover { border-color: var(--wp--preset--color--primary, #e04e1f); color: var(--wp--preset--color--primary, #e04e1f); }
.ofixo-projects-pill.is-active { background: var(--wp--preset--color--primary, #e04e1f); border-color: var(--wp--preset--color--primary, #e04e1f); color: #fff; }
.ofixo-projects-pill__count { font-size: 0.74rem; opacity: 0.85; margin-left: 0.35rem; font-weight: 700; }

.ofixo-projects-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; max-width: 1280px; margin: 0 auto; }
@media (min-width: 720px) { .ofixo-projects-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-projects-grid { grid-template-columns: repeat(3, 1fr); } }

.ofixo-project-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; cursor: pointer; display: flex; flex-direction: column; transition: transform 0.18s ease, box-shadow 0.18s ease; }
.ofixo-project-card:hover, .ofixo-project-card:focus { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,0.10); outline: none; }
.ofixo-project-card__media { position: relative; aspect-ratio: 16/9; overflow: hidden; background: linear-gradient(135deg, #2a1410 0%, #4a2418 100%); }
.ofixo-project-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ofixo-project-card__media-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.45); font-size: 0.85rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 1rem; text-align: center; }
.ofixo-project-card__pill { position: absolute; top: 0.9rem; left: 0.9rem; background: var(--wp--preset--color--primary, #e04e1f); color: #fff; padding: 0.3rem 0.8rem; border-radius: 999px; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.ofixo-project-card.is-featured .ofixo-project-card__pill { box-shadow: 0 4px 14px rgba(224, 78, 31, 0.45); }
.ofixo-project-card__body { padding: 1.25rem 1.4rem 1.4rem; flex-grow: 1; display: flex; flex-direction: column; gap: 0.4rem; }
.ofixo-project-card__client { font-size: 1.12rem; font-weight: 700; margin: 0; line-height: 1.25; color: #0f0f10; }
.ofixo-project-card__scope { font-size: 0.88rem; color: #6b7280; margin: 0; line-height: 1.5; }
.ofixo-project-card__loc { font-size: 0.8rem; color: #6b7280; margin: 0.3rem 0 0; }
.ofixo-project-card__more { color: var(--wp--preset--color--primary, #e04e1f); font-weight: 700; font-size: 0.85rem; margin-top: auto; padding-top: 0.4rem; }

.ofixo-projects-actions { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; margin-top: 2rem; }
.ofixo-projects-loadmore { background: #fff; border: 2px solid #1f2937; color: #1f2937; padding: 0.7rem 1.5rem; border-radius: 999px; font-size: 0.9rem; font-weight: 700; cursor: pointer; transition: all 0.15s; }
.ofixo-projects-loadmore:hover { background: #1f2937; color: #fff; }
.ofixo-projects-count { color: #6b7280; font-size: 0.85rem; margin: 0; }

/* SECTORS STRIP */
.ofixo-projects-sectors__head { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.ofixo-projects-sectors__head .ofixo-eyebrow { justify-content: center; }
.ofixo-projects-sectors__head h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 800; margin: 0.5rem 0 0.8rem; letter-spacing: -0.01em; }
.ofixo-projects-sectors__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-projects-sectors__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 700px) { .ofixo-projects-sectors__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-projects-sectors__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-projects-sector { background: #fff; border: 1px solid #e8e2d8; border-radius: 14px; padding: 1.5rem 1.4rem; display: flex; flex-direction: column; gap: 0.6rem; }
.ofixo-projects-sector h3 { margin: 0; font-size: 1.05rem; font-weight: 700; }
.ofixo-projects-sector p { margin: 0; color: #555; font-size: 0.9rem; line-height: 1.55; }
.ofixo-projects-sector__count { font-size: 1.3rem; font-weight: 800; color: var(--wp--preset--color--primary, #e04e1f); margin-top: auto; padding-top: 0.4rem; }
.ofixo-projects-sector__count em { font-size: 0.7rem; font-weight: 600; color: #9ca3af; font-style: normal; letter-spacing: 0.06em; text-transform: uppercase; margin-left: 0.4rem; }

/* SIX THINGS */
.ofixo-projects-track__head { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; }
.ofixo-projects-track__head .ofixo-eyebrow { justify-content: center; color: rgba(255,255,255,0.7); }
.ofixo-projects-track__head .ofixo-eyebrow span { background: var(--wp--preset--color--primary, #e04e1f); }
.ofixo-projects-track__head h2 { color: #fff; font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-projects-track__sub { color: rgba(255,255,255,0.7); font-size: 0.98rem; line-height: 1.6; }
.ofixo-projects-track__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 700px) { .ofixo-projects-track__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-projects-track__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-projects-track__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; padding: 1.6rem 1.5rem; display: flex; flex-direction: column; gap: 0.7rem; }
.ofixo-projects-track__card h3 { color: #fff; font-size: 1.05rem; font-weight: 700; margin: 0; }
.ofixo-projects-track__card p { color: rgba(255,255,255,0.7); font-size: 0.9rem; line-height: 1.6; margin: 0; }

/* TESTIMONIALS */
.ofixo-projects-testimonials__head { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; }
.ofixo-projects-testimonials__head .ofixo-eyebrow { justify-content: center; }
.ofixo-projects-testimonials__head h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-projects-testimonials__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-projects-testimonials__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 900px) { .ofixo-projects-testimonials__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-projects-testimonial { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 1.75rem 1.6rem; position: relative; margin: 0; }
.ofixo-projects-testimonial p { color: #1f2937; font-size: 0.95rem; line-height: 1.65; margin: 0 0 1.25rem; }
.ofixo-projects-testimonial footer { display: flex; flex-direction: column; gap: 0.15rem; border-top: 1px solid #e5e7eb; padding-top: 1rem; }
.ofixo-projects-testimonial footer strong { color: #0f0f10; font-size: 0.92rem; }
.ofixo-projects-testimonial footer span { color: #6b7280; font-size: 0.8rem; }

/* FAQs head */
.ofixo-projects-faqs__head { text-align: center; max-width: 820px; margin: 0 auto 2rem; }
.ofixo-projects-faqs__head .ofixo-eyebrow { justify-content: center; }
.ofixo-projects-faqs__head h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-projects-faqs__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }

/* === PROJECT POPUP MODAL */
.ofixo-project-popup {
	position: fixed; inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	z-index: 100000;
}
.ofixo-project-popup.is-open { display: flex; }
.ofixo-project-popup__backdrop {
	position: absolute; inset: 0;
	background: rgba(0, 0, 0, 0.65);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	transition: opacity 220ms ease;
}
.ofixo-project-popup.is-open .ofixo-project-popup__backdrop { opacity: 1; }
.ofixo-project-popup.is-closing .ofixo-project-popup__backdrop { opacity: 0; }
.ofixo-project-popup__panel {
	position: relative;
	width: min(1180px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr;
	opacity: 0;
	transform: translateY(-20px) scale(0.97);
	transition: opacity 240ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ofixo-project-popup.is-open .ofixo-project-popup__panel {
	opacity: 1;
	transform: translateY(0) scale(1);
}
.ofixo-project-popup.is-closing .ofixo-project-popup__panel {
	opacity: 0;
	transform: translateY(-20px) scale(0.97);
}
@media (min-width: 900px) { .ofixo-project-popup__panel { grid-template-columns: 1.4fr 1fr; } }
.ofixo-project-popup__close { position: absolute; top: 0.85rem; right: 0.85rem; z-index: 5; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 1px solid #e5e7eb; color: #1f2937; font-size: 1.4rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ofixo-project-popup__close:hover { background: #1f2937; color: #fff; }

.ofixo-project-popup__media { background: #0f0f10; display: flex; flex-direction: column; gap: 0; }
.ofixo-project-popup__hero { position: relative; aspect-ratio: 4/3; background: linear-gradient(135deg, #2a1410 0%, #4a2418 100%); display: flex; align-items: center; justify-content: center; }
.ofixo-project-popup__heroimg { width: 100%; height: 100%; object-fit: cover; display: block; }
.ofixo-project-popup__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.45); font-size: 0.9rem; }
.ofixo-project-popup__counter { position: absolute; top: 1rem; left: 1rem; background: rgba(0,0,0,0.7); color: #fff; padding: 0.3rem 0.85rem; border-radius: 999px; font-size: 0.78rem; font-weight: 600; }
.ofixo-project-popup__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%; background: #fff; border: none; font-size: 1.4rem; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.ofixo-project-popup__nav--prev { left: 1rem; }
.ofixo-project-popup__nav--next { right: 1rem; }
.ofixo-project-popup__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; padding: 0.85rem; background: #0f0f10; }
.ofixo-project-popup__thumb { position: relative; aspect-ratio: 1/1; background: #2a1410; border: 2px solid transparent; border-radius: 8px; overflow: hidden; cursor: pointer; padding: 0; }
.ofixo-project-popup__thumb.is-active { border-color: var(--wp--preset--color--primary, #e04e1f); }
.ofixo-project-popup__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ofixo-project-popup__thumb span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.4); font-size: 0.78rem; font-weight: 600; }
.ofixo-project-popup__thumb img + span { display: none; }

.ofixo-project-popup__info { padding: 1.5rem 1.75rem 1.75rem; overflow-y: auto; }
.ofixo-project-popup__service { display: inline-block; background: var(--wp--preset--color--primary, #e04e1f); color: #fff; padding: 0.35rem 0.9rem; border-radius: 999px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; margin-bottom: 1.5rem; }
.ofixo-project-popup__client-label { font-size: 0.72rem; letter-spacing: 0.12em; color: #6b7280; font-weight: 700; margin: 0 0 0.3rem; }
.ofixo-project-popup__client { font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 800; color: #0f0f10; letter-spacing: -0.01em; margin: 0 0 1.25rem; line-height: 1.2; }
.ofixo-project-popup__rule { border: none; border-top: 1px solid #e5e7eb; margin: 0 0 1rem; }
.ofixo-project-popup__scope-label { font-size: 0.72rem; letter-spacing: 0.12em; color: #6b7280; font-weight: 700; margin: 0 0 0.4rem; }
.ofixo-project-popup__scope { color: #1f2937; font-size: 0.97rem; line-height: 1.6; margin: 0 0 1.25rem; }
.ofixo-project-popup__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin: 0 0 1.25rem; }
.ofixo-project-popup__metacard { background: #fef5f1; border: 1px solid #fde2d8; border-radius: 10px; padding: 0.7rem 0.85rem; }
.ofixo-project-popup__metacard-label { font-size: 0.7rem; color: var(--wp--preset--color--primary, #e04e1f); font-weight: 700; letter-spacing: 0.06em; margin: 0 0 0.2rem; }
.ofixo-project-popup__metacard-value { font-size: 0.88rem; color: #1f2937; font-weight: 600; margin: 0; }
.ofixo-project-popup__contractor { background: #1a1a1a; color: #fff; border-radius: 10px; padding: 0.7rem 0.9rem; font-size: 0.85rem; margin: 0 0 1.25rem; display: flex; align-items: center; gap: 0.55rem; }
.ofixo-project-popup__check { background: var(--wp--preset--color--primary, #e04e1f); color: #fff; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; flex-shrink: 0; }
.ofixo-project-popup__cta { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; background: var(--wp--preset--color--primary, #e04e1f); color: #fff !important; text-decoration: none !important; padding: 0.85rem 1.2rem; border-radius: 10px; font-weight: 700; width: 100%; box-sizing: border-box; margin-bottom: 0.65rem; }
.ofixo-project-popup__cta:hover { background: #c8632e; }
.ofixo-project-popup__or { font-size: 0.82rem; color: #6b7280; margin: 0; }
.ofixo-project-popup__or a { color: #1f2937; font-weight: 700; text-decoration: none; }
.ofixo-project-popup__or a:hover { text-decoration: underline; }

@media (max-width: 899px) {
	.ofixo-project-popup__panel { max-height: 100vh; height: 100%; border-radius: 0; }
	.ofixo-project-popup__media { max-height: 50vh; }
	.ofixo-project-popup__thumbs { grid-template-columns: repeat(4, 1fr); }
	.ofixo-project-popup__info { padding: 1.25rem 1.25rem 1.75rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ofixo-project-popup__backdrop, .ofixo-project-popup__panel { animation: none !important; }
}
/* End projects listing */
/* === About Us ==============================================================
   /about-us/ (page #802). Scoped by leading section classes, no global clobbers.
   =========================================================================== */

/* HISTORY / STORY SECTION ---------------------------------------------- */
.ofixo-about-history { background: #fff !important; }
.ofixo-about-history__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: start; }
@media (min-width: 980px) { .ofixo-about-history__grid { grid-template-columns: 1.1fr 1fr; gap: 3.5rem; } }
.ofixo-about-history__copy h2 { font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; letter-spacing: -0.01em; margin: 0.5rem 0 1rem; }
.ofixo-about-history__copy p { color: #4a4a4a; line-height: 1.7; margin: 0 0 1rem; font-size: 1rem; }
.ofixo-about-history__timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.ofixo-about-history__timeline li { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; background: #fff; border: 1px solid #e8e2d8; border-radius: 12px; padding: 1rem 1.2rem; }
.ofixo-about-history__year { font-weight: 800; color: var(--wp--preset--color--primary, #e04e1f); font-size: 0.95rem; letter-spacing: 0.04em; }
.ofixo-about-history__timeline strong { display: block; font-size: 1rem; color: #0f0f10; margin-bottom: 0.2rem; }
.ofixo-about-history__timeline p { margin: 0; color: #555; font-size: 0.88rem; line-height: 1.55; }

/* DARK BIG NUMBERS (40+ / 150+ / 30 / 100% / 5 / 7) ------------------- */
.ofixo-about-bignums__head { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; }
.ofixo-about-bignums__head .ofixo-eyebrow { justify-content: center; color: rgba(255,255,255,0.75); }
.ofixo-about-bignums__head .ofixo-eyebrow span { background: var(--wp--preset--color--primary, #e04e1f); }
.ofixo-about-bignums__head h2 { color: #fff; font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-about-bignums__sub { color: rgba(255,255,255,0.7); font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-bignums__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; max-width: 1280px; margin: 0 auto; }
@media (min-width: 720px) { .ofixo-about-bignums__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-about-bignums__card { background: var(--wp--preset--color--primary, #e04e1f); border: 1px solid transparent; border-radius: 14px; padding: 1.5rem 1.4rem; display: flex; flex-direction: column; gap: 0.55rem; min-height: 130px; }
.ofixo-about-bignums__card--accent { background: var(--wp--preset--color--primary, #e04e1f); }
.ofixo-about-bignums__num { font-size: clamp(1.9rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1; letter-spacing: -0.02em; }
.ofixo-about-bignums__label { color: rgba(255,255,255,0.95); font-size: 0.85rem; line-height: 1.5; }

/* THREE PILLARS (white cards on white section, orange accents) -------- */
.ofixo-about-pillars__head { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.ofixo-about-pillars__head .ofixo-eyebrow { justify-content: center; }
.ofixo-about-pillars__head h2 { color: #0f0f10; font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; letter-spacing: -0.01em; }
.ofixo-about-pillars__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-pillars__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: stretch; }
@media (min-width: 880px) { .ofixo-about-pillars__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-about-pillar { background: #fff; border: 1px solid #e8e2d8; border-radius: 16px; padding: 1.8rem 1.6rem; display: flex; flex-direction: column; gap: 0.85rem; color: #1f2937; box-shadow: 0 4px 14px rgba(0,0,0,0.04); }
.ofixo-about-pillar__eyebrow { color: var(--wp--preset--color--primary, #e04e1f); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; margin: 0.25rem 0 -0.1rem; }
.ofixo-about-pillar h3 { font-size: 1.3rem; font-weight: 800; margin: 0; line-height: 1.25; color: #0f0f10; letter-spacing: -0.01em; }
.ofixo-about-pillar__body { margin: 0; color: #4b5563; font-size: 0.95rem; line-height: 1.65; }
.ofixo-about-pillar__rule { border: none; border-top: 1px solid #ececec; margin: 0.4rem 0 0.2rem; }
.ofixo-about-pillar__list-label { color: var(--wp--preset--color--primary, #e04e1f); font-size: 0.95rem; font-weight: 700; margin: 0 0 0.4rem; }
.ofixo-about-pillar__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.7rem; }
.ofixo-about-pillar__list li { position: relative; padding-left: 2rem; color: #374151; font-size: 0.92rem; line-height: 1.55; }
.ofixo-about-pillar__list li::before { content: "✓"; position: absolute; left: 0; top: 0.1rem; width: 20px; height: 20px; border-radius: 50%; background: var(--wp--preset--color--primary, #e04e1f); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 800; line-height: 1; }

/* FIVE VALUES ---------------------------------------------------------- */
.ofixo-about-values { background: var(--wp--preset--color--cream) !important; }
.ofixo-about-values__head { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.ofixo-about-values__head .ofixo-eyebrow { justify-content: center; }
.ofixo-about-values__head h2 { font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-about-values__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-values__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .ofixo-about-values__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-about-value { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 1.5rem 1.4rem; display: flex; flex-direction: column; gap: 0.55rem; position: relative; }
/* All five value cards use the white card style — no dark variant */
.ofixo-about-value__num { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; color: var(--wp--preset--color--primary, #e04e1f); background: rgba(224, 78, 31, 0.1); padding: 0.25rem 0.7rem; border-radius: 999px; display: inline-block; width: max-content; }
.ofixo-about-value h3 { font-size: 1.05rem; font-weight: 700; margin: 0; line-height: 1.3; }
.ofixo-about-value p { margin: 0; color: #555; font-size: 0.9rem; line-height: 1.6; }
.ofixo-about-values__foot { text-align: center; max-width: 760px; margin: 2rem auto 0; color: #6b7280; font-size: 0.92rem; font-style: italic; line-height: 1.6; }

/* FOUR PRINCIPLES ----------------------------------------------------- */
.ofixo-about-principles { background: #fff !important; }
.ofixo-about-principles__head { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.ofixo-about-principles__head .ofixo-eyebrow { justify-content: center; }
.ofixo-about-principles__head h2 { font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-about-principles__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-principles__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 720px) { .ofixo-about-principles__grid { grid-template-columns: repeat(2, 1fr); } }
.ofixo-about-principle { background: #fff; border: 1px solid #e8e2d8; border-radius: 14px; padding: 1.7rem 1.6rem; display: flex; flex-direction: column; gap: 0.7rem; }
.ofixo-about-principle h3 { font-size: 1.1rem; font-weight: 700; margin: 0; line-height: 1.3; color: #0f0f10; }
.ofixo-about-principle p { margin: 0; color: #555; font-size: 0.93rem; line-height: 1.6; }

/* SIX SERVICE CARDS (with featured images) ---------------------------- */
.ofixo-about-services { background: var(--wp--preset--color--cream) !important; }
.ofixo-about-services__head { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; }
.ofixo-about-services__head .ofixo-eyebrow { justify-content: center; }
.ofixo-about-services__head h2 { font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-about-services__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-services__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; max-width: 1280px; margin: 0 auto; }
@media (min-width: 720px) { .ofixo-about-services__grid { grid-template-columns: repeat(2, 1fr); } }
.ofixo-about-svc { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; text-decoration: none !important; color: inherit !important; display: grid; grid-template-columns: 160px 1fr; gap: 0; transition: transform 0.18s ease, box-shadow 0.18s ease; }
@media (max-width: 559px) { .ofixo-about-svc { grid-template-columns: 1fr; } }
.ofixo-about-svc:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(0,0,0,0.10); }
.ofixo-about-svc__media { position: relative; aspect-ratio: 1/1; overflow: hidden; background: linear-gradient(135deg, var(--wp--preset--color--primary, #e04e1f) 0%, #c8632e 100%); display: flex; align-items: center; justify-content: center; }
@media (max-width: 559px) { .ofixo-about-svc__media { aspect-ratio: 16/9; } }
.ofixo-about-svc__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ofixo-about-svc__media-fallback { color: #fff; font-weight: 700; font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.5rem; text-align: center; }
.ofixo-about-svc__body { padding: 1.3rem 1.4rem; display: flex; flex-direction: column; gap: 0.5rem; }
.ofixo-about-svc__title { font-size: 1.08rem; font-weight: 700; margin: 0; color: #0f0f10; line-height: 1.3; }
.ofixo-about-svc__blurb { font-size: 0.9rem; color: #555; line-height: 1.55; margin: 0; flex-grow: 1; }
.ofixo-about-svc__more { color: var(--wp--preset--color--primary, #e04e1f); font-weight: 700; font-size: 0.88rem; }

/* SIX SECTORS --------------------------------------------------------- */
.ofixo-about-sectors__head { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.ofixo-about-sectors__head .ofixo-eyebrow { justify-content: center; }
.ofixo-about-sectors__head h2 { font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-about-sectors__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-sectors__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .ofixo-about-sectors__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .ofixo-about-sectors__grid { grid-template-columns: repeat(3, 1fr); } }
.ofixo-about-sector { background: #fff; border: 1px solid #e8e2d8; border-radius: 14px; padding: 1.4rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; }
.ofixo-about-sector h3 { font-size: 1rem; font-weight: 700; margin: 0 0 0.2rem; line-height: 1.3; }
.ofixo-about-sector p { margin: 0; color: #555; font-size: 0.85rem; line-height: 1.5; }
.ofixo-about-sector__count { font-size: 1.4rem; font-weight: 800; color: var(--wp--preset--color--primary, #e04e1f); }

/* IN-HOUSE TEAMS ------------------------------------------------------ */
.ofixo-about-teams__head { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; }
.ofixo-about-teams__head .ofixo-eyebrow { justify-content: center; }
.ofixo-about-teams__head h2 { font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-about-teams__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-teams__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 720px) { .ofixo-about-teams__grid { grid-template-columns: repeat(2, 1fr); } }
.ofixo-about-team { background: #1a1a1a; border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; padding: 1.6rem 1.5rem; color: #fff; display: flex; flex-direction: column; gap: 0.6rem; }
.ofixo-about-team__num { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; background: var(--wp--preset--color--primary, #e04e1f); border-radius: 50%; font-weight: 800; font-size: 1.1rem; color: #fff; }
.ofixo-about-team h3 { font-size: 1.05rem; font-weight: 700; color: #fff; margin: 0; line-height: 1.3; }
.ofixo-about-team p { margin: 0; color: rgba(255,255,255,0.7); font-size: 0.9rem; line-height: 1.6; }
.ofixo-about-teams__foot { background: #fef5f1; border-left: 4px solid var(--wp--preset--color--primary, #e04e1f); padding: 1rem 1.25rem; border-radius: 8px; margin: 2rem 0 0; color: #444; font-size: 0.93rem; line-height: 1.6; }
.ofixo-about-teams__foot strong { color: #0f0f10; display: block; margin-bottom: 0.2rem; font-size: 0.95rem; }

/* CLIENTS LOGO/NAME GRID ---------------------------------------------- */
.ofixo-about-clients__head { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; }
.ofixo-about-clients__head .ofixo-eyebrow { justify-content: center; color: rgba(255,255,255,0.75); }
.ofixo-about-clients__head .ofixo-eyebrow span { background: var(--wp--preset--color--primary, #e04e1f); }
.ofixo-about-clients__head h2 { color: #fff; font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-about-clients__sub { color: rgba(255,255,255,0.7); font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-clients__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.4rem; max-width: 1100px; margin: 0 auto; border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; overflow: hidden; }
@media (min-width: 600px) { .ofixo-about-clients__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .ofixo-about-clients__grid { grid-template-columns: repeat(4, 1fr); } }
.ofixo-about-clients__grid span { padding: 1rem 1rem; text-align: center; color: rgba(255,255,255,0.85); font-weight: 600; font-size: 0.92rem; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.05); }
.ofixo-about-clients__foot { text-align: center; margin: 1.5rem 0 0; color: rgba(255,255,255,0.75); font-size: 0.9rem; }
.ofixo-about-clients__foot a { color: var(--wp--preset--color--primary, #e04e1f); font-weight: 700; text-decoration: none; }
.ofixo-about-clients__foot a:hover { text-decoration: underline; }

/* PARTNERS / CERTIFICATIONS ------------------------------------------- */
.ofixo-about-partners { background: #fff !important; }
.ofixo-about-partners__head { text-align: center; max-width: 820px; margin: 0 auto 2.5rem; }
.ofixo-about-partners__head .ofixo-eyebrow { justify-content: center; }
.ofixo-about-partners__head h2 { font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 800; margin: 0.5rem 0 0.8rem; }
.ofixo-about-partners__sub { color: #555; font-size: 0.98rem; line-height: 1.6; }
.ofixo-about-partners__grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; max-width: 1080px; margin: 0 auto; }
@media (min-width: 720px) { .ofixo-about-partners__grid { grid-template-columns: repeat(2, 1fr); } }
.ofixo-about-partners__col { background: #fff; border: 1px solid #e8e2d8; border-radius: 14px; padding: 1.7rem 1.6rem; }
.ofixo-about-partners__col h3 { font-size: 1.05rem; font-weight: 700; color: #0f0f10; margin: 0 0 1rem; padding-bottom: 0.6rem; border-bottom: 1px solid #f0eae0; }
.ofixo-about-partners__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.ofixo-about-partners__list li { position: relative; padding-left: 1.5rem; color: #444; font-size: 0.93rem; line-height: 1.5; }
.ofixo-about-partners__list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--wp--preset--color--primary, #e04e1f); font-weight: 800; }
.ofixo-about-partners__note { font-size: 0.84rem; color: #6b7280; font-style: italic; margin: 0.75rem 0 0; line-height: 1.55; }
/* End about us */

/* === Reveal-on-scroll utility ================================================
   Add .ofixo-reveal-stack to any container. Children fade + slide-up one by one
   when the container scrolls into view (JS adds .is-visible). Up to 10 staggered.
   =========================================================================== */
.ofixo-reveal-stack > * {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 1.1s cubic-bezier(0.2, 0.8, 0.2, 1), transform 1.1s cubic-bezier(0.2, 0.8, 0.2, 1);
	will-change: opacity, transform;
}
.ofixo-reveal-stack.is-visible > * { opacity: 1; transform: translateY(0); }
.ofixo-reveal-stack.is-visible > *:nth-child(1) { transition-delay: 0s; }
.ofixo-reveal-stack.is-visible > *:nth-child(2) { transition-delay: 0.25s; }
.ofixo-reveal-stack.is-visible > *:nth-child(3) { transition-delay: 0.50s; }
.ofixo-reveal-stack.is-visible > *:nth-child(4) { transition-delay: 0.75s; }
.ofixo-reveal-stack.is-visible > *:nth-child(5) { transition-delay: 1.00s; }
.ofixo-reveal-stack.is-visible > *:nth-child(6) { transition-delay: 1.25s; }
.ofixo-reveal-stack.is-visible > *:nth-child(7) { transition-delay: 1.50s; }
.ofixo-reveal-stack.is-visible > *:nth-child(8) { transition-delay: 1.75s; }
.ofixo-reveal-stack.is-visible > *:nth-child(9) { transition-delay: 2.00s; }
.ofixo-reveal-stack.is-visible > *:nth-child(n+10) { transition-delay: 2.25s; }
@media (prefers-reduced-motion: reduce) {
	.ofixo-reveal-stack > * { opacity: 1; transform: none; transition: none; }
}
/* End reveal-on-scroll utility */


/* === Contact hero left-align + zero-gap ====================================
   Force the dark cover hero to start flush against the breadcrumb and keep
   the eyebrow / heading / subtitle aligned to the left.
   =========================================================================== */
.ofixo-page-hero { margin-top: 0 !important; }
.ofixo-page-hero .wp-block-cover__inner-container {
	text-align: left !important;
	max-width: var(--wp--style--global--content-size, 1280px);
	margin-left: auto;
	margin-right: auto;
}
body .ofixo-page-hero .wp-block-cover__inner-container > * {
	text-align: left !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
	display: block !important;
}
.ofixo-breadcrumbs + .ofixo-page-hero,
.ofixo-breadcrumbs + .wp-block-cover { margin-top: 0 !important; }


/* === Lead form styled like contact form ====================================
   Scopes the leads-plugin .ofx-form markup to the contact page wrapper, so it
   inherits the same heading, helper text, 2-col grid, big inputs, orange
   button, and the trailing "or directly on +971..." link — matching the look
   the user already approved on the contact page.
   =========================================================================== */
.ofixo-contact-form-wrap { margin-bottom: 0.5rem; }
.ofixo-contact-form-wrap h3 { font-size: 1.6rem; font-weight: 800; color: #0f0f10; margin: 0 0 0.4rem; letter-spacing: -0.01em; }
.ofixo-contact-form-wrap + .wp-block-shortcode + .wp-block-html .ofixo-contact-form-tail,
.ofixo-contact-form-tail { display: flex; align-items: center; gap: 0.5rem; margin: 1.25rem 0 0; color: #1f2937; font-size: 0.93rem; }
.ofixo-contact-form-tail__icon { font-size: 1.1rem; }
.ofixo-contact-form-tail a { color: #0f0f10; text-decoration: none; font-weight: 700; }
.ofixo-contact-form-tail a:hover { text-decoration: underline; }
.ofixo-form-help { color: #6b7280; font-size: 0.95rem; margin: 0 0 1.5rem; line-height: 1.5; }

/* The actual leads-plugin form */
.wp-block-column .ofx-form { background: transparent; padding: 0; border: none; box-shadow: none; max-width: none; }
.ofx-form .ofx-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem 1.25rem; margin-bottom: 1.25rem; }
@media (max-width: 600px) { .ofx-form .ofx-form__row { grid-template-columns: 1fr; gap: 1.25rem; } }
.ofx-form .ofx-form__field { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0; }
.ofx-form .ofx-form__row > .ofx-form__field { margin-bottom: 0; }
.ofx-form .ofx-form__field label,
.ofx-form .ofx-form__label-as-legend { font-size: 0.9rem; font-weight: 700; color: #1f2937; margin: 0; }
.ofx-form input[type=text],
.ofx-form input[type=email],
.ofx-form input[type=tel],
.ofx-form input[type=url],
.ofx-form select,
.ofx-form textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
	color: #0f0f10;
	font-size: 0.95rem;
	font-family: inherit;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	box-sizing: border-box;
}
.ofx-form textarea { min-height: 140px; resize: vertical; line-height: 1.55; }
.ofx-form input:focus,
.ofx-form select:focus,
.ofx-form textarea:focus { outline: none; border-color: var(--wp--preset--color--primary, #e04e1f); box-shadow: 0 0 0 3px rgba(224, 78, 31, 0.15); }
.ofx-form input::placeholder,
.ofx-form textarea::placeholder { color: #9ca3af; }
.ofx-form .ofx-form__radios { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; padding-top: 0.2rem; }
.ofx-form .ofx-form__radios label { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 500; color: #374151; }
.ofx-form .ofx-form__radios input[type=radio] { accent-color: var(--wp--preset--color--primary, #e04e1f); }
.ofx-form .ofx-form__consent { display: inline-flex; align-items: flex-start; gap: 0.55rem; cursor: pointer; font-size: 0.93rem; color: #374151; font-weight: 500; line-height: 1.4; }
.ofx-form .ofx-form__consent input[type=checkbox] { margin-top: 0.18rem; accent-color: var(--wp--preset--color--primary, #e04e1f); width: 16px; height: 16px; }
.ofx-form .ofx-form__error { display: block; color: #dc2626; font-size: 0.82rem; min-height: 1.1em; margin-top: 0.15rem; }
.ofx-form .ofx-form__global-error { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; padding: 0.75rem 1rem; border-radius: 8px; margin-bottom: 1rem; font-size: 0.9rem; }
.ofx-form .ofx-form__submit {
	background: var(--wp--preset--color--primary, #e04e1f);
	color: #fff;
	border: none;
	padding: 0.95rem 2rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	letter-spacing: 0.01em;
	margin-top: 0.5rem;
	transition: background-color 0.15s ease, transform 0.1s ease;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.ofx-form .ofx-form__submit::after { content: →; font-size: 1.1em; }
.ofx-form .ofx-form__submit:hover { background: #c8632e; }
.ofx-form .ofx-form__submit:active { transform: translateY(1px); }
.ofx-form .ofx-form__submit[disabled] { opacity: 0.6; cursor: not-allowed; }


/* ============================================================
   MEGA MENU — desktop nav (>= 1024px) + mobile drawer (< 1024px)
   Designed for the WordPress wp_nav_menu rendered by Ofixo_Mega_Walker.
   ============================================================ */

/* Reset list/link bits for our custom nav so .wp-block-navigation rules
   (when present in the editor) don't leak in. */
.ofixo-main-nav,
.ofixo-main-nav * { box-sizing: border-box; }
.ofixo-main-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ofixo-main-nav a { text-decoration: none; }

/* The main nav is the centre column of the header row, between logo and the
   tail (Free Site Survey pill + burger). */
.ofixo-main-nav {
	display: flex;
	align-items: center;
}

.ofixo-nav-list {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.ofixo-nav-item {
	position: static; /* mega panel uses the header strip as its containing block */
}

.ofixo-nav-link {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.65rem 0.95rem;
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	border-radius: 8px;
	transition: color 0.15s ease, background 0.15s ease;
	cursor: pointer;
}

.ofixo-nav-link:hover,
.ofixo-nav-link:focus-visible,
.ofixo-nav-item.has-mega.is-open > .ofixo-nav-link {
	color: var(--wp--preset--color--primary);
	background: transparent;
}

.ofixo-nav-caret {
	font-size: 0.65em;
	line-height: 1;
	margin-left: 0.15rem;
	transition: transform 0.18s ease, color 0.15s ease;
}
.ofixo-nav-item.has-mega.is-open .ofixo-nav-caret {
	transform: rotate(180deg);
	color: var(--wp--preset--color--primary);
}

/* Header tail — the right side of the header row */
.ofixo-header-tail {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
}

.ofixo-cta-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.7rem 1.25rem;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	border-radius: 999px;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(224, 78, 31, 0.28);
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	white-space: nowrap;
}
.ofixo-cta-pill:hover,
.ofixo-cta-pill:focus-visible {
	background: #b83e14;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(184, 62, 20, 0.35);
}
.ofixo-cta-pill__arrow {
	transition: transform 0.15s ease;
}
.ofixo-cta-pill:hover .ofixo-cta-pill__arrow {
	transform: translateX(2px);
}

.ofixo-burger {
	display: none; /* visible only at < 1024px */
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	width: 40px;
	height: 40px;
	background: transparent;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	cursor: pointer;
	padding: 0;
}
.ofixo-burger span {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--wp--preset--color--contrast);
	border-radius: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

/* ---------- MEGA PANEL ---------- */
.ofixo-mega-panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #fff;
	border-top: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 18px 36px rgba(15, 15, 16, 0.10), 0 4px 8px rgba(15, 15, 16, 0.04);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-8px);
	transition: opacity 0.18s ease, transform 0.22s ease;
	z-index: 90;
}
.ofixo-nav-item.has-mega.is-open .ofixo-mega-panel {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.ofixo-mega-panel__inner {
	max-width: var(--wp--style--global--content-size, 1280px);
	margin: 0 auto;
	padding: 2.2rem clamp(1.25rem, 3vw, 2rem);
}

.ofixo-mega-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(260px, 320px);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

/* Some Blog mega menus emit 4 columns (3 col + latest), the CTA column shrinks. */
.ofixo-nav-item.has-mega .ofixo-mega-grid:has(.ofixo-mega-column--latest) {
	grid-template-columns: 1fr 1fr 1.1fr minmax(220px, 260px);
}

/* ---------- Column heading + sub-links ---------- */
.ofixo-mega-column {
	min-width: 0;
}
.ofixo-mega-col__title {
	margin: 0 0 1rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.ofixo-mega-col__sub {
	font-size: 0.65rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.06em;
	font-weight: 500;
	text-transform: none;
}

.ofixo-mega-links {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.ofixo-mega-link > a {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.55rem 0;
	color: var(--wp--preset--color--contrast);
	font-size: 0.92rem;
	font-weight: 600;
	border-radius: 6px;
	transition: color 0.15s ease, padding 0.18s ease;
	line-height: 1.3;
}
.ofixo-mega-link > a:hover,
.ofixo-mega-link > a:focus-visible {
	color: var(--wp--preset--color--primary);
	padding-left: 0.35rem;
}
.ofixo-mega-link__text {
	display: flex;
	flex-direction: column;
	gap: 0.18rem;
	min-width: 0;
}
.ofixo-mega-link__sub {
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	font-weight: 400;
	line-height: 1.35;
}
.ofixo-mega-link__count {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.18rem 0.55rem;
	background: rgba(224, 78, 31, 0.10);
	color: var(--wp--preset--color--primary);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-radius: 999px;
	min-width: 2.2rem;
	height: 1.4rem;
}

/* "All Waterproofing Services →" style row — full-width orange link */
.ofixo-mega-link.is-allmore,
.menu-item.is-allmore {
	margin-top: 0.4rem;
	padding-top: 0.7rem;
	border-top: 1px solid var(--wp--preset--color--border);
}
.ofixo-mega-link.is-allmore > a,
.menu-item.is-allmore > a {
	color: var(--wp--preset--color--primary);
	font-size: 0.85rem;
	font-weight: 700;
	padding-top: 0;
	padding-bottom: 0;
}

/* WP's default list item class — when a sub-link is marked .is-allmore via
   menu-item-classes, the Walker still renders it through the depth-2 path
   so the markup is <li class="ofixo-mega-link menu-item is-allmore">…</li>.
   The combo selectors above already cover it. */

/* ---------- Featured CTA column ---------- */
.ofixo-mega-feature {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--surface, #faf7f2);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	overflow: hidden;
	min-width: 0;
	/* Anchor the featured card to the last (4th) column of the mega grid
	   regardless of menu_order, so it always sits on the right whether the
	   seed put it first, middle, or last. */
	grid-column: 4;
	order: 99;
}
.ofixo-mega-feature__media {
	aspect-ratio: 16 / 9;
	background-color: #2a1810;
	background-image: linear-gradient(135deg, #5a3420 0%, #2a1810 55%, #0f0f10 100%);
	background-size: cover;
	background-position: center;
}
.ofixo-mega-feature__media--ph {
	display: flex;
	align-items: center;
	justify-content: center;
}
.ofixo-mega-feature__body {
	padding: 1.1rem 1.2rem 1.3rem;
}
/* When the card has no media tile on top, pad the body so the eyebrow has
   the same breathing room the media used to provide. */
.ofixo-mega-feature--no-media .ofixo-mega-feature__body {
	padding: 1.5rem 1.3rem 1.45rem;
}
.ofixo-mega-feature__eyebrow {
	margin: 0 0 0.4rem;
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}
.ofixo-mega-feature__title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}
.ofixo-mega-feature__body-text {
	margin: 0 0 0.9rem;
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	line-height: 1.5;
}
.ofixo-mega-feature__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.55rem 0.95rem;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 600;
	border-radius: 999px;
	transition: background 0.15s ease, transform 0.15s ease;
}
.ofixo-mega-feature__cta:hover,
.ofixo-mega-feature__cta:focus-visible {
	background: #b83e14;
	color: #fff;
	transform: translateX(2px);
}

/* ============================================================
   MOBILE DRAWER
   ============================================================ */
.ofixo-mobile-drawer {
	position: fixed;
	inset: 0;
	z-index: 200;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.22s ease, visibility 0s linear 0.22s;
}
.ofixo-mobile-drawer.is-open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transition: opacity 0.22s ease;
}

.ofixo-mobile-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 15, 16, 0.45);
}

.ofixo-mobile-drawer__panel {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: min(400px, 94vw);
	background: #fff;
	display: flex;
	flex-direction: column;
	box-shadow: -10px 0 40px rgba(15, 15, 16, 0.18);
	transform: translateX(100%);
	transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
}
.ofixo-mobile-drawer.is-open .ofixo-mobile-drawer__panel {
	transform: translateX(0);
}

.ofixo-mobile-drawer__head {
	position: sticky;
	top: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.85rem 1.1rem;
	background: #fff;
	border-bottom: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 2px 0 rgba(15, 15, 16, 0.03);
	flex-shrink: 0;
}
.ofixo-mobile-drawer__logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.ofixo-mobile-drawer__logo img {
	display: block;
	width: auto;
	height: 32px;
}
.ofixo-mobile-drawer__close {
	width: 40px;
	height: 40px;
	background: transparent;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.ofixo-mobile-drawer__close:hover,
.ofixo-mobile-drawer__close:focus-visible {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}
.ofixo-mobile-drawer__close svg {
	display: block;
}

.ofixo-mobile-drawer__nav {
	flex: 1;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0.5rem 0;
	min-width: 0;
}

.ofixo-mdrawer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ofixo-mdrawer-item {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.ofixo-mdrawer-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	width: 100%;
	padding: 1rem 1.1rem;
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	text-align: left;
	font-family: inherit;
	min-width: 0;
}
.ofixo-mdrawer-link > span:first-child {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.ofixo-mdrawer-link > .ofixo-mdrawer-chev,
.ofixo-mdrawer-link > .ofixo-mdrawer-arrow {
	flex: 0 0 auto;
}
.ofixo-mdrawer-link:hover,
.ofixo-mdrawer-link:focus-visible {
	background: var(--wp--preset--color--surface, #faf7f2);
}

.ofixo-mdrawer-chev {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: var(--wp--preset--color--muted);
	transition: transform 0.22s ease, color 0.15s ease;
}
.ofixo-mdrawer-chev svg { display: block; }
.ofixo-mdrawer-arrow {
	font-size: 0.85em;
	color: var(--wp--preset--color--muted);
	transition: color 0.15s ease;
}
.ofixo-mdrawer-item.is-open > .ofixo-mdrawer-link .ofixo-mdrawer-chev {
	transform: rotate(180deg);
	color: var(--wp--preset--color--primary);
}

.ofixo-mdrawer-sub {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.32s ease;
	background: var(--wp--preset--color--surface, #faf7f2);
}
.ofixo-mdrawer-item.is-open > .ofixo-mdrawer-sub {
	max-height: 2400px;
	padding: 0.2rem 0 0.5rem;
}

.ofixo-mdrawer-subitem > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	padding: 0.75rem 1.1rem 0.75rem 1.6rem;
	color: var(--wp--preset--color--contrast);
	font-size: 0.92rem;
	font-weight: 500;
	text-decoration: none;
	min-width: 0;
}
.ofixo-mdrawer-subitem > a > span:first-child {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
	line-height: 1.35;
}
.ofixo-mdrawer-subitem > a > .ofixo-mdrawer-arrow {
	flex: 0 0 auto;
}
.ofixo-mdrawer-subitem > a:hover {
	color: var(--wp--preset--color--primary);
}

.ofixo-mdrawer-subitem .ofixo-mdrawer-arrow {
	font-size: 0.95em;
	color: var(--wp--preset--color--primary);
}

.ofixo-mobile-drawer__cta {
	padding: 1rem 1.1rem 1.3rem;
	border-top: 1px solid var(--wp--preset--color--border);
	background: #fff;
}
.ofixo-mdrawer-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100%;
	padding: 0.95rem 1rem;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-weight: 600;
	font-size: 0.95rem;
	border-radius: 12px;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(224, 78, 31, 0.28);
}
.ofixo-mdrawer-cta:hover { background: #b83e14; color: #fff; }

.ofixo-mdrawer-callrow {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	margin-top: 0.6rem;
}
.ofixo-mdrawer-callbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.7rem 0.5rem;
	background: #fff;
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	font-weight: 600;
	font-size: 0.88rem;
	text-decoration: none;
}
.ofixo-mdrawer-callbtn:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

/* ============================================================
   RESPONSIVE BREAKPOINT — under 1024px, hide desktop nav, show burger
   ============================================================ */
@media (max-width: 1023px) {
	.ofixo-main-nav { display: none; }
	.ofixo-burger { display: inline-flex; }
	.ofixo-cta-pill {
		padding: 0.55rem 1rem;
		font-size: 0.82rem;
	}
	.ofixo-cta-pill__arrow { display: none; }
}

@media (max-width: 480px) {
	.ofixo-cta-pill {
		padding: 0.5rem 0.85rem;
		font-size: 0.78rem;
	}
}

/* When viewport is desktop, hide the drawer entirely (defensive) */
@media (min-width: 1024px) {
	.ofixo-mobile-drawer { display: none; }
}

/* ============================================================
   Mid-range fix — mega panel scales down at narrower desktop widths
   ============================================================ */
@media (max-width: 1180px) and (min-width: 1024px) {
	.ofixo-mega-grid {
		gap: 1.5rem;
	}
	.ofixo-mega-link > a { font-size: 0.88rem; }
	.ofixo-mega-link__sub { font-size: 0.74rem; }
	.ofixo-mega-feature__body { padding: 0.9rem 1rem 1.1rem; }
}

/* ============================================================
   Projects mega menu uses URL query params — match active filter
   so the same chip state is reflected in the chip group on /projects/.
   Nothing here belongs to CSS only; the JS does the wiring.
   ============================================================ */

/* ============================================================
   PROJECTS — sector filter row + empty state
   ============================================================ */
.ofixo-projects-filter-group {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.ofixo-projects-filter--sector {
	border-top: 1px dashed var(--wp--preset--color--border);
	padding-top: 0.85rem;
}

.ofixo-projects-noresults {
	margin-top: 1.5rem;
	padding: 2rem 1.5rem;
	text-align: center;
	background: var(--wp--preset--color--surface, #faf7f2);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
}
.ofixo-projects-noresults p { margin: 0 0 1rem; color: var(--wp--preset--color--muted); }
.ofixo-projects-noresults .chip-reset {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

/* ============================================================
   HOMEPAGE — The Ofixo Track Record
   Left: eyebrow + headline + body + CTA pill
   Right: 4 peach stat cards with orange icon + orange number
   ============================================================ */
.ofixo-trackrecord {
	background: var(--wp--preset--color--base, #fff);
}

.ofixo-trackrecord__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 1.5rem);
}

.ofixo-trackrecord__copy { min-width: 0; }

.ofixo-trackrecord__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	margin: 0 0 1.75rem;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	font-weight: 700;
	text-transform: uppercase;
}
.ofixo-trackrecord__eyebrow > span:first-child {
	color: var(--wp--preset--color--primary);
}
.ofixo-trackrecord__eyebrow-divider {
	display: inline-block;
	width: 36px;
	height: 1px;
	background: var(--wp--preset--color--contrast);
	opacity: 0.45;
}
.ofixo-trackrecord__eyebrow-range {
	color: var(--wp--preset--color--contrast);
	opacity: 0.8;
}

.ofixo-trackrecord__title {
	margin: 0 0 1.5rem;
	font-size: clamp(2.1rem, 1.4rem + 2.4vw, 3.4rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--contrast);
}

.ofixo-trackrecord__body {
	margin: 0 0 2rem;
	font-size: 1.02rem;
	line-height: 1.65;
	color: var(--wp--preset--color--body, #4a4a4a);
	max-width: 520px;
}

.ofixo-trackrecord__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.78rem 1.5rem;
	background: transparent;
	color: var(--wp--preset--color--primary);
	border: 1.5px solid var(--wp--preset--color--primary);
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.ofixo-trackrecord__cta:hover,
.ofixo-trackrecord__cta:focus-visible {
	background: var(--wp--preset--color--primary);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(224, 78, 31, 0.28);
}
.ofixo-trackrecord__cta > span { transition: transform 0.18s ease; }
.ofixo-trackrecord__cta:hover > span { transform: translateX(3px); }

/* ---------- Right column: 2x2 stat card grid ---------- */
.ofixo-trackrecord__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.1rem;
	min-width: 0;
}

.ofixo-trackrecord-card {
	background: #fde7dc;
	border-radius: 18px;
	padding: 1.6rem 1.5rem 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.ofixo-trackrecord-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(224, 78, 31, 0.18);
}

.ofixo-trackrecord-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-bottom: 0.4rem;
	color: var(--wp--preset--color--primary);
}
.ofixo-trackrecord-card__icon svg { display: block; }

.ofixo-trackrecord-card__num {
	margin: 0;
	font-size: clamp(2.4rem, 1.6rem + 2.4vw, 3.4rem);
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	letter-spacing: -0.02em;
}
.ofixo-trackrecord-card__label {
	margin: 0.4rem 0 0.15rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.25;
}
.ofixo-trackrecord-card__sub {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.5;
	color: var(--wp--preset--color--body, #5a4f45);
	opacity: 0.85;
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	.ofixo-trackrecord__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
	.ofixo-trackrecord__body { max-width: none; }
}

@media (max-width: 540px) {
	.ofixo-trackrecord__cards { grid-template-columns: 1fr; }
	.ofixo-trackrecord-card { padding: 1.4rem 1.3rem; }
	.ofixo-trackrecord__eyebrow { gap: 0.6rem; flex-wrap: wrap; }
}


/* ============================================================
   HOMEPAGE — Services Portfolio
   Header + chip filters + 3x2 carousel grid + dots + footer
   ============================================================ */
.ofixo-portfolio {
	background: var(--wp--preset--color--cream, #fff3ec);
	padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 3vw, 2rem);
}
.ofixo-portfolio__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.ofixo-portfolio__head {
	text-align: center;
	margin-bottom: 2.25rem;
}
.ofixo-portfolio__eyebrow {
	margin: 0 0 1rem;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}
.ofixo-portfolio__title {
	margin: 0 auto 1.1rem;
	font-size: clamp(2rem, 1.4rem + 2.2vw, 3.1rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.05;
	color: var(--wp--preset--color--contrast);
	max-width: 880px;
}
.ofixo-portfolio__sub {
	margin: 0 auto;
	max-width: 760px;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--wp--preset--color--body, #555);
}

/* ---------- Filter chips row ---------- */
.ofixo-portfolio__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.6rem;
	margin: 2rem auto 2.5rem;
	max-width: 1100px;
}
.ofixo-portfolio__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.65rem 1.15rem;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.ofixo-portfolio__chip:hover,
.ofixo-portfolio__chip:focus-visible {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	outline: none;
}
.ofixo-portfolio__chip.is-active {
	background: var(--wp--preset--color--contrast, #0f0f10);
	border-color: var(--wp--preset--color--contrast, #0f0f10);
	color: #fff;
}
.ofixo-portfolio__chip-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.4rem;
	height: 1.4rem;
	padding: 0 0.4rem;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

/* ---------- Carousel viewport ---------- */
.ofixo-portfolio__viewport {
	position: relative;
}
.ofixo-portfolio__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
	z-index: 2;
}
.ofixo-portfolio__arrow:hover:not(:disabled) {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}
.ofixo-portfolio__arrow:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}
.ofixo-portfolio__arrow--prev { left: -28px; }
.ofixo-portfolio__arrow--next {
	right: -28px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}
.ofixo-portfolio__arrow--next:hover:not(:disabled) {
	background: #b83e14;
	border-color: #b83e14;
}

/* ---------- 3x2 sliding carousel ----------
   PHP renders one .ofixo-portfolio__grid wrapping all matched cards. The JS
   wraps it in .ofixo-portfolio__rail (clip mask) and re-tags the grid as
   .ofixo-portfolio__track. Inside the track, the JS chunks cards into
   .ofixo-portfolio__slide containers (one per page) which translate as a
   single CSS transform. */
.ofixo-portfolio__rail {
	overflow: hidden;
	width: 100%;
}
.ofixo-portfolio__track {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: transform;
}
.ofixo-portfolio__slide {
	flex: 0 0 100%;
	min-width: 0;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 1.25rem;
	padding: 0.25rem 0.25rem 0.5rem;
}

.ofixo-portfolio-card {
	display: grid;
	grid-template-columns: 150px 1fr;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.ofixo-portfolio-card[hidden] { display: none; }
/* Invisible cell that keeps the 3-col rhythm when the last page has < 6 cards */
.ofixo-portfolio-card--placeholder {
	background: transparent;
	box-shadow: none;
	pointer-events: none;
	visibility: hidden;
}
.ofixo-portfolio-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(15, 15, 16, 0.08);
}

.ofixo-portfolio-card__media {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1.1rem 1rem;
	background: var(--wp--preset--color--primary);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: #fff;
	text-decoration: none;
	min-height: 175px;
}
.ofixo-portfolio-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(224, 78, 31, 0) 0%, rgba(180, 56, 22, 0) 100%);
	z-index: 0;
}
.ofixo-portfolio-card__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: #fff;
	opacity: 0.95;
}
.ofixo-portfolio-card__icon svg { display: block; }

/* Falling-drop animation — runs on card hover.
   ease-out timing = drop accelerates briefly then decelerates,
   fades to 0 near the bottom, loops with a fresh drop from the top. */
@keyframes ofixo-drop-fall {
	0%   { transform: translateY(-14px); opacity: 0; }
	12%  { opacity: 0.95; }
	70%  { transform: translateY(38px); opacity: 0.95; }
	100% { transform: translateY(60px); opacity: 0; }
}
.ofixo-portfolio-card:hover .ofixo-portfolio-card__icon {
	animation: ofixo-drop-fall 1.6s cubic-bezier(0.34, 0, 0.5, 1) infinite;
	will-change: transform, opacity;
}
.ofixo-portfolio-card__media { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
	.ofixo-portfolio-card:hover .ofixo-portfolio-card__icon { animation: none; }
}
.ofixo-portfolio-card__caption {
	position: relative;
	z-index: 1;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: #fff;
	line-height: 1.2;
	margin-top: 0.5rem;
	word-break: break-word;
}

.ofixo-portfolio-card__body {
	display: flex;
	flex-direction: column;
	padding: 1.1rem 1.2rem 1.2rem;
	gap: 0.5rem;
}
.ofixo-portfolio-card__row {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
}
.ofixo-portfolio-card__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}
.ofixo-portfolio-card__title a {
	color: inherit;
	text-decoration: none;
}
.ofixo-portfolio-card__title a:hover { color: var(--wp--preset--color--primary); }
.ofixo-portfolio-card__desc {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.55;
	color: var(--wp--preset--color--body, #555);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ofixo-portfolio-card__more {
	margin-top: auto;
	color: var(--wp--preset--color--primary);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}
.ofixo-portfolio-card__more:hover { gap: 0.55rem; }

/* ---------- Dots ---------- */
.ofixo-portfolio__dots {
	display: flex;
	justify-content: center;
	gap: 0.45rem;
	margin: 1.75rem 0 1.25rem;
}
.ofixo-portfolio__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	background: rgba(15, 15, 16, 0.18);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.15s ease, width 0.18s ease;
}
.ofixo-portfolio__dot:hover { background: rgba(15, 15, 16, 0.4); }
.ofixo-portfolio__dot.is-active {
	background: var(--wp--preset--color--primary);
	width: 24px;
}

/* ---------- Footer row ---------- */
.ofixo-portfolio__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1rem;
}
.ofixo-portfolio__counter {
	margin: 0;
	font-size: 0.88rem;
	color: var(--wp--preset--color--body, #6b7280);
}
.ofixo-portfolio__browse {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.85rem 1.5rem;
	background: var(--wp--preset--color--contrast, #0f0f10);
	color: #fff;
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.ofixo-portfolio__browse:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(224, 78, 31, 0.25);
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.ofixo-portfolio__slide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ofixo-portfolio__arrow--prev { left: -10px; }
	.ofixo-portfolio__arrow--next { right: -10px; }
}
@media (max-width: 720px) {
	.ofixo-portfolio__slide { grid-template-columns: 1fr; gap: 0.85rem; }
	.ofixo-portfolio-card { grid-template-columns: 120px 1fr; }
	.ofixo-portfolio-card__media { min-height: 150px; padding: 0.9rem; }
	.ofixo-portfolio-card__caption { font-size: 0.62rem; }
	.ofixo-portfolio__arrow { display: none; }
	.ofixo-portfolio__foot { flex-direction: column; text-align: center; }

	/* Filter chips — single row with horizontal scroll on mobile.
	   Edge-to-edge so the scroll has full reach + a tiny fade on each end
	   so users see there's more off-screen. */
	.ofixo-portfolio__filters {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		padding: 0.25rem 1rem 0.85rem;
		margin: 1.5rem -1rem 1.75rem;
		max-width: none;
		mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
	}
	.ofixo-portfolio__filters::-webkit-scrollbar { display: none; }
	.ofixo-portfolio__filters { scrollbar-width: none; }
	.ofixo-portfolio__chip {
		flex: 0 0 auto;
		scroll-snap-align: start;
		padding: 0.55rem 0.95rem;
		font-size: 0.85rem;
	}
}
@media (max-width: 420px) {
	.ofixo-portfolio-card { grid-template-columns: 96px 1fr; }
	.ofixo-portfolio-card__media { min-height: 130px; padding: 0.75rem; }
	.ofixo-portfolio-card__icon { width: 34px; height: 34px; }
	.ofixo-portfolio-card__icon svg { width: 24px; height: 24px; }
}


/* ============================================================
   HOMEPAGE — Why OFIXO Ranks (white section)
   Eyebrow + dashes + big headline + lead + quote + subhead
   + two numbered pillars + three peach icon cards.
   ============================================================ */
.ofixo-rank {
	background: #ffffff;
}

.ofixo-rank__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 1.5rem);
}

/* ---------- Header block ---------- */
.ofixo-rank__head {
	text-align: center;
	margin-bottom: 3rem;
}
.ofixo-rank__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.95rem;
	margin: 0 0 1.5rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.ofixo-rank__dash {
	display: inline-block;
	width: 36px;
	height: 1px;
	background: var(--wp--preset--color--primary);
	opacity: 0.7;
}

.ofixo-rank__title {
	margin: 0 auto 1.6rem;
	max-width: 920px;
	font-size: clamp(1.95rem, 1.4rem + 2.4vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--contrast);
}

.ofixo-rank__lead {
	margin: 0 auto;
	max-width: 760px;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--wp--preset--color--body, #4a4a4a);
}

/* ---------- Quote mark + subhead ---------- */
.ofixo-rank__quote {
	display: flex;
	justify-content: center;
	color: var(--wp--preset--color--primary);
	margin: 0 0 1.5rem;
}
.ofixo-rank__quote svg { display: block; }

.ofixo-rank__subhead-wrap {
	text-align: center;
	margin-bottom: 3.5rem;
}
.ofixo-rank__subhead {
	margin: 0 auto 1rem;
	max-width: 820px;
	font-size: clamp(1.15rem, 0.95rem + 0.9vw, 1.55rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--wp--preset--color--contrast);
}
.ofixo-rank__rule {
	display: inline-block;
	width: 56px;
	height: 3px;
	background: var(--wp--preset--color--primary);
	border-radius: 2px;
	margin-top: 0.4rem;
}

/* ---------- Two numbered pillars ---------- */
.ofixo-rank__pillars {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	margin-bottom: 3.5rem;
}
.ofixo-rank-pillar { min-width: 0; }
.ofixo-rank-pillar__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-bottom: 0.9rem;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	border-radius: 999px;
}
.ofixo-rank-pillar__title {
	margin: 0 0 0.85rem;
	font-size: 1.18rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-rank-pillar__body {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--wp--preset--color--body, #555);
}

/* ---------- Three peach cards ---------- */
.ofixo-rank__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}
.ofixo-rank-card {
	background: #fde7dc;
	border-radius: 18px;
	padding: 1.65rem 1.6rem 1.7rem;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.ofixo-rank-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(224, 78, 31, 0.18);
}
.ofixo-rank-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-radius: 10px;
	margin-bottom: 0.3rem;
}
.ofixo-rank-card__icon svg { display: block; }
.ofixo-rank-card__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-rank-card__body {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--wp--preset--color--body, #5a4f45);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.ofixo-rank__pillars { grid-template-columns: 1fr; gap: 2rem; }
	.ofixo-rank__cards { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.ofixo-rank__eyebrow {
		gap: 0.6rem;
		flex-wrap: wrap;
		justify-content: center;
	}
	.ofixo-rank__dash { width: 24px; }
	.ofixo-rank-card { padding: 1.35rem 1.3rem 1.4rem; }
}


/* ============================================================
   HOMEPAGE — Why Choose Us / Trust header (dark .ofixo-why section)
   Eyebrow + three dark pills + big white title + lead + sub-eyebrow + subhead
   ============================================================ */
.ofixo-trust__head {
	text-align: center;
	margin-bottom: 3.5rem;
}
.ofixo-trust__eyebrow {
	margin: 0 0 1.5rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.ofixo-trust__eyebrow--sub {
	margin-top: 2.5rem;
	margin-bottom: 0.95rem;
}

.ofixo-trust__pills {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.55rem 0.6rem;
	margin: 0 auto 2.5rem;
}
.ofixo-trust-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.65rem 1.15rem;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 600;
	color: #fff;
	white-space: nowrap;
}
.ofixo-trust-pill__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-radius: 999px;
	flex: 0 0 auto;
}
.ofixo-trust-pill__icon svg { display: block; }
.ofixo-trust__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1;
}

.ofixo-trust__title {
	margin: 0 auto 1.4rem;
	max-width: 900px;
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3.1rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: #fff;
}
.ofixo-trust__lead {
	margin: 0 auto 0.5rem;
	max-width: 820px;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.72);
}
.ofixo-trust__subhead {
	margin: 0 auto;
	max-width: 760px;
	font-size: clamp(1.15rem, 0.95rem + 0.9vw, 1.55rem);
	font-weight: 700;
	line-height: 1.35;
	color: #fff;
}

@media (max-width: 720px) {
	.ofixo-trust-pill {
		padding: 0.55rem 0.9rem;
		font-size: 0.85rem;
	}
	.ofixo-trust__arrow { width: 22px; }
	.ofixo-trust__head { margin-bottom: 2.5rem; }
}
@media (max-width: 480px) {
	.ofixo-trust__pills { gap: 0.4rem 0.4rem; }
	.ofixo-trust__arrow { display: none; }
}


/* ============================================================
   HOMEPAGE — Latest Projects carousel (custom shortcode markup).
   Card structure: <article.ofixo-prj-card>
                     <a.ofixo-prj-card__media style="background-image">
                       <span.ofixo-prj-card__pill>
                     </a>
                     <div.ofixo-prj-card__body>
                       <h3.ofixo-prj-card__title>
                       <a.ofixo-prj-card__more>
                     </div>
                   </article>
   ============================================================ */
.ofixo-prj-card__media {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	background-color: #2a1810;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	text-decoration: none;
	overflow: hidden;
}

.ofixo-prj-card__pill {
	position: absolute;
	top: 0.9rem;
	left: 0.9rem;
	display: inline-block;
	padding: 0.32rem 0.85rem;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(224, 78, 31, 0.32);
}

.ofixo-prj-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 1.25rem 1.4rem 1.4rem;
}

.ofixo-prj-card__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}
.ofixo-prj-card__title a {
	color: inherit;
	text-decoration: none;
}
.ofixo-prj-card__title a:hover {
	color: var(--wp--preset--color--primary);
}
.ofixo-prj-card__scope {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--wp--preset--color--body, #5a4f45);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ofixo-prj-card__more {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	font-size: 0.92rem;
	text-decoration: none;
	margin-top: 0.15rem;
	transition: gap 0.15s ease;
}
.ofixo-prj-card__more:hover {
	gap: 0.6rem;
}


/* ============================================================
   Services Portfolio — grid layout (used on /services/)
   No carousel rail/track; cards lay out as a static grid that the
   filter chips toggle visibility on.
   ============================================================ */
.ofixo-portfolio--grid .ofixo-portfolio__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	transition: none;
	transform: none;
	overflow: visible;
}

/* The shared .ofixo-portfolio-card[hidden] rule already handles JS hiding,
   but we override `display: grid` from the global card so [hidden] takes
   precedence in grid mode (the carousel mode keeps cards inside slides). */
.ofixo-portfolio--grid .ofixo-portfolio-card[hidden] {
	display: none !important;
}

.ofixo-portfolio--grid .ofixo-portfolio__empty {
	margin-top: 1.5rem;
	padding: 2rem 1.5rem;
	text-align: center;
	background: var(--wp--preset--color--surface, #faf7f2);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
}
.ofixo-portfolio--grid .ofixo-portfolio__empty p {
	margin: 0;
	color: var(--wp--preset--color--muted, #6b7280);
}

@media (max-width: 1080px) {
	.ofixo-portfolio--grid .ofixo-portfolio__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.ofixo-portfolio--grid .ofixo-portfolio__grid { grid-template-columns: 1fr; gap: 0.85rem; }
}




/* ============================================================
   /services/ — Our Process section
   5 numbered cards, 3 on top row + 2 centered on bottom row.
   Cream section bg, white cards with an orange top border,
   big orange number on the left + peach icon tile on the right.
   ============================================================ */
.ofixo-svc-process {
	background: #ffffff;
}
/* Cards on a white section need a subtle border so the orange top accent
   doesn't appear to float against the page bg. */
.ofixo-svc-process .ofixo-svc-process-card {
	border: 1px solid var(--wp--preset--color--border);
}

.ofixo-svc-process__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 3rem;
}
.ofixo-svc-process__eyebrow {
	margin: 0 0 0.85rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.ofixo-svc-process__title {
	margin: 0 0 0.9rem;
	font-size: clamp(1.8rem, 1.3rem + 1.9vw, 2.65rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.1;
	color: var(--wp--preset--color--contrast);
}
.ofixo-svc-process__sub {
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--wp--preset--color--body, #555);
}

/* 3 cards top row, 2 cards bottom row centered.
   `repeat(6, 1fr)` lets us span each card across 2 columns; row 1 uses cols 1-2,
   3-4, 5-6; row 2 uses cols 2-3 and 4-5 so the two cards sit centred under the
   three-card row above. */
.ofixo-svc-process__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1.3rem;
	max-width: 1180px;
	margin: 0 auto;
}
.ofixo-svc-process-card {
	grid-column: span 2;
}
.ofixo-svc-process-card:nth-child(4) { grid-column: 2 / span 2; }
.ofixo-svc-process-card:nth-child(5) { grid-column: 4 / span 2; }

.ofixo-svc-process-card {
	position: relative;
	background: #fff;
	border-radius: 14px;
	padding: 2rem 1.7rem 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	box-shadow: 0 1px 0 rgba(15, 15, 16, 0.04);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.ofixo-svc-process-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 1.2rem;
	right: 1.2rem;
	height: 4px;
	background: var(--wp--preset--color--primary);
	border-radius: 0 0 6px 6px;
}
.ofixo-svc-process-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(15, 15, 16, 0.08);
}

.ofixo-svc-process-card__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.ofixo-svc-process-card__num {
	font-size: 2.05rem;
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	letter-spacing: -0.01em;
}
/* .ofixo-svc-process-card__icon — sized + colored by the sitewide
   .ofixo-icon-box override (orange gradient circle + white SVG).
   Only the layout-side flex behavior stays local. */
.ofixo-svc-process-card__icon { flex: 0 0 auto; }

.ofixo-svc-process-card__title {
	margin: 0.35rem 0 0;
	font-size: 1.08rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-svc-process-card__body {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--wp--preset--color--body, #555);
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	.ofixo-svc-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ofixo-svc-process-card,
	.ofixo-svc-process-card:nth-child(4),
	.ofixo-svc-process-card:nth-child(5) { grid-column: span 1; }
	.ofixo-svc-process-card:nth-child(5):last-child { grid-column: 1 / span 2; }
}
@media (max-width: 560px) {
	.ofixo-svc-process__grid { grid-template-columns: 1fr; gap: 0.9rem; }
	.ofixo-svc-process-card,
	.ofixo-svc-process-card:nth-child(4),
	.ofixo-svc-process-card:nth-child(5),
	.ofixo-svc-process-card:nth-child(5):last-child { grid-column: 1; }
	.ofixo-svc-process-card { padding: 1.6rem 1.4rem 1.4rem; }
}


/* ============================================================
   Legal pages — /privacy-policy/, /terms-of-service/
   Simple white-background reading column between the global
   header + footer. Comfortable line-length and rhythm.
   ============================================================ */
.ofixo-legal {
	background: #ffffff;
}
.ofixo-legal__inner {
	max-width: 780px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 1.5rem);
	color: var(--wp--preset--color--contrast);
	line-height: 1.7;
}

.ofixo-legal__inner h1 {
	margin: 0 0 0.5rem;
	font-size: clamp(2rem, 1.4rem + 2vw, 2.8rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.1;
	color: var(--wp--preset--color--contrast);
}
.ofixo-legal__inner h2 {
	margin: 2.5rem 0 0.85rem;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	line-height: 1.3;
}
.ofixo-legal__inner h1 + p em,
.ofixo-legal__inner h1 + p {
	color: var(--wp--preset--color--muted, #6b7280);
	font-size: 0.92rem;
	margin: 0 0 1.5rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 1.2rem;
}
.ofixo-legal__inner p,
.ofixo-legal__inner ul,
.ofixo-legal__inner ol {
	margin: 0 0 1.1rem;
	font-size: 1rem;
	color: var(--wp--preset--color--body, #3a3a3a);
}
.ofixo-legal__inner ul,
.ofixo-legal__inner ol {
	padding-left: 1.4rem;
}
.ofixo-legal__inner li { margin: 0 0 0.45rem; }
.ofixo-legal__inner li::marker { color: var(--wp--preset--color--primary); }
.ofixo-legal__inner strong { color: var(--wp--preset--color--contrast); font-weight: 700; }
.ofixo-legal__inner a {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ofixo-legal__inner a:hover { text-decoration: none; }

/* Footer legal menu — render as inline bullet-separated row to match the
   previous hardcoded "Privacy Policy • Terms of Service • Sitemap" line. */
.ofixo-footer-legal {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ofixo-footer-legal > li { margin: 0; padding: 0; display: inline-flex; align-items: center; gap: 0.55rem; }
.ofixo-footer-legal > li:not(:last-child)::after {
	content: "•";
	color: rgba(255, 255, 255, 0.35);
	margin-left: 0.55rem;
}


/* ============================================================
   /sitemap/ — dynamic HTML sitemap, lives inside .ofixo-legal wrapper.
   ============================================================ */
.ofixo-sitemap__lead {
	margin: 0 0 2rem;
	color: var(--wp--preset--color--muted, #6b7280);
	font-size: 0.95rem;
	line-height: 1.6;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 1.2rem;
}

.ofixo-sitemap__eyebrow {
	margin: 2.5rem 0 0.4rem;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 800;
	color: var(--wp--preset--color--primary);
}
.ofixo-sitemap__h2 {
	margin: 0 0 1.25rem;
	font-size: 1.55rem;
	font-weight: 800;
	color: var(--wp--preset--color--contrast);
	letter-spacing: -0.005em;
}
.ofixo-sitemap__h3 {
	margin: 1.5rem 0 0.6rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	display: flex;
	align-items: baseline;
	gap: 0.55rem;
}
.ofixo-sitemap__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.1rem 0.5rem;
	background: rgba(224, 78, 31, 0.10);
	color: var(--wp--preset--color--primary);
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.ofixo-sitemap__list {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 0.35rem 1.5rem;
}
.ofixo-sitemap__list > li {
	margin: 0;
	padding: 0.25rem 0;
	font-size: 0.92rem;
	line-height: 1.4;
}
.ofixo-sitemap__list > li > a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}
.ofixo-sitemap__list > li > a:hover {
	color: var(--wp--preset--color--primary);
	border-bottom-color: var(--wp--preset--color--primary);
}
.ofixo-sitemap__meta {
	display: inline-block;
	margin-left: 0.4rem;
	color: var(--wp--preset--color--muted, #6b7280);
	font-size: 0.78rem;
}
.ofixo-sitemap__empty {
	margin: 0 0 1.5rem;
	color: var(--wp--preset--color--muted, #6b7280);
	font-style: italic;
}

@media (max-width: 560px) {
	.ofixo-sitemap__list { grid-template-columns: 1fr; }
	.ofixo-sitemap__h2 { font-size: 1.35rem; }
}


/* ============================================================
   [ofixo_blog_cta] — reusable in-content CTA band.
   Flat orange rectangle (no shadow). Centered headline + sub +
   tagline stack on the left of a centered 3-pill button row.
   Decorative translucent circles on the right edge for texture.
   Selectors are scoped via `.ofixo-bcta` so post-content `.entry-content a`
   styles can't bleed in and override the pill colors.
   ============================================================ */
.ofixo-bcta {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1.5rem;
	margin: 2.5rem 0;
	padding: clamp(2rem, 5vw, 3.25rem) clamp(1.5rem, 4vw, 3rem);
	background: var(--wp--preset--color--primary, #e0421e);
	color: #ffffff;
	overflow: hidden;
	border-radius: 0;
	box-shadow: none;
}

/* ---------- Decorative right-side circles ---------- */
.ofixo-bcta__decor {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.ofixo-bcta__circle {
	position: absolute;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.10);
}
.ofixo-bcta__circle--lg {
	width: 320px;
	height: 320px;
	right: -120px;
	top: -120px;
}
.ofixo-bcta__circle--sm {
	width: 240px;
	height: 240px;
	right: -80px;
	bottom: -140px;
}

/* ---------- Copy (centered stack) ---------- */
.ofixo-bcta__copy {
	position: relative;
	z-index: 1;
	max-width: 760px;
}
.ofixo-bcta .ofixo-bcta__headline {
	margin: 0 0 0.65rem;
	font-size: clamp(1.5rem, 1rem + 1.9vw, 2.2rem);
	font-weight: 800;
	color: #ffffff !important;
	line-height: 1.15;
	letter-spacing: -0.005em;
}
.ofixo-bcta .ofixo-bcta__sub {
	margin: 0 0 0.6rem;
	font-size: clamp(0.95rem, 0.85rem + 0.4vw, 1.08rem);
	font-weight: 600;
	color: #ffffff !important;
	line-height: 1.4;
}
.ofixo-bcta .ofixo-bcta__tagline {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.88) !important;
	line-height: 1.55;
	max-width: 56ch;
	margin-inline: auto;
}

/* ---------- Centered button row ---------- */
.ofixo-bcta__actions {
	position: relative;
	z-index: 1;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	justify-content: center;
	align-items: center;
}

/* Scope every link rule to `.ofixo-bcta` so it wins against the post body's
   `.entry-content a` defaults that were making the ghost-button text vanish. */
.ofixo-bcta a.ofixo-bcta__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.72rem 1.4rem;
	font-size: 0.92rem;
	font-weight: 700;
	border-radius: 999px;
	border: 1.5px solid transparent;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
	cursor: pointer;
	line-height: 1.1;
}
.ofixo-bcta a.ofixo-bcta__btn--solid {
	background: #ffffff;
	color: var(--wp--preset--color--primary, #e0421e) !important;
	border-color: #ffffff;
}
.ofixo-bcta a.ofixo-bcta__btn--solid:hover,
.ofixo-bcta a.ofixo-bcta__btn--solid:focus-visible {
	background: rgba(255, 255, 255, 0.94);
	transform: translateY(-1px);
}
.ofixo-bcta a.ofixo-bcta__btn--ghost {
	background: transparent;
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.9);
}
.ofixo-bcta a.ofixo-bcta__btn--ghost:hover,
.ofixo-bcta a.ofixo-bcta__btn--ghost:focus-visible {
	background: #ffffff;
	color: var(--wp--preset--color--primary, #e0421e) !important;
	border-color: #ffffff;
	transform: translateY(-1px);
}
.ofixo-bcta a.ofixo-bcta__btn svg {
	display: block;
	flex: 0 0 auto;
}

/* Avoid the inner arrow span inheriting underline from anchor defaults too. */
.ofixo-bcta a.ofixo-bcta__btn > span {
	text-decoration: none !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 480px) {
	.ofixo-bcta__circle--lg { width: 220px; height: 220px; right: -90px; top: -90px; }
	.ofixo-bcta__circle--sm { width: 160px; height: 160px; right: -60px; bottom: -100px; }
	.ofixo-bcta a.ofixo-bcta__btn {
		padding: 0.6rem 1.1rem;
		font-size: 0.85rem;
	}
	.ofixo-bcta__actions { gap: 0.5rem; }
}

/* ============================================================
   Blog FAQ accordion (native <details>) — replaces the broken
   Elementor accordion that used to ship inside blog posts.
   No JS dependency; browser-native expand/collapse.
   ============================================================ */
.ofixo-faq-section {
	max-width: 900px;
	margin: 3.5rem auto;
	padding: 0 1rem;
}
.ofixo-faq-section__title {
	font-size: 1.8rem;
	margin: 0 0 1.5rem;
	color: var(--wp--preset--color--contrast);
}
.ofixo-faq-section__list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.ofixo-faq {
	border: none;
	border-radius: 10px;
	background: transparent;
	overflow: hidden;
	transition: box-shadow 0.2s ease;
}
.ofixo-faq[open] {
	box-shadow: 0 6px 18px rgba(15, 15, 16, 0.06);
}
.ofixo-faq__q,
.ofixo-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 1.35rem 0px;
	font-weight: 700;
	font-size: 1rem;
	color: var(--wp--preset--color--contrast);
	position: relative;
	line-height: 1.4;
}
.ofixo-faq__q::-webkit-details-marker { display: none; }
.ofixo-faq__q::marker { content: ""; }
.ofixo-faq__q::after {
	content: "+";
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: var(--wp--preset--color--primary);
	font-weight: 800;
	line-height: 1;
}
.ofixo-faq[open] .ofixo-faq__q::after { content: "\2212"; } /* − minus */
.ofixo-faq__a {
	padding: 0 1.25rem 1.25rem 1.75rem;
	color: var(--wp--preset--color--body);
	font-size: 0.95rem;
	line-height: 1.65;
	border-top: 1px solid var(--wp--preset--color--border);
}
.ofixo-faq__a > :first-child { margin-top: 0.85rem; }
.ofixo-faq__a p { margin: 0 0 0.5rem; }
.ofixo-faq__a p:last-child { margin-bottom: 0; }

/* ============================================================
   HOMEPAGE HERO — full-viewport height, split-title typography,
   typewriter caret. Triggered by .ofixo-page-hero--homepage which
   the [ofixo_hero] shortcode adds for the post slug "homepage".
   ============================================================ */
.ofixo-page-hero--homepage {
	min-height: 100vh;
	/* Account for the fixed top-bar so the H1 doesn't hide under it */
	padding-top: 6rem;
	padding-bottom: 4rem;
}
.ofixo-page-hero--homepage .ofixo-page-hero__inner {
	width: 100%;
}

/* --- Split title: main line + sub line, dramatic hierarchy --- */
.ofixo-hero-title--split {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	margin: 0 0 1.4rem;
}
.ofixo-page-hero--homepage .ofixo-hero-title__main {
	display: inline-block;
	position: relative;
	font-size: clamp(2.4rem, 6vw, 4.6rem);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.02em;
	background: linear-gradient(135deg, #ffffff 0%, #ffe6d6 55%, #ffb787 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	text-shadow: 0 4px 30px rgba(0, 0, 0, 0.25);
	min-height: 1.2em; /* prevent layout jump while typing */
}
.ofixo-page-hero--homepage .ofixo-hero-title__sub {
	display: inline-block;
	font-size: clamp(1.1rem, 2.4vw, 1.85rem);
	font-weight: 300;
	font-style: italic;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.88);
	padding-left: 0.4rem;
	border-left: 3px solid var(--wp--preset--color--primary, #d7552a);
	margin-top: 0.4rem;
	/* Hidden until the typewriter on the main line completes — the
	 * shortcode JS adds .is-typed to the section as the cue. */
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.7s ease 0.05s, transform 0.7s ease 0.05s;
}
.ofixo-page-hero--homepage.is-typed .ofixo-hero-title__sub {
	opacity: 1;
	transform: translateY(0);
}

/* Blinking caret at the end of the typing main line. */
.ofixo-hero-title__caret {
	display: inline-block;
	width: 3px;
	height: 0.85em;
	margin-left: 4px;
	margin-bottom: -0.05em;
	vertical-align: middle;
	background: var(--wp--preset--color--primary, #d7552a);
	box-shadow: 0 0 14px rgba(215, 85, 42, 0.7);
	animation: ofixo-hero-caret 0.95s steps(2, end) infinite;
}
.ofixo-page-hero--homepage.is-typed .ofixo-hero-title__caret {
	/* Fade the caret out once typing is done so it doesn't linger. */
	animation: ofixo-hero-caret-fade 0.6s ease forwards;
}
@keyframes ofixo-hero-caret { 50% { opacity: 0; } }
@keyframes ofixo-hero-caret-fade { to { opacity: 0; width: 0; margin-left: 0; } }

/* Subtle float on the whole hero block — barely-there breathing. */
@media (prefers-reduced-motion: no-preference) {
	.ofixo-page-hero--homepage .ofixo-hero-content {
		animation: ofixo-hero-float 8s ease-in-out infinite;
	}
}
@keyframes ofixo-hero-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-6px); }
}

/* Eyebrow + description + buttons get a staggered fade-in once typing
   completes. */
.ofixo-page-hero--homepage .ofixo-eyebrow,
.ofixo-page-hero--homepage .ofixo-hero-description,
.ofixo-page-hero--homepage .ofixo-hero-buttons {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.ofixo-page-hero--homepage.is-typed .ofixo-eyebrow {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.2s;
}
.ofixo-page-hero--homepage.is-typed .ofixo-hero-description {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.55s;
}
.ofixo-page-hero--homepage.is-typed .ofixo-hero-buttons {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.85s;
}
/* Eyebrow already exists before the H1 — flip stagger so it can appear
   alongside the typewriter caret, immediately on mount. */
.ofixo-page-hero--homepage .ofixo-eyebrow {
	transition-delay: 0s;
	animation: ofixo-hero-mount-fade 0.7s ease 0.05s forwards;
}
@keyframes ofixo-hero-mount-fade { to { opacity: 1; transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
	.ofixo-page-hero--homepage .ofixo-eyebrow,
	.ofixo-page-hero--homepage .ofixo-hero-description,
	.ofixo-page-hero--homepage .ofixo-hero-buttons,
	.ofixo-page-hero--homepage .ofixo-hero-title__sub {
		opacity: 1;
		transform: none;
	}
}

/* ============================================================
   Area Coverage embed — interactive HTML map embedded inside the
   "Our service map" card on the Waterproofing services hub.
   The card normally renders a static <img> via the
   .ofixo-wpc-map-card__image rule (4:3 + padding). When the
   --embed modifier is added, we strip padding and switch to 16:9
   so the video fills cleanly with no letterbox.
   ============================================================ */
.ofixo-wpc-map-card__image--embed {
	padding: 0 !important;
	aspect-ratio: 16 / 9 !important;
	background: #ffffff !important;
}
.ofixo-wpc-map-card__embed {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	margin: 0;
	padding: 0;
	background: #ffffff;
}

/* ============================================================
   About Us hero banner — full-width image with overlay caption.
   ============================================================ */
.ofixo-about-hero {
	background: #0f0f10;
	padding: 0;
	position: relative;
	overflow: hidden;
}
.ofixo-about-hero__inner {
	position: relative;
	width: 100%;
	aspect-ratio: 21 / 9;
	max-height: 520px;
	overflow: hidden;
}
.ofixo-about-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ofixo-about-hero__caption {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 0 max(1.5rem, 5vw);
	color: #fff;
	background: linear-gradient(90deg, rgba(15, 15, 16, 0.7) 0%, rgba(15, 15, 16, 0.4) 50%, rgba(15, 15, 16, 0.15) 100%);
	max-width: 1280px;
	margin: 0 auto;
}
.ofixo-about-hero__caption .ofixo-eyebrow {
	color: var(--wp--preset--color--primary, #d7552a);
	margin: 0 0 0.5rem;
}
.ofixo-about-hero__caption h1 {
	font-size: clamp(2rem, 5vw, 3.6rem);
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 0.8rem;
	color: #fff;
}
.ofixo-about-hero__caption p {
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	font-weight: 400;
	color: rgba(255, 255, 255, 0.92);
	max-width: 620px;
	margin: 0;
}
@media (max-width: 720px) {
	.ofixo-about-hero__inner {
		aspect-ratio: 4 / 3;
		max-height: 480px;
	}
	.ofixo-about-hero__caption {
		background: linear-gradient(180deg, rgba(15, 15, 16, 0.55) 0%, rgba(15, 15, 16, 0.55) 100%);
	}
}

/* ============================================================
   Mobile floating TOC — built by ofixo-post-toc.js, appended to
   body on single-post pages. Hidden on desktop (the existing
   sticky-rail TOC card serves). On mobile it appears at the top
   centre of the screen while the article body is in view, slides
   up + fades out when the visitor scrolls past the article.
   Same animation language as the blog filter dropdown.
   ============================================================ */
.ofixo-toc-mobile {
	display: none;
}
@media (max-width: 900px) {
	/* On mobile, hide the inline sticky-rail TOC card — the floating
	 * dropdown below replaces it. */
	.ofixo-post-rail__toc,
	.ofixo-toc {
		display: none !important;
	}
	.ofixo-toc-mobile {
		display: block;
		position: fixed;
		top: 1.25rem;
		left: 50%;
		transform: translateX(-50%) translateY(-30px);
		width: 300px;
		max-width: calc(100vw - 2rem);
		margin: 0;
		padding: 0;
		z-index: 100;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
			transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
			visibility 0s linear 0.45s;
	}
	.ofixo-toc-mobile.is-floating {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(-50%) translateY(0);
		transition:
			opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
			transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
			visibility 0s;
	}
	.ofixo-toc-mobile .ofixo-blog-filter__wrap {
		position: relative;
		display: block;
		width: 100%;
	}
	.ofixo-toc-mobile.is-floating .ofixo-blog-filter__select {
		box-shadow: 0 12px 32px rgba(15, 15, 16, 0.15);
	}
}
